agentworkshop 0.7.15 → 0.7.17

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.
Files changed (99) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +924 -755
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +924 -755
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/{DMdVWIGz.js → B-E8fXAO.js} +1 -1
  5. package/.output/public/_nuxt/{DyisHHzD.js → BA3XzwiD.js} +1 -1
  6. package/.output/public/_nuxt/{CD1SlCoI.js → BJem8_v5.js} +4 -4
  7. package/.output/public/_nuxt/{6vYobj4F.js → BWC4HQHQ.js} +1 -1
  8. package/.output/public/_nuxt/{kkEthL84.js → Ba7YofCb.js} +1 -1
  9. package/.output/public/_nuxt/{DGVAuScD.js → C_2bTK0C.js} +1 -1
  10. package/.output/public/_nuxt/{B53Mp7lD.js → CgT5wMfz.js} +1 -1
  11. package/.output/public/_nuxt/{DT-Wg8r1.js → D4CLp1hc.js} +1 -1
  12. package/.output/public/_nuxt/{C6m-kenn.js → DAR70Lf5.js} +1 -1
  13. package/.output/public/_nuxt/{B3Psw_sL.js → DBXhDLgl.js} +1 -1
  14. package/.output/public/_nuxt/{Cj6139IM.js → DsOkkMX3.js} +1 -1
  15. package/.output/public/_nuxt/DtM4RX5T.js +1 -0
  16. package/.output/public/_nuxt/{DaE5saZg.js → QT54MQV9.js} +1 -1
  17. package/.output/public/_nuxt/{Bmpvki7M.js → UtviM1bg.js} +1 -1
  18. package/.output/public/_nuxt/_id_.pF-B9O6u.css +1 -0
  19. package/.output/public/_nuxt/builds/latest.json +1 -1
  20. package/.output/public/_nuxt/builds/meta/6a0a88de-639e-4e7b-b7c1-7f4034e04787.json +1 -0
  21. package/.output/server/chunks/_/nitro.mjs +1411 -910
  22. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  23. package/.output/server/chunks/build/{TownView-CunmEMzS.mjs → TownView-ql2eHZOg.mjs} +4 -4
  24. package/.output/server/chunks/build/{TownView-CunmEMzS.mjs.map → TownView-ql2eHZOg.mjs.map} +1 -1
  25. package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs → _id_-CwR5oLu9.mjs} +4 -4
  26. package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs.map → _id_-CwR5oLu9.mjs.map} +1 -1
  27. package/.output/server/chunks/build/{_id_-D265Wh_k.mjs → _id_-DvJZ5Qis.mjs} +168 -120
  28. package/.output/server/chunks/build/_id_-DvJZ5Qis.mjs.map +1 -0
  29. package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs → _wsId_-B3aB9bIp.mjs} +5 -5
  30. package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs.map → _wsId_-B3aB9bIp.mjs.map} +1 -1
  31. package/.output/server/chunks/build/{daq-DxaXk_8N.mjs → daq-epWL_sC7.mjs} +5 -5
  32. package/.output/server/chunks/build/{daq-DxaXk_8N.mjs.map → daq-epWL_sC7.mjs.map} +1 -1
  33. package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs → dcw-CBPaFj2f.mjs} +2 -2
  34. package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs.map → dcw-CBPaFj2f.mjs.map} +1 -1
  35. package/.output/server/chunks/build/{logs-UWXeNKy_.mjs → logs-Bz1p6x_5.mjs} +3 -3
  36. package/.output/server/chunks/build/{logs-UWXeNKy_.mjs.map → logs-Bz1p6x_5.mjs.map} +1 -1
  37. package/.output/server/chunks/build/{pages-Aexs6LjD.mjs → pages-Dq7_H4FK.mjs} +3 -3
  38. package/.output/server/chunks/build/{pages-Aexs6LjD.mjs.map → pages-Dq7_H4FK.mjs.map} +1 -1
  39. package/.output/server/chunks/build/{town-BbaR-8io.mjs → town-CstiKxf_.mjs} +5 -5
  40. package/.output/server/chunks/build/{town-BbaR-8io.mjs.map → town-CstiKxf_.mjs.map} +1 -1
  41. package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs → useDaqStream-BOOZ-p-l.mjs} +2 -2
  42. package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs.map → useDaqStream-BOOZ-p-l.mjs.map} +1 -1
  43. package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs → useDcwStream-DyB2ufQI.mjs} +15 -1
  44. package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs.map → useDcwStream-DyB2ufQI.mjs.map} +1 -1
  45. package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs → useDeviceTwins-ZbT86L9O.mjs} +2 -2
  46. package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs.map → useDeviceTwins-ZbT86L9O.mjs.map} +1 -1
  47. package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs → useOpsLog-8HCYFb6n.mjs} +2 -2
  48. package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs.map → useOpsLog-8HCYFb6n.mjs.map} +1 -1
  49. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  50. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  51. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +42 -0
  52. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -0
  53. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +29 -0
  54. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -0
  55. package/.output/server/chunks/routes/api/workshop/dcw/recipes/{_id_.patch.mjs → index.patch.mjs} +11 -6
  56. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -0
  57. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  58. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  59. package/.output/server/chunks/routes/renderer.mjs +1 -1
  60. package/.output/server/chunks/virtual/entry.mjs +34 -8
  61. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  62. package/.output/server/package.json +1 -1
  63. package/app/composables/workshop/useDcwStream.ts +12 -0
  64. package/app/pages/dcw/[id].vue +165 -1
  65. package/i18n/locales/en.ts +13 -0
  66. package/i18n/locales/zh-CN.ts +13 -0
  67. package/package.json +1 -1
  68. package/scripts/_dbg-opslog-agent-e2e.mjs +191 -0
  69. package/scripts/_dbg-recipe-e2e.mjs +176 -0
  70. package/server/api/workshop/daq/index.post.ts +1 -1
  71. package/server/api/workshop/dcw/lines/index.post.ts +1 -1
  72. package/server/api/workshop/dcw/recipes/{[id].patch.ts → [id]/index.patch.ts} +9 -3
  73. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +28 -0
  74. package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -0
  75. package/server/data/daqs.json +471 -61
  76. package/server/data/dcw-lines.json +49 -0
  77. package/server/data/dcw-products.json +56 -0
  78. package/server/data/dcw-recipes.json +64 -0
  79. package/server/data/dcw-rollback.json +239 -6
  80. package/server/data/dcw-runs.json +162 -142
  81. package/server/data/dcw-writes.json +132 -0
  82. package/server/data/dcws.json +344 -198
  83. package/server/data/line-runs.json +41 -11
  84. package/server/data/scene-layouts.json +11 -0
  85. package/server/plugins/workshop.ts +9 -0
  86. package/server/services/workshop/agents/agent-badge.ts +38 -0
  87. package/server/services/workshop/agents/host-tool-bridge.ts +642 -612
  88. package/server/services/workshop/agents/industrial-tools.ts +357 -4
  89. package/server/services/workshop/daq/drivers.ts +41 -8
  90. package/server/services/workshop/dcw/dcw-controller.ts +50 -2
  91. package/server/services/workshop/dcw/dcw-recipe.repo.ts +81 -3
  92. package/server/services/workshop/dcw/drivers.ts +2 -2
  93. package/server/services/workshop/dcw/recipe-rollback-manager.ts +8 -6
  94. package/shared/dcw-protocol.ts +14 -2
  95. package/.output/public/_nuxt/Bc3PiGGr.js +0 -1
  96. package/.output/public/_nuxt/_id_.DTvjd6VN.css +0 -1
  97. package/.output/public/_nuxt/builds/meta/65f6bed9-b794-44a4-805a-e22700c10817.json +0 -1
  98. package/.output/server/chunks/build/_id_-D265Wh_k.mjs.map +0 -1
  99. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs.map +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": 49286
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": 0
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": 0
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": 0
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": 0
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": 17196
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": 48679
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": 48652
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": 3925
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": 4136
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": 3995
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
+ }