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
-5
View File
@@ -119,11 +119,6 @@ export function RunDetailPage() {
width: 80,
render: (s) => <Badge variant="neutral">{s.scenarioStep?.type ?? ''}</Badge>,
},
{
key: 'session',
header: t('runs.step_session'),
render: (s) => s.scenarioStep?.sessionName ?? '',
},
{
key: 'status',
header: t('runs.step_status'),