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:
@@ -333,7 +333,7 @@ export class McpService {
|
||||
inputSchema: {
|
||||
scenarioId: z.number().int().describe('Parent scenario ID'),
|
||||
order: z.number().int().min(0).describe('Execution order (ascending)'),
|
||||
type: z.enum(['login', 'exec']).describe('Step type'),
|
||||
type: z.enum(['login', 'exec', 'sign']).describe('Step type'),
|
||||
sessionName: z.string().describe('Session name used by this step'),
|
||||
execCode: z.string().optional().describe('Playwright JS code to execute (exec steps)'),
|
||||
validateCode: z.string().optional().describe('Validation JS code returning { success, description }'),
|
||||
@@ -376,7 +376,7 @@ export class McpService {
|
||||
scenarioId: z.number().int().describe('Scenario ID'),
|
||||
stepId: z.number().int().describe('Step ID'),
|
||||
order: z.number().int().min(0).optional().describe('New execution order'),
|
||||
type: z.enum(['login', 'exec']).optional().describe('New step type'),
|
||||
type: z.enum(['login', 'exec', 'sign']).optional().describe('New step type'),
|
||||
sessionName: z.string().optional().describe('New session name'),
|
||||
execCode: z.string().optional().describe('New exec code'),
|
||||
validateCode: z.string().optional().describe('New validation code'),
|
||||
|
||||
Reference in New Issue
Block a user