agentworkshop 0.7.15 → 0.7.16
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/.AgentWorkShop/prompts/host-tools.json +819 -755
- package/.output/.AgentWorkShop/prompts/host-tools.json +819 -755
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/cf0a8831-4514-493d-ad5a-4e371a089ef9.json +1 -0
- package/.output/server/chunks/_/nitro.mjs +947 -787
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/scripts/_dbg-opslog-agent-e2e.mjs +191 -0
- package/server/api/workshop/daq/index.post.ts +1 -1
- package/server/api/workshop/dcw/lines/index.post.ts +1 -1
- package/server/data/daqs.json +471 -61
- package/server/data/dcw-lines.json +49 -0
- package/server/data/dcw-products.json +49 -0
- package/server/data/dcw-recipes.json +64 -0
- package/server/data/dcw-rollback.json +239 -6
- package/server/data/dcw-runs.json +162 -142
- package/server/data/dcw-writes.json +132 -0
- package/server/data/dcws.json +363 -217
- package/server/data/line-runs.json +41 -11
- package/server/data/scene-layouts.json +11 -0
- package/server/plugins/workshop.ts +9 -0
- package/server/services/workshop/agents/agent-badge.ts +38 -0
- package/server/services/workshop/agents/host-tool-bridge.ts +622 -612
- package/server/services/workshop/agents/industrial-tools.ts +139 -4
- package/server/services/workshop/daq/drivers.ts +25 -5
- package/server/services/workshop/dcw/recipe-rollback-manager.ts +8 -6
- package/.output/public/_nuxt/builds/meta/65f6bed9-b794-44a4-805a-e22700c10817.json +0 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"productId": "pd-6348a595",
|
|
8
8
|
"productName": "0.8mm 光学膜",
|
|
9
9
|
"startedAt": "2026-09-03T11:18:01.213Z",
|
|
10
|
-
"taggedSamples":
|
|
10
|
+
"taggedSamples": 51246
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
"lineId": "ln-9a60a0cd",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"productId": "pd-e712875d",
|
|
18
18
|
"productName": "闭环验证产品",
|
|
19
19
|
"startedAt": "2026-09-03T16:03:27.304Z",
|
|
20
|
-
"taggedSamples":
|
|
20
|
+
"taggedSamples": 179
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"lineId": "ln-b33a3105",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"productId": "pd-16eecb35",
|
|
28
28
|
"productName": "闭环验证产品",
|
|
29
29
|
"startedAt": "2026-09-03T16:39:22.962Z",
|
|
30
|
-
"taggedSamples":
|
|
30
|
+
"taggedSamples": 179
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"lineId": "ln-1aedc305",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"productId": "pd-9c755781",
|
|
38
38
|
"productName": "闭环验证产品",
|
|
39
39
|
"startedAt": "2026-09-03T16:44:33.199Z",
|
|
40
|
-
"taggedSamples":
|
|
40
|
+
"taggedSamples": 179
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
"lineId": "ln-758658dc",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"productId": "pd-835aed90",
|
|
48
48
|
"productName": "闭环验证产品",
|
|
49
49
|
"startedAt": "2026-09-03T17:12:52.205Z",
|
|
50
|
-
"taggedSamples":
|
|
50
|
+
"taggedSamples": 179
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"lineId": "ln-1b318320",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"productId": "pd-db432902",
|
|
58
58
|
"productName": "探针产品",
|
|
59
59
|
"startedAt": "2026-09-04T05:08:10.103Z",
|
|
60
|
-
"taggedSamples":
|
|
60
|
+
"taggedSamples": 18085
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"lineId": "ln-6a34fbc7",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"productId": "pd-10cfc2b3",
|
|
68
68
|
"productName": "全协议产品-mtnynfph",
|
|
69
69
|
"startedAt": "2026-09-05T05:47:26.453Z",
|
|
70
|
-
"taggedSamples":
|
|
70
|
+
"taggedSamples": 53067
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
73
|
"lineId": "ln-419463e0",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"productId": "pd-b9b15b64",
|
|
78
78
|
"productName": "全协议产品-mtnzg090",
|
|
79
79
|
"startedAt": "2026-09-05T06:09:36.931Z",
|
|
80
|
-
"taggedSamples":
|
|
80
|
+
"taggedSamples": 53034
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"lineId": "ln-3548f325",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"productId": "pd-fd822802",
|
|
88
88
|
"productName": "runp3-prod",
|
|
89
89
|
"startedAt": "2026-09-05T07:23:51.972Z",
|
|
90
|
-
"taggedSamples":
|
|
90
|
+
"taggedSamples": 4762
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
"lineId": "ln-c3a7ba01",
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"productId": "pd-3adf854f",
|
|
118
118
|
"productName": "lx8-prod",
|
|
119
119
|
"startedAt": "2026-09-06T02:22:23.209+08:00",
|
|
120
|
-
"taggedSamples":
|
|
120
|
+
"taggedSamples": 5025
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
123
|
"lineId": "ln-917490c1",
|
|
@@ -127,6 +127,36 @@
|
|
|
127
127
|
"productId": "pd-75752beb",
|
|
128
128
|
"productName": "lx8-prod",
|
|
129
129
|
"startedAt": "2026-09-06T02:24:50.582+08:00",
|
|
130
|
-
"taggedSamples":
|
|
130
|
+
"taggedSamples": 4884
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"lineId": "ln-24dedf82",
|
|
134
|
+
"runId": "rr-bf3fea0a",
|
|
135
|
+
"recipeId": "rc-e894bd69",
|
|
136
|
+
"recipeName": "模拟器配方-mtpsdote",
|
|
137
|
+
"productId": "pd-f0436841",
|
|
138
|
+
"productName": "模拟器产品-mtpsdote",
|
|
139
|
+
"startedAt": "2026-09-06T20:27:23.270+08:00",
|
|
140
|
+
"taggedSamples": 2687
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"lineId": "ln-9d5f8b3d",
|
|
144
|
+
"runId": "rr-2518361e",
|
|
145
|
+
"recipeId": "rc-25bb6e07",
|
|
146
|
+
"recipeName": "模拟器配方-mtpt1b1w",
|
|
147
|
+
"productId": "pd-8f6910a4",
|
|
148
|
+
"productName": "模拟器产品-mtpt1b1w",
|
|
149
|
+
"startedAt": "2026-09-06T20:45:45.440+08:00",
|
|
150
|
+
"taggedSamples": 3567
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"lineId": "ln-62776cae",
|
|
154
|
+
"runId": "rr-de58d68b",
|
|
155
|
+
"recipeId": "rc-56fa981e",
|
|
156
|
+
"recipeName": "模拟器配方-mtptla26",
|
|
157
|
+
"productId": "pd-e2b76cd7",
|
|
158
|
+
"productName": "模拟器产品-mtptla26",
|
|
159
|
+
"startedAt": "2026-09-06T21:01:14.334+08:00",
|
|
160
|
+
"taggedSamples": 0
|
|
131
161
|
}
|
|
132
162
|
]
|
|
@@ -196,5 +196,16 @@
|
|
|
196
196
|
"rotationY": 18,
|
|
197
197
|
"workspaceId": "",
|
|
198
198
|
"updatedAt": "2026-09-01T06:56:01.325Z"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"channelId": "1b27b716-5276-42ba-b6f3-415baf377218",
|
|
202
|
+
"x": 879.6,
|
|
203
|
+
"z": 2342.5,
|
|
204
|
+
"radiusX": 277.9,
|
|
205
|
+
"radiusZ": 275,
|
|
206
|
+
"shape": "ellipse",
|
|
207
|
+
"rotationY": 0,
|
|
208
|
+
"workspaceId": "",
|
|
209
|
+
"updatedAt": "2026-09-06T20:08:31.440+08:00"
|
|
199
210
|
}
|
|
200
211
|
]
|
|
@@ -32,6 +32,7 @@ import { createChannelEventRepo } from '../services/workshop/db/channel-event.re
|
|
|
32
32
|
import { createApprovalHistoryRepo, createAlarmEventRepo, createAuditRepo, createApprovalRequestRepo } from '../services/workshop/db/ops.repo'
|
|
33
33
|
import { bindOpsRepos } from '../services/workshop/ops/ops'
|
|
34
34
|
import { configureHitlResolver } from '../services/workshop/agents/hitl-registry'
|
|
35
|
+
import { configureAgentBadgeResolver } from '../services/workshop/agents/agent-badge'
|
|
35
36
|
import { ensureAllEventRecorders } from '../api/workshop/ws'
|
|
36
37
|
import { createAgentImpl } from '../services/workshop/agents/factory'
|
|
37
38
|
import {
|
|
@@ -133,6 +134,14 @@ export default function workshopPlugin(nitroApp: {
|
|
|
133
134
|
return row ? { channelId: row.channelId, agentName: row.name } : null
|
|
134
135
|
})
|
|
135
136
|
|
|
137
|
+
// 运维日志徽标:agentId → 「Channel名/成员名」(Agent 下发/判定/回退入册的操作者展示)
|
|
138
|
+
configureAgentBadgeResolver((agentId) => {
|
|
139
|
+
const row = repos.channelAgents.findById(agentId)
|
|
140
|
+
if (!row) return null
|
|
141
|
+
const ch = repos.channels.findById(row.channelId)
|
|
142
|
+
return { name: row.name, channelName: ch?.name ?? row.channelId.slice(0, 8) }
|
|
143
|
+
})
|
|
144
|
+
|
|
136
145
|
// 懒加载恢复:仅激活有待办任务的 channel(装配 lead + 调度循环);其余纯持久化
|
|
137
146
|
manager.restore()
|
|
138
147
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentBadge —— agentId → 「Channel名/成员名」人话徽标解析。
|
|
3
|
+
*
|
|
4
|
+
* 运维日志 actorName 用:Agent 的数控下发/判定/回退入册时,操作者不再落
|
|
5
|
+
* agentId(UUID),而是「ChannelName/WorkerName」,与用户(用户名)和系统
|
|
6
|
+
* (system)在 /logs 来源列天然区分。
|
|
7
|
+
* 解析器由 plugins/workshop.ts 装配时注入(同 configureHitlResolver 模式,
|
|
8
|
+
* 避免 agents/* 反向依赖 runtime/manager);未装配(单测/极早期)退回 agentId。
|
|
9
|
+
*/
|
|
10
|
+
export interface AgentBadge {
|
|
11
|
+
/** 成员名(worker 名) */
|
|
12
|
+
name: string
|
|
13
|
+
/** 所属 Channel 名 */
|
|
14
|
+
channelName: string
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type BadgeResolver = (agentId: string) => AgentBadge | null
|
|
18
|
+
|
|
19
|
+
const g = globalThis as typeof globalThis & { __awBadgeResolver?: BadgeResolver }
|
|
20
|
+
|
|
21
|
+
export function configureAgentBadgeResolver(fn: BadgeResolver): void {
|
|
22
|
+
g.__awBadgeResolver = fn
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function agentBadge(agentId: string): AgentBadge | null {
|
|
26
|
+
try {
|
|
27
|
+
return g.__awBadgeResolver?.(agentId) ?? null
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** 徽标串:「Channel名/成员名」;解析失败退回 agentId(可追溯,不谎报) */
|
|
35
|
+
export function agentBadgeLabel(agentId: string): string {
|
|
36
|
+
const b = agentBadge(agentId)
|
|
37
|
+
return b ? `${b.channelName}/${b.name}` : agentId
|
|
38
|
+
}
|