agentworkshop 0.7.8 → 0.7.11
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/-6OnbLFb.js +1 -0
- package/.output/public/_nuxt/{BUxYN2mw.js → -nb2uqVg.js} +1 -1
- package/.output/public/_nuxt/6vYobj4F.js +1 -0
- package/.output/public/_nuxt/{BSXx2vqR.js → B-xskWta.js} +1 -1
- package/.output/public/_nuxt/B3Psw_sL.js +1 -0
- package/.output/public/_nuxt/B53Mp7lD.js +1 -0
- package/.output/public/_nuxt/B5CYgFAD.js +14 -0
- package/.output/public/_nuxt/{uBbDCfTz.js → B5S_UyaC.js} +1 -1
- package/.output/public/_nuxt/{DZk24ego.js → B7wL3pDk.js} +1 -1
- package/.output/public/_nuxt/B8WV7GzS.js +1 -0
- package/.output/public/_nuxt/{BYL0Rjqj.js → BBwMH_hG.js} +3 -3
- package/.output/public/_nuxt/BLzCac9K2.js +1 -0
- package/.output/public/_nuxt/BNXfwXpE.js +1 -0
- package/.output/public/_nuxt/{VnIWJ0ts.js → BN_PdN3J.js} +1 -1
- package/.output/public/_nuxt/BZGNTgTQ2.js +1 -0
- package/.output/public/_nuxt/BbZAzXjZ2.js +1 -0
- package/.output/public/_nuxt/Bc3PiGGr.js +1 -0
- package/.output/public/_nuxt/Bckshc9V.js +1 -0
- package/.output/public/_nuxt/BcrN7QEl2.js +1 -0
- package/.output/public/_nuxt/BgOhoDTI.js +1 -0
- package/.output/public/_nuxt/Bmpvki7M.js +1 -0
- package/.output/public/_nuxt/{BkfchkK62.js → Bp5luxkg2.js} +1 -1
- package/.output/public/_nuxt/BxPPAkGA.js +3 -0
- package/.output/public/_nuxt/{C8dxXc6K.js → BxtpDtzC.js} +1 -1
- package/.output/public/_nuxt/{pRQri7vQ2.js → BytVi9VX2.js} +1 -1
- package/.output/public/_nuxt/{D5KJ7_0V.js → C3tCneTM.js} +1 -1
- package/.output/public/_nuxt/{C_gFA2H_2.js → C4OAdbVK2.js} +1 -1
- package/.output/public/_nuxt/C6m-kenn.js +1 -0
- package/.output/public/_nuxt/{zwdqvGN_.js → CGx-mtWf.js} +1 -1
- package/.output/public/_nuxt/{DCXIGxzT.js → CKfhtOt7.js} +2 -2
- package/.output/public/_nuxt/{ChEKFMxj.js → CUXCQXjG.js} +1 -1
- package/.output/public/_nuxt/CfVAr2nf.js +1 -0
- package/.output/public/_nuxt/Cj6139IM.js +1 -0
- package/.output/public/_nuxt/{DM8DS9MA.js → Cor9siSf.js} +1 -1
- package/.output/public/_nuxt/{BsMpJf7S.js → D-Ca4BGY.js} +6 -6
- package/.output/public/_nuxt/{CsCpu2Zh.js → D1z7i2UP.js} +1 -1
- package/.output/public/_nuxt/D7jiode2.js +1 -0
- package/.output/public/_nuxt/D8CqF0yy.js +1 -0
- package/.output/public/_nuxt/{DYZBdSSg2.js → DA4lxCWC2.js} +1 -1
- package/.output/public/_nuxt/DEaY_uvR.js +1 -0
- package/.output/public/_nuxt/{DCEyMaN-.js → DNxVTfhe.js} +3 -3
- package/.output/public/_nuxt/DT-Wg8r1.js +1 -0
- package/.output/public/_nuxt/DTYBfjRY.js +1 -0
- package/.output/public/_nuxt/{fQUs58kX2.js → DWcEk1ur2.js} +1 -1
- package/.output/public/_nuxt/DXRZPxGs.js +1 -0
- package/.output/public/_nuxt/Dhqra7NB.js +1 -0
- package/.output/public/_nuxt/DlRO_q5L.js +1 -0
- package/.output/public/_nuxt/{C2iWjzEC2.js → DoLasgPj2.js} +1 -1
- package/.output/public/_nuxt/{DRq09ZmT.js → DpojD719.js} +1 -1
- package/.output/public/_nuxt/Ds8JbqGB.js +1 -0
- package/.output/public/_nuxt/{BCipft_k2.js → DsUUYP292.js} +1 -1
- package/.output/public/_nuxt/DtBu71ev.js +32 -0
- package/.output/public/_nuxt/Dy-mxvXY2.js +1 -0
- package/.output/public/_nuxt/DyisHHzD.js +18 -0
- package/.output/public/_nuxt/G0qIw7Gq2.js +1 -0
- package/.output/public/_nuxt/ORt9oDIy2.js +1 -0
- package/.output/public/_nuxt/QoCzfpo2.js +1 -0
- package/.output/public/_nuxt/RzXYI9FM.js +23 -0
- package/.output/public/_nuxt/TownView.BHLKAjEu.css +1 -0
- package/.output/public/_nuxt/VLI2Zy4t.js +5 -0
- package/.output/public/_nuxt/_id_.DIxEKj88.css +1 -0
- package/.output/public/_nuxt/_id_.DTvjd6VN.css +1 -0
- package/.output/public/_nuxt/{_wsId_.COUzMXpP.css → _wsId_.BFyCuUwS.css} +1 -1
- package/.output/public/_nuxt/agents.CEbox5-D.css +1 -0
- package/.output/public/_nuxt/{ZugRk0CM2.js → arUY5dyq2.js} +2 -2
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/88479a5b-ce6a-400f-9737-1cc9f54b1fe5.json +1 -0
- package/.output/public/_nuxt/channel-templates.De5ZvrGz.css +1 -0
- package/.output/public/_nuxt/d_Sz9KGm.js +1 -0
- package/.output/public/_nuxt/daq.6IrhVVfy.css +1 -0
- package/.output/public/_nuxt/dcw.DcDjwvqv.css +1 -0
- package/.output/public/_nuxt/default.BbgdTDCk.css +1 -0
- package/.output/public/_nuxt/{CblLEiCZ.js → eHYnGew0.js} +3 -3
- package/.output/public/_nuxt/eUGyJdiT.js +1 -0
- package/.output/public/_nuxt/{entry.5qf6EqfN.css → entry.B03HBJGC.css} +1 -1
- package/.output/public/_nuxt/{Cyk3du4K2.js → kZV5TQvh2.js} +1 -1
- package/.output/public/_nuxt/kkEthL84.js +2 -0
- package/.output/public/_nuxt/logs.BO-BSyjm.css +1 -0
- package/.output/public/_nuxt/{D4qXvjuV.js → niDwBOZW.js} +2 -2
- package/.output/public/_nuxt/permissions.CwZo6t1V.css +1 -0
- package/.output/public/_nuxt/plugins.Clsky_kl.css +1 -0
- package/.output/public/_nuxt/rqZ-1SoP.js +2 -0
- package/.output/public/_nuxt/settings.BqMF2nfj.css +1 -0
- package/.output/public/_nuxt/tJuVvBSl.js +1 -0
- package/.output/public/_nuxt/teams.CUMnbQGf.css +1 -0
- package/.output/public/_nuxt/tokens.BPLe9ioQ.css +1 -0
- package/.output/public/_nuxt/{Bi6AiCuP.js → vJ4FPb-_.js} +1 -1
- package/.output/public/_nuxt/workshop.BIdoGfoC.css +1 -0
- package/.output/public/_nuxt/{B7aqqzkY.js → zVkqCZ78.js} +1 -1
- package/.output/server/chunks/_/LeftOutlined.mjs +1 -1
- package/.output/server/chunks/_/SearchOutlined.mjs +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +1614 -1279
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/build/Col-biaNnEPf.mjs +1 -1
- package/.output/server/chunks/build/{OmpTerminalPanel-COphA1br.mjs → OmpTerminalPanel-Ban3yJZ4.mjs} +4 -5
- package/.output/server/chunks/build/OmpTerminalPanel-Ban3yJZ4.mjs.map +1 -0
- package/.output/server/chunks/build/{TownView-B5KifIaT.mjs → TownView-CunmEMzS.mjs} +184 -184
- package/.output/server/chunks/build/{TownView-B5KifIaT.mjs.map → TownView-CunmEMzS.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Ct4Jhvl1.mjs → _id_-CVnMdSeG.mjs} +38 -37
- package/.output/server/chunks/build/_id_-CVnMdSeG.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-C-ewLgfl.mjs → _id_-D265Wh_k.mjs} +127 -126
- package/.output/server/chunks/build/_id_-D265Wh_k.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs → _wsId_-eNJmBp05.mjs} +137 -136
- package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs.map → _wsId_-eNJmBp05.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-DSOptxXA.mjs → agents-B10wmFri.mjs} +24 -23
- package/.output/server/chunks/build/agents-B10wmFri.mjs.map +1 -0
- package/.output/server/chunks/build/alert-qJnjyRcP.mjs +1 -1
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs +47 -0
- package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -0
- package/.output/server/chunks/build/button-DEcZFcqN.mjs +2 -2
- package/.output/server/chunks/build/{card-Dipvaykh.mjs → card-CCPQoKlh.mjs} +4 -4
- package/.output/server/chunks/build/{card-Dipvaykh.mjs.map → card-CCPQoKlh.mjs.map} +1 -1
- package/.output/server/chunks/build/{channel-templates-BK0KuPOd.mjs → channel-templates-CpWxVk5A.mjs} +29 -28
- package/.output/server/chunks/build/channel-templates-CpWxVk5A.mjs.map +1 -0
- package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs → checkbox-Dv1kjaUZ.mjs} +3 -3
- package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs.map → checkbox-Dv1kjaUZ.mjs.map} +1 -1
- package/.output/server/chunks/build/client-only-D5BzSQc6.mjs +1 -1
- package/.output/server/chunks/build/{daq-D9RA_uze.mjs → daq-DxaXk_8N.mjs} +114 -114
- package/.output/server/chunks/build/daq-DxaXk_8N.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-BTM5YU-B.mjs → dcw-DqjHrl5Z.mjs} +48 -47
- package/.output/server/chunks/build/dcw-DqjHrl5Z.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BfWGTlbj.mjs → default-YcUHc1Ev.mjs} +34 -26
- package/.output/server/chunks/build/{default-BfWGTlbj.mjs.map → default-YcUHc1Ev.mjs.map} +1 -1
- package/.output/server/chunks/build/drawer-Cmh90erI.mjs +1 -1
- package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs +2 -2
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs +554 -0
- package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs.map +1 -0
- package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs +1 -1
- package/.output/server/chunks/build/{input-sf_BT6o6.mjs → input-DxDqeyQW.mjs} +5 -553
- package/.output/server/chunks/build/input-DxDqeyQW.mjs.map +1 -0
- package/.output/server/chunks/build/{input-number-Bd55elNN.mjs → input-number-CZ3ZrCsy.mjs} +3 -3
- package/.output/server/chunks/build/{input-number-Bd55elNN.mjs.map → input-number-CZ3ZrCsy.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-Dyk0I2I9.mjs → logs-Co854R4y.mjs} +40 -40
- package/.output/server/chunks/build/{logs-Dyk0I2I9.mjs.map → logs-Co854R4y.mjs.map} +1 -1
- package/.output/server/chunks/build/menu-WCrlpYVh.mjs +2 -2
- package/.output/server/chunks/build/modal-yvUquPj5.mjs +2 -2
- package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs → monitor-miqq9xHB.mjs} +11 -11
- package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs.map → monitor-miqq9xHB.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-DR2bzczM.mjs → pages-DPC1Vp6w.mjs} +6 -5
- package/.output/server/chunks/build/pages-DPC1Vp6w.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-Eu9e6hfZ.mjs +534 -0
- package/.output/server/chunks/build/permissions-Eu9e6hfZ.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-DnOBIWGg.mjs → plugins-D84mvK9G.mjs} +27 -25
- package/.output/server/chunks/build/plugins-D84mvK9G.mjs.map +1 -0
- package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs +2 -2
- package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs +1 -1
- package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs → segmented-ChmQZwz6.mjs} +5 -4
- package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs.map → segmented-ChmQZwz6.mjs.map} +1 -1
- package/.output/server/chunks/build/select-D-CeE5vY.mjs +1 -1
- package/.output/server/chunks/build/{settings-DA8IkGLo.mjs → settings-BPBll_7K.mjs} +28 -26
- package/.output/server/chunks/build/settings-BPBll_7K.mjs.map +1 -0
- package/.output/server/chunks/build/space-CCBYAkXt.mjs +2 -2
- package/.output/server/chunks/build/spin-HVY81X_L.mjs +1 -1
- package/.output/server/chunks/build/switch-CelRXpcy.mjs +2 -2
- package/.output/server/chunks/build/{table-Cswq-l2r.mjs → table-BtksyDlQ.mjs} +5 -5
- package/.output/server/chunks/build/{table-Cswq-l2r.mjs.map → table-BtksyDlQ.mjs.map} +1 -1
- package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs → tabs-DQv-_-R6.mjs} +3 -3
- package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs.map → tabs-DQv-_-R6.mjs.map} +1 -1
- package/.output/server/chunks/build/{tag-NO9jEqKy.mjs → tag-A0tZ2Ouq.mjs} +4 -4
- package/.output/server/chunks/build/{tag-NO9jEqKy.mjs.map → tag-A0tZ2Ouq.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-BhSKBBBM.mjs → teams-CNflUtPh.mjs} +25 -24
- package/.output/server/chunks/build/teams-CNflUtPh.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-D_eyxmcv.mjs → tokens-CZpnEDVf.mjs} +27 -26
- package/.output/server/chunks/build/tokens-CZpnEDVf.mjs.map +1 -0
- package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
- package/.output/server/chunks/build/{town-DPtOPRRO.mjs → town-BbaR-8io.mjs} +10 -10
- package/.output/server/chunks/build/{town-DPtOPRRO.mjs.map → town-BbaR-8io.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDaqStream-hwkhJHFU.mjs → useDaqStream-BkmyQT06.mjs} +36 -24
- package/.output/server/chunks/build/useDaqStream-BkmyQT06.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwStream-Bdew_yrr.mjs → useDcwStream-DWVoU96J.mjs} +63 -48
- package/.output/server/chunks/build/useDcwStream-DWVoU96J.mjs.map +1 -0
- package/.output/server/chunks/build/{useDeviceTwins-C6EBg9oN.mjs → useDeviceTwins-34WGk9aN.mjs} +4 -3
- package/.output/server/chunks/build/useDeviceTwins-34WGk9aN.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +1 -1
- package/.output/server/chunks/build/{useOpsLog-DdCqKVVG.mjs → useOpsLog-C9zTzYof.mjs} +30 -17
- package/.output/server/chunks/build/useOpsLog-C9zTzYof.mjs.map +1 -0
- package/.output/server/chunks/build/useSiteConfig-DJe_KMVr.mjs +1 -1
- package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +1 -1
- package/.output/server/chunks/build/{useWorkshopWs-B3j5wIAK.mjs → useWorkshopWs-CprkZEdq.mjs} +2 -3
- package/.output/server/chunks/build/useWorkshopWs-CprkZEdq.mjs.map +1 -0
- package/.output/server/chunks/build/{users-CmVvb1oq.mjs → users-D6RNylrW.mjs} +10 -10
- package/.output/server/chunks/build/{users-CmVvb1oq.mjs.map → users-D6RNylrW.mjs.map} +1 -1
- package/.output/server/chunks/build/{workshop-D5CQj2A8.mjs → workshop-Crsai2Y9.mjs} +27 -26
- package/.output/server/chunks/build/workshop-Crsai2Y9.mjs.map +1 -0
- package/.output/server/chunks/build/{workspaces-IfORCDJE.mjs → workspaces-BuydxM-3.mjs} +2 -3
- package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
- package/.output/server/chunks/routes/api/metrics.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +19 -8
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +7 -6
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +5 -2
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +7 -6
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +4 -3
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +8 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +7 -3
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +5 -3
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +4 -3
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +27 -0
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +18 -11
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +24 -12
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs +12 -7
- package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +4 -4
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +303 -37
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +15 -0
- package/README.md +20 -0
- package/app/components/AppHeader.vue +1 -1
- package/app/components/AppSidebar.vue +7 -1
- package/app/components/workshop/A2aRpcDebugger.vue +1 -1
- package/app/components/workshop/AgentInspectorDrawer.vue +3 -3
- package/app/components/workshop/AgentLanesView.vue +6 -6
- package/app/components/workshop/AssetLibrary.vue +2 -2
- package/app/components/workshop/ChannelSessionList.vue +5 -5
- package/app/components/workshop/Composer.vue +1 -1
- package/app/components/workshop/DeviceTwinPanel.vue +2 -2
- package/app/components/workshop/TaskBoardView.vue +1 -1
- package/app/components/workshop/TaskInspectorDrawer.vue +2 -2
- package/app/components/workshop/town/TownView.vue +23 -23
- package/app/composables/workshop/apiClient.ts +103 -95
- package/app/composables/workshop/useCharacterAssets.ts +1 -1
- package/app/composables/workshop/useDaqStream.ts +36 -22
- package/app/composables/workshop/useDcwStream.ts +23 -6
- package/app/composables/workshop/useDeviceTwins.ts +1 -1
- package/app/composables/workshop/useOpsLog.ts +28 -15
- package/app/composables/workshop/useSceneLayouts.ts +1 -1
- package/app/composables/workshop/useWorkshopWs.ts +11 -2
- package/app/pages/daq/[id].vue +1 -1
- package/app/pages/daq/index.vue +8 -8
- package/app/pages/dcw/[id].vue +13 -13
- package/app/pages/dcw/index.vue +7 -7
- package/app/pages/logs/index.vue +1 -1
- package/app/pages/permissions/index.vue +327 -0
- package/app/pages/plugins/index.vue +14 -6
- package/app/pages/settings.vue +4 -2
- package/app/pages/tokens.vue +3 -3
- package/app/pages/workshop/agents.vue +2 -2
- package/app/pages/workshop/channel-templates.vue +3 -3
- package/app/pages/workshop/index.vue +4 -4
- package/app/pages/workshop/teams.vue +3 -3
- package/app/plugins/http.ts +18 -2
- package/app/plugins/session-restore.client.ts +7 -2
- package/app/stores/workshop/user.ts +14 -1
- package/app/utils/api-error.ts +75 -0
- package/cli/commands/plugin.mjs +2 -2
- package/config.yml +1 -1
- package/i18n/locales/en.ts +53 -3
- package/i18n/locales/zh-CN.ts +53 -3
- package/package.json +1 -1
- package/scripts/_dbg-acc-1-setup.mjs +57 -0
- package/scripts/_dbg-acc-2-diag.mjs +14 -0
- package/scripts/_dbg-acc-2-intervals.mjs +81 -0
- package/scripts/_dbg-acc-3-daq.mjs +48 -0
- package/scripts/_dbg-acc-4-team.mjs +92 -0
- package/scripts/_dbg-acc-5-visual.mjs +63 -0
- package/scripts/_dbg-acc-5b-ws-town.mjs +18 -0
- package/scripts/_dbg-acc-5c-town.mjs +12 -0
- package/scripts/_dbg-acc-6-i18n.mjs +19 -0
- package/scripts/_dbg-audit-neg-e2e.mjs +64 -0
- package/scripts/_dbg-final-features.mjs +155 -0
- package/scripts/_dbg-final-fixups.mjs +62 -0
- package/scripts/_dbg-final-visual.mjs +29 -0
- package/scripts/_dbg-interval-config.mjs +17 -6
- package/scripts/_dbg-perms-e2e.mjs +102 -0
- package/scripts/_dbg-perms-visual.mjs +36 -0
- package/scripts/_dbg-plugins-e2e.mjs +101 -0
- package/scripts/_dbg-protocol-matrix.mjs +16 -0
- package/scripts/_dbg-repo-setup-verify.mjs +31 -0
- package/scripts/_dbg-setup-e2e.mjs +1 -1
- package/sdk/api.mjs +117 -101
- package/sdk/context.mjs +240 -219
- package/sdk/hooks.mjs +105 -103
- package/sdk/index.d.mts +142 -135
- package/sdk/lifecycle.mjs +26 -25
- package/server/api/workshop/agent-tools/bindings/index.post.ts +40 -20
- package/server/api/workshop/daq/[id]/bind.post.ts +5 -2
- package/server/api/workshop/daq/[id]/frames/content.get.ts +4 -1
- package/server/api/workshop/daq/[id]/frames.get.ts +4 -1
- package/server/api/workshop/daq/[id]/samples.get.ts +4 -1
- package/server/api/workshop/daq/[id].patch.ts +3 -0
- package/server/api/workshop/daq/alarms/[id]/ack.post.ts +20 -15
- package/server/api/workshop/daq/controller.post.ts +2 -0
- package/server/api/workshop/daq/index.get.ts +5 -3
- package/server/api/workshop/daq/index.post.ts +2 -2
- package/server/api/workshop/dcw/[id]/bind.post.ts +20 -17
- package/server/api/workshop/dcw/[id]/test.post.ts +18 -15
- package/server/api/workshop/dcw/[id]/write.post.ts +3 -0
- package/server/api/workshop/dcw/index.get.ts +22 -9
- package/server/api/workshop/dcw/line/query.get.ts +38 -31
- package/server/api/workshop/dcw/lines/[id]/start.post.ts +3 -0
- package/server/api/workshop/dcw/lines/[id]/stop.post.ts +3 -0
- package/server/api/workshop/dcw/lines/index.get.ts +8 -2
- package/server/api/workshop/dcw/lines/index.post.ts +2 -2
- package/server/api/workshop/dcw/products/index.post.ts +16 -16
- package/server/api/workshop/dcw/runs/[id]/data.get.ts +20 -15
- package/server/api/workshop/dcw/runs/index.get.ts +13 -11
- package/server/api/workshop/permissions/index.get.ts +30 -0
- package/server/api/workshop/permissions/index.put.ts +29 -0
- package/server/api/workshop/plugins/[name]/disable.post.ts +5 -3
- package/server/api/workshop/plugins/[name]/enable.post.ts +5 -3
- package/server/api/workshop/ws.ts +18 -6
- package/server/data/daqs.json +90 -46
- package/server/data/dcw-lines.json +21 -0
- package/server/data/dcw-products.json +140 -0
- package/server/data/dcw-recipes.json +506 -0
- package/server/data/dcw-rollback.json +281 -6
- package/server/data/dcw-runs.json +1374 -1257
- package/server/data/dcw-writes.json +312 -0
- package/server/data/dcws.json +1165 -477
- package/server/data/line-runs.json +26 -6
- package/server/plugins/backup.ts +119 -116
- package/server/repositories/user.repository.ts +86 -6
- package/server/services/system-config.ts +5 -0
- package/server/services/user.service.ts +5 -3
- package/server/services/workshop/daq/bus/index.ts +5 -3
- package/server/services/workshop/daq/bus/inproc.adapter.ts +12 -3
- package/server/services/workshop/daq/bus/mqtt.adapter.ts +13 -0
- package/server/services/workshop/daq/bus/queue-port.ts +2 -0
- package/server/services/workshop/daq/daq-controller.ts +18 -1
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +10 -5
- package/server/services/workshop/db/ops.repo.ts +6 -0
- package/server/services/workshop/dcw/dcw-controller.ts +10 -2
- package/server/services/workshop/permissions.ts +79 -0
- package/server/services/workshop/plugins/host.mjs +40 -2
- package/server/services/workshop/scene-events.ts +25 -1
- package/server/services/workshop/settings.ts +10 -0
- package/shared/config/single-instance.mjs +24 -0
- package/shared/daq-protocol.ts +2 -0
- package/.output/public/_nuxt/2LwEn9gX.js +0 -2
- package/.output/public/_nuxt/3612gD2V.js +0 -32
- package/.output/public/_nuxt/8eIQAVlb.js +0 -1
- package/.output/public/_nuxt/Ah9qOv1m.js +0 -1
- package/.output/public/_nuxt/B4Fia4FB.js +0 -3
- package/.output/public/_nuxt/BH0Z05CS.js +0 -1
- package/.output/public/_nuxt/BJ-fxrSw.js +0 -1
- package/.output/public/_nuxt/BJvGPTpC.js +0 -1
- package/.output/public/_nuxt/BVZjSVs2.js +0 -1
- package/.output/public/_nuxt/BVzDoF8t.js +0 -1
- package/.output/public/_nuxt/BjVLsC3M.js +0 -1
- package/.output/public/_nuxt/BnVoQ74r.js +0 -1
- package/.output/public/_nuxt/Bnp4vIAf.js +0 -1
- package/.output/public/_nuxt/Bt_HDizI.js +0 -5
- package/.output/public/_nuxt/Bu-P92Pe.js +0 -18
- package/.output/public/_nuxt/ButLXkjo.js +0 -2
- package/.output/public/_nuxt/By-LNp3k.js +0 -1
- package/.output/public/_nuxt/CGdPdJPP.js +0 -1
- package/.output/public/_nuxt/CRGlf1Gb.js +0 -1
- package/.output/public/_nuxt/CS8R0_J3.js +0 -1
- package/.output/public/_nuxt/CUxV8Bw_.js +0 -1
- package/.output/public/_nuxt/Cd15nPnG2.js +0 -1
- package/.output/public/_nuxt/CvbHIGQY2.js +0 -1
- package/.output/public/_nuxt/DNJSkm3Q.js +0 -1
- package/.output/public/_nuxt/DNzaswei.js +0 -1
- package/.output/public/_nuxt/DXK1U43I.js +0 -1
- package/.output/public/_nuxt/Dc46i75T.js +0 -14
- package/.output/public/_nuxt/Dk6pq9JB2.js +0 -1
- package/.output/public/_nuxt/Do88WZG2.js +0 -23
- package/.output/public/_nuxt/Du-eSpo2.js +0 -1
- package/.output/public/_nuxt/GP2wXyuY.js +0 -1
- package/.output/public/_nuxt/NIM0Wglj2.js +0 -1
- package/.output/public/_nuxt/PQLnLxYe.js +0 -1
- package/.output/public/_nuxt/R_Wv_Nd9.js +0 -1
- package/.output/public/_nuxt/TownView.Bt33bo1M.css +0 -1
- package/.output/public/_nuxt/_id_.BzKMZnLe.css +0 -1
- package/.output/public/_nuxt/_id_.CbpDAWRh.css +0 -1
- package/.output/public/_nuxt/agents.BlejnOOC.css +0 -1
- package/.output/public/_nuxt/builds/meta/e5bb1803-86d9-43b3-85be-dc787dc9a978.json +0 -1
- package/.output/public/_nuxt/channel-templates.lkqEYlWY.css +0 -1
- package/.output/public/_nuxt/daq.zZ8GR433.css +0 -1
- package/.output/public/_nuxt/dcw.C46dGiF_.css +0 -1
- package/.output/public/_nuxt/default.V3_hUJq1.css +0 -1
- package/.output/public/_nuxt/eHGLpQSg2.js +0 -1
- package/.output/public/_nuxt/logs.DaIsHWZE.css +0 -1
- package/.output/public/_nuxt/p7wSGMtc.js +0 -1
- package/.output/public/_nuxt/plugins.FTm0PcEe.css +0 -1
- package/.output/public/_nuxt/settings.DeRNNUcP.css +0 -1
- package/.output/public/_nuxt/tRBT-plo.js +0 -1
- package/.output/public/_nuxt/teams.B8JNbUZg.css +0 -1
- package/.output/public/_nuxt/tokens.CWOTXM-Z.css +0 -1
- package/.output/public/_nuxt/ubPfs9mQ.js +0 -1
- package/.output/public/_nuxt/workshop.3kAcLB_M.css +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-C-ewLgfl.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +0 -1
- package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +0 -1
- package/.output/server/chunks/build/daq-D9RA_uze.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-BTM5YU-B.mjs.map +0 -1
- package/.output/server/chunks/build/input-sf_BT6o6.mjs.map +0 -1
- package/.output/server/chunks/build/pages-DR2bzczM.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-DnOBIWGg.mjs.map +0 -1
- package/.output/server/chunks/build/settings-DA8IkGLo.mjs.map +0 -1
- package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-D_eyxmcv.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs.map +0 -1
- package/.output/server/chunks/build/useDeviceTwins-C6EBg9oN.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-DdCqKVVG.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs.map +0 -1
- package/.output/server/chunks/build/user-Dk-ytEUV.mjs +0 -140
- package/.output/server/chunks/build/user-Dk-ytEUV.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +0 -1
- package/.output/server/chunks/build/workspaces-IfORCDJE.mjs.map +0 -1
- /package/.output/public/_nuxt/{CNs_Ozdc2.js → CNs_Ozdc.js} +0 -0
- /package/.output/public/_nuxt/{Cno6kYiO2.js → Cno6kYiO.js} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { _ as _plugin_vue_export_helper_default, u as useI18n,
|
|
2
|
-
import { u as
|
|
3
|
-
import {
|
|
4
|
-
import { u as useEntitiesStore, a as useWorkshopWs } from './useWorkshopWs-
|
|
1
|
+
import { _ as _plugin_vue_export_helper_default, u as useI18n, at as useHttp, b as useUserStore } from '../virtual/entry.mjs';
|
|
2
|
+
import { u as useWorkspacesStore } from './workspaces-BuydxM-3.mjs';
|
|
3
|
+
import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
|
|
4
|
+
import { u as useEntitiesStore, a as useWorkshopWs } from './useWorkshopWs-CprkZEdq.mjs';
|
|
5
5
|
import { s as setInterval, n as nowLocalIso } from './useLocalTime-9a4B-aHv.mjs';
|
|
6
6
|
import { u as useTownBus } from './useTownBus-D9SoIsAN.mjs';
|
|
7
|
-
import { u as useDcwStream } from './useDcwStream-
|
|
8
|
-
import { u as useDaqStream } from './useDaqStream-
|
|
9
|
-
import { u as useDeviceTwins } from './useDeviceTwins-
|
|
7
|
+
import { u as useDcwStream } from './useDcwStream-DWVoU96J.mjs';
|
|
8
|
+
import { u as useDaqStream } from './useDaqStream-BkmyQT06.mjs';
|
|
9
|
+
import { u as useDeviceTwins } from './useDeviceTwins-34WGk9aN.mjs';
|
|
10
10
|
import { shallowRef, ref, computed, toValue, watch, nextTick, defineComponent, reactive, mergeProps, unref, readonly, getCurrentScope, onScopeDispose, getCurrentInstance, toRef, customRef, useSSRContext } from 'vue';
|
|
11
11
|
import { ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrIncludeBooleanAttr, ssrRenderComponent, ssrRenderList, ssrRenderStyle, ssrLooseContain, ssrLooseEqual } from 'vue/server-renderer';
|
|
12
|
-
import {
|
|
12
|
+
import { a$ as DAQ_TEMPLATES } from '../_/nitro.mjs';
|
|
13
13
|
import * as THREE from 'three';
|
|
14
14
|
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
15
15
|
import { RoomEnvironment } from 'three/examples/jsm/environments/RoomEnvironment.js';
|
|
@@ -269,7 +269,7 @@ function createStore$1() {
|
|
|
269
269
|
store.error = "";
|
|
270
270
|
} catch (err) {
|
|
271
271
|
store.loaded = false;
|
|
272
|
-
store.error =
|
|
272
|
+
store.error = apiErrorMessage(err);
|
|
273
273
|
} finally {
|
|
274
274
|
store.loading = false;
|
|
275
275
|
}
|
|
@@ -599,8 +599,8 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
599
599
|
const deletingId = ref("");
|
|
600
600
|
const deleteMsg = ref("");
|
|
601
601
|
return (_ctx, _push, _parent, _attrs) => {
|
|
602
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-
|
|
603
|
-
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-
|
|
602
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "asset-lib" }, _attrs))} data-v-effff4e2><div class="lib-head" data-v-effff4e2><span class="head-title" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k7la4x5001"))}</span><span class="head-hint" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.kulif5b002"))}</span></div><div class="${ssrRenderClass([{ drop: unref(dropActive) }, "upload-box"])}" data-v-effff4e2><label class="upload-row" data-v-effff4e2><input type="file" accept=".glb,.gltf,.obj,.fbx" class="file-input" data-v-effff4e2><span class="upload-name" data-v-effff4e2><span class="i-tabler-plus upload-ico" data-v-effff4e2></span> ${ssrInterpolate(unref(uploadFile)?.name || _ctx.$t("assetLibrary.k1iiort6010"))}</span></label>`);
|
|
603
|
+
if (unref(dropActive)) _push(`<span class="drop-hint" data-v-effff4e2><span class="i-tabler-download" data-v-effff4e2></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k5hg6jq003"))}</span>`);
|
|
604
604
|
else _push(`<!---->`);
|
|
605
605
|
if (unref(uploadFile)) {
|
|
606
606
|
_push(`<!--[-->`);
|
|
@@ -608,31 +608,31 @@ var AssetLibrary_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
|
|
|
608
608
|
"local-file": unref(uploadFile),
|
|
609
609
|
height: 92
|
|
610
610
|
}, null, _parent));
|
|
611
|
-
else _push(`<span class="upload-file-tag" data-v-
|
|
612
|
-
_push(`<div class="upload-actions" data-v-
|
|
613
|
-
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-
|
|
611
|
+
else _push(`<span class="upload-file-tag" data-v-effff4e2>${ssrInterpolate(unref(uploadFile).name)} (${ssrInterpolate(_ctx.$t("assetLibrary.k1xz5wvk009"))}</span>`);
|
|
612
|
+
_push(`<div class="upload-actions" data-v-effff4e2><button class="upload-btn go"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(unref(uploading) ? _ctx.$t("assetLibrary.k1ar7n8i005") : _ctx.$t("assetLibrary.k1hhga4h014"))}</button><button class="upload-btn"${ssrIncludeBooleanAttr(unref(uploading)) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k3xdnn004"))}</button></div><!--]-->`);
|
|
613
|
+
} else if (unref(uploading)) _push(`<span class="mini-err" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k1ar7n8i005"))}</span>`);
|
|
614
614
|
else _push(`<!---->`);
|
|
615
|
-
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-
|
|
615
|
+
if (unref(uploadError) && !unref(uploadFile)) _push(`<span class="mini-err" data-v-effff4e2>${ssrInterpolate(unref(uploadError))}</span>`);
|
|
616
616
|
else _push(`<!---->`);
|
|
617
|
-
_push(`</div><div class="lib-grid" data-v-
|
|
617
|
+
_push(`</div><div class="lib-grid" data-v-effff4e2><!--[-->`);
|
|
618
618
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
619
|
-
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title", m.hint || _ctx.$t("assetLibrary.katn7lo015", { p0: m.name }))} data-v-
|
|
619
|
+
_push(`<div class="model-card"${ssrRenderAttr("data-model-id", m.id)} draggable="true"${ssrRenderAttr("title", m.hint || _ctx.$t("assetLibrary.katn7lo015", { p0: m.name }))} data-v-effff4e2>`);
|
|
620
620
|
if (isPreviewable(m.file)) _push(ssrRenderComponent(ModelPreview3D_default, {
|
|
621
621
|
file: m.file,
|
|
622
622
|
height: 76
|
|
623
623
|
}, null, _parent));
|
|
624
|
-
else _push(`<span class="model-img glb dev" data-v-
|
|
625
|
-
_push(`<span class="model-name" data-v-
|
|
626
|
-
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-
|
|
624
|
+
else _push(`<span class="model-img glb dev" data-v-effff4e2><span class="i-tabler-cpu glb-cube" aria-hidden="true" data-v-effff4e2></span></span>`);
|
|
625
|
+
_push(`<span class="model-name" data-v-effff4e2>${ssrInterpolate(m.name)}</span><span class="model-badge" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k1n32zs0006"))}</span><div class="card-actions" data-v-effff4e2>`);
|
|
626
|
+
if (m.file.includes("/assets/game/devices/")) _push(`<button class="card-btn danger"${ssrIncludeBooleanAttr(unref(deletingId) === m.id) ? " disabled" : ""} data-v-effff4e2>${ssrInterpolate(unref(deletingId) === m.id ? "…" : _ctx.$t("assetLibrary.k498l011"))}</button>`);
|
|
627
627
|
else _push(`<!---->`);
|
|
628
628
|
_push(`</div></div>`);
|
|
629
629
|
});
|
|
630
630
|
_push(`<!--]-->`);
|
|
631
|
-
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-
|
|
632
|
-
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-
|
|
631
|
+
if (!unref(assets).loaded) _push(`<div class="lib-note" data-v-effff4e2><span class="loading-dot" data-v-effff4e2></span> ${ssrInterpolate(_ctx.$t("assetLibrary.k1kq2tmi007"))}</div>`);
|
|
632
|
+
else if (unref(deviceModels).length === 0) _push(`<div class="lib-note" data-v-effff4e2>${ssrInterpolate(_ctx.$t("assetLibrary.k15527e1008"))}</div>`);
|
|
633
633
|
else _push(`<!---->`);
|
|
634
634
|
_push(`</div>`);
|
|
635
|
-
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-
|
|
635
|
+
if (unref(deleteMsg)) _push(`<span class="mini-msg" data-v-effff4e2>${ssrInterpolate(unref(deleteMsg))}</span>`);
|
|
636
636
|
else _push(`<!---->`);
|
|
637
637
|
_push(`</aside>`);
|
|
638
638
|
};
|
|
@@ -646,7 +646,7 @@ AssetLibrary_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
|
|
|
646
646
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/AssetLibrary.vue");
|
|
647
647
|
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
648
648
|
};
|
|
649
|
-
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
649
|
+
var AssetLibrary_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AssetLibrary_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-effff4e2"]]), { __name: "WorkshopAssetLibrary" });
|
|
650
650
|
//#endregion
|
|
651
651
|
//#region app/components/workshop/DeviceTwinPanel.vue?vue&type=script&setup=true&lang.ts
|
|
652
652
|
var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
@@ -698,44 +698,44 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
698
698
|
const dcwErrs = reactive({});
|
|
699
699
|
const dcwBusy = ref("");
|
|
700
700
|
return (_ctx, _push, _parent, _attrs) => {
|
|
701
|
-
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-
|
|
702
|
-
if (unref(twins).error) _push(`<div class="twin-error" data-v-
|
|
701
|
+
_push(`<aside${ssrRenderAttrs(mergeProps({ class: "twin-panel" }, _attrs))} data-v-2eb2660e><div class="twin-head" data-v-2eb2660e><span class="twin-kicker" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k7k6evr002"))}</span><span class="twin-count" data-v-2eb2660e>${ssrInterpolate(unref(twins).twins.length)}</span></div>`);
|
|
702
|
+
if (unref(twins).error) _push(`<div class="twin-error" data-v-2eb2660e>${ssrInterpolate(unref(twins).error)}</div>`);
|
|
703
703
|
else _push(`<!---->`);
|
|
704
|
-
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-
|
|
705
|
-
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-
|
|
704
|
+
if (!unref(twins).loaded) _push(`<div class="twin-empty" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kkw7sn5003"))}</div>`);
|
|
705
|
+
else if (unref(twins).twins.length === 0) _push(`<div class="twin-empty" data-v-2eb2660e><div class="twin-empty-frame" data-v-2eb2660e><div class="twin-empty-title" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k13y2qmg004"))}</div><div class="twin-empty-sub" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.kotf23l005"))}</div></div></div>`);
|
|
706
706
|
else {
|
|
707
|
-
_push(`<div class="twin-list" data-v-
|
|
707
|
+
_push(`<div class="twin-list" data-v-2eb2660e><!--[-->`);
|
|
708
708
|
ssrRenderList(unref(twins).twins, (t) => {
|
|
709
|
-
_push(`<button class="${ssrRenderClass([{ daq: isDaq(t) }, "twin-card"])}" type="button" data-v-
|
|
709
|
+
_push(`<button class="${ssrRenderClass([{ daq: isDaq(t) }, "twin-card"])}" type="button" data-v-2eb2660e><div class="twin-row" data-v-2eb2660e><span class="twin-model-tag" data-v-2eb2660e>${ssrInterpolate(modelTag(t.modelRef || t.name))}</span><div class="twin-idbar" data-v-2eb2660e><span class="twin-name" data-v-2eb2660e>${ssrInterpolate(t.name)}</span><span class="twin-code" data-v-2eb2660e>${ssrInterpolate(isDaq(t) ? "DAQ" : devNo(t.id))}</span></div><button class="${ssrRenderClass([{ armed: unref(armedId) === t.id }, "twin-del"])}"${ssrIncludeBooleanAttr(unref(busyId) === t.id) ? " disabled" : ""}${ssrRenderAttr("title", unref(armedId) === t.id ? "再次点击确认删除该设备实例" : "删除该设备实例")} data-v-2eb2660e>${ssrInterpolate(unref(armedId) === t.id ? _ctx.$t("deviceTwinPanel.k44653007") : "✕")}</button><span class="${ssrRenderClass([`s-${t.state}`, "twin-state"])}" data-v-2eb2660e><i class="twin-state-dot" style="${ssrRenderStyle({ background: stateColor[t.state] || "var(--hud-dim)" })}" data-v-2eb2660e></i> ${ssrInterpolate(stateLabel[t.state] || t.state)}</span></div>`);
|
|
710
710
|
if (Object.keys(t.telemetry).length) {
|
|
711
|
-
_push(`<div class="twin-tele" data-v-
|
|
711
|
+
_push(`<div class="twin-tele" data-v-2eb2660e><!--[-->`);
|
|
712
712
|
ssrRenderList(t.telemetry, (v, k) => {
|
|
713
|
-
_push(`<span class="tele-item" data-v-
|
|
713
|
+
_push(`<span class="tele-item" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(k)}</em><b data-v-2eb2660e>${ssrInterpolate(fmt(v))}</b></span>`);
|
|
714
714
|
});
|
|
715
715
|
_push(`<!--]--></div>`);
|
|
716
716
|
} else _push(`<!---->`);
|
|
717
717
|
if (__props.daqLive?.[t.id]?.length) {
|
|
718
|
-
_push(`<div class="twin-daq" data-v-
|
|
718
|
+
_push(`<div class="twin-daq" data-v-2eb2660e><!--[-->`);
|
|
719
719
|
ssrRenderList(__props.daqLive[t.id], (d, i) => {
|
|
720
|
-
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-
|
|
720
|
+
_push(`<span class="${ssrRenderClass([{ alarm: d.alarm }, "daq-item"])}" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(d.ch)}</em><b data-v-2eb2660e>${ssrInterpolate(d.value)}<i data-v-2eb2660e>${ssrInterpolate(d.unit)}</i></b></span>`);
|
|
721
721
|
});
|
|
722
722
|
_push(`<!--]--></div>`);
|
|
723
723
|
} else _push(`<!---->`);
|
|
724
724
|
if (__props.dcwLive?.[t.id]?.length) {
|
|
725
|
-
_push(`<div class="twin-dcw" data-v-
|
|
725
|
+
_push(`<div class="twin-dcw" data-v-2eb2660e><!--[-->`);
|
|
726
726
|
ssrRenderList(__props.dcwLive[t.id], (r) => {
|
|
727
|
-
_push(`<div class="dcw-item" data-v-
|
|
728
|
-
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-
|
|
727
|
+
_push(`<div class="dcw-item" data-v-2eb2660e><div class="dcw-head" data-v-2eb2660e><em data-v-2eb2660e>${ssrInterpolate(r.ch)}`);
|
|
728
|
+
if (r.src === "recipe") _push(`<i class="dcw-src" data-v-2eb2660e>${ssrInterpolate(_ctx.$t("deviceTwinPanel.k48grv006"))}</i>`);
|
|
729
729
|
else _push(`<!---->`);
|
|
730
|
-
_push(`</em><b class="dcw-set" data-v-
|
|
730
|
+
_push(`</em><b class="dcw-set" data-v-2eb2660e>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}<i data-v-2eb2660e>${ssrInterpolate(r.unit)}</i></b></div>`);
|
|
731
731
|
if (r.readValue != null || r.lastReadAt) {
|
|
732
|
-
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-
|
|
733
|
-
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-
|
|
732
|
+
_push(`<div class="dcw-act"${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k9r7d4e030"))} data-v-2eb2660e><em data-v-2eb2660e>ACT</em><b data-v-2eb2660e>${ssrInterpolate(r.readValue != null ? r.readValue.toFixed(r.decimals) : "--")}<i data-v-2eb2660e>${ssrInterpolate(r.unit)}</i></b>`);
|
|
733
|
+
if (r.lastReadAt) _push(`<i class="dcw-act-at" data-v-2eb2660e>${ssrInterpolate(r.lastReadAt.slice(11, 19))}</i>`);
|
|
734
734
|
else _push(`<!---->`);
|
|
735
735
|
_push(`</div>`);
|
|
736
736
|
} else _push(`<!---->`);
|
|
737
|
-
_push(`<div class="dcw-win" data-v-
|
|
738
|
-
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-
|
|
737
|
+
_push(`<div class="dcw-win" data-v-2eb2660e><span${ssrRenderAttr("title", r.src === "recipe" ? "当前运行配方工艺窗口" : "节点全局量程")} data-v-2eb2660e>${ssrInterpolate(dcwWinText(r))}</span></div><div class="dcw-ctrl" data-v-2eb2660e><input${ssrRenderAttr("value", unref(dcwDrafts)[r.id])} type="number" class="ctrl-input"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("min", Number.isFinite(r.lo) ? r.lo : void 0)}${ssrRenderAttr("max", Number.isFinite(r.hi) ? r.hi : void 0)}${ssrRenderAttr("placeholder", `${Number.isFinite(r.lo) ? r.lo : ""} ~ ${Number.isFinite(r.hi) ? r.hi : ""}`)} data-v-2eb2660e><button class="ctrl-btn dcw-send"${ssrIncludeBooleanAttr(unref(dcwDrafts)[r.id] == null || unref(dcwDrafts)[r.id] === "" || unref(dcwBusy) === r.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("deviceTwinPanel.k1j04u8001"))} data-v-2eb2660e>${ssrInterpolate(unref(dcwBusy) === r.id ? "···" : "SET")}</button></div>`);
|
|
738
|
+
if (unref(dcwErrs)[r.id]) _push(`<small class="dcw-err" data-v-2eb2660e>${ssrInterpolate(unref(dcwErrs)[r.id])}</small>`);
|
|
739
739
|
else _push(`<!---->`);
|
|
740
740
|
_push(`</div>`);
|
|
741
741
|
});
|
|
@@ -745,7 +745,7 @@ var DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
|
|
|
745
745
|
});
|
|
746
746
|
_push(`<!--]--></div>`);
|
|
747
747
|
}
|
|
748
|
-
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-
|
|
748
|
+
if (unref(ctrlMsg)) _push(`<span class="twin-err" data-v-2eb2660e>${ssrInterpolate(unref(ctrlMsg))}</span>`);
|
|
749
749
|
else _push(`<!---->`);
|
|
750
750
|
_push(`</aside>`);
|
|
751
751
|
};
|
|
@@ -759,7 +759,7 @@ DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
|
|
|
759
759
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/DeviceTwinPanel.vue");
|
|
760
760
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
761
761
|
};
|
|
762
|
-
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
762
|
+
var DeviceTwinPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DeviceTwinPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2eb2660e"]]), { __name: "WorkshopDeviceTwinPanel" });
|
|
763
763
|
//#endregion
|
|
764
764
|
//#region app/composables/workshop/useSceneLayouts.ts
|
|
765
765
|
/**
|
|
@@ -855,7 +855,7 @@ function createStore() {
|
|
|
855
855
|
store.rev++;
|
|
856
856
|
return;
|
|
857
857
|
} catch (err) {
|
|
858
|
-
lastErr =
|
|
858
|
+
lastErr = apiErrorMessage(err);
|
|
859
859
|
if (attempt < 2) await sleep(400 * (attempt + 1));
|
|
860
860
|
}
|
|
861
861
|
store.loaded = false;
|
|
@@ -2295,82 +2295,82 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2295
2295
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2296
2296
|
const _component_WorkshopAssetLibrary = AssetLibrary_default;
|
|
2297
2297
|
const _component_WorkshopDeviceTwinPanel = DeviceTwinPanel_default;
|
|
2298
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-
|
|
2299
|
-
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-
|
|
2298
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "town-view" }, _attrs))} data-v-33218c74><header class="topnav" data-v-33218c74><div class="brand" data-v-33218c74><svg class="brand-glyph" viewBox="0 0 32 32" fill="none" aria-hidden="true" data-v-33218c74><path d="M16 2.5 27.5 9v14L16 29.5 4.5 23V9L16 2.5Z" stroke="#35e0a0" stroke-width="1.6" data-v-33218c74></path><path d="M16 8.2 22.5 12v8L16 23.8 9.5 20v-8L16 8.2Z" stroke="#41c8f4" stroke-width="1.3" opacity=".85" data-v-33218c74></path><circle cx="16" cy="16" r="2.4" fill="#35e0a0" data-v-33218c74></circle><circle cx="25.5" cy="7.5" r="1.6" fill="#41c8f4" data-v-33218c74></circle></svg><div data-v-33218c74><div class="brand-name" data-v-33218c74> DIGITAL <em data-v-33218c74>TWIN</em></div><div class="brand-sub" data-v-33218c74> AGENTWORKSHOP · ${ssrInterpolate(_ctx.$t("townView.klyi8yg127"))}</div></div></div><nav class="nav-tabs"${ssrRenderAttr("aria-label", _ctx.$t("townView.k1c9jyta001"))} data-v-33218c74><div class="seg" data-v-33218c74><button class="${ssrRenderClass({ on: unref(mode) === "browse" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48dwh027"))}</button><button class="${ssrRenderClass({ on: unref(mode) === "edit" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k45eb0028"))}</button></div><button class="nav-action"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? "把全部设备的位置/朝向/缩放写入数据库" : "运行模式只读")} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button>`);
|
|
2299
|
+
if (unref(saveState) && unref(saveState).state !== "idle") _push(`<span class="${ssrRenderClass([`s-${unref(saveState).state}`, "save-chip"])}" data-v-33218c74>${ssrInterpolate(unref(saveStateLabel))}</span>`);
|
|
2300
2300
|
else _push(`<!---->`);
|
|
2301
|
-
_push(`</nav><div class="nav-right" data-v-
|
|
2301
|
+
_push(`</nav><div class="nav-right" data-v-33218c74><span class="${ssrRenderClass([{ "nav-bell-warn": unref(activeAlarmCount) > 0 }, "nav-chip mono"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1fsi3ir002"))} data-v-33218c74>◉ ${ssrInterpolate(unref(activeAlarmCount))}</span><span class="nav-chip mono" data-v-33218c74>${ssrInterpolate(unref(fps))} FPS</span><div class="avatar-chip"${ssrRenderAttr("title", _ctx.$t("townView.k1demf38003"))} data-v-33218c74><div class="avatar-fallback" data-v-33218c74>${ssrInterpolate((unref(userStore).user?.name ?? "OP").slice(0, 2).toUpperCase())}</div><span data-v-33218c74>${ssrInterpolate(unref(userStore).user?.name || _ctx.$t("townView.k1pub99m139"))}</span></div></div></header><div class="app" data-v-33218c74><aside class="rail rail-left" data-v-33218c74><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1k75lzy030"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(deviceModels).length)}</span></div>`);
|
|
2302
2302
|
_push(ssrRenderComponent(_component_WorkshopAssetLibrary, { class: "lib-embed" }, null, _parent));
|
|
2303
|
-
_push(`</section><section class="panel" data-v-
|
|
2303
|
+
_push(`</section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2gwyas031"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}</span></div><div class="daq-ctrl" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(daq).controller.running }, "daq-ctl-btn"])}"${ssrRenderAttr("title", unref(daq).controller.running ? "暂停全部采集:停止所有启用节点的采样(节点级启停独立)" : "恢复全部采集:仅启用节点恢复采集(手动停用的保持停用)")} data-v-33218c74>${ssrInterpolate(unref(daq).controller.running ? _ctx.$t("townView.k3w3j8f140") : _ctx.$t("townView.k3n93ed175"))}</button><label class="daq-ctl-cycle mono"${ssrRenderAttr("title", _ctx.$t("townView.khzlyf5004"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xg3w032"))} <input type="number" min="200" max="60000" step="100"${ssrRenderAttr("value", unref(daq).controller.defaultIntervalMs)} data-v-33218c74>ms </label></div><div class="daq-list" data-v-33218c74><!--[-->`);
|
|
2304
2304
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2305
|
-
_push(`<div class="daq-group" data-v-
|
|
2305
|
+
_push(`<div class="daq-group" data-v-33218c74><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`daq:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2306
2306
|
p0: tpl.name,
|
|
2307
2307
|
p1: tpl.ch,
|
|
2308
2308
|
p2: tpl.min,
|
|
2309
2309
|
p3: tpl.max,
|
|
2310
2310
|
p4: tpl.unit
|
|
2311
|
-
}))} data-v-
|
|
2312
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2311
|
+
}))} data-v-33218c74><span class="daq-caret" data-v-33218c74>▶</span><span class="daq-ico" data-v-33218c74><svg class="daq-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(tpl.icon) ?? ""}</svg></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-33218c74>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2312
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-33218c74> + </button>`);
|
|
2313
2313
|
else _push(`<!---->`);
|
|
2314
|
-
_push(`<span class="daq-count" data-v-
|
|
2314
|
+
_push(`<span class="daq-count" data-v-33218c74>×${ssrInterpolate(unref(daqNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2315
2315
|
if (unref(treeOpen)[`daq:${tpl.id}`]) {
|
|
2316
|
-
_push(`<div class="daq-children" data-v-
|
|
2316
|
+
_push(`<div class="daq-children" data-v-33218c74><!--[-->`);
|
|
2317
2317
|
ssrRenderList(unref(daqNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2318
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2319
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2318
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-33218c74><span class="${ssrRenderClass([daqLeafState(n), "node-dot"])}" data-v-33218c74></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-33218c74><span class="node-val mono" data-v-33218c74>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-33218c74>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2319
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2320
2320
|
else _push(`<!---->`);
|
|
2321
2321
|
_push(`</div>`);
|
|
2322
2322
|
});
|
|
2323
2323
|
_push(`<!--]-->`);
|
|
2324
|
-
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2324
|
+
if (!unref(daqNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2325
2325
|
else _push(`<!---->`);
|
|
2326
2326
|
_push(`</div>`);
|
|
2327
2327
|
} else _push(`<!---->`);
|
|
2328
2328
|
_push(`</div>`);
|
|
2329
2329
|
});
|
|
2330
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2330
|
+
_push(`<!--]--></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.km7ayhi033"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(dcw).nodes.length)}</span></div><div class="daq-list" data-v-33218c74><!--[-->`);
|
|
2331
2331
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2332
|
-
_push(`<div class="daq-group" data-v-
|
|
2332
|
+
_push(`<div class="daq-group" data-v-33218c74><div class="${ssrRenderClass([{ open: !!unref(treeOpen)[`dcw:${tpl.id}`] }, "daq-card tpl"])}" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0001", {
|
|
2333
2333
|
p0: tpl.name,
|
|
2334
2334
|
p1: tpl.ch,
|
|
2335
2335
|
p2: tpl.min,
|
|
2336
2336
|
p3: tpl.max,
|
|
2337
2337
|
p4: tpl.unit
|
|
2338
|
-
}))} data-v-
|
|
2339
|
-
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-
|
|
2338
|
+
}))} data-v-33218c74><span class="daq-caret" data-v-33218c74>▶</span><span class="daq-ico" data-v-33218c74><svg class="daq-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(tpl.icon) ?? ""}</svg></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(tpl.name)}</span><span class="daq-code" data-v-33218c74>${ssrInterpolate(tpl.code)}</span></div>`);
|
|
2339
|
+
if (unref(mode) === "edit") _push(`<button class="daq-add"${ssrRenderAttr("title", _ctx.$t("townView.k2tplxp0002", { p0: tpl.name }))} data-v-33218c74> + </button>`);
|
|
2340
2340
|
else _push(`<!---->`);
|
|
2341
|
-
_push(`<span class="daq-count" data-v-
|
|
2341
|
+
_push(`<span class="daq-count" data-v-33218c74>×${ssrInterpolate(unref(dcwNodesByTpl).get(tpl.id)?.length ?? 0)}</span></div>`);
|
|
2342
2342
|
if (unref(treeOpen)[`dcw:${tpl.id}`]) {
|
|
2343
|
-
_push(`<div class="daq-children" data-v-
|
|
2343
|
+
_push(`<div class="daq-children" data-v-33218c74><!--[-->`);
|
|
2344
2344
|
ssrRenderList(unref(dcwNodesByTpl).get(tpl.id) ?? [], (n) => {
|
|
2345
|
-
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-
|
|
2346
|
-
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-
|
|
2345
|
+
_push(`<div class="${ssrRenderClass([{ placed: typeof n.posX === "number" }, "daq-node"])}"${ssrRenderAttr("draggable", unref(mode) === "edit")}${ssrRenderAttr("title", typeof n.posX === "number" ? _ctx.$t("townView.k2tplxp0005") : _ctx.$t("townView.k2tplxp0006"))} data-v-33218c74><span class="${ssrRenderClass([dcwLeafState(n), "node-dot"])}" data-v-33218c74></span><div class="daq-meta" data-v-33218c74><span class="daq-name" data-v-33218c74>${ssrInterpolate(n.name)}</span><span class="daq-node-sub" data-v-33218c74><span class="node-val mono" data-v-33218c74>${ssrInterpolate(n.value != null ? `${n.value.toFixed(tpl.decimals)} ${tpl.unit}` : "--")}</span><span class="node-dev" data-v-33218c74>${ssrInterpolate(n.deviceBindingId ? unref(deviceTwins).byId(n.deviceBindingId)?.name ?? _ctx.$t("townView.k3own4q148") : _ctx.$t("townView.k3own4q148"))}</span></span></div>`);
|
|
2346
|
+
if (typeof n.posX === "number") _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2347
2347
|
else _push(`<!---->`);
|
|
2348
2348
|
_push(`</div>`);
|
|
2349
2349
|
});
|
|
2350
2350
|
_push(`<!--]-->`);
|
|
2351
|
-
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-
|
|
2351
|
+
if (!unref(dcwNodesByTpl).get(tpl.id)?.length) _push(`<div class="daq-empty-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2tplxp0003"))}</div>`);
|
|
2352
2352
|
else _push(`<!---->`);
|
|
2353
2353
|
_push(`</div>`);
|
|
2354
2354
|
} else _push(`<!---->`);
|
|
2355
2355
|
_push(`</div>`);
|
|
2356
2356
|
});
|
|
2357
|
-
_push(`<!--]--></div></section><section class="panel" data-v-
|
|
2357
|
+
_push(`<!--]--></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1c9n911034"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(dockChannels).length)}</span></div><div class="scene-list" data-v-33218c74><!--[-->`);
|
|
2358
2358
|
ssrRenderList(unref(dockChannels), (ch) => {
|
|
2359
|
-
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? "已在场景中,点击定位" : "拖拽到场景放置")} data-v-
|
|
2360
|
-
if (ch.placed) _push(`<span class="scene-cur" data-v-
|
|
2361
|
-
else _push(`<span class="scene-add" data-v-
|
|
2359
|
+
_push(`<div class="${ssrRenderClass([{ active: ch.placed }, "scene-row"])}"${ssrRenderAttr("draggable", !ch.placed && unref(mode) === "edit")}${ssrRenderAttr("data-channel-id", ch.channelId)}${ssrRenderAttr("title", ch.placed ? "已在场景中,点击定位" : "拖拽到场景放置")} data-v-33218c74><span class="scene-ico" style="${ssrRenderStyle({ "--ch": ch.color })}" data-v-33218c74></span><div class="scene-meta-wrap" data-v-33218c74><span class="scene-name" data-v-33218c74>${ssrInterpolate(ch.name)}</span><span class="scene-meta" data-v-33218c74>${ssrInterpolate(ch.agentCount)} ${ssrInterpolate(_ctx.$t("townView.k1brss7t128"))} ${ssrInterpolate(ch.placed ? _ctx.$t("townView.k3n94g3141") : _ctx.$t("townView.k3os7i3176"))}</span></div>`);
|
|
2360
|
+
if (ch.placed) _push(`<span class="scene-cur" data-v-33218c74>✓</span>`);
|
|
2361
|
+
else _push(`<span class="scene-add" data-v-33218c74>+</span>`);
|
|
2362
2362
|
_push(`</div>`);
|
|
2363
2363
|
});
|
|
2364
2364
|
_push(`<!--]-->`);
|
|
2365
|
-
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-
|
|
2365
|
+
if (unref(dockHint)) _push(`<div class="scene-hint" data-v-33218c74>${ssrInterpolate(unref(dockHint))}</div>`);
|
|
2366
2366
|
else _push(`<!---->`);
|
|
2367
|
-
_push(`</div></section></aside><main class="stage-col" data-v-
|
|
2367
|
+
_push(`</div></section></aside><main class="stage-col" data-v-33218c74><div class="stage" data-v-33218c74><div id="town-host" class="town-host" data-v-33218c74></div><div class="stage-vignette" data-v-33218c74></div><div class="stage-top" data-v-33218c74><div class="vp-title" data-v-33218c74><h2 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b0z4vr035"))}</h2><span class="vp-id" data-v-33218c74>CH · ${ssrInterpolate(unref(activeChannelName) || _ctx.$t("townView.k3lkuz3142"))}</span></div><div class="vp-tools" data-v-33218c74><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k18d6wnb005"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="12" cy="12" r="7" data-v-33218c74></circle><path d="M12 2v4M12 18v4M2 12h4M18 12h4" data-v-33218c74></path></svg></button><button class="${ssrRenderClass([{ on: unref(orbitOn) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1io51dn006"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="12" cy="12" r="3.2" data-v-33218c74></circle><path d="M20.5 9a10 10 0 0 1 .3 4.5M3.5 15a10 10 0 0 1-.3-4.5" data-v-33218c74></path></svg></button><button class="${ssrRenderClass([{ on: unref(showCallouts) }, "vp-tool"])}"${ssrRenderAttr("title", _ctx.$t("townView.k1sgjlq8007"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 8h12l4 4-4 4H4z" data-v-33218c74></path><circle cx="8.5" cy="12" r="1.4" data-v-33218c74></circle></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k3wuf0008"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5" data-v-33218c74></path></svg></button></div></div><div class="angle-chip" data-v-33218c74><select${ssrRenderAttr("value", unref(viewPreset))}${ssrRenderAttr("aria-label", _ctx.$t("townView.k1k4j5i7009"))} data-v-33218c74><option value="std" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kv72860036"))}</option><option value="top" data-v-33218c74> 俯视 · TOP </option><option value="front" data-v-33218c74> 前视 · FRONT </option><option value="side" data-v-33218c74> 侧视 · SIDE </option></select></div>`);
|
|
2368
2368
|
if (unref(showCallouts)) {
|
|
2369
|
-
_push(`<!--[--><svg class="leaders" data-v-
|
|
2369
|
+
_push(`<!--[--><svg class="leaders" data-v-33218c74><!--[-->`);
|
|
2370
2370
|
ssrRenderList(unref(callouts), (c) => {
|
|
2371
|
-
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-
|
|
2371
|
+
_push(`<g class="${ssrRenderClass({ near: c.near })}" style="${ssrRenderStyle(c.leader ? null : { display: "none" })}" data-v-33218c74><path${ssrRenderAttr("d", `M ${c.x} ${c.y - 8} L ${c.x} ${c.y - 2}`)}${ssrRenderAttr("stroke", c.warn ? "rgba(246,196,83,.8)" : "rgba(65,200,244,.55)")} stroke-width="1.3" fill="none" data-v-33218c74></path><circle${ssrRenderAttr("cx", c.x)}${ssrRenderAttr("cy", c.y)} r="2.6"${ssrRenderAttr("fill", c.warn ? "#f6c453" : "#41c8f4")} data-v-33218c74></circle></g>`);
|
|
2372
2372
|
});
|
|
2373
|
-
_push(`<!--]--></svg><div class="callout-layer" data-v-
|
|
2373
|
+
_push(`<!--]--></svg><div class="callout-layer" data-v-33218c74><!--[-->`);
|
|
2374
2374
|
ssrRenderList(unref(callouts), (c) => {
|
|
2375
2375
|
_push(`<div class="${ssrRenderClass([{
|
|
2376
2376
|
warn: c.warn,
|
|
@@ -2378,12 +2378,12 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2378
2378
|
}, "callout"])}" style="${ssrRenderStyle({
|
|
2379
2379
|
left: c.x + "px",
|
|
2380
2380
|
top: c.y + "px"
|
|
2381
|
-
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-
|
|
2381
|
+
})}"${ssrRenderAttr("title", _ctx.$t("townView.k1ejxiwp010"))} data-v-33218c74><div class="co-label" data-v-33218c74><span class="co-dot" data-v-33218c74></span>${ssrInterpolate(c.label)}</div><div class="co-val" data-v-33218c74>${ssrInterpolate(c.value)}<small data-v-33218c74>${ssrInterpolate(c.unit)}</small></div><div class="co-range" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))} ${ssrInterpolate(c.lo.toFixed(Math.min(2, (String(c.lo).split(".")[1] ?? "").length + 1)))} – ${ssrInterpolate(c.hi.toFixed(Math.min(2, (String(c.hi).split(".")[1] ?? "").length + 1)))}</div></div>`);
|
|
2382
2382
|
});
|
|
2383
2383
|
_push(`<!--]--></div><!--]-->`);
|
|
2384
2384
|
} else _push(`<!---->`);
|
|
2385
|
-
_push(`<div class="kpi-strip" data-v-
|
|
2386
|
-
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-
|
|
2385
|
+
_push(`<div class="kpi-strip" data-v-33218c74><div class="kpi" data-v-33218c74><span class="kpi-ico c1" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M4 8.5 12 4l8 4.5v7L12 20l-8-4.5v-7Z" data-v-33218c74></path><path d="M4 8.5l8 4.5 8-4.5M12 13v7" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1k6xemt037"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(deviceCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c2" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="m5 12.5 4.5 4.5L19 7.5" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1l1a9t2039"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(runningCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k49lh038"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c3" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3 22 20H2L12 3Z" data-v-33218c74></path><path d="M12 10v4M12 17v.2" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fsi3ir002"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(activeAlarmCount))}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c4" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M9.5 14.5 14.5 9.5" data-v-33218c74></path><path d="M11 6.5 12.8 4.7a4 4 0 0 1 5.6 5.6L16.5 12" data-v-33218c74></path><path d="m13 17.5-1.8 1.8a4 4 0 0 1-5.6-5.6L7.5 12" data-v-33218c74></path></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1emsai1041"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}<small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</small></div></div></div><div class="kpi" data-v-33218c74><span class="kpi-ico c5" data-v-33218c74><svg class="kpi-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M5 19a9 9 0 1 1 14 0" data-v-33218c74></path><path d="M12 13l3.5-3.5" data-v-33218c74></path><circle cx="12" cy="13" r="1.4" data-v-33218c74></circle></svg></span><div class="kpi-meta" data-v-33218c74><div class="kpi-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kbrxdq1043"))}</div><div class="kpi-val" data-v-33218c74>${ssrInterpolate(unref(healthPct))}<small data-v-33218c74>%</small></div></div></div></div>`);
|
|
2386
|
+
if (unref(sceneEmpty)) _push(`<div class="empty-hint" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3rwxjc044"))}</b><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1sa1eaj045"))}</span></div>`);
|
|
2387
2387
|
else _push(`<!---->`);
|
|
2388
2388
|
if (unref(selectedChannel) && unref(boundaryDraft)) {
|
|
2389
2389
|
_push(`<div class="boundary-panel drag-panel" style="${ssrRenderStyle(unref(panelPos).boundary ? {
|
|
@@ -2391,111 +2391,111 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2391
2391
|
top: unref(panelPos).boundary.y + "px",
|
|
2392
2392
|
bottom: "auto",
|
|
2393
2393
|
transform: "none"
|
|
2394
|
-
} : void 0)}" data-v-
|
|
2395
|
-
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-
|
|
2394
|
+
} : void 0)}" data-v-33218c74><div class="bp-title drag-grip"${ssrRenderAttr("title", _ctx.$t("townView.k1d0rl5z011"))} data-v-33218c74><span class="bp-name" data-v-33218c74>${ssrInterpolate(unref(entities).channels[unref(selectedChannel)]?.name ?? unref(selectedChannel).slice(0, 8))}</span><span class="bp-sub" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1mehlxs046"))}</span><div class="bp-tabs" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "boundary" }, "bp-tab"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k489ka047"))}</button><button class="${ssrRenderClass([{ on: unref(channelPanelTab) === "members" }, "bp-tab"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3ztf1129"))} ${ssrInterpolate(unref(channelMembers).length)}</button></div></div>`);
|
|
2395
|
+
if (unref(channelPanelTab) === "boundary") _push(`<!--[--><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "ellipse" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(boundaryDraft).shape === "rect" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fbz4s1051"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusX)} class="bp-range" type="range" min="80" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusX, 80, 4e3) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusX))}</span></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ighwgs052"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).radiusZ)} class="bp-range" type="range" min="60" max="4000" step="8" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).radiusZ, 60, 4e3) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).radiusZ))}</span></div><div class="bp-row" data-v-33218c74><span class="bp-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k40qab053"))}</span><input${ssrRenderAttr("value", unref(boundaryDraft).rotationY)} class="bp-range" type="range" min="0" max="360" step="5" style="${ssrRenderStyle({ "--fill": sliderPct(unref(boundaryDraft).rotationY ?? 0, 0, 360) })}" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(boundaryDraft).rotationY ?? 0))}°</span></div><!--]-->`);
|
|
2396
2396
|
else {
|
|
2397
|
-
_push(`<!--[--><div class="bp-hint" data-v-
|
|
2397
|
+
_push(`<!--[--><div class="bp-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kimxls2054"))}</div><div class="member-list" data-v-33218c74><!--[-->`);
|
|
2398
2398
|
ssrRenderList(unref(channelMembers), (m) => {
|
|
2399
|
-
_push(`<div class="member-row" data-v-
|
|
2399
|
+
_push(`<div class="member-row" data-v-33218c74><span class="member-ava" style="${ssrRenderStyle({ color: hashColor(unref(selectedChannel)) })}" data-v-33218c74>${ssrInterpolate(m.name.charAt(0).toUpperCase())}</span><div class="member-info" data-v-33218c74><span class="member-name" data-v-33218c74>${ssrInterpolate(m.name)}</span><span class="${ssrRenderClass([m.role === "lead" ? "r-lead" : "r-worker", "member-role"])}" data-v-33218c74>${ssrInterpolate(m.role === "lead" ? "Leader" : "Worker")}</span></div><select class="member-select"${ssrRenderAttr("value", (m.modelRef ?? "") || "hero-3d")} data-v-33218c74><!--[-->`);
|
|
2400
2400
|
ssrRenderList(unref(agentModels), (model) => {
|
|
2401
|
-
_push(`<option${ssrRenderAttr("value", model.id)} data-v-
|
|
2401
|
+
_push(`<option${ssrRenderAttr("value", model.id)} data-v-33218c74>${ssrInterpolate(model.name)}</option>`);
|
|
2402
2402
|
});
|
|
2403
2403
|
_push(`<!--]--></select></div>`);
|
|
2404
2404
|
});
|
|
2405
2405
|
_push(`<!--]-->`);
|
|
2406
|
-
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-
|
|
2406
|
+
if (unref(channelMembers).length === 0) _push(`<div class="bp-hint" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k419rbs055"))}</div>`);
|
|
2407
2407
|
else _push(`<!---->`);
|
|
2408
2408
|
_push(`</div><!--]-->`);
|
|
2409
2409
|
}
|
|
2410
|
-
_push(`<div class="bp-actions" data-v-
|
|
2411
|
-
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-
|
|
2410
|
+
_push(`<div class="bp-actions" data-v-33218c74>`);
|
|
2411
|
+
if (unref(channelPanelTab) === "boundary") _push(`<button class="bp-btn save" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3kp8f056"))}</button>`);
|
|
2412
2412
|
else _push(`<!---->`);
|
|
2413
|
-
_push(`<button class="bp-btn danger" data-v-
|
|
2413
|
+
_push(`<button class="bp-btn danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hs45qg057"))}</button><button class="bp-btn" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3x62t058"))}</button></div></div>`);
|
|
2414
2414
|
} else _push(`<!---->`);
|
|
2415
|
-
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-
|
|
2415
|
+
if (unref(lastDropText)) _push(`<div class="drop-chip" data-v-33218c74>${ssrInterpolate(unref(lastDropText))}</div>`);
|
|
2416
2416
|
else _push(`<!---->`);
|
|
2417
|
-
if (unref(errorText)) _push(`<div class="error-chip" data-v-
|
|
2417
|
+
if (unref(errorText)) _push(`<div class="error-chip" data-v-33218c74>${ssrInterpolate(unref(errorText))}</div>`);
|
|
2418
2418
|
else _push(`<!---->`);
|
|
2419
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2419
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-33218c74><div class="loading-spinner" data-v-33218c74></div><span class="loading-text" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2420
2420
|
else _push(`<!---->`);
|
|
2421
|
-
_push(`</div><div class="dock" data-v-
|
|
2421
|
+
_push(`</div><div class="dock" data-v-33218c74><section class="dock-card" data-v-33218c74><div class="dock-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1c9iq23060"))}</h3><span class="dock-mode" data-v-33218c74>${ssrInterpolate(unref(mode) === "edit" ? _ctx.$t("townView.k1iipfcs143") : _ctx.$t("townView.k1l147w1177"))}</span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secRender"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.qualityTip"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.qualityLabel"))}</span><div class="fps-seg" data-v-33218c74><!--[-->`);
|
|
2422
2422
|
ssrRenderList(QUALITY_OPTIONS, (o) => {
|
|
2423
|
-
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-
|
|
2423
|
+
_push(`<button class="${ssrRenderClass({ on: unref(qualityMode) === o.v })}" data-v-33218c74>${ssrInterpolate(_ctx.$t(o.label))}</button>`);
|
|
2424
2424
|
});
|
|
2425
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2425
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-33218c74></span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.fpsCapTip"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.fpsCapLabel"))}</span><div class="fps-seg" data-v-33218c74><!--[-->`);
|
|
2426
2426
|
ssrRenderList(FPS_OPTIONS, (o) => {
|
|
2427
|
-
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-
|
|
2427
|
+
_push(`<button class="${ssrRenderClass({ on: unref(fpsCap) === o.v })}" data-v-33218c74>${ssrInterpolate(o.label)}</button>`);
|
|
2428
2428
|
});
|
|
2429
|
-
_push(`<!--]--></div><span class="ctl-val" data-v-
|
|
2429
|
+
_push(`<!--]--></div><span class="ctl-val" data-v-33218c74></span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secEnv"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gizopz061"))}</span><input class="ctl-range" type="range" min="30" max="220"${ssrRenderAttr("value", Math.round(unref(exposure) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(exposure) * 100), 30, 220) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(exposure) * 100))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bcpqto062"))}</span><input class="ctl-range" type="range" min="10" max="100"${ssrRenderAttr("value", Math.round(unref(tintOpacity) * 100))} style="${ssrRenderStyle({ "--fill": sliderPct(Math.round(unref(tintOpacity) * 100), 10, 100) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(tintOpacity) * 100))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bztha1063"))}</span><input class="ctl-range" type="range" min="60" max="120"${ssrRenderAttr("value", unref(threshPct))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(threshPct), 60, 120) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(unref(threshPct))}%</span></div><div class="ctl-row" data-v-33218c74><span class="ctl-name"${ssrRenderAttr("title", _ctx.$t("townView.kz71l1f012"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.ka4i1s9064"))}</span><input class="ctl-range" type="range" min="0" max="3000" step="50"${ssrRenderAttr("value", unref(calloutNearDist))} style="${ssrRenderStyle({ "--fill": sliderPct(unref(calloutNearDist), 0, 3e3) })}" data-v-33218c74><span class="ctl-val" data-v-33218c74>${ssrInterpolate(unref(calloutNearDist) === 0 ? _ctx.$t("townView.k493s144") : `${unref(calloutNearDist)}`)}</span></div><p class="ctl-sec" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.secOps"))}</p><div class="ctl-row" data-v-33218c74><span class="ctl-name" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1idc6pa065"))}</span><button class="${ssrRenderClass([{ on: unref(snap) }, "snap-toggle"])}" data-v-33218c74>${ssrInterpolate(unref(snap) ? _ctx.$t("townView.k4bs5145") : _ctx.$t("townView.k493s144"))}</button><span class="ctl-val" data-v-33218c74></span></div><div class="ctl-btns" data-v-33218c74><button class="btn btn-primary" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1lap9bs024"))}</button><button class="btn btn-ghost"${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? _ctx.$t("townView.ksavetip181") : _ctx.$t("townView.krotip182"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1b3bk8t029"))}</button><button class="${ssrRenderClass([{ armed: unref(estop) }, "btn btn-danger"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i046wf066"))}</button></div></section><section class="dock-card" data-v-33218c74><div class="dock-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1kfoef9067"))}</h3><span class="dock-count mono" data-v-33218c74>${ssrInterpolate(unref(daqTwins).length)}</span><div class="${ssrRenderClass([{ expanded: unref(trendExpanded) }, "trend-legend"])}" data-v-33218c74><!--[-->`);
|
|
2430
2430
|
ssrRenderList(unref(trendChips), (t) => {
|
|
2431
|
-
_push(`<button class="${ssrRenderClass([{ off: !trendOn(t.id) }, "lg-chip"])}" data-v-
|
|
2431
|
+
_push(`<button class="${ssrRenderClass([{ off: !trendOn(t.id) }, "lg-chip"])}" data-v-33218c74><span class="lg-dot" style="${ssrRenderStyle({ background: trendColor(t.id) })}" data-v-33218c74></span>${ssrInterpolate(t.name)}</button>`);
|
|
2432
2432
|
});
|
|
2433
2433
|
_push(`<!--]-->`);
|
|
2434
|
-
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-
|
|
2434
|
+
if (unref(trendOverflow) > 0) _push(`<button class="lg-chip lg-more mono"${ssrRenderAttr("title", unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : _ctx.$t("townView.trendExpandAll", { p0: unref(daqTwins).length }))} data-v-33218c74>${ssrInterpolate(unref(trendExpanded) ? _ctx.$t("townView.trendCollapse") : `+${unref(trendOverflow)}`)}</button>`);
|
|
2435
2435
|
else _push(`<!---->`);
|
|
2436
|
-
_push(`</div></div><div class="trend-wrap" data-v-
|
|
2437
|
-
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-
|
|
2436
|
+
_push(`</div></div><div class="trend-wrap" data-v-33218c74><canvas class="trend-cv" data-v-33218c74></canvas>`);
|
|
2437
|
+
if (!unref(daqTwins).length) _push(`<span class="trend-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1uht2uv068"))}</span>`);
|
|
2438
2438
|
else _push(`<!---->`);
|
|
2439
|
-
_push(`</div></section></div></main><aside class="rail rail-right" data-v-
|
|
2439
|
+
_push(`</div></section></div></main><aside class="rail rail-right" data-v-33218c74>`);
|
|
2440
2440
|
if (unref(selected)) {
|
|
2441
|
-
_push(`<section class="panel inspector" data-v-
|
|
2442
|
-
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-
|
|
2443
|
-
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-
|
|
2441
|
+
_push(`<section class="panel inspector" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(unref(selected).kind === "device" ? unref(selectedIsDcw) ? _ctx.$t("townView.k1ekqxlt146") : unref(selectedIsDaq) ? _ctx.$t("townView.k1empnnb178") : _ctx.$t("townView.k1k6wg8j185") : unref(selectedAgentRoleLabel))}</h3><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bsckft013"))} data-v-33218c74> ✕ </button></div><div class="ins-chip-row" data-v-33218c74><span class="ins-chip mono" data-v-33218c74>${ssrInterpolate(unref(selected).id.slice(0, 8))}</span>`);
|
|
2442
|
+
if (unref(selected).kind === "device" && unref(selectedIsDaq)) _push(`<span class="ins-chip accent" data-v-33218c74>DAQ</span>`);
|
|
2443
|
+
else if (unref(selected).kind === "device" && unref(selectedIsDcw)) _push(`<span class="ins-chip accent" data-v-33218c74>DCW</span>`);
|
|
2444
2444
|
else _push(`<!---->`);
|
|
2445
2445
|
_push(`</div>`);
|
|
2446
2446
|
if (unref(selected).kind === "device") {
|
|
2447
2447
|
_push(`<!--[-->`);
|
|
2448
2448
|
if (unref(selectedIsDcw)) {
|
|
2449
|
-
_push(`<div class="daq-info" data-v-
|
|
2450
|
-
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-
|
|
2449
|
+
_push(`<div class="daq-info" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1deqh0d069"))}</span><b class="cy" data-v-33218c74>${ssrInterpolate(unref(selectedDcwNode)?.value != null ? unref(selectedDcwNode).value.toFixed(unref(selectedDcwNode).decimals) : "--")} ${ssrInterpolate(unref(selectedDcwNode)?.unit)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(unref(selectedDcwWindow)?.src === "recipe" ? _ctx.$t("townView.kq2jssk147") : _ctx.$t("townView.k1iwj796179"))}</span><b class="${ssrRenderClass({ amber: unref(selectedDcwWindow)?.src === "recipe" })}" data-v-33218c74>${ssrInterpolate(dcwWinLabel(unref(selectedDcwNode)))}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-33218c74>${ssrInterpolate(unref(selectedDcwDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div><div class="daq-bind-bar" data-v-33218c74><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[unref(selected).id])} type="number" class="bind-select"${ssrRenderAttr("step", 10 ** -(unref(selectedDcwNode)?.decimals ?? 2))}${ssrRenderAttr("placeholder", dcwWinInputPh(unref(selectedDcwNode)))} data-v-33218c74><button class="bind-add-btn"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[unref(selected).id] == null || unref(dcwWriteDrafts)[unref(selected).id] === "") ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kwrbtn180"))}</button></div>`);
|
|
2450
|
+
if (unref(dcwWriteErrs)[unref(selected).id]) _push(`<p class="dcw-err" data-v-33218c74>${ssrInterpolate(unref(dcwWriteErrs)[unref(selected).id])}</p>`);
|
|
2451
2451
|
else _push(`<!---->`);
|
|
2452
2452
|
if (unref(mode) === "edit") {
|
|
2453
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2453
|
+
_push(`<div class="daq-bind-bar" data-v-33218c74><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), "") : ssrLooseEqual(unref(dcwBindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2454
2454
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2455
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2455
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(dcwBindPick)) ? ssrLooseContain(unref(dcwBindPick), dv.id) : ssrLooseEqual(unref(dcwBindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2456
2456
|
});
|
|
2457
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-
|
|
2457
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(selectedDcwDeviceName) && !unref(dcwBindPick)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(unref(selectedDcwDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2458
2458
|
} else _push(`<!---->`);
|
|
2459
2459
|
_push(`</div>`);
|
|
2460
2460
|
} else if (unref(selectedIsDaq)) {
|
|
2461
|
-
_push(`<div class="daq-info" data-v-
|
|
2461
|
+
_push(`<div class="daq-info" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3mv305072"))}</span><b class="cy" data-v-33218c74>${ssrInterpolate(unref(selectedDaqSim) ? fmtDaq(unref(selectedDaqSim)) : "--")} ${ssrInterpolate(unref(selectedDaqSim)?.tpl.unit)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1faqmjb073"))}</span><b data-v-33218c74>${ssrInterpolate(unref(selectedDaqSim)?.tpl.min)} ~ ${ssrInterpolate(unref(selectedDaqSim)?.tpl.max)}</b></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1i8rtqt070"))}</span><b data-v-33218c74>${ssrInterpolate(unref(daqBoundDeviceName) || _ctx.$t("townView.k3own4q148"))}</b></div>`);
|
|
2462
2462
|
if (unref(mode) === "edit") {
|
|
2463
|
-
_push(`<div class="daq-bind-bar" data-v-
|
|
2463
|
+
_push(`<div class="daq-bind-bar" data-v-33218c74><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), "") : ssrLooseEqual(unref(bindPick), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kjo6ekr071"))}</option><!--[-->`);
|
|
2464
2464
|
ssrRenderList(unref(deviceTwins).twins.filter((x) => !isLegacyDaqTwin(x) && x.id !== (unref(selected)?.id ?? "")), (dv) => {
|
|
2465
|
-
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-
|
|
2465
|
+
_push(`<option${ssrRenderAttr("value", dv.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(bindPick)) ? ssrLooseContain(unref(bindPick), dv.id) : ssrLooseEqual(unref(bindPick), dv.id)) ? " selected" : ""}>${ssrInterpolate(dv.name)}</option>`);
|
|
2466
2466
|
});
|
|
2467
|
-
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-
|
|
2467
|
+
_push(`<!--]--></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(daqBoundDeviceName) && !unref(bindPick)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(unref(daqBoundDeviceName) ? _ctx.$t("townView.k479eh149") : _ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2468
2468
|
} else _push(`<!---->`);
|
|
2469
|
-
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-
|
|
2470
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2469
|
+
if (unref(mode) === "edit" && unref(selectedDaqNode)) _push(`<div class="daq-node-ctl" data-v-33218c74><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1l6g2ga074"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(daqIntervalDraft))} type="number" min="200" max="60000" step="100" class="daq-num" data-v-33218c74><small data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1or92b075"))}</small></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3x5tpx076"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(selectedDaqNode).warnLow)} type="number" step="any" class="daq-num" data-v-33218c74> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).warnHigh)} type="number" step="any" class="daq-num" data-v-33218c74></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hjj0jf077"))}</span><span class="daq-th-inputs" data-v-33218c74><input${ssrRenderAttr("value", unref(selectedDaqNode).min)} type="number" step="any" class="daq-num" data-v-33218c74> ~ <input${ssrRenderAttr("value", unref(selectedDaqNode).max)} type="number" step="any" class="daq-num" data-v-33218c74></span></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48tki078"))}</span><button class="${ssrRenderClass([{ warn: unref(selectedDaqNode).enabled }, "bind-add-btn"])}" data-v-33218c74>${ssrInterpolate(unref(selectedDaqNode).enabled ? _ctx.$t("townView.k1wv0nyo150") : _ctx.$t("townView.kh1586b180"))}</button></div><div class="daq-info-row" data-v-33218c74><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xakp079"))}</span><button class="bind-add-btn danger"${ssrRenderAttr("title", _ctx.$t("townView.kpwutri014"))} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1bpp30k080"))}</button></div></div>`);
|
|
2470
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kzk5dfx081"))}</div>`);
|
|
2471
2471
|
_push(`</div>`);
|
|
2472
2472
|
} else {
|
|
2473
|
-
_push(`<!--[--><div class="obj-row" data-v-
|
|
2473
|
+
_push(`<!--[--><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3xhia082"))}</span><input${ssrRenderAttr("value", unref(objNameDraft))} class="obj-input"${ssrRenderAttr("placeholder", _ctx.$t("townView.k1k6vbaf015"))}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""}${ssrRenderAttr("title", unref(mode) === "edit" ? "设备名称" : "运行模式只读")} data-v-33218c74></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", unref(scene3dRef)?.getDeviceModelRef?.(unref(selected).id) ?? "")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-33218c74><!--[-->`);
|
|
2474
2474
|
ssrRenderList(unref(deviceModels), (m) => {
|
|
2475
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2475
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-33218c74>${ssrInterpolate(m.name)}</option>`);
|
|
2476
2476
|
});
|
|
2477
|
-
_push(`<!--]--></select></div><div class="sect-hd" data-v-
|
|
2477
|
+
_push(`<!--]--></select></div><div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1vtyk05130"))} ${ssrInterpolate(unref(boundDaqRows).length)} ${ssrInterpolate(_ctx.$t("townView.k3vfpz5138"))}</div><!--[-->`);
|
|
2478
2478
|
ssrRenderList(unref(boundDaqRows), (r) => {
|
|
2479
|
-
_push(`<div class="bind-row" data-v-
|
|
2480
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2479
|
+
_push(`<div class="bind-row" data-v-33218c74><span class="bind-ico" data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(r.icon) ?? ""}</svg></span><span class="bind-meta" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(r.ch)}</span><span class="bind-val" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(r.value)}</b> ${ssrInterpolate(r.unit)} · ${ssrInterpolate(r.name)}</span></span><canvas class="bind-spark" width="56" height="20" data-v-33218c74></canvas>`);
|
|
2480
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button>`);
|
|
2481
2481
|
else _push(`<!---->`);
|
|
2482
2482
|
_push(`</div>`);
|
|
2483
2483
|
});
|
|
2484
2484
|
_push(`<!--]-->`);
|
|
2485
|
-
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-
|
|
2485
|
+
if (!unref(boundDaqRows).length) _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kgpuqhb084"))}</div>`);
|
|
2486
2486
|
else _push(`<!---->`);
|
|
2487
2487
|
if (unref(mode) === "edit") {
|
|
2488
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2488
|
+
_push(`<div class="bind-add-wrap" data-v-33218c74><button class="bind-add" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvm0lin085"))}</button>`);
|
|
2489
2489
|
if (unref(bindPopOpen)) {
|
|
2490
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2490
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-33218c74><!--[-->`);
|
|
2491
2491
|
ssrRenderList(unref(daqTemplates), (tpl) => {
|
|
2492
2492
|
_push(`<!--[-->`);
|
|
2493
2493
|
if (unref(daqBindChoices)[tpl.id]?.length) {
|
|
2494
|
-
_push(`<div class="bp-group" data-v-
|
|
2494
|
+
_push(`<div class="bp-group" data-v-33218c74><span class="bp-tpl" data-v-33218c74>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2495
2495
|
ssrRenderList(unref(daqBindChoices)[tpl.id], (c) => {
|
|
2496
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2497
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2498
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2496
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(c.tpl.icon) ?? ""}</svg><span data-v-33218c74>${ssrInterpolate(c.name)}`);
|
|
2497
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-33218c74>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2498
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2499
2499
|
else _push(`<!---->`);
|
|
2500
2500
|
_push(`</span></button>`);
|
|
2501
2501
|
});
|
|
@@ -2504,40 +2504,40 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2504
2504
|
_push(`<!--]-->`);
|
|
2505
2505
|
});
|
|
2506
2506
|
_push(`<!--]-->`);
|
|
2507
|
-
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2507
|
+
if (!unref(daqBindChoiceCount)) _push(`<div class="bp-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2508
2508
|
else _push(`<!---->`);
|
|
2509
2509
|
_push(`</div>`);
|
|
2510
2510
|
} else _push(`<!---->`);
|
|
2511
2511
|
_push(`</div>`);
|
|
2512
2512
|
} else _push(`<!---->`);
|
|
2513
|
-
_push(`<div class="sect-hd" data-v-
|
|
2513
|
+
_push(`<div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.ktzir2t131"))} ${ssrInterpolate(unref(boundDcwRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4l1w042"))}</div><!--[-->`);
|
|
2514
2514
|
ssrRenderList(unref(boundDcwRows), (r) => {
|
|
2515
|
-
_push(`<div class="dcw-row" data-v-
|
|
2516
|
-
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-
|
|
2515
|
+
_push(`<div class="dcw-row" data-v-33218c74><div class="dcw-top" data-v-33218c74><span class="bind-ico" data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(r.icon) ?? ""}</svg></span><span class="dcw-id" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(r.ch)}`);
|
|
2516
|
+
if (r.rMin != null || r.rMax != null) _push(`<i class="dcw-tag" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k48grv086"))}</i>`);
|
|
2517
2517
|
else _push(`<!---->`);
|
|
2518
|
-
_push(`</span><span class="dcw-name" data-v-
|
|
2519
|
-
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-
|
|
2518
|
+
_push(`</span><span class="dcw-name" data-v-33218c74>${ssrInterpolate(r.name)}</span></span><span class="dcw-cur" data-v-33218c74><b data-v-33218c74>${ssrInterpolate(r.value != null ? r.value.toFixed(r.decimals) : "--")}</b><i data-v-33218c74>${ssrInterpolate(r.unit)}</i></span>`);
|
|
2519
|
+
if (unref(mode) === "edit") _push(`<button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button>`);
|
|
2520
2520
|
else _push(`<!---->`);
|
|
2521
|
-
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-
|
|
2522
|
-
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-
|
|
2521
|
+
_push(`</div><div class="${ssrRenderClass([{ recipe: r.rMin != null || r.rMax != null }, "dcw-win"])}" data-v-33218c74><em data-v-33218c74>${ssrInterpolate(r.rMin != null || r.rMax != null ? _ctx.$t("townView.k1l3m0hx151") : _ctx.$t("townView.k1bc6rqf181"))}</em><span class="dcw-win-num" data-v-33218c74>${ssrInterpolate(r.rMin ?? "-∞")}</span><span class="dcw-win-track" data-v-33218c74><i style="${ssrRenderStyle({ left: `${dcwMarkPct(r)}%` })}" data-v-33218c74></i></span><span class="dcw-win-num" data-v-33218c74>${ssrInterpolate(r.rMax ?? "+∞")}</span></div><div class="dcw-write" data-v-33218c74><input${ssrRenderAttr("value", unref(dcwWriteDrafts)[r.dcwId])} type="number"${ssrRenderAttr("step", 10 ** -r.decimals)}${ssrRenderAttr("placeholder", `${r.rMin ?? r.gMin} ~ ${r.rMax ?? r.gMax}`)} data-v-33218c74><button class="dcw-send"${ssrIncludeBooleanAttr(unref(dcwWriteDrafts)[r.dcwId] == null || unref(dcwWriteDrafts)[r.dcwId] === "") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("townView.k15t7izc017"))} data-v-33218c74> write </button></div>`);
|
|
2522
|
+
if (unref(dcwWriteErrs)[r.dcwId]) _push(`<small class="dcw-err" data-v-33218c74>${ssrInterpolate(unref(dcwWriteErrs)[r.dcwId])}</small>`);
|
|
2523
2523
|
else _push(`<!---->`);
|
|
2524
2524
|
_push(`</div>`);
|
|
2525
2525
|
});
|
|
2526
2526
|
_push(`<!--]-->`);
|
|
2527
|
-
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-
|
|
2527
|
+
if (!unref(boundDcwRows).length) _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k10smf24087"))}</div>`);
|
|
2528
2528
|
else _push(`<!---->`);
|
|
2529
2529
|
if (unref(mode) === "edit") {
|
|
2530
|
-
_push(`<div class="bind-add-wrap" data-v-
|
|
2530
|
+
_push(`<div class="bind-add-wrap" data-v-33218c74><button class="bind-add" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvk1vh5088"))}</button>`);
|
|
2531
2531
|
if (unref(dcwBindPopOpen)) {
|
|
2532
|
-
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-
|
|
2532
|
+
_push(`<div class="bind-pop" style="${ssrRenderStyle({ maxHeight: `${unref(bindPopMaxH)}px` })}" data-v-33218c74><!--[-->`);
|
|
2533
2533
|
ssrRenderList(unref(dcwTemplates), (tpl) => {
|
|
2534
2534
|
_push(`<!--[-->`);
|
|
2535
2535
|
if (unref(dcwBindChoices)[tpl.id]?.length) {
|
|
2536
|
-
_push(`<div class="bp-group" data-v-
|
|
2536
|
+
_push(`<div class="bp-group" data-v-33218c74><span class="bp-tpl" data-v-33218c74>${ssrInterpolate(tpl.name)} · ${ssrInterpolate(tpl.ch)}</span><!--[-->`);
|
|
2537
2537
|
ssrRenderList(unref(dcwBindChoices)[tpl.id], (c) => {
|
|
2538
|
-
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-
|
|
2539
|
-
if (c.devName) _push(`<i class="bp-cur" data-v-
|
|
2540
|
-
else if (!c.placed) _push(`<i class="bp-cur" data-v-
|
|
2538
|
+
_push(`<button${ssrRenderAttr("data-node-id", c.id)}${ssrRenderAttr("title", c.devName ? _ctx.$t("townView.k2bindr0007", { p0: c.devName }) : _ctx.$t("townView.k2bindr0008"))} data-v-33218c74><svg class="bind-svg" viewBox="0 0 24 24" data-v-33218c74>${daqIcon(c.tpl.icon) ?? ""}</svg><span data-v-33218c74>${ssrInterpolate(c.name)}`);
|
|
2539
|
+
if (c.devName) _push(`<i class="bp-cur" data-v-33218c74>→ ${ssrInterpolate(c.devName)}</i>`);
|
|
2540
|
+
else if (!c.placed) _push(`<i class="bp-cur" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0009"))}</i>`);
|
|
2541
2541
|
else _push(`<!---->`);
|
|
2542
2542
|
_push(`</span></button>`);
|
|
2543
2543
|
});
|
|
@@ -2546,121 +2546,121 @@ var TownView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
2546
2546
|
_push(`<!--]-->`);
|
|
2547
2547
|
});
|
|
2548
2548
|
_push(`<!--]-->`);
|
|
2549
|
-
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-
|
|
2549
|
+
if (!unref(dcwBindChoiceCount)) _push(`<div class="bp-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2bindr0010"))}</div>`);
|
|
2550
2550
|
else _push(`<!---->`);
|
|
2551
2551
|
_push(`</div>`);
|
|
2552
2552
|
} else _push(`<!---->`);
|
|
2553
2553
|
_push(`</div>`);
|
|
2554
2554
|
} else _push(`<!---->`);
|
|
2555
|
-
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-
|
|
2556
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2555
|
+
if (unref(mode) === "edit") _push(`<!--[--><div class="sect-hd" data-v-33218c74> 变换 · BLENDER </div><div class="xz-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(tMode) === "translate" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1hg3167089"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "rotate" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1enlg7i090"))}</button><button class="${ssrRenderClass([{ on: unref(tMode) === "scale" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ibjg3j091"))}</button></div><div class="scale-row" data-v-33218c74><span class="scale-min" data-v-33218c74>0.2×</span><input class="scale-range" type="range" min="0.2" max="5" step="0.05"${ssrRenderAttr("value", unref(selected).scale)} data-v-33218c74><span class="scale-max" data-v-33218c74>5×</span></div><div class="scale-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(selected).scale * 100))}% </div><div class="ins-foot" data-v-33218c74><button class="${ssrRenderClass([{ armed: unref(deviceDeleteArmed) === unref(selected).id }, "btn btn-danger ins-del"])}" data-v-33218c74>${ssrInterpolate(unref(deviceDeleteArmed) === unref(selected).id ? _ctx.$t("townView.k1w10xa5152") : _ctx.$t("townView.k121kfef182"))}</button></div><!--]-->`);
|
|
2556
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kt0i3y2092"))}</div>`);
|
|
2557
2557
|
_push(`<!--]-->`);
|
|
2558
2558
|
}
|
|
2559
2559
|
_push(`<!--]-->`);
|
|
2560
2560
|
} else if (unref(selected).kind === "agent") {
|
|
2561
|
-
_push(`<!--[--><div class="chat-id-row" data-v-
|
|
2562
|
-
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-
|
|
2561
|
+
_push(`<!--[--><div class="chat-id-row" data-v-33218c74><span class="chat-badge" style="${ssrRenderStyle({ "--p-acc": unref(agentChatColor) })}" data-v-33218c74>${ssrInterpolate(unref(agentChatTitle).slice(0, 1).toUpperCase())}</span><div class="chat-nameplate" data-v-33218c74><span class="chat-name" data-v-33218c74>${ssrInterpolate(unref(agentChatTitle))}</span><span class="chat-meta" data-v-33218c74><span class="${ssrRenderClass([unref(selectedAgentMeta)?.role === "lead" ? "r-lead" : "r-worker", "chat-role"])}" data-v-33218c74>${ssrInterpolate(unref(selectedAgentRoleTag))}</span><span class="${ssrRenderClass([`s-${unref(selectedAgentMeta)?.state ?? "idle"}`, "chat-state"])}" data-v-33218c74>${ssrInterpolate(unref(agentChatStateLabel))}</span>`);
|
|
2562
|
+
if (unref(selectedAgentMeta)?.harness) _push(`<span class="chat-harness" data-v-33218c74>${ssrInterpolate(unref(selectedAgentMeta).harness.toUpperCase())}</span>`);
|
|
2563
2563
|
else _push(`<!---->`);
|
|
2564
|
-
_push(`<span class="chat-count" data-v-
|
|
2564
|
+
_push(`<span class="chat-count" data-v-33218c74>${ssrInterpolate(unref(agentHistory).length + unref(agentChatRows).length)} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span></span></div></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41amp083"))}</span><select class="obj-select"${ssrRenderAttr("value", (unref(scene3dRef)?.getAgentModel?.(unref(selected).id) ?? "") || "hero-3d")}${ssrIncludeBooleanAttr(unref(mode) !== "edit") ? " disabled" : ""} data-v-33218c74><!--[-->`);
|
|
2565
2565
|
ssrRenderList(unref(agentModels), (m) => {
|
|
2566
|
-
_push(`<option${ssrRenderAttr("value", m.id)} data-v-
|
|
2566
|
+
_push(`<option${ssrRenderAttr("value", m.id)} data-v-33218c74>${ssrInterpolate(m.name)}</option>`);
|
|
2567
2567
|
});
|
|
2568
|
-
_push(`<!--]--></select></div><div class="obj-sep" data-v-
|
|
2569
|
-
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-
|
|
2568
|
+
_push(`<!--]--></select></div><div class="obj-sep" data-v-33218c74></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1fix3hb093"))}</span><span class="range-status" data-v-33218c74>${ssrInterpolate(unref(agentRangeStatusText))}</span>`);
|
|
2569
|
+
if (unref(mode) === "edit") _push(`<button class="${ssrRenderClass([{ on: unref(agentDrawingRange) }, "obj-mini"])}"${ssrRenderAttr("title", _ctx.$t("townView.k13enoy3018"))} data-v-33218c74>${ssrInterpolate(unref(agentDrawingRange) ? _ctx.$t("townView.k3slzhc153") : _ctx.$t("townView.k1f1xmci183"))}</button>`);
|
|
2570
2570
|
else _push(`<!---->`);
|
|
2571
|
-
_push(`</div><div class="obj-sep" data-v-
|
|
2571
|
+
_push(`</div><div class="obj-sep" data-v-33218c74></div><div class="sect-hd" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1p7nru2094"))}</div><!--[-->`);
|
|
2572
2572
|
ssrRenderList(unref(agentBindings), (b) => {
|
|
2573
|
-
_push(`<div class="bind-row" data-v-
|
|
2573
|
+
_push(`<div class="bind-row" data-v-33218c74><span class="${ssrRenderClass([b.kind === "dcw" ? "accent" : "", "ins-chip"])}" style="${ssrRenderStyle({ "flex": "none" })}" data-v-33218c74>${ssrInterpolate(b.kind === "dcw" ? _ctx.$t("townView.k40ifw097") : _ctx.$t("townView.k40rjw098"))}</span><span class="bind-meta" data-v-33218c74><span class="bind-label" data-v-33218c74>${ssrInterpolate(bindingNodeName(b))}</span><select class="bind-select" style="${ssrRenderStyle({ "margin-top": "3px" })}"${ssrRenderAttr("value", b.mode)}${ssrRenderAttr("title", _ctx.$t("townView.khqvwix019"))} data-v-33218c74><option value="auto" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1io1ylm095"))}</option><option value="manual" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1duyr8q096"))}</option></select></span><button class="bind-x"${ssrRenderAttr("title", _ctx.$t("townView.k1k73omv016"))} data-v-33218c74> ✕ </button></div>`);
|
|
2574
2574
|
});
|
|
2575
2575
|
_push(`<!--]-->`);
|
|
2576
|
-
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-
|
|
2576
|
+
if (!unref(agentBindings).length) _push(`<div class="ins-empty" data-v-33218c74> 未绑定工业节点 —— 绑定后 Agent 可用 dcw_control / daq_query 工具 </div>`);
|
|
2577
2577
|
else _push(`<!---->`);
|
|
2578
2578
|
if (unref(mode) === "edit") {
|
|
2579
|
-
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-
|
|
2579
|
+
_push(`<div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-bottom": "8px" })}" data-v-33218c74><select class="bind-select" style="${ssrRenderStyle({
|
|
2580
2580
|
"flex": "none",
|
|
2581
2581
|
"width": "62px"
|
|
2582
|
-
})}" data-v-
|
|
2582
|
+
})}" data-v-33218c74><option value="dcw" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "dcw") : ssrLooseEqual(unref(agentBindKind), "dcw")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40ifw097"))}</option><option value="daq" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindKind)) ? ssrLooseContain(unref(agentBindKind), "daq") : ssrLooseEqual(unref(agentBindKind), "daq")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k40rjw098"))}</option></select><select class="bind-select" data-v-33218c74><option value="" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), "") : ssrLooseEqual(unref(agentBindNodeId), "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.kurjldk099"))}</option>`);
|
|
2583
2583
|
if (unref(agentBindKind) === "dcw") {
|
|
2584
2584
|
_push(`<!--[-->`);
|
|
2585
2585
|
ssrRenderList(unref(dcw).nodes, (n) => {
|
|
2586
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2586
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2587
2587
|
});
|
|
2588
2588
|
_push(`<!--]-->`);
|
|
2589
2589
|
} else {
|
|
2590
2590
|
_push(`<!--[-->`);
|
|
2591
2591
|
ssrRenderList(unref(daq).nodes, (n) => {
|
|
2592
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-
|
|
2592
|
+
_push(`<option${ssrRenderAttr("value", n.id)} data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindNodeId)) ? ssrLooseContain(unref(agentBindNodeId), n.id) : ssrLooseEqual(unref(agentBindNodeId), n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
2593
2593
|
});
|
|
2594
2594
|
_push(`<!--]-->`);
|
|
2595
2595
|
}
|
|
2596
2596
|
_push(`</select><select class="bind-select" style="${ssrRenderStyle({
|
|
2597
2597
|
"flex": "none",
|
|
2598
2598
|
"width": "76px"
|
|
2599
|
-
})}" data-v-
|
|
2599
|
+
})}" data-v-33218c74><option value="auto" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "auto") : ssrLooseEqual(unref(agentBindMode), "auto")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k45kpj100"))}</option><option value="manual" data-v-33218c74${ssrIncludeBooleanAttr(Array.isArray(unref(agentBindMode)) ? ssrLooseContain(unref(agentBindMode), "manual") : ssrLooseEqual(unref(agentBindMode), "manual")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("townView.k3zul4101"))}</option></select><button class="bind-add-btn"${ssrIncludeBooleanAttr(!unref(agentBindNodeId)) ? " disabled" : ""} data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k452a8102"))}</button></div>`);
|
|
2600
2600
|
} else _push(`<!---->`);
|
|
2601
2601
|
if (unref(pendingApprovals).length) {
|
|
2602
|
-
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-
|
|
2602
|
+
_push(`<!--[--><div class="sect-hd" style="${ssrRenderStyle({ "color": "var(--hud-amber)" })}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gk2jg7132"))} ${ssrInterpolate(unref(pendingApprovals).length)}</div><!--[-->`);
|
|
2603
2603
|
ssrRenderList(unref(pendingApprovals), (ap) => {
|
|
2604
|
-
_push(`<div class="approval-card" data-v-
|
|
2604
|
+
_push(`<div class="approval-card" data-v-33218c74><div class="approval-detail" data-v-33218c74>${ssrInterpolate(ap.detail)}</div><div class="${ssrRenderClass([{ urgent: approvalRemainingSec(ap) <= 30 }, "approval-ttl"])}" data-v-33218c74> ⏱ ${ssrInterpolate(approvalRemainingSec(ap))}s ${ssrInterpolate(_ctx.$t("townView.hitlAutoReject"))}</div><input${ssrRenderAttr("value", unref(approvalComments)[ap.id])} class="dcw-write input-inline" style="${ssrRenderStyle({
|
|
2605
2605
|
"width": "100%",
|
|
2606
2606
|
"margin-top": "5px"
|
|
2607
|
-
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-
|
|
2607
|
+
})}"${ssrRenderAttr("placeholder", _ctx.$t("townView.keztqrn020"))} data-v-33218c74><div class="daq-bind-bar" style="${ssrRenderStyle({ "margin-top": "5px" })}" data-v-33218c74><button class="bind-add-btn" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kslcozu103"))}</button><button class="bind-add-btn danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k14gu3rd104"))}</button></div></div>`);
|
|
2608
2608
|
});
|
|
2609
2609
|
_push(`<!--]--><!--]-->`);
|
|
2610
2610
|
} else _push(`<!---->`);
|
|
2611
|
-
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-
|
|
2612
|
-
else _push(`<div class="ins-empty" data-v-
|
|
2613
|
-
_push(`<div class="obj-sep" data-v-
|
|
2614
|
-
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-
|
|
2611
|
+
if (unref(agentRangeDraft) && unref(mode) === "edit") _push(`<!--[--><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3zhy5048"))}</span><div class="bp-seg" data-v-33218c74><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "ellipse" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k414bc049"))}</button><button class="${ssrRenderClass([{ on: unref(agentRangeDraft).shape === "rect" }, "seg-btn"])}" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k43u0g050"))}</button></div></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k41lwj105"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusX)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusX))}</span></div><div class="obj-row" data-v-33218c74><span class="obj-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k45bta106"))}</span><input${ssrRenderAttr("value", unref(agentRangeDraft).radiusZ)} class="obj-range" type="range" min="40" max="4000" step="8" data-v-33218c74><span class="bp-val" data-v-33218c74>${ssrInterpolate(Math.round(unref(agentRangeDraft).radiusZ))}</span></div><button class="obj-mini danger" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1w45mzc107"))}</button><!--]-->`);
|
|
2612
|
+
else _push(`<div class="ins-empty" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k14s8urm108"))}</div>`);
|
|
2613
|
+
_push(`<div class="obj-sep" data-v-33218c74></div><div class="sect-hd chat-sect" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1ghjbfc133"))} ${ssrInterpolate(unref(agentChatTitle))} <button class="mini-btn chat-refresh"${ssrRenderAttr("title", _ctx.$t("townView.k15avt7g021"))} data-v-33218c74>${ssrInterpolate(unref(historyLoading) ? "…" : "↻")}</button></div><div class="rpg-lines chat-embed" data-v-33218c74>`);
|
|
2614
|
+
if (unref(historyLoading)) _push(`<div class="rpg-note" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kkhlx5h109"))}</div>`);
|
|
2615
2615
|
else _push(`<!---->`);
|
|
2616
2616
|
if (unref(agentHistory).length) {
|
|
2617
|
-
_push(`<!--[--><div class="rpg-divider" data-v-
|
|
2617
|
+
_push(`<!--[--><div class="rpg-divider" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k768cnt134"))} ${ssrInterpolate(unref(agentHistory).length)}</div><!--[-->`);
|
|
2618
2618
|
ssrRenderList(unref(agentHistory), (r) => {
|
|
2619
|
-
_push(`<div class="rpg-line hist" data-v-
|
|
2620
|
-
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-
|
|
2619
|
+
_push(`<div class="rpg-line hist" data-v-33218c74><span class="rpg-time" data-v-33218c74>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-33218c74>`);
|
|
2620
|
+
if (chatKindLabel(r.kind)) _push(`<span class="${ssrRenderClass([`k-${r.kind}`, "rpg-kind"])}" data-v-33218c74>${ssrInterpolate(chatKindLabel(r.kind))}</span>`);
|
|
2621
2621
|
else _push(`<!---->`);
|
|
2622
|
-
_push(`<span class="rpg-text" data-v-
|
|
2622
|
+
_push(`<span class="rpg-text" data-v-33218c74>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2623
2623
|
});
|
|
2624
2624
|
_push(`<!--]--><!--]-->`);
|
|
2625
2625
|
} else _push(`<!---->`);
|
|
2626
|
-
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-
|
|
2626
|
+
if (unref(agentChatRows).length) _push(`<div class="rpg-divider live" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cwz73k135"))} ${ssrInterpolate(unref(agentChatRows).length)}</div>`);
|
|
2627
2627
|
else _push(`<!---->`);
|
|
2628
2628
|
_push(`<!--[-->`);
|
|
2629
2629
|
ssrRenderList(unref(agentChatRows), (r) => {
|
|
2630
|
-
_push(`<div class="rpg-line live" data-v-
|
|
2630
|
+
_push(`<div class="rpg-line live" data-v-33218c74><span class="rpg-time" data-v-33218c74>${ssrInterpolate(fmtTime(r.at))}</span><div class="rpg-bubble" data-v-33218c74><span class="rpg-text" data-v-33218c74>${ssrInterpolate(r.text)}</span></div></div>`);
|
|
2631
2631
|
});
|
|
2632
2632
|
_push(`<!--]-->`);
|
|
2633
|
-
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-
|
|
2633
|
+
if (unref(selectedAgentMeta)?.state === "busy") _push(`<div class="rpg-typing" data-v-33218c74><span class="ty-dot" data-v-33218c74></span><span class="ty-dot" data-v-33218c74></span><span class="ty-dot" data-v-33218c74></span><span class="ty-label" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k3o5tz9110"))}</span></div>`);
|
|
2634
2634
|
else _push(`<!---->`);
|
|
2635
|
-
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-
|
|
2635
|
+
if (!unref(historyLoading) && !unref(agentHistory).length && !unref(agentChatRows).length) _push(`<div class="rpg-note" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1qkqld7111"))}</div>`);
|
|
2636
2636
|
else _push(`<!---->`);
|
|
2637
2637
|
_push(`</div><!--]-->`);
|
|
2638
2638
|
} else _push(`<!---->`);
|
|
2639
2639
|
_push(`</section>`);
|
|
2640
2640
|
} else _push(`<!---->`);
|
|
2641
|
-
_push(`<section class="panel" data-v-
|
|
2641
|
+
_push(`<section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k17dkhgd112"))}</h3></div><div class="health-body" data-v-33218c74><div class="donut-wrap" data-v-33218c74><canvas width="118" height="118" data-v-33218c74></canvas><div class="donut-center" data-v-33218c74><b style="${ssrRenderStyle({ color: unref(healthTone) })}" data-v-33218c74>${ssrInterpolate(unref(healthPct))}%</b><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k7h1nxo113"))}</span></div></div><div class="health-legend" data-v-33218c74><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-accent)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3vp67i114"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(runningCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-amber)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3zcvb115"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(idleCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "var(--hud-danger)" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.k3xmid116"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(alarmCount))}</span></div><div class="hl-row" data-v-33218c74><span class="hl-dot" style="${ssrRenderStyle({ background: "#3a4a63" })}" data-v-33218c74></span> ${ssrInterpolate(_ctx.$t("townView.statesOffline"))} <span class="n" data-v-33218c74>${ssrInterpolate(unref(offlineCount))}</span></div></div></div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1q247fn117"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(deviceTwins).twins.length)}</span></div>`);
|
|
2642
2642
|
_push(ssrRenderComponent(_component_WorkshopDeviceTwinPanel, {
|
|
2643
2643
|
class: "kd-embed",
|
|
2644
2644
|
"daq-live": unref(daqLive),
|
|
2645
2645
|
"dcw-live": unref(dcwLive),
|
|
2646
2646
|
onFocusDevice
|
|
2647
2647
|
}, null, _parent));
|
|
2648
|
-
_push(`</section><section class="panel" data-v-
|
|
2648
|
+
_push(`</section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cxf749118"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(activeAlarmCount))} ${ssrInterpolate(_ctx.$t("townView.k4dfq040"))}</span><button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("townView.k1bkswpz022"))} data-v-33218c74> ✓ </button></div><div class="alarm-list" data-v-33218c74><!--[-->`);
|
|
2649
2649
|
ssrRenderList(unref(alarms).slice(0, 8), (a) => {
|
|
2650
|
-
_push(`<div class="al-row" data-v-
|
|
2650
|
+
_push(`<div class="al-row" data-v-33218c74><span class="${ssrRenderClass([a.state === 2 ? "info" : a.state === 1 ? "warn" : "crit", "al-ico"])}" data-v-33218c74><svg class="al-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3 22 20H2L12 3Z" data-v-33218c74></path><path d="M12 10v4M12 17v.2" data-v-33218c74></path></svg></span><div class="al-body" data-v-33218c74><div class="al-txt" data-v-33218c74>${ssrInterpolate(a.txt)}</div><div class="al-src" data-v-33218c74>${ssrInterpolate(a.src)} · ${ssrInterpolate(a.time)}</div></div><button class="${ssrRenderClass([`s${a.state}`, "al-state"])}" data-v-33218c74>${ssrInterpolate(ALARM_STATES[a.state])}</button></div>`);
|
|
2651
2651
|
});
|
|
2652
2652
|
_push(`<!--]-->`);
|
|
2653
|
-
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-
|
|
2653
|
+
if (!unref(alarms).length) _push(`<div class="rail-empty" data-v-33218c74><svg class="re-ico" viewBox="0 0 24 24" data-v-33218c74><path d="M12 3l7 3v5c0 4.6-3 8.2-7 10-4-1.8-7-5.4-7-10V6l7-3Z" data-v-33218c74></path><path d="m9.2 12.2 2 2 3.6-4" data-v-33218c74></path></svg><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kjz544r119"))}</span></div>`);
|
|
2654
2654
|
else _push(`<!---->`);
|
|
2655
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2655
|
+
_push(`</div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1cxdtq2120"))}</h3><span class="panel-tag" data-v-33218c74>${ssrInterpolate(unref(ticker).length)}</span></div><div class="event-list" data-v-33218c74><!--[-->`);
|
|
2656
2656
|
ssrRenderList([...unref(ticker)].reverse(), (t, i) => {
|
|
2657
|
-
_push(`<div class="event-row" data-v-
|
|
2657
|
+
_push(`<div class="event-row" data-v-33218c74><span class="ev-time" data-v-33218c74>${ssrInterpolate(fmtTime(t.at))}</span><span class="ev-name"${ssrRenderAttr("title", t.agentName)} data-v-33218c74>${ssrInterpolate(t.agentName)}</span><span class="ev-text"${ssrRenderAttr("title", t.text)} data-v-33218c74>${ssrInterpolate(t.text)}</span></div>`);
|
|
2658
2658
|
});
|
|
2659
2659
|
_push(`<!--]-->`);
|
|
2660
|
-
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-
|
|
2660
|
+
if (!unref(ticker).length) _push(`<div class="rail-empty" data-v-33218c74><svg class="re-ico" viewBox="0 0 24 24" data-v-33218c74><path d="M3 12h3l2.5-6 4 12L15 12h6" data-v-33218c74></path></svg><span data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k2uk6ua121"))}</span></div>`);
|
|
2661
2661
|
else _push(`<!---->`);
|
|
2662
|
-
_push(`</div></section><section class="panel" data-v-
|
|
2663
|
-
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-
|
|
2662
|
+
_push(`</div></section><section class="panel" data-v-33218c74><div class="panel-hd" data-v-33218c74><h3 data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kjug2jq122"))}</h3></div><div class="mm-body" data-v-33218c74><div class="mm-wrap"${ssrRenderAttr("title", _ctx.$t("townView.klfwiqg023"))} data-v-33218c74><canvas class="nav-cv" data-v-33218c74></canvas></div><div class="mm-col" data-v-33218c74><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1lap9bs024"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><path d="M3 12a9 9 0 1 0 3-6.7M3 4v5h5" data-v-33218c74></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.kav8a8k025"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="11" cy="11" r="6.5" data-v-33218c74></circle><path d="m16 16 4.5 4.5M8.5 11h5" data-v-33218c74></path></svg></button><button class="vp-tool"${ssrRenderAttr("title", _ctx.$t("townView.k1u7uce9026"))} data-v-33218c74><svg class="vp-svg" viewBox="0 0 24 24" data-v-33218c74><circle cx="11" cy="11" r="6.5" data-v-33218c74></circle><path d="m16 16 4.5 4.5M8.5 11h5M11 8.5v5" data-v-33218c74></path></svg></button></div></div><div class="mm-meta mono" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k1gaaodq136"))}${ssrInterpolate(unref(navScale).toFixed(1))} · ${ssrInterpolate(unref(minimap)?.devices?.length ?? 0)} ${ssrInterpolate(_ctx.$t("townView.k47e16126"))}</div></section></aside></div><footer class="statusbar" data-v-33218c74><span data-v-33218c74><span class="${ssrRenderClass([{ red: unref(conn).state !== "open" }, "sb-dot"])}" data-v-33218c74></span>${ssrInterpolate(_ctx.$t("townView.k1i4g246123"))} <b data-v-33218c74>${ssrInterpolate(unref(conn).state === "open" ? _ctx.$t("townView.k41k5c154") : unref(syncing) ? _ctx.$t("townView.k3lmtk3184") : _ctx.$t("townView.k44c2n186"))}</b></span><span class="sb-stats" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.k4a0jt124"))} <b data-v-33218c74>${ssrInterpolate(unref(blockCount))}</b><i data-v-33218c74>·</i>${ssrInterpolate(_ctx.$t("townView.k3xdvm125"))} <b data-v-33218c74>${ssrInterpolate(unref(agentCount))}</b><i data-v-33218c74>·</i>${ssrInterpolate(_ctx.$t("townView.k47e16126"))} <b data-v-33218c74>${ssrInterpolate(unref(deviceCount))}</b></span><span class="sb-lat mono" data-v-33218c74>${ssrInterpolate(unref(fps))} FPS </span><span class="copy" data-v-33218c74> © 2026 ABO · DIGITAL TWIN · ${ssrInterpolate(_ctx.$t("townView.k1h5gxpf137"))}</span></footer>`);
|
|
2663
|
+
if (!unref(ready)) _push(`<div data-hud="town-loading" class="loading-mask" data-v-33218c74><div class="loading-spinner" data-v-33218c74></div><span class="loading-text" data-v-33218c74>${ssrInterpolate(_ctx.$t("townView.kvjdqfg059"))}</span></div>`);
|
|
2664
2664
|
else _push(`<!---->`);
|
|
2665
2665
|
_push(`</div>`);
|
|
2666
2666
|
};
|
|
@@ -2674,7 +2674,7 @@ TownView_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
|
2674
2674
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/town/TownView.vue");
|
|
2675
2675
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
2676
2676
|
};
|
|
2677
|
-
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
2677
|
+
var TownView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TownView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-33218c74"]]), { __name: "WorkshopTownView" });
|
|
2678
2678
|
|
|
2679
2679
|
export { TownView_default as T, useStorage as u };
|
|
2680
|
-
//# sourceMappingURL=TownView-
|
|
2680
|
+
//# sourceMappingURL=TownView-CunmEMzS.mjs.map
|