From 319386f0c23fcca7c0f90891f8cfad4bc4e24ba3 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 06:24:39 +0000 Subject: [PATCH 1/3] refactor(core): extract the product-agnostic foundation into Nordstein.Core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A second Nordstein product would otherwise reimplement the parts of this repository that are not about LLM tracing. This moves the least entangled slice of that foundation into `core/` as Nordstein.Core, on its way to a separate private repository published as NuGet packages, and validates the whole mechanism end to end before a second repository exists to get any of it wrong. Moved (history preserved via git mv, all under the `core/` prefix so the split completes with a `git subtree split` rather than a copy): Proxytrace.Common -> core/Nordstein.Core.Common Proxytrace.Common.Tests -> core/Nordstein.Core.Common.Tests Proxytrace.Testing -> core/Nordstein.Core.Testing Core is its own solution and is deliberately not part of Proxytrace.sln: the moment it only compiles as part of the product it stops being extractable. Consuming projects now declare an item instead of a reference: Directory.Build.targets expands it into a ProjectReference (source mode, the default while the sources are present) or a PackageReference (package mode). The indirection is what keeps a Core change a one-build edit; without it every cross-boundary change becomes edit/pack/bump/restore/retest, and the predictable result is that people copy code into the product instead — the exact failure the extraction exists to prevent. CI covers both modes. `backend` builds and tests the Core solution standalone before the product; the new `core-package` job packs Core and rebuilds the whole product against the resulting .nupkg files, which is what catches a type that is public in source but missing from the package surface, and a dependency Core forgot to declare because source mode resolved it through the product's own graph. The backend Dockerfiles gain the build-config files in their restore layer: without Directory.Build.props/.targets present, the reference expansion yields nothing and restore silently misses the dependency. Packaging is wired up but nothing is published — the feed and the licence are decisions, recorded in core/PUBLISHING.md. The packed LICENSE is a placeholder copy of the product's. Docs: new docs/code-reuse.md (indexed in CLAUDE.md) covers the mechanism, the one rule that Core may not reference the product, and what the next slices are and what blocks them. architecture.md, ci.md, commands.md, testing.md, security.md, validation.md, code-style.md, releasing.md and the create-domain and test skills follow the rename. No user-facing change, so no CHANGELOG entry. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01VA7JB61dw77kiymoNoeGqt --- .claude/skills/create-domain/SKILL.md | 2 +- .claude/skills/test/SKILL.md | 6 +- .github/actions/detect-changes/action.yml | 4 +- .github/workflows/ci.yml | 63 +++++++- .gitignore | 3 + CLAUDE.md | 5 +- Directory.Build.props | 34 +++++ Directory.Build.targets | 28 ++++ .../AgentCallsControllerHistogramTests.cs | 2 +- .../AgentCallsControllerProposalsTests.cs | 2 +- .../AgentCallsControllerSummaryTests.cs | 2 +- .../AgentCallsControllerTests.cs | 2 +- Proxytrace.Api.Tests/AgentsControllerTests.cs | 2 +- .../AnomaliesControllerTests.cs | 2 +- .../AuditLogControllerTests.cs | 2 +- .../Auth/ApiKeyAuthenticationHandlerTests.cs | 4 +- .../Auth/AuthUserResolverTests.cs | 2 +- .../Auth/SigningKeyProviderTests.cs | 2 +- Proxytrace.Api.Tests/AuthControllerTests.cs | 2 +- .../Config/ConfigControllerTests.cs | 2 +- .../CostLimitsControllerTests.cs | 2 +- .../CustomAnomalyDetectorsControllerTests.cs | 2 +- .../EmailSettingsControllerTests.cs | 2 +- .../EvaluatorTestBenchControllerTests.cs | 2 +- .../EvaluatorsControllerTests.cs | 2 +- .../LicenseControllerTests.cs | 2 +- Proxytrace.Api.Tests/Mcp/AgentToolsTests.cs | 2 +- .../McpApiKeyAuthenticationHandlerTests.cs | 4 +- .../Mcp/McpProjectAccessorTests.cs | 2 +- .../Mcp/McpServerEndpointTests.cs | 4 +- Proxytrace.Api.Tests/Mcp/SuiteToolsTests.cs | 2 +- .../ExceptionHandlingMiddlewareTests.cs | 2 +- .../ModelProvidersControllerTests.cs | 4 +- Proxytrace.Api.Tests/Module.cs | 2 +- Proxytrace.Api.Tests/ModuleTests.cs | 2 +- .../NotificationsControllerTests.cs | 2 +- .../OutlierSettingsControllerTests.cs | 2 +- .../PlaygroundControllerTests.cs | 2 +- .../ProjectAccessGuardTests.cs | 2 +- .../ProjectsControllerTests.cs | 2 +- .../ProposalsControllerTests.cs | 2 +- .../Proxytrace.Api.Tests.csproj | 2 +- Proxytrace.Api.Tests/SearchControllerTests.cs | 2 +- .../SeededRandomIsNotUsedForSecretsTests.cs | 6 +- .../SessionsControllerTests.cs | 2 +- Proxytrace.Api.Tests/SetupControllerTests.cs | 2 +- .../StatisticsControllerTests.cs | 2 +- .../TestCasesControllerTests.cs | 2 +- Proxytrace.Api.Tests/TestRunDtoMapperTests.cs | 2 +- .../TestRunGroupsControllerTests.cs | 2 +- .../TestRunSchedulesControllerTests.cs | 2 +- .../TestRunsControllerTests.cs | 2 +- .../TestSuitesControllerTests.cs | 4 +- .../TraceyChatControllerTests.cs | 2 +- Proxytrace.Api.Tests/UsersControllerTests.cs | 2 +- .../Controllers/ConfigController.cs | 2 +- .../Controllers/ModelProvidersController.cs | 4 +- Proxytrace.Api/Controllers/SetupController.cs | 2 +- .../Controllers/TestSuitesController.cs | 2 +- .../Controllers/TestSupportController.cs | 2 +- .../Controllers/TraceyChatController.cs | 2 +- Proxytrace.Api/Dockerfile | 7 +- .../Middleware/ExceptionHandlingMiddleware.cs | 2 +- .../MalformedEndpointUrlExceptionMapper.cs | 2 +- Proxytrace.Api/Module.cs | 2 +- Proxytrace.Api/Program.cs | 2 +- .../AgentCallCleanupServiceTests.cs | 2 +- .../AgentCallIngestorTests.cs | 2 +- .../AgentNameGeneratorTests.cs | 2 +- .../AgentVersionMatcherTests.cs | 2 +- .../AuditLog/AuditCaptureTests.cs | 2 +- .../AuditLog/AuditLogCleanupServiceTests.cs | 2 +- .../Auth/JitUserProvisionerTests.cs | 2 +- .../Auth/Local/InviteServiceTests.cs | 2 +- .../Auth/Local/LegacyClaimServiceTests.cs | 2 +- .../Auth/Local/LocalTokenIssuerTests.cs | 2 +- .../Auth/Local/LoginServiceTests.cs | 2 +- .../Auth/Local/MfaServiceTests.cs | 2 +- .../Auth/Local/PasswordPolicyTests.cs | 2 +- .../Auth/Local/PasswordResetServiceTests.cs | 2 +- .../Auth/Local/PasswordServiceTests.cs | 2 +- .../Auth/Local/TotpServiceTests.cs | 2 +- .../Auth/MfaChallengeServiceTests.cs | 2 +- .../Auth/StreamTicketServiceTests.cs | 2 +- .../CostBudgetGuardTests.cs | 6 +- .../BlockedCallIngestionTests.cs | 2 +- .../CustomAnomaly/BlockedCallRecorderTests.cs | 2 +- .../CustomAnomalyEnqueueHookTests.cs | 2 +- .../CustomAnomalyReviewServiceTests.cs | 2 +- .../DefaultEvaluatorProvisionerTests.cs | 2 +- .../Demo/DemoApiKeySeedingTests.cs | 2 +- .../Demo/DemoSeedingTests.cs | 2 +- .../Demo/KioskEndpointOptionsTests.cs | 2 +- .../Demo/KioskEndpointSeedingTests.cs | 2 +- .../ErrorLog/ErrorLogCaptureTests.cs | 2 +- .../ErrorLog/ErrorLogCleanupServiceTests.cs | 2 +- .../Ingestion/TraceQuotaGuardTests.cs | 2 +- .../Licensing/LicenseKeyManagerTests.cs | 2 +- .../StoredLicenseStartupServiceTests.cs | 2 +- .../ModelSwitchTheoryValidatorTests.cs | 2 +- Proxytrace.Application.Tests/Module.cs | 2 +- .../EmailNotificationChannelTests.cs | 2 +- .../Notifications/NotificationServiceTests.cs | 2 +- .../OpenAiCallParserTests.cs | 2 +- .../OptimizationModuleRegistrationTests.cs | 2 +- .../OptimizerQueueRecoveryTests.cs | 2 +- .../Optimization/ProposalAdoptionTests.cs | 2 +- .../SwitchModelOptimizerScenarioTests.cs | 2 +- ...teSystemPromptOptimizerIntegrationTests.cs | 2 +- ...ToolDefinitionOptimizerIntegrationTests.cs | 2 +- .../OrphanedTestRunReaperTests.cs | 2 +- .../OutlierDetectorTests.cs | 2 +- .../Playground/PlaygroundServiceTests.cs | 2 +- .../Pricing/ModelPriceRefresherTests.cs | 2 +- .../Proxytrace.Application.Tests.csproj | 2 +- .../SystemEntitySearchExclusionTests.cs | 2 +- .../Security/SecretProtectorTests.cs | 4 +- .../Setup/SetupFirstAdminTests.cs | 2 +- .../Statistics/AgentStatisticsTests.cs | 2 +- .../Statistics/DashboardStatisticsTests.cs | 4 +- .../StatisticsBackfillHostedServiceTests.cs | 2 +- .../Statistics/TestRunStatsProjectorTests.cs | 2 +- .../SwitchModelOptimizerTests.cs | 2 +- .../SystemPromptTheoryValidatorTests.cs | 2 +- .../TestCase/TestCaseSynthesisServiceTests.cs | 2 +- .../TestRun/TestRunSchedulerServiceTests.cs | 2 +- .../TestRunnerServiceTests.cs | 2 +- .../TheoryValidationServiceTests.cs | 4 +- .../TraceyServiceTests.cs | 2 +- .../UpdateSystemPromptOptimizerTests.cs | 2 +- .../UpdateToolDefinitionOptimizerTests.cs | 2 +- .../Updates/UpdateCheckServiceTests.cs | 4 +- .../UserAdministrationServiceTests.cs | 2 +- .../Auth/Local/Internal/InviteService.cs | 2 +- .../Local/Internal/PasswordResetService.cs | 2 +- .../CostControl/Internal/CostBudgetGuard.cs | 4 +- .../CostControl/Internal/CostStatistics.cs | 2 +- .../Demo/Scenarios/DemoApiKeySeedScenario.cs | 2 +- .../Scenarios/StatisticsBackfillScenario.cs | 2 +- .../Ingestion/Internal/TraceQuotaGuard.cs | 2 +- Proxytrace.Application/Module.cs | 4 +- .../Internal/CompositeOptimizer.cs | 2 +- .../Internal/TheoryValidationService.cs | 2 +- Proxytrace.Application/Optimization/Module.cs | 2 +- Proxytrace.Application/Search/SearchModule.cs | 2 +- .../Setup/Internal/SetupService.cs | 2 +- .../Internal/DashboardStatistics.cs | 2 +- Proxytrace.Application/Statistics/Module.cs | 2 +- .../TestRun/Internal/TestRunnerService.cs | 2 +- .../Updates/Internal/UpdateCheckService.cs | 4 +- .../ApiKeyValidationTests.cs | 2 +- .../ApplicationErrorValidationTests.cs | 2 +- .../ContentSerializationTests.cs | 2 +- .../DomainEntityGeneratorTests.cs | 2 +- Proxytrace.Domain.Tests/DomainTest.cs | 2 +- .../EvaluatorBehaviorTests.cs | 2 +- .../InviteValidationTests.cs | 2 +- .../MfaBackupCodeValidationTests.cs | 2 +- .../ModelParametersValidationTests.cs | 2 +- Proxytrace.Domain.Tests/Module.cs | 2 +- .../OptimizationContentHashStabilityTests.cs | 4 +- .../OptimizationProposalTransitionTests.cs | 2 +- .../OptimizationProposalValidationTests.cs | 2 +- .../OptimizationTheoryValidationTests.cs | 2 +- .../PasswordResetTokenValidationTests.cs | 2 +- .../ProjectValidationTests.cs | 2 +- .../PromptTemplateTests.cs | 2 +- Proxytrace.Domain.Tests/PromptTests.cs | 2 +- .../ProposalHasherTests.cs | 2 +- .../Proxytrace.Domain.Tests.csproj | 2 +- .../ResourcesPromptRepositoryTests.cs | 2 +- .../SecretRedactionToStringTests.cs | 2 +- .../SerializationProbeTests.cs | 2 +- .../TestCaseGetSummaryTests.cs | 2 +- .../TestCaseValidationTests.cs | 2 +- .../TestResultValidationTests.cs | 2 +- .../TestSuiteValidationTests.cs | 2 +- Proxytrace.Domain.Tests/UserTests.cs | 2 +- .../UserTotpEnrollmentValidationTests.cs | 2 +- .../UserValidationTests.cs | 2 +- Proxytrace.Domain/Agent/Internal/Agent.cs | 4 +- .../Agent/Internal/AgentGenerator.cs | 2 +- .../AgentCall/Internal/AgentCallGenerator.cs | 2 +- .../AgentVersion/Internal/AgentVersion.cs | 4 +- .../Internal/AgentVersionGenerator.cs | 2 +- Proxytrace.Domain/ApiKey/Internal/ApiKey.cs | 2 +- .../ApiKey/Internal/ApiKeyGenerator.cs | 4 +- .../Internal/ApplicationError.cs | 2 +- .../Internal/ApplicationErrorGenerator.cs | 4 +- .../AuditLog/Internal/AuditLogEntry.cs | 2 +- .../Internal/AuditLogEntryGenerator.cs | 4 +- .../Internal/CompletionGenerator.cs | 2 +- .../CostLimit/Internal/CostLimit.cs | 2 +- .../CostLimit/Internal/CostLimitGenerator.cs | 2 +- .../Internal/CostLimitBreach.cs | 2 +- .../Internal/CostLimitBreachGenerator.cs | 2 +- .../Internal/CustomAnomalyDetector.cs | 2 +- .../CustomAnomalyDetectorGenerator.cs | 2 +- .../Internal/CustomAnomalyResult.cs | 2 +- .../Internal/CustomAnomalyResultGenerator.cs | 2 +- .../Evaluation/Internal/Evaluation.cs | 2 +- .../Internal/EvaluationGenerator.cs | 2 +- .../Evaluator/Internal/AgenticEvaluator.cs | 2 +- .../Internal/AgenticEvaluatorGenerator.cs | 2 +- .../Evaluator/Internal/EvaluatorGenerator.cs | 2 +- .../Internal/JsonSchemaMatchEvaluator.cs | 2 +- .../Internal/NumericMatchEvaluator.cs | 2 +- .../Inference/Internal/ModelParameters.cs | 2 +- .../Internal/ModelParametersGenerator.cs | 4 +- Proxytrace.Domain/Internal/DomainEntity.cs | 4 +- .../Internal/DomainEntityGenerator.cs | 2 +- .../Internal/DomainObjectGenerator.cs | 2 +- Proxytrace.Domain/Invite/Internal/Invite.cs | 2 +- .../Invite/Internal/InviteGenerator.cs | 4 +- Proxytrace.Domain/Message/Content.cs | 2 +- .../Internal/AssistantMessageGenerator.cs | 2 +- .../Message/Internal/ContentGenerator.cs | 4 +- .../Message/Internal/ConversationGenerator.cs | 2 +- .../Internal/SystemMessageGenerator.cs | 4 +- .../Message/Internal/ToolMessageGenerator.cs | 2 +- .../Message/Internal/ToolRequestGenerator.cs | 4 +- .../Message/Internal/ToolResponseGenerator.cs | 2 +- .../Message/Internal/UserMessageGenerator.cs | 2 +- Proxytrace.Domain/Message/ToolMessage.cs | 2 +- Proxytrace.Domain/Message/ToolRequest.cs | 2 +- Proxytrace.Domain/Message/ToolResponse.cs | 2 +- .../MfaBackupCode/Internal/MfaBackupCode.cs | 2 +- .../Internal/MfaBackupCodeGenerator.cs | 4 +- Proxytrace.Domain/Model/Internal/Model.cs | 2 +- .../Model/Internal/ModelGenerator.cs | 4 +- .../ModelEndpoint/Internal/ModelEndpoint.cs | 2 +- .../Internal/ModelEndpointGenerator.cs | 2 +- .../ModelProvider/Internal/ModelProvider.cs | 2 +- .../Internal/ModelProviderGenerator.cs | 2 +- Proxytrace.Domain/Module.cs | 4 +- .../Notification/Internal/Notification.cs | 2 +- .../Internal/NotificationGenerator.cs | 2 +- .../Internal/ModelSwitchProposal.cs | 2 +- .../Internal/ModelSwitchProposalGenerator.cs | 2 +- .../Internal/OptimizationProposal.cs | 2 +- .../Internal/OptimizationProposalGenerator.cs | 2 +- .../Internal/SystemPromptProposal.cs | 4 +- .../Internal/SystemPromptProposalGenerator.cs | 2 +- .../Internal/ToolUpdateProposal.cs | 2 +- .../Internal/ToolUpdateProposalGenerator.cs | 2 +- .../Internal/ModelSwitchTheory.cs | 4 +- .../Internal/ModelSwitchTheoryGenerator.cs | 2 +- .../Internal/OptimizationTheory.cs | 2 +- .../Internal/OptimizationTheoryGenerator.cs | 2 +- .../Internal/SystemPromptTheory.cs | 4 +- .../Internal/SystemPromptTheoryGenerator.cs | 2 +- .../Internal/ToolUpdateTheory.cs | 4 +- .../Internal/ToolUpdateTheoryGenerator.cs | 2 +- .../Internal/PasswordResetToken.cs | 2 +- .../Internal/PasswordResetTokenGenerator.cs | 4 +- Proxytrace.Domain/Project/Internal/Project.cs | 2 +- .../Project/Internal/ProjectGenerator.cs | 2 +- .../Internal/ProjectSearchSettings.cs | 2 +- .../ProjectSearchSettingsGenerator.cs | 2 +- Proxytrace.Domain/Prompt/Internal/Prompt.cs | 2 +- .../Prompt/Internal/PromptGenerator.cs | 2 +- .../Prompt/Internal/PromptTemplate.cs | 2 +- .../Internal/PromptTemplateGenerator.cs | 4 +- .../Internal/ResourcesPromptRepository.cs | 2 +- .../Proposal/OptimizationContentHash.cs | 2 +- Proxytrace.Domain/Proxytrace.Domain.csproj | 2 +- Proxytrace.Domain/Session/Internal/Session.cs | 2 +- .../Session/Internal/SessionGenerator.cs | 2 +- .../TestCase/Internal/TestCaseGenerator.cs | 2 +- .../Internal/TestResultGenerator.cs | 4 +- Proxytrace.Domain/TestRun/Internal/TestRun.cs | 2 +- .../TestRun/Internal/TestRunGenerator.cs | 4 +- .../Internal/TestRunGroupGenerator.cs | 2 +- .../Internal/TestRunSchedule.cs | 2 +- .../Internal/TestRunScheduleGenerator.cs | 2 +- .../TestSuite/Internal/TestSuite.cs | 2 +- .../TestSuite/Internal/TestSuiteGenerator.cs | 2 +- .../Tools/Internal/ToolArgumentGenerator.cs | 4 +- .../Tools/Internal/ToolArgumentsGenerator.cs | 4 +- .../Internal/ToolSpecificationGenerator.cs | 2 +- Proxytrace.Domain/Tools/JsonToolArgument.cs | 2 +- Proxytrace.Domain/Tools/ToolArguments.cs | 2 +- Proxytrace.Domain/Tools/ToolSpecification.cs | 2 +- .../Usage/Internal/TokenUsageGenerator.cs | 4 +- Proxytrace.Domain/User/Internal/User.cs | 2 +- .../User/Internal/UserGenerator.cs | 4 +- .../Internal/UserTotpEnrollment.cs | 2 +- .../Internal/UserTotpEnrollmentGenerator.cs | 2 +- .../BlindIndexTests.cs | 4 +- .../FrankfurterFxRateProviderTests.cs | 2 +- .../KeyRingPersistenceCheckTests.cs | 2 +- .../LiteLlmCatalogResolverTests.cs | 2 +- .../ModelClientTests.cs | 2 +- .../MutableClock.cs | 2 +- .../PricingServiceTests.cs | 2 +- .../ProviderClientTests.cs | 2 +- .../Proxytrace.Infrastructure.Tests.csproj | 2 +- .../Internal/FrankfurterFxRateProvider.cs | 4 +- .../Internal/LiteLlmCatalogResolver.cs | 4 +- .../Security/Internal/HmacSecretIndexer.cs | 2 +- .../Security/Internal/Sha256SecretHasher.cs | 2 +- .../Security/SecretProtectionModule.cs | 2 +- .../LicenseActivatorTests.cs | 2 +- .../LicenseCheckServiceTests.cs | 4 +- .../LicenseStartupGateTests.cs | 4 +- Proxytrace.Licensing.Tests/Module.cs | 4 +- Proxytrace.Licensing.Tests/MutableClock.cs | 2 +- .../Proxytrace.Licensing.Tests.csproj | 4 +- .../Internal/LicenseCheckService.cs | 4 +- .../Internal/LicenseServerClient.cs | 2 +- .../Internal/LicenseService.cs | 2 +- Proxytrace.Licensing/Module.cs | 2 +- .../Proxytrace.Licensing.csproj | 2 +- .../Proxytrace.Messaging.Tests.csproj | 2 +- Proxytrace.Proxy.Api/Dockerfile | 7 +- Proxytrace.Proxy.Api/Module.cs | 2 +- Proxytrace.Proxy.Api/Program.cs | 2 +- .../ApiKeyResolverRotationTests.cs | 6 +- .../CachedBudgetBlockProviderTests.cs | 2 +- .../HttpClientRegistrationTests.cs | 2 +- .../Proxytrace.Proxy.Tests.csproj | 2 +- .../SecretSeamWiringTests.cs | 2 +- .../Controllers/OpenAiProxyController.cs | 2 +- Proxytrace.Proxy/Internal/ApiKeyResolver.cs | 2 +- .../Internal/CachedBudgetBlockProvider.cs | 2 +- Proxytrace.Proxy/Module.cs | 4 +- .../JsonOutputParserTests.cs | 4 +- .../ObjectToInferredTypesConverterTests.cs | 2 +- .../Proxytrace.Serialization.Tests.csproj | 2 +- .../StringOutputFormatTests.cs | 2 +- .../Internal/JsonOutputFormat.cs | 2 +- .../Internal/JsonSerializer.cs | 2 +- .../Proxytrace.Serialization.csproj | 2 +- Proxytrace.Storage.Tests/AgentArchiveTests.cs | 2 +- .../AgentCallHistogramQueryTests.cs | 2 +- .../AgentCallListQueryTests.cs | 2 +- .../AgentCallOutlierFlagTests.cs | 2 +- .../AgentCallPreviewBackfillTests.cs | 2 +- .../AgentCallStatsQueriesTests.cs | 2 +- .../AgentCallSummaryQueryTests.cs | 2 +- .../AgentCallToolBackfillTests.cs | 2 +- .../AgentCallToolTests.cs | 2 +- .../AgentFingerprintTests.cs | 2 +- .../AgentLastCallTimeQueryTests.cs | 2 +- .../AmbientDbContextTests.cs | 2 +- .../AnomalyStatsQueriesTests.cs | 2 +- Proxytrace.Storage.Tests/ApiKeySecretTests.cs | 4 +- .../ApplicationErrorRepositoryTests.cs | 2 +- .../AuditLogRepositoryTests.cs | 2 +- .../CachedRepositoryTests.cs | 2 +- .../CascadeDeleteBehaviorModelTests.cs | 2 +- .../ConcurrencyTokenModelTests.cs | 2 +- .../CustomAnomalyDetectorRepositoryTests.cs | 2 +- .../CustomAnomalyResultRepositoryTests.cs | 2 +- .../DatabaseInitializationServiceTests.cs | 2 +- .../EmailSettingsStoreTests.cs | 4 +- .../EvaluationStatBackfillTests.cs | 2 +- .../EvaluatorRepositoryTests.cs | 2 +- .../EvaluatorStatsQueriesTests.cs | 2 +- Proxytrace.Storage.Tests/GetManyAsyncTests.cs | 2 +- .../MigrationDriftTests.cs | 2 +- .../ModelEndpointArchiveTests.cs | 2 +- .../ModelProviderArchiveTests.cs | 2 +- .../ModelProviderSecretTests.cs | 2 +- Proxytrace.Storage.Tests/Module.cs | 2 +- .../NotificationRepositoryTests.cs | 2 +- .../OptimisticConcurrencyTests.cs | 2 +- ...imizationProposalAdoptionRoundTripTests.cs | 2 +- ...imizationProposalPassRateRoundTripTests.cs | 2 +- ...ptimizationProposalRepositoryScopeTests.cs | 2 +- .../OptimizationTheoryRepositoryTests.cs | 2 +- .../OutlierBaselineQueriesTests.cs | 2 +- .../OutlierSettingsStoreTests.cs | 2 +- .../ProjectRepositoryTests.cs | 2 +- .../ProjectScopedRepositoryTests.cs | 2 +- .../Proxytrace.Storage.Tests.csproj | 2 +- .../SecretsBackfillServiceTests.cs | 4 +- .../SessionRepositoryTests.cs | 2 +- .../SessionTraceRemovalQueryTests.cs | 2 +- .../StatisticsFilterParityTests.cs | 2 +- .../StatisticsFilterWhereTests.cs | 2 +- .../StatsQueryTranslationTests.cs | 2 +- .../StorageDbContextFactoryTests.cs | 2 +- .../TestCaseRepositoryTests.cs | 2 +- .../TestDomainEntities.cs | 2 +- .../TestResultRepositoryTests.cs | 2 +- .../TestRunGroupRepositoryTests.cs | 2 +- .../TestRunRepositoryTests.cs | 2 +- .../TestRunScheduleRepositoryTests.cs | 2 +- .../TestRunStatsStoreTests.cs | 2 +- Proxytrace.Storage.Tests/TransactionTests.cs | 2 +- .../UserRepositoryTests.cs | 2 +- .../Internal/Entities/Agent/AgentConfig.cs | 4 +- .../Entities/Agent/AgentRepository.cs | 2 +- .../Entities/AgentCall/AgentCallConfig.cs | 4 +- .../AgentVersion/AgentVersionConfig.cs | 2 +- .../Internal/Entities/ApiKey/ApiKeyConfig.cs | 2 +- .../ApplicationErrorConfig.cs | 2 +- .../Entities/AuditLog/AuditLogEntryConfig.cs | 2 +- .../Entities/CostLimit/CostLimitConfig.cs | 2 +- .../CostLimitBreach/CostLimitBreachConfig.cs | 2 +- .../CustomAnomalyDetectorConfig.cs | 4 +- .../CustomAnomalyDetectorRepository.cs | 2 +- .../CustomAnomalyResultConfig.cs | 2 +- .../EmailSettings/EmailSettingsStore.cs | 2 +- .../Internal/Entities/Entity.cs | 2 +- .../Entities/Evaluator/EvaluatorConfig.cs | 4 +- .../Internal/Entities/Invite/InviteConfig.cs | 2 +- .../Entities/Licensing/StoredLicenseStore.cs | 2 +- .../MfaBackupCode/MfaBackupCodeConfig.cs | 2 +- .../Internal/Entities/Model/ModelConfig.cs | 2 +- .../Entities/Model/ModelRepository.cs | 2 +- .../ModelEndpoint/ModelEndpointConfig.cs | 2 +- .../ModelEndpoint/ModelEndpointRepository.cs | 2 +- .../ModelProvider/ModelProviderConfig.cs | 2 +- .../Notification/NotificationConfig.cs | 2 +- .../OptimizationProposalConfig.cs | 4 +- .../OptimizationTheoryConfig.cs | 4 +- .../OutlierSettings/OutlierSettingsStore.cs | 2 +- .../PasswordResetTokenConfig.cs | 2 +- .../Entities/Project/ProjectConfig.cs | 2 +- .../Entities/Project/ProjectRepository.cs | 2 +- .../ProjectSearchSettingsConfig.cs | 2 +- .../Entities/Session/SessionConfig.cs | 2 +- .../Entities/TestCase/TestCaseConfig.cs | 4 +- .../Entities/TestResult/TestResultConfig.cs | 4 +- .../Entities/TestRun/TestRunConfig.cs | 4 +- .../TestRunGroup/TestRunGroupConfig.cs | 2 +- .../TestRunSchedule/TestRunScheduleConfig.cs | 2 +- .../Entities/TestSuite/TestSuiteConfig.cs | 4 +- .../Internal/Entities/User/UserConfig.cs | 2 +- .../UserTotpEnrollmentConfig.cs | 2 +- .../Internal/SecretsBackfillService.cs | 2 +- Proxytrace.Storage/Module.cs | 2 +- Proxytrace.sln | 66 ++------ core/Directory.Build.props | 55 +++++++ core/LICENSE | 93 +++++++++++ .../AsyncLockTests.cs | 4 +- .../AutofacExtensionsTests.cs | 4 +- .../EndpointUrlExtensionsTests.cs | 4 +- ...HostingServiceCollectionExtensionsTests.cs | 4 +- .../LogSafeExtensionsTests.cs | 4 +- .../Nordstein.Core.Common.Tests}/Module.cs | 2 +- .../Nordstein.Core.Common.Tests.csproj | 11 +- .../RandomTests.cs | 6 +- .../SlugExtensionsTests.cs | 4 +- .../TypeConverterTests.cs | 6 +- .../ValidationTests.cs | 144 +++++++++--------- .../Nordstein.Core.Common}/Async/AsyncLock.cs | 2 +- .../Async/IAsyncLock.cs | 2 +- .../Async/TaskExtensions.cs | 2 +- .../Conversion/ITypeConverter.cs | 2 +- .../Conversion/Internal/TypeConverter.cs | 2 +- .../Conversion/TypeConversionExtensions.cs | 2 +- .../DependencyInjection/AutofacExtensions.cs | 4 +- .../HostingServiceCollectionExtensions.cs | 2 +- .../Hosting/IAppVersion.cs | 2 +- .../Hosting/Internal/AppVersion.cs | 2 +- .../Hosting/NullHostedService.cs | 2 +- .../Lifecycle/Disposable.cs | 2 +- .../Lifecycle/ITempDirectory.cs | 2 +- .../Lifecycle/Internal/TempDirectory.cs | 2 +- .../Nordstein.Core.Common}/Module.cs | 30 ++-- .../Net/EndpointUrlExtensions.cs | 2 +- .../Net/MalformedEndpointUrlException.cs | 2 +- .../Nordstein.Core.Common.csproj | 14 +- core/Nordstein.Core.Common/README.md | 33 ++++ .../Nordstein.Core.Common}/Random/IRandom.cs | 2 +- .../Random/Internal/SeededRandom.cs | 2 +- .../Nordstein.Core.Common}/Security/Sha256.cs | 2 +- .../Serialization/ISerializer.cs | 2 +- .../Serialization/Internal/JsonSerializer.cs | 2 +- .../Serialization/SerializerExtensions.cs | 4 +- .../Text/LogSafeExtensions.cs | 2 +- .../Text/SlugExtensions.cs | 2 +- .../Nordstein.Core.Common}/Time/IClock.cs | 2 +- .../Time/Internal/SystemClock.cs | 2 +- .../Validation/StringExtensions.cs | 2 +- .../Validation/Validation.cs | 2 +- .../Validation/ValidatorExtensions.cs | 2 +- .../Nordstein.Core.Testing}/BaseTest.cs | 2 +- .../ContainerBuilderExtensions.cs | 2 +- .../Nordstein.Core.Testing}/Module.cs | 6 +- .../Nordstein.Core.Testing.csproj | 11 +- core/Nordstein.Core.Testing/README.md | 33 ++++ .../ServiceProviderExtensions.cs | 4 +- core/Nordstein.Core.sln | 62 ++++++++ core/PUBLISHING.md | 74 +++++++++ core/README.md | 55 +++++++ deploy/allinone/Dockerfile | 7 +- docs/architecture.md | 20 ++- docs/ci.md | 15 ++ docs/code-reuse.md | 108 +++++++++++++ docs/code-style.md | 2 +- docs/commands.md | 22 +++ docs/releasing.md | 2 +- docs/security.md | 4 +- docs/testing.md | 3 +- docs/validation.md | 2 +- nuget.config | 21 +++ perf/Proxytrace.Benchmarks/BenchFixture.cs | 6 +- .../Proxytrace.Benchmarks.csproj | 4 +- .../SerializationBenchmarks.cs | 2 +- .../Bootstrap/PerfModule.cs | 8 +- .../Proxytrace.PerfHarness.csproj | 2 +- .../Scenarios/ApiKeyResolutionScenario.cs | 4 +- 506 files changed, 1426 insertions(+), 746 deletions(-) create mode 100644 Directory.Build.targets create mode 100644 core/Directory.Build.props create mode 100644 core/LICENSE rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/AsyncLockTests.cs (98%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/AutofacExtensionsTests.cs (96%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/EndpointUrlExtensionsTests.cs (93%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/Hosting/HostingServiceCollectionExtensionsTests.cs (97%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/LogSafeExtensionsTests.cs (91%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/Module.cs (84%) rename Proxytrace.Common.Tests/Proxytrace.Common.Tests.csproj => core/Nordstein.Core.Common.Tests/Nordstein.Core.Common.Tests.csproj (71%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/RandomTests.cs (99%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/SlugExtensionsTests.cs (89%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/TypeConverterTests.cs (99%) rename {Proxytrace.Common.Tests => core/Nordstein.Core.Common.Tests}/ValidationTests.cs (70%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Async/AsyncLock.cs (98%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Async/IAsyncLock.cs (80%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Async/TaskExtensions.cs (93%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Conversion/ITypeConverter.cs (86%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Conversion/Internal/TypeConverter.cs (98%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Conversion/TypeConversionExtensions.cs (93%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/DependencyInjection/AutofacExtensions.cs (97%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Hosting/HostingServiceCollectionExtensions.cs (98%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Hosting/IAppVersion.cs (86%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Hosting/Internal/AppVersion.cs (94%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Hosting/NullHostedService.cs (87%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Lifecycle/Disposable.cs (96%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Lifecycle/ITempDirectory.cs (83%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Lifecycle/Internal/TempDirectory.cs (93%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Module.cs (64%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Net/EndpointUrlExtensions.cs (97%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Net/MalformedEndpointUrlException.cs (91%) rename Proxytrace.Common/Proxytrace.Common.csproj => core/Nordstein.Core.Common/Nordstein.Core.Common.csproj (65%) create mode 100644 core/Nordstein.Core.Common/README.md rename {Proxytrace.Common => core/Nordstein.Core.Common}/Random/IRandom.cs (97%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Random/Internal/SeededRandom.cs (98%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Security/Sha256.cs (94%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Serialization/ISerializer.cs (86%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Serialization/Internal/JsonSerializer.cs (94%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Serialization/SerializerExtensions.cs (94%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Text/LogSafeExtensions.cs (96%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Text/SlugExtensions.cs (96%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Time/IClock.cs (87%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Time/Internal/SystemClock.cs (81%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Validation/StringExtensions.cs (88%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Validation/Validation.cs (99%) rename {Proxytrace.Common => core/Nordstein.Core.Common}/Validation/ValidatorExtensions.cs (85%) rename {Proxytrace.Testing => core/Nordstein.Core.Testing}/BaseTest.cs (98%) rename {Proxytrace.Testing => core/Nordstein.Core.Testing}/ContainerBuilderExtensions.cs (93%) rename {Proxytrace.Testing => core/Nordstein.Core.Testing}/Module.cs (91%) rename Proxytrace.Testing/Proxytrace.Testing.csproj => core/Nordstein.Core.Testing/Nordstein.Core.Testing.csproj (59%) create mode 100644 core/Nordstein.Core.Testing/README.md rename {Proxytrace.Testing => core/Nordstein.Core.Testing}/ServiceProviderExtensions.cs (81%) create mode 100644 core/Nordstein.Core.sln create mode 100644 core/PUBLISHING.md create mode 100644 core/README.md create mode 100644 docs/code-reuse.md create mode 100644 nuget.config diff --git a/.claude/skills/create-domain/SKILL.md b/.claude/skills/create-domain/SKILL.md index 6815d8d7d..26dd46973 100644 --- a/.claude/skills/create-domain/SKILL.md +++ b/.claude/skills/create-domain/SKILL.md @@ -134,7 +134,7 @@ internal record TestRunGroup : DomainEntity, ITestRunGroup } ``` -### Validation helpers (from `Proxytrace.Common.Validation`) +### Validation helpers (from `Nordstein.Core.Common.Validation`) ```csharp yield return Validation.NotNullOrWhiteSpace(Name); // note capital S diff --git a/.claude/skills/test/SKILL.md b/.claude/skills/test/SKILL.md index 296918c7a..87c4df636 100644 --- a/.claude/skills/test/SKILL.md +++ b/.claude/skills/test/SKILL.md @@ -43,7 +43,7 @@ substitute in the container instead (see *Injecting fakes* below). | `Proxytrace.Application.Tests` | Application services end-to-end (e.g. `TestRunnerService`) with faked infrastructure | `BaseTest` | | `Proxytrace.Api.Tests` | HTTP controllers / routing | `BaseTest` | | `Proxytrace.Infrastructure.Tests` | `ModelClient` and external integration wrappers | `BaseTest` | -| `Proxytrace.Serialization.Tests`, `Proxytrace.Common.Tests`, `Proxytrace.Proxy.Tests`, `Proxytrace.Messaging.Tests`, `Proxytrace.Licensing.Tests` | Their respective layers | `BaseTest` | +| `Proxytrace.Serialization.Tests`, `Nordstein.Core.Common.Tests`, `Proxytrace.Proxy.Tests`, `Proxytrace.Messaging.Tests`, `Proxytrace.Licensing.Tests` | Their respective layers | `BaseTest` | Each test project ships **one `Module : Autofac.Module`** that wires the layer under test plus in-memory storage and the standard infrastructure stubs. This per-project module *is* @@ -53,7 +53,7 @@ the shared baseline — there are no other shared fixtures. See *The per-project ## The base test harness -All tests extend `BaseTest` from `Proxytrace.Testing`: +All tests extend `BaseTest` from `Nordstein.Core.Testing`: ```csharp [TestClass] @@ -84,7 +84,7 @@ public sealed class MyTests : BaseTest // or DomainTest ### How the harness works (and why it's stateless) - `GetServices(action)` builds a **brand-new Autofac container every call**: it registers - `Proxytrace.Testing.Module`, then your `TModule`, then runs `ConfigureContainer`, then + `Nordstein.Core.Testing.Module`, then your `TModule`, then runs `ConfigureContainer`, then your per-call `action`. Each container has its **own isolated in-memory database**. - The container is recorded in `TestContext.Properties["Containers"]` and disposed in `[TestCleanup]`. You never manage container lifetime yourself. diff --git a/.github/actions/detect-changes/action.yml b/.github/actions/detect-changes/action.yml index 72708b0e9..b3bc56a7e 100644 --- a/.github/actions/detect-changes/action.yml +++ b/.github/actions/detect-changes/action.yml @@ -66,7 +66,9 @@ runs: all=true fi - backend_re='^Proxytrace\.|^Proxytrace\.sln$|^Directory\.Build\.props$|^coverage\.runsettings$|^dotnet-tools\.json$' + # `^core/` is the Nordstein.Core staging area: the product consumes it as a project or + # package reference, so a change there is a backend change like any other. + backend_re='^Proxytrace\.|^Proxytrace\.sln$|^core/|^Directory\.Build\.props$|^Directory\.Build\.targets$|^nuget\.config$|^coverage\.runsettings$|^dotnet-tools\.json$' frontend_re='^frontend/' # The all-in-one image bundles both halves of the app plus its own packaging. # Deliberately NOT including `^manual/`: the image build does compile the manual, diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d57eccf8..4eca2d525 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -166,21 +166,78 @@ jobs: cache-dependency-path: | **/*.csproj + # Two solutions: Nordstein.Core is a separate, product-agnostic solution that Proxytrace + # consumes (see docs/code-reuse.md). It is built and tested first because the product + # depends on it, and separately because it must keep standing on its own — the moment it + # only compiles as part of Proxytrace.sln, it is no longer extractable. - name: Restore - run: dotnet restore Proxytrace.sln --nologo + run: | + dotnet restore core/Nordstein.Core.sln --nologo + dotnet restore Proxytrace.sln --nologo - name: Build - run: dotnet build Proxytrace.sln --nologo --no-restore + run: | + dotnet build core/Nordstein.Core.sln --nologo --no-restore + dotnet build Proxytrace.sln --nologo --no-restore # PROXYTRACE_REQUIRE_DOCKER_TESTS turns the container-backed tests (currently the real-Redis # ingestion transport ones) from skip-if-unavailable into hard failures. They must stay # skippable locally so `dotnet test` never requires Docker, but a runner that quietly lost its # container runtime would then drop exactly the coverage those tests exist to guarantee. - name: Test - run: dotnet test Proxytrace.sln --nologo --verbosity minimal --no-restore + run: | + dotnet test core/Nordstein.Core.sln --nologo --verbosity minimal --no-restore + dotnet test Proxytrace.sln --nologo --verbosity minimal --no-restore env: PROXYTRACE_REQUIRE_DOCKER_TESTS: true + # Packs Nordstein.Core and rebuilds the product against the resulting .nupkg files instead of + # the sources. Everyday builds use the project references, which hide two things a consumer + # would hit: a type that is public in source but never made it into the package's surface, and + # a dependency Core forgot to declare (source mode resolves it through the product's own + # graph). Catching that here is the difference between finding it now and finding it in the + # first repository that has no Proxytrace sources to fall back on. + core-package: + needs: changes + if: ${{ inputs.full || needs.changes.outputs.backend == 'true' }} + runs-on: ubuntu-latest + timeout-minutes: 20 + + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Setup .NET 10 SDK + uses: actions/setup-dotnet@v6 + with: + dotnet-version: 10.0.x + cache: true + cache-dependency-path: | + **/*.csproj + + - name: Pack Nordstein.Core + run: >- + dotnet pack core/Nordstein.Core.sln --nologo -c Release + -p:NordsteinCoreVersion=0.1.0-ci.${{ github.run_number }} + -o core/artifacts + + - name: Build the product against the packages + run: >- + dotnet build Proxytrace.sln --nologo + -p:UseLocalCore=false + -p:NordsteinCoreVersion=0.1.0-ci.${{ github.run_number }} + -p:RestoreAdditionalProjectSources=core/artifacts + + - name: Upload packages + uses: actions/upload-artifact@v4 + with: + name: nordstein-core-packages + path: | + core/artifacts/*.nupkg + core/artifacts/*.snupkg + if-no-files-found: error + retention-days: 7 + # Builds the released all-in-one image and boots it, so a container that fails to come up # (initdb, supervisord, nginx upstream, migrations on a cold volume) is caught here rather # than after a release tag is pushed. Single-arch: the release build adds arm64. diff --git a/.gitignore b/.gitignore index c28223c5c..0c8417158 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,6 @@ perf/results/ # Prompt-lab transcripts (generated by the prompt-lab skill; real model calls, not build output) .prompt-lab/ + +# Locally packed Nordstein.Core packages (see nuget.config) +core/artifacts/ diff --git a/CLAUDE.md b/CLAUDE.md index 226a03ba4..796f977a1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,6 +7,7 @@ Detailed guidance lives in [`docs/`](docs/). Read the relevant page **before** w | Doc | Read before… | |-----|--------------| | [`docs/architecture.md`](docs/architecture.md) | Touching project structure, layering, or Autofac DI/modules | +| [`docs/code-reuse.md`](docs/code-reuse.md) | Touching anything under `core/` (Nordstein.Core), or deciding whether new code is product-agnostic | | [`docs/code-style.md`](docs/code-style.md) | Writing any backend C# — style rules + key conventions | | [`docs/domain-entities.md`](docs/domain-entities.md) | Adding/changing a domain entity (the five-file pattern, FK conventions, factory delegates) | | [`docs/validation.md`](docs/validation.md) | Adding domain validation rules | @@ -61,7 +62,7 @@ Detailed guidance lives in [`docs/`](docs/). Read the relevant page **before** w - **e2e / perf** — never as a routine check. Run them only when the change is in that flow or the user asks; both boot Docker stacks and take many minutes. - **Run the full suite** (`dotnet test Proxytrace.sln`) only when the change is genuinely - cross-cutting — `Proxytrace.Common`, `Proxytrace.Testing`, DI/module wiring, a shared interface + cross-cutting — `Nordstein.Core.Common`, `Nordstein.Core.Testing`, DI/module wiring, a shared interface signature, a package bump — or when cutting a release. Say which scope you ran and why, so a narrow run is never mistaken for a full one. - **Internationalization** — the UI is multilingual (English is the source). Every user-facing @@ -75,7 +76,7 @@ Detailed guidance lives in [`docs/`](docs/). Read the relevant page **before** w dedup, title/body quality, and labels — then carry on with your task. - **Nullable suppression** — suppressing nullable warnings with `!` is strictly forbidden everywhere. There is exactly **one** sanctioned exception, and it is not extensible: `Validation.Success` in - [`Proxytrace.Common/Validation/Validation.cs`](Proxytrace.Common/Validation/Validation.cs). The BCL + [`core/Nordstein.Core.Common/Validation/Validation.cs`](core/Nordstein.Core.Common/Validation/Validation.cs). The BCL defines validation success as a `null` `ValidationResult` while declaring `IValidatableObject.Validate` to return a **non-nullable** element type, so the framework demands a value it defines as null through a signature we cannot change. That single line is documented in diff --git a/Directory.Build.props b/Directory.Build.props index 64d1edefa..9d75d5414 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,4 +8,38 @@ displayed verbatim in the UI and sent to the license server. --> false + + + + $(MSBuildThisFileDirectory)core/ + true + false + + 0.1.0-dev + diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 000000000..bf82b921b --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + diff --git a/Proxytrace.Api.Tests/AgentCallsControllerHistogramTests.cs b/Proxytrace.Api.Tests/AgentCallsControllerHistogramTests.cs index ef57cf7aa..4492bad3e 100644 --- a/Proxytrace.Api.Tests/AgentCallsControllerHistogramTests.cs +++ b/Proxytrace.Api.Tests/AgentCallsControllerHistogramTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Completion; using Proxytrace.Domain.Session; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AgentCallsControllerProposalsTests.cs b/Proxytrace.Api.Tests/AgentCallsControllerProposalsTests.cs index d19136049..f38516b72 100644 --- a/Proxytrace.Api.Tests/AgentCallsControllerProposalsTests.cs +++ b/Proxytrace.Api.Tests/AgentCallsControllerProposalsTests.cs @@ -18,7 +18,7 @@ using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AgentCallsControllerSummaryTests.cs b/Proxytrace.Api.Tests/AgentCallsControllerSummaryTests.cs index 1187cc397..34c2c40d0 100644 --- a/Proxytrace.Api.Tests/AgentCallsControllerSummaryTests.cs +++ b/Proxytrace.Api.Tests/AgentCallsControllerSummaryTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.Completion; using Proxytrace.Domain.Session; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AgentCallsControllerTests.cs b/Proxytrace.Api.Tests/AgentCallsControllerTests.cs index 9ad162a65..a2b2f2044 100644 --- a/Proxytrace.Api.Tests/AgentCallsControllerTests.cs +++ b/Proxytrace.Api.Tests/AgentCallsControllerTests.cs @@ -16,7 +16,7 @@ using Proxytrace.Domain.Completion; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AgentsControllerTests.cs b/Proxytrace.Api.Tests/AgentsControllerTests.cs index 2a56fc20b..d4b6f8280 100644 --- a/Proxytrace.Api.Tests/AgentsControllerTests.cs +++ b/Proxytrace.Api.Tests/AgentsControllerTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AnomaliesControllerTests.cs b/Proxytrace.Api.Tests/AnomaliesControllerTests.cs index cd1763da0..4f56cc5ba 100644 --- a/Proxytrace.Api.Tests/AnomaliesControllerTests.cs +++ b/Proxytrace.Api.Tests/AnomaliesControllerTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.CustomAnomaly; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/AuditLogControllerTests.cs b/Proxytrace.Api.Tests/AuditLogControllerTests.cs index 44f447517..5ea9e7a37 100644 --- a/Proxytrace.Api.Tests/AuditLogControllerTests.cs +++ b/Proxytrace.Api.Tests/AuditLogControllerTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/Auth/ApiKeyAuthenticationHandlerTests.cs b/Proxytrace.Api.Tests/Auth/ApiKeyAuthenticationHandlerTests.cs index 236e63109..ef51f88b9 100644 --- a/Proxytrace.Api.Tests/Auth/ApiKeyAuthenticationHandlerTests.cs +++ b/Proxytrace.Api.Tests/Auth/ApiKeyAuthenticationHandlerTests.cs @@ -9,13 +9,13 @@ using Proxytrace.Api.Auth; using Proxytrace.Api.Auth.Mcp; using Proxytrace.Api.Auth.Rest; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Auth; diff --git a/Proxytrace.Api.Tests/Auth/AuthUserResolverTests.cs b/Proxytrace.Api.Tests/Auth/AuthUserResolverTests.cs index 3f41a6b03..884a4aa2e 100644 --- a/Proxytrace.Api.Tests/Auth/AuthUserResolverTests.cs +++ b/Proxytrace.Api.Tests/Auth/AuthUserResolverTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Application.Auth; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Auth; diff --git a/Proxytrace.Api.Tests/Auth/SigningKeyProviderTests.cs b/Proxytrace.Api.Tests/Auth/SigningKeyProviderTests.cs index 6c4789702..ff9fff70d 100644 --- a/Proxytrace.Api.Tests/Auth/SigningKeyProviderTests.cs +++ b/Proxytrace.Api.Tests/Auth/SigningKeyProviderTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Proxytrace.Api.Auth; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Auth; diff --git a/Proxytrace.Api.Tests/AuthControllerTests.cs b/Proxytrace.Api.Tests/AuthControllerTests.cs index bad43e949..aa12ca267 100644 --- a/Proxytrace.Api.Tests/AuthControllerTests.cs +++ b/Proxytrace.Api.Tests/AuthControllerTests.cs @@ -18,7 +18,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.User; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/Config/ConfigControllerTests.cs b/Proxytrace.Api.Tests/Config/ConfigControllerTests.cs index eb73b3b26..f95ffde71 100644 --- a/Proxytrace.Api.Tests/Config/ConfigControllerTests.cs +++ b/Proxytrace.Api.Tests/Config/ConfigControllerTests.cs @@ -2,7 +2,7 @@ using NSubstitute; using Proxytrace.Api.Controllers; using Proxytrace.Domain.Kiosk; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.Hosting; namespace Proxytrace.Api.Tests.Config; diff --git a/Proxytrace.Api.Tests/CostLimitsControllerTests.cs b/Proxytrace.Api.Tests/CostLimitsControllerTests.cs index 2671b12ab..a1675e95f 100644 --- a/Proxytrace.Api.Tests/CostLimitsControllerTests.cs +++ b/Proxytrace.Api.Tests/CostLimitsControllerTests.cs @@ -20,7 +20,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.User; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/CustomAnomalyDetectorsControllerTests.cs b/Proxytrace.Api.Tests/CustomAnomalyDetectorsControllerTests.cs index 6853e5062..e20839b19 100644 --- a/Proxytrace.Api.Tests/CustomAnomalyDetectorsControllerTests.cs +++ b/Proxytrace.Api.Tests/CustomAnomalyDetectorsControllerTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/EmailSettingsControllerTests.cs b/Proxytrace.Api.Tests/EmailSettingsControllerTests.cs index 35e15533c..40c4fdb6b 100644 --- a/Proxytrace.Api.Tests/EmailSettingsControllerTests.cs +++ b/Proxytrace.Api.Tests/EmailSettingsControllerTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Application.Notifications; using Proxytrace.Domain.Notification; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/EvaluatorTestBenchControllerTests.cs b/Proxytrace.Api.Tests/EvaluatorTestBenchControllerTests.cs index 496805573..930f15a73 100644 --- a/Proxytrace.Api.Tests/EvaluatorTestBenchControllerTests.cs +++ b/Proxytrace.Api.Tests/EvaluatorTestBenchControllerTests.cs @@ -17,7 +17,7 @@ using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestResult; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/EvaluatorsControllerTests.cs b/Proxytrace.Api.Tests/EvaluatorsControllerTests.cs index 6a88962c7..c42429f18 100644 --- a/Proxytrace.Api.Tests/EvaluatorsControllerTests.cs +++ b/Proxytrace.Api.Tests/EvaluatorsControllerTests.cs @@ -17,7 +17,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/LicenseControllerTests.cs b/Proxytrace.Api.Tests/LicenseControllerTests.cs index 5cbb242f4..0d1807231 100644 --- a/Proxytrace.Api.Tests/LicenseControllerTests.cs +++ b/Proxytrace.Api.Tests/LicenseControllerTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.User; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/Mcp/AgentToolsTests.cs b/Proxytrace.Api.Tests/Mcp/AgentToolsTests.cs index d02a611db..7dcfc9333 100644 --- a/Proxytrace.Api.Tests/Mcp/AgentToolsTests.cs +++ b/Proxytrace.Api.Tests/Mcp/AgentToolsTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Mcp; diff --git a/Proxytrace.Api.Tests/Mcp/McpApiKeyAuthenticationHandlerTests.cs b/Proxytrace.Api.Tests/Mcp/McpApiKeyAuthenticationHandlerTests.cs index b2f112267..57b29febe 100644 --- a/Proxytrace.Api.Tests/Mcp/McpApiKeyAuthenticationHandlerTests.cs +++ b/Proxytrace.Api.Tests/Mcp/McpApiKeyAuthenticationHandlerTests.cs @@ -14,8 +14,8 @@ using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Common.Security; -using Proxytrace.Testing; +using Nordstein.Core.Common.Security; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Mcp; diff --git a/Proxytrace.Api.Tests/Mcp/McpProjectAccessorTests.cs b/Proxytrace.Api.Tests/Mcp/McpProjectAccessorTests.cs index 033f59888..f45659405 100644 --- a/Proxytrace.Api.Tests/Mcp/McpProjectAccessorTests.cs +++ b/Proxytrace.Api.Tests/Mcp/McpProjectAccessorTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Mcp; diff --git a/Proxytrace.Api.Tests/Mcp/McpServerEndpointTests.cs b/Proxytrace.Api.Tests/Mcp/McpServerEndpointTests.cs index e2a6dbd47..381b3c2ab 100644 --- a/Proxytrace.Api.Tests/Mcp/McpServerEndpointTests.cs +++ b/Proxytrace.Api.Tests/Mcp/McpServerEndpointTests.cs @@ -15,8 +15,8 @@ using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Common.Security; -using Proxytrace.Testing; +using Nordstein.Core.Common.Security; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Mcp; diff --git a/Proxytrace.Api.Tests/Mcp/SuiteToolsTests.cs b/Proxytrace.Api.Tests/Mcp/SuiteToolsTests.cs index e5b52c541..795b1fd94 100644 --- a/Proxytrace.Api.Tests/Mcp/SuiteToolsTests.cs +++ b/Proxytrace.Api.Tests/Mcp/SuiteToolsTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests.Mcp; diff --git a/Proxytrace.Api.Tests/Middleware/ExceptionHandlingMiddlewareTests.cs b/Proxytrace.Api.Tests/Middleware/ExceptionHandlingMiddlewareTests.cs index 2906992c6..1fdd28358 100644 --- a/Proxytrace.Api.Tests/Middleware/ExceptionHandlingMiddlewareTests.cs +++ b/Proxytrace.Api.Tests/Middleware/ExceptionHandlingMiddlewareTests.cs @@ -10,7 +10,7 @@ using NSubstitute; using Proxytrace.Api.Middleware; using Proxytrace.Api.Middleware.Exceptions; -using Proxytrace.Common.Net; +using Nordstein.Core.Common.Net; using Proxytrace.Domain.Exceptions; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; diff --git a/Proxytrace.Api.Tests/ModelProvidersControllerTests.cs b/Proxytrace.Api.Tests/ModelProvidersControllerTests.cs index ad5c3cfee..13f4bc2a2 100644 --- a/Proxytrace.Api.Tests/ModelProvidersControllerTests.cs +++ b/Proxytrace.Api.Tests/ModelProvidersControllerTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Api.Dto.ModelProviders; using Proxytrace.Application.Auth; using Proxytrace.Application.Pricing; -using Proxytrace.Common.Net; +using Nordstein.Core.Common.Net; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.User; @@ -17,7 +17,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/Module.cs b/Proxytrace.Api.Tests/Module.cs index f1d74dd59..0e9914e09 100644 --- a/Proxytrace.Api.Tests/Module.cs +++ b/Proxytrace.Api.Tests/Module.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.Prompt; using Proxytrace.Domain.User; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/ModuleTests.cs b/Proxytrace.Api.Tests/ModuleTests.cs index af773a3d7..1dca5d72e 100644 --- a/Proxytrace.Api.Tests/ModuleTests.cs +++ b/Proxytrace.Api.Tests/ModuleTests.cs @@ -1,5 +1,5 @@ using AwesomeAssertions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/NotificationsControllerTests.cs b/Proxytrace.Api.Tests/NotificationsControllerTests.cs index a5d6aafd6..2f5e096b2 100644 --- a/Proxytrace.Api.Tests/NotificationsControllerTests.cs +++ b/Proxytrace.Api.Tests/NotificationsControllerTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Api.Dto.Notifications; using Proxytrace.Application.Streaming; using Proxytrace.Domain.Notification; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/OutlierSettingsControllerTests.cs b/Proxytrace.Api.Tests/OutlierSettingsControllerTests.cs index 919771668..f6cab4185 100644 --- a/Proxytrace.Api.Tests/OutlierSettingsControllerTests.cs +++ b/Proxytrace.Api.Tests/OutlierSettingsControllerTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Api.Dto.OutlierSettings; using Proxytrace.Domain.Outliers; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/PlaygroundControllerTests.cs b/Proxytrace.Api.Tests/PlaygroundControllerTests.cs index f7cf24651..51ddd01fb 100644 --- a/Proxytrace.Api.Tests/PlaygroundControllerTests.cs +++ b/Proxytrace.Api.Tests/PlaygroundControllerTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Application.Playground; using Proxytrace.Application.Playground.Internal; using Proxytrace.Domain.Agent; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/ProjectAccessGuardTests.cs b/Proxytrace.Api.Tests/ProjectAccessGuardTests.cs index f121d3746..40d5b7dd7 100644 --- a/Proxytrace.Api.Tests/ProjectAccessGuardTests.cs +++ b/Proxytrace.Api.Tests/ProjectAccessGuardTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/ProjectsControllerTests.cs b/Proxytrace.Api.Tests/ProjectsControllerTests.cs index ba23fe83a..c48ccb12d 100644 --- a/Proxytrace.Api.Tests/ProjectsControllerTests.cs +++ b/Proxytrace.Api.Tests/ProjectsControllerTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/ProposalsControllerTests.cs b/Proxytrace.Api.Tests/ProposalsControllerTests.cs index 2577655b7..12c136634 100644 --- a/Proxytrace.Api.Tests/ProposalsControllerTests.cs +++ b/Proxytrace.Api.Tests/ProposalsControllerTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/Proxytrace.Api.Tests.csproj b/Proxytrace.Api.Tests/Proxytrace.Api.Tests.csproj index 61e6b6da7..c225b1711 100644 --- a/Proxytrace.Api.Tests/Proxytrace.Api.Tests.csproj +++ b/Proxytrace.Api.Tests/Proxytrace.Api.Tests.csproj @@ -24,7 +24,7 @@ - + diff --git a/Proxytrace.Api.Tests/SearchControllerTests.cs b/Proxytrace.Api.Tests/SearchControllerTests.cs index beec8cc13..e42891106 100644 --- a/Proxytrace.Api.Tests/SearchControllerTests.cs +++ b/Proxytrace.Api.Tests/SearchControllerTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Api.Dto.Search; using Proxytrace.Domain.ProjectSearchSettings; using Proxytrace.Domain.Search; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/SeededRandomIsNotUsedForSecretsTests.cs b/Proxytrace.Api.Tests/SeededRandomIsNotUsedForSecretsTests.cs index 9e6f079a2..9a7b04d92 100644 --- a/Proxytrace.Api.Tests/SeededRandomIsNotUsedForSecretsTests.cs +++ b/Proxytrace.Api.Tests/SeededRandomIsNotUsedForSecretsTests.cs @@ -1,8 +1,8 @@ using System.Reflection; using AwesomeAssertions; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; @@ -81,7 +81,7 @@ private static IEnumerable ProductionAssemblies() && name.StartsWith("Proxytrace.", StringComparison.Ordinal) && !name.EndsWith(".Tests", StringComparison.Ordinal) // The testing harness exists to build fixtures; it is not production code. - && name != "Proxytrace.Testing"); + && name != "Nordstein.Core.Testing"); private static bool TakesRandomDependency(Type type) => type.GetConstructors(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) diff --git a/Proxytrace.Api.Tests/SessionsControllerTests.cs b/Proxytrace.Api.Tests/SessionsControllerTests.cs index eb6ce8b3f..32a4ee2bd 100644 --- a/Proxytrace.Api.Tests/SessionsControllerTests.cs +++ b/Proxytrace.Api.Tests/SessionsControllerTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Api.Auth; using Proxytrace.Api.Controllers; using Proxytrace.Domain.Session; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/SetupControllerTests.cs b/Proxytrace.Api.Tests/SetupControllerTests.cs index 6635c3e80..e22a7aa2d 100644 --- a/Proxytrace.Api.Tests/SetupControllerTests.cs +++ b/Proxytrace.Api.Tests/SetupControllerTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/StatisticsControllerTests.cs b/Proxytrace.Api.Tests/StatisticsControllerTests.cs index 5f6139730..7d6d3897f 100644 --- a/Proxytrace.Api.Tests/StatisticsControllerTests.cs +++ b/Proxytrace.Api.Tests/StatisticsControllerTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Api.Dto.Tools; using Proxytrace.Application.Statistics; using Proxytrace.Domain.Agent; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestCasesControllerTests.cs b/Proxytrace.Api.Tests/TestCasesControllerTests.cs index 43a89ecc1..3b007b582 100644 --- a/Proxytrace.Api.Tests/TestCasesControllerTests.cs +++ b/Proxytrace.Api.Tests/TestCasesControllerTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestRunDtoMapperTests.cs b/Proxytrace.Api.Tests/TestRunDtoMapperTests.cs index 0b7c2b6f2..e2f3d67ac 100644 --- a/Proxytrace.Api.Tests/TestRunDtoMapperTests.cs +++ b/Proxytrace.Api.Tests/TestRunDtoMapperTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestRunGroupsControllerTests.cs b/Proxytrace.Api.Tests/TestRunGroupsControllerTests.cs index f4aff39e2..2f542b34e 100644 --- a/Proxytrace.Api.Tests/TestRunGroupsControllerTests.cs +++ b/Proxytrace.Api.Tests/TestRunGroupsControllerTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestRunSchedulesControllerTests.cs b/Proxytrace.Api.Tests/TestRunSchedulesControllerTests.cs index 11cce396e..20d2feb44 100644 --- a/Proxytrace.Api.Tests/TestRunSchedulesControllerTests.cs +++ b/Proxytrace.Api.Tests/TestRunSchedulesControllerTests.cs @@ -20,7 +20,7 @@ using Proxytrace.Domain.TestRunSchedule; using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestRunsControllerTests.cs b/Proxytrace.Api.Tests/TestRunsControllerTests.cs index 89cb3b9eb..a37690c1a 100644 --- a/Proxytrace.Api.Tests/TestRunsControllerTests.cs +++ b/Proxytrace.Api.Tests/TestRunsControllerTests.cs @@ -17,7 +17,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/TestSuitesControllerTests.cs b/Proxytrace.Api.Tests/TestSuitesControllerTests.cs index f95bf41fd..dfc3b1ab8 100644 --- a/Proxytrace.Api.Tests/TestSuitesControllerTests.cs +++ b/Proxytrace.Api.Tests/TestSuitesControllerTests.cs @@ -15,7 +15,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; // ReSharper disable NullableWarningSuppressionIsUsed namespace Proxytrace.Api.Tests; @@ -638,7 +638,7 @@ private static TestSuitesController ResolveController( services.GetRequiredService>(), license ?? UnlimitedLicense(), accessGuard ?? services.GetRequiredService(), - services.GetRequiredService(), + services.GetRequiredService(), Microsoft.Extensions.Logging.Abstractions.NullLogger.Instance); [TestMethod] diff --git a/Proxytrace.Api.Tests/TraceyChatControllerTests.cs b/Proxytrace.Api.Tests/TraceyChatControllerTests.cs index 64a8dfe53..a46b01bec 100644 --- a/Proxytrace.Api.Tests/TraceyChatControllerTests.cs +++ b/Proxytrace.Api.Tests/TraceyChatControllerTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.User; using Proxytrace.Messaging; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api.Tests/UsersControllerTests.cs b/Proxytrace.Api.Tests/UsersControllerTests.cs index d90251739..0153efe8a 100644 --- a/Proxytrace.Api.Tests/UsersControllerTests.cs +++ b/Proxytrace.Api.Tests/UsersControllerTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; // ReSharper disable NullableWarningSuppressionIsUsed namespace Proxytrace.Api.Tests; diff --git a/Proxytrace.Api/Controllers/ConfigController.cs b/Proxytrace.Api/Controllers/ConfigController.cs index 1376c7b01..bd96b49a2 100644 --- a/Proxytrace.Api/Controllers/ConfigController.cs +++ b/Proxytrace.Api/Controllers/ConfigController.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Proxytrace.Domain.Kiosk; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.Hosting; namespace Proxytrace.Api.Controllers; diff --git a/Proxytrace.Api/Controllers/ModelProvidersController.cs b/Proxytrace.Api/Controllers/ModelProvidersController.cs index c3cd3c27e..0959e87aa 100644 --- a/Proxytrace.Api/Controllers/ModelProvidersController.cs +++ b/Proxytrace.Api/Controllers/ModelProvidersController.cs @@ -1,8 +1,8 @@ using System.Security.Cryptography; using System.Text.Json; using Microsoft.AspNetCore.Authorization; -using Proxytrace.Common.Net; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Net; +using Nordstein.Core.Common.Security; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Proxytrace.Api.Dto.ApiKeys; diff --git a/Proxytrace.Api/Controllers/SetupController.cs b/Proxytrace.Api/Controllers/SetupController.cs index 545dec082..9dba7a01a 100644 --- a/Proxytrace.Api/Controllers/SetupController.cs +++ b/Proxytrace.Api/Controllers/SetupController.cs @@ -5,7 +5,7 @@ using Proxytrace.Application.Cleanup; using Proxytrace.Application.ErrorLog; using Proxytrace.Application.Setup; -using Proxytrace.Common.Net; +using Nordstein.Core.Common.Net; using Proxytrace.Domain; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Api/Controllers/TestSuitesController.cs b/Proxytrace.Api/Controllers/TestSuitesController.cs index aa6eeb7cb..9916d87a5 100644 --- a/Proxytrace.Api/Controllers/TestSuitesController.cs +++ b/Proxytrace.Api/Controllers/TestSuitesController.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.Statistics; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; diff --git a/Proxytrace.Api/Controllers/TestSupportController.cs b/Proxytrace.Api/Controllers/TestSupportController.cs index 7a08b2c43..d6288f212 100644 --- a/Proxytrace.Api/Controllers/TestSupportController.cs +++ b/Proxytrace.Api/Controllers/TestSupportController.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Proxytrace.Domain.TestSupport; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; namespace Proxytrace.Api.Controllers; diff --git a/Proxytrace.Api/Controllers/TraceyChatController.cs b/Proxytrace.Api/Controllers/TraceyChatController.cs index 8ee05c580..6bd385b5e 100644 --- a/Proxytrace.Api/Controllers/TraceyChatController.cs +++ b/Proxytrace.Api/Controllers/TraceyChatController.cs @@ -11,7 +11,7 @@ using Proxytrace.Application.Auth; using Proxytrace.Application.Ingestion; using Proxytrace.Application.Tracey; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; using Proxytrace.Domain; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; diff --git a/Proxytrace.Api/Dockerfile b/Proxytrace.Api/Dockerfile index c3b8340c0..aabab67dd 100644 --- a/Proxytrace.Api/Dockerfile +++ b/Proxytrace.Api/Dockerfile @@ -29,9 +29,14 @@ ARG APP_VERSION=0.0.0-dev # production key. The dev/e2e/perf composes pass the test key; official images pass nothing. ARG LICENSE_PUBLIC_KEY= WORKDIR /src +# The Nordstein.Core reference expansion lives in these files, so restore needs them +# before the project files. Nordstein.Core.sln is what selects source mode (see +# Directory.Build.props); without it the image would silently restore package mode. +COPY ["Directory.Build.props", "Directory.Build.targets", "nuget.config", "./"] +COPY ["core/Directory.Build.props", "core/Nordstein.Core.sln", "core/"] +COPY ["core/Nordstein.Core.Common/Nordstein.Core.Common.csproj", "core/Nordstein.Core.Common/"] COPY ["Proxytrace.Api/Proxytrace.Api.csproj", "Proxytrace.Api/"] COPY ["Proxytrace.Application/Proxytrace.Application.csproj", "Proxytrace.Application/"] -COPY ["Proxytrace.Common/Proxytrace.Common.csproj", "Proxytrace.Common/"] COPY ["Proxytrace.Domain/Proxytrace.Domain.csproj", "Proxytrace.Domain/"] COPY ["Proxytrace.Infrastructure/Proxytrace.Infrastructure.csproj", "Proxytrace.Infrastructure/"] COPY ["Proxytrace.Messaging/Proxytrace.Messaging.csproj", "Proxytrace.Messaging/"] diff --git a/Proxytrace.Api/Middleware/ExceptionHandlingMiddleware.cs b/Proxytrace.Api/Middleware/ExceptionHandlingMiddleware.cs index 2e605aa7c..39b14bfdf 100644 --- a/Proxytrace.Api/Middleware/ExceptionHandlingMiddleware.cs +++ b/Proxytrace.Api/Middleware/ExceptionHandlingMiddleware.cs @@ -1,7 +1,7 @@ using System.Text.Json; using Proxytrace.Api.Middleware.Exceptions; using Proxytrace.Application.ErrorLog; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; namespace Proxytrace.Api.Middleware; diff --git a/Proxytrace.Api/Middleware/Exceptions/MalformedEndpointUrlExceptionMapper.cs b/Proxytrace.Api/Middleware/Exceptions/MalformedEndpointUrlExceptionMapper.cs index aceeab1f1..195da3465 100644 --- a/Proxytrace.Api/Middleware/Exceptions/MalformedEndpointUrlExceptionMapper.cs +++ b/Proxytrace.Api/Middleware/Exceptions/MalformedEndpointUrlExceptionMapper.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Net; +using Nordstein.Core.Common.Net; namespace Proxytrace.Api.Middleware.Exceptions; diff --git a/Proxytrace.Api/Module.cs b/Proxytrace.Api/Module.cs index 64fad4f83..baeb59d8c 100644 --- a/Proxytrace.Api/Module.cs +++ b/Proxytrace.Api/Module.cs @@ -34,7 +34,7 @@ using Proxytrace.Api.Evaluators; using Proxytrace.Application.TestRun; using Proxytrace.Application.Updates; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Storage; namespace Proxytrace.Api; diff --git a/Proxytrace.Api/Program.cs b/Proxytrace.Api/Program.cs index 624dada92..9d6906a3f 100644 --- a/Proxytrace.Api/Program.cs +++ b/Proxytrace.Api/Program.cs @@ -12,7 +12,7 @@ using Proxytrace.Api.Auth.Mcp; using Proxytrace.Api.Kiosk; using Proxytrace.Api.Middleware; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.Hosting; using Proxytrace.Domain.Kiosk; using Module = Proxytrace.Api.Module; diff --git a/Proxytrace.Application.Tests/AgentCallCleanupServiceTests.cs b/Proxytrace.Application.Tests/AgentCallCleanupServiceTests.cs index ab381e7e6..020a760f0 100644 --- a/Proxytrace.Application.Tests/AgentCallCleanupServiceTests.cs +++ b/Proxytrace.Application.Tests/AgentCallCleanupServiceTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Session; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/AgentCallIngestorTests.cs b/Proxytrace.Application.Tests/AgentCallIngestorTests.cs index 2c00e518b..2b0c13b1d 100644 --- a/Proxytrace.Application.Tests/AgentCallIngestorTests.cs +++ b/Proxytrace.Application.Tests/AgentCallIngestorTests.cs @@ -23,7 +23,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Session; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/AgentNameGeneratorTests.cs b/Proxytrace.Application.Tests/AgentNameGeneratorTests.cs index e37799595..cd0248bf2 100644 --- a/Proxytrace.Application.Tests/AgentNameGeneratorTests.cs +++ b/Proxytrace.Application.Tests/AgentNameGeneratorTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/AgentVersionMatcherTests.cs b/Proxytrace.Application.Tests/AgentVersionMatcherTests.cs index 0782cd560..610cf74b8 100644 --- a/Proxytrace.Application.Tests/AgentVersionMatcherTests.cs +++ b/Proxytrace.Application.Tests/AgentVersionMatcherTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/AuditLog/AuditCaptureTests.cs b/Proxytrace.Application.Tests/AuditLog/AuditCaptureTests.cs index cca7ba7aa..0b26511cd 100644 --- a/Proxytrace.Application.Tests/AuditLog/AuditCaptureTests.cs +++ b/Proxytrace.Application.Tests/AuditLog/AuditCaptureTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Application.AuditLog.Internal; using Proxytrace.Application.ErrorLog.Internal; using Proxytrace.Domain.AuditLog; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.AuditLog; diff --git a/Proxytrace.Application.Tests/AuditLog/AuditLogCleanupServiceTests.cs b/Proxytrace.Application.Tests/AuditLog/AuditLogCleanupServiceTests.cs index f8d4f75ce..9789364db 100644 --- a/Proxytrace.Application.Tests/AuditLog/AuditLogCleanupServiceTests.cs +++ b/Proxytrace.Application.Tests/AuditLog/AuditLogCleanupServiceTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Application.AuditLog; using Proxytrace.Application.AuditLog.Internal; using Proxytrace.Domain.AuditLog; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.AuditLog; diff --git a/Proxytrace.Application.Tests/Auth/JitUserProvisionerTests.cs b/Proxytrace.Application.Tests/Auth/JitUserProvisionerTests.cs index f1e11eee2..f06e3515e 100644 --- a/Proxytrace.Application.Tests/Auth/JitUserProvisionerTests.cs +++ b/Proxytrace.Application.Tests/Auth/JitUserProvisionerTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Application.Auth; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth; diff --git a/Proxytrace.Application.Tests/Auth/Local/InviteServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/InviteServiceTests.cs index cd2723fc1..fdbc38d2d 100644 --- a/Proxytrace.Application.Tests/Auth/Local/InviteServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/InviteServiceTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Domain.User; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/LegacyClaimServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/LegacyClaimServiceTests.cs index 117f927f9..c4f50507c 100644 --- a/Proxytrace.Application.Tests/Auth/Local/LegacyClaimServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/LegacyClaimServiceTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Application.Auth.Local; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/LocalTokenIssuerTests.cs b/Proxytrace.Application.Tests/Auth/Local/LocalTokenIssuerTests.cs index 96b3efc12..13ccdcf3e 100644 --- a/Proxytrace.Application.Tests/Auth/Local/LocalTokenIssuerTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/LocalTokenIssuerTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Application.Auth.Local; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/LoginServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/LoginServiceTests.cs index fd5088c47..1ba1e2b82 100644 --- a/Proxytrace.Application.Tests/Auth/Local/LoginServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/LoginServiceTests.cs @@ -4,7 +4,7 @@ using NSubstitute; using Proxytrace.Application.Auth.Local; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/MfaServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/MfaServiceTests.cs index 7cf5ac52a..b56dc3646 100644 --- a/Proxytrace.Application.Tests/Auth/Local/MfaServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/MfaServiceTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.MfaBackupCode; using Proxytrace.Domain.User; using Proxytrace.Domain.UserTotpEnrollment; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/PasswordPolicyTests.cs b/Proxytrace.Application.Tests/Auth/Local/PasswordPolicyTests.cs index 6685a63c1..98c2284be 100644 --- a/Proxytrace.Application.Tests/Auth/Local/PasswordPolicyTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/PasswordPolicyTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Application.Auth.Local; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/PasswordResetServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/PasswordResetServiceTests.cs index 177090b91..a710a7af9 100644 --- a/Proxytrace.Application.Tests/Auth/Local/PasswordResetServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/PasswordResetServiceTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.PasswordResetToken; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/PasswordServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/PasswordServiceTests.cs index 8386c1f5b..5368ffa94 100644 --- a/Proxytrace.Application.Tests/Auth/Local/PasswordServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/PasswordServiceTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Application.Auth.Local; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/Local/TotpServiceTests.cs b/Proxytrace.Application.Tests/Auth/Local/TotpServiceTests.cs index eb9365cdf..8b9856bf4 100644 --- a/Proxytrace.Application.Tests/Auth/Local/TotpServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/Local/TotpServiceTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using OtpNet; using Proxytrace.Application.Auth.Local; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth.Local; diff --git a/Proxytrace.Application.Tests/Auth/MfaChallengeServiceTests.cs b/Proxytrace.Application.Tests/Auth/MfaChallengeServiceTests.cs index 5359d0fd6..e314404f9 100644 --- a/Proxytrace.Application.Tests/Auth/MfaChallengeServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/MfaChallengeServiceTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Application.Auth; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth; diff --git a/Proxytrace.Application.Tests/Auth/StreamTicketServiceTests.cs b/Proxytrace.Application.Tests/Auth/StreamTicketServiceTests.cs index ebb919bed..3e2f8d215 100644 --- a/Proxytrace.Application.Tests/Auth/StreamTicketServiceTests.cs +++ b/Proxytrace.Application.Tests/Auth/StreamTicketServiceTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Application.Auth; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Auth; diff --git a/Proxytrace.Application.Tests/CostBudgetGuardTests.cs b/Proxytrace.Application.Tests/CostBudgetGuardTests.cs index 053bfacce..18437b2d5 100644 --- a/Proxytrace.Application.Tests/CostBudgetGuardTests.cs +++ b/Proxytrace.Application.Tests/CostBudgetGuardTests.cs @@ -6,8 +6,8 @@ using Proxytrace.Application.CostControl.Internal; using Proxytrace.Application.Notifications; using Microsoft.Extensions.Logging.Abstractions; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain; using Proxytrace.Domain.Agent; @@ -18,7 +18,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Statistics; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallIngestionTests.cs b/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallIngestionTests.cs index d9ca8ed91..06b4b22aa 100644 --- a/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallIngestionTests.cs +++ b/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallIngestionTests.cs @@ -15,7 +15,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; using Proxytrace.Messaging; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.CustomAnomaly; diff --git a/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallRecorderTests.cs b/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallRecorderTests.cs index 1c67cca9d..71bfa316a 100644 --- a/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallRecorderTests.cs +++ b/Proxytrace.Application.Tests/CustomAnomaly/BlockedCallRecorderTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.CustomAnomaly; using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.CustomAnomaly; diff --git a/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyEnqueueHookTests.cs b/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyEnqueueHookTests.cs index 1d4998066..f83198728 100644 --- a/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyEnqueueHookTests.cs +++ b/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyEnqueueHookTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Messaging; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.CustomAnomaly; diff --git a/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyReviewServiceTests.cs b/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyReviewServiceTests.cs index c3a81334b..e0e2e5532 100644 --- a/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyReviewServiceTests.cs +++ b/Proxytrace.Application.Tests/CustomAnomaly/CustomAnomalyReviewServiceTests.cs @@ -16,7 +16,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Licensing; using Proxytrace.Serialization; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.CustomAnomaly; diff --git a/Proxytrace.Application.Tests/DefaultEvaluatorProvisionerTests.cs b/Proxytrace.Application.Tests/DefaultEvaluatorProvisionerTests.cs index e6a499f2c..a5fda177c 100644 --- a/Proxytrace.Application.Tests/DefaultEvaluatorProvisionerTests.cs +++ b/Proxytrace.Application.Tests/DefaultEvaluatorProvisionerTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Demo/DemoApiKeySeedingTests.cs b/Proxytrace.Application.Tests/Demo/DemoApiKeySeedingTests.cs index f36935f34..f5eec04ca 100644 --- a/Proxytrace.Application.Tests/Demo/DemoApiKeySeedingTests.cs +++ b/Proxytrace.Application.Tests/Demo/DemoApiKeySeedingTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Application.Demo.Scenarios; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.Kiosk; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Demo; diff --git a/Proxytrace.Application.Tests/Demo/DemoSeedingTests.cs b/Proxytrace.Application.Tests/Demo/DemoSeedingTests.cs index 1cf3850bd..f0d5582ea 100644 --- a/Proxytrace.Application.Tests/Demo/DemoSeedingTests.cs +++ b/Proxytrace.Application.Tests/Demo/DemoSeedingTests.cs @@ -16,7 +16,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Usage; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Demo; diff --git a/Proxytrace.Application.Tests/Demo/KioskEndpointOptionsTests.cs b/Proxytrace.Application.Tests/Demo/KioskEndpointOptionsTests.cs index b28f81c05..c532e74c1 100644 --- a/Proxytrace.Application.Tests/Demo/KioskEndpointOptionsTests.cs +++ b/Proxytrace.Application.Tests/Demo/KioskEndpointOptionsTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Proxytrace.Domain.Kiosk; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Demo; diff --git a/Proxytrace.Application.Tests/Demo/KioskEndpointSeedingTests.cs b/Proxytrace.Application.Tests/Demo/KioskEndpointSeedingTests.cs index 22487c344..98cfe0658 100644 --- a/Proxytrace.Application.Tests/Demo/KioskEndpointSeedingTests.cs +++ b/Proxytrace.Application.Tests/Demo/KioskEndpointSeedingTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.Agent; using Proxytrace.Domain.Kiosk; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Demo; diff --git a/Proxytrace.Application.Tests/ErrorLog/ErrorLogCaptureTests.cs b/Proxytrace.Application.Tests/ErrorLog/ErrorLogCaptureTests.cs index 03120cac4..8740383c1 100644 --- a/Proxytrace.Application.Tests/ErrorLog/ErrorLogCaptureTests.cs +++ b/Proxytrace.Application.Tests/ErrorLog/ErrorLogCaptureTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Application.ErrorLog; using Proxytrace.Application.ErrorLog.Internal; using Proxytrace.Domain.ApplicationError; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.ErrorLog; diff --git a/Proxytrace.Application.Tests/ErrorLog/ErrorLogCleanupServiceTests.cs b/Proxytrace.Application.Tests/ErrorLog/ErrorLogCleanupServiceTests.cs index 82d0bd5c2..697619301 100644 --- a/Proxytrace.Application.Tests/ErrorLog/ErrorLogCleanupServiceTests.cs +++ b/Proxytrace.Application.Tests/ErrorLog/ErrorLogCleanupServiceTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Application.ErrorLog; using Proxytrace.Application.ErrorLog.Internal; using Proxytrace.Domain.ApplicationError; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.ErrorLog; diff --git a/Proxytrace.Application.Tests/Ingestion/TraceQuotaGuardTests.cs b/Proxytrace.Application.Tests/Ingestion/TraceQuotaGuardTests.cs index be9b39f42..d865636f8 100644 --- a/Proxytrace.Application.Tests/Ingestion/TraceQuotaGuardTests.cs +++ b/Proxytrace.Application.Tests/Ingestion/TraceQuotaGuardTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Ingestion; diff --git a/Proxytrace.Application.Tests/Licensing/LicenseKeyManagerTests.cs b/Proxytrace.Application.Tests/Licensing/LicenseKeyManagerTests.cs index fc75f3032..7aa9c1c1e 100644 --- a/Proxytrace.Application.Tests/Licensing/LicenseKeyManagerTests.cs +++ b/Proxytrace.Application.Tests/Licensing/LicenseKeyManagerTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Application.Licensing; using Proxytrace.Licensing; using Proxytrace.Licensing.Exceptions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Licensing; diff --git a/Proxytrace.Application.Tests/Licensing/StoredLicenseStartupServiceTests.cs b/Proxytrace.Application.Tests/Licensing/StoredLicenseStartupServiceTests.cs index 33023cbbd..444314781 100644 --- a/Proxytrace.Application.Tests/Licensing/StoredLicenseStartupServiceTests.cs +++ b/Proxytrace.Application.Tests/Licensing/StoredLicenseStartupServiceTests.cs @@ -5,7 +5,7 @@ using NSubstitute; using Proxytrace.Application.Licensing.Internal; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Licensing; diff --git a/Proxytrace.Application.Tests/ModelSwitchTheoryValidatorTests.cs b/Proxytrace.Application.Tests/ModelSwitchTheoryValidatorTests.cs index 59ddcd29a..b773dffef 100644 --- a/Proxytrace.Application.Tests/ModelSwitchTheoryValidatorTests.cs +++ b/Proxytrace.Application.Tests/ModelSwitchTheoryValidatorTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Module.cs b/Proxytrace.Application.Tests/Module.cs index 41c881918..dc2a3b758 100644 --- a/Proxytrace.Application.Tests/Module.cs +++ b/Proxytrace.Application.Tests/Module.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Notifications/EmailNotificationChannelTests.cs b/Proxytrace.Application.Tests/Notifications/EmailNotificationChannelTests.cs index ee58692df..112842cba 100644 --- a/Proxytrace.Application.Tests/Notifications/EmailNotificationChannelTests.cs +++ b/Proxytrace.Application.Tests/Notifications/EmailNotificationChannelTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Notifications; diff --git a/Proxytrace.Application.Tests/Notifications/NotificationServiceTests.cs b/Proxytrace.Application.Tests/Notifications/NotificationServiceTests.cs index 89724bb98..c6236a12c 100644 --- a/Proxytrace.Application.Tests/Notifications/NotificationServiceTests.cs +++ b/Proxytrace.Application.Tests/Notifications/NotificationServiceTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Application.Notifications; using Proxytrace.Application.Notifications.Internal; using Proxytrace.Domain.Notification; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Notifications; diff --git a/Proxytrace.Application.Tests/OpenAiCallParserTests.cs b/Proxytrace.Application.Tests/OpenAiCallParserTests.cs index 275844e46..b45991d89 100644 --- a/Proxytrace.Application.Tests/OpenAiCallParserTests.cs +++ b/Proxytrace.Application.Tests/OpenAiCallParserTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.Completion; using Proxytrace.Domain.Message; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Optimization/OptimizationModuleRegistrationTests.cs b/Proxytrace.Application.Tests/Optimization/OptimizationModuleRegistrationTests.cs index cce2a9154..9d60d7e72 100644 --- a/Proxytrace.Application.Tests/Optimization/OptimizationModuleRegistrationTests.cs +++ b/Proxytrace.Application.Tests/Optimization/OptimizationModuleRegistrationTests.cs @@ -4,7 +4,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Proxytrace.Application.Optimization.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/Optimization/OptimizerQueueRecoveryTests.cs b/Proxytrace.Application.Tests/Optimization/OptimizerQueueRecoveryTests.cs index 5aefb3e5e..343658f5e 100644 --- a/Proxytrace.Application.Tests/Optimization/OptimizerQueueRecoveryTests.cs +++ b/Proxytrace.Application.Tests/Optimization/OptimizerQueueRecoveryTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/Optimization/ProposalAdoptionTests.cs b/Proxytrace.Application.Tests/Optimization/ProposalAdoptionTests.cs index bf3506ee7..da88c702d 100644 --- a/Proxytrace.Application.Tests/Optimization/ProposalAdoptionTests.cs +++ b/Proxytrace.Application.Tests/Optimization/ProposalAdoptionTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/Optimization/SwitchModelOptimizerScenarioTests.cs b/Proxytrace.Application.Tests/Optimization/SwitchModelOptimizerScenarioTests.cs index dac1adc7b..a59f470a9 100644 --- a/Proxytrace.Application.Tests/Optimization/SwitchModelOptimizerScenarioTests.cs +++ b/Proxytrace.Application.Tests/Optimization/SwitchModelOptimizerScenarioTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/Optimization/UpdateSystemPromptOptimizerIntegrationTests.cs b/Proxytrace.Application.Tests/Optimization/UpdateSystemPromptOptimizerIntegrationTests.cs index 85eba64b9..6e9f62567 100644 --- a/Proxytrace.Application.Tests/Optimization/UpdateSystemPromptOptimizerIntegrationTests.cs +++ b/Proxytrace.Application.Tests/Optimization/UpdateSystemPromptOptimizerIntegrationTests.cs @@ -25,7 +25,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Tools; using Proxytrace.Domain.Kiosk; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/Optimization/UpdateToolDefinitionOptimizerIntegrationTests.cs b/Proxytrace.Application.Tests/Optimization/UpdateToolDefinitionOptimizerIntegrationTests.cs index ff663a7d0..fe9fdc40f 100644 --- a/Proxytrace.Application.Tests/Optimization/UpdateToolDefinitionOptimizerIntegrationTests.cs +++ b/Proxytrace.Application.Tests/Optimization/UpdateToolDefinitionOptimizerIntegrationTests.cs @@ -25,7 +25,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Tools; using Proxytrace.Domain.Kiosk; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Optimization; diff --git a/Proxytrace.Application.Tests/OrphanedTestRunReaperTests.cs b/Proxytrace.Application.Tests/OrphanedTestRunReaperTests.cs index 98ea94e3e..d5627bd49 100644 --- a/Proxytrace.Application.Tests/OrphanedTestRunReaperTests.cs +++ b/Proxytrace.Application.Tests/OrphanedTestRunReaperTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/OutlierDetectorTests.cs b/Proxytrace.Application.Tests/OutlierDetectorTests.cs index a8510b0e3..eb99c3196 100644 --- a/Proxytrace.Application.Tests/OutlierDetectorTests.cs +++ b/Proxytrace.Application.Tests/OutlierDetectorTests.cs @@ -5,7 +5,7 @@ using NSubstitute; using Proxytrace.Application.Outliers; using Proxytrace.Domain.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Playground/PlaygroundServiceTests.cs b/Proxytrace.Application.Tests/Playground/PlaygroundServiceTests.cs index befcf11da..eb67158ce 100644 --- a/Proxytrace.Application.Tests/Playground/PlaygroundServiceTests.cs +++ b/Proxytrace.Application.Tests/Playground/PlaygroundServiceTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Tools; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Playground; diff --git a/Proxytrace.Application.Tests/Pricing/ModelPriceRefresherTests.cs b/Proxytrace.Application.Tests/Pricing/ModelPriceRefresherTests.cs index b9bae0d29..bc7708dc2 100644 --- a/Proxytrace.Application.Tests/Pricing/ModelPriceRefresherTests.cs +++ b/Proxytrace.Application.Tests/Pricing/ModelPriceRefresherTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.Model; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Pricing; diff --git a/Proxytrace.Application.Tests/Proxytrace.Application.Tests.csproj b/Proxytrace.Application.Tests/Proxytrace.Application.Tests.csproj index 4a00037ee..b5bf21909 100644 --- a/Proxytrace.Application.Tests/Proxytrace.Application.Tests.csproj +++ b/Proxytrace.Application.Tests/Proxytrace.Application.Tests.csproj @@ -36,7 +36,7 @@ - + diff --git a/Proxytrace.Application.Tests/Search/SystemEntitySearchExclusionTests.cs b/Proxytrace.Application.Tests/Search/SystemEntitySearchExclusionTests.cs index 5e6f73243..95e409166 100644 --- a/Proxytrace.Application.Tests/Search/SystemEntitySearchExclusionTests.cs +++ b/Proxytrace.Application.Tests/Search/SystemEntitySearchExclusionTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.Completion; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Search; diff --git a/Proxytrace.Application.Tests/Security/SecretProtectorTests.cs b/Proxytrace.Application.Tests/Security/SecretProtectorTests.cs index 8849b5a3a..e82631758 100644 --- a/Proxytrace.Application.Tests/Security/SecretProtectorTests.cs +++ b/Proxytrace.Application.Tests/Security/SecretProtectorTests.cs @@ -2,10 +2,10 @@ using AwesomeAssertions; using Microsoft.AspNetCore.DataProtection; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Security; using Proxytrace.Infrastructure.Security.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Security; diff --git a/Proxytrace.Application.Tests/Setup/SetupFirstAdminTests.cs b/Proxytrace.Application.Tests/Setup/SetupFirstAdminTests.cs index 857988db2..2b967cc70 100644 --- a/Proxytrace.Application.Tests/Setup/SetupFirstAdminTests.cs +++ b/Proxytrace.Application.Tests/Setup/SetupFirstAdminTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Application.Setup; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Setup; diff --git a/Proxytrace.Application.Tests/Statistics/AgentStatisticsTests.cs b/Proxytrace.Application.Tests/Statistics/AgentStatisticsTests.cs index edee888f0..8ac6bcbd9 100644 --- a/Proxytrace.Application.Tests/Statistics/AgentStatisticsTests.cs +++ b/Proxytrace.Application.Tests/Statistics/AgentStatisticsTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Domain.Exceptions; using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Statistics; diff --git a/Proxytrace.Application.Tests/Statistics/DashboardStatisticsTests.cs b/Proxytrace.Application.Tests/Statistics/DashboardStatisticsTests.cs index 8020cbc70..9b0916053 100644 --- a/Proxytrace.Application.Tests/Statistics/DashboardStatisticsTests.cs +++ b/Proxytrace.Application.Tests/Statistics/DashboardStatisticsTests.cs @@ -4,12 +4,12 @@ using Proxytrace.Application.Statistics; using Proxytrace.Application.Statistics.Internal; using Proxytrace.Domain.Statistics.TestRun; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentCall; using Proxytrace.Messaging; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Statistics; diff --git a/Proxytrace.Application.Tests/Statistics/StatisticsBackfillHostedServiceTests.cs b/Proxytrace.Application.Tests/Statistics/StatisticsBackfillHostedServiceTests.cs index 432f562e2..6f6a0ad29 100644 --- a/Proxytrace.Application.Tests/Statistics/StatisticsBackfillHostedServiceTests.cs +++ b/Proxytrace.Application.Tests/Statistics/StatisticsBackfillHostedServiceTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Domain.Statistics.TestRun; using Proxytrace.Domain; using Proxytrace.Domain.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Statistics; diff --git a/Proxytrace.Application.Tests/Statistics/TestRunStatsProjectorTests.cs b/Proxytrace.Application.Tests/Statistics/TestRunStatsProjectorTests.cs index e59274ef8..633f10b10 100644 --- a/Proxytrace.Application.Tests/Statistics/TestRunStatsProjectorTests.cs +++ b/Proxytrace.Application.Tests/Statistics/TestRunStatsProjectorTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Statistics; diff --git a/Proxytrace.Application.Tests/SwitchModelOptimizerTests.cs b/Proxytrace.Application.Tests/SwitchModelOptimizerTests.cs index a65e158b5..24b48808f 100644 --- a/Proxytrace.Application.Tests/SwitchModelOptimizerTests.cs +++ b/Proxytrace.Application.Tests/SwitchModelOptimizerTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/SystemPromptTheoryValidatorTests.cs b/Proxytrace.Application.Tests/SystemPromptTheoryValidatorTests.cs index d0a4506ae..60072cca0 100644 --- a/Proxytrace.Application.Tests/SystemPromptTheoryValidatorTests.cs +++ b/Proxytrace.Application.Tests/SystemPromptTheoryValidatorTests.cs @@ -17,7 +17,7 @@ using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/TestCase/TestCaseSynthesisServiceTests.cs b/Proxytrace.Application.Tests/TestCase/TestCaseSynthesisServiceTests.cs index 3e7d7c0a9..2ea45debe 100644 --- a/Proxytrace.Application.Tests/TestCase/TestCaseSynthesisServiceTests.cs +++ b/Proxytrace.Application.Tests/TestCase/TestCaseSynthesisServiceTests.cs @@ -14,7 +14,7 @@ using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Tools; using Proxytrace.Serialization; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.TestCase; diff --git a/Proxytrace.Application.Tests/TestRun/TestRunSchedulerServiceTests.cs b/Proxytrace.Application.Tests/TestRun/TestRunSchedulerServiceTests.cs index b4f4dbcae..27fc482a3 100644 --- a/Proxytrace.Application.Tests/TestRun/TestRunSchedulerServiceTests.cs +++ b/Proxytrace.Application.Tests/TestRun/TestRunSchedulerServiceTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.TestRunSchedule; using Proxytrace.Domain.TestSuite; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.TestRun; diff --git a/Proxytrace.Application.Tests/TestRunnerServiceTests.cs b/Proxytrace.Application.Tests/TestRunnerServiceTests.cs index edcfca2d2..238a421ac 100644 --- a/Proxytrace.Application.Tests/TestRunnerServiceTests.cs +++ b/Proxytrace.Application.Tests/TestRunnerServiceTests.cs @@ -23,7 +23,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Usage; using Proxytrace.Licensing; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/TheoryValidationServiceTests.cs b/Proxytrace.Application.Tests/TheoryValidationServiceTests.cs index 1d99c5ce9..08ca8eb0c 100644 --- a/Proxytrace.Application.Tests/TheoryValidationServiceTests.cs +++ b/Proxytrace.Application.Tests/TheoryValidationServiceTests.cs @@ -2,7 +2,7 @@ using AwesomeAssertions; using Microsoft.Extensions.Logging.Abstractions; using NSubstitute; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Application.Optimization; using Proxytrace.Application.Optimization.Internal; using Proxytrace.Application.Optimization.Internal.Validation; @@ -13,7 +13,7 @@ using Proxytrace.Domain.OptimizationTheory; using Proxytrace.Domain.Project; using Proxytrace.Domain.TestRunGroup; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/TraceyServiceTests.cs b/Proxytrace.Application.Tests/TraceyServiceTests.cs index f5a1fa1a7..abe445e04 100644 --- a/Proxytrace.Application.Tests/TraceyServiceTests.cs +++ b/Proxytrace.Application.Tests/TraceyServiceTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Application.Tracey.Internal; using Proxytrace.Domain; using Proxytrace.Domain.Project; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/UpdateSystemPromptOptimizerTests.cs b/Proxytrace.Application.Tests/UpdateSystemPromptOptimizerTests.cs index d69fb1aed..dce552e11 100644 --- a/Proxytrace.Application.Tests/UpdateSystemPromptOptimizerTests.cs +++ b/Proxytrace.Application.Tests/UpdateSystemPromptOptimizerTests.cs @@ -22,7 +22,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Tools; using Proxytrace.Serialization; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/UpdateToolDefinitionOptimizerTests.cs b/Proxytrace.Application.Tests/UpdateToolDefinitionOptimizerTests.cs index e06bac9f1..c42f88886 100644 --- a/Proxytrace.Application.Tests/UpdateToolDefinitionOptimizerTests.cs +++ b/Proxytrace.Application.Tests/UpdateToolDefinitionOptimizerTests.cs @@ -23,7 +23,7 @@ using Proxytrace.Domain.TestSuite; using Proxytrace.Domain.Tools; using Proxytrace.Serialization; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application.Tests/Updates/UpdateCheckServiceTests.cs b/Proxytrace.Application.Tests/Updates/UpdateCheckServiceTests.cs index 72ea90adb..fda0f9559 100644 --- a/Proxytrace.Application.Tests/Updates/UpdateCheckServiceTests.cs +++ b/Proxytrace.Application.Tests/Updates/UpdateCheckServiceTests.cs @@ -7,8 +7,8 @@ using Proxytrace.Domain.Kiosk; using Proxytrace.Application.Updates; using Proxytrace.Application.Updates.Internal; -using Proxytrace.Common.Hosting; -using Proxytrace.Testing; +using Nordstein.Core.Common.Hosting; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests.Updates; diff --git a/Proxytrace.Application.Tests/UserAdministrationServiceTests.cs b/Proxytrace.Application.Tests/UserAdministrationServiceTests.cs index 25460bd7a..e77311303 100644 --- a/Proxytrace.Application.Tests/UserAdministrationServiceTests.cs +++ b/Proxytrace.Application.Tests/UserAdministrationServiceTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Application.Auth.Internal; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Application.Tests; diff --git a/Proxytrace.Application/Auth/Local/Internal/InviteService.cs b/Proxytrace.Application/Auth/Local/Internal/InviteService.cs index b688ce9d9..627e08474 100644 --- a/Proxytrace.Application/Auth/Local/Internal/InviteService.cs +++ b/Proxytrace.Application/Auth/Local/Internal/InviteService.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using System.Security.Cryptography; using Proxytrace.Domain.Security; using Proxytrace.Domain; diff --git a/Proxytrace.Application/Auth/Local/Internal/PasswordResetService.cs b/Proxytrace.Application/Auth/Local/Internal/PasswordResetService.cs index d8eec8dcf..c82e67a44 100644 --- a/Proxytrace.Application/Auth/Local/Internal/PasswordResetService.cs +++ b/Proxytrace.Application/Auth/Local/Internal/PasswordResetService.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.PasswordResetToken; using Proxytrace.Domain.User; using Proxytrace.Domain.UserTotpEnrollment; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; namespace Proxytrace.Application.Auth.Local.Internal; diff --git a/Proxytrace.Application/CostControl/Internal/CostBudgetGuard.cs b/Proxytrace.Application/CostControl/Internal/CostBudgetGuard.cs index 7df221d53..04d1f0397 100644 --- a/Proxytrace.Application/CostControl/Internal/CostBudgetGuard.cs +++ b/Proxytrace.Application/CostControl/Internal/CostBudgetGuard.cs @@ -1,8 +1,8 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Proxytrace.Application.Notifications; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.CostLimit; using Proxytrace.Domain.CostLimitBreach; diff --git a/Proxytrace.Application/CostControl/Internal/CostStatistics.cs b/Proxytrace.Application/CostControl/Internal/CostStatistics.cs index ca275b181..501f178d2 100644 --- a/Proxytrace.Application/CostControl/Internal/CostStatistics.cs +++ b/Proxytrace.Application/CostControl/Internal/CostStatistics.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.CostLimit; diff --git a/Proxytrace.Application/Demo/Scenarios/DemoApiKeySeedScenario.cs b/Proxytrace.Application/Demo/Scenarios/DemoApiKeySeedScenario.cs index 1370e2e65..62013a217 100644 --- a/Proxytrace.Application/Demo/Scenarios/DemoApiKeySeedScenario.cs +++ b/Proxytrace.Application/Demo/Scenarios/DemoApiKeySeedScenario.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.Kiosk; diff --git a/Proxytrace.Application/Demo/Scenarios/StatisticsBackfillScenario.cs b/Proxytrace.Application/Demo/Scenarios/StatisticsBackfillScenario.cs index 60b9a58b5..fc32ef1ca 100644 --- a/Proxytrace.Application/Demo/Scenarios/StatisticsBackfillScenario.cs +++ b/Proxytrace.Application/Demo/Scenarios/StatisticsBackfillScenario.cs @@ -1,6 +1,6 @@ using System.Net; using JetBrains.Annotations; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentCall; diff --git a/Proxytrace.Application/Ingestion/Internal/TraceQuotaGuard.cs b/Proxytrace.Application/Ingestion/Internal/TraceQuotaGuard.cs index 4e7ee29a9..2622f6b16 100644 --- a/Proxytrace.Application/Ingestion/Internal/TraceQuotaGuard.cs +++ b/Proxytrace.Application/Ingestion/Internal/TraceQuotaGuard.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Proxytrace.Application.Notifications; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Notification; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Application/Module.cs b/Proxytrace.Application/Module.cs index 7ed7b5bb0..ba7f96402 100644 --- a/Proxytrace.Application/Module.cs +++ b/Proxytrace.Application/Module.cs @@ -45,8 +45,8 @@ using Proxytrace.Application.Tracey.Internal; using Proxytrace.Application.Updates; using Proxytrace.Application.Updates.Internal; -using Proxytrace.Common.DependencyInjection; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.DependencyInjection; +using Nordstein.Core.Common.Hosting; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Kiosk; using Proxytrace.Licensing; diff --git a/Proxytrace.Application/Optimization/Internal/CompositeOptimizer.cs b/Proxytrace.Application/Optimization/Internal/CompositeOptimizer.cs index cefdd0814..da9fc6c6d 100644 --- a/Proxytrace.Application/Optimization/Internal/CompositeOptimizer.cs +++ b/Proxytrace.Application/Optimization/Internal/CompositeOptimizer.cs @@ -2,7 +2,7 @@ using Proxytrace.Domain.Statistics; using Proxytrace.Domain.Statistics.TestRun; using Proxytrace.Application.TestRun; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.OptimizationTheory; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; diff --git a/Proxytrace.Application/Optimization/Internal/TheoryValidationService.cs b/Proxytrace.Application/Optimization/Internal/TheoryValidationService.cs index 4ba872e87..85fc1fbd3 100644 --- a/Proxytrace.Application/Optimization/Internal/TheoryValidationService.cs +++ b/Proxytrace.Application/Optimization/Internal/TheoryValidationService.cs @@ -5,7 +5,7 @@ using Microsoft.Extensions.Logging; using Proxytrace.Application.Optimization.Internal.Validation; using Proxytrace.Application.Streaming; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.Kiosk; diff --git a/Proxytrace.Application/Optimization/Module.cs b/Proxytrace.Application/Optimization/Module.cs index 0f90bad19..16eb609f8 100644 --- a/Proxytrace.Application/Optimization/Module.cs +++ b/Proxytrace.Application/Optimization/Module.cs @@ -4,7 +4,7 @@ using Proxytrace.Application.Optimization.Internal.Adoption; using Proxytrace.Application.Optimization.Internal.Evidence; using Proxytrace.Application.Optimization.Internal.Validation; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; namespace Proxytrace.Application.Optimization; diff --git a/Proxytrace.Application/Search/SearchModule.cs b/Proxytrace.Application/Search/SearchModule.cs index 826d5669b..6ec9301aa 100644 --- a/Proxytrace.Application/Search/SearchModule.cs +++ b/Proxytrace.Application/Search/SearchModule.cs @@ -4,7 +4,7 @@ using Microsoft.Extensions.Logging; using Proxytrace.Application.Search.Internal; using Proxytrace.Application.Search.Internal.Mappers; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.Search; diff --git a/Proxytrace.Application/Setup/Internal/SetupService.cs b/Proxytrace.Application/Setup/Internal/SetupService.cs index fced528bd..b674e2cad 100644 --- a/Proxytrace.Application/Setup/Internal/SetupService.cs +++ b/Proxytrace.Application/Setup/Internal/SetupService.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Application.Auth; using Proxytrace.Application.Auth.Local; using Proxytrace.Application.Pricing; diff --git a/Proxytrace.Application/Statistics/Internal/DashboardStatistics.cs b/Proxytrace.Application/Statistics/Internal/DashboardStatistics.cs index c96dd262f..f55376fda 100644 --- a/Proxytrace.Application/Statistics/Internal/DashboardStatistics.cs +++ b/Proxytrace.Application/Statistics/Internal/DashboardStatistics.cs @@ -1,7 +1,7 @@ using System.Collections.Concurrent; using Proxytrace.Domain.Statistics; using Proxytrace.Domain.Statistics.TestRun; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentCall; diff --git a/Proxytrace.Application/Statistics/Module.cs b/Proxytrace.Application/Statistics/Module.cs index ba7685627..092e90b1f 100644 --- a/Proxytrace.Application/Statistics/Module.cs +++ b/Proxytrace.Application/Statistics/Module.cs @@ -3,7 +3,7 @@ using Proxytrace.Application.Statistics.Internal; using Proxytrace.Application.Statistics.Internal.Worker; using Proxytrace.Application.Statistics.TestRun.Internal; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; namespace Proxytrace.Application.Statistics; diff --git a/Proxytrace.Application/TestRun/Internal/TestRunnerService.cs b/Proxytrace.Application/TestRun/Internal/TestRunnerService.cs index 3c2027464..caec799ba 100644 --- a/Proxytrace.Application/TestRun/Internal/TestRunnerService.cs +++ b/Proxytrace.Application/TestRun/Internal/TestRunnerService.cs @@ -6,7 +6,7 @@ using Proxytrace.Application.Anomaly; using Proxytrace.Application.Optimization; using Proxytrace.Application.Streaming; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Completion; diff --git a/Proxytrace.Application/Updates/Internal/UpdateCheckService.cs b/Proxytrace.Application/Updates/Internal/UpdateCheckService.cs index d511903fa..0cec219d9 100644 --- a/Proxytrace.Application/Updates/Internal/UpdateCheckService.cs +++ b/Proxytrace.Application/Updates/Internal/UpdateCheckService.cs @@ -3,8 +3,8 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Proxytrace.Domain.Kiosk; -using Proxytrace.Common.Hosting; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Hosting; +using Nordstein.Core.Common.Time; namespace Proxytrace.Application.Updates.Internal; diff --git a/Proxytrace.Domain.Tests/ApiKeyValidationTests.cs b/Proxytrace.Domain.Tests/ApiKeyValidationTests.cs index 2d8b85ed6..f408507d1 100644 --- a/Proxytrace.Domain.Tests/ApiKeyValidationTests.cs +++ b/Proxytrace.Domain.Tests/ApiKeyValidationTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/ApplicationErrorValidationTests.cs b/Proxytrace.Domain.Tests/ApplicationErrorValidationTests.cs index a5b67087a..f62804ee6 100644 --- a/Proxytrace.Domain.Tests/ApplicationErrorValidationTests.cs +++ b/Proxytrace.Domain.Tests/ApplicationErrorValidationTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.ApplicationError; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/ContentSerializationTests.cs b/Proxytrace.Domain.Tests/ContentSerializationTests.cs index 67c4ce2a4..4e935920b 100644 --- a/Proxytrace.Domain.Tests/ContentSerializationTests.cs +++ b/Proxytrace.Domain.Tests/ContentSerializationTests.cs @@ -1,6 +1,6 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Message; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/DomainEntityGeneratorTests.cs b/Proxytrace.Domain.Tests/DomainEntityGeneratorTests.cs index a83459df2..18c9407cb 100644 --- a/Proxytrace.Domain.Tests/DomainEntityGeneratorTests.cs +++ b/Proxytrace.Domain.Tests/DomainEntityGeneratorTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.User; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/DomainTest.cs b/Proxytrace.Domain.Tests/DomainTest.cs index b1704a9e1..e576e0266 100644 --- a/Proxytrace.Domain.Tests/DomainTest.cs +++ b/Proxytrace.Domain.Tests/DomainTest.cs @@ -1,5 +1,5 @@ using Microsoft.Testing.Platform.Services; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/EvaluatorBehaviorTests.cs b/Proxytrace.Domain.Tests/EvaluatorBehaviorTests.cs index 4039f65ed..78d1cce37 100644 --- a/Proxytrace.Domain.Tests/EvaluatorBehaviorTests.cs +++ b/Proxytrace.Domain.Tests/EvaluatorBehaviorTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestResult; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/InviteValidationTests.cs b/Proxytrace.Domain.Tests/InviteValidationTests.cs index ad9fe22de..454cbda45 100644 --- a/Proxytrace.Domain.Tests/InviteValidationTests.cs +++ b/Proxytrace.Domain.Tests/InviteValidationTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Invite; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/MfaBackupCodeValidationTests.cs b/Proxytrace.Domain.Tests/MfaBackupCodeValidationTests.cs index 11a4ce865..080946efe 100644 --- a/Proxytrace.Domain.Tests/MfaBackupCodeValidationTests.cs +++ b/Proxytrace.Domain.Tests/MfaBackupCodeValidationTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.MfaBackupCode; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/ModelParametersValidationTests.cs b/Proxytrace.Domain.Tests/ModelParametersValidationTests.cs index d5f41299a..3fd83caf5 100644 --- a/Proxytrace.Domain.Tests/ModelParametersValidationTests.cs +++ b/Proxytrace.Domain.Tests/ModelParametersValidationTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Inference; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/Module.cs b/Proxytrace.Domain.Tests/Module.cs index 3c71ed0f3..6c32ab24a 100644 --- a/Proxytrace.Domain.Tests/Module.cs +++ b/Proxytrace.Domain.Tests/Module.cs @@ -2,7 +2,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/OptimizationContentHashStabilityTests.cs b/Proxytrace.Domain.Tests/OptimizationContentHashStabilityTests.cs index 79a992d4e..77320fb43 100644 --- a/Proxytrace.Domain.Tests/OptimizationContentHashStabilityTests.cs +++ b/Proxytrace.Domain.Tests/OptimizationContentHashStabilityTests.cs @@ -1,9 +1,9 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/OptimizationProposalTransitionTests.cs b/Proxytrace.Domain.Tests/OptimizationProposalTransitionTests.cs index 92e714649..c4746237b 100644 --- a/Proxytrace.Domain.Tests/OptimizationProposalTransitionTests.cs +++ b/Proxytrace.Domain.Tests/OptimizationProposalTransitionTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.OptimizationProposal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/OptimizationProposalValidationTests.cs b/Proxytrace.Domain.Tests/OptimizationProposalValidationTests.cs index 3884f4fc1..613fe3158 100644 --- a/Proxytrace.Domain.Tests/OptimizationProposalValidationTests.cs +++ b/Proxytrace.Domain.Tests/OptimizationProposalValidationTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/OptimizationTheoryValidationTests.cs b/Proxytrace.Domain.Tests/OptimizationTheoryValidationTests.cs index ea195dea4..ae291f6f5 100644 --- a/Proxytrace.Domain.Tests/OptimizationTheoryValidationTests.cs +++ b/Proxytrace.Domain.Tests/OptimizationTheoryValidationTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/PasswordResetTokenValidationTests.cs b/Proxytrace.Domain.Tests/PasswordResetTokenValidationTests.cs index bdbe371d0..3f29dacb7 100644 --- a/Proxytrace.Domain.Tests/PasswordResetTokenValidationTests.cs +++ b/Proxytrace.Domain.Tests/PasswordResetTokenValidationTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.PasswordResetToken; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/ProjectValidationTests.cs b/Proxytrace.Domain.Tests/ProjectValidationTests.cs index 785fed45a..63d9e7ad9 100644 --- a/Proxytrace.Domain.Tests/ProjectValidationTests.cs +++ b/Proxytrace.Domain.Tests/ProjectValidationTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/PromptTemplateTests.cs b/Proxytrace.Domain.Tests/PromptTemplateTests.cs index 60bb301b3..0600dfbb8 100644 --- a/Proxytrace.Domain.Tests/PromptTemplateTests.cs +++ b/Proxytrace.Domain.Tests/PromptTemplateTests.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using AwesomeAssertions; using Microsoft.Testing.Platform.Services; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain.Tests/PromptTests.cs b/Proxytrace.Domain.Tests/PromptTests.cs index 291da08e0..79119a6c0 100644 --- a/Proxytrace.Domain.Tests/PromptTests.cs +++ b/Proxytrace.Domain.Tests/PromptTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Prompt; -using Proxytrace.Testing; +using Nordstein.Core.Testing; // ReSharper disable NullableWarningSuppressionIsUsed diff --git a/Proxytrace.Domain.Tests/ProposalHasherTests.cs b/Proxytrace.Domain.Tests/ProposalHasherTests.cs index 4b26171ac..d96685530 100644 --- a/Proxytrace.Domain.Tests/ProposalHasherTests.cs +++ b/Proxytrace.Domain.Tests/ProposalHasherTests.cs @@ -7,7 +7,7 @@ using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/Proxytrace.Domain.Tests.csproj b/Proxytrace.Domain.Tests/Proxytrace.Domain.Tests.csproj index 5e76b3752..a0fd33a70 100644 --- a/Proxytrace.Domain.Tests/Proxytrace.Domain.Tests.csproj +++ b/Proxytrace.Domain.Tests/Proxytrace.Domain.Tests.csproj @@ -29,7 +29,7 @@ - + diff --git a/Proxytrace.Domain.Tests/ResourcesPromptRepositoryTests.cs b/Proxytrace.Domain.Tests/ResourcesPromptRepositoryTests.cs index 0b2b446f8..3ca79782d 100644 --- a/Proxytrace.Domain.Tests/ResourcesPromptRepositoryTests.cs +++ b/Proxytrace.Domain.Tests/ResourcesPromptRepositoryTests.cs @@ -2,7 +2,7 @@ using Autofac; using Microsoft.Testing.Platform.Services; using Proxytrace.Domain.Prompt; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/SecretRedactionToStringTests.cs b/Proxytrace.Domain.Tests/SecretRedactionToStringTests.cs index 259beb2aa..f93616fb4 100644 --- a/Proxytrace.Domain.Tests/SecretRedactionToStringTests.cs +++ b/Proxytrace.Domain.Tests/SecretRedactionToStringTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.Notifications; using Proxytrace.Domain.User; using Proxytrace.Domain.UserTotpEnrollment; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/SerializationProbeTests.cs b/Proxytrace.Domain.Tests/SerializationProbeTests.cs index ba91bc5a8..9c9c1adc2 100644 --- a/Proxytrace.Domain.Tests/SerializationProbeTests.cs +++ b/Proxytrace.Domain.Tests/SerializationProbeTests.cs @@ -1,5 +1,5 @@ using Autofac; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Message; using Proxytrace.Domain.Tools; diff --git a/Proxytrace.Domain.Tests/TestCaseGetSummaryTests.cs b/Proxytrace.Domain.Tests/TestCaseGetSummaryTests.cs index a2d03a4ae..e24175a07 100644 --- a/Proxytrace.Domain.Tests/TestCaseGetSummaryTests.cs +++ b/Proxytrace.Domain.Tests/TestCaseGetSummaryTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Message; using Proxytrace.Domain.TestCase; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/TestCaseValidationTests.cs b/Proxytrace.Domain.Tests/TestCaseValidationTests.cs index 9eb00f49f..f868d8486 100644 --- a/Proxytrace.Domain.Tests/TestCaseValidationTests.cs +++ b/Proxytrace.Domain.Tests/TestCaseValidationTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Message; using Proxytrace.Domain.TestCase; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/TestResultValidationTests.cs b/Proxytrace.Domain.Tests/TestResultValidationTests.cs index 91acf11d7..76e5a6c1b 100644 --- a/Proxytrace.Domain.Tests/TestResultValidationTests.cs +++ b/Proxytrace.Domain.Tests/TestResultValidationTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Domain.Message; using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestResult; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/TestSuiteValidationTests.cs b/Proxytrace.Domain.Tests/TestSuiteValidationTests.cs index 167e5ad72..da8e973a1 100644 --- a/Proxytrace.Domain.Tests/TestSuiteValidationTests.cs +++ b/Proxytrace.Domain.Tests/TestSuiteValidationTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/UserTests.cs b/Proxytrace.Domain.Tests/UserTests.cs index af901de1e..7feac954f 100644 --- a/Proxytrace.Domain.Tests/UserTests.cs +++ b/Proxytrace.Domain.Tests/UserTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.Notification; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/UserTotpEnrollmentValidationTests.cs b/Proxytrace.Domain.Tests/UserTotpEnrollmentValidationTests.cs index e74a77b5c..9a517946b 100644 --- a/Proxytrace.Domain.Tests/UserTotpEnrollmentValidationTests.cs +++ b/Proxytrace.Domain.Tests/UserTotpEnrollmentValidationTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.User; using Proxytrace.Domain.UserTotpEnrollment; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain.Tests/UserValidationTests.cs b/Proxytrace.Domain.Tests/UserValidationTests.cs index aecc748eb..64b8de096 100644 --- a/Proxytrace.Domain.Tests/UserValidationTests.cs +++ b/Proxytrace.Domain.Tests/UserValidationTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Domain.Tests; diff --git a/Proxytrace.Domain/Agent/Internal/Agent.cs b/Proxytrace.Domain/Agent/Internal/Agent.cs index a82d74627..779783aa7 100644 --- a/Proxytrace.Domain/Agent/Internal/Agent.cs +++ b/Proxytrace.Domain/Agent/Internal/Agent.cs @@ -1,8 +1,8 @@ using System.ComponentModel.DataAnnotations; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; -using Proxytrace.Common.Async; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.Inference; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Agent/Internal/AgentGenerator.cs b/Proxytrace.Domain/Agent/Internal/AgentGenerator.cs index 4814780cc..2442c2993 100644 --- a/Proxytrace.Domain/Agent/Internal/AgentGenerator.cs +++ b/Proxytrace.Domain/Agent/Internal/AgentGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Inference; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Domain/AgentCall/Internal/AgentCallGenerator.cs b/Proxytrace.Domain/AgentCall/Internal/AgentCallGenerator.cs index 3924ad4d7..b1ea99428 100644 --- a/Proxytrace.Domain/AgentCall/Internal/AgentCallGenerator.cs +++ b/Proxytrace.Domain/AgentCall/Internal/AgentCallGenerator.cs @@ -1,5 +1,5 @@ using System.Net; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.Completion; diff --git a/Proxytrace.Domain/AgentVersion/Internal/AgentVersion.cs b/Proxytrace.Domain/AgentVersion/Internal/AgentVersion.cs index fe9e71279..e7ac53baf 100644 --- a/Proxytrace.Domain/AgentVersion/Internal/AgentVersion.cs +++ b/Proxytrace.Domain/AgentVersion/Internal/AgentVersion.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Async; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Prompt; diff --git a/Proxytrace.Domain/AgentVersion/Internal/AgentVersionGenerator.cs b/Proxytrace.Domain/AgentVersion/Internal/AgentVersionGenerator.cs index f8b4314f5..5f440a7f6 100644 --- a/Proxytrace.Domain/AgentVersion/Internal/AgentVersionGenerator.cs +++ b/Proxytrace.Domain/AgentVersion/Internal/AgentVersionGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Prompt; diff --git a/Proxytrace.Domain/ApiKey/Internal/ApiKey.cs b/Proxytrace.Domain/ApiKey/Internal/ApiKey.cs index a29464ea2..c143a6db8 100644 --- a/Proxytrace.Domain/ApiKey/Internal/ApiKey.cs +++ b/Proxytrace.Domain/ApiKey/Internal/ApiKey.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/ApiKey/Internal/ApiKeyGenerator.cs b/Proxytrace.Domain/ApiKey/Internal/ApiKeyGenerator.cs index dc5818f5f..c80d52940 100644 --- a/Proxytrace.Domain/ApiKey/Internal/ApiKeyGenerator.cs +++ b/Proxytrace.Domain/ApiKey/Internal/ApiKeyGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Random; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/ApplicationError/Internal/ApplicationError.cs b/Proxytrace.Domain/ApplicationError/Internal/ApplicationError.cs index 2b3c349a9..ffd6a63f3 100644 --- a/Proxytrace.Domain/ApplicationError/Internal/ApplicationError.cs +++ b/Proxytrace.Domain/ApplicationError/Internal/ApplicationError.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.ApplicationError.Internal; diff --git a/Proxytrace.Domain/ApplicationError/Internal/ApplicationErrorGenerator.cs b/Proxytrace.Domain/ApplicationError/Internal/ApplicationErrorGenerator.cs index 376b548f4..db04ce9d7 100644 --- a/Proxytrace.Domain/ApplicationError/Internal/ApplicationErrorGenerator.cs +++ b/Proxytrace.Domain/ApplicationError/Internal/ApplicationErrorGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.ApplicationError.Internal; diff --git a/Proxytrace.Domain/AuditLog/Internal/AuditLogEntry.cs b/Proxytrace.Domain/AuditLog/Internal/AuditLogEntry.cs index ac1ce9822..d5f956c2f 100644 --- a/Proxytrace.Domain/AuditLog/Internal/AuditLogEntry.cs +++ b/Proxytrace.Domain/AuditLog/Internal/AuditLogEntry.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.AuditLog.Internal; diff --git a/Proxytrace.Domain/AuditLog/Internal/AuditLogEntryGenerator.cs b/Proxytrace.Domain/AuditLog/Internal/AuditLogEntryGenerator.cs index 8a271b147..bca3d26b5 100644 --- a/Proxytrace.Domain/AuditLog/Internal/AuditLogEntryGenerator.cs +++ b/Proxytrace.Domain/AuditLog/Internal/AuditLogEntryGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.AuditLog.Internal; diff --git a/Proxytrace.Domain/Completion/Internal/CompletionGenerator.cs b/Proxytrace.Domain/Completion/Internal/CompletionGenerator.cs index 8867ba509..d0caf34f6 100644 --- a/Proxytrace.Domain/Completion/Internal/CompletionGenerator.cs +++ b/Proxytrace.Domain/Completion/Internal/CompletionGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; diff --git a/Proxytrace.Domain/CostLimit/Internal/CostLimit.cs b/Proxytrace.Domain/CostLimit/Internal/CostLimit.cs index 998c16e52..3abde534a 100644 --- a/Proxytrace.Domain/CostLimit/Internal/CostLimit.cs +++ b/Proxytrace.Domain/CostLimit/Internal/CostLimit.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/CostLimit/Internal/CostLimitGenerator.cs b/Proxytrace.Domain/CostLimit/Internal/CostLimitGenerator.cs index 0b0f727ed..834192eb5 100644 --- a/Proxytrace.Domain/CostLimit/Internal/CostLimitGenerator.cs +++ b/Proxytrace.Domain/CostLimit/Internal/CostLimitGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreach.cs b/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreach.cs index cb2e03ad8..ab06290a9 100644 --- a/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreach.cs +++ b/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreach.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.CostLimit; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreachGenerator.cs b/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreachGenerator.cs index a1af1b67a..41320f3a9 100644 --- a/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreachGenerator.cs +++ b/Proxytrace.Domain/CostLimitBreach/Internal/CostLimitBreachGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.CostLimit; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetector.cs b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetector.cs index 1f475709b..a9323e254 100644 --- a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetector.cs +++ b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetector.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text.RegularExpressions; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetectorGenerator.cs b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetectorGenerator.cs index 7f55e4c07..9bc86ad1a 100644 --- a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetectorGenerator.cs +++ b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyDetectorGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResult.cs b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResult.cs index da4348a0b..7668f469d 100644 --- a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResult.cs +++ b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResult.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.CustomAnomaly.Internal; diff --git a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResultGenerator.cs b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResultGenerator.cs index ebe7ae2a4..c5cf771d2 100644 --- a/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResultGenerator.cs +++ b/Proxytrace.Domain/CustomAnomaly/Internal/CustomAnomalyResultGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Evaluation/Internal/Evaluation.cs b/Proxytrace.Domain/Evaluation/Internal/Evaluation.cs index d88bf3788..f05a3a005 100644 --- a/Proxytrace.Domain/Evaluation/Internal/Evaluation.cs +++ b/Proxytrace.Domain/Evaluation/Internal/Evaluation.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.Usage; diff --git a/Proxytrace.Domain/Evaluation/Internal/EvaluationGenerator.cs b/Proxytrace.Domain/Evaluation/Internal/EvaluationGenerator.cs index 01beaec0d..53de99874 100644 --- a/Proxytrace.Domain/Evaluation/Internal/EvaluationGenerator.cs +++ b/Proxytrace.Domain/Evaluation/Internal/EvaluationGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluator.cs b/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluator.cs index 0350b7aed..974735766 100644 --- a/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluator.cs +++ b/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluator.cs @@ -2,7 +2,7 @@ using System.ComponentModel.DataAnnotations; using System.Diagnostics; using JetBrains.Annotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Evaluation; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluatorGenerator.cs b/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluatorGenerator.cs index 4a2463c7b..de0b5ada3 100644 --- a/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluatorGenerator.cs +++ b/Proxytrace.Domain/Evaluator/Internal/AgenticEvaluatorGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; namespace Proxytrace.Domain.Evaluator.Internal; diff --git a/Proxytrace.Domain/Evaluator/Internal/EvaluatorGenerator.cs b/Proxytrace.Domain/Evaluator/Internal/EvaluatorGenerator.cs index f71630f26..778893242 100644 --- a/Proxytrace.Domain/Evaluator/Internal/EvaluatorGenerator.cs +++ b/Proxytrace.Domain/Evaluator/Internal/EvaluatorGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/Evaluator/Internal/JsonSchemaMatchEvaluator.cs b/Proxytrace.Domain/Evaluator/Internal/JsonSchemaMatchEvaluator.cs index 2b5e2d17c..dcd988e82 100644 --- a/Proxytrace.Domain/Evaluator/Internal/JsonSchemaMatchEvaluator.cs +++ b/Proxytrace.Domain/Evaluator/Internal/JsonSchemaMatchEvaluator.cs @@ -3,7 +3,7 @@ using System.Text.Json; using JetBrains.Annotations; using Json.Schema; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Evaluation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/Evaluator/Internal/NumericMatchEvaluator.cs b/Proxytrace.Domain/Evaluator/Internal/NumericMatchEvaluator.cs index 4fce793b6..8927a5a87 100644 --- a/Proxytrace.Domain/Evaluator/Internal/NumericMatchEvaluator.cs +++ b/Proxytrace.Domain/Evaluator/Internal/NumericMatchEvaluator.cs @@ -3,7 +3,7 @@ using System.Globalization; using System.Text.RegularExpressions; using JetBrains.Annotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Evaluation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/Inference/Internal/ModelParameters.cs b/Proxytrace.Domain/Inference/Internal/ModelParameters.cs index af7dbce04..400d3c6ec 100644 --- a/Proxytrace.Domain/Inference/Internal/ModelParameters.cs +++ b/Proxytrace.Domain/Inference/Internal/ModelParameters.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Inference.Internal; diff --git a/Proxytrace.Domain/Inference/Internal/ModelParametersGenerator.cs b/Proxytrace.Domain/Inference/Internal/ModelParametersGenerator.cs index 43f1f6ff1..254c543cd 100644 --- a/Proxytrace.Domain/Inference/Internal/ModelParametersGenerator.cs +++ b/Proxytrace.Domain/Inference/Internal/ModelParametersGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Inference.Internal; diff --git a/Proxytrace.Domain/Internal/DomainEntity.cs b/Proxytrace.Domain/Internal/DomainEntity.cs index e37ca2e69..631e69626 100644 --- a/Proxytrace.Domain/Internal/DomainEntity.cs +++ b/Proxytrace.Domain/Internal/DomainEntity.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Conversion; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Conversion; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Internal/DomainEntityGenerator.cs b/Proxytrace.Domain/Internal/DomainEntityGenerator.cs index 7e633b062..b4d6c349c 100644 --- a/Proxytrace.Domain/Internal/DomainEntityGenerator.cs +++ b/Proxytrace.Domain/Internal/DomainEntityGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; namespace Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Internal/DomainObjectGenerator.cs b/Proxytrace.Domain/Internal/DomainObjectGenerator.cs index c1bc8c0ae..9f0aea436 100644 --- a/Proxytrace.Domain/Internal/DomainObjectGenerator.cs +++ b/Proxytrace.Domain/Internal/DomainObjectGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; namespace Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Invite/Internal/Invite.cs b/Proxytrace.Domain/Invite/Internal/Invite.cs index 2576fa5b2..ed8bf6d75 100644 --- a/Proxytrace.Domain/Invite/Internal/Invite.cs +++ b/Proxytrace.Domain/Invite/Internal/Invite.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/Invite/Internal/InviteGenerator.cs b/Proxytrace.Domain/Invite/Internal/InviteGenerator.cs index 880033fac..3ef52fd93 100644 --- a/Proxytrace.Domain/Invite/Internal/InviteGenerator.cs +++ b/Proxytrace.Domain/Invite/Internal/InviteGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Random; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/Message/Content.cs b/Proxytrace.Domain/Message/Content.cs index 1e03a838b..9707ba03e 100644 --- a/Proxytrace.Domain/Message/Content.cs +++ b/Proxytrace.Domain/Message/Content.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Message; diff --git a/Proxytrace.Domain/Message/Internal/AssistantMessageGenerator.cs b/Proxytrace.Domain/Message/Internal/AssistantMessageGenerator.cs index 60d7bc49a..62d7c4ccd 100644 --- a/Proxytrace.Domain/Message/Internal/AssistantMessageGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/AssistantMessageGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/ContentGenerator.cs b/Proxytrace.Domain/Message/Internal/ContentGenerator.cs index 7696dab93..61b886011 100644 --- a/Proxytrace.Domain/Message/Internal/ContentGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/ContentGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/ConversationGenerator.cs b/Proxytrace.Domain/Message/Internal/ConversationGenerator.cs index 9fff5830a..e71b6d78d 100644 --- a/Proxytrace.Domain/Message/Internal/ConversationGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/ConversationGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/SystemMessageGenerator.cs b/Proxytrace.Domain/Message/Internal/SystemMessageGenerator.cs index 321403615..47743c0ba 100644 --- a/Proxytrace.Domain/Message/Internal/SystemMessageGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/SystemMessageGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/ToolMessageGenerator.cs b/Proxytrace.Domain/Message/Internal/ToolMessageGenerator.cs index 24650ced9..1b929e52f 100644 --- a/Proxytrace.Domain/Message/Internal/ToolMessageGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/ToolMessageGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/ToolRequestGenerator.cs b/Proxytrace.Domain/Message/Internal/ToolRequestGenerator.cs index 0e631a816..b9f036a6e 100644 --- a/Proxytrace.Domain/Message/Internal/ToolRequestGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/ToolRequestGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/ToolResponseGenerator.cs b/Proxytrace.Domain/Message/Internal/ToolResponseGenerator.cs index 861ba2dde..92270b2b4 100644 --- a/Proxytrace.Domain/Message/Internal/ToolResponseGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/ToolResponseGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/Internal/UserMessageGenerator.cs b/Proxytrace.Domain/Message/Internal/UserMessageGenerator.cs index 5c99ab9fe..655e86e5e 100644 --- a/Proxytrace.Domain/Message/Internal/UserMessageGenerator.cs +++ b/Proxytrace.Domain/Message/Internal/UserMessageGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Message.Internal; diff --git a/Proxytrace.Domain/Message/ToolMessage.cs b/Proxytrace.Domain/Message/ToolMessage.cs index 0368e1709..b60c68015 100644 --- a/Proxytrace.Domain/Message/ToolMessage.cs +++ b/Proxytrace.Domain/Message/ToolMessage.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Message; diff --git a/Proxytrace.Domain/Message/ToolRequest.cs b/Proxytrace.Domain/Message/ToolRequest.cs index f6e95677e..cceb7715c 100644 --- a/Proxytrace.Domain/Message/ToolRequest.cs +++ b/Proxytrace.Domain/Message/ToolRequest.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Message; diff --git a/Proxytrace.Domain/Message/ToolResponse.cs b/Proxytrace.Domain/Message/ToolResponse.cs index f6f6d3f52..365c0467b 100644 --- a/Proxytrace.Domain/Message/ToolResponse.cs +++ b/Proxytrace.Domain/Message/ToolResponse.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Message; diff --git a/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCode.cs b/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCode.cs index eb8b40c5f..0365d916d 100644 --- a/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCode.cs +++ b/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCode.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCodeGenerator.cs b/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCodeGenerator.cs index 76feca12e..8af147b1f 100644 --- a/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCodeGenerator.cs +++ b/Proxytrace.Domain/MfaBackupCode/Internal/MfaBackupCodeGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Random; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/Model/Internal/Model.cs b/Proxytrace.Domain/Model/Internal/Model.cs index a4648352c..cf5d5a083 100644 --- a/Proxytrace.Domain/Model/Internal/Model.cs +++ b/Proxytrace.Domain/Model/Internal/Model.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Model.Internal; diff --git a/Proxytrace.Domain/Model/Internal/ModelGenerator.cs b/Proxytrace.Domain/Model/Internal/ModelGenerator.cs index d3e9ddcf0..6d718f09b 100644 --- a/Proxytrace.Domain/Model/Internal/ModelGenerator.cs +++ b/Proxytrace.Domain/Model/Internal/ModelGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Model.Internal; diff --git a/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpoint.cs b/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpoint.cs index 2b653a79a..c067565af 100644 --- a/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpoint.cs +++ b/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpoint.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Model; using Proxytrace.Domain.ModelProvider; diff --git a/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpointGenerator.cs b/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpointGenerator.cs index 7a5d7363f..b24e3090d 100644 --- a/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpointGenerator.cs +++ b/Proxytrace.Domain/ModelEndpoint/Internal/ModelEndpointGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Model; using Proxytrace.Domain.ModelProvider; diff --git a/Proxytrace.Domain/ModelProvider/Internal/ModelProvider.cs b/Proxytrace.Domain/ModelProvider/Internal/ModelProvider.cs index 01ecf513f..848dc8ca0 100644 --- a/Proxytrace.Domain/ModelProvider/Internal/ModelProvider.cs +++ b/Proxytrace.Domain/ModelProvider/Internal/ModelProvider.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.ModelProvider.Internal; diff --git a/Proxytrace.Domain/ModelProvider/Internal/ModelProviderGenerator.cs b/Proxytrace.Domain/ModelProvider/Internal/ModelProviderGenerator.cs index 2e57579a8..67456f484 100644 --- a/Proxytrace.Domain/ModelProvider/Internal/ModelProviderGenerator.cs +++ b/Proxytrace.Domain/ModelProvider/Internal/ModelProviderGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.ModelProvider.Internal; diff --git a/Proxytrace.Domain/Module.cs b/Proxytrace.Domain/Module.cs index 39b1ffdb3..59c5a15db 100644 --- a/Proxytrace.Domain/Module.cs +++ b/Proxytrace.Domain/Module.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; using Autofac; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.AgentVersion.Internal; @@ -28,7 +28,7 @@ protected override void Load(ContainerBuilder builder) { base.Load(builder); - builder.RegisterModule(); + builder.RegisterModule(); // discover top-level domain entity/object interfaces — those that directly extend // IDomainEntity or IDomainObject, with no intermediate domain interface in between. diff --git a/Proxytrace.Domain/Notification/Internal/Notification.cs b/Proxytrace.Domain/Notification/Internal/Notification.cs index f6644033e..91db66200 100644 --- a/Proxytrace.Domain/Notification/Internal/Notification.cs +++ b/Proxytrace.Domain/Notification/Internal/Notification.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Notification.Internal; diff --git a/Proxytrace.Domain/Notification/Internal/NotificationGenerator.cs b/Proxytrace.Domain/Notification/Internal/NotificationGenerator.cs index c1f8319ca..a3e85f3c0 100644 --- a/Proxytrace.Domain/Notification/Internal/NotificationGenerator.cs +++ b/Proxytrace.Domain/Notification/Internal/NotificationGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Notification.Internal; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposal.cs b/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposal.cs index ae8ca5393..c30c3102e 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposal.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposal.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Proposal; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposalGenerator.cs b/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposalGenerator.cs index 3b0fd2143..d8428082b 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposalGenerator.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/ModelSwitchProposalGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Proposal; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposal.cs b/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposal.cs index 86b7a86e4..d9d5e1ccd 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposal.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposal.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposalGenerator.cs b/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposalGenerator.cs index 320e7decd..9821722e6 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposalGenerator.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/OptimizationProposalGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.OptimizationProposal.Internal; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposal.cs b/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposal.cs index 98390a6b8..c9f9a4984 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposal.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposal.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposalGenerator.cs b/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposalGenerator.cs index c6fe13459..d74124bec 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposalGenerator.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/SystemPromptProposalGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposal.cs b/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposal.cs index 5c664fe7c..2572bf93f 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposal.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposal.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; diff --git a/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposalGenerator.cs b/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposalGenerator.cs index d7fcfda56..a5212f925 100644 --- a/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposalGenerator.cs +++ b/Proxytrace.Domain/OptimizationProposal/Internal/ToolUpdateProposalGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheory.cs b/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheory.cs index 0fcf945cb..e2a76688b 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheory.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheory.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.OptimizationProposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheoryGenerator.cs b/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheoryGenerator.cs index 4cb427f0f..f24d06e54 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheoryGenerator.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/ModelSwitchTheoryGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Proposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheory.cs b/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheory.cs index 90cd5e1b4..cee25459d 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheory.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheory.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Internal; using Proxytrace.Domain.OptimizationProposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheoryGenerator.cs b/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheoryGenerator.cs index fa6b46e7e..305cde4aa 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheoryGenerator.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/OptimizationTheoryGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.OptimizationProposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheory.cs b/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheory.cs index 19ae682ac..f2ef714fe 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheory.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheory.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheoryGenerator.cs b/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheoryGenerator.cs index ffe7ba0ea..bed0bfc7a 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheoryGenerator.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/SystemPromptTheoryGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestSuite; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheory.cs b/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheory.cs index 2dc753944..ff9a1251c 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheory.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheory.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; diff --git a/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheoryGenerator.cs b/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheoryGenerator.cs index 8a4cc7d67..65cdd36b4 100644 --- a/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheoryGenerator.cs +++ b/Proxytrace.Domain/OptimizationTheory/Internal/ToolUpdateTheoryGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestSuite; diff --git a/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetToken.cs b/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetToken.cs index 06651210a..19ae11d3c 100644 --- a/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetToken.cs +++ b/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetToken.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetTokenGenerator.cs b/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetTokenGenerator.cs index f407618fb..bc0eee96e 100644 --- a/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetTokenGenerator.cs +++ b/Proxytrace.Domain/PasswordResetToken/Internal/PasswordResetTokenGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Random; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/Project/Internal/Project.cs b/Proxytrace.Domain/Project/Internal/Project.cs index 12baa14d3..f16191f93 100644 --- a/Proxytrace.Domain/Project/Internal/Project.cs +++ b/Proxytrace.Domain/Project/Internal/Project.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/Project/Internal/ProjectGenerator.cs b/Proxytrace.Domain/Project/Internal/ProjectGenerator.cs index d7d872bae..70b9aea5e 100644 --- a/Proxytrace.Domain/Project/Internal/ProjectGenerator.cs +++ b/Proxytrace.Domain/Project/Internal/ProjectGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettings.cs b/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettings.cs index c09239ea3..f18badf0b 100644 --- a/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettings.cs +++ b/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettings.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; using Proxytrace.Domain.Search; diff --git a/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettingsGenerator.cs b/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettingsGenerator.cs index e3888d9da..40699d65b 100644 --- a/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettingsGenerator.cs +++ b/Proxytrace.Domain/ProjectSearchSettings/Internal/ProjectSearchSettingsGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; using Proxytrace.Domain.Search; diff --git a/Proxytrace.Domain/Prompt/Internal/Prompt.cs b/Proxytrace.Domain/Prompt/Internal/Prompt.cs index 678309e62..507f0324e 100644 --- a/Proxytrace.Domain/Prompt/Internal/Prompt.cs +++ b/Proxytrace.Domain/Prompt/Internal/Prompt.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Diagnostics.Contracts; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain/Prompt/Internal/PromptGenerator.cs b/Proxytrace.Domain/Prompt/Internal/PromptGenerator.cs index 6d725dbe6..68c8cb062 100644 --- a/Proxytrace.Domain/Prompt/Internal/PromptGenerator.cs +++ b/Proxytrace.Domain/Prompt/Internal/PromptGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain/Prompt/Internal/PromptTemplate.cs b/Proxytrace.Domain/Prompt/Internal/PromptTemplate.cs index 68795813e..153e0bd74 100644 --- a/Proxytrace.Domain/Prompt/Internal/PromptTemplate.cs +++ b/Proxytrace.Domain/Prompt/Internal/PromptTemplate.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text.RegularExpressions; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain/Prompt/Internal/PromptTemplateGenerator.cs b/Proxytrace.Domain/Prompt/Internal/PromptTemplateGenerator.cs index 27f593f7e..723b9101f 100644 --- a/Proxytrace.Domain/Prompt/Internal/PromptTemplateGenerator.cs +++ b/Proxytrace.Domain/Prompt/Internal/PromptTemplateGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain/Prompt/Internal/ResourcesPromptRepository.cs b/Proxytrace.Domain/Prompt/Internal/ResourcesPromptRepository.cs index ad6b13822..b2f6e8d7c 100644 --- a/Proxytrace.Domain/Prompt/Internal/ResourcesPromptRepository.cs +++ b/Proxytrace.Domain/Prompt/Internal/ResourcesPromptRepository.cs @@ -1,5 +1,5 @@ using System.Resources; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Prompt.Internal; diff --git a/Proxytrace.Domain/Proposal/OptimizationContentHash.cs b/Proxytrace.Domain/Proposal/OptimizationContentHash.cs index 324c0057c..d76edbd31 100644 --- a/Proxytrace.Domain/Proposal/OptimizationContentHash.cs +++ b/Proxytrace.Domain/Proposal/OptimizationContentHash.cs @@ -1,6 +1,6 @@ using System.Security.Cryptography; using System.Text; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Tools; diff --git a/Proxytrace.Domain/Proxytrace.Domain.csproj b/Proxytrace.Domain/Proxytrace.Domain.csproj index 4a1227530..f71d2525a 100644 --- a/Proxytrace.Domain/Proxytrace.Domain.csproj +++ b/Proxytrace.Domain/Proxytrace.Domain.csproj @@ -19,7 +19,7 @@ - + diff --git a/Proxytrace.Domain/Session/Internal/Session.cs b/Proxytrace.Domain/Session/Internal/Session.cs index 486e4bf50..24b8710e6 100644 --- a/Proxytrace.Domain/Session/Internal/Session.cs +++ b/Proxytrace.Domain/Session/Internal/Session.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Session.Internal; diff --git a/Proxytrace.Domain/Session/Internal/SessionGenerator.cs b/Proxytrace.Domain/Session/Internal/SessionGenerator.cs index b90d9f11d..dc0492bb4 100644 --- a/Proxytrace.Domain/Session/Internal/SessionGenerator.cs +++ b/Proxytrace.Domain/Session/Internal/SessionGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Domain/TestCase/Internal/TestCaseGenerator.cs b/Proxytrace.Domain/TestCase/Internal/TestCaseGenerator.cs index b52e51293..8aca373f6 100644 --- a/Proxytrace.Domain/TestCase/Internal/TestCaseGenerator.cs +++ b/Proxytrace.Domain/TestCase/Internal/TestCaseGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Message; diff --git a/Proxytrace.Domain/TestResult/Internal/TestResultGenerator.cs b/Proxytrace.Domain/TestResult/Internal/TestResultGenerator.cs index 1881c437c..2e2d0041a 100644 --- a/Proxytrace.Domain/TestResult/Internal/TestResultGenerator.cs +++ b/Proxytrace.Domain/TestResult/Internal/TestResultGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Completion; using Proxytrace.Domain.Evaluation; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/TestRun/Internal/TestRun.cs b/Proxytrace.Domain/TestRun/Internal/TestRun.cs index fb76c6905..a1ad72051 100644 --- a/Proxytrace.Domain/TestRun/Internal/TestRun.cs +++ b/Proxytrace.Domain/TestRun/Internal/TestRun.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestResult; diff --git a/Proxytrace.Domain/TestRun/Internal/TestRunGenerator.cs b/Proxytrace.Domain/TestRun/Internal/TestRunGenerator.cs index d4396af8c..236de6d83 100644 --- a/Proxytrace.Domain/TestRun/Internal/TestRunGenerator.cs +++ b/Proxytrace.Domain/TestRun/Internal/TestRunGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestResult; diff --git a/Proxytrace.Domain/TestRunGroup/Internal/TestRunGroupGenerator.cs b/Proxytrace.Domain/TestRunGroup/Internal/TestRunGroupGenerator.cs index ac97560f7..b0c4da55b 100644 --- a/Proxytrace.Domain/TestRunGroup/Internal/TestRunGroupGenerator.cs +++ b/Proxytrace.Domain/TestRunGroup/Internal/TestRunGroupGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.TestSuite; diff --git a/Proxytrace.Domain/TestRunSchedule/Internal/TestRunSchedule.cs b/Proxytrace.Domain/TestRunSchedule/Internal/TestRunSchedule.cs index aabfe9a9f..f0152d1e1 100644 --- a/Proxytrace.Domain/TestRunSchedule/Internal/TestRunSchedule.cs +++ b/Proxytrace.Domain/TestRunSchedule/Internal/TestRunSchedule.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestRunGroup; diff --git a/Proxytrace.Domain/TestRunSchedule/Internal/TestRunScheduleGenerator.cs b/Proxytrace.Domain/TestRunSchedule/Internal/TestRunScheduleGenerator.cs index f99a4e17d..683a7875c 100644 --- a/Proxytrace.Domain/TestRunSchedule/Internal/TestRunScheduleGenerator.cs +++ b/Proxytrace.Domain/TestRunSchedule/Internal/TestRunScheduleGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestSuite; diff --git a/Proxytrace.Domain/TestSuite/Internal/TestSuite.cs b/Proxytrace.Domain/TestSuite/Internal/TestSuite.cs index 24009e81d..efd273b1f 100644 --- a/Proxytrace.Domain/TestSuite/Internal/TestSuite.cs +++ b/Proxytrace.Domain/TestSuite/Internal/TestSuite.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/TestSuite/Internal/TestSuiteGenerator.cs b/Proxytrace.Domain/TestSuite/Internal/TestSuiteGenerator.cs index f6a76f61e..277474237 100644 --- a/Proxytrace.Domain/TestSuite/Internal/TestSuiteGenerator.cs +++ b/Proxytrace.Domain/TestSuite/Internal/TestSuiteGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Evaluator; using Proxytrace.Domain.Internal; diff --git a/Proxytrace.Domain/Tools/Internal/ToolArgumentGenerator.cs b/Proxytrace.Domain/Tools/Internal/ToolArgumentGenerator.cs index cb447f92c..bf4082929 100644 --- a/Proxytrace.Domain/Tools/Internal/ToolArgumentGenerator.cs +++ b/Proxytrace.Domain/Tools/Internal/ToolArgumentGenerator.cs @@ -1,6 +1,6 @@ using System.Text.Json; -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Tools.Internal; diff --git a/Proxytrace.Domain/Tools/Internal/ToolArgumentsGenerator.cs b/Proxytrace.Domain/Tools/Internal/ToolArgumentsGenerator.cs index 053439fdb..15ce86bc1 100644 --- a/Proxytrace.Domain/Tools/Internal/ToolArgumentsGenerator.cs +++ b/Proxytrace.Domain/Tools/Internal/ToolArgumentsGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Tools.Internal; diff --git a/Proxytrace.Domain/Tools/Internal/ToolSpecificationGenerator.cs b/Proxytrace.Domain/Tools/Internal/ToolSpecificationGenerator.cs index 98e80183f..9bdf7b5ad 100644 --- a/Proxytrace.Domain/Tools/Internal/ToolSpecificationGenerator.cs +++ b/Proxytrace.Domain/Tools/Internal/ToolSpecificationGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Tools.Internal; diff --git a/Proxytrace.Domain/Tools/JsonToolArgument.cs b/Proxytrace.Domain/Tools/JsonToolArgument.cs index 309c51450..2f82408cb 100644 --- a/Proxytrace.Domain/Tools/JsonToolArgument.cs +++ b/Proxytrace.Domain/Tools/JsonToolArgument.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text.Json; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Tools; diff --git a/Proxytrace.Domain/Tools/ToolArguments.cs b/Proxytrace.Domain/Tools/ToolArguments.cs index 41be800d6..46128d2d2 100644 --- a/Proxytrace.Domain/Tools/ToolArguments.cs +++ b/Proxytrace.Domain/Tools/ToolArguments.cs @@ -1,7 +1,7 @@ using System.Collections; using System.ComponentModel.DataAnnotations; using System.Text.Json; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Tools { diff --git a/Proxytrace.Domain/Tools/ToolSpecification.cs b/Proxytrace.Domain/Tools/ToolSpecification.cs index d3c14887f..8d41aa267 100644 --- a/Proxytrace.Domain/Tools/ToolSpecification.cs +++ b/Proxytrace.Domain/Tools/ToolSpecification.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Domain.Tools; diff --git a/Proxytrace.Domain/Usage/Internal/TokenUsageGenerator.cs b/Proxytrace.Domain/Usage/Internal/TokenUsageGenerator.cs index ad9b83161..791165b78 100644 --- a/Proxytrace.Domain/Usage/Internal/TokenUsageGenerator.cs +++ b/Proxytrace.Domain/Usage/Internal/TokenUsageGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; namespace Proxytrace.Domain.Usage.Internal; diff --git a/Proxytrace.Domain/User/Internal/User.cs b/Proxytrace.Domain/User/Internal/User.cs index a1e74912c..9ff6d6d04 100644 --- a/Proxytrace.Domain/User/Internal/User.cs +++ b/Proxytrace.Domain/User/Internal/User.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Notification; diff --git a/Proxytrace.Domain/User/Internal/UserGenerator.cs b/Proxytrace.Domain/User/Internal/UserGenerator.cs index 0b328bccc..9ff9a4182 100644 --- a/Proxytrace.Domain/User/Internal/UserGenerator.cs +++ b/Proxytrace.Domain/User/Internal/UserGenerator.cs @@ -1,5 +1,5 @@ -using Proxytrace.Common.Async; -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.Notification; diff --git a/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollment.cs b/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollment.cs index b3323003c..e1e09c89b 100644 --- a/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollment.cs +++ b/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollment.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.Text; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollmentGenerator.cs b/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollmentGenerator.cs index 7249f0b1f..2160551d0 100644 --- a/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollmentGenerator.cs +++ b/Proxytrace.Domain/UserTotpEnrollment/Internal/UserTotpEnrollmentGenerator.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Random; +using Nordstein.Core.Common.Random; using Proxytrace.Domain.Internal; using Proxytrace.Domain.User; diff --git a/Proxytrace.Infrastructure.Tests/BlindIndexTests.cs b/Proxytrace.Infrastructure.Tests/BlindIndexTests.cs index 913619911..89aa455e0 100644 --- a/Proxytrace.Infrastructure.Tests/BlindIndexTests.cs +++ b/Proxytrace.Infrastructure.Tests/BlindIndexTests.cs @@ -1,10 +1,10 @@ using Autofac; using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Security; using Proxytrace.Infrastructure.Security; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Infrastructure.Tests; diff --git a/Proxytrace.Infrastructure.Tests/FrankfurterFxRateProviderTests.cs b/Proxytrace.Infrastructure.Tests/FrankfurterFxRateProviderTests.cs index 1988a4cd0..3fc248aac 100644 --- a/Proxytrace.Infrastructure.Tests/FrankfurterFxRateProviderTests.cs +++ b/Proxytrace.Infrastructure.Tests/FrankfurterFxRateProviderTests.cs @@ -1,7 +1,7 @@ using System.Net; using System.Text; using AwesomeAssertions; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Infrastructure.Internal; namespace Proxytrace.Infrastructure.Tests; diff --git a/Proxytrace.Infrastructure.Tests/KeyRingPersistenceCheckTests.cs b/Proxytrace.Infrastructure.Tests/KeyRingPersistenceCheckTests.cs index 033bf135a..ad1d834fa 100644 --- a/Proxytrace.Infrastructure.Tests/KeyRingPersistenceCheckTests.cs +++ b/Proxytrace.Infrastructure.Tests/KeyRingPersistenceCheckTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging; using NSubstitute; using Proxytrace.Infrastructure.Security; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Infrastructure.Tests; diff --git a/Proxytrace.Infrastructure.Tests/LiteLlmCatalogResolverTests.cs b/Proxytrace.Infrastructure.Tests/LiteLlmCatalogResolverTests.cs index 1ff9b2d7f..f6acf9a20 100644 --- a/Proxytrace.Infrastructure.Tests/LiteLlmCatalogResolverTests.cs +++ b/Proxytrace.Infrastructure.Tests/LiteLlmCatalogResolverTests.cs @@ -2,7 +2,7 @@ using System.Text; using AwesomeAssertions; using NSubstitute; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.ModelProvider; using Proxytrace.Infrastructure.Internal; diff --git a/Proxytrace.Infrastructure.Tests/ModelClientTests.cs b/Proxytrace.Infrastructure.Tests/ModelClientTests.cs index 3163cc9dc..b47179e71 100644 --- a/Proxytrace.Infrastructure.Tests/ModelClientTests.cs +++ b/Proxytrace.Infrastructure.Tests/ModelClientTests.cs @@ -21,7 +21,7 @@ using Proxytrace.Domain.Tools; using Proxytrace.Infrastructure.Internal; using Proxytrace.Serialization; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Infrastructure.Tests; diff --git a/Proxytrace.Infrastructure.Tests/MutableClock.cs b/Proxytrace.Infrastructure.Tests/MutableClock.cs index 44d5a9ee2..c352d877b 100644 --- a/Proxytrace.Infrastructure.Tests/MutableClock.cs +++ b/Proxytrace.Infrastructure.Tests/MutableClock.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; namespace Proxytrace.Infrastructure.Tests; diff --git a/Proxytrace.Infrastructure.Tests/PricingServiceTests.cs b/Proxytrace.Infrastructure.Tests/PricingServiceTests.cs index 0889462b7..2fc74146e 100644 --- a/Proxytrace.Infrastructure.Tests/PricingServiceTests.cs +++ b/Proxytrace.Infrastructure.Tests/PricingServiceTests.cs @@ -2,7 +2,7 @@ using System.Text; using AwesomeAssertions; using NSubstitute; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.ModelProvider; using Proxytrace.Infrastructure.Internal; diff --git a/Proxytrace.Infrastructure.Tests/ProviderClientTests.cs b/Proxytrace.Infrastructure.Tests/ProviderClientTests.cs index 03ba8e0e5..40b8e990a 100644 --- a/Proxytrace.Infrastructure.Tests/ProviderClientTests.cs +++ b/Proxytrace.Infrastructure.Tests/ProviderClientTests.cs @@ -1,6 +1,6 @@ using AwesomeAssertions; using NSubstitute; -using Proxytrace.Testing; +using Nordstein.Core.Testing; using Proxytrace.Domain.Model; using Proxytrace.Domain.ModelProvider; using Proxytrace.Infrastructure.Internal; diff --git a/Proxytrace.Infrastructure.Tests/Proxytrace.Infrastructure.Tests.csproj b/Proxytrace.Infrastructure.Tests/Proxytrace.Infrastructure.Tests.csproj index 2a1736be8..55062e268 100644 --- a/Proxytrace.Infrastructure.Tests/Proxytrace.Infrastructure.Tests.csproj +++ b/Proxytrace.Infrastructure.Tests/Proxytrace.Infrastructure.Tests.csproj @@ -25,7 +25,7 @@ - + diff --git a/Proxytrace.Infrastructure/Internal/FrankfurterFxRateProvider.cs b/Proxytrace.Infrastructure/Internal/FrankfurterFxRateProvider.cs index 50a69ba06..67bcc9221 100644 --- a/Proxytrace.Infrastructure/Internal/FrankfurterFxRateProvider.cs +++ b/Proxytrace.Infrastructure/Internal/FrankfurterFxRateProvider.cs @@ -1,6 +1,6 @@ using System.Text.Json; -using Proxytrace.Common.Async; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.ModelProvider; namespace Proxytrace.Infrastructure.Internal; diff --git a/Proxytrace.Infrastructure/Internal/LiteLlmCatalogResolver.cs b/Proxytrace.Infrastructure/Internal/LiteLlmCatalogResolver.cs index 5dab5a4f3..e85540660 100644 --- a/Proxytrace.Infrastructure/Internal/LiteLlmCatalogResolver.cs +++ b/Proxytrace.Infrastructure/Internal/LiteLlmCatalogResolver.cs @@ -1,7 +1,7 @@ using System.Collections.ObjectModel; using System.Text.Json; -using Proxytrace.Common.Async; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.ModelProvider; namespace Proxytrace.Infrastructure.Internal; diff --git a/Proxytrace.Infrastructure/Security/Internal/HmacSecretIndexer.cs b/Proxytrace.Infrastructure/Security/Internal/HmacSecretIndexer.cs index 9339ec594..5f7bcc5e0 100644 --- a/Proxytrace.Infrastructure/Security/Internal/HmacSecretIndexer.cs +++ b/Proxytrace.Infrastructure/Security/Internal/HmacSecretIndexer.cs @@ -1,7 +1,7 @@ using System.Security.Cryptography; using System.Text; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Security; namespace Proxytrace.Infrastructure.Security.Internal; diff --git a/Proxytrace.Infrastructure/Security/Internal/Sha256SecretHasher.cs b/Proxytrace.Infrastructure/Security/Internal/Sha256SecretHasher.cs index aa80692e2..6a027272f 100644 --- a/Proxytrace.Infrastructure/Security/Internal/Sha256SecretHasher.cs +++ b/Proxytrace.Infrastructure/Security/Internal/Sha256SecretHasher.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Security; namespace Proxytrace.Infrastructure.Security.Internal; diff --git a/Proxytrace.Infrastructure/Security/SecretProtectionModule.cs b/Proxytrace.Infrastructure/Security/SecretProtectionModule.cs index a09508733..d675c9e47 100644 --- a/Proxytrace.Infrastructure/Security/SecretProtectionModule.cs +++ b/Proxytrace.Infrastructure/Security/SecretProtectionModule.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Security; namespace Proxytrace.Infrastructure.Security; diff --git a/Proxytrace.Licensing.Tests/LicenseActivatorTests.cs b/Proxytrace.Licensing.Tests/LicenseActivatorTests.cs index 11dfdfce1..44b43625d 100644 --- a/Proxytrace.Licensing.Tests/LicenseActivatorTests.cs +++ b/Proxytrace.Licensing.Tests/LicenseActivatorTests.cs @@ -4,7 +4,7 @@ using NSubstitute; using Proxytrace.Licensing.Exceptions; using Proxytrace.Licensing.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Licensing.Tests; diff --git a/Proxytrace.Licensing.Tests/LicenseCheckServiceTests.cs b/Proxytrace.Licensing.Tests/LicenseCheckServiceTests.cs index 9cb43da90..44a8ff57c 100644 --- a/Proxytrace.Licensing.Tests/LicenseCheckServiceTests.cs +++ b/Proxytrace.Licensing.Tests/LicenseCheckServiceTests.cs @@ -3,9 +3,9 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using NSubstitute; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Licensing.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Licensing.Tests; diff --git a/Proxytrace.Licensing.Tests/LicenseStartupGateTests.cs b/Proxytrace.Licensing.Tests/LicenseStartupGateTests.cs index 1a1c614d6..a4302630e 100644 --- a/Proxytrace.Licensing.Tests/LicenseStartupGateTests.cs +++ b/Proxytrace.Licensing.Tests/LicenseStartupGateTests.cs @@ -3,9 +3,9 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging.Abstractions; using NSubstitute; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Licensing.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Licensing.Tests; diff --git a/Proxytrace.Licensing.Tests/Module.cs b/Proxytrace.Licensing.Tests/Module.cs index 4deab944c..1e3b80690 100644 --- a/Proxytrace.Licensing.Tests/Module.cs +++ b/Proxytrace.Licensing.Tests/Module.cs @@ -1,6 +1,6 @@ using Autofac; using NSubstitute; -using Proxytrace.Common; +using Nordstein.Core.Common; using Proxytrace.Licensing.Internal; namespace Proxytrace.Licensing.Tests; @@ -18,7 +18,7 @@ protected override void Load(ContainerBuilder builder) { base.Load(builder); - builder.RegisterModule(); + builder.RegisterModule(); builder.RegisterModule(new Proxytrace.Licensing.Module(Factory.Configuration())); // Replace the real LicenseCacheStore with a stub so tests don't touch the filesystem. diff --git a/Proxytrace.Licensing.Tests/MutableClock.cs b/Proxytrace.Licensing.Tests/MutableClock.cs index cda1a1c6e..198c679cf 100644 --- a/Proxytrace.Licensing.Tests/MutableClock.cs +++ b/Proxytrace.Licensing.Tests/MutableClock.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; namespace Proxytrace.Licensing.Tests; diff --git a/Proxytrace.Licensing.Tests/Proxytrace.Licensing.Tests.csproj b/Proxytrace.Licensing.Tests/Proxytrace.Licensing.Tests.csproj index 0b4e12a18..7e6bb9420 100644 --- a/Proxytrace.Licensing.Tests/Proxytrace.Licensing.Tests.csproj +++ b/Proxytrace.Licensing.Tests/Proxytrace.Licensing.Tests.csproj @@ -28,8 +28,8 @@ - - + + diff --git a/Proxytrace.Licensing/Internal/LicenseCheckService.cs b/Proxytrace.Licensing/Internal/LicenseCheckService.cs index 8c35f9af1..fb85ce08f 100644 --- a/Proxytrace.Licensing/Internal/LicenseCheckService.cs +++ b/Proxytrace.Licensing/Internal/LicenseCheckService.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Hosting; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Hosting; +using Nordstein.Core.Common.Time; namespace Proxytrace.Licensing.Internal; diff --git a/Proxytrace.Licensing/Internal/LicenseServerClient.cs b/Proxytrace.Licensing/Internal/LicenseServerClient.cs index f396f08b3..ab9c43df6 100644 --- a/Proxytrace.Licensing/Internal/LicenseServerClient.cs +++ b/Proxytrace.Licensing/Internal/LicenseServerClient.cs @@ -2,7 +2,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; namespace Proxytrace.Licensing.Internal; diff --git a/Proxytrace.Licensing/Internal/LicenseService.cs b/Proxytrace.Licensing/Internal/LicenseService.cs index ba24f2b70..e4a771a67 100644 --- a/Proxytrace.Licensing/Internal/LicenseService.cs +++ b/Proxytrace.Licensing/Internal/LicenseService.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.Logging; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; namespace Proxytrace.Licensing.Internal; diff --git a/Proxytrace.Licensing/Module.cs b/Proxytrace.Licensing/Module.cs index 0084b5580..0fcfda8ec 100644 --- a/Proxytrace.Licensing/Module.cs +++ b/Proxytrace.Licensing/Module.cs @@ -1,7 +1,7 @@ using Autofac; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Licensing.Internal; namespace Proxytrace.Licensing; diff --git a/Proxytrace.Licensing/Proxytrace.Licensing.csproj b/Proxytrace.Licensing/Proxytrace.Licensing.csproj index d168926c5..afc71dae7 100644 --- a/Proxytrace.Licensing/Proxytrace.Licensing.csproj +++ b/Proxytrace.Licensing/Proxytrace.Licensing.csproj @@ -7,7 +7,7 @@ - + diff --git a/Proxytrace.Messaging.Tests/Proxytrace.Messaging.Tests.csproj b/Proxytrace.Messaging.Tests/Proxytrace.Messaging.Tests.csproj index 9a59a86f4..2f1157b87 100644 --- a/Proxytrace.Messaging.Tests/Proxytrace.Messaging.Tests.csproj +++ b/Proxytrace.Messaging.Tests/Proxytrace.Messaging.Tests.csproj @@ -23,7 +23,7 @@ - + diff --git a/Proxytrace.Proxy.Api/Dockerfile b/Proxytrace.Proxy.Api/Dockerfile index 3b10d807d..f040e4d50 100644 --- a/Proxytrace.Proxy.Api/Dockerfile +++ b/Proxytrace.Proxy.Api/Dockerfile @@ -25,9 +25,14 @@ ARG APP_VERSION=0.0.0-dev # production key. The dev/e2e/perf composes pass the test key; official images pass nothing. ARG LICENSE_PUBLIC_KEY= WORKDIR /src +# The Nordstein.Core reference expansion lives in these files, so restore needs them +# before the project files. Nordstein.Core.sln is what selects source mode (see +# Directory.Build.props); without it the image would silently restore package mode. +COPY ["Directory.Build.props", "Directory.Build.targets", "nuget.config", "./"] +COPY ["core/Directory.Build.props", "core/Nordstein.Core.sln", "core/"] +COPY ["core/Nordstein.Core.Common/Nordstein.Core.Common.csproj", "core/Nordstein.Core.Common/"] COPY ["Proxytrace.Proxy.Api/Proxytrace.Proxy.Api.csproj", "Proxytrace.Proxy.Api/"] COPY ["Proxytrace.Proxy/Proxytrace.Proxy.csproj", "Proxytrace.Proxy/"] -COPY ["Proxytrace.Common/Proxytrace.Common.csproj", "Proxytrace.Common/"] COPY ["Proxytrace.Domain/Proxytrace.Domain.csproj", "Proxytrace.Domain/"] COPY ["Proxytrace.Infrastructure/Proxytrace.Infrastructure.csproj", "Proxytrace.Infrastructure/"] COPY ["Proxytrace.Licensing/Proxytrace.Licensing.csproj", "Proxytrace.Licensing/"] diff --git a/Proxytrace.Proxy.Api/Module.cs b/Proxytrace.Proxy.Api/Module.cs index f2e8584c4..46ffec708 100644 --- a/Proxytrace.Proxy.Api/Module.cs +++ b/Proxytrace.Proxy.Api/Module.cs @@ -1,6 +1,6 @@ using Autofac; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Kiosk; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelProvider; diff --git a/Proxytrace.Proxy.Api/Program.cs b/Proxytrace.Proxy.Api/Program.cs index 7f18ac867..f2a3919af 100644 --- a/Proxytrace.Proxy.Api/Program.cs +++ b/Proxytrace.Proxy.Api/Program.cs @@ -2,7 +2,7 @@ using System.Text.Json.Serialization; using Autofac; using Autofac.Extensions.DependencyInjection; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.Hosting; using Proxytrace.Proxy.Controllers; var builder = WebApplication.CreateBuilder(args); diff --git a/Proxytrace.Proxy.Tests/ApiKeyResolverRotationTests.cs b/Proxytrace.Proxy.Tests/ApiKeyResolverRotationTests.cs index 0d1e5f181..e023bfed2 100644 --- a/Proxytrace.Proxy.Tests/ApiKeyResolverRotationTests.cs +++ b/Proxytrace.Proxy.Tests/ApiKeyResolverRotationTests.cs @@ -2,9 +2,9 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using NSubstitute; -using Proxytrace.Common.DependencyInjection; -using Proxytrace.Common.Security; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.DependencyInjection; +using Nordstein.Core.Common.Security; +using Nordstein.Core.Common.Text; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ApiKey; diff --git a/Proxytrace.Proxy.Tests/CachedBudgetBlockProviderTests.cs b/Proxytrace.Proxy.Tests/CachedBudgetBlockProviderTests.cs index c3c0f4132..e8693a433 100644 --- a/Proxytrace.Proxy.Tests/CachedBudgetBlockProviderTests.cs +++ b/Proxytrace.Proxy.Tests/CachedBudgetBlockProviderTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.Logging.Abstractions; using NSubstitute; using NSubstitute.ExceptionExtensions; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.CostLimitBreach; using Proxytrace.Licensing; using Proxytrace.Proxy.Internal; diff --git a/Proxytrace.Proxy.Tests/HttpClientRegistrationTests.cs b/Proxytrace.Proxy.Tests/HttpClientRegistrationTests.cs index 620f62535..afecce213 100644 --- a/Proxytrace.Proxy.Tests/HttpClientRegistrationTests.cs +++ b/Proxytrace.Proxy.Tests/HttpClientRegistrationTests.cs @@ -2,7 +2,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Http; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; namespace Proxytrace.Proxy.Tests; diff --git a/Proxytrace.Proxy.Tests/Proxytrace.Proxy.Tests.csproj b/Proxytrace.Proxy.Tests/Proxytrace.Proxy.Tests.csproj index 2b80dfbcb..906e2be82 100644 --- a/Proxytrace.Proxy.Tests/Proxytrace.Proxy.Tests.csproj +++ b/Proxytrace.Proxy.Tests/Proxytrace.Proxy.Tests.csproj @@ -23,7 +23,7 @@ - + diff --git a/Proxytrace.Proxy.Tests/SecretSeamWiringTests.cs b/Proxytrace.Proxy.Tests/SecretSeamWiringTests.cs index 1fc450cfc..3bef2272a 100644 --- a/Proxytrace.Proxy.Tests/SecretSeamWiringTests.cs +++ b/Proxytrace.Proxy.Tests/SecretSeamWiringTests.cs @@ -3,7 +3,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using NSubstitute; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Infrastructure.Security; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ApiKey; diff --git a/Proxytrace.Proxy/Controllers/OpenAiProxyController.cs b/Proxytrace.Proxy/Controllers/OpenAiProxyController.cs index 0094429c7..fe082a36b 100644 --- a/Proxytrace.Proxy/Controllers/OpenAiProxyController.cs +++ b/Proxytrace.Proxy/Controllers/OpenAiProxyController.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.Kiosk; using Proxytrace.Domain.ModelProvider; diff --git a/Proxytrace.Proxy/Internal/ApiKeyResolver.cs b/Proxytrace.Proxy/Internal/ApiKeyResolver.cs index bdc93a5d4..e86807fc6 100644 --- a/Proxytrace.Proxy/Internal/ApiKeyResolver.cs +++ b/Proxytrace.Proxy/Internal/ApiKeyResolver.cs @@ -1,4 +1,4 @@ -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Proxy/Internal/CachedBudgetBlockProvider.cs b/Proxytrace.Proxy/Internal/CachedBudgetBlockProvider.cs index 151f2f81a..914f7278a 100644 --- a/Proxytrace.Proxy/Internal/CachedBudgetBlockProvider.cs +++ b/Proxytrace.Proxy/Internal/CachedBudgetBlockProvider.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.CostLimit; using Proxytrace.Domain.CostLimitBreach; using Proxytrace.Licensing; diff --git a/Proxytrace.Proxy/Module.cs b/Proxytrace.Proxy/Module.cs index e92963ece..74017cf2d 100644 --- a/Proxytrace.Proxy/Module.cs +++ b/Proxytrace.Proxy/Module.cs @@ -3,8 +3,8 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Proxytrace.Common.DependencyInjection; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.DependencyInjection; +using Nordstein.Core.Common.Time; using Proxytrace.Domain.CostLimitBreach; using Proxytrace.Domain.CustomAnomaly; using Proxytrace.Licensing; diff --git a/Proxytrace.Serialization.Tests/JsonOutputParserTests.cs b/Proxytrace.Serialization.Tests/JsonOutputParserTests.cs index fe13aeb3f..c07bf7b7c 100644 --- a/Proxytrace.Serialization.Tests/JsonOutputParserTests.cs +++ b/Proxytrace.Serialization.Tests/JsonOutputParserTests.cs @@ -4,8 +4,8 @@ using AwesomeAssertions; using JetBrains.Annotations; using Microsoft.Testing.Platform.Services; -using Proxytrace.Common.Validation; -using Proxytrace.Testing; +using Nordstein.Core.Common.Validation; +using Nordstein.Core.Testing; using JsonSerializer = System.Text.Json.JsonSerializer; using Proxytrace.Serialization.Internal; diff --git a/Proxytrace.Serialization.Tests/ObjectToInferredTypesConverterTests.cs b/Proxytrace.Serialization.Tests/ObjectToInferredTypesConverterTests.cs index c49dfc892..1e167366a 100644 --- a/Proxytrace.Serialization.Tests/ObjectToInferredTypesConverterTests.cs +++ b/Proxytrace.Serialization.Tests/ObjectToInferredTypesConverterTests.cs @@ -2,7 +2,7 @@ using JsonSerializer = System.Text.Json.JsonSerializer; using AwesomeAssertions; using Proxytrace.Serialization.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Serialization.Tests; diff --git a/Proxytrace.Serialization.Tests/Proxytrace.Serialization.Tests.csproj b/Proxytrace.Serialization.Tests/Proxytrace.Serialization.Tests.csproj index 1b5514b99..0abb69081 100644 --- a/Proxytrace.Serialization.Tests/Proxytrace.Serialization.Tests.csproj +++ b/Proxytrace.Serialization.Tests/Proxytrace.Serialization.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/Proxytrace.Serialization.Tests/StringOutputFormatTests.cs b/Proxytrace.Serialization.Tests/StringOutputFormatTests.cs index 712b2e52a..b93e98b50 100644 --- a/Proxytrace.Serialization.Tests/StringOutputFormatTests.cs +++ b/Proxytrace.Serialization.Tests/StringOutputFormatTests.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using AwesomeAssertions; using Proxytrace.Serialization.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Serialization.Tests; diff --git a/Proxytrace.Serialization/Internal/JsonOutputFormat.cs b/Proxytrace.Serialization/Internal/JsonOutputFormat.cs index 27155b615..b29df5741 100644 --- a/Proxytrace.Serialization/Internal/JsonOutputFormat.cs +++ b/Proxytrace.Serialization/Internal/JsonOutputFormat.cs @@ -5,7 +5,7 @@ using System.Text.Json.Schema; using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Serialization.Internal; diff --git a/Proxytrace.Serialization/Internal/JsonSerializer.cs b/Proxytrace.Serialization/Internal/JsonSerializer.cs index 7edd9fd53..c94b88423 100644 --- a/Proxytrace.Serialization/Internal/JsonSerializer.cs +++ b/Proxytrace.Serialization/Internal/JsonSerializer.cs @@ -4,7 +4,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Text.Json.Serialization.Metadata; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; namespace Proxytrace.Serialization.Internal; diff --git a/Proxytrace.Serialization/Proxytrace.Serialization.csproj b/Proxytrace.Serialization/Proxytrace.Serialization.csproj index 0734c9e0b..5e6e6c70c 100644 --- a/Proxytrace.Serialization/Proxytrace.Serialization.csproj +++ b/Proxytrace.Serialization/Proxytrace.Serialization.csproj @@ -19,6 +19,6 @@ - + diff --git a/Proxytrace.Storage.Tests/AgentArchiveTests.cs b/Proxytrace.Storage.Tests/AgentArchiveTests.cs index aec2c69fa..605f5cca2 100644 --- a/Proxytrace.Storage.Tests/AgentArchiveTests.cs +++ b/Proxytrace.Storage.Tests/AgentArchiveTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.Agent; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallHistogramQueryTests.cs b/Proxytrace.Storage.Tests/AgentCallHistogramQueryTests.cs index f441c5332..97587af7c 100644 --- a/Proxytrace.Storage.Tests/AgentCallHistogramQueryTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallHistogramQueryTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallListQueryTests.cs b/Proxytrace.Storage.Tests/AgentCallListQueryTests.cs index e05658631..bf024eb54 100644 --- a/Proxytrace.Storage.Tests/AgentCallListQueryTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallListQueryTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Message; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallOutlierFlagTests.cs b/Proxytrace.Storage.Tests/AgentCallOutlierFlagTests.cs index e2cd7eb21..29ba11382 100644 --- a/Proxytrace.Storage.Tests/AgentCallOutlierFlagTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallOutlierFlagTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallPreviewBackfillTests.cs b/Proxytrace.Storage.Tests/AgentCallPreviewBackfillTests.cs index bba566d08..c5c52e1d6 100644 --- a/Proxytrace.Storage.Tests/AgentCallPreviewBackfillTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallPreviewBackfillTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Message; using Proxytrace.Storage.Internal; using Proxytrace.Storage.Internal.Entities.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallStatsQueriesTests.cs b/Proxytrace.Storage.Tests/AgentCallStatsQueriesTests.cs index f46aa6433..56f9f9771 100644 --- a/Proxytrace.Storage.Tests/AgentCallStatsQueriesTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallStatsQueriesTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallSummaryQueryTests.cs b/Proxytrace.Storage.Tests/AgentCallSummaryQueryTests.cs index a78f9348c..df81c984a 100644 --- a/Proxytrace.Storage.Tests/AgentCallSummaryQueryTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallSummaryQueryTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallToolBackfillTests.cs b/Proxytrace.Storage.Tests/AgentCallToolBackfillTests.cs index 3ece1e1f4..6bcd6c22e 100644 --- a/Proxytrace.Storage.Tests/AgentCallToolBackfillTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallToolBackfillTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.Usage; using Proxytrace.Storage.Internal; using Proxytrace.Storage.Internal.Entities.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentCallToolTests.cs b/Proxytrace.Storage.Tests/AgentCallToolTests.cs index 85696b2d9..902d37865 100644 --- a/Proxytrace.Storage.Tests/AgentCallToolTests.cs +++ b/Proxytrace.Storage.Tests/AgentCallToolTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Usage; using Proxytrace.Storage.Internal.Entities.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentFingerprintTests.cs b/Proxytrace.Storage.Tests/AgentFingerprintTests.cs index a159460ef..986853ccd 100644 --- a/Proxytrace.Storage.Tests/AgentFingerprintTests.cs +++ b/Proxytrace.Storage.Tests/AgentFingerprintTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Tools; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AgentLastCallTimeQueryTests.cs b/Proxytrace.Storage.Tests/AgentLastCallTimeQueryTests.cs index 5023131a9..b4569776d 100644 --- a/Proxytrace.Storage.Tests/AgentLastCallTimeQueryTests.cs +++ b/Proxytrace.Storage.Tests/AgentLastCallTimeQueryTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.AgentCall; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AmbientDbContextTests.cs b/Proxytrace.Storage.Tests/AmbientDbContextTests.cs index 4179ed12e..831f50bb1 100644 --- a/Proxytrace.Storage.Tests/AmbientDbContextTests.cs +++ b/Proxytrace.Storage.Tests/AmbientDbContextTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using NSubstitute; using Proxytrace.Storage.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AnomalyStatsQueriesTests.cs b/Proxytrace.Storage.Tests/AnomalyStatsQueriesTests.cs index e8a2c535f..1cf9e93eb 100644 --- a/Proxytrace.Storage.Tests/AnomalyStatsQueriesTests.cs +++ b/Proxytrace.Storage.Tests/AnomalyStatsQueriesTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Completion; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ApiKeySecretTests.cs b/Proxytrace.Storage.Tests/ApiKeySecretTests.cs index b47bb842a..f0d3361d1 100644 --- a/Proxytrace.Storage.Tests/ApiKeySecretTests.cs +++ b/Proxytrace.Storage.Tests/ApiKeySecretTests.cs @@ -1,12 +1,12 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ApplicationErrorRepositoryTests.cs b/Proxytrace.Storage.Tests/ApplicationErrorRepositoryTests.cs index 5b12ac982..d75624dce 100644 --- a/Proxytrace.Storage.Tests/ApplicationErrorRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/ApplicationErrorRepositoryTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.ApplicationError; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/AuditLogRepositoryTests.cs b/Proxytrace.Storage.Tests/AuditLogRepositoryTests.cs index b757a7317..79c9de1b2 100644 --- a/Proxytrace.Storage.Tests/AuditLogRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/AuditLogRepositoryTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.AuditLog; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/CachedRepositoryTests.cs b/Proxytrace.Storage.Tests/CachedRepositoryTests.cs index 8d536e863..269c21759 100644 --- a/Proxytrace.Storage.Tests/CachedRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/CachedRepositoryTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.User; using Proxytrace.Storage.Internal; using Proxytrace.Storage.Internal.Entities.Model; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/CascadeDeleteBehaviorModelTests.cs b/Proxytrace.Storage.Tests/CascadeDeleteBehaviorModelTests.cs index aa9b06371..cecb9e75e 100644 --- a/Proxytrace.Storage.Tests/CascadeDeleteBehaviorModelTests.cs +++ b/Proxytrace.Storage.Tests/CascadeDeleteBehaviorModelTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Storage.Internal.Entities.ModelEndpoint; using Proxytrace.Storage.Internal.Entities.ModelProvider; using Proxytrace.Storage.Internal.Entities.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ConcurrencyTokenModelTests.cs b/Proxytrace.Storage.Tests/ConcurrencyTokenModelTests.cs index 1407089e1..5aea3e8a7 100644 --- a/Proxytrace.Storage.Tests/ConcurrencyTokenModelTests.cs +++ b/Proxytrace.Storage.Tests/ConcurrencyTokenModelTests.cs @@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Storage.Internal.Entities; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/CustomAnomalyDetectorRepositoryTests.cs b/Proxytrace.Storage.Tests/CustomAnomalyDetectorRepositoryTests.cs index 64920107a..afdb64264 100644 --- a/Proxytrace.Storage.Tests/CustomAnomalyDetectorRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/CustomAnomalyDetectorRepositoryTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.CustomAnomaly; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/CustomAnomalyResultRepositoryTests.cs b/Proxytrace.Storage.Tests/CustomAnomalyResultRepositoryTests.cs index 0a1cbccca..956957dc3 100644 --- a/Proxytrace.Storage.Tests/CustomAnomalyResultRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/CustomAnomalyResultRepositoryTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.CustomAnomaly; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/DatabaseInitializationServiceTests.cs b/Proxytrace.Storage.Tests/DatabaseInitializationServiceTests.cs index 59122351e..a8b1d7da9 100644 --- a/Proxytrace.Storage.Tests/DatabaseInitializationServiceTests.cs +++ b/Proxytrace.Storage.Tests/DatabaseInitializationServiceTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.User; using Proxytrace.Storage.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/EmailSettingsStoreTests.cs b/Proxytrace.Storage.Tests/EmailSettingsStoreTests.cs index 080ec913e..24cbf9d9a 100644 --- a/Proxytrace.Storage.Tests/EmailSettingsStoreTests.cs +++ b/Proxytrace.Storage.Tests/EmailSettingsStoreTests.cs @@ -7,9 +7,9 @@ using NSubstitute; using Proxytrace.Domain.Notifications; using Proxytrace.Domain.Security; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Notification; -using Proxytrace.Testing; +using Nordstein.Core.Testing; using EmailSettingsEntity = Proxytrace.Storage.Internal.Entities.EmailSettings.EmailSettingsEntity; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/EvaluationStatBackfillTests.cs b/Proxytrace.Storage.Tests/EvaluationStatBackfillTests.cs index 752f7edf6..3a864953c 100644 --- a/Proxytrace.Storage.Tests/EvaluationStatBackfillTests.cs +++ b/Proxytrace.Storage.Tests/EvaluationStatBackfillTests.cs @@ -13,7 +13,7 @@ using Proxytrace.Domain.Usage; using Proxytrace.Storage.Internal; using Proxytrace.Storage.Internal.Entities.TestResult; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/EvaluatorRepositoryTests.cs b/Proxytrace.Storage.Tests/EvaluatorRepositoryTests.cs index acd3e5cf6..162ae9765 100644 --- a/Proxytrace.Storage.Tests/EvaluatorRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/EvaluatorRepositoryTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/EvaluatorStatsQueriesTests.cs b/Proxytrace.Storage.Tests/EvaluatorStatsQueriesTests.cs index 6748d505e..128a74b31 100644 --- a/Proxytrace.Storage.Tests/EvaluatorStatsQueriesTests.cs +++ b/Proxytrace.Storage.Tests/EvaluatorStatsQueriesTests.cs @@ -12,7 +12,7 @@ using Proxytrace.Domain.Usage; using Proxytrace.Storage.Internal.Entities.Evaluator; using Proxytrace.Storage.Internal.Entities.TestResult; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/GetManyAsyncTests.cs b/Proxytrace.Storage.Tests/GetManyAsyncTests.cs index b83a69bac..8b9e18d22 100644 --- a/Proxytrace.Storage.Tests/GetManyAsyncTests.cs +++ b/Proxytrace.Storage.Tests/GetManyAsyncTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.Exceptions; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/MigrationDriftTests.cs b/Proxytrace.Storage.Tests/MigrationDriftTests.cs index 8920ce386..363ebd028 100644 --- a/Proxytrace.Storage.Tests/MigrationDriftTests.cs +++ b/Proxytrace.Storage.Tests/MigrationDriftTests.cs @@ -1,7 +1,7 @@ using Autofac; using AwesomeAssertions; using Microsoft.EntityFrameworkCore; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ModelEndpointArchiveTests.cs b/Proxytrace.Storage.Tests/ModelEndpointArchiveTests.cs index 5f1791d50..8b9bc0add 100644 --- a/Proxytrace.Storage.Tests/ModelEndpointArchiveTests.cs +++ b/Proxytrace.Storage.Tests/ModelEndpointArchiveTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.ModelEndpoint; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ModelProviderArchiveTests.cs b/Proxytrace.Storage.Tests/ModelProviderArchiveTests.cs index 81c153a74..f5b37d6c6 100644 --- a/Proxytrace.Storage.Tests/ModelProviderArchiveTests.cs +++ b/Proxytrace.Storage.Tests/ModelProviderArchiveTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ModelProviderSecretTests.cs b/Proxytrace.Storage.Tests/ModelProviderSecretTests.cs index 3dd1ccde6..f9ea269eb 100644 --- a/Proxytrace.Storage.Tests/ModelProviderSecretTests.cs +++ b/Proxytrace.Storage.Tests/ModelProviderSecretTests.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; using ModelProviderEntity = Proxytrace.Storage.Internal.Entities.ModelProvider.ModelProviderEntity; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/Module.cs b/Proxytrace.Storage.Tests/Module.cs index e48ab5737..f41db98f2 100644 --- a/Proxytrace.Storage.Tests/Module.cs +++ b/Proxytrace.Storage.Tests/Module.cs @@ -1,7 +1,7 @@ using Autofac; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/NotificationRepositoryTests.cs b/Proxytrace.Storage.Tests/NotificationRepositoryTests.cs index 4a1aea8b8..921a0d49d 100644 --- a/Proxytrace.Storage.Tests/NotificationRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/NotificationRepositoryTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Notification; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OptimisticConcurrencyTests.cs b/Proxytrace.Storage.Tests/OptimisticConcurrencyTests.cs index 62f144ea0..a34c72222 100644 --- a/Proxytrace.Storage.Tests/OptimisticConcurrencyTests.cs +++ b/Proxytrace.Storage.Tests/OptimisticConcurrencyTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Domain.Exceptions; using Proxytrace.Domain.Notification; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; // ReSharper disable UnusedMember.Local diff --git a/Proxytrace.Storage.Tests/OptimizationProposalAdoptionRoundTripTests.cs b/Proxytrace.Storage.Tests/OptimizationProposalAdoptionRoundTripTests.cs index 2ce6e095b..91ec1d679 100644 --- a/Proxytrace.Storage.Tests/OptimizationProposalAdoptionRoundTripTests.cs +++ b/Proxytrace.Storage.Tests/OptimizationProposalAdoptionRoundTripTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OptimizationProposalPassRateRoundTripTests.cs b/Proxytrace.Storage.Tests/OptimizationProposalPassRateRoundTripTests.cs index c03ad5537..f9015311c 100644 --- a/Proxytrace.Storage.Tests/OptimizationProposalPassRateRoundTripTests.cs +++ b/Proxytrace.Storage.Tests/OptimizationProposalPassRateRoundTripTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.OptimizationProposal; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OptimizationProposalRepositoryScopeTests.cs b/Proxytrace.Storage.Tests/OptimizationProposalRepositoryScopeTests.cs index 2d03ebc29..bf0c130b5 100644 --- a/Proxytrace.Storage.Tests/OptimizationProposalRepositoryScopeTests.cs +++ b/Proxytrace.Storage.Tests/OptimizationProposalRepositoryScopeTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestRun; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OptimizationTheoryRepositoryTests.cs b/Proxytrace.Storage.Tests/OptimizationTheoryRepositoryTests.cs index c776d4107..53a783397 100644 --- a/Proxytrace.Storage.Tests/OptimizationTheoryRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/OptimizationTheoryRepositoryTests.cs @@ -6,7 +6,7 @@ using Proxytrace.Domain.OptimizationTheory; using Proxytrace.Domain.Proposal; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OutlierBaselineQueriesTests.cs b/Proxytrace.Storage.Tests/OutlierBaselineQueriesTests.cs index 4c34dd558..7c89c486a 100644 --- a/Proxytrace.Storage.Tests/OutlierBaselineQueriesTests.cs +++ b/Proxytrace.Storage.Tests/OutlierBaselineQueriesTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Completion; using Proxytrace.Domain.Message; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/OutlierSettingsStoreTests.cs b/Proxytrace.Storage.Tests/OutlierSettingsStoreTests.cs index da49d9362..e55bf1c2e 100644 --- a/Proxytrace.Storage.Tests/OutlierSettingsStoreTests.cs +++ b/Proxytrace.Storage.Tests/OutlierSettingsStoreTests.cs @@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Outliers; -using Proxytrace.Testing; +using Nordstein.Core.Testing; using OutlierSettingsEntity = Proxytrace.Storage.Internal.Entities.OutlierSettings.OutlierSettingsEntity; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ProjectRepositoryTests.cs b/Proxytrace.Storage.Tests/ProjectRepositoryTests.cs index 0952eb59b..dcc8aa50a 100644 --- a/Proxytrace.Storage.Tests/ProjectRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/ProjectRepositoryTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/ProjectScopedRepositoryTests.cs b/Proxytrace.Storage.Tests/ProjectScopedRepositoryTests.cs index 0d8e4dc08..61e0f680c 100644 --- a/Proxytrace.Storage.Tests/ProjectScopedRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/ProjectScopedRepositoryTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Domain.TestCase; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/Proxytrace.Storage.Tests.csproj b/Proxytrace.Storage.Tests/Proxytrace.Storage.Tests.csproj index c260a4e3b..ff651d2a5 100644 --- a/Proxytrace.Storage.Tests/Proxytrace.Storage.Tests.csproj +++ b/Proxytrace.Storage.Tests/Proxytrace.Storage.Tests.csproj @@ -30,7 +30,7 @@ - + diff --git a/Proxytrace.Storage.Tests/SecretsBackfillServiceTests.cs b/Proxytrace.Storage.Tests/SecretsBackfillServiceTests.cs index b882e2f4f..b04be75ce 100644 --- a/Proxytrace.Storage.Tests/SecretsBackfillServiceTests.cs +++ b/Proxytrace.Storage.Tests/SecretsBackfillServiceTests.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using NSubstitute; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.Security; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; @@ -11,7 +11,7 @@ using Proxytrace.Domain.Project; using Proxytrace.Domain.User; using Proxytrace.Storage.Internal; -using Proxytrace.Testing; +using Nordstein.Core.Testing; using ApiKeyEntity = Proxytrace.Storage.Internal.Entities.ApiKey.ApiKeyEntity; using InviteEntity = Proxytrace.Storage.Internal.Entities.Invite.InviteEntity; using ModelProviderEntity = Proxytrace.Storage.Internal.Entities.ModelProvider.ModelProviderEntity; diff --git a/Proxytrace.Storage.Tests/SessionRepositoryTests.cs b/Proxytrace.Storage.Tests/SessionRepositoryTests.cs index b0a623730..b318c3b75 100644 --- a/Proxytrace.Storage.Tests/SessionRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/SessionRepositoryTests.cs @@ -3,7 +3,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.Project; using Proxytrace.Domain.Session; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/SessionTraceRemovalQueryTests.cs b/Proxytrace.Storage.Tests/SessionTraceRemovalQueryTests.cs index 66a17abda..9632577a4 100644 --- a/Proxytrace.Storage.Tests/SessionTraceRemovalQueryTests.cs +++ b/Proxytrace.Storage.Tests/SessionTraceRemovalQueryTests.cs @@ -8,7 +8,7 @@ using Proxytrace.Domain.Message; using Proxytrace.Domain.Session; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/StatisticsFilterParityTests.cs b/Proxytrace.Storage.Tests/StatisticsFilterParityTests.cs index 95d62d6a0..f4869073b 100644 --- a/Proxytrace.Storage.Tests/StatisticsFilterParityTests.cs +++ b/Proxytrace.Storage.Tests/StatisticsFilterParityTests.cs @@ -1,7 +1,7 @@ using System.Reflection; using AwesomeAssertions; using Proxytrace.Domain.Statistics; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/StatisticsFilterWhereTests.cs b/Proxytrace.Storage.Tests/StatisticsFilterWhereTests.cs index 065b46747..bf4df2fd6 100644 --- a/Proxytrace.Storage.Tests/StatisticsFilterWhereTests.cs +++ b/Proxytrace.Storage.Tests/StatisticsFilterWhereTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain.Statistics; using Proxytrace.Storage.Internal.Statistics; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/StatsQueryTranslationTests.cs b/Proxytrace.Storage.Tests/StatsQueryTranslationTests.cs index 3b1f6840e..e5bfcc310 100644 --- a/Proxytrace.Storage.Tests/StatsQueryTranslationTests.cs +++ b/Proxytrace.Storage.Tests/StatsQueryTranslationTests.cs @@ -11,7 +11,7 @@ using Proxytrace.Storage.Internal.Entities.AgentVersion; using Proxytrace.Storage.Internal.Entities.Session; using Proxytrace.Storage.Internal.Entities.Statistics; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/StorageDbContextFactoryTests.cs b/Proxytrace.Storage.Tests/StorageDbContextFactoryTests.cs index ffdb3fbf3..e3aa46a76 100644 --- a/Proxytrace.Storage.Tests/StorageDbContextFactoryTests.cs +++ b/Proxytrace.Storage.Tests/StorageDbContextFactoryTests.cs @@ -1,5 +1,5 @@ using AwesomeAssertions; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestCaseRepositoryTests.cs b/Proxytrace.Storage.Tests/TestCaseRepositoryTests.cs index 5c8e8f7a9..cce1cada8 100644 --- a/Proxytrace.Storage.Tests/TestCaseRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/TestCaseRepositoryTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.AgentCall; using Proxytrace.Domain.Message; using Proxytrace.Domain.TestCase; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestDomainEntities.cs b/Proxytrace.Storage.Tests/TestDomainEntities.cs index 29b680da6..944b3bc4c 100644 --- a/Proxytrace.Storage.Tests/TestDomainEntities.cs +++ b/Proxytrace.Storage.Tests/TestDomainEntities.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using NSubstitute; using Proxytrace.Storage.Internal.Entities; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestResultRepositoryTests.cs b/Proxytrace.Storage.Tests/TestResultRepositoryTests.cs index b37694f48..87c11e688 100644 --- a/Proxytrace.Storage.Tests/TestResultRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/TestResultRepositoryTests.cs @@ -9,7 +9,7 @@ using Proxytrace.Domain.TestResult; using Proxytrace.Storage.Internal; using Proxytrace.Storage.Internal.Entities.TestResult; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestRunGroupRepositoryTests.cs b/Proxytrace.Storage.Tests/TestRunGroupRepositoryTests.cs index 2be37a164..c9c8d4223 100644 --- a/Proxytrace.Storage.Tests/TestRunGroupRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/TestRunGroupRepositoryTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestRunSchedule; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestRunRepositoryTests.cs b/Proxytrace.Storage.Tests/TestRunRepositoryTests.cs index 3c2e0b450..ea9ad1645 100644 --- a/Proxytrace.Storage.Tests/TestRunRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/TestRunRepositoryTests.cs @@ -10,7 +10,7 @@ using Proxytrace.Domain.TestRun; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestRunScheduleRepositoryTests.cs b/Proxytrace.Storage.Tests/TestRunScheduleRepositoryTests.cs index 072c34573..6c32a8986 100644 --- a/Proxytrace.Storage.Tests/TestRunScheduleRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/TestRunScheduleRepositoryTests.cs @@ -4,7 +4,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestRunSchedule; using Proxytrace.Domain.TestSuite; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TestRunStatsStoreTests.cs b/Proxytrace.Storage.Tests/TestRunStatsStoreTests.cs index 14fdcc6c2..2995e65da 100644 --- a/Proxytrace.Storage.Tests/TestRunStatsStoreTests.cs +++ b/Proxytrace.Storage.Tests/TestRunStatsStoreTests.cs @@ -5,7 +5,7 @@ using Proxytrace.Domain; using Proxytrace.Domain.TestRun; using Proxytrace.Domain.Usage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/TransactionTests.cs b/Proxytrace.Storage.Tests/TransactionTests.cs index 2f3628132..bf8c32e45 100644 --- a/Proxytrace.Storage.Tests/TransactionTests.cs +++ b/Proxytrace.Storage.Tests/TransactionTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage.Tests/UserRepositoryTests.cs b/Proxytrace.Storage.Tests/UserRepositoryTests.cs index 8c97859fa..d31cf35cc 100644 --- a/Proxytrace.Storage.Tests/UserRepositoryTests.cs +++ b/Proxytrace.Storage.Tests/UserRepositoryTests.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.User; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Storage.Tests; diff --git a/Proxytrace.Storage/Internal/Entities/Agent/AgentConfig.cs b/Proxytrace.Storage/Internal/Entities/Agent/AgentConfig.cs index daa8cdb9a..4b5130c01 100644 --- a/Proxytrace.Storage/Internal/Entities/Agent/AgentConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Agent/AgentConfig.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentVersion; diff --git a/Proxytrace.Storage/Internal/Entities/Agent/AgentRepository.cs b/Proxytrace.Storage/Internal/Entities/Agent/AgentRepository.cs index 80dbcbc68..5a2c1dad9 100644 --- a/Proxytrace.Storage/Internal/Entities/Agent/AgentRepository.cs +++ b/Proxytrace.Storage/Internal/Entities/Agent/AgentRepository.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations; using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentVersion; diff --git a/Proxytrace.Storage/Internal/Entities/AgentCall/AgentCallConfig.cs b/Proxytrace.Storage/Internal/Entities/AgentCall/AgentCallConfig.cs index fbfdf87c2..0e6da58c4 100644 --- a/Proxytrace.Storage/Internal/Entities/AgentCall/AgentCallConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/AgentCall/AgentCallConfig.cs @@ -1,8 +1,8 @@ using System.Net; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.AgentCall; diff --git a/Proxytrace.Storage/Internal/Entities/AgentVersion/AgentVersionConfig.cs b/Proxytrace.Storage/Internal/Entities/AgentVersion/AgentVersionConfig.cs index 006b0af3a..d966a2ca8 100644 --- a/Proxytrace.Storage/Internal/Entities/AgentVersion/AgentVersionConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/AgentVersion/AgentVersionConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.AgentVersion; using Proxytrace.Domain.Prompt; using Proxytrace.Domain.Tools; diff --git a/Proxytrace.Storage/Internal/Entities/ApiKey/ApiKeyConfig.cs b/Proxytrace.Storage/Internal/Entities/ApiKey/ApiKeyConfig.cs index 37007b62a..c17fa9a32 100644 --- a/Proxytrace.Storage/Internal/Entities/ApiKey/ApiKeyConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/ApiKey/ApiKeyConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.ModelProvider; diff --git a/Proxytrace.Storage/Internal/Entities/ApplicationError/ApplicationErrorConfig.cs b/Proxytrace.Storage/Internal/Entities/ApplicationError/ApplicationErrorConfig.cs index ffd87a971..277bb4fa6 100644 --- a/Proxytrace.Storage/Internal/Entities/ApplicationError/ApplicationErrorConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/ApplicationError/ApplicationErrorConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.ApplicationError; namespace Proxytrace.Storage.Internal.Entities.ApplicationError; diff --git a/Proxytrace.Storage/Internal/Entities/AuditLog/AuditLogEntryConfig.cs b/Proxytrace.Storage/Internal/Entities/AuditLog/AuditLogEntryConfig.cs index a76161d55..7c3808aaa 100644 --- a/Proxytrace.Storage/Internal/Entities/AuditLog/AuditLogEntryConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/AuditLog/AuditLogEntryConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.AuditLog; namespace Proxytrace.Storage.Internal.Entities.AuditLog; diff --git a/Proxytrace.Storage/Internal/Entities/CostLimit/CostLimitConfig.cs b/Proxytrace.Storage/Internal/Entities/CostLimit/CostLimitConfig.cs index e023d96d0..c10576910 100644 --- a/Proxytrace.Storage/Internal/Entities/CostLimit/CostLimitConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/CostLimit/CostLimitConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ApiKey; diff --git a/Proxytrace.Storage/Internal/Entities/CostLimitBreach/CostLimitBreachConfig.cs b/Proxytrace.Storage/Internal/Entities/CostLimitBreach/CostLimitBreachConfig.cs index c85c7dcdf..f9d131450 100644 --- a/Proxytrace.Storage/Internal/Entities/CostLimitBreach/CostLimitBreachConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/CostLimitBreach/CostLimitBreachConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.CostLimit; using Proxytrace.Domain.CostLimitBreach; diff --git a/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorConfig.cs b/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorConfig.cs index 533e5586d..9fd739bca 100644 --- a/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorConfig.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.CustomAnomaly; diff --git a/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorRepository.cs b/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorRepository.cs index 01ce8a771..e7294b68e 100644 --- a/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorRepository.cs +++ b/Proxytrace.Storage/Internal/Entities/CustomAnomalyDetector/CustomAnomalyDetectorRepository.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.CustomAnomaly; using Proxytrace.Domain.Events; diff --git a/Proxytrace.Storage/Internal/Entities/CustomAnomalyResult/CustomAnomalyResultConfig.cs b/Proxytrace.Storage/Internal/Entities/CustomAnomalyResult/CustomAnomalyResultConfig.cs index 1796be75a..e2b159111 100644 --- a/Proxytrace.Storage/Internal/Entities/CustomAnomalyResult/CustomAnomalyResultConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/CustomAnomalyResult/CustomAnomalyResultConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.CustomAnomaly; using Proxytrace.Storage.Internal.Entities.AgentCall; using Proxytrace.Storage.Internal.Entities.CustomAnomalyDetector; diff --git a/Proxytrace.Storage/Internal/Entities/EmailSettings/EmailSettingsStore.cs b/Proxytrace.Storage/Internal/Entities/EmailSettings/EmailSettingsStore.cs index e9b6af080..346b43aee 100644 --- a/Proxytrace.Storage/Internal/Entities/EmailSettings/EmailSettingsStore.cs +++ b/Proxytrace.Storage/Internal/Entities/EmailSettings/EmailSettingsStore.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Proxytrace.Domain.Security; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using AppEmailSettings = Proxytrace.Domain.Notifications.EmailSettings; using IEmailSettingsStore = Proxytrace.Domain.Notifications.IEmailSettingsStore; diff --git a/Proxytrace.Storage/Internal/Entities/Entity.cs b/Proxytrace.Storage/Internal/Entities/Entity.cs index 0bbdcdd6b..f40474658 100644 --- a/Proxytrace.Storage/Internal/Entities/Entity.cs +++ b/Proxytrace.Storage/Internal/Entities/Entity.cs @@ -1,5 +1,5 @@ using System.ComponentModel.DataAnnotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; using Proxytrace.Domain; namespace Proxytrace.Storage.Internal.Entities; diff --git a/Proxytrace.Storage/Internal/Entities/Evaluator/EvaluatorConfig.cs b/Proxytrace.Storage/Internal/Entities/Evaluator/EvaluatorConfig.cs index 2fc876cb7..fd6d8eaae 100644 --- a/Proxytrace.Storage/Internal/Entities/Evaluator/EvaluatorConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Evaluator/EvaluatorConfig.cs @@ -1,7 +1,7 @@ using System.Text.RegularExpressions; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Evaluator; diff --git a/Proxytrace.Storage/Internal/Entities/Invite/InviteConfig.cs b/Proxytrace.Storage/Internal/Entities/Invite/InviteConfig.cs index 7aa336e53..1968084e5 100644 --- a/Proxytrace.Storage/Internal/Entities/Invite/InviteConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Invite/InviteConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Invite; using Proxytrace.Domain.User; diff --git a/Proxytrace.Storage/Internal/Entities/Licensing/StoredLicenseStore.cs b/Proxytrace.Storage/Internal/Entities/Licensing/StoredLicenseStore.cs index 22c51f7a7..1ab3341b1 100644 --- a/Proxytrace.Storage/Internal/Entities/Licensing/StoredLicenseStore.cs +++ b/Proxytrace.Storage/Internal/Entities/Licensing/StoredLicenseStore.cs @@ -1,7 +1,7 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; using Proxytrace.Domain.Licensing; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; namespace Proxytrace.Storage.Internal.Entities.Licensing; diff --git a/Proxytrace.Storage/Internal/Entities/MfaBackupCode/MfaBackupCodeConfig.cs b/Proxytrace.Storage/Internal/Entities/MfaBackupCode/MfaBackupCodeConfig.cs index bbf62a6db..8fe5821e1 100644 --- a/Proxytrace.Storage/Internal/Entities/MfaBackupCode/MfaBackupCodeConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/MfaBackupCode/MfaBackupCodeConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.MfaBackupCode; using Proxytrace.Domain.User; diff --git a/Proxytrace.Storage/Internal/Entities/Model/ModelConfig.cs b/Proxytrace.Storage/Internal/Entities/Model/ModelConfig.cs index c26bda737..59bf7ed2c 100644 --- a/Proxytrace.Storage/Internal/Entities/Model/ModelConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Model/ModelConfig.cs @@ -1,5 +1,5 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.Model; namespace Proxytrace.Storage.Internal.Entities.Model; diff --git a/Proxytrace.Storage/Internal/Entities/Model/ModelRepository.cs b/Proxytrace.Storage/Internal/Entities/Model/ModelRepository.cs index a6bcf8746..7917113dc 100644 --- a/Proxytrace.Storage/Internal/Entities/Model/ModelRepository.cs +++ b/Proxytrace.Storage/Internal/Entities/Model/ModelRepository.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Events; using Proxytrace.Domain.Model; diff --git a/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointConfig.cs b/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointConfig.cs index 4647e0204..5f6273c9f 100644 --- a/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Model; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointRepository.cs b/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointRepository.cs index 55aa8ce7b..2f41608c8 100644 --- a/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointRepository.cs +++ b/Proxytrace.Storage/Internal/Entities/ModelEndpoint/ModelEndpointRepository.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Events; using Proxytrace.Domain.Model; diff --git a/Proxytrace.Storage/Internal/Entities/ModelProvider/ModelProviderConfig.cs b/Proxytrace.Storage/Internal/Entities/ModelProvider/ModelProviderConfig.cs index e18bcdc32..9caf66ece 100644 --- a/Proxytrace.Storage/Internal/Entities/ModelProvider/ModelProviderConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/ModelProvider/ModelProviderConfig.cs @@ -2,7 +2,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.Extensions.Logging; using Proxytrace.Domain.Security; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.ModelProvider; namespace Proxytrace.Storage.Internal.Entities.ModelProvider; diff --git a/Proxytrace.Storage/Internal/Entities/Notification/NotificationConfig.cs b/Proxytrace.Storage/Internal/Entities/Notification/NotificationConfig.cs index e0f7963ff..794324ffd 100644 --- a/Proxytrace.Storage/Internal/Entities/Notification/NotificationConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Notification/NotificationConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.Notification; using Proxytrace.Storage.Internal.Entities.Project; diff --git a/Proxytrace.Storage/Internal/Entities/OptimizationProposal/OptimizationProposalConfig.cs b/Proxytrace.Storage/Internal/Entities/OptimizationProposal/OptimizationProposalConfig.cs index bfa8677c6..9ecd98e02 100644 --- a/Proxytrace.Storage/Internal/Entities/OptimizationProposal/OptimizationProposalConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/OptimizationProposal/OptimizationProposalConfig.cs @@ -1,8 +1,8 @@ using System.Runtime.Serialization; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Storage/Internal/Entities/OptimizationTheory/OptimizationTheoryConfig.cs b/Proxytrace.Storage/Internal/Entities/OptimizationTheory/OptimizationTheoryConfig.cs index 892a58823..4dce0525f 100644 --- a/Proxytrace.Storage/Internal/Entities/OptimizationTheory/OptimizationTheoryConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/OptimizationTheory/OptimizationTheoryConfig.cs @@ -1,8 +1,8 @@ using System.Runtime.Serialization; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; diff --git a/Proxytrace.Storage/Internal/Entities/OutlierSettings/OutlierSettingsStore.cs b/Proxytrace.Storage/Internal/Entities/OutlierSettings/OutlierSettingsStore.cs index 5d630003b..67a5e2a60 100644 --- a/Proxytrace.Storage/Internal/Entities/OutlierSettings/OutlierSettingsStore.cs +++ b/Proxytrace.Storage/Internal/Entities/OutlierSettings/OutlierSettingsStore.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; -using Proxytrace.Common.Time; +using Nordstein.Core.Common.Time; using AppOutlierSettings = Proxytrace.Domain.Outliers.OutlierSettings; using IOutlierSettingsStore = Proxytrace.Domain.Outliers.IOutlierSettingsStore; diff --git a/Proxytrace.Storage/Internal/Entities/PasswordResetToken/PasswordResetTokenConfig.cs b/Proxytrace.Storage/Internal/Entities/PasswordResetToken/PasswordResetTokenConfig.cs index 9ba375ea8..9a3396c25 100644 --- a/Proxytrace.Storage/Internal/Entities/PasswordResetToken/PasswordResetTokenConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/PasswordResetToken/PasswordResetTokenConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.PasswordResetToken; using Proxytrace.Domain.User; diff --git a/Proxytrace.Storage/Internal/Entities/Project/ProjectConfig.cs b/Proxytrace.Storage/Internal/Entities/Project/ProjectConfig.cs index 21ab9e5ab..72d7b264c 100644 --- a/Proxytrace.Storage/Internal/Entities/Project/ProjectConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Project/ProjectConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.Project; diff --git a/Proxytrace.Storage/Internal/Entities/Project/ProjectRepository.cs b/Proxytrace.Storage/Internal/Entities/Project/ProjectRepository.cs index a750fd21b..029101afd 100644 --- a/Proxytrace.Storage/Internal/Entities/Project/ProjectRepository.cs +++ b/Proxytrace.Storage/Internal/Entities/Project/ProjectRepository.cs @@ -1,7 +1,7 @@ using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; using Proxytrace.Domain; using Proxytrace.Domain.Events; using Proxytrace.Domain.Exceptions; diff --git a/Proxytrace.Storage/Internal/Entities/ProjectSearchSettings/ProjectSearchSettingsConfig.cs b/Proxytrace.Storage/Internal/Entities/ProjectSearchSettings/ProjectSearchSettingsConfig.cs index 0418689f6..8379073b4 100644 --- a/Proxytrace.Storage/Internal/Entities/ProjectSearchSettings/ProjectSearchSettingsConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/ProjectSearchSettings/ProjectSearchSettingsConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.Project; using Proxytrace.Domain.ProjectSearchSettings; diff --git a/Proxytrace.Storage/Internal/Entities/Session/SessionConfig.cs b/Proxytrace.Storage/Internal/Entities/Session/SessionConfig.cs index e725b738a..4ae1fc2bf 100644 --- a/Proxytrace.Storage/Internal/Entities/Session/SessionConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/Session/SessionConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.Session; using Proxytrace.Storage.Internal.Entities.Project; diff --git a/Proxytrace.Storage/Internal/Entities/TestCase/TestCaseConfig.cs b/Proxytrace.Storage/Internal/Entities/TestCase/TestCaseConfig.cs index a815775b0..94fdf61cf 100644 --- a/Proxytrace.Storage/Internal/Entities/TestCase/TestCaseConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestCase/TestCaseConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Message; using Proxytrace.Domain.TestCase; diff --git a/Proxytrace.Storage/Internal/Entities/TestResult/TestResultConfig.cs b/Proxytrace.Storage/Internal/Entities/TestResult/TestResultConfig.cs index c497c3116..66aa9ded2 100644 --- a/Proxytrace.Storage/Internal/Entities/TestResult/TestResultConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestResult/TestResultConfig.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Evaluation; using Proxytrace.Domain.Evaluation.Internal; diff --git a/Proxytrace.Storage/Internal/Entities/TestRun/TestRunConfig.cs b/Proxytrace.Storage/Internal/Entities/TestRun/TestRunConfig.cs index 6b73b0b73..d3f893f12 100644 --- a/Proxytrace.Storage/Internal/Entities/TestRun/TestRunConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestRun/TestRunConfig.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestResult; diff --git a/Proxytrace.Storage/Internal/Entities/TestRunGroup/TestRunGroupConfig.cs b/Proxytrace.Storage/Internal/Entities/TestRunGroup/TestRunGroupConfig.cs index cd106b680..2e6c64edd 100644 --- a/Proxytrace.Storage/Internal/Entities/TestRunGroup/TestRunGroupConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestRunGroup/TestRunGroupConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.TestRunGroup; using Proxytrace.Domain.TestSuite; diff --git a/Proxytrace.Storage/Internal/Entities/TestRunSchedule/TestRunScheduleConfig.cs b/Proxytrace.Storage/Internal/Entities/TestRunSchedule/TestRunScheduleConfig.cs index 8ab4f3aa0..211bdff90 100644 --- a/Proxytrace.Storage/Internal/Entities/TestRunSchedule/TestRunScheduleConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestRunSchedule/TestRunScheduleConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.TestRunSchedule; diff --git a/Proxytrace.Storage/Internal/Entities/TestSuite/TestSuiteConfig.cs b/Proxytrace.Storage/Internal/Entities/TestSuite/TestSuiteConfig.cs index 5524323a3..16a9556e4 100644 --- a/Proxytrace.Storage/Internal/Entities/TestSuite/TestSuiteConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/TestSuite/TestSuiteConfig.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Agent; using Proxytrace.Domain.Evaluator; diff --git a/Proxytrace.Storage/Internal/Entities/User/UserConfig.cs b/Proxytrace.Storage/Internal/Entities/User/UserConfig.cs index 0a2556e13..d6f59e302 100644 --- a/Proxytrace.Storage/Internal/Entities/User/UserConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/User/UserConfig.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain.Notification; using Proxytrace.Domain.User; diff --git a/Proxytrace.Storage/Internal/Entities/UserTotpEnrollment/UserTotpEnrollmentConfig.cs b/Proxytrace.Storage/Internal/Entities/UserTotpEnrollment/UserTotpEnrollmentConfig.cs index a9f2bed1a..91997bfc6 100644 --- a/Proxytrace.Storage/Internal/Entities/UserTotpEnrollment/UserTotpEnrollmentConfig.cs +++ b/Proxytrace.Storage/Internal/Entities/UserTotpEnrollment/UserTotpEnrollmentConfig.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders; using Microsoft.Extensions.Logging; using Proxytrace.Domain.Security; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; using Proxytrace.Domain; using Proxytrace.Domain.User; using Proxytrace.Domain.UserTotpEnrollment; diff --git a/Proxytrace.Storage/Internal/SecretsBackfillService.cs b/Proxytrace.Storage/Internal/SecretsBackfillService.cs index 11e06c1ee..2aed43f78 100644 --- a/Proxytrace.Storage/Internal/SecretsBackfillService.cs +++ b/Proxytrace.Storage/Internal/SecretsBackfillService.cs @@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Proxytrace.Common.Security; +using Nordstein.Core.Common.Security; using Proxytrace.Domain.AuditLog; using Proxytrace.Domain.Security; using Proxytrace.Storage.Internal.Entities.ApiKey; diff --git a/Proxytrace.Storage/Module.cs b/Proxytrace.Storage/Module.cs index 405d78277..e78589542 100644 --- a/Proxytrace.Storage/Module.cs +++ b/Proxytrace.Storage/Module.cs @@ -5,7 +5,7 @@ using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain; using Proxytrace.Domain.Demo; using Proxytrace.Domain.Outliers; diff --git a/Proxytrace.sln b/Proxytrace.sln index 254aae057..f83b88a96 100644 --- a/Proxytrace.sln +++ b/Proxytrace.sln @@ -2,16 +2,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Domain", "Proxytrace.Domain\Proxytrace.Domain.csproj", "{6C196382-3E98-4CD7-B88B-677EA7EC3ACE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Common", "Proxytrace.Common\Proxytrace.Common.csproj", "{E600B6DC-867E-4486-9228-BBB5B325620F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Storage", "Proxytrace.Storage\Proxytrace.Storage.csproj", "{F68A66A0-1B9B-4C1C-884B-C0ED3BD3565A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Storage.Tests", "Proxytrace.Storage.Tests\Proxytrace.Storage.Tests.csproj", "{DADB908B-C088-40BF-9AED-7BD699D75CD4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Testing", "Proxytrace.Testing\Proxytrace.Testing.csproj", "{7ADC8063-F462-402C-844D-A2719BECB44F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Common.Tests", "Proxytrace.Common.Tests\Proxytrace.Common.Tests.csproj", "{D9DAC0CF-11DA-4008-8529-721C37BB8C19}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Domain.Tests", "Proxytrace.Domain.Tests\Proxytrace.Domain.Tests.csproj", "{A7E5E9E4-3487-4160-8621-2D5F35A73567}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxytrace.Api", "Proxytrace.Api\Proxytrace.Api.csproj", "{2745126B-A6B7-42B8-85C4-94708CCA8EA0}" @@ -74,18 +68,6 @@ Global {6C196382-3E98-4CD7-B88B-677EA7EC3ACE}.Release|x64.Build.0 = Release|Any CPU {6C196382-3E98-4CD7-B88B-677EA7EC3ACE}.Release|x86.ActiveCfg = Release|Any CPU {6C196382-3E98-4CD7-B88B-677EA7EC3ACE}.Release|x86.Build.0 = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|x64.ActiveCfg = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|x64.Build.0 = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|x86.ActiveCfg = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Debug|x86.Build.0 = Debug|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|Any CPU.Build.0 = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|x64.ActiveCfg = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|x64.Build.0 = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|x86.ActiveCfg = Release|Any CPU - {E600B6DC-867E-4486-9228-BBB5B325620F}.Release|x86.Build.0 = Release|Any CPU {F68A66A0-1B9B-4C1C-884B-C0ED3BD3565A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F68A66A0-1B9B-4C1C-884B-C0ED3BD3565A}.Debug|Any CPU.Build.0 = Debug|Any CPU {F68A66A0-1B9B-4C1C-884B-C0ED3BD3565A}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -110,30 +92,6 @@ Global {DADB908B-C088-40BF-9AED-7BD699D75CD4}.Release|x64.Build.0 = Release|Any CPU {DADB908B-C088-40BF-9AED-7BD699D75CD4}.Release|x86.ActiveCfg = Release|Any CPU {DADB908B-C088-40BF-9AED-7BD699D75CD4}.Release|x86.Build.0 = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|x64.ActiveCfg = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|x64.Build.0 = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|x86.ActiveCfg = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Debug|x86.Build.0 = Debug|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|Any CPU.Build.0 = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|x64.ActiveCfg = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|x64.Build.0 = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|x86.ActiveCfg = Release|Any CPU - {7ADC8063-F462-402C-844D-A2719BECB44F}.Release|x86.Build.0 = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|x64.ActiveCfg = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|x64.Build.0 = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|x86.ActiveCfg = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Debug|x86.Build.0 = Debug|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|Any CPU.Build.0 = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|x64.ActiveCfg = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|x64.Build.0 = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|x86.ActiveCfg = Release|Any CPU - {D9DAC0CF-11DA-4008-8529-721C37BB8C19}.Release|x86.Build.0 = Release|Any CPU {A7E5E9E4-3487-4160-8621-2D5F35A73567}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A7E5E9E4-3487-4160-8621-2D5F35A73567}.Debug|Any CPU.Build.0 = Debug|Any CPU {A7E5E9E4-3487-4160-8621-2D5F35A73567}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -278,6 +236,18 @@ Global {DC624D2C-C4E1-45F0-BFE9-1971DCA075C4}.Release|x64.Build.0 = Release|Any CPU {DC624D2C-C4E1-45F0-BFE9-1971DCA075C4}.Release|x86.ActiveCfg = Release|Any CPU {DC624D2C-C4E1-45F0-BFE9-1971DCA075C4}.Release|x86.Build.0 = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.ActiveCfg = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.Build.0 = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.ActiveCfg = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.Build.0 = Debug|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.ActiveCfg = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Any CPU + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Any CPU {C40532DC-458D-453E-AAD2-B4630DBC0211}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C40532DC-458D-453E-AAD2-B4630DBC0211}.Debug|Any CPU.Build.0 = Debug|Any CPU {C40532DC-458D-453E-AAD2-B4630DBC0211}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -326,18 +296,6 @@ Global {1473F3F1-5B27-4461-8B43-05FDF65B15B7}.Release|x64.Build.0 = Release|Any CPU {1473F3F1-5B27-4461-8B43-05FDF65B15B7}.Release|x86.ActiveCfg = Release|Any CPU {1473F3F1-5B27-4461-8B43-05FDF65B15B7}.Release|x86.Build.0 = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.ActiveCfg = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x64.Build.0 = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.ActiveCfg = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|x86.Build.0 = Debug|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.ActiveCfg = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x64.Build.0 = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.ActiveCfg = Release|Any CPU - {A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/core/Directory.Build.props b/core/Directory.Build.props new file mode 100644 index 000000000..e6235d1ad --- /dev/null +++ b/core/Directory.Build.props @@ -0,0 +1,55 @@ + + + + + + + $(NordsteinCoreVersion) + + net10.0 + enable + enable + latest + + + + Nordstein Software + Nordstein Software + Nordstein.Core + Copyright © Nordstein Software + https://github.com/NordsteinSoftware/Core + https://github.com/NordsteinSoftware/Core + git + + LICENSE + README.md + + + true + $(NoWarn);CS1591 + + + true + snupkg + true + true + true + + + + + + + diff --git a/core/LICENSE b/core/LICENSE new file mode 100644 index 000000000..d317b57b2 --- /dev/null +++ b/core/LICENSE @@ -0,0 +1,93 @@ +Elastic License 2.0 + +URL: https://www.elastic.co/licensing/elastic-license + +## Acceptance + +By using the software, you agree to all of the terms and conditions below. + +## Copyright License + +The licensor grants you a non-exclusive, royalty-free, worldwide, +non-sublicensable, non-transferable license to use, copy, distribute, make +available, and prepare derivative works of the software, in each case subject to +the limitations and conditions below. + +## Limitations + +You may not provide the software to third parties as a hosted or managed +service, where the service provides users with access to any substantial set of +the features or functionality of the software. + +You may not move, change, disable, or circumvent the license key functionality +in the software, and you may not remove or obscure any functionality in the +software that is protected by the license key. + +You may not alter, remove, or obscure any licensing, copyright, or other notices +of the licensor in the software. Any use of the licensor's trademarks is subject +to applicable law. + +## Patents + +The licensor grants you a license, under any patent claims the licensor can +license, or becomes able to license, to make, have made, use, sell, offer for +sale, import and have imported the software, in each case subject to the +limitations and conditions in this license. This license does not cover any +patent claims that you cause to be infringed by modifications or additions to +the software. If you or your company make any written claim that the software +infringes or contributes to infringement of any patent, your patent license for +the software granted under these terms ends immediately. If your company makes +such a claim, your patent license ends immediately for work on behalf of your +company. + +## Notices + +You must ensure that anyone who gets a copy of any part of the software from you +also gets a copy of these terms. + +If you modify the software, you must include in any modified copies of the +software prominent notices stating that you have modified the software. + +## No Other Rights + +These terms do not imply any licenses other than those expressly granted in +these terms. + +## Termination + +If you use the software in violation of these terms, such use is not licensed, +and your licenses will automatically terminate. If the licensor provides you +with a notice of your violation, and you cease all violation of this license no +later than 30 days after you receive that notice, your licenses will be +reinstated retroactively. However, if you violate these terms after such +reinstatement, any additional violation of these terms will cause your licenses +to terminate automatically and permanently. + +## No Liability + +*As far as the law allows, the software comes as is, without any warranty or +condition, and the licensor will not be liable to you for any damages arising +out of these terms or the use or nature of the software, under any kind of +legal claim.* + +## Definitions + +The **licensor** is the entity offering these terms, and the **software** is the +software the licensor makes available under these terms, including any portion +of it. + +**you** refers to the individual or entity agreeing to these terms. + +**your company** is any legal entity, sole proprietorship, or other kind of +organization that you work for, plus all organizations that have control over, +are under the control of, or are under common control with that +organization. **control** means ownership of substantially all the assets of an +entity, or the power to direct its management and policies by vote, contract, or +otherwise. Control can be direct or indirect. + +**your licenses** are all the licenses granted to you for the software under +these terms. + +**use** means anything you do with the software requiring one of your licenses. + +**trademark** means trademarks, service marks, and similar rights. diff --git a/Proxytrace.Common.Tests/AsyncLockTests.cs b/core/Nordstein.Core.Common.Tests/AsyncLockTests.cs similarity index 98% rename from Proxytrace.Common.Tests/AsyncLockTests.cs rename to core/Nordstein.Core.Common.Tests/AsyncLockTests.cs index 81eb2505c..835ee6975 100644 --- a/Proxytrace.Common.Tests/AsyncLockTests.cs +++ b/core/Nordstein.Core.Common.Tests/AsyncLockTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class AsyncLockTests diff --git a/Proxytrace.Common.Tests/AutofacExtensionsTests.cs b/core/Nordstein.Core.Common.Tests/AutofacExtensionsTests.cs similarity index 96% rename from Proxytrace.Common.Tests/AutofacExtensionsTests.cs rename to core/Nordstein.Core.Common.Tests/AutofacExtensionsTests.cs index 366c38185..60b8f99f5 100644 --- a/Proxytrace.Common.Tests/AutofacExtensionsTests.cs +++ b/core/Nordstein.Core.Common.Tests/AutofacExtensionsTests.cs @@ -1,9 +1,9 @@ using Autofac; using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class AutofacExtensionsTests diff --git a/Proxytrace.Common.Tests/EndpointUrlExtensionsTests.cs b/core/Nordstein.Core.Common.Tests/EndpointUrlExtensionsTests.cs similarity index 93% rename from Proxytrace.Common.Tests/EndpointUrlExtensionsTests.cs rename to core/Nordstein.Core.Common.Tests/EndpointUrlExtensionsTests.cs index fb05914c1..41a3f0ae9 100644 --- a/Proxytrace.Common.Tests/EndpointUrlExtensionsTests.cs +++ b/core/Nordstein.Core.Common.Tests/EndpointUrlExtensionsTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; -using Proxytrace.Common.Net; +using Nordstein.Core.Common.Net; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class EndpointUrlExtensionsTests diff --git a/Proxytrace.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs b/core/Nordstein.Core.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs similarity index 97% rename from Proxytrace.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs rename to core/Nordstein.Core.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs index 91e2939c6..d9cc2302d 100644 --- a/Proxytrace.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs +++ b/core/Nordstein.Core.Common.Tests/Hosting/HostingServiceCollectionExtensionsTests.cs @@ -2,9 +2,9 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; -using Proxytrace.Common.Hosting; +using Nordstein.Core.Common.Hosting; -namespace Proxytrace.Common.Tests.Hosting; +namespace Nordstein.Core.Common.Tests.Hosting; /// /// Covers the host-level guard from #522: an unhandled exception in a background loop must not diff --git a/Proxytrace.Common.Tests/LogSafeExtensionsTests.cs b/core/Nordstein.Core.Common.Tests/LogSafeExtensionsTests.cs similarity index 91% rename from Proxytrace.Common.Tests/LogSafeExtensionsTests.cs rename to core/Nordstein.Core.Common.Tests/LogSafeExtensionsTests.cs index 7a037d92f..f64f7db12 100644 --- a/Proxytrace.Common.Tests/LogSafeExtensionsTests.cs +++ b/core/Nordstein.Core.Common.Tests/LogSafeExtensionsTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class LogSafeExtensionsTests diff --git a/Proxytrace.Common.Tests/Module.cs b/core/Nordstein.Core.Common.Tests/Module.cs similarity index 84% rename from Proxytrace.Common.Tests/Module.cs rename to core/Nordstein.Core.Common.Tests/Module.cs index bc089d817..c3e259ae5 100644 --- a/Proxytrace.Common.Tests/Module.cs +++ b/core/Nordstein.Core.Common.Tests/Module.cs @@ -1,6 +1,6 @@ using Autofac; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; public class Module : Autofac.Module { diff --git a/Proxytrace.Common.Tests/Proxytrace.Common.Tests.csproj b/core/Nordstein.Core.Common.Tests/Nordstein.Core.Common.Tests.csproj similarity index 71% rename from Proxytrace.Common.Tests/Proxytrace.Common.Tests.csproj rename to core/Nordstein.Core.Common.Tests/Nordstein.Core.Common.Tests.csproj index da6f9eb99..ce9becdc7 100644 --- a/Proxytrace.Common.Tests/Proxytrace.Common.Tests.csproj +++ b/core/Nordstein.Core.Common.Tests/Nordstein.Core.Common.Tests.csproj @@ -1,11 +1,8 @@  - net10.0 - latest - enable - enable - MSTEST0001 + false + $(NoWarn);MSTEST0001 @@ -25,8 +22,8 @@ - - + + diff --git a/Proxytrace.Common.Tests/RandomTests.cs b/core/Nordstein.Core.Common.Tests/RandomTests.cs similarity index 99% rename from Proxytrace.Common.Tests/RandomTests.cs rename to core/Nordstein.Core.Common.Tests/RandomTests.cs index a4862a49c..7299bebd8 100644 --- a/Proxytrace.Common.Tests/RandomTests.cs +++ b/core/Nordstein.Core.Common.Tests/RandomTests.cs @@ -1,9 +1,9 @@ using AwesomeAssertions; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Random; -using Proxytrace.Testing; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Testing; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class RandomTests : BaseTest diff --git a/Proxytrace.Common.Tests/SlugExtensionsTests.cs b/core/Nordstein.Core.Common.Tests/SlugExtensionsTests.cs similarity index 89% rename from Proxytrace.Common.Tests/SlugExtensionsTests.cs rename to core/Nordstein.Core.Common.Tests/SlugExtensionsTests.cs index e9946db2e..f949e275d 100644 --- a/Proxytrace.Common.Tests/SlugExtensionsTests.cs +++ b/core/Nordstein.Core.Common.Tests/SlugExtensionsTests.cs @@ -1,7 +1,7 @@ using AwesomeAssertions; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Text; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class SlugExtensionsTests diff --git a/Proxytrace.Common.Tests/TypeConverterTests.cs b/core/Nordstein.Core.Common.Tests/TypeConverterTests.cs similarity index 99% rename from Proxytrace.Common.Tests/TypeConverterTests.cs rename to core/Nordstein.Core.Common.Tests/TypeConverterTests.cs index e64ff9894..841755fd5 100644 --- a/Proxytrace.Common.Tests/TypeConverterTests.cs +++ b/core/Nordstein.Core.Common.Tests/TypeConverterTests.cs @@ -2,10 +2,10 @@ using AwesomeAssertions; using JetBrains.Annotations; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Conversion; -using Proxytrace.Testing; +using Nordstein.Core.Common.Conversion; +using Nordstein.Core.Testing; -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class TypeConverterTests : BaseTest diff --git a/Proxytrace.Common.Tests/ValidationTests.cs b/core/Nordstein.Core.Common.Tests/ValidationTests.cs similarity index 70% rename from Proxytrace.Common.Tests/ValidationTests.cs rename to core/Nordstein.Core.Common.Tests/ValidationTests.cs index d56a708ff..5c589c485 100644 --- a/Proxytrace.Common.Tests/ValidationTests.cs +++ b/core/Nordstein.Core.Common.Tests/ValidationTests.cs @@ -1,10 +1,10 @@ using System.ComponentModel.DataAnnotations; using AwesomeAssertions; using JetBrains.Annotations; -using Proxytrace.Common.Validation; +using Nordstein.Core.Common.Validation; // ReSharper disable PropertyCanBeMadeInitOnly.Local -namespace Proxytrace.Common.Tests; +namespace Nordstein.Core.Common.Tests; [TestClass] public sealed class ValidationTests @@ -16,7 +16,7 @@ public void NotNullOrWhitespace_WithValidString_ReturnsSuccess() var validString = "Valid Input"; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(validString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(validString); // Assert result.Should().Be(ValidationResult.Success); @@ -29,7 +29,7 @@ public void NotNullOrWhitespace_WithNull_ReturnsError() string? nullString = null; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(nullString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(nullString); // Assert result.Should().NotBeNull(); @@ -44,7 +44,7 @@ public void NotNullOrWhitespace_WithEmptyString_ReturnsError() var emptyString = string.Empty; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(emptyString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(emptyString); // Assert result.Should().NotBeNull(); @@ -59,7 +59,7 @@ public void NotNullOrWhitespace_WithWhitespaceString_ReturnsError() var whitespaceString = " "; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(whitespaceString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(whitespaceString); // Assert result.Should().NotBeNull(); @@ -74,7 +74,7 @@ public void NotNullOrWhitespace_WithTabs_ReturnsError() var tabString = "\t\t\t"; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(tabString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(tabString); // Assert result.Should().NotBeNull(); @@ -88,7 +88,7 @@ public void NotNullOrWhitespace_WithNewlines_ReturnsError() var newlineString = "\n\r\n"; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(newlineString); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(newlineString); // Assert result.Should().NotBeNull(); @@ -98,7 +98,7 @@ public void NotNullOrWhitespace_WithNewlines_ReturnsError() [TestMethod] public void NotNullOrEmpty_WithValidString_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrEmpty("hello"); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrEmpty("hello"); result.Should().Be(ValidationResult.Success); } @@ -106,14 +106,14 @@ public void NotNullOrEmpty_WithValidString_ReturnsSuccess() public void NotNullOrEmpty_WithWhitespace_ReturnsSuccess() { // Whitespace is NOT empty — distinct from NotNullOrWhiteSpace - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrEmpty(" "); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrEmpty(" "); result.Should().Be(ValidationResult.Success); } [TestMethod] public void NotNullOrEmpty_WithNull_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrEmpty(null); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrEmpty(null); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("cannot be null or empty"); } @@ -121,7 +121,7 @@ public void NotNullOrEmpty_WithNull_ReturnsError() [TestMethod] public void NotNullOrEmpty_WithEmptyString_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrEmpty(string.Empty); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrEmpty(string.Empty); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("cannot be null or empty"); } @@ -133,7 +133,7 @@ public void NotDefault_WithNonDefaultInt_ReturnsSuccess() var nonDefaultInt = 42; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(nonDefaultInt); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(nonDefaultInt); // Assert result.Should().Be(ValidationResult.Success); @@ -146,7 +146,7 @@ public void NotDefault_WithDefaultInt_ReturnsError() var defaultInt = 0; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(defaultInt); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(defaultInt); // Assert result.Should().NotBeNull(); @@ -161,7 +161,7 @@ public void NotDefault_WithNonDefaultGuid_ReturnsSuccess() var nonDefaultGuid = Guid.NewGuid(); // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(nonDefaultGuid); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(nonDefaultGuid); // Assert result.Should().Be(ValidationResult.Success); @@ -174,7 +174,7 @@ public void NotDefault_WithDefaultGuid_ReturnsError() var defaultGuid = Guid.Empty; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(defaultGuid); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(defaultGuid); // Assert result.Should().NotBeNull(); @@ -189,7 +189,7 @@ public void NotDefault_WithNonDefaultDateTimeOffset_ReturnsSuccess() var nonDefaultDate = DateTimeOffset.Now; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(nonDefaultDate); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(nonDefaultDate); // Assert result.Should().Be(ValidationResult.Success); @@ -202,7 +202,7 @@ public void NotDefault_WithDefaultDateTimeOffset_ReturnsError() var defaultDate = default(DateTimeOffset); // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(defaultDate); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(defaultDate); // Assert result.Should().NotBeNull(); @@ -216,7 +216,7 @@ public void InPast_WithPastDate_ReturnsSuccess() var pastDate = DateTimeOffset.UtcNow.AddDays(-1); // Act - var result = global::Proxytrace.Common.Validation.Validation.InPast(pastDate); + var result = global::Nordstein.Core.Common.Validation.Validation.InPast(pastDate); // Assert result.Should().Be(ValidationResult.Success); @@ -229,7 +229,7 @@ public void InPast_WithFutureDate_ReturnsError() var futureDate = DateTimeOffset.UtcNow.AddDays(1); // Act - var result = global::Proxytrace.Common.Validation.Validation.InPast(futureDate); + var result = global::Nordstein.Core.Common.Validation.Validation.InPast(futureDate); // Assert result.Should().NotBeNull(); @@ -245,7 +245,7 @@ public void InPast_WithCurrentMoment_ReturnsSuccess() var now = DateTimeOffset.UtcNow; // Act - var result = global::Proxytrace.Common.Validation.Validation.InPast(now); + var result = global::Nordstein.Core.Common.Validation.Validation.InPast(now); // Assert // This might pass or fail depending on microsecond precision, @@ -256,14 +256,14 @@ public void InPast_WithCurrentMoment_ReturnsSuccess() [TestMethod] public void InFuture_WithFutureDate_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(1)); + var result = global::Nordstein.Core.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(1)); result.Should().Be(ValidationResult.Success); } [TestMethod] public void InFuture_WithPastDate_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(-1)); + var result = global::Nordstein.Core.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(-1)); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be in the future"); } @@ -271,7 +271,7 @@ public void InFuture_WithPastDate_ReturnsError() [TestMethod] public void InFuture_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(-1)); + var result = global::Nordstein.Core.Common.Validation.Validation.InFuture(DateTimeOffset.UtcNow.AddDays(-1)); result.MemberNames.Should().NotBeEmpty(); } @@ -283,7 +283,7 @@ public void NotBefore_WithDateAfterMinValue_ReturnsSuccess() var testDate = DateTimeOffset.UtcNow.AddDays(-5); // Act - var result = global::Proxytrace.Common.Validation.Validation.NotBefore(testDate, minValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotBefore(testDate, minValue); // Assert result.Should().Be(ValidationResult.Success); @@ -297,7 +297,7 @@ public void NotBefore_WithDateBeforeMinValue_ReturnsError() var testDate = DateTimeOffset.UtcNow.AddDays(-10); // Act - var result = global::Proxytrace.Common.Validation.Validation.NotBefore(testDate, minValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotBefore(testDate, minValue); // Assert result.Should().NotBeNull(); @@ -313,7 +313,7 @@ public void NotBefore_WithDateEqualToMinValue_ReturnsSuccess() var testDate = minValue; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotBefore(testDate, minValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotBefore(testDate, minValue); // Assert result.Should().Be(ValidationResult.Success); @@ -324,7 +324,7 @@ public void NotAfter_WithDateBeforeMaxValue_ReturnsSuccess() { var maxValue = DateTimeOffset.UtcNow.AddDays(5); var testDate = DateTimeOffset.UtcNow.AddDays(1); - var result = global::Proxytrace.Common.Validation.Validation.NotAfter(testDate, maxValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotAfter(testDate, maxValue); result.Should().Be(ValidationResult.Success); } @@ -332,7 +332,7 @@ public void NotAfter_WithDateBeforeMaxValue_ReturnsSuccess() public void NotAfter_WithDateEqualToMaxValue_ReturnsSuccess() { var maxValue = DateTimeOffset.UtcNow.AddDays(1); - var result = global::Proxytrace.Common.Validation.Validation.NotAfter(maxValue, maxValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotAfter(maxValue, maxValue); result.Should().Be(ValidationResult.Success); } @@ -341,7 +341,7 @@ public void NotAfter_WithDateAfterMaxValue_ReturnsError() { var maxValue = DateTimeOffset.UtcNow.AddDays(1); var testDate = DateTimeOffset.UtcNow.AddDays(5); - var result = global::Proxytrace.Common.Validation.Validation.NotAfter(testDate, maxValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotAfter(testDate, maxValue); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("cannot be after"); } @@ -350,21 +350,21 @@ public void NotAfter_WithDateAfterMaxValue_ReturnsError() public void NotAfter_IncludesMemberName() { var maxValue = DateTimeOffset.UtcNow.AddDays(1); - var result = global::Proxytrace.Common.Validation.Validation.NotAfter(DateTimeOffset.UtcNow.AddDays(5), maxValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotAfter(DateTimeOffset.UtcNow.AddDays(5), maxValue); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void Positive_WithPositiveValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.Positive(1m); + var result = global::Nordstein.Core.Common.Validation.Validation.Positive(1m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void Positive_WithZero_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.Positive(0m); + var result = global::Nordstein.Core.Common.Validation.Validation.Positive(0m); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be positive"); } @@ -372,35 +372,35 @@ public void Positive_WithZero_ReturnsError() [TestMethod] public void Positive_WithNegativeValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.Positive(-1m); + var result = global::Nordstein.Core.Common.Validation.Validation.Positive(-1m); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void Positive_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.Positive(0m); + var result = global::Nordstein.Core.Common.Validation.Validation.Positive(0m); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void LessThan_WithSmallerValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.LessThan(5m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThan(5m, 10m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void LessThan_WithEqualValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.LessThan(10m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThan(10m, 10m); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void LessThan_WithLargerValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.LessThan(15m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThan(15m, 10m); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be less than"); } @@ -408,28 +408,28 @@ public void LessThan_WithLargerValue_ReturnsError() [TestMethod] public void LessThan_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.LessThan(15m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThan(15m, 10m); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void LessThanOrEqual_WithSmallerValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.LessThanOrEqual(5m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThanOrEqual(5m, 10m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void LessThanOrEqual_WithEqualValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.LessThanOrEqual(10m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThanOrEqual(10m, 10m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void LessThanOrEqual_WithLargerValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.LessThanOrEqual(15m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThanOrEqual(15m, 10m); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be less than or equal to"); } @@ -437,28 +437,28 @@ public void LessThanOrEqual_WithLargerValue_ReturnsError() [TestMethod] public void LessThanOrEqual_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.LessThanOrEqual(15m, 10m); + var result = global::Nordstein.Core.Common.Validation.Validation.LessThanOrEqual(15m, 10m); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void GreaterThan_WithLargerValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThan(10m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThan(10m, 5m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void GreaterThan_WithEqualValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThan(5m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThan(5m, 5m); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void GreaterThan_WithSmallerValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThan(3m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThan(3m, 5m); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be greater than"); } @@ -466,28 +466,28 @@ public void GreaterThan_WithSmallerValue_ReturnsError() [TestMethod] public void GreaterThan_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThan(3m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThan(3m, 5m); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void GreaterThanOrEqual_WithLargerValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThanOrEqual(10m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThanOrEqual(10m, 5m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void GreaterThanOrEqual_WithEqualValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThanOrEqual(5m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThanOrEqual(5m, 5m); result.Should().Be(ValidationResult.Success); } [TestMethod] public void GreaterThanOrEqual_WithSmallerValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThanOrEqual(3m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThanOrEqual(3m, 5m); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be greater than or equal to"); } @@ -495,21 +495,21 @@ public void GreaterThanOrEqual_WithSmallerValue_ReturnsError() [TestMethod] public void GreaterThanOrEqual_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.GreaterThanOrEqual(3m, 5m); + var result = global::Nordstein.Core.Common.Validation.Validation.GreaterThanOrEqual(3m, 5m); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void ExactLength_WithMatchingLength_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.ExactLength("abc", 3); + var result = global::Nordstein.Core.Common.Validation.Validation.ExactLength("abc", 3); result.Should().Be(ValidationResult.Success); } [TestMethod] public void ExactLength_WithShorterString_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ExactLength("ab", 3); + var result = global::Nordstein.Core.Common.Validation.Validation.ExactLength("ab", 3); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be exactly 3 characters"); } @@ -517,35 +517,35 @@ public void ExactLength_WithShorterString_ReturnsError() [TestMethod] public void ExactLength_WithLongerString_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ExactLength("abcd", 3); + var result = global::Nordstein.Core.Common.Validation.Validation.ExactLength("abcd", 3); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void ExactLength_WithNull_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ExactLength(null, 3); + var result = global::Nordstein.Core.Common.Validation.Validation.ExactLength(null, 3); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void ExactLength_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.ExactLength("ab", 3); + var result = global::Nordstein.Core.Common.Validation.Validation.ExactLength("ab", 3); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void Matches_WithMatchingPattern_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.Matches("hello123", @"^[a-z0-9]+$"); + var result = global::Nordstein.Core.Common.Validation.Validation.Matches("hello123", @"^[a-z0-9]+$"); result.Should().Be(ValidationResult.Success); } [TestMethod] public void Matches_WithNonMatchingPattern_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.Matches("hello!", @"^[a-z0-9]+$"); + var result = global::Nordstein.Core.Common.Validation.Validation.Matches("hello!", @"^[a-z0-9]+$"); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("does not match the required pattern"); } @@ -553,35 +553,35 @@ public void Matches_WithNonMatchingPattern_ReturnsError() [TestMethod] public void Matches_WithNull_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.Matches(null, @"^[a-z]+$"); + var result = global::Nordstein.Core.Common.Validation.Validation.Matches(null, @"^[a-z]+$"); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void Matches_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.Matches("hello!", @"^[a-z0-9]+$"); + var result = global::Nordstein.Core.Common.Validation.Validation.Matches("hello!", @"^[a-z0-9]+$"); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void ValidUri_WithValidAbsoluteUri_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri("https://example.com/api"); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri("https://example.com/api"); result.Should().Be(ValidationResult.Success); } [TestMethod] public void ValidUri_WithHttpUri_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri("http://localhost:5001"); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri("http://localhost:5001"); result.Should().Be(ValidationResult.Success); } [TestMethod] public void ValidUri_WithRelativeUri_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri("/relative/path"); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri("/relative/path"); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("must be a valid absolute URI"); } @@ -589,35 +589,35 @@ public void ValidUri_WithRelativeUri_ReturnsError() [TestMethod] public void ValidUri_WithNull_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri(null); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri(null); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void ValidUri_WithGarbageString_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri("not a uri at all!!!"); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri("not a uri at all!!!"); result.Should().NotBe(ValidationResult.Success); } [TestMethod] public void ValidUri_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.ValidUri(null); + var result = global::Nordstein.Core.Common.Validation.Validation.ValidUri(null); result.MemberNames.Should().NotBeEmpty(); } [TestMethod] public void Defined_WithDefinedEnumValue_ReturnsSuccess() { - var result = global::Proxytrace.Common.Validation.Validation.Defined(DayOfWeek.Monday); + var result = global::Nordstein.Core.Common.Validation.Validation.Defined(DayOfWeek.Monday); result.Should().Be(ValidationResult.Success); } [TestMethod] public void Defined_WithUndefinedEnumValue_ReturnsError() { - var result = global::Proxytrace.Common.Validation.Validation.Defined((DayOfWeek)999); + var result = global::Nordstein.Core.Common.Validation.Validation.Defined((DayOfWeek)999); result.Should().NotBe(ValidationResult.Success); result.ErrorMessage.Should().Contain("has an undefined value"); } @@ -625,7 +625,7 @@ public void Defined_WithUndefinedEnumValue_ReturnsError() [TestMethod] public void Defined_IncludesMemberName() { - var result = global::Proxytrace.Common.Validation.Validation.Defined((DayOfWeek)999); + var result = global::Nordstein.Core.Common.Validation.Validation.Defined((DayOfWeek)999); result.MemberNames.Should().NotBeEmpty(); } @@ -633,7 +633,7 @@ public void Defined_IncludesMemberName() public void ValidationResults_IncludeMemberName() { // Arrange - var result = global::Proxytrace.Common.Validation.Validation.NotNullOrWhiteSpace(string.Empty); + var result = global::Nordstein.Core.Common.Validation.Validation.NotNullOrWhiteSpace(string.Empty); // Assert result.MemberNames.Should().NotBeEmpty(); @@ -648,7 +648,7 @@ public void NotDefault_WithCustomType_ReturnsError() var defaultValue = default(TestStruct); // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(defaultValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(defaultValue); // Assert result.Should().NotBeNull(); @@ -662,7 +662,7 @@ public void NotDefault_WithNonDefaultCustomType_ReturnsSuccess() var nonDefaultValue = new TestStruct { Value = 42 }; // Act - var result = global::Proxytrace.Common.Validation.Validation.NotDefault(nonDefaultValue); + var result = global::Nordstein.Core.Common.Validation.Validation.NotDefault(nonDefaultValue); // Assert result.Should().Be(ValidationResult.Success); diff --git a/Proxytrace.Common/Async/AsyncLock.cs b/core/Nordstein.Core.Common/Async/AsyncLock.cs similarity index 98% rename from Proxytrace.Common/Async/AsyncLock.cs rename to core/Nordstein.Core.Common/Async/AsyncLock.cs index 08de44c98..5a3612ba9 100644 --- a/Proxytrace.Common/Async/AsyncLock.cs +++ b/core/Nordstein.Core.Common/Async/AsyncLock.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Async; +namespace Nordstein.Core.Common.Async; /// /// Keyed async lock. Unlike lock/, safe to hold across await boundaries. diff --git a/Proxytrace.Common/Async/IAsyncLock.cs b/core/Nordstein.Core.Common/Async/IAsyncLock.cs similarity index 80% rename from Proxytrace.Common/Async/IAsyncLock.cs rename to core/Nordstein.Core.Common/Async/IAsyncLock.cs index b42c83ca0..cab7cddd2 100644 --- a/Proxytrace.Common/Async/IAsyncLock.cs +++ b/core/Nordstein.Core.Common/Async/IAsyncLock.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Async; +namespace Nordstein.Core.Common.Async; public interface IAsyncLock { diff --git a/Proxytrace.Common/Async/TaskExtensions.cs b/core/Nordstein.Core.Common/Async/TaskExtensions.cs similarity index 93% rename from Proxytrace.Common/Async/TaskExtensions.cs rename to core/Nordstein.Core.Common/Async/TaskExtensions.cs index 6cfe8bd79..b42c56b7f 100644 --- a/Proxytrace.Common/Async/TaskExtensions.cs +++ b/core/Nordstein.Core.Common/Async/TaskExtensions.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Async; +namespace Nordstein.Core.Common.Async; public static class TaskExtensions { diff --git a/Proxytrace.Common/Conversion/ITypeConverter.cs b/core/Nordstein.Core.Common/Conversion/ITypeConverter.cs similarity index 86% rename from Proxytrace.Common/Conversion/ITypeConverter.cs rename to core/Nordstein.Core.Common/Conversion/ITypeConverter.cs index 3be1f5c09..3cb163611 100644 --- a/Proxytrace.Common/Conversion/ITypeConverter.cs +++ b/core/Nordstein.Core.Common/Conversion/ITypeConverter.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Conversion; +namespace Nordstein.Core.Common.Conversion; /// /// Service responsible for converting values to the types expected by tool parameters diff --git a/Proxytrace.Common/Conversion/Internal/TypeConverter.cs b/core/Nordstein.Core.Common/Conversion/Internal/TypeConverter.cs similarity index 98% rename from Proxytrace.Common/Conversion/Internal/TypeConverter.cs rename to core/Nordstein.Core.Common/Conversion/Internal/TypeConverter.cs index 81d0c3d7d..e08f0e758 100644 --- a/Proxytrace.Common/Conversion/Internal/TypeConverter.cs +++ b/core/Nordstein.Core.Common/Conversion/Internal/TypeConverter.cs @@ -2,7 +2,7 @@ using System.Globalization; using System.Text.Json; -namespace Proxytrace.Common.Conversion.Internal; +namespace Nordstein.Core.Common.Conversion.Internal; /// internal class TypeConverter : ITypeConverter diff --git a/Proxytrace.Common/Conversion/TypeConversionExtensions.cs b/core/Nordstein.Core.Common/Conversion/TypeConversionExtensions.cs similarity index 93% rename from Proxytrace.Common/Conversion/TypeConversionExtensions.cs rename to core/Nordstein.Core.Common/Conversion/TypeConversionExtensions.cs index 762789289..8931661a9 100644 --- a/Proxytrace.Common/Conversion/TypeConversionExtensions.cs +++ b/core/Nordstein.Core.Common/Conversion/TypeConversionExtensions.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Conversion; +namespace Nordstein.Core.Common.Conversion; /// /// Extensions for type conversion, providing a method to convert an object to a specified type with error handling. This class is designed diff --git a/Proxytrace.Common/DependencyInjection/AutofacExtensions.cs b/core/Nordstein.Core.Common/DependencyInjection/AutofacExtensions.cs similarity index 97% rename from Proxytrace.Common/DependencyInjection/AutofacExtensions.cs rename to core/Nordstein.Core.Common/DependencyInjection/AutofacExtensions.cs index 8b37982a7..6a2bb825b 100644 --- a/Proxytrace.Common/DependencyInjection/AutofacExtensions.cs +++ b/core/Nordstein.Core.Common/DependencyInjection/AutofacExtensions.cs @@ -2,9 +2,9 @@ using Autofac; using Autofac.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Lifecycle; +using Nordstein.Core.Common.Lifecycle; -namespace Proxytrace.Common.DependencyInjection; +namespace Nordstein.Core.Common.DependencyInjection; public static class AutofacExtensions { diff --git a/Proxytrace.Common/Hosting/HostingServiceCollectionExtensions.cs b/core/Nordstein.Core.Common/Hosting/HostingServiceCollectionExtensions.cs similarity index 98% rename from Proxytrace.Common/Hosting/HostingServiceCollectionExtensions.cs rename to core/Nordstein.Core.Common/Hosting/HostingServiceCollectionExtensions.cs index c8acfdd2d..c4219e2e8 100644 --- a/Proxytrace.Common/Hosting/HostingServiceCollectionExtensions.cs +++ b/core/Nordstein.Core.Common/Hosting/HostingServiceCollectionExtensions.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -namespace Proxytrace.Common.Hosting; +namespace Nordstein.Core.Common.Hosting; /// /// Host-level wiring shared by every Proxytrace process host (the app API and the standalone diff --git a/Proxytrace.Common/Hosting/IAppVersion.cs b/core/Nordstein.Core.Common/Hosting/IAppVersion.cs similarity index 86% rename from Proxytrace.Common/Hosting/IAppVersion.cs rename to core/Nordstein.Core.Common/Hosting/IAppVersion.cs index 71792bddd..d83792831 100644 --- a/Proxytrace.Common/Hosting/IAppVersion.cs +++ b/core/Nordstein.Core.Common/Hosting/IAppVersion.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Hosting; +namespace Nordstein.Core.Common.Hosting; /// /// The application's release version (SemVer, e.g. "1.2.3"), injected at build time via diff --git a/Proxytrace.Common/Hosting/Internal/AppVersion.cs b/core/Nordstein.Core.Common/Hosting/Internal/AppVersion.cs similarity index 94% rename from Proxytrace.Common/Hosting/Internal/AppVersion.cs rename to core/Nordstein.Core.Common/Hosting/Internal/AppVersion.cs index 7e068448f..47be317b8 100644 --- a/Proxytrace.Common/Hosting/Internal/AppVersion.cs +++ b/core/Nordstein.Core.Common/Hosting/Internal/AppVersion.cs @@ -1,6 +1,6 @@ using System.Reflection; -namespace Proxytrace.Common.Hosting.Internal; +namespace Nordstein.Core.Common.Hosting.Internal; /// /// Reads the version from this assembly's , diff --git a/Proxytrace.Common/Hosting/NullHostedService.cs b/core/Nordstein.Core.Common/Hosting/NullHostedService.cs similarity index 87% rename from Proxytrace.Common/Hosting/NullHostedService.cs rename to core/Nordstein.Core.Common/Hosting/NullHostedService.cs index 627f97746..98a953989 100644 --- a/Proxytrace.Common/Hosting/NullHostedService.cs +++ b/core/Nordstein.Core.Common/Hosting/NullHostedService.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.Hosting; -namespace Proxytrace.Common.Hosting; +namespace Nordstein.Core.Common.Hosting; public class NullHostedService : IHostedService { diff --git a/Proxytrace.Common/Lifecycle/Disposable.cs b/core/Nordstein.Core.Common/Lifecycle/Disposable.cs similarity index 96% rename from Proxytrace.Common/Lifecycle/Disposable.cs rename to core/Nordstein.Core.Common/Lifecycle/Disposable.cs index 311ba32c2..4d5587903 100644 --- a/Proxytrace.Common/Lifecycle/Disposable.cs +++ b/core/Nordstein.Core.Common/Lifecycle/Disposable.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Lifecycle; +namespace Nordstein.Core.Common.Lifecycle; public class Disposable : IDisposable, IAsyncDisposable { diff --git a/Proxytrace.Common/Lifecycle/ITempDirectory.cs b/core/Nordstein.Core.Common/Lifecycle/ITempDirectory.cs similarity index 83% rename from Proxytrace.Common/Lifecycle/ITempDirectory.cs rename to core/Nordstein.Core.Common/Lifecycle/ITempDirectory.cs index 991e3de88..f5673d0c9 100644 --- a/Proxytrace.Common/Lifecycle/ITempDirectory.cs +++ b/core/Nordstein.Core.Common/Lifecycle/ITempDirectory.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Lifecycle; +namespace Nordstein.Core.Common.Lifecycle; public interface ITempDirectory : IDisposable { diff --git a/Proxytrace.Common/Lifecycle/Internal/TempDirectory.cs b/core/Nordstein.Core.Common/Lifecycle/Internal/TempDirectory.cs similarity index 93% rename from Proxytrace.Common/Lifecycle/Internal/TempDirectory.cs rename to core/Nordstein.Core.Common/Lifecycle/Internal/TempDirectory.cs index f8ecad06a..606a886b0 100644 --- a/Proxytrace.Common/Lifecycle/Internal/TempDirectory.cs +++ b/core/Nordstein.Core.Common/Lifecycle/Internal/TempDirectory.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Lifecycle.Internal; +namespace Nordstein.Core.Common.Lifecycle.Internal; internal class TempDirectory : ITempDirectory { diff --git a/Proxytrace.Common/Module.cs b/core/Nordstein.Core.Common/Module.cs similarity index 64% rename from Proxytrace.Common/Module.cs rename to core/Nordstein.Core.Common/Module.cs index 811a88a5e..84e2d7a95 100644 --- a/Proxytrace.Common/Module.cs +++ b/core/Nordstein.Core.Common/Module.cs @@ -1,19 +1,19 @@ using Autofac; -using Proxytrace.Common.Async; -using Proxytrace.Common.Conversion; -using Proxytrace.Common.Conversion.Internal; -using Proxytrace.Common.Hosting; -using Proxytrace.Common.Hosting.Internal; -using Proxytrace.Common.Lifecycle; -using Proxytrace.Common.Lifecycle.Internal; -using Proxytrace.Common.Random; -using Proxytrace.Common.Random.Internal; -using Proxytrace.Common.Serialization; -using Proxytrace.Common.Serialization.Internal; -using Proxytrace.Common.Time; -using Proxytrace.Common.Time.Internal; - -namespace Proxytrace.Common; +using Nordstein.Core.Common.Async; +using Nordstein.Core.Common.Conversion; +using Nordstein.Core.Common.Conversion.Internal; +using Nordstein.Core.Common.Hosting; +using Nordstein.Core.Common.Hosting.Internal; +using Nordstein.Core.Common.Lifecycle; +using Nordstein.Core.Common.Lifecycle.Internal; +using Nordstein.Core.Common.Random; +using Nordstein.Core.Common.Random.Internal; +using Nordstein.Core.Common.Serialization; +using Nordstein.Core.Common.Serialization.Internal; +using Nordstein.Core.Common.Time; +using Nordstein.Core.Common.Time.Internal; + +namespace Nordstein.Core.Common; public class Module : Autofac.Module { diff --git a/Proxytrace.Common/Net/EndpointUrlExtensions.cs b/core/Nordstein.Core.Common/Net/EndpointUrlExtensions.cs similarity index 97% rename from Proxytrace.Common/Net/EndpointUrlExtensions.cs rename to core/Nordstein.Core.Common/Net/EndpointUrlExtensions.cs index 1b17d1a04..b1144ad4d 100644 --- a/Proxytrace.Common/Net/EndpointUrlExtensions.cs +++ b/core/Nordstein.Core.Common/Net/EndpointUrlExtensions.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Net; +namespace Nordstein.Core.Common.Net; /// /// Parsing for user-entered endpoint URLs (e.g. an upstream model provider's API base URL). diff --git a/Proxytrace.Common/Net/MalformedEndpointUrlException.cs b/core/Nordstein.Core.Common/Net/MalformedEndpointUrlException.cs similarity index 91% rename from Proxytrace.Common/Net/MalformedEndpointUrlException.cs rename to core/Nordstein.Core.Common/Net/MalformedEndpointUrlException.cs index 299d0703e..ca259c3bd 100644 --- a/Proxytrace.Common/Net/MalformedEndpointUrlException.cs +++ b/core/Nordstein.Core.Common/Net/MalformedEndpointUrlException.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Net; +namespace Nordstein.Core.Common.Net; /// /// Thrown when a user-entered endpoint URL cannot be parsed into an absolute http(s) URL. diff --git a/Proxytrace.Common/Proxytrace.Common.csproj b/core/Nordstein.Core.Common/Nordstein.Core.Common.csproj similarity index 65% rename from Proxytrace.Common/Proxytrace.Common.csproj rename to core/Nordstein.Core.Common/Nordstein.Core.Common.csproj index 66db2d6ac..4b165ac3c 100644 --- a/Proxytrace.Common/Proxytrace.Common.csproj +++ b/core/Nordstein.Core.Common/Nordstein.Core.Common.csproj @@ -1,13 +1,16 @@  - net10.0 - enable - enable + + Product-agnostic building blocks shared across Nordstein applications: clock and + randomness seams, async primitives, validation helpers, type conversion, Autofac + registration helpers, and background-service hosting defaults. + + nordstein;autofac;dependency-injection;utilities - + - + @@ -21,5 +24,4 @@ - diff --git a/core/Nordstein.Core.Common/README.md b/core/Nordstein.Core.Common/README.md new file mode 100644 index 000000000..419329c34 --- /dev/null +++ b/core/Nordstein.Core.Common/README.md @@ -0,0 +1,33 @@ +# Nordstein.Core.Common + +Product-agnostic building blocks shared across Nordstein applications. + +| Area | What it gives you | +|------|-------------------| +| `Time` | `IClock` / `SystemClock` — the seam that makes time-dependent logic testable | +| `Random` | `IRandom` / `SeededRandom` — the same seam for randomness | +| `Async` | `IAsyncLock` / `AsyncLock`, `TaskExtensions` | +| `Validation` | `Validation` helpers, `ValidatorExtensions`, string guards | +| `Conversion` | `ITypeConverter` and the conversion extensions | +| `DependencyInjection` | Autofac registration helpers, including `RegisterServiceCollection` | +| `Hosting` | `AddResilientBackgroundServices`, `IAppVersion`, `NullHostedService` | +| `Lifecycle` | `Disposable`, `ITempDirectory` | +| `Net` | Endpoint URL parsing and validation | +| `Security` | `Sha256` | +| `Serialization` | `ISerializer` and a `System.Text.Json` implementation | +| `Text` | `LogSafeExtensions`, `SlugExtensions` | + +## Registration + +Everything is wired through one Autofac module: + +```csharp +builder.RegisterModule(); +``` + +## Notes + +`AddResilientBackgroundServices` sets `HostOptions.BackgroundServiceExceptionBehavior` to +`Ignore`. .NET's default is `StopHost`, which means one throwing `BackgroundService` stops the +whole host and exits with code 0 — a clean shutdown that no restart policy treats as a failure. +Call it from every host that runs long-running loops. diff --git a/Proxytrace.Common/Random/IRandom.cs b/core/Nordstein.Core.Common/Random/IRandom.cs similarity index 97% rename from Proxytrace.Common/Random/IRandom.cs rename to core/Nordstein.Core.Common/Random/IRandom.cs index 4960b5894..063fb619a 100644 --- a/Proxytrace.Common/Random/IRandom.cs +++ b/core/Nordstein.Core.Common/Random/IRandom.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Random; +namespace Nordstein.Core.Common.Random; /// /// Deterministic pseudo-random values for generating test and demo data. diff --git a/Proxytrace.Common/Random/Internal/SeededRandom.cs b/core/Nordstein.Core.Common/Random/Internal/SeededRandom.cs similarity index 98% rename from Proxytrace.Common/Random/Internal/SeededRandom.cs rename to core/Nordstein.Core.Common/Random/Internal/SeededRandom.cs index 6ece1582d..48066602d 100644 --- a/Proxytrace.Common/Random/Internal/SeededRandom.cs +++ b/core/Nordstein.Core.Common/Random/Internal/SeededRandom.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Random.Internal; +namespace Nordstein.Core.Common.Random.Internal; internal class SeededRandom : IRandom { diff --git a/Proxytrace.Common/Security/Sha256.cs b/core/Nordstein.Core.Common/Security/Sha256.cs similarity index 94% rename from Proxytrace.Common/Security/Sha256.cs rename to core/Nordstein.Core.Common/Security/Sha256.cs index 2ccf6ad6f..a7ceddfcc 100644 --- a/Proxytrace.Common/Security/Sha256.cs +++ b/core/Nordstein.Core.Common/Security/Sha256.cs @@ -1,7 +1,7 @@ using System.Security.Cryptography; using System.Text; -namespace Proxytrace.Common.Security; +namespace Nordstein.Core.Common.Security; /// /// Hex-encoded SHA-256 — the canonical deterministic blind-index hash for verify-only secrets diff --git a/Proxytrace.Common/Serialization/ISerializer.cs b/core/Nordstein.Core.Common/Serialization/ISerializer.cs similarity index 86% rename from Proxytrace.Common/Serialization/ISerializer.cs rename to core/Nordstein.Core.Common/Serialization/ISerializer.cs index 41615ebcb..225edcde6 100644 --- a/Proxytrace.Common/Serialization/ISerializer.cs +++ b/core/Nordstein.Core.Common/Serialization/ISerializer.cs @@ -1,6 +1,6 @@ using JetBrains.Annotations; -namespace Proxytrace.Common.Serialization; +namespace Nordstein.Core.Common.Serialization; public interface ISerializer { diff --git a/Proxytrace.Common/Serialization/Internal/JsonSerializer.cs b/core/Nordstein.Core.Common/Serialization/Internal/JsonSerializer.cs similarity index 94% rename from Proxytrace.Common/Serialization/Internal/JsonSerializer.cs rename to core/Nordstein.Core.Common/Serialization/Internal/JsonSerializer.cs index 62a77e09b..6dd6a2978 100644 --- a/Proxytrace.Common/Serialization/Internal/JsonSerializer.cs +++ b/core/Nordstein.Core.Common/Serialization/Internal/JsonSerializer.cs @@ -1,7 +1,7 @@ using System.Text.Json; using System.Text.Json.Serialization; -namespace Proxytrace.Common.Serialization.Internal; +namespace Nordstein.Core.Common.Serialization.Internal; internal class JsonSerializer : ISerializer { diff --git a/Proxytrace.Common/Serialization/SerializerExtensions.cs b/core/Nordstein.Core.Common/Serialization/SerializerExtensions.cs similarity index 94% rename from Proxytrace.Common/Serialization/SerializerExtensions.cs rename to core/Nordstein.Core.Common/Serialization/SerializerExtensions.cs index 4787d7462..efa8e36f1 100644 --- a/Proxytrace.Common/Serialization/SerializerExtensions.cs +++ b/core/Nordstein.Core.Common/Serialization/SerializerExtensions.cs @@ -1,7 +1,7 @@ using System.Text; -using Proxytrace.Common.Async; +using Nordstein.Core.Common.Async; -namespace Proxytrace.Common.Serialization; +namespace Nordstein.Core.Common.Serialization; public static class SerializerExtensions { diff --git a/Proxytrace.Common/Text/LogSafeExtensions.cs b/core/Nordstein.Core.Common/Text/LogSafeExtensions.cs similarity index 96% rename from Proxytrace.Common/Text/LogSafeExtensions.cs rename to core/Nordstein.Core.Common/Text/LogSafeExtensions.cs index 1b5e0f40f..649fc1490 100644 --- a/Proxytrace.Common/Text/LogSafeExtensions.cs +++ b/core/Nordstein.Core.Common/Text/LogSafeExtensions.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Text; +namespace Nordstein.Core.Common.Text; /// /// Neutralises untrusted values before they are written to a log. diff --git a/Proxytrace.Common/Text/SlugExtensions.cs b/core/Nordstein.Core.Common/Text/SlugExtensions.cs similarity index 96% rename from Proxytrace.Common/Text/SlugExtensions.cs rename to core/Nordstein.Core.Common/Text/SlugExtensions.cs index e2a97dcee..d3d41e29b 100644 --- a/Proxytrace.Common/Text/SlugExtensions.cs +++ b/core/Nordstein.Core.Common/Text/SlugExtensions.cs @@ -1,6 +1,6 @@ using System.Text; -namespace Proxytrace.Common.Text; +namespace Nordstein.Core.Common.Text; /// /// Derives URL-safe slugs from human-readable names. diff --git a/Proxytrace.Common/Time/IClock.cs b/core/Nordstein.Core.Common/Time/IClock.cs similarity index 87% rename from Proxytrace.Common/Time/IClock.cs rename to core/Nordstein.Core.Common/Time/IClock.cs index 58f564d81..f6e8c2538 100644 --- a/Proxytrace.Common/Time/IClock.cs +++ b/core/Nordstein.Core.Common/Time/IClock.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Time; +namespace Nordstein.Core.Common.Time; /// /// Abstraction over the system clock so time-dependent logic can be tested deterministically. diff --git a/Proxytrace.Common/Time/Internal/SystemClock.cs b/core/Nordstein.Core.Common/Time/Internal/SystemClock.cs similarity index 81% rename from Proxytrace.Common/Time/Internal/SystemClock.cs rename to core/Nordstein.Core.Common/Time/Internal/SystemClock.cs index 048c7c93a..7352dadda 100644 --- a/Proxytrace.Common/Time/Internal/SystemClock.cs +++ b/core/Nordstein.Core.Common/Time/Internal/SystemClock.cs @@ -1,4 +1,4 @@ -namespace Proxytrace.Common.Time.Internal; +namespace Nordstein.Core.Common.Time.Internal; /// /// Default backed by the real system clock. diff --git a/Proxytrace.Common/Validation/StringExtensions.cs b/core/Nordstein.Core.Common/Validation/StringExtensions.cs similarity index 88% rename from Proxytrace.Common/Validation/StringExtensions.cs rename to core/Nordstein.Core.Common/Validation/StringExtensions.cs index 589c69add..7cb107d74 100644 --- a/Proxytrace.Common/Validation/StringExtensions.cs +++ b/core/Nordstein.Core.Common/Validation/StringExtensions.cs @@ -1,6 +1,6 @@ using System.Diagnostics.CodeAnalysis; -namespace Proxytrace.Common.Validation; +namespace Nordstein.Core.Common.Validation; public static class StringExtensions { diff --git a/Proxytrace.Common/Validation/Validation.cs b/core/Nordstein.Core.Common/Validation/Validation.cs similarity index 99% rename from Proxytrace.Common/Validation/Validation.cs rename to core/Nordstein.Core.Common/Validation/Validation.cs index 997076b4d..089b443fc 100644 --- a/Proxytrace.Common/Validation/Validation.cs +++ b/core/Nordstein.Core.Common/Validation/Validation.cs @@ -3,7 +3,7 @@ using System.Text.Json; using System.Text.RegularExpressions; -namespace Proxytrace.Common.Validation; +namespace Nordstein.Core.Common.Validation; public static class Validation { diff --git a/Proxytrace.Common/Validation/ValidatorExtensions.cs b/core/Nordstein.Core.Common/Validation/ValidatorExtensions.cs similarity index 85% rename from Proxytrace.Common/Validation/ValidatorExtensions.cs rename to core/Nordstein.Core.Common/Validation/ValidatorExtensions.cs index b3d63aa99..c167c3b8c 100644 --- a/Proxytrace.Common/Validation/ValidatorExtensions.cs +++ b/core/Nordstein.Core.Common/Validation/ValidatorExtensions.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace Proxytrace.Common.Validation; +namespace Nordstein.Core.Common.Validation; public static class ValidatorExtensions { diff --git a/Proxytrace.Testing/BaseTest.cs b/core/Nordstein.Core.Testing/BaseTest.cs similarity index 98% rename from Proxytrace.Testing/BaseTest.cs rename to core/Nordstein.Core.Testing/BaseTest.cs index 55e360b99..f999763d5 100644 --- a/Proxytrace.Testing/BaseTest.cs +++ b/core/Nordstein.Core.Testing/BaseTest.cs @@ -1,7 +1,7 @@ using Autofac; using JetBrains.Annotations; -namespace Proxytrace.Testing; +namespace Nordstein.Core.Testing; [TestClass] public abstract class BaseTest where TModule : Autofac.Module, new() diff --git a/Proxytrace.Testing/ContainerBuilderExtensions.cs b/core/Nordstein.Core.Testing/ContainerBuilderExtensions.cs similarity index 93% rename from Proxytrace.Testing/ContainerBuilderExtensions.cs rename to core/Nordstein.Core.Testing/ContainerBuilderExtensions.cs index 7588f7937..761ae53c6 100644 --- a/Proxytrace.Testing/ContainerBuilderExtensions.cs +++ b/core/Nordstein.Core.Testing/ContainerBuilderExtensions.cs @@ -1,7 +1,7 @@ using Autofac; using NSubstitute; -namespace Proxytrace.Testing; +namespace Nordstein.Core.Testing; public static class ContainerBuilderExtensions { diff --git a/Proxytrace.Testing/Module.cs b/core/Nordstein.Core.Testing/Module.cs similarity index 91% rename from Proxytrace.Testing/Module.cs rename to core/Nordstein.Core.Testing/Module.cs index 35fe7273c..32967445f 100644 --- a/Proxytrace.Testing/Module.cs +++ b/core/Nordstein.Core.Testing/Module.cs @@ -4,10 +4,10 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using NSubstitute; -using Proxytrace.Common.DependencyInjection; -using Proxytrace.Common.Lifecycle; +using Nordstein.Core.Common.DependencyInjection; +using Nordstein.Core.Common.Lifecycle; -namespace Proxytrace.Testing; +namespace Nordstein.Core.Testing; internal class Module : Autofac.Module { diff --git a/Proxytrace.Testing/Proxytrace.Testing.csproj b/core/Nordstein.Core.Testing/Nordstein.Core.Testing.csproj similarity index 59% rename from Proxytrace.Testing/Proxytrace.Testing.csproj rename to core/Nordstein.Core.Testing/Nordstein.Core.Testing.csproj index 6a7610db7..0ee627de7 100644 --- a/Proxytrace.Testing/Proxytrace.Testing.csproj +++ b/core/Nordstein.Core.Testing/Nordstein.Core.Testing.csproj @@ -1,9 +1,12 @@  - net10.0 - enable - enable + + Shared MSTest harness for Nordstein applications: the Autofac-backed + BaseTest<TModule> fixture, container/service-provider helpers, and the + AwesomeAssertions + NSubstitute baseline every test project builds on. + + nordstein;testing;mstest;autofac;nsubstitute @@ -17,7 +20,7 @@ - + diff --git a/core/Nordstein.Core.Testing/README.md b/core/Nordstein.Core.Testing/README.md new file mode 100644 index 000000000..dac009068 --- /dev/null +++ b/core/Nordstein.Core.Testing/README.md @@ -0,0 +1,33 @@ +# Nordstein.Core.Testing + +Shared MSTest harness for Nordstein applications. + +## `BaseTest` + +Derive from it and every test gets a fresh Autofac container, built from +`Nordstein.Core.Testing.Module` plus the module under test, and disposed automatically: + +```csharp +[TestClass] +public sealed class ThingTests : BaseTest +{ + [TestMethod] + public async Task DoesTheThing() + { + IServiceProvider services = GetServices(); + var subject = services.GetRequiredService(); + + (await subject.DoAsync(CancellationToken)).Should().BeTrue(); + } +} +``` + +- `GetServices(Action?)` builds a container registered for per-test cleanup. +- `BuildContainer(...)` is the static escape hatch for a `[ClassInitialize]` fixture shared + across a class; the caller owns disposal. +- `ConfigureContainer` is the per-class override point for substitutes. +- `CancellationToken` comes from the `TestContext`, so a test that hangs is cancelled by the + runner rather than running to the timeout. + +The package brings AwesomeAssertions and NSubstitute along transitively — a consuming test +project does not reference them itself. diff --git a/Proxytrace.Testing/ServiceProviderExtensions.cs b/core/Nordstein.Core.Testing/ServiceProviderExtensions.cs similarity index 81% rename from Proxytrace.Testing/ServiceProviderExtensions.cs rename to core/Nordstein.Core.Testing/ServiceProviderExtensions.cs index 26d63dffb..52c5eb340 100644 --- a/Proxytrace.Testing/ServiceProviderExtensions.cs +++ b/core/Nordstein.Core.Testing/ServiceProviderExtensions.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.DependencyInjection; -using Proxytrace.Common.Lifecycle; +using Nordstein.Core.Common.Lifecycle; -namespace Proxytrace.Testing; +namespace Nordstein.Core.Testing; public static class ServiceProviderExtensions { diff --git a/core/Nordstein.Core.sln b/core/Nordstein.Core.sln new file mode 100644 index 000000000..ae3da91ff --- /dev/null +++ b/core/Nordstein.Core.sln @@ -0,0 +1,62 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nordstein.Core.Common", "Nordstein.Core.Common\Nordstein.Core.Common.csproj", "{EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nordstein.Core.Testing", "Nordstein.Core.Testing\Nordstein.Core.Testing.csproj", "{2CAA56BC-2A80-4AFB-851D-0C698DF13069}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nordstein.Core.Common.Tests", "Nordstein.Core.Common.Tests\Nordstein.Core.Common.Tests.csproj", "{1C173B49-B93C-466E-92D1-96D41DC11FAF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|x64.ActiveCfg = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|x64.Build.0 = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|x86.ActiveCfg = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Debug|x86.Build.0 = Debug|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|Any CPU.Build.0 = Release|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|x64.ActiveCfg = Release|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|x64.Build.0 = Release|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|x86.ActiveCfg = Release|Any CPU + {EC37FE40-C2CF-4B17-A110-46AAB2FA44D6}.Release|x86.Build.0 = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|x64.ActiveCfg = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|x64.Build.0 = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|x86.ActiveCfg = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Debug|x86.Build.0 = Debug|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|Any CPU.Build.0 = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|x64.ActiveCfg = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|x64.Build.0 = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|x86.ActiveCfg = Release|Any CPU + {2CAA56BC-2A80-4AFB-851D-0C698DF13069}.Release|x86.Build.0 = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|x64.ActiveCfg = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|x64.Build.0 = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|x86.ActiveCfg = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Debug|x86.Build.0 = Debug|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|Any CPU.Build.0 = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|x64.ActiveCfg = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|x64.Build.0 = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|x86.ActiveCfg = Release|Any CPU + {1C173B49-B93C-466E-92D1-96D41DC11FAF}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/core/PUBLISHING.md b/core/PUBLISHING.md new file mode 100644 index 000000000..fdc8ef305 --- /dev/null +++ b/core/PUBLISHING.md @@ -0,0 +1,74 @@ +# Publishing Nordstein.Core + +Nothing is published yet. This file records how to publish and, more importantly, what must be +settled first — each of these is hard or impossible to walk back once packages are in +consumers' caches. + +## Decide before the first publish + +### 1. Where the packages live + +Source stays private either way; the question is only who may restore the binaries. + +| Option | Restore auth | Consequence for Proxytrace | +|--------|--------------|----------------------------| +| **nuget.org**, public packages | none | Proxytrace stays publicly buildable | +| **GitHub Packages**, private | PAT required, no anonymous read | Only authenticated builds work — anyone cloning Proxytrace hits a 401 on restore | +| **Azure Artifacts**, private | PAT / credential provider | Same as above, nicer feed tooling | + +Proxytrace is currently public and Elastic-licensed, so a private feed would make it +unbuildable outside the organisation. Private source with public packages is the combination +that keeps both properties. If Proxytrace is going closed anyway, that constraint disappears +and GitHub Packages is the least setup. + +### 2. The licence + +`Directory.Build.props` packs `core/LICENSE`, currently a copy of Proxytrace's Elastic License +2.0, as a **placeholder**. A shared library distributed separately and consumed by products +that may not all be Elastic-licensed probably wants different terms. Settle this first: a +licence cannot be recalled from consumers who already restored the package. + +### 3. The package ID prefix + +Reserve the `Nordstein.*` prefix on nuget.org before the first public push, otherwise someone +else can take the next ID in the family. + +## Publishing + +Versioning is SemVer, one shared version across all Core packages, supplied by the pipeline: + +```bash +dotnet pack core/Nordstein.Core.sln -c Release -p:NordsteinCoreVersion=1.2.3 -o core/artifacts +dotnet nuget push "core/artifacts/*.nupkg" --source --api-key --skip-duplicate +``` + +The `.snupkg` symbol packages are pushed the same way and are worth pushing: without symbols and +SourceLink, stepping into Core from a consuming product stops working, which is the change +people notice and resent most about a package split. + +Publish CI-build prereleases (`1.3.0-ci.`) from every merge to Core's default branch, so a +product can validate an unreleased Core without a tag. The `core-package` CI job already builds +exactly these; it just does not push them. + +## Consuming a published version + +Set the version once, in the repository root `Directory.Build.props`: + +```xml +1.2.3 +``` + +Pin exact versions and let Dependabot raise the bumps. Floating ranges across several packages +turn one bad publish into a failure in every product at once, with no diff to point at. + +## Completing the split + +```bash +git subtree split --prefix=core -b core-extraction +# push that branch as the initial history of the Core repository +``` + +Then, in this repository: delete `core/`, and point `NordsteinCorePath` at a sibling checkout +(`../Core/`) so source mode keeps working for anyone with both repositories cloned. Everything +else — the `NordsteinCoreReference` items, the Dockerfile restore layers, CI — is already +written against the switch and does not change. diff --git a/core/README.md b/core/README.md new file mode 100644 index 000000000..99394ac38 --- /dev/null +++ b/core/README.md @@ -0,0 +1,55 @@ +# Nordstein.Core + +Product-agnostic foundation code shared across Nordstein applications. Nothing in here knows +what Proxytrace is; nothing in here may ever learn. + +| Package | Contents | +|---------|----------| +| [`Nordstein.Core.Common`](Nordstein.Core.Common) | Clock/randomness seams, async primitives, validation, type conversion, Autofac helpers, hosting defaults | +| [`Nordstein.Core.Testing`](Nordstein.Core.Testing) | `BaseTest` and the shared MSTest + AwesomeAssertions + NSubstitute harness | + +## Why it lives here for now + +Core is destined for its own private repository, published as NuGet packages. It sits under +`core/` in the Proxytrace repository as a **staging area** so the extraction can be validated — +packaging, namespaces, the dependency direction, CI — before anything is split or published. +Its history is confined to this prefix, so completing the move is a `git subtree split` on +`core/` rather than a copy that loses the past. + +The staging period is not free: nothing but review discipline stops a Proxytrace type from +being referenced in here, and the day that happens the extraction stops being possible. The two +guards against it are the standalone `Nordstein.Core.sln`, which CI builds and tests on its own, +and the `core-package` CI job, which rebuilds the product against the packed `.nupkg` files +instead of the sources. + +## The one rule + +**Core may not reference the product. Ever.** The dependency arrow points one way: Proxytrace +depends on Core. A Core type that needs to know about an agent, a trace, or a project belongs in +Proxytrace, not here — and if it feels like it belongs in both, it needs a seam (an interface +Core declares and the product implements), not a reference. + +## Consuming it + +A consuming project declares an item, not a reference: + +```xml + + + +``` + +`Directory.Build.targets` in the repository root expands it into either a `ProjectReference` +(source mode) or a `PackageReference` (package mode). See +[`docs/code-reuse.md`](../docs/code-reuse.md) for the full picture and +[`PUBLISHING.md`](PUBLISHING.md) for what still has to be decided before the first publish. + +## Building + +```bash +dotnet build core/Nordstein.Core.sln +dotnet test core/Nordstein.Core.sln +``` + +Core builds and tests without Proxytrace — that is the property being protected. If it ever +stops being true, the extraction has regressed. diff --git a/deploy/allinone/Dockerfile b/deploy/allinone/Dockerfile index 195c16965..88cdd9b19 100644 --- a/deploy/allinone/Dockerfile +++ b/deploy/allinone/Dockerfile @@ -48,11 +48,16 @@ ARG APP_VERSION=0.0.0-dev # production key. The dev/e2e/perf composes pass the test key; official images pass nothing. ARG LICENSE_PUBLIC_KEY= WORKDIR /src +# The Nordstein.Core reference expansion lives in these files, so restore needs them +# before the project files. Nordstein.Core.sln is what selects source mode (see +# Directory.Build.props); without it the image would silently restore package mode. +COPY ["Directory.Build.props", "Directory.Build.targets", "nuget.config", "./"] +COPY ["core/Directory.Build.props", "core/Nordstein.Core.sln", "core/"] +COPY ["core/Nordstein.Core.Common/Nordstein.Core.Common.csproj", "core/Nordstein.Core.Common/"] COPY ["Proxytrace.Api/Proxytrace.Api.csproj", "Proxytrace.Api/"] COPY ["Proxytrace.Proxy.Api/Proxytrace.Proxy.Api.csproj", "Proxytrace.Proxy.Api/"] COPY ["Proxytrace.Proxy/Proxytrace.Proxy.csproj", "Proxytrace.Proxy/"] COPY ["Proxytrace.Application/Proxytrace.Application.csproj", "Proxytrace.Application/"] -COPY ["Proxytrace.Common/Proxytrace.Common.csproj", "Proxytrace.Common/"] COPY ["Proxytrace.Domain/Proxytrace.Domain.csproj", "Proxytrace.Domain/"] COPY ["Proxytrace.Infrastructure/Proxytrace.Infrastructure.csproj", "Proxytrace.Infrastructure/"] COPY ["Proxytrace.Messaging/Proxytrace.Messaging.csproj", "Proxytrace.Messaging/"] diff --git a/docs/architecture.md b/docs/architecture.md index 714b0f34b..20c0d4c7f 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -3,11 +3,19 @@ Strict layered dependency flow — each layer may only depend on layers below it: ``` -Proxytrace.Api → Proxytrace.Application → Proxytrace.Domain → Proxytrace.Common - → Proxytrace.Infrastructure → Proxytrace.Domain + Proxytrace.Serialization → Proxytrace.Common +Proxytrace.Api → Proxytrace.Application → Proxytrace.Domain → Nordstein.Core.Common + → Proxytrace.Infrastructure → Proxytrace.Domain + Proxytrace.Serialization → Nordstein.Core.Common → Proxytrace.Storage → Proxytrace.Domain ``` +> **The bottom layer is not a Proxytrace project.** `Nordstein.Core.Common` (and its test-side +> sibling `Nordstein.Core.Testing`) are product-agnostic and live under [`core/`](../core/) as +> their own solution, on their way to a separate repository and NuGet packages. The dependency +> arrow only ever points *into* them — Core knows nothing about agents, traces or projects, and +> a change that would teach it belongs in `Proxytrace.Domain` instead. Consuming projects +> declare `` rather than a direct reference; see +> [`code-reuse.md`](code-reuse.md). + > **`Proxytrace.Storage` references only `Domain`** (+ `Serialization`/`Common` transitively) — it does > **not** reference `Application`. The secondary-port **interfaces** that `Storage` implements live in > `Domain` alongside the pure DTOs they expose: `ISecretProtector`/`ISecretHasher` (`Domain.Security`), @@ -33,12 +41,12 @@ Proxytrace.Api → Proxytrace.Application → Proxytrace.Domain → Proxyt - **Proxytrace.Infrastructure** — External service integration. `ModelClient` wraps `Microsoft.Extensions.AI` + the OpenAI SDK to invoke LLMs. - **Proxytrace.Serialization** — JSON serializers and output formats (`ISerializer`, `IOutputFormat`, `ObjectToInferredTypesConverter`). - **Proxytrace.Storage** — EF Core entities, configurations, mappers, migrations. Provider auto-detected (SQLite / PostgreSQL / SQL Server). -- **Proxytrace.Common** — Shared utilities: validation helpers, async/type extensions, DI extensions, randomness. +- **Nordstein.Core.Common** ([`core/`](../core/)) — Product-agnostic utilities: validation helpers, async/type extensions, DI extensions, clock and randomness seams, hosting defaults. - **Proxytrace.Proxy** — **Shared pipeline library** (classlib) for the OpenAI-compatible proxy route. Contains the MVC controller (`OpenAiProxyController`), the API-key resolver (`IApiKeyResolver`/`ApiKeyResolver` — **deliberately uncached**, straight from storage on every request so provider-key rotation/revocation takes effect on the next request and the proxy fails closed when the database is unreachable rather than serving stale credentials — #407), the blocking-rule provider (`IBlockingRuleProvider`/`CachedBlockingRuleProvider`), and the request blocker (`IRequestBlocker`/`RequestBlocker`). Its `Module` registers only the pipeline types and their supporting services (IMemoryCache, HTTP clients). References Domain + Infrastructure + Messaging + Storage **+ Licensing** (it does **not** reference Api **or Application** — directly or transitively). The host composition root is responsible for wiring storage, messaging, infrastructure, and licensing; the host also adds the library as an MVC application part so its controller is discovered (the controller assembly is **not** auto-discovered, so a host that does not add the part has no proxy route). This design allows both the standalone `Proxytrace.Proxy.Api` host and, in kiosk mode, `Proxytrace.Api` to mount the proxy route. **In-process kiosk mount:** `Proxytrace.Api` registers `Proxytrace.Proxy.Module` and adds the controller's application part **only when `Kiosk:Enabled` AND a live `Kiosk:Endpoint` is configured** — in production or kiosk-without-endpoint the pipeline services are absent and the `openai/v1/{**path}` routes never resolve. In that single-process kiosk, the controller publishes captured calls to the same in-process `IIngestionStream` (`Messaging__Provider=InProcess`, a shared singleton) that the app's `AgentCallIngestionWorker` consumes — no Redis, no separate container. The controller's kiosk guard refuses (503) only when kiosk has **no** live endpoint; with a live endpoint it serves so a sample client's OpenAI SDK `baseURL` can point at the kiosk API. Kiosk seeding also mints a fixed, config-known demo ingestion key (`Kiosk:DemoApiKey`, default `pk-kiosk-demo`) for the "Showcase Project", attached to the live provider and stored hashed like any operator-minted key (`DemoApiKeySeedScenario`). **Upstream response handling:** both branches send with `HttpCompletionOption.ResponseHeadersRead` and copy the body through in bounded chunks (never `ReadAsStringAsync`), forwarding every byte untruncated while capturing at most `MaxCapturedResponseChars` (16 MiB) for ingestion. Because `HttpClient.Timeout` stops applying the moment the response headers arrive, the buffered branch re-arms that **same** configured timeout (5 min — `Proxytrace.Proxy/Module.cs`, passed in rather than duplicated) as a linked `CancellationTokenSource` around its copy loop, so an upstream that sends headers and then stalls is cut off with a **504** and recorded as such instead of pinning a request, a socket and a thread-pool continuation until the client gives up ([#475](https://github.com/NordsteinSoftware/Proxytrace/issues/475)); a client abort stays distinguishable from that timeout and still propagates. The streaming branch splits SSE lines itself (bounded by `MaxForwardedLineChars`, 256 KiB) on **LF, CRLF or a lone CR** — all normalized to LF on the wire, as the `ReadLineAsync` it replaced did ([#480](https://github.com/NordsteinSoftware/Proxytrace/issues/480)). - **Proxytrace.Proxy.Api** — **Standalone** deployable host for the proxy pipeline (own `Program`/`Dockerfile`/`Module`). Loads `Proxytrace.Proxy.Module` for the shared pipeline and adds the host-lifecycle services: it deliberately constructs `Storage.Module` with `registerApplicationServices: false` and never registers `Application.Module`, so **no Application service runs in the proxy** (test runner, optimizer, ingestion worker, search indexing, demo seeder, …). It registers `Proxytrace.Infrastructure.Security.SecretProtectionModule` directly (needed to decrypt upstream provider keys — see docs/security.md), plus small local stubs for the factory delegates the storage model-building graph expects. The licensing module is registered with `ServerCheckEnabled = false` in **both** build flavors — the main app owns the license-server heartbeat and the offline-grace cache file in the shared data dir; the proxy only *consumes* the snapshot for use-time gating and keeps the DB-stored license fresh via a polling `ProxyStoredLicenseService` (host-only, lives in `Proxytrace.Proxy.Api.Internal`). - **Proxytrace.Messaging** — Ingestion transport between the proxy (producer) and the app's ingestion worker (consumer), via `IIngestionStream`. Backed by **Redis Streams** in production (`StackExchange.Redis`); backed by an in-memory channel in tests and single-process/kiosk runs. - **Proxytrace.Licensing** — License resolution and feature/limit gating via `ILicenseService`. Tiers, `LicenseFeature`/`LicenseLimit`, JWT public-key verification. See [`licensing.md`](licensing.md). -- **Proxytrace.Testing** — `BaseTest` and shared test infrastructure (MSTest + AwesomeAssertions + NSubstitute). +- **Nordstein.Core.Testing** ([`core/`](../core/)) — `BaseTest` and shared test infrastructure (MSTest + AwesomeAssertions + NSubstitute). - **Proxytrace.Client.Sample** — Console app demonstrating client-side usage of the API. - **frontend/** — React 19 + Vite + Tailwind CSS 4 SPA. @@ -68,7 +76,7 @@ Your Agent ──► Proxytrace.Proxy.Api ──► Upstream LLM provider ## Dependency Injection (Autofac) -DI is wired with Autofac. Each project ships a `Module : Autofac.Module` (`Proxytrace.Domain.Module`, `Proxytrace.Application.Module`, `Proxytrace.Storage.Module`, `Proxytrace.Infrastructure.Module`, `Proxytrace.Serialization.Module`, `Proxytrace.Common.Module`, `Proxytrace.Api.Module`, `Proxytrace.Proxy.Module` (pipeline lib), `Proxytrace.Proxy.Api.Module` (standalone host), `Proxytrace.Testing.Module`). `Proxytrace.Domain.Module` and `Proxytrace.Storage.Module` discover entities, generators, configurations, and repositories by reflection — no manual registrations for the standard entity pattern. The API serves the compiled React app from `wwwroot/` in production. +DI is wired with Autofac. Each project ships a `Module : Autofac.Module` (`Proxytrace.Domain.Module`, `Proxytrace.Application.Module`, `Proxytrace.Storage.Module`, `Proxytrace.Infrastructure.Module`, `Proxytrace.Serialization.Module`, `Nordstein.Core.Common.Module`, `Proxytrace.Api.Module`, `Proxytrace.Proxy.Module` (pipeline lib), `Proxytrace.Proxy.Api.Module` (standalone host), `Nordstein.Core.Testing.Module`). `Proxytrace.Domain.Module` and `Proxytrace.Storage.Module` discover entities, generators, configurations, and repositories by reflection — no manual registrations for the standard entity pattern. The API serves the compiled React app from `wwwroot/` in production. **Bridging to `IServiceCollection`.** Modules that need Microsoft-DI extension methods (`AddHttpClient`, `AddMemoryCache`, …) call `builder.RegisterServiceCollection(services => …)`, which fills a fresh `ServiceCollection` and `Populate`s it into Autofac. Those extension methods share their plumbing through `TryAdd`/`TryAddEnumerable`, which dedupes only **within one collection** — so every caller re-adds it and `Populate` faithfully registers each copy. Four modules calling `AddHttpClient` (Api, Application, Licensing, Proxy) therefore put four `IHttpMessageHandlerBuilderFilter`s in the container, and each one's logging handler wrapped every outgoing request: one upstream LLM call, logged four times ([#451](https://github.com/NordsteinSoftware/Proxytrace/issues/451)). `RegisterServiceCollection` now drops descriptors whose (service, implementation, lifetime) triple an earlier call already populated into the same container — an identical type-based registration can never mean two different things, while genuine multi-registrations use distinct implementation types and instance/factory descriptors are left alone. @@ -80,7 +88,7 @@ DI is wired with Autofac. Each project ships a `Module : Autofac.Module` (`Proxy Both process hosts (`Proxytrace.Api`, `Proxytrace.Proxy.Api`) call `AddResilientBackgroundServices()` from -[`Proxytrace.Common/Hosting/HostingServiceCollectionExtensions.cs`](../Proxytrace.Common/Hosting/HostingServiceCollectionExtensions.cs), +[`core/Nordstein.Core.Common/Hosting/HostingServiceCollectionExtensions.cs`](../core/Nordstein.Core.Common/Hosting/HostingServiceCollectionExtensions.cs), which sets `HostOptions.BackgroundServiceExceptionBehavior` to `Ignore`. .NET's default is `StopHost`: **one** throwing `BackgroundService` stops the whole host and the process exits with code **0** — a clean shutdown no restart policy treats as a failure, so the container just stays diff --git a/docs/ci.md b/docs/ci.md index be60c96d2..f40e6b013 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -25,6 +25,7 @@ Jobs are gated on which areas a diff touches, computed by the local composite ac | `frontend` | if `frontend/**` changed | if `frontend/**` changed | always | | `manual` | if `manual/**` changed | if `manual/**` changed | always | | `backend` | if .NET sources changed | if .NET sources changed | always | +| `core-package` | if .NET sources changed | if .NET sources changed | always | | `image` | if backend/frontend/`deploy/**`/Dockerfiles changed | skipped | always | | e2e | unless the diff is purely prose | unless the diff is purely prose | always | | CodeQL | only the affected languages | all languages | n/a | @@ -63,6 +64,20 @@ into a hard failure. GitHub-hosted runners always have Docker, so the only thing runner that lost it — which would otherwise silently drop the coverage rather than report it. See [`testing.md`](testing.md#container-backed-tests). +### The backend builds two solutions, `core-package` builds the second one twice + +`backend` restores, builds and tests `core/Nordstein.Core.sln` **before** `Proxytrace.sln`, and does +it as a separate solution rather than folding Core's projects into the product's. Core is on its way +to its own repository; the moment it only compiles as part of `Proxytrace.sln`, it is no longer +extractable and nobody finds out until the split is attempted. Note that Core's tests are **not** +covered by `dotnet test Proxytrace.sln` — a cross-cutting local run needs both solutions. + +`core-package` then packs Core and rebuilds the whole product against the resulting `.nupkg` files +with `-p:UseLocalCore=false`. Everyday project references hide two consumer-only failures: a type +that is public in source but never made it into the package surface, and a dependency Core forgot to +declare because source mode resolved it through the product's own graph. The packages are uploaded +as a build artifact but not pushed anywhere. See [`code-reuse.md`](code-reuse.md). + ### Adding a job to `ci.yml` Gate it as `inputs.full || `. Inside a reusable workflow `github.event_name` reports diff --git a/docs/code-reuse.md b/docs/code-reuse.md new file mode 100644 index 000000000..482dc3885 --- /dev/null +++ b/docs/code-reuse.md @@ -0,0 +1,108 @@ +# Code Reuse — Nordstein.Core + +Proxytrace is the first Nordstein product, not the only one. The parts of it that are not about +LLM tracing — the clock and randomness seams, validation helpers, Autofac wiring, hosting +defaults, the test harness — are the parts a second product would otherwise reimplement badly. +Those parts live in [`core/`](../core/) as **Nordstein.Core**, on their way to a separate private +repository and NuGet packages. + +This page is about the mechanism. [`core/PUBLISHING.md`](../core/PUBLISHING.md) covers the +decisions still open before anything is published. + +## What is in Core today + +| Package | Contents | +|---------|----------| +| `Nordstein.Core.Common` | `IClock`, `IRandom`, `IAsyncLock`, validation helpers, `ITypeConverter`, Autofac registration helpers, `AddResilientBackgroundServices`, `IAppVersion`, `Sha256`, slug/log-safe text helpers | +| `Nordstein.Core.Testing` | `BaseTest` and the MSTest + AwesomeAssertions + NSubstitute baseline | + +This is deliberately the least entangled slice. The bigger prizes — the domain-entity and +repository foundation (`AbstractRepository`, `AbstractEntityConfiguration`, `IRepository`, +`IDomainEntity`), and whole subsystems like licensing, audit logging, the secret-protection seam +and user/auth/MFA — are **not** extracted yet. See [What comes next](#what-comes-next). + +## The one rule + +**Core may not reference the product.** Proxytrace depends on Core; nothing points back. A Core +type that would need to know about an agent, a trace, or a project belongs in +`Proxytrace.Domain` instead. When something genuinely belongs on both sides, the split is an +interface Core declares and the product implements — not a reference. + +Two things enforce it rather than trusting review: + +- `core/Nordstein.Core.sln` builds and tests standalone, and CI runs it that way. +- The `core-package` CI job packs Core and rebuilds the whole product against the `.nupkg` + files. That is what catches a type that is public in source but missing from the package + surface, and a dependency Core forgot to declare because source mode resolved it through + Proxytrace's own graph. + +## How a project consumes Core + +Declare an item, not a reference: + +```xml + + + +``` + +[`Directory.Build.targets`](../Directory.Build.targets) expands it into one of two things: + +| Mode | Expansion | When | +|------|-----------|------| +| **source** | `ProjectReference` into `core/` | `core/Nordstein.Core.sln` exists (the default today) | +| **package** | `PackageReference` at `$(NordsteinCoreVersion)` | `-p:UseLocalCore=false`, or Core's sources are absent | + +The indirection exists so a Core change stays a one-build edit. Without it, every cross-boundary +change becomes edit → pack → bump → restore → retest, and the predictable result is that nobody +makes small Core improvements any more — they copy the code into the product instead, which is +the exact failure the extraction is meant to prevent. + +Both modes are exercised on every backend CI run, so neither can rot. + +### Overrides + +```bash +# force package mode against a locally packed feed +dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev \ + -p:RestoreAdditionalProjectSources=core/artifacts + +# point at a sibling Core checkout (what this becomes once Core is its own repository) +dotnet build Proxytrace.sln -p:NordsteinCorePath=../Core/ +``` + +The version lives in one place, [`Directory.Build.props`](../Directory.Build.props), so a Core +bump is a one-line diff. + +## Why `core/` is still inside this repository + +Core is staged here rather than extracted in one move, so the mechanism could be validated — +packaging, namespaces, dependency direction, Docker restore layers, CI — before a second +repository exists to get any of it wrong. Its history is confined to the `core/` prefix, so +completing the move is a `git subtree split` on that prefix, not a copy that drops the past. + +The cost of staging is that only the two guards above keep the boundary honest. Do not weaken +them. + +## What comes next + +Roughly in order of value per unit of pain: + +1. **The domain/storage foundation** — `IDomainEntity`, `IRepository`, `AbstractRepository`, + `AbstractEntityConfiguration`, `Entity`, `EntityCache`, `AmbientDbContext`, + `StorageConfiguration`. Three things block it: `Domain.Module`/`Storage.Module` discover + types by reflecting over `typeof(Module).Assembly`, so the scan must take the consuming + product's assemblies as a parameter; almost all of the Storage foundation is `internal` and + reachable only through `InternalsVisibleTo`, so the seams must become public API; and + `MigrationsAssembly` currently pins migrations to `Proxytrace.Storage`, so Core must ship + none and each product must own its own migrations assembly. +2. **Licensing** — `Proxytrace.Licensing` is already product-agnostic (tiers, features, limits, + JWT verification, offline grace). Mostly a move. +3. **Cross-cutting subsystems** — the secret-protection seam, the audit-log pipeline, + user/auth/MFA/invites/API keys, the application-error log, notifications, the SSE broadcaster + infrastructure. +4. **Frontend** — the `frontend/src/components/ui/` primitives, the Lingui setup and the SSE + hooks, as an `@nordstein/ui` npm package. Same question, different registry; do it after the + backend split rather than alongside it. + +Never extracted: anything that knows what an agent, a trace, an evaluator or a test run is. diff --git a/docs/code-style.md b/docs/code-style.md index b87408d2e..eeeb1090c 100644 --- a/docs/code-style.md +++ b/docs/code-style.md @@ -40,7 +40,7 @@ ## Concurrency - **Always use `IAsyncLock` for in-process concurrency control.** Inject it via DI - (`IAsyncLock` from `Proxytrace.Common.Async`, registered in `Proxytrace.Common.Module`). + (`IAsyncLock` from `Nordstein.Core.Common.Async`, registered in `Nordstein.Core.Common.Module`). Never use `lock`/`Monitor`, `SemaphoreSlim`, `Mutex`, or other raw synchronization primitives directly in feature code — they are not safe to hold across `await`, and a hand-rolled lock bypasses the shared, keyed implementation. diff --git a/docs/commands.md b/docs/commands.md index a2c208d57..c2888ebe8 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -10,6 +10,28 @@ dotnet test Proxytrace.sln # Run all tests (cross-cutting changes / cd Proxytrace.Api && dotnet run # Start API on http://localhost:5001 ``` +### Nordstein.Core + +The shared foundation under [`core/`](../core/) is its own solution and is **not** part of +`Proxytrace.sln`. Building the product builds it too (through the project references), but it must +also keep standing alone — that is the property that keeps it extractable: + +```bash +dotnet build core/Nordstein.Core.sln # Core on its own +dotnet test core/Nordstein.Core.sln # Core's tests (not included in the Proxytrace.sln run) +``` + +To check the product against the packed packages instead of the sources — what a consumer that has +no Proxytrace checkout sees: + +```bash +dotnet pack core/Nordstein.Core.sln -c Release -p:NordsteinCoreVersion=0.1.0-dev -o core/artifacts +dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev \ + -p:RestoreAdditionalProjectSources=core/artifacts +``` + +CI does both (`backend` and `core-package`). See [`code-reuse.md`](code-reuse.md). + **Scope your test runs.** The full solution run is ~2,200 tests across 10 projects and CI runs it on every push — locally, run only the projects (or classes) affected by your change. See [`testing.md`](testing.md#which-tests-to-run) for the mapping from changed code to test project. diff --git a/docs/releasing.md b/docs/releasing.md index 6b3174230..c5fea583c 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -17,7 +17,7 @@ Propagation: full SemVer incl. prerelease suffix) from it. `IncludeSourceRevisionInInformationalVersion` is disabled so no `+` suffix leaks into UI strings. - Backend code reads the version **only** through `IAppVersion` - (`Proxytrace.Common/Hosting/IAppVersion.cs`, registered in `Common.Module`), which reads the + (`core/Nordstein.Core.Common/Hosting/IAppVersion.cs`, registered in `Nordstein.Core.Common.Module`), which reads the `AssemblyInformationalVersionAttribute`. Never read `Assembly.GetName().Version` (it loses the prerelease suffix). Consumers: dashboard telemetry, the license-server check payload, `GET /api/config` (`version` field), and the update check. diff --git a/docs/security.md b/docs/security.md index 934cba7f4..d6e1edba8 100644 --- a/docs/security.md +++ b/docs/security.md @@ -44,7 +44,7 @@ and the lean ingestion proxy can reach without loading `Application`. + log) rather than crashing a hot path — see `ModelProviderConfig.Decrypt` and `EmailSettingsStore.DecryptPassword`. - **`ISecretHasher`** — `Hash(value)` → hex SHA-256 (`Sha256SecretHasher`, delegating to the shared - `Proxytrace.Common.Security.Sha256.HexHash`). Deterministic and **key-ring-independent**, so the + `Nordstein.Core.Common.Security.Sha256.HexHash`). Deterministic and **key-ring-independent**, so the verify paths keep working even if `PROXYTRACE_DATA_DIR` is lost. Unkeyed SHA-256 is safe **only** because every secret it covers is a 256-bit CSPRNG value Proxytrace generated itself (inbound API keys, invite tokens, password-reset tokens) — a dump cannot reverse or forge them. **Not for @@ -58,7 +58,7 @@ and the lean ingestion proxy can reach without loading `Application`. wordlist in seconds, undoing the column encryption sitting right beside them. The HMAC key is not in the database, so the dump alone is no longer enough. -`Sha256` lives in `Proxytrace.Common` so the `Domain` layer (entity generators) can hash without +`Sha256` lives in `Nordstein.Core.Common` so the `Domain` layer (entity generators) can hash without referencing `Application`. ### A missing `PROXYTRACE_DATA_DIR` must be loud diff --git a/docs/testing.md b/docs/testing.md index d6efb86d3..54396bb8c 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -22,7 +22,8 @@ once a scoped run is green, do not re-run the full suite to "make sure". | A service, optimizer, or the run loop | `dotnet test Proxytrace.Application.Tests` | | One class/area inside a project | `dotnet test --filter "FullyQualifiedName~"` | | Frontend components/hooks | `npm test -- ` (from `frontend/`) | -| `Proxytrace.Common`, `Proxytrace.Testing`, DI/module wiring, a shared interface signature, a package bump, a release | `dotnet test Proxytrace.sln` | +| `Nordstein.Core.Common`, `Nordstein.Core.Testing` (under `core/`) | `dotnet test core/Nordstein.Core.sln` **and** `dotnet test Proxytrace.sln` — Core's tests are not in the product solution | +| DI/module wiring, a shared interface signature, a package bump, a release | `dotnet test Proxytrace.sln` | Add `--no-restore` (and `--no-build` when nothing changed since the last build) to skip repeat work. diff --git a/docs/validation.md b/docs/validation.md index 5863f4551..0cf28df06 100644 --- a/docs/validation.md +++ b/docs/validation.md @@ -1,6 +1,6 @@ # Domain Validation -Domain entities are validated by Autofac on activation (`OnActivated` runs `Validator.ValidateObject`) and again before repository `Add`/`Update`. Override `Validate(ValidationContext)` and yield `base.Validate(...)` first. Use helpers from `Proxytrace.Common.Validation`: +Domain entities are validated by Autofac on activation (`OnActivated` runs `Validator.ValidateObject`) and again before repository `Add`/`Update`. Override `Validate(ValidationContext)` and yield `base.Validate(...)` first. Use helpers from `Nordstein.Core.Common.Validation`: ```csharp Validation.NotNullOrWhiteSpace(Name, nameof(Name)) // note: capital S in "WhiteSpace" diff --git a/nuget.config b/nuget.config new file mode 100644 index 000000000..32a6ff08d --- /dev/null +++ b/nuget.config @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/perf/Proxytrace.Benchmarks/BenchFixture.cs b/perf/Proxytrace.Benchmarks/BenchFixture.cs index c08364478..bd55f0421 100644 --- a/perf/Proxytrace.Benchmarks/BenchFixture.cs +++ b/perf/Proxytrace.Benchmarks/BenchFixture.cs @@ -3,8 +3,8 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using NSubstitute; -using Proxytrace.Common.DependencyInjection; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.DependencyInjection; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain; using Proxytrace.Domain.Completion; using Proxytrace.Domain.Inference; @@ -12,7 +12,7 @@ using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.Benchmarks; diff --git a/perf/Proxytrace.Benchmarks/Proxytrace.Benchmarks.csproj b/perf/Proxytrace.Benchmarks/Proxytrace.Benchmarks.csproj index 064285519..92f2af0eb 100644 --- a/perf/Proxytrace.Benchmarks/Proxytrace.Benchmarks.csproj +++ b/perf/Proxytrace.Benchmarks/Proxytrace.Benchmarks.csproj @@ -21,8 +21,8 @@ - - + + diff --git a/perf/Proxytrace.Benchmarks/SerializationBenchmarks.cs b/perf/Proxytrace.Benchmarks/SerializationBenchmarks.cs index 9c6275a1e..e1895c2fb 100644 --- a/perf/Proxytrace.Benchmarks/SerializationBenchmarks.cs +++ b/perf/Proxytrace.Benchmarks/SerializationBenchmarks.cs @@ -1,6 +1,6 @@ using Autofac; using BenchmarkDotNet.Attributes; -using Proxytrace.Common.Serialization; +using Nordstein.Core.Common.Serialization; using Proxytrace.Domain.Message; namespace Proxytrace.Benchmarks; diff --git a/perf/Proxytrace.PerfHarness/Bootstrap/PerfModule.cs b/perf/Proxytrace.PerfHarness/Bootstrap/PerfModule.cs index 2d5e98a0c..179c3e371 100644 --- a/perf/Proxytrace.PerfHarness/Bootstrap/PerfModule.cs +++ b/perf/Proxytrace.PerfHarness/Bootstrap/PerfModule.cs @@ -4,14 +4,14 @@ using Microsoft.Extensions.Hosting; using NSubstitute; using Proxytrace.Application.TestRun; -using Proxytrace.Common.DependencyInjection; +using Nordstein.Core.Common.DependencyInjection; using Proxytrace.Domain.Agent; using Proxytrace.Domain.ModelEndpoint; using Proxytrace.Domain.ModelProvider; using Proxytrace.Domain.Project; using Proxytrace.Domain.Prompt; using Proxytrace.Storage; -using Proxytrace.Testing; +using Nordstein.Core.Testing; namespace Proxytrace.PerfHarness.Bootstrap; @@ -23,7 +23,7 @@ namespace Proxytrace.PerfHarness.Bootstrap; /// /// It mirrors Proxytrace.Application.Tests.Module (the proven graph that resolves the whole /// ingestion + statistics + repository stack) but points storage at Postgres and inlines the few -/// base registrations from the internal Proxytrace.Testing.Module (service provider, host +/// base registrations from the internal Nordstein.Core.Testing.Module (service provider, host /// environment, logging, data protection). Infrastructure interfaces that would otherwise reach out /// to a real LLM / SMTP / search backend are substituted: ingestion only parses already-captured /// request/response bodies and persists them, so it never calls the model client. @@ -42,7 +42,7 @@ protected override void Load(ContainerBuilder builder) { base.Load(builder); - // --- base registrations mirrored from the internal Proxytrace.Testing.Module --- + // --- base registrations mirrored from the internal Nordstein.Core.Testing.Module --- builder .Register(sp => new AutofacServiceProvider(sp.Resolve())) .As(); diff --git a/perf/Proxytrace.PerfHarness/Proxytrace.PerfHarness.csproj b/perf/Proxytrace.PerfHarness/Proxytrace.PerfHarness.csproj index d6f0242eb..2b87535a5 100644 --- a/perf/Proxytrace.PerfHarness/Proxytrace.PerfHarness.csproj +++ b/perf/Proxytrace.PerfHarness/Proxytrace.PerfHarness.csproj @@ -25,7 +25,7 @@ registers Infrastructure's SecretProtectionModule directly (see PerfModule). --> - + diff --git a/perf/Proxytrace.PerfHarness/Scenarios/ApiKeyResolutionScenario.cs b/perf/Proxytrace.PerfHarness/Scenarios/ApiKeyResolutionScenario.cs index be8b57914..3e1c6ecfc 100644 --- a/perf/Proxytrace.PerfHarness/Scenarios/ApiKeyResolutionScenario.cs +++ b/perf/Proxytrace.PerfHarness/Scenarios/ApiKeyResolutionScenario.cs @@ -1,6 +1,6 @@ using Autofac; -using Proxytrace.Common.Security; -using Proxytrace.Common.Text; +using Nordstein.Core.Common.Security; +using Nordstein.Core.Common.Text; using Proxytrace.Domain; using Proxytrace.Domain.ApiKey; using Proxytrace.Domain.ModelProvider; From 74ddae3d75abb953b362873da3e1d524b586a896 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 06:30:10 +0000 Subject: [PATCH 2/3] fix(core): resolve the local package feed by absolute path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `core-package` CI job failed on every project with NU1301: The local source '.../Proxytrace.Domain/core/artifacts' doesn't exist NuGet resolves a relative `RestoreAdditionalProjectSources` against each *project* directory rather than the repository root, so passing `core/artifacts` on the command line asks for `Proxytrace.Domain/core/artifacts` and every project misses. Worse, the failure is invisible whenever the packages are already in the global packages folder: NuGet never reaches for the source, so a local run that has restored them once before passes and only a cold cache — CI — fails. That is how this shipped. The source is now added in Directory.Build.props, built from $(MSBuildThisFileDirectory) so it is absolute and no caller can get the relative form wrong, and gated on the directory existing so a real package-mode build against a published feed is unaffected. The CI job, nuget.config and the docs drop the flag. Verified with the packages deleted from ~/.nuget/packages first, so the restore genuinely has to reach the feed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01VA7JB61dw77kiymoNoeGqt --- .github/workflows/ci.yml | 4 +++- Directory.Build.props | 13 +++++++++++++ docs/code-reuse.md | 7 ++++--- docs/commands.md | 3 +-- nuget.config | 6 ++++-- 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4eca2d525..a84f02587 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -221,12 +221,14 @@ jobs: -p:NordsteinCoreVersion=0.1.0-ci.${{ github.run_number }} -o core/artifacts + # The local feed is picked up from core/artifacts by Directory.Build.props; it is not + # passed here, because a relative source path resolves per project directory and silently + # only fails once the packages are absent from the global cache. - name: Build the product against the packages run: >- dotnet build Proxytrace.sln --nologo -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-ci.${{ github.run_number }} - -p:RestoreAdditionalProjectSources=core/artifacts - name: Upload packages uses: actions/upload-artifact@v4 diff --git a/Directory.Build.props b/Directory.Build.props index 9d75d5414..8eaa7168f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -42,4 +42,17 @@ 0.1.0-dev + + + + $(RestoreAdditionalProjectSources);$(MSBuildThisFileDirectory)core/artifacts + diff --git a/docs/code-reuse.md b/docs/code-reuse.md index 482dc3885..c8257f575 100644 --- a/docs/code-reuse.md +++ b/docs/code-reuse.md @@ -63,9 +63,10 @@ Both modes are exercised on every backend CI run, so neither can rot. ### Overrides ```bash -# force package mode against a locally packed feed -dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev \ - -p:RestoreAdditionalProjectSources=core/artifacts +# force package mode against a locally packed feed (Directory.Build.props adds core/artifacts +# as a restore source by absolute path whenever it exists — do not pass a relative source, NuGet +# resolves it per project directory) +dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev # point at a sibling Core checkout (what this becomes once Core is its own repository) dotnet build Proxytrace.sln -p:NordsteinCorePath=../Core/ diff --git a/docs/commands.md b/docs/commands.md index c2888ebe8..be75af842 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -26,8 +26,7 @@ no Proxytrace checkout sees: ```bash dotnet pack core/Nordstein.Core.sln -c Release -p:NordsteinCoreVersion=0.1.0-dev -o core/artifacts -dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev \ - -p:RestoreAdditionalProjectSources=core/artifacts +dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev ``` CI does both (`backend` and `core-package`). See [`code-reuse.md`](code-reuse.md). diff --git a/nuget.config b/nuget.config index 32a6ff08d..80d66d12b 100644 --- a/nuget.config +++ b/nuget.config @@ -10,8 +10,10 @@ (a missing local source directory makes restore fail for everyone): dotnet pack core/Nordstein.Core.sln -c Release -p:NordsteinCoreVersion=0.1.0-dev -o core/artifacts - dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev \ - -p:RestoreAdditionalProjectSources=core/artifacts + dotnet build Proxytrace.sln -p:UseLocalCore=false -p:NordsteinCoreVersion=0.1.0-dev + + Directory.Build.props adds core/artifacts as a restore source, by absolute path, whenever + that directory exists. When Core is published for real, add that feed here. --> From 0efa3b0678d2aed1c1e6dc2fe448e4965739c632 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 07:58:55 +0000 Subject: [PATCH 3/3] fix(core): make the extracted repository actually build standalone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dry-running the extraction turned up two things that would have bitten on the day of the split. 1. core/Directory.Build.props imported the parent Directory.Build.props unconditionally. In its own repository there is no file above it, GetPathOfFileAbove returns empty, and `` fails with MSB4020 before a single project compiles — the extracted repository would not have built at all. The import is now conditional, and the three things the parent supplies that Core actually needs (TreatWarningsAsErrors, IncludeSourceRevisionInInformationalVersion, the NordsteinCoreVersion default) are defaulted locally, so both layouts behave identically. Verified by splitting core/ into a scratch worktree: it builds, its 198 tests pass, and it packs. Nested in Proxytrace it is unchanged (Version 0.1.0-dev, warnings still errors). 2. The docs claimed `git subtree split --prefix=core` would complete the move "rather than a copy that loses the past". It does not. Subtree split filters strictly by path and does not follow renames, and everything under core/ was git mv'd from Proxytrace.Common/ and friends — so it produces exactly one commit. Measured, not assumed. `git filter-repo` with the pre-move paths mapped onto the current ones keeps the real history: 7 commits on this repository, back through the changes that shaped the code. PUBLISHING.md now carries that recipe, the ordering constraint on the renames, and the standalone build/test/pack check to run before pushing the new repository. README.md and docs/code-reuse.md are corrected to match. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01VA7JB61dw77kiymoNoeGqt --- core/Directory.Build.props | 22 +++++++++++--- core/PUBLISHING.md | 61 ++++++++++++++++++++++++++++++++++---- core/README.md | 8 +++-- docs/code-reuse.md | 9 ++++-- 4 files changed, 86 insertions(+), 14 deletions(-) diff --git a/core/Directory.Build.props b/core/Directory.Build.props index e6235d1ad..60c08b49a 100644 --- a/core/Directory.Build.props +++ b/core/Directory.Build.props @@ -1,14 +1,28 @@ - - + + $([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)../')) + + + + + + true + false + + 0.1.0-dev $(NordsteinCoreVersion) net10.0 diff --git a/core/PUBLISHING.md b/core/PUBLISHING.md index fdc8ef305..e510b2397 100644 --- a/core/PUBLISHING.md +++ b/core/PUBLISHING.md @@ -63,12 +63,61 @@ turn one bad publish into a failure in every product at once, with no diff to po ## Completing the split +### Do not use `git subtree split` + +The obvious command is the wrong one: + +```bash +git subtree split --prefix=core -b core-extraction # DON'T +``` + +It filters strictly by path and **does not follow renames**. Everything now under `core/` was +`git mv`'d there from `Proxytrace.Common/`, `Proxytrace.Common.Tests/` and `Proxytrace.Testing/`, +so a subtree split sees only the move commit onward. Measured on this repository: **1 commit**. +That is a copy with extra steps — every `git blame` and `git log` on the extracted code would +dead-end at the extraction. + +### Use `git filter-repo` + +It can map the old paths onto the new ones, so the pre-move history comes along. On the same +repository this yields **7 commits**, back through the changes that actually shaped this code +(#371, #465, #484, #508 and the background-service hosting fix). + ```bash -git subtree split --prefix=core -b core-extraction -# push that branch as the initial history of the Core repository +pip install git-filter-repo + +# filter-repo rewrites history in place — always run it on a throwaway clone +git clone --no-local ../core-extraction +cd ../core-extraction + +git filter-repo \ + --path Proxytrace.Common.Tests --path Proxytrace.Common --path Proxytrace.Testing --path core \ + --path-rename Proxytrace.Common.Tests/:Nordstein.Core.Common.Tests/ \ + --path-rename Proxytrace.Common/:Nordstein.Core.Common/ \ + --path-rename Proxytrace.Testing/:Nordstein.Core.Testing/ \ + --path-rename core/: ``` -Then, in this repository: delete `core/`, and point `NordsteinCorePath` at a sibling checkout -(`../Core/`) so source mode keeps working for anyone with both repositories cloned. Everything -else — the `NordsteinCoreReference` items, the Dockerfile restore layers, CI — is already -written against the switch and does not change. +Keep the `.Tests` rename **before** the `Proxytrace.Common/` one: renames apply in order and +first match wins. + +Then verify before pushing anywhere — the extracted repository has no parent directory to inherit +from, which is exactly the kind of thing that only shows up here: + +```bash +dotnet build Nordstein.Core.sln +dotnet test Nordstein.Core.sln +dotnet pack Nordstein.Core.sln -c Release -p:NordsteinCoreVersion=1.0.0 -o ./out +``` + +Finally push it as the Core repository's initial history. + +### Then, in this repository + +Delete `core/` and point `NordsteinCorePath` at a sibling checkout (`../Core/`) so source mode +keeps working for anyone with both repositories cloned. Everything else — the +`NordsteinCoreReference` items, the Dockerfile restore layers, CI — is already written against +the switch and does not change. + +Also drop the `core/` entries from the Dockerfile restore layers and from `detect-changes`'s +`backend` path regex at that point; they exist only while Core is staged here. diff --git a/core/README.md b/core/README.md index 99394ac38..7282e2ff7 100644 --- a/core/README.md +++ b/core/README.md @@ -13,8 +13,12 @@ what Proxytrace is; nothing in here may ever learn. Core is destined for its own private repository, published as NuGet packages. It sits under `core/` in the Proxytrace repository as a **staging area** so the extraction can be validated — packaging, namespaces, the dependency direction, CI — before anything is split or published. -Its history is confined to this prefix, so completing the move is a `git subtree split` on -`core/` rather than a copy that loses the past. + +Completing the move keeps the history, but **not** via `git subtree split`: that filters by path +without following renames, and everything here was `git mv`'d from `Proxytrace.Common/` and +friends, so it would yield a single commit. `git filter-repo` with the old paths mapped onto the +new ones carries the real history across. The verified recipe is in +[`PUBLISHING.md`](PUBLISHING.md#completing-the-split). The staging period is not free: nothing but review discipline stops a Proxytrace type from being referenced in here, and the day that happens the extraction stops being possible. The two diff --git a/docs/code-reuse.md b/docs/code-reuse.md index c8257f575..4c77ec9a9 100644 --- a/docs/code-reuse.md +++ b/docs/code-reuse.md @@ -79,12 +79,17 @@ bump is a one-line diff. Core is staged here rather than extracted in one move, so the mechanism could be validated — packaging, namespaces, dependency direction, Docker restore layers, CI — before a second -repository exists to get any of it wrong. Its history is confined to the `core/` prefix, so -completing the move is a `git subtree split` on that prefix, not a copy that drops the past. +repository exists to get any of it wrong. The cost of staging is that only the two guards above keep the boundary honest. Do not weaken them. +When the move is completed, use `git filter-repo` with the pre-move paths mapped onto the current +ones — **not** `git subtree split`, which filters by path without following renames and would +reduce this code's history to the single commit that moved it. The verified commands, and the +standalone build/test/pack check to run before pushing the new repository, are in +[`core/PUBLISHING.md`](../core/PUBLISHING.md#completing-the-split). + ## What comes next Roughly in order of value per unit of pain: