@qaick/runner 0.32.2 → 0.32.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package-dist/package.json +5 -5
- package/package-dist/src/demo/RunnerWalkthrough.js +4 -4
- package/package-dist/src/demo/RunnerWalkthrough.js.map +1 -1
- package/package-dist/src/runner/RunnerModule.d.ts +5 -3
- package/package-dist/src/runner/RunnerModule.d.ts.map +1 -1
- package/package-dist/src/runner/RunnerModule.js +241 -65
- package/package-dist/src/runner/RunnerModule.js.map +1 -1
- package/package-dist/src/runner/catalog.js +1 -1
- package/package-dist/src/runner/execution-context.d.ts +1 -1
- package/package-dist/src/runner/execution-context.d.ts.map +1 -1
- package/package-dist/src/runner/execution-context.js +3 -3
- package/package-dist/src/runner/execution-context.js.map +1 -1
- package/package-dist/src/runner/hierarchy-presentation.d.ts +20 -0
- package/package-dist/src/runner/hierarchy-presentation.d.ts.map +1 -0
- package/package-dist/src/runner/hierarchy-presentation.js +47 -0
- package/package-dist/src/runner/hierarchy-presentation.js.map +1 -0
- package/package-dist/src/runner/history.d.ts +20 -1
- package/package-dist/src/runner/history.d.ts.map +1 -1
- package/package-dist/src/runner/history.js +14 -0
- package/package-dist/src/runner/history.js.map +1 -1
- package/package-dist/src/runner/invocation-inputs.d.ts +6 -2
- package/package-dist/src/runner/invocation-inputs.d.ts.map +1 -1
- package/package-dist/src/runner/invocation-inputs.js.map +1 -1
- package/package-dist/src/runner/loop-presentation.d.ts +4 -4
- package/package-dist/src/runner/loop-presentation.d.ts.map +1 -1
- package/package-dist/src/runner/loop-presentation.js +4 -4
- package/package-dist/src/runner/loop-presentation.js.map +1 -1
- package/package-dist/src/runner/presentation-state.d.ts +19 -4
- package/package-dist/src/runner/presentation-state.d.ts.map +1 -1
- package/package-dist/src/runner/presentation-state.js +68 -3
- package/package-dist/src/runner/presentation-state.js.map +1 -1
- package/package-dist/src/runner/runtime-client-adapter.d.ts +1 -1
- package/package-dist/src/runner/studio-execution-document.d.ts +4 -0
- package/package-dist/src/runner/studio-execution-document.d.ts.map +1 -0
- package/package-dist/src/runner/studio-execution-document.js +239 -0
- package/package-dist/src/runner/studio-execution-document.js.map +1 -0
- package/package-dist/src/runner/studio-hierarchy-loader.js +2 -2
- package/package-dist/src/runner/types.d.ts +26 -6
- package/package-dist/src/runner/types.d.ts.map +1 -1
- package/package-dist/styles.css +114 -43
- package/package.json +5 -5
package/package-dist/styles.css
CHANGED
|
@@ -14,16 +14,15 @@
|
|
|
14
14
|
.button { height: 28px; padding: 0 10px; border: 1px solid #cfd5dd; border-radius: 5px; background: white; color: #334560; font-weight: 500; cursor: pointer; } .button.primary { border-color: #4f46d8; background: #4f46d8; color: white; } .button.dry-run { border-color: #8a9fc4; color: #315da9; background: #eef3fc; } .button.stop { color: #b33a30; }
|
|
15
15
|
.file-button { position: relative; display: inline-grid; height: 28px; padding: 0 10px; place-items: center; border: 1px solid #cfd5dd; border-radius: 5px; background: white; color: #334560; cursor: pointer; } .file-button input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; } .load-error { margin: 12px 0 -8px; color: #b33a30; font-size: 12px; font-weight: 500; }
|
|
16
16
|
.inputs-panel { margin-top: 18px; } .input-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 16px; } .input-field { color: #617089; } .input-field input { width: 100%; height: 28px; padding: 0 9px; border: 1px solid #cfd5dd; border-radius: 5px; color: #182234; background: #fff; font: inherit; font-weight: 500; } .input-hint { color: #7a899d; font-size: 11px; }
|
|
17
|
-
.history-view-banner { margin-top: 12px; padding: 9px 12px; border: 1px solid #b9cbed; border-radius: 5px; color: #315da9; background: #eaf2ff; font-size: 12px; font-weight: 500; }
|
|
18
17
|
.panel { margin-top: 24px; border: 1px solid #e5e7eb; border-radius: 8px; background: white; overflow: hidden; } .panel-heading { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid #e5e7eb; } h2 { margin: 0; font-size: 16px; } .running { color: #14804a; font-size: 12px; font-weight: 600; } .stopped { color: #b33a30; font-size: 12px; font-weight: 600; }
|
|
19
18
|
table { width: 100%; border-collapse: collapse; font-size: 13px; } th { padding: 10px 14px; color: #7b899d; background: #fafbfd; font-size: 11px; text-align: left; text-transform: uppercase; letter-spacing: .04em; } td { padding: 10px 12px; border-top: 1px solid #edf0f7; } tr.parent-row td { background: #ffffff; } tr.nested-row td { background: #f3f7fd; } tr.selected td { background: #dce8ff !important; border-top-color: #9db9ed; } tr.selected td:first-child { border-left: 4px solid #4f46d8; } tr.selected .hierarchy-name { color: #173e91; font-weight: 500; } tbody tr { cursor: pointer; }
|
|
20
|
-
.hierarchy-hint { display: flex; align-items: center; gap: 10px; padding: 9px 16px; border-bottom: 1px solid #dbe6fa; color: #315da9; background: #f2f6ff; font-size: 11px; } .hierarchy-hint span { color: #637897; } .hierarchy-action { padding: 4px 7px; border: 1px solid #b9cbed; border-radius: 4px; color: #315da9; background: #fff; font-size: 10px; font-weight: 500; cursor: pointer; } .hierarchy-action:first-of-type { margin-left: auto; } .hierarchy-name { display: inline-flex; align-items: center; gap: 7px; min-height: 22px; } .collapse-toggle { display: inline-grid; width: 18px; height: 18px; place-items: center; padding: 0; border: 1px solid #9eb5df; border-radius: 4px; color: #315da9; background: #eaf1ff; font-size: 14px; line-height: 1; cursor: pointer; } .branch-marker { color: #5d82ca; font-size: 18px; font-weight: 400; } .kind-label { display: inline-flex; padding: 3px 5px; border-radius: 4px; color: #6c7890; background: #edf0f7; font-size: 9px; font-weight: 600; letter-spacing: .05em; } .nested-label { color: #315da9; background: #e5efff; } .nested-row td:first-child { border-left: 3px solid
|
|
21
|
-
.step-icon { display: inline-grid; width: 20px; height: 20px; margin-right: 7px; place-items: center; border-radius: 50%; color: white; background: var(--runner-surface-3); font-size: 11px; } .nested-row .step-icon { margin-left: 18px; } .
|
|
19
|
+
.hierarchy-hint { display: flex; align-items: center; gap: 10px; padding: 9px 16px; border-bottom: 1px solid #dbe6fa; color: #315da9; background: #f2f6ff; font-size: 11px; } .hierarchy-hint span { color: #637897; } .hierarchy-action { padding: 4px 7px; border: 1px solid #b9cbed; border-radius: 4px; color: #315da9; background: #fff; font-size: 10px; font-weight: 500; cursor: pointer; } .hierarchy-action:first-of-type { margin-left: auto; } .hierarchy-name { display: inline-flex; align-items: center; gap: 7px; min-height: 22px; } .collapse-toggle { display: inline-grid; width: 18px; height: 18px; place-items: center; padding: 0; border: 1px solid #9eb5df; border-radius: 4px; color: #315da9; background: #eaf1ff; font-size: 14px; line-height: 1; cursor: pointer; } .branch-marker { color: #5d82ca; font-size: 18px; font-weight: 400; } .kind-label { display: inline-flex; padding: 3px 5px; border-radius: 4px; color: #6c7890; background: #edf0f7; font-size: 9px; font-weight: 600; letter-spacing: .05em; } .nested-label { color: #315da9; background: #e5efff; } .nested-row td:first-child { border-left: 3px solid transparent; } .parent-row td:first-child { border-left: 3px solid transparent; }
|
|
20
|
+
.step-icon { display: inline-grid; width: 20px; height: 20px; margin-right: 7px; place-items: center; border-radius: 50%; color: white; background: var(--runner-surface-3); font-size: 11px; } .nested-row .step-icon { margin-left: 18px; } .step-icon.waiting { background: #efaa18; } .step-icon.skipped { color: #62738c; background: #edf1f6; } .step-icon.failed, .step-icon.cancelled { background: #c94b42; } .step-icon.pending { border: 2px solid #aab6c7; background: transparent; }
|
|
22
21
|
.selected-label { display: inline-flex; margin-left: 8px; padding: 3px 5px; border-radius: 4px; color: #3f37b8; background: #c4d7ff; font-size: 9px; font-weight: 600; letter-spacing: .05em; }
|
|
23
22
|
.status { display: inline-flex; padding: 4px 8px; border-radius: 5px; font-size: 10px; font-weight: 600; letter-spacing: .03em; } .status.finished { color: #14804a; background: #e7f6ed; } .status.waiting { color: #98660b; background: #fff2d5; } .status.pending, .status.skipped { color: #62738c; background: #edf1f6; } .status.failed, .status.cancelled { color: #a33a32; background: #ffebe8; }
|
|
24
|
-
.loop-row td { background: #f5f8fe; border-top: 1px solid #c8d7f0; border-bottom: 1px solid #dce6f6; } .loop-row td:first-child { border-left: 3px solid
|
|
23
|
+
.loop-row td { background: #f5f8fe; border-top: 1px solid #c8d7f0; border-bottom: 1px solid #dce6f6; } .loop-row td:first-child { border-left: 3px solid transparent; border-radius: 9px 0 0 0; } .loop-row td:last-child { border-right: 1px solid #c8d7f0; border-radius: 0 9px 0 0; } .loop-icon { color: #fff; background: #668bd2; font-size: 15px; } .loop-label { color: #315da9; background: #e7efff; } .loop-progress { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; min-width: 220px; margin-bottom: 4px; color: #315da9; font-size: 10px; letter-spacing: .02em; } .loop-progress small { flex-basis: 100%; color: #71839c; font-size: 10px; } .loop-bar { width: 92px; height: 6px; overflow: hidden; border-radius: 99px; background: #dce6f6; } .loop-bar i { display: block; height: 100%; border-radius: inherit; background: #668bd2; transition: width .2s ease; } .loop-content td { border-top: 0; border-bottom: 0; background: #ffffff; } .loop-content td:first-child { border-left: 3px solid transparent; } .loop-content td:last-child { border-right: 1px solid #c8d7f0; } .loop-end td { border-bottom: 1px solid #c8d7f0; } .loop-end td:first-child { border-radius: 0 0 0 9px; } .loop-end td:last-child { border-radius: 0 0 9px 0; }
|
|
25
24
|
.event-panel { margin-top: 18px; } .event-row td { padding: 9px 14px; font-size: 12px; } code { color: #294d9c; font-family: ui-monospace, monospace; font-size: 11px; }
|
|
26
|
-
.inspector { padding: 20px
|
|
25
|
+
.inspector { padding: 20px; border-left: 1px solid #cbd1d8; } .inspector h2 { font-size: 17px; } .selected-detail-name { margin: 6px 0 0; color: #3f37b8; font-size: 13px; } .run-id { margin: 5px 0 20px; color: #7a899d; font-family: ui-monospace, monospace; font-size: 10px; } .inspector-section { padding: 14px 0; border-top: 1px solid #e5e7eb; } .inspector-section h3 { margin: 0 0 11px; font-size: 13px; }
|
|
27
26
|
.selection-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; } .selection-nav .button { padding: 5px 8px; font-size: 11px; }
|
|
28
27
|
.parallel-event { color: #617089; font-size: 10px; }
|
|
29
28
|
.event-filter { min-width: 120px; padding: 6px 8px; font-size: 11px; }
|
|
@@ -67,7 +66,7 @@ table { width: 100%; border-collapse: collapse; font-size: 13px; } th { padding:
|
|
|
67
66
|
.runner-context-menu strong { display: block; padding: 7px 9px 5px; color: #637897; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
|
|
68
67
|
.runner-context-menu button { display: block; width: 100%; padding: 8px 9px; border: 0; border-radius: 4px; color: #243753; background: transparent; text-align: left; font: inherit; font-size: 12px; cursor: pointer; }
|
|
69
68
|
.runner-context-menu button:hover { background: #edf3ff; color: #173e91; }
|
|
70
|
-
.breakpoint-marker { display: inline-
|
|
69
|
+
.breakpoint-marker { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--runner-fail); }
|
|
71
70
|
|
|
72
71
|
.button.resume-highlight { border-color: #4f46d8; background: #4f46d8; color: #fff; box-shadow: 0 0 0 3px rgba(53, 105, 212, .18); }
|
|
73
72
|
|
|
@@ -201,7 +200,7 @@ label { color: var(--runner-muted); }
|
|
|
201
200
|
.button.primary:hover,
|
|
202
201
|
.button.resume-highlight:hover { border-color: var(--runner-blue-strong); background: var(--runner-blue-strong); }
|
|
203
202
|
.panel-heading,
|
|
204
|
-
.inspector-section { border-color: var(--runner-
|
|
203
|
+
.inspector-section { border-color: var(--runner-divider); }
|
|
205
204
|
th { color: var(--runner-faint); background: var(--runner-surface-2); }
|
|
206
205
|
td { border-color: var(--runner-line); }
|
|
207
206
|
tr.parent-row td,
|
|
@@ -296,7 +295,8 @@ select { color: var(--runner-ink); }
|
|
|
296
295
|
:root[data-theme='dark'] select { color: var(--runner-ink-2); }
|
|
297
296
|
.event-search { height: 28px; padding: 0 8px; border: 1px solid var(--runner-line-strong); min-width: 0; }
|
|
298
297
|
.panel-heading { background: var(--runner-surface-2); }
|
|
299
|
-
.panel-heading h2
|
|
298
|
+
.panel-heading h2 { font-size: 13px; line-height: 18.85px; font-weight: 700; }
|
|
299
|
+
.inspector h2 { font-size: 15px; line-height: 21.75px; font-weight: 600; }
|
|
300
300
|
.nav-label, .eyebrow, th { font-size: 10px; font-weight: 600; letter-spacing: .05em; }
|
|
301
301
|
.package-card { margin: 20px 0 0; background: var(--runner-surface-2); }
|
|
302
302
|
.description, .about-dialog p, .about-dialog small, .about-dialog footer, .history-meta,
|
|
@@ -316,11 +316,11 @@ select { color: var(--runner-ink); }
|
|
|
316
316
|
.validation-issue { color: var(--runner-fail); background: var(--runner-fail-soft); }
|
|
317
317
|
.validation-pass .validation-icon { background: var(--runner-ok); }
|
|
318
318
|
.key-values span { border-color: var(--runner-line); overflow-wrap: anywhere; min-width: 0; }
|
|
319
|
-
.history-view-banner { border-color: var(--runner-blue-line); color: var(--runner-blue); background: var(--runner-blue-soft); }
|
|
320
319
|
.debug-session-badge, .local-control.active { border-color: var(--runner-fail); color: var(--runner-fail); background: var(--runner-fail-soft); }
|
|
321
320
|
.loop-row td { background: var(--runner-surface-2); border-color: var(--runner-line); }
|
|
322
321
|
.loop-content td, .loop-end td { border-color: var(--runner-line); }
|
|
323
|
-
.loop-row td:
|
|
322
|
+
.loop-row td:last-child { border-color: var(--runner-blue-line); }
|
|
323
|
+
.nested-row td:first-child, .loop-row td:first-child, .loop-content td:first-child { border-left-color: transparent; }
|
|
324
324
|
.loop-icon, .loop-bar i { background: var(--runner-blue); }
|
|
325
325
|
.loop-progress, .branch-marker { color: var(--runner-blue); }
|
|
326
326
|
.loop-progress small { color: var(--runner-muted); }
|
|
@@ -339,12 +339,15 @@ select { color: var(--runner-ink); }
|
|
|
339
339
|
.runner-nav, .inspector { scrollbar-gutter: stable; }
|
|
340
340
|
.runner-nav .nav-item { white-space: nowrap; }
|
|
341
341
|
.run-controls { display: grid; gap: 12px; margin-top: 18px; }
|
|
342
|
-
.run-settings { display: grid; grid-template-columns: minmax(180px, 2fr)
|
|
342
|
+
.run-settings { display: grid; grid-template-columns: minmax(180px, 2fr) minmax(120px, 1fr); gap: 8px 12px; }
|
|
343
343
|
.run-settings label { min-width: 0; font-weight: 500; gap: 5px; }
|
|
344
344
|
.run-settings select { min-width: 0; width: 100%; }
|
|
345
345
|
.run-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding-bottom: 4px; }
|
|
346
346
|
.run-actions :is(.button, .file-button) { white-space: nowrap; flex-shrink: 0; }
|
|
347
|
-
.run-actions .
|
|
347
|
+
.run-actions .button { height: 28px; padding: 0 10px; border-width: 1px; border-radius: 5px; font-size: 12px; line-height: 17.4px; font-weight: 500; }
|
|
348
|
+
.run-actions :is(.primary, .resume-highlight) { font-weight: 600; }
|
|
349
|
+
/* Existing stronger accent keeps text readable on the subtle selected surface. */
|
|
350
|
+
.run-actions .button.dry-run:not(:disabled) { color: var(--runner-blue-strong); }
|
|
348
351
|
.panel { margin-top: 18px; }
|
|
349
352
|
.panel-heading { flex-wrap: wrap; gap: 8px; }
|
|
350
353
|
.panel-heading .run-status, .panel-heading .running, .panel-heading .stopped { white-space: nowrap; font-weight: 600; }
|
|
@@ -364,13 +367,17 @@ select { color: var(--runner-ink); }
|
|
|
364
367
|
.event-search { flex: 1 1 120px; width: 140px; max-width: 220px; }
|
|
365
368
|
.event-filter { min-width: 110px; }
|
|
366
369
|
.history-panel table { min-width: 640px; }
|
|
367
|
-
.history-panel td:first-child { white-space: normal; min-width: 180px;
|
|
368
|
-
.history-panel td:last-child {
|
|
369
|
-
.history-panel td:last-child .button { margin: 0 4px
|
|
370
|
+
.history-panel td:first-child { white-space: normal; min-width: 180px; }
|
|
371
|
+
.history-panel td:last-child { white-space: nowrap; }
|
|
372
|
+
.history-panel td:last-child .button { margin: 0 4px 0 0; white-space: nowrap; }
|
|
373
|
+
.history-panel td:last-child .button:last-child { margin-right: 0; }
|
|
374
|
+
.history-panel td:not(:first-child) { white-space: nowrap; }
|
|
375
|
+
.history-project-name { display: block; font-size: 13px; font-weight: 600; line-height: 18.85px; overflow-wrap: anywhere; }
|
|
376
|
+
.history-scope { display: block; margin-top: 3px; color: var(--runner-muted); font-size: 12px; line-height: 17.4px; overflow-wrap: anywhere; }
|
|
370
377
|
.history-meta { overflow-wrap: anywhere; line-height: 1.5; }
|
|
371
|
-
.inspector h2 { font-size:
|
|
372
|
-
.inspector-section { padding:
|
|
373
|
-
.inspector-section h3 { margin-bottom: 8px; }
|
|
378
|
+
.inspector h2 { font-size: 15px; }
|
|
379
|
+
.inspector-section { padding: 20px 0; }
|
|
380
|
+
.inspector-section h3 { margin-bottom: 8px; font-size: 13px; line-height: 18.85px; font-weight: 700; }
|
|
374
381
|
.run-id { overflow-wrap: anywhere; margin-bottom: 14px; line-height: 1.5; }
|
|
375
382
|
.key-values { grid-template-columns: minmax(80px, .85fr) minmax(0, 1.15fr); }
|
|
376
383
|
.key-values span { padding: 7px 8px; }
|
|
@@ -386,31 +393,6 @@ select { color: var(--runner-ink); }
|
|
|
386
393
|
.run-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
387
394
|
}
|
|
388
395
|
@media (max-width: 1100px) {
|
|
389
|
-
.runner-main {
|
|
390
|
-
grid-template-columns: 170px minmax(0, 1fr);
|
|
391
|
-
grid-template-rows: max-content max-content;
|
|
392
|
-
align-content: start;
|
|
393
|
-
overflow-y: auto;
|
|
394
|
-
}
|
|
395
|
-
.runner-workspace { grid-column: 2; padding: 16px; overflow: visible; }
|
|
396
|
-
.runner-nav {
|
|
397
|
-
grid-column: 1;
|
|
398
|
-
grid-row: 1 / span 2;
|
|
399
|
-
position: sticky;
|
|
400
|
-
top: 0;
|
|
401
|
-
align-self: start;
|
|
402
|
-
max-height: 100%;
|
|
403
|
-
padding: 14px 8px;
|
|
404
|
-
}
|
|
405
|
-
.nav-item { gap: 6px; padding-inline: 8px; }
|
|
406
|
-
.inspector {
|
|
407
|
-
grid-column: 2;
|
|
408
|
-
grid-row: 2;
|
|
409
|
-
padding: 16px 12px;
|
|
410
|
-
overflow: visible;
|
|
411
|
-
border-left: 0;
|
|
412
|
-
border-top: 1px solid var(--runner-line);
|
|
413
|
-
}
|
|
414
396
|
.input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
415
397
|
.panel-heading .panel-spacer { display: none; }
|
|
416
398
|
.panel-heading h2 { flex: 1 1 auto; }
|
|
@@ -432,6 +414,95 @@ select { color: var(--runner-ink); }
|
|
|
432
414
|
.runner-authoring-source .run-settings { max-width: 40rem; }
|
|
433
415
|
.runner-authoring-source .notice, .runner-authoring-source [role="alert"] { max-width: 80ch; }
|
|
434
416
|
|
|
417
|
+
/* Execution and History share the loaded artifact context and live lifecycle. */
|
|
418
|
+
.runner-shell { grid-template-rows: auto auto auto minmax(0, 1fr); }
|
|
419
|
+
.runner-tabs { display: flex; gap: 6px; padding: 8px 16px; border-bottom: 1px solid var(--runner-line); background: var(--runner-chrome); }
|
|
420
|
+
.runner-tabs [role="tab"] { height: 32px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--runner-ink-2); font: inherit; font-size: 13px; line-height: 18.85px; font-weight: 500; cursor: pointer; }
|
|
421
|
+
.runner-tabs [aria-selected="true"] { border-bottom-color: var(--runner-blue); background: var(--runner-surface-3); color: var(--runner-blue-strong); }
|
|
422
|
+
.runner-tabs [role="tab"]:hover:not([aria-selected="true"]) { background: var(--runner-surface-3); }
|
|
423
|
+
.runner-tabs [role="tab"]:focus-visible { outline: 2px solid var(--runner-blue); outline-offset: 2px; }
|
|
424
|
+
.runner-project-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; padding: 10px 16px; background: var(--runner-surface-2); border-bottom: 1px solid var(--runner-line); font-size: 12px; min-width: 0; }
|
|
425
|
+
.runner-project-context .loaded-identity { min-width: 0; overflow-wrap: anywhere; color: var(--runner-muted); }
|
|
426
|
+
.runner-pane-scroll { min-height: 0; min-width: 0; overflow: auto; }
|
|
427
|
+
.runner-pane-scroll:focus-visible { outline: 2px solid var(--runner-blue); outline-offset: -2px; }
|
|
428
|
+
.runner-main.runner-tabbed-main { height: 100%; grid-template-rows: minmax(0, 1fr); }
|
|
429
|
+
.runner-tabbed-main > .runner-workspace { grid-column: 1; grid-row: 1; }
|
|
430
|
+
.runner-tabbed-main > .inspector { grid-column: 3; grid-row: 1; border-left: 0; }
|
|
431
|
+
.inspector-divider { position: relative; grid-column: 2; grid-row: 1; min-height: 0; background: var(--runner-pane-properties); cursor: col-resize; touch-action: none; user-select: none; }
|
|
432
|
+
.inspector-divider::before { content: ''; position: absolute; inset-block: 0; left: 3px; width: 1px; background: var(--runner-divider); }
|
|
433
|
+
.inspector-divider:hover::before, .inspector-divider:focus-visible::before { width: 2px; background: var(--runner-blue); }
|
|
434
|
+
.inspector-divider:focus-visible { outline: 2px solid var(--runner-blue); outline-offset: -2px; }
|
|
435
|
+
.runner-shell [hidden] { display: none !important; }
|
|
436
|
+
|
|
437
|
+
/* Live evidence belongs below execution; History retains its Inspector disclosure. */
|
|
438
|
+
.runner-event-log > summary { cursor: pointer; color: var(--runner-ink); font-size: 13px; font-weight: 600; }
|
|
439
|
+
.runner-event-log .event-log-content { margin-top: 10px; min-width: 0; }
|
|
440
|
+
.runner-event-log .event-log-tools { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
|
|
441
|
+
.runner-event-log .event-search { flex: 1 1 120px; width: auto; max-width: none; }
|
|
442
|
+
.runner-event-log .event-filter { flex: 1 1 110px; min-width: 0; }
|
|
443
|
+
.runner-event-log .event-log-scroll { max-height: 320px; overflow: auto; }
|
|
444
|
+
.runner-event-log .event-log-list { margin: 0; padding: 0; list-style: none; }
|
|
445
|
+
.runner-event-log .event-log-list > li + li { border-top: 1px solid var(--runner-line); }
|
|
446
|
+
.runner-event-log .event-row { display: grid; gap: 4px; width: 100%; min-width: 0; padding: 10px 4px; border: 0; border-radius: 0; background: transparent; color: var(--runner-ink); font: inherit; font-size: 12px; text-align: left; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
|
|
447
|
+
.runner-event-log .event-row:hover { background: var(--runner-surface-3); }
|
|
448
|
+
.runner-event-log .event-row:focus-visible { outline-offset: -2px; }
|
|
449
|
+
.runner-event-log .event-row-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; min-width: 0; font-size: 10px; }
|
|
450
|
+
.runner-event-log .event-row-meta time, .runner-event-log .event-state { color: var(--runner-muted); }
|
|
451
|
+
.runner-event-log .event-row-meta code { min-width: 0; }
|
|
452
|
+
.runner-event-log .event-message, .runner-event-log .parallel-event { min-width: 0; }
|
|
453
|
+
.runner-event-log .empty-state { padding: 0; overflow-wrap: anywhere; }
|
|
454
|
+
|
|
455
|
+
.execution-event-log { padding: 12px; }
|
|
456
|
+
|
|
457
|
+
.input-lock-fields { margin: 0; border: 0; min-width: 0; }
|
|
458
|
+
|
|
459
|
+
/* Keep names aligned at each hierarchy depth, including leaves without a toggle. */
|
|
460
|
+
.collapse-spacer { display: inline-block; flex: 0 0 18px; width: 18px; }
|
|
461
|
+
.collapse-toggle { flex: 0 0 18px; }
|
|
462
|
+
|
|
463
|
+
/* Outside the submitted execution scope: retain inspection and focus affordances. */
|
|
464
|
+
.table-scroll tr.outside-scope td,
|
|
465
|
+
.table-scroll tr.outside-scope .hierarchy-name,
|
|
466
|
+
.table-scroll tr.outside-scope .branch-marker,
|
|
467
|
+
.table-scroll tr.outside-scope .kind-label,
|
|
468
|
+
.table-scroll tr.outside-scope .selected-label { color: var(--runner-muted); }
|
|
469
|
+
|
|
470
|
+
/* L01–L06: simplify light surfaces without changing controls or dark theme. */
|
|
471
|
+
:root:not([data-theme='dark']) .runner-workspace,
|
|
472
|
+
:root:not([data-theme='dark']) .runner-workspace :is(.panel-heading, .hierarchy-hint, th),
|
|
473
|
+
:root:not([data-theme='dark']) .runner-workspace tr:is(.parent-row, .nested-row, .loop-row, .loop-content, .loop-end) td {
|
|
474
|
+
background: var(--runner-surface);
|
|
475
|
+
}
|
|
476
|
+
:root:not([data-theme='dark']) .runner-workspace :is(.panel-heading, .hierarchy-hint) {
|
|
477
|
+
border-bottom-color: var(--runner-line);
|
|
478
|
+
}
|
|
479
|
+
:root:not([data-theme='dark']) .inspector .key-values span {
|
|
480
|
+
background: var(--runner-surface);
|
|
481
|
+
}
|
|
482
|
+
:root:not([data-theme='dark']) .inspector :is(.notice, .iteration-entry, .timing-details, .branch-path, .result-summary) {
|
|
483
|
+
background: var(--runner-pane-properties);
|
|
484
|
+
}
|
|
485
|
+
:root:not([data-theme='dark']) .inspector-section {
|
|
486
|
+
border-color: var(--runner-line);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/* R01–R06: structure and ownership remain separate from execution indicators. */
|
|
490
|
+
.table-scroll[aria-label='Execution steps'] .hierarchy-cell { position: relative; white-space: nowrap; }
|
|
491
|
+
.hierarchy-cell .hierarchy-name { position: relative; vertical-align: top; }
|
|
492
|
+
.structural-icon { flex: 0 0 16px; color: var(--runner-ink-2); }
|
|
493
|
+
.hierarchy-guides { --guide-center: 21px; position: absolute; inset: 0; pointer-events: none; color: var(--runner-divider); }
|
|
494
|
+
.hierarchy-guide { position: absolute; top: 0; bottom: 0; border-left: 1px solid currentColor; }
|
|
495
|
+
.hierarchy-guide.elbow { bottom: auto; height: var(--guide-center); }
|
|
496
|
+
.hierarchy-guide.stem { top: var(--guide-center); }
|
|
497
|
+
.hierarchy-guide.connected::after { content: ''; position: absolute; left: 0; right: 0; top: var(--guide-center); border-top: 1px solid currentColor; }
|
|
498
|
+
.hierarchy-guide.elbow::after { top: auto; bottom: -1px; }
|
|
499
|
+
|
|
500
|
+
.execution-status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
|
|
501
|
+
.execution-status .execution-status-icon { flex: 0 0 14px; width: 14px; height: 14px; margin: 0; font-size: 9px; }
|
|
502
|
+
|
|
503
|
+
.history-view-banner { margin-top: 12px; padding: 9px 12px; border: 1px solid #b9cbed; border-radius: 5px; color: #315da9; background: #eaf2ff; font-size: 12px; font-weight: 500; }
|
|
504
|
+
.history-view-banner { border-color: var(--runner-blue-line); color: var(--runner-blue); background: var(--runner-blue-soft); }
|
|
505
|
+
|
|
435
506
|
.runner-demo { min-height: 100vh; padding: 24px 32px 34px; box-sizing: border-box; background: #edf2f8; color: #243654; }
|
|
436
507
|
.runner-demo-title { display: flex; align-items: center; justify-content: space-between; max-width: 1420px; margin: 0 auto 24px; }
|
|
437
508
|
.runner-demo-title div { display: flex; align-items: baseline; gap: 14px; }
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qaick/runner",
|
|
3
3
|
"description": "Reusable QAick Runner module and standalone execution application.",
|
|
4
|
-
"version": "0.32.
|
|
4
|
+
"version": "0.32.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"package-dist",
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"publish:release": "npm run check:package && npm publish --tag latest"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@qaick/contract": "0.
|
|
66
|
-
"@qaick/executor": "0.
|
|
67
|
-
"@qaick/http-executor": "0.2.
|
|
68
|
-
"@qaick/runtime": "0.
|
|
65
|
+
"@qaick/contract": "0.7.1",
|
|
66
|
+
"@qaick/executor": "0.4.1",
|
|
67
|
+
"@qaick/http-executor": "0.2.10",
|
|
68
|
+
"@qaick/runtime": "0.4.1",
|
|
69
69
|
"zustand": "^5.0.15"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|