feat(snippets): add snippets entity, crud, and auto-browser-per-run

- add Snippet entity with name, description, code; full CRUD backend
- add snippets pages (list, create, edit, detail) and nav entry
- add runSnippet helper in code-executor using new Function with args array
- add result param to execute() so validateCode can access exec output
- remove sessionName from steps; each run now spawns its own fresh browser
- fix waitForURL race by polling localStorage for token instead
This commit is contained in:
2026-04-10 00:22:51 +03:00
parent 1efbbb38a3
commit 1164289173
26 changed files with 876 additions and 89 deletions
@@ -24,14 +24,14 @@ export class CreateScenarioStepDto {
@IsIn(["login", "exec", "sign"])
type: StepType;
@ApiProperty({
description:
"Session name used by this step. login steps create it; exec steps consume it.",
@ApiPropertyOptional({
description: "Session name (deprecated — browser is created automatically per run).",
example: "my-session",
})
@IsOptional()
@IsString()
@IsNotEmpty()
sessionName: string;
sessionName?: string;
@ApiPropertyOptional({ example: "return await page.title();" })
@IsOptional()