feat(monitoring): dispatch monitoring tasks to desktop via AMQP outbox
Replace SSE /desktop/events with priority AMQP dispatch for monitoring
runs, and add phase1/phase2 infrastructure so desktop workers can lease,
resume, report, skip, and cancel monitoring tasks over the existing
dispatch WebSocket.
- Add monitoring collect outbox worker and phase2 desktop task fields
- Add /desktop/monitoring/tasks/{lease,resume,result,skip,cancel} routes
- Introduce execution-devtools and network-observer on desktop runtime
- Refactor runtime-controller, LoginView, and doubao adapter for the new flow
- Add channelName column to tracking views
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,7 @@ const clientLabel = computed(
|
||||
|
||||
<template>
|
||||
<div class="app-shell">
|
||||
<div class="window-drag-bar" aria-hidden="true"></div>
|
||||
<aside class="sidebar">
|
||||
<div class="brand-block">
|
||||
<div class="brand-mark">
|
||||
@@ -144,6 +145,7 @@ const clientLabel = computed(
|
||||
</aside>
|
||||
|
||||
<main class="content">
|
||||
<div class="content-dragbar" aria-hidden="true"></div>
|
||||
<RouterView />
|
||||
</main>
|
||||
</div>
|
||||
@@ -156,6 +158,23 @@ const clientLabel = computed(
|
||||
overflow: hidden;
|
||||
background: #f0f2f5;
|
||||
color: #1a1a1a;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Real drag handle for the macOS hidden title bar — must be above content
|
||||
but only spans the empty zone behind the traffic lights. */
|
||||
.window-drag-bar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 80px;
|
||||
right: 0;
|
||||
height: 28px;
|
||||
z-index: 1000;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.app-shell :where(button, a, input, select, textarea, [role="button"], [role="link"]) {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
@@ -165,6 +184,7 @@ const clientLabel = computed(
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 24px;
|
||||
padding-top: 44px;
|
||||
border-right: 1px solid #e6edf5;
|
||||
background: #ffffff;
|
||||
flex-shrink: 0;
|
||||
@@ -174,6 +194,7 @@ const clientLabel = computed(
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
align-items: center;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.brand-mark {
|
||||
@@ -459,6 +480,18 @@ h1 {
|
||||
height: 100vh;
|
||||
padding: 24px 32px;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.content-dragbar {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 24px;
|
||||
margin: -24px -32px 0;
|
||||
-webkit-app-region: drag;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
@media (max-width: 1080px) {
|
||||
|
||||
Reference in New Issue
Block a user