feat(scenario): shared browser per run, sign step type, key loading helper

- all steps in a run share one browser/page instance so wizard state persists
- add 'sign' step type: execCode is {keyId} and signs via EDS widget on current page
- extract AuthService.loadKeyDescriptor() to deduplicate key file parsing
- extend StepType, DTOs, and MCP enums to include 'sign'
This commit is contained in:
2026-04-08 15:42:42 +03:00
parent eeece70866
commit e85acc8fb2
7 changed files with 376 additions and 61 deletions
+2 -2
View File
@@ -8,8 +8,8 @@ export class CreateScenarioStepDto {
@Min(0)
order: number;
@ApiProperty({ enum: ['login', 'exec'], example: 'exec' })
@IsIn(['login', 'exec'])
@ApiProperty({ enum: ['login', 'exec', 'sign'], example: 'exec' })
@IsIn(['login', 'exec', 'sign'])
type: StepType;
@ApiProperty({ description: 'Session name used by this step. login steps create it; exec steps consume it.', example: 'my-session' })
+2 -2
View File
@@ -9,9 +9,9 @@ export class UpdateScenarioStepDto {
@Min(0)
order?: number;
@ApiPropertyOptional({ enum: ['login', 'exec'] })
@ApiPropertyOptional({ enum: ['login', 'exec', 'sign'] })
@IsOptional()
@IsIn(['login', 'exec'])
@IsIn(['login', 'exec', 'sign'])
type?: StepType;
@ApiPropertyOptional()