agentworkshop 0.7.21 → 0.7.22
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BA3XzwiD.js → 0exC4jVL.js} +1 -1
- package/.output/public/_nuxt/BAbAEW0D.js +1 -0
- package/.output/public/_nuxt/{DBXhDLgl.js → BuiGDfMB.js} +1 -1
- package/.output/public/_nuxt/Ci0uX4c4.js +1 -0
- package/.output/public/_nuxt/D6B0xnjk.js +1 -0
- package/.output/public/_nuxt/{TownView.BHLKAjEu.css → TownView.zu2rU5nS.css} +1 -1
- package/.output/public/_nuxt/_id_.C2VHq_vT.css +1 -0
- package/.output/public/_nuxt/_id_.Dswy2p0I.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/e2341fc0-6f3f-4680-abf8-935a7c9fb912.json +1 -0
- package/.output/public/_nuxt/{BOJaHO5V.js → c3mwkHWP.js} +2 -2
- package/.output/public/_nuxt/daq.BTdEun-8.css +1 -0
- package/.output/public/_nuxt/dbi5bHkY.js +2 -0
- package/.output/public/_nuxt/{DsOkkMX3.js → jyQyulh-.js} +1 -1
- package/.output/public/_nuxt/{B-E8fXAO.js → n3vMFfrv.js} +1 -1
- package/.output/server/chunks/_/nitro.mjs +873 -748
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/{TownView-ql2eHZOg.mjs → TownView-DxeQe1Bl.mjs} +144 -143
- package/.output/server/chunks/build/{TownView-ql2eHZOg.mjs.map → TownView-DxeQe1Bl.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-CwR5oLu9.mjs → _id_-B9RvEQFC.mjs} +33 -35
- package/.output/server/chunks/build/_id_-B9RvEQFC.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-Bs-euJPu.mjs → _id_-CqF0R5W5.mjs} +138 -137
- package/.output/server/chunks/build/_id_-CqF0R5W5.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-B3aB9bIp.mjs → _wsId_-YC2t_fRt.mjs} +3 -3
- package/.output/server/chunks/build/{_wsId_-B3aB9bIp.mjs.map → _wsId_-YC2t_fRt.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-epWL_sC7.mjs → daq-Bhwwz9vp.mjs} +146 -118
- package/.output/server/chunks/build/daq-Bhwwz9vp.mjs.map +1 -0
- package/.output/server/chunks/build/{pages-Dq7_H4FK.mjs → pages-D9tOoJsf.mjs} +2 -2
- package/.output/server/chunks/build/{pages-Dq7_H4FK.mjs.map → pages-D9tOoJsf.mjs.map} +1 -1
- package/.output/server/chunks/build/{town-CstiKxf_.mjs → town-Dsh0jlwZ.mjs} +3 -3
- package/.output/server/chunks/build/{town-CstiKxf_.mjs.map → town-Dsh0jlwZ.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDaqStream-BOOZ-p-l.mjs → useDaqStream-DkRL3tEW.mjs} +9 -1
- package/.output/server/chunks/build/{useDaqStream-BOOZ-p-l.mjs.map → useDaqStream-DkRL3tEW.mjs.map} +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +6 -6
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/components/workshop/town/TownView.vue +7082 -7076
- package/app/composables/workshop/useDaqStream.ts +10 -0
- package/app/pages/daq/[id].vue +4 -3
- package/app/pages/daq/index.vue +66 -21
- package/app/pages/dcw/[id].vue +5 -1
- package/package.json +148 -148
- package/scripts/_dbg-device-bind-e2e.mjs +129 -0
- package/server/api/workshop/daq/[id]/bind.post.ts +5 -2
- package/server/api/workshop/daq/[id]/bindings.put.ts +22 -0
- package/server/api/workshop/dcw/[id]/bind.post.ts +4 -2
- package/server/api/workshop/dcw/[id]/bindings.put.ts +21 -0
- package/server/data/daqs.json +408 -103
- package/server/data/dcw-lines.json +7 -0
- package/server/data/dcw-rollback.json +10 -10
- package/server/data/dcw-runs.json +25 -27
- package/server/data/dcw-writes.json +12 -0
- package/server/data/dcws.json +216 -216
- package/server/data/line-runs.json +18 -18
- package/server/services/workshop/agents/industrial-context.ts +231 -222
- package/server/services/workshop/daq/daq-controller.ts +76 -23
- package/server/services/workshop/daq/daq-node.ts +11 -1
- package/server/services/workshop/dcw/dcw-controller.ts +50 -2
- package/server/services/workshop/dcw/dcw-node.ts +10 -1
- package/shared/daq-protocol.ts +2 -0
- package/shared/dcw-protocol.ts +2 -0
- package/.output/public/_nuxt/B_C3GLsD.js +0 -1
- package/.output/public/_nuxt/Ba7YofCb.js +0 -2
- package/.output/public/_nuxt/CgT5wMfz.js +0 -1
- package/.output/public/_nuxt/D4CLp1hc.js +0 -1
- package/.output/public/_nuxt/_id_.DIxEKj88.css +0 -1
- package/.output/public/_nuxt/_id_.IbmpkhH4.css +0 -1
- package/.output/public/_nuxt/builds/meta/5d344836-03a5-4f47-a0a7-fd30192f5a8f.json +0 -1
- package/.output/public/_nuxt/daq.6IrhVVfy.css +0 -1
- package/.output/server/chunks/build/_id_-Bs-euJPu.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CwR5oLu9.mjs.map +0 -1
- package/.output/server/chunks/build/daq-epWL_sC7.mjs.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PUT /api/workshop/daq/:id/bindings —— 整体设定数采节点的绑定设备列表(多对多)。
|
|
3
|
+
* body: { deviceIds: string[] }(全量替换,去重,逐一校验设备存在;(节点,设备)对唯一)
|
|
4
|
+
*/
|
|
5
|
+
import { getRouterParam, readBody } from 'h3'
|
|
6
|
+
import { resolveUser } from '@/server/api/workshop/caller'
|
|
7
|
+
import { requireLineMode } from '@/server/services/workshop/permissions'
|
|
8
|
+
import { defineApiHandler } from '@/server/utils/response'
|
|
9
|
+
import { bindDaqHost } from '@/server/services/workshop/daq/host-bindings'
|
|
10
|
+
import { getDaqController } from '@/server/services/workshop/daq/daq-controller'
|
|
11
|
+
import { broadcastSceneEvent } from '../../../../services/workshop/scene-events'
|
|
12
|
+
|
|
13
|
+
export default defineApiHandler(async (event) => {
|
|
14
|
+
const user = resolveUser(event)
|
|
15
|
+
bindDaqHost(broadcastSceneEvent)
|
|
16
|
+
const id = getRouterParam(event, 'id') ?? ''
|
|
17
|
+
// 产线权限:设备绑定=操控能力(绑定后通道值回写设备)
|
|
18
|
+
requireLineMode(user, getDaqController().byId(id)?.lineId, 'operate')
|
|
19
|
+
const body = await readBody<{ deviceIds?: string[] }>(event) ?? {}
|
|
20
|
+
const node = getDaqController().setDeviceBindings(id, Array.isArray(body.deviceIds) ? body.deviceIds : [])
|
|
21
|
+
return { node: node.toView() }
|
|
22
|
+
})
|
|
@@ -14,7 +14,9 @@ export default defineApiHandler(async (event) => {
|
|
|
14
14
|
const id = getRouterParam(event, 'id') ?? ''
|
|
15
15
|
// 产线权限:设备孪生绑定=操控能力
|
|
16
16
|
requireLineMode(user, getDcwController().byId(id)?.lineId, 'operate')
|
|
17
|
-
const body = await readBody<{ deviceId?: string | null }>(event) ?? {}
|
|
18
|
-
const node =
|
|
17
|
+
const body = await readBody<{ deviceId?: string | null, deviceIds?: string[] }>(event) ?? {}
|
|
18
|
+
const node = Array.isArray(body.deviceIds)
|
|
19
|
+
? getDcwController().setDeviceBindings(id, body.deviceIds)
|
|
20
|
+
: getDcwController().bind(id, body.deviceId ?? null)
|
|
19
21
|
return { node: node.toView() }
|
|
20
22
|
})
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PUT /api/workshop/dcw/:id/bindings —— 整体设定数控节点的绑定设备列表(多对多)。
|
|
3
|
+
* body: { deviceIds: string[] }(全量替换,去重,逐一校验设备存在;(节点,设备)对唯一)
|
|
4
|
+
*/
|
|
5
|
+
import { getRouterParam, readBody } from 'h3'
|
|
6
|
+
import { resolveUser } from '@/server/api/workshop/caller'
|
|
7
|
+
import { requireLineMode } from '@/server/services/workshop/permissions'
|
|
8
|
+
import { defineApiHandler } from '@/server/utils/response'
|
|
9
|
+
import { bindDcwBroadcast, getDcwController } from '@/server/services/workshop/dcw/dcw-controller'
|
|
10
|
+
import { broadcastSceneEvent } from '../../../../services/workshop/scene-events'
|
|
11
|
+
|
|
12
|
+
export default defineApiHandler(async (event) => {
|
|
13
|
+
const user = resolveUser(event)
|
|
14
|
+
bindDcwBroadcast(broadcastSceneEvent)
|
|
15
|
+
const id = getRouterParam(event, 'id') ?? ''
|
|
16
|
+
// 产线权限:设备孪生绑定=操控能力
|
|
17
|
+
requireLineMode(user, getDcwController().byId(id)?.lineId, 'operate')
|
|
18
|
+
const body = await readBody<{ deviceIds?: string[] }>(event) ?? {}
|
|
19
|
+
const node = getDcwController().setDeviceBindings(id, Array.isArray(body.deviceIds) ? body.deviceIds : [])
|
|
20
|
+
return { node: node.toView() }
|
|
21
|
+
})
|