This commit is contained in:
2025-12-16 11:52:26 +01:00
parent ce82b7822b
commit 9a891ac8b3
586 changed files with 1320 additions and 1563 deletions

View File

@@ -5,40 +5,40 @@ import * as path from 'path';
import * as os from 'os';
// Domain & Application
import type { SessionRepositoryPort } from '@gridpilot/automation/application/ports/SessionRepositoryPort';
import type { IBrowserAutomation } from '@gridpilot/automation/application/ports/ScreenAutomationPort';
import type { AutomationEnginePort } from '@gridpilot/automation/application/ports/AutomationEnginePort';
import type { AuthenticationServicePort } from '@gridpilot/automation/application/ports/AuthenticationServicePort';
import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort';
import type { OverlaySyncPort } from '@gridpilot/automation/application/ports/OverlaySyncPort';
import type { CheckoutServicePort } from '@gridpilot/automation/application/ports/CheckoutServicePort';
import { StartAutomationSessionUseCase } from '@gridpilot/automation/application/use-cases/StartAutomationSessionUseCase';
import { CheckAuthenticationUseCase } from '@gridpilot/automation/application/use-cases/CheckAuthenticationUseCase';
import { InitiateLoginUseCase } from '@gridpilot/automation/application/use-cases/InitiateLoginUseCase';
import { ClearSessionUseCase } from '@gridpilot/automation/application/use-cases/ClearSessionUseCase';
import { ConfirmCheckoutUseCase } from '@gridpilot/automation/application/use-cases/ConfirmCheckoutUseCase';
import { OverlaySyncService } from '@gridpilot/automation/application/services/OverlaySyncService';
import type { IAutomationLifecycleEmitter } from '@gridpilot/automation/infrastructure//IAutomationLifecycleEmitter';
import type { SessionRepositoryPort } from '@core/automation/application/ports/SessionRepositoryPort';
import type { IBrowserAutomation } from '@core/automation/application/ports/ScreenAutomationPort';
import type { AutomationEnginePort } from '@core/automation/application/ports/AutomationEnginePort';
import type { AuthenticationServicePort } from '@core/automation/application/ports/AuthenticationServicePort';
import type { LoggerPort } from '@core/automation/application/ports/LoggerPort';
import type { OverlaySyncPort } from '@core/automation/application/ports/OverlaySyncPort';
import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort';
import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase';
import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase';
import { InitiateLoginUseCase } from '@core/automation/application/use-cases/InitiateLoginUseCase';
import { ClearSessionUseCase } from '@core/automation/application/use-cases/ClearSessionUseCase';
import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase';
import { OverlaySyncService } from '@core/automation/application/services/OverlaySyncService';
import type { IAutomationLifecycleEmitter } from '@core/automation/infrastructure//IAutomationLifecycleEmitter';
// Infrastructure
import { InMemorySessionRepository } from '@gridpilot/automation/infrastructure/repositories/InMemorySessionRepository';
import { InMemorySessionRepository } from '@core/automation/infrastructure/repositories/InMemorySessionRepository';
import {
MockBrowserAutomationAdapter,
PlaywrightAutomationAdapter,
AutomationAdapterMode,
FixtureServer,
} from '@gridpilot/automation/infrastructure//automation';
import { MockAutomationEngineAdapter } from '@gridpilot/automation/infrastructure//automation/engine/MockAutomationEngineAdapter';
import { AutomationEngineAdapter } from '@gridpilot/automation/infrastructure//automation/engine/AutomationEngineAdapter';
import { ConsoleLogAdapter } from '@gridpilot/automation/infrastructure//logging/ConsoleLogAdapter';
import { NoOpLogAdapter } from '@gridpilot/automation/infrastructure//logging/NoOpLogAdapter';
} from '@core/automation/infrastructure//automation';
import { MockAutomationEngineAdapter } from '@core/automation/infrastructure//automation/engine/MockAutomationEngineAdapter';
import { AutomationEngineAdapter } from '@core/automation/infrastructure//automation/engine/AutomationEngineAdapter';
import { ConsoleLogAdapter } from '@core/automation/infrastructure//logging/ConsoleLogAdapter';
import { NoOpLogAdapter } from '@core/automation/infrastructure//logging/NoOpLogAdapter';
import {
loadAutomationConfig,
getAutomationMode,
AutomationMode,
BrowserModeConfigLoader,
} from '@gridpilot/automation/infrastructure/config';
import { loadLoggingConfig } from '@gridpilot/automation/infrastructure/config/LoggingConfig';
} from '@core/automation/infrastructure/config';
import { loadLoggingConfig } from '@core/automation/infrastructure/config/LoggingConfig';
// Electron app safe wrapper
let electronApp: {

View File

@@ -1,21 +1,21 @@
import 'reflect-metadata';
import { configureDIContainer, resetDIContainer, getDIContainer, resolveSessionDataPath, resolveTemplatePath } from './di-config';
import { DI_TOKENS } from './di-tokens';
import { PlaywrightAutomationAdapter, FixtureServer } from '@gridpilot/automation/infrastructure//automation';
import { StartAutomationSessionUseCase } from '@gridpilot/automation/application/use-cases/StartAutomationSessionUseCase';
import { CheckAuthenticationUseCase } from '@gridpilot/automation/application/use-cases/CheckAuthenticationUseCase';
import { InitiateLoginUseCase } from '@gridpilot/automation/application/use-cases/InitiateLoginUseCase';
import { ClearSessionUseCase } from '@gridpilot/automation/application/use-cases/ClearSessionUseCase';
import { ConfirmCheckoutUseCase } from '@gridpilot/automation/application/use-cases/ConfirmCheckoutUseCase';
import { getAutomationMode, AutomationMode, BrowserModeConfigLoader } from '@gridpilot/automation/infrastructure/config';
import type { SessionRepositoryPort } from '@gridpilot/automation/application/ports/SessionRepositoryPort';
import type { IBrowserAutomation } from '@gridpilot/automation/application/ports/ScreenAutomationPort';
import type { AutomationEnginePort } from '@gridpilot/automation/application/ports/AutomationEnginePort';
import type { AuthenticationServicePort } from '@gridpilot/automation/application/ports/AuthenticationServicePort';
import type { CheckoutConfirmationPort } from '@gridpilot/automation/application/ports/CheckoutConfirmationPort';
import type { CheckoutServicePort } from '@gridpilot/automation/application/ports/CheckoutServicePort';
import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort';
import type { OverlaySyncPort } from '@gridpilot/automation/application/ports/OverlaySyncPort';
import { PlaywrightAutomationAdapter, FixtureServer } from '@core/automation/infrastructure//automation';
import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase';
import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase';
import { InitiateLoginUseCase } from '@core/automation/application/use-cases/InitiateLoginUseCase';
import { ClearSessionUseCase } from '@core/automation/application/use-cases/ClearSessionUseCase';
import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase';
import { getAutomationMode, AutomationMode, BrowserModeConfigLoader } from '@core/automation/infrastructure/config';
import type { SessionRepositoryPort } from '@core/automation/application/ports/SessionRepositoryPort';
import type { IBrowserAutomation } from '@core/automation/application/ports/ScreenAutomationPort';
import type { AutomationEnginePort } from '@core/automation/application/ports/AutomationEnginePort';
import type { AuthenticationServicePort } from '@core/automation/application/ports/AuthenticationServicePort';
import type { CheckoutConfirmationPort } from '@core/automation/application/ports/CheckoutConfirmationPort';
import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort';
import type { LoggerPort } from '@core/automation/application/ports/LoggerPort';
import type { OverlaySyncPort } from '@core/automation/application/ports/OverlaySyncPort';
// Re-export for backward compatibility
export { resolveSessionDataPath, resolveTemplatePath };

View File

@@ -1,5 +1,5 @@
import React, { useState } from 'react';
import type { HostedSessionConfig } from '../../../../core/automation/domain/types/HostedSessionConfig';
import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig';
interface SessionCreationFormProps {
onSubmit: (config: HostedSessionConfig) => void;