agentworkshop 0.8.2 → 0.8.4
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/.AgentWorkShop/aml-python/train-example.py +92 -92
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BCLUwdP52.js → 39W1CH-l2.js} +1 -1
- package/.output/public/_nuxt/7xbYPfY6.js +1 -0
- package/.output/public/_nuxt/{BfvuWqSa.js → ATAvN55g.js} +1 -1
- package/.output/public/_nuxt/{B2NbzUau2.js → B3eCVqcT2.js} +1 -1
- package/.output/public/_nuxt/B4iJT5PX2.js +2 -0
- package/.output/public/_nuxt/{DuUc4bbY2.js → B9qIhT7k2.js} +1 -1
- package/.output/public/_nuxt/{BkEokGX5.js → BE9oKpOt.js} +1 -1
- package/.output/public/_nuxt/BNUaS1jv.js +20 -0
- package/.output/public/_nuxt/BhJA-E372.js +1 -0
- package/.output/public/_nuxt/Bq8YzXzs2.js +1 -0
- package/.output/public/_nuxt/{dHwWyr6b.js → CT4bi_Y4.js} +1 -1
- package/.output/public/_nuxt/{26OL4Ao82.js → CeCSjB9O2.js} +1 -1
- package/.output/public/_nuxt/Cf7ER7e2.js +1 -0
- package/.output/public/_nuxt/{Dyxf2xZw.js → Cot5VNae.js} +1 -1
- package/.output/public/_nuxt/{BVg2R2VB2.js → Crf8_Ad02.js} +1 -1
- package/.output/public/_nuxt/{rDvMijKA.js → D9tNM-1a.js} +2 -2
- package/.output/public/_nuxt/{YAA98rWJ.js → DAug2CPf.js} +7 -7
- package/.output/public/_nuxt/{DrlnrdvY2.js → DPnjnDtg.js} +1 -1
- package/.output/public/_nuxt/{CQSxS_Ek.js → DbhTN7-T.js} +1 -1
- package/.output/public/_nuxt/DgGzwjAr2.js +2 -0
- package/.output/public/_nuxt/DgTqKyYF2.js +1 -0
- package/.output/public/_nuxt/DkRozlDP2.js +1 -0
- package/.output/public/_nuxt/{Byiiiwc72.js → DxH5focQ.js} +1 -1
- package/.output/public/_nuxt/Dyr3LPGL.js +1 -0
- package/.output/public/_nuxt/{CC2Pv8VL2.js → MC_i34H42.js} +1 -1
- package/.output/public/_nuxt/MmlCf-EZ.js +1 -0
- package/.output/public/_nuxt/OmpTerminalPanel.DMWgGwDs.css +1 -0
- package/.output/public/_nuxt/PluginSlot.BqBzLD4T.css +1 -0
- package/.output/public/_nuxt/TownView.Cn8SPG7S.css +1 -0
- package/.output/public/_nuxt/{CmuGMxDP.js → TugRY_4O.js} +1 -1
- package/.output/public/_nuxt/{BPUQZ9Lq2.js → WybiLTow2.js} +1 -1
- package/.output/public/_nuxt/{BaYDgyaR.js → Zn0BZpf0.js} +3 -3
- package/.output/public/_nuxt/{_id_.BQRWK7J2.css → _id_.Be5JaH-P.css} +1 -1
- package/.output/public/_nuxt/{_wsId_.DCnKQQdY.css → _wsId_.p_vAYtTp.css} +1 -1
- package/.output/public/_nuxt/{agents.D-JPovTZ.css → agents.CRomddYR.css} +1 -1
- package/.output/public/_nuxt/aml.DgOMpDpv.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/8a151630-3285-41b8-a1e5-063fee2002ac.json +1 -0
- package/.output/public/_nuxt/{default.BEXGWZFQ.css → default.CpAx70gC.css} +1 -1
- package/.output/public/_nuxt/{entry.C7koBPom.css → entry.D6nBdXet.css} +1 -1
- package/.output/public/_nuxt/{logs.BkJPbR_K.css → logs.DcSvz6vi.css} +1 -1
- package/.output/public/_nuxt/{monitor.D3yEqqrv.css → monitor.OoNTwfMJ.css} +1 -1
- package/.output/public/_nuxt/ontology.D4P756Tc.css +1 -0
- package/.output/public/_nuxt/{operations.-l6u44Ar.css → operations.C48ggFa5.css} +1 -1
- package/.output/public/_nuxt/{pages.Cdpm_B-G.css → pages.Dpa28tJW.css} +1 -1
- package/.output/public/_nuxt/permissions.CrV-4t-6.css +1 -0
- package/.output/public/_nuxt/pipeline.NFs5z5V-.css +1 -0
- package/.output/public/_nuxt/{BfeXib9G.js → rcdmiszh2.js} +1 -1
- package/.output/public/_nuxt/schedules.DYWOjGHm.css +1 -0
- package/.output/public/_nuxt/{teams.CLQaXno5.css → teams.DEJoJ4QV.css} +1 -1
- package/.output/public/_nuxt/{tokens.BDSUWF-L.css → tokens.DKZWCP5v.css} +1 -1
- package/.output/public/_nuxt/tools.DP-nsTli.css +1 -0
- package/.output/public/_nuxt/wK6Pp4Zc2.js +2 -0
- package/.output/public/_nuxt/{workshop.BBiFhXuM.css → workshop.PT1xhP8C.css} +1 -1
- package/.output/public/favicon.svg +14 -14
- package/.output/public/robots.txt +3 -3
- package/.output/server/chunks/_/LeftOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/RightOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/SearchOutlined.mjs +1230 -1261
- package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/chart-repo.mjs +1 -1
- package/.output/server/chunks/_/chart-repo.mjs.map +1 -1
- package/.output/server/chunks/_/eda-db.mjs +12 -0
- package/.output/server/chunks/_/eda-db.mjs.map +1 -1
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +3258 -3313
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/_/template-repo.mjs +97 -0
- package/.output/server/chunks/_/template-repo.mjs.map +1 -0
- package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs +704 -0
- package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs.map +1 -0
- package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs +77 -0
- package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs.map +1 -0
- package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs +889 -0
- package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs.map +1 -0
- package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs +131 -0
- package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs.map +1 -0
- package/.output/server/chunks/build/TownView-CcUPLqF1.mjs +5960 -0
- package/.output/server/chunks/build/TownView-CcUPLqF1.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-AgACEyL6.mjs +1922 -0
- package/.output/server/chunks/build/_id_-AgACEyL6.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-B3yCK2lD.mjs +373 -0
- package/.output/server/chunks/build/_id_-B3yCK2lD.mjs.map +1 -0
- package/.output/server/chunks/build/_wsId_-kcDriA4i.mjs +13707 -0
- package/.output/server/chunks/build/_wsId_-kcDriA4i.mjs.map +1 -0
- package/.output/server/chunks/build/agents-DRod4lTC.mjs +1047 -0
- package/.output/server/chunks/build/agents-DRod4lTC.mjs.map +1 -0
- package/.output/server/chunks/build/alert-CNGhs--Y.mjs +260 -0
- package/.output/server/chunks/build/alert-CNGhs--Y.mjs.map +1 -0
- package/.output/server/chunks/build/aml-B3Umz4DR.mjs +729 -0
- package/.output/server/chunks/build/aml-B3Umz4DR.mjs.map +1 -0
- package/.output/server/chunks/build/analysis-CMsMTMCg.mjs +502 -0
- package/.output/server/chunks/build/analysis-CMsMTMCg.mjs.map +1 -0
- package/.output/server/chunks/build/{api-B4Om0mEc.mjs → api-D-zkgkj-.mjs} +8 -10
- package/.output/server/chunks/build/api-D-zkgkj-.mjs.map +1 -0
- package/.output/server/chunks/build/{api-BsAgXWxi.mjs → api-D3gy2e2q.mjs} +22 -24
- package/.output/server/chunks/build/api-D3gy2e2q.mjs.map +1 -0
- package/.output/server/chunks/build/{api-BEW_ebY_.mjs → api-bn4OKkl_.mjs} +17 -19
- package/.output/server/chunks/build/api-bn4OKkl_.mjs.map +1 -0
- package/.output/server/chunks/build/api-error-CnW_xiNI.mjs +46 -0
- package/.output/server/chunks/build/api-error-CnW_xiNI.mjs.map +1 -0
- package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs +70 -0
- package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs.map +1 -0
- package/.output/server/chunks/build/board-B2oYXGBy.mjs +172 -0
- package/.output/server/chunks/build/board-B2oYXGBy.mjs.map +1 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +81 -94
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -1
- package/.output/server/chunks/build/card-BECE6y_G.mjs +922 -0
- package/.output/server/chunks/build/card-BECE6y_G.mjs.map +1 -0
- package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs +950 -0
- package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs.map +1 -0
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +113 -112
- package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -1
- package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs +429 -0
- package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs.map +1 -0
- package/.output/server/chunks/build/client-only-S7k53PIm.mjs +42 -0
- package/.output/server/chunks/build/client-only-S7k53PIm.mjs.map +1 -0
- package/.output/server/chunks/build/constants-HPHJvjne.mjs +65 -75
- package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
- package/.output/server/chunks/build/core-CRlsQhzd.mjs +292 -0
- package/.output/server/chunks/build/core-CRlsQhzd.mjs.map +1 -0
- package/.output/server/chunks/build/daq-DFQQOtcZ.mjs +1210 -0
- package/.output/server/chunks/build/daq-DFQQOtcZ.mjs.map +1 -0
- package/.output/server/chunks/build/data-Cl4wRZO6.mjs +459 -0
- package/.output/server/chunks/build/data-Cl4wRZO6.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-8415S3Km.mjs +467 -0
- package/.output/server/chunks/build/dcw-8415S3Km.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs +3 -15
- package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs.map +1 -1
- package/.output/server/chunks/build/default-DDRKP2Mb.mjs +2246 -0
- package/.output/server/chunks/build/default-DDRKP2Mb.mjs.map +1 -0
- package/.output/server/chunks/build/descriptions-B3uhDesi.mjs +401 -0
- package/.output/server/chunks/build/descriptions-B3uhDesi.mjs.map +1 -0
- package/.output/server/chunks/build/drawer-DwXxapMg.mjs +822 -0
- package/.output/server/chunks/build/drawer-DwXxapMg.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs +12 -0
- package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs +530 -0
- package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs.map +1 -0
- package/.output/server/chunks/build/{es-Bxu10NJ2.mjs → es-DXSEkmAm.mjs} +1 -2
- package/.output/server/chunks/build/es-DXSEkmAm.mjs.map +1 -0
- package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs +2082 -0
- package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs.map +1 -0
- package/.output/server/chunks/build/form-Cw2Ex9w5.mjs +3543 -0
- package/.output/server/chunks/build/form-Cw2Ex9w5.mjs.map +1 -0
- package/.output/server/chunks/build/hasIn-RYRGomyg.mjs +192 -0
- package/.output/server/chunks/build/hasIn-RYRGomyg.mjs.map +1 -0
- package/.output/server/chunks/build/hitl-B4cHRlkC.mjs +120 -0
- package/.output/server/chunks/build/hitl-B4cHRlkC.mjs.map +1 -0
- package/.output/server/chunks/build/input-CJgB-RL6.mjs +1705 -0
- package/.output/server/chunks/build/input-CJgB-RL6.mjs.map +1 -0
- package/.output/server/chunks/build/input-number-CQKL42p_.mjs +1027 -0
- package/.output/server/chunks/build/input-number-CQKL42p_.mjs.map +1 -0
- package/.output/server/chunks/build/interval-DiAUqODq.mjs +8 -0
- package/.output/server/chunks/build/interval-DiAUqODq.mjs.map +1 -0
- package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs +6 -0
- package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs.map +1 -0
- package/.output/server/chunks/build/logs-C-dWpJ80.mjs +381 -0
- package/.output/server/chunks/build/logs-C-dWpJ80.mjs.map +1 -0
- package/.output/server/chunks/build/menu-xO8ocVtL.mjs +1833 -0
- package/.output/server/chunks/build/menu-xO8ocVtL.mjs.map +1 -0
- package/.output/server/chunks/build/monitor-BNrG6v3b.mjs +2216 -0
- package/.output/server/chunks/build/monitor-BNrG6v3b.mjs.map +1 -0
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs +0 -2
- package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs.map +1 -1
- package/.output/server/chunks/build/ontology-DoXAsa2y.mjs +1416 -0
- package/.output/server/chunks/build/ontology-DoXAsa2y.mjs.map +1 -0
- package/.output/server/chunks/build/operations-Ch6tZIKo.mjs +278 -0
- package/.output/server/chunks/build/operations-Ch6tZIKo.mjs.map +1 -0
- package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs +202 -0
- package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs.map +1 -0
- package/.output/server/chunks/build/pages-CQOfwKB4.mjs +439 -0
- package/.output/server/chunks/build/pages-CQOfwKB4.mjs.map +1 -0
- package/.output/server/chunks/build/pagination-BTzq7dD5.mjs +1330 -0
- package/.output/server/chunks/build/pagination-BTzq7dD5.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-qmimwB0M.mjs +649 -0
- package/.output/server/chunks/build/permissions-qmimwB0M.mjs.map +1 -0
- package/.output/server/chunks/build/pipeline-eo2RWN3f.mjs +226 -0
- package/.output/server/chunks/build/pipeline-eo2RWN3f.mjs.map +1 -0
- package/.output/server/chunks/build/plugins-Dh_goy-k.mjs +269 -0
- package/.output/server/chunks/build/plugins-Dh_goy-k.mjs.map +1 -0
- package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs +333 -0
- package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs.map +1 -0
- package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs +77 -0
- package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs.map +1 -0
- package/.output/server/chunks/build/schedules-C2_x38gj.mjs +7039 -0
- package/.output/server/chunks/build/schedules-C2_x38gj.mjs.map +1 -0
- package/.output/server/chunks/build/segmented-29uEKZ3D.mjs +332 -0
- package/.output/server/chunks/build/segmented-29uEKZ3D.mjs.map +1 -0
- package/.output/server/chunks/build/select-CJb2XrQf.mjs +3734 -0
- package/.output/server/chunks/build/select-CJb2XrQf.mjs.map +1 -0
- package/.output/server/chunks/build/settings-Cz2Plds0.mjs +944 -0
- package/.output/server/chunks/build/settings-Cz2Plds0.mjs.map +1 -0
- package/.output/server/chunks/build/space-BByD-mFE.mjs +107 -0
- package/.output/server/chunks/build/space-BByD-mFE.mjs.map +1 -0
- package/.output/server/chunks/build/spin-XhbgGeLP.mjs +313 -0
- package/.output/server/chunks/build/spin-XhbgGeLP.mjs.map +1 -0
- package/.output/server/chunks/build/studio-CwYXl00G.mjs +329 -0
- package/.output/server/chunks/build/studio-CwYXl00G.mjs.map +1 -0
- package/.output/server/chunks/build/switch-DWcwVFxW.mjs +374 -0
- package/.output/server/chunks/build/switch-DWcwVFxW.mjs.map +1 -0
- package/.output/server/chunks/build/table-Zhuo7Fq-.mjs +7249 -0
- package/.output/server/chunks/build/table-Zhuo7Fq-.mjs.map +1 -0
- package/.output/server/chunks/build/tabs-BCwBXjNt.mjs +1838 -0
- package/.output/server/chunks/build/tabs-BCwBXjNt.mjs.map +1 -0
- package/.output/server/chunks/build/tag-CRW-anwy.mjs +1010 -0
- package/.output/server/chunks/build/tag-CRW-anwy.mjs.map +1 -0
- package/.output/server/chunks/build/teams-CwhFdcYn.mjs +1160 -0
- package/.output/server/chunks/build/teams-CwhFdcYn.mjs.map +1 -0
- package/.output/server/chunks/build/tokens-C5ODO1HA.mjs +992 -0
- package/.output/server/chunks/build/tokens-C5ODO1HA.mjs.map +1 -0
- package/.output/server/chunks/build/tools-C0YKragH.mjs +487 -0
- package/.output/server/chunks/build/tools-C0YKragH.mjs.map +1 -0
- package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs +888 -0
- package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs.map +1 -0
- package/.output/server/chunks/build/town-BV-hbwb5.mjs +16 -29
- package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
- package/.output/server/chunks/build/town-DLFB4SZl.mjs +117 -0
- package/.output/server/chunks/build/town-DLFB4SZl.mjs.map +1 -0
- package/.output/server/chunks/build/types-D6J7slEa.mjs.map +1 -1
- package/.output/server/chunks/build/types-DWqIeMRP.mjs +28 -29
- package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs +120 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs +71 -0
- package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +16 -23
- package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
- package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs +112 -0
- package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs +140 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs +88 -0
- package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs +79 -0
- package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs +188 -0
- package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs +86 -0
- package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +32 -37
- package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
- package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs +251 -0
- package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs +90 -0
- package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs +80 -0
- package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs +126 -0
- package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs.map +1 -0
- package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs +120 -0
- package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqAddNode-D_1EBuR3.mjs +141 -0
- package/.output/server/chunks/build/useDaqAddNode-D_1EBuR3.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailBinding-j05iSApd.mjs +72 -0
- package/.output/server/chunks/build/useDaqDetailBinding-j05iSApd.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BKciVJ78.mjs +78 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BKciVJ78.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailHistory-DgemICkr.mjs +166 -0
- package/.output/server/chunks/build/useDaqDetailHistory-DgemICkr.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailNode-Cn7_og6t.mjs +103 -0
- package/.output/server/chunks/build/useDaqDetailNode-Cn7_og6t.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailParams-DX_vjFyK.mjs +157 -0
- package/.output/server/chunks/build/useDaqDetailParams-DX_vjFyK.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqFilters-DMS4GN20.mjs +224 -0
- package/.output/server/chunks/build/useDaqFilters-DMS4GN20.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +43 -44
- package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
- package/.output/server/chunks/build/useDaqOptimizations-OPbdy5YB.mjs +132 -0
- package/.output/server/chunks/build/useDaqOptimizations-OPbdy5YB.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqStream-CS1G6iro.mjs +385 -0
- package/.output/server/chunks/build/useDaqStream-CS1G6iro.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqTemplates-DqhRYo88.mjs +181 -0
- package/.output/server/chunks/build/useDaqTemplates-DqhRYo88.mjs.map +1 -0
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +312 -310
- package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
- package/.output/server/chunks/build/useDashboardData-CeaMjEA9.mjs +139 -0
- package/.output/server/chunks/build/useDashboardData-CeaMjEA9.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwAddNode-Cytz_odQ.mjs +217 -0
- package/.output/server/chunks/build/useDcwAddNode-Cytz_odQ.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwCards-SaiImIYQ.mjs → useDcwCards-BKCFqkRd.mjs} +20 -23
- package/.output/server/chunks/build/useDcwCards-BKCFqkRd.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailScope-CvdvcKAv.mjs +184 -0
- package/.output/server/chunks/build/useDcwDetailScope-CvdvcKAv.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-CC2FcEge.mjs +143 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-CC2FcEge.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwFilter-CVoiXbZh.mjs +65 -0
- package/.output/server/chunks/build/useDcwFilter-CVoiXbZh.mjs.map +1 -0
- package/.output/server/chunks/build/{useDcwLedger-0ie-0WTc.mjs → useDcwLedger-Cd-ckHoJ.mjs} +29 -35
- package/.output/server/chunks/build/useDcwLedger-Cd-ckHoJ.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineMutations-BOQs-fw3.mjs +133 -0
- package/.output/server/chunks/build/useDcwLineMutations-BOQs-fw3.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineRun-D9qvcyTM.mjs +100 -0
- package/.output/server/chunks/build/useDcwLineRun-D9qvcyTM.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwParamApprovals-D36q4can.mjs +119 -0
- package/.output/server/chunks/build/useDcwParamApprovals-D36q4can.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwProducts-BozctrwT.mjs +88 -0
- package/.output/server/chunks/build/useDcwProducts-BozctrwT.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuery-C8FikKgu.mjs +93 -0
- package/.output/server/chunks/build/useDcwQuery-C8FikKgu.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuickActions-IyQ8Rkpe.mjs +84 -0
- package/.output/server/chunks/build/useDcwQuickActions-IyQ8Rkpe.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwRecipes-k9HGhMwF.mjs +263 -0
- package/.output/server/chunks/build/useDcwRecipes-k9HGhMwF.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwStream-BnBOiawo.mjs +455 -0
- package/.output/server/chunks/build/useDcwStream-BnBOiawo.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwTemplates-CnyYOOy0.mjs +87 -0
- package/.output/server/chunks/build/useDcwTemplates-CnyYOOy0.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwWrites-Cco590iv.mjs +136 -0
- package/.output/server/chunks/build/useDcwWrites-Cco590iv.mjs.map +1 -0
- package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs +118 -0
- package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs.map +1 -0
- package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs +104 -0
- package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs +52 -0
- package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +30 -33
- package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
- package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs +80 -0
- package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs +136 -0
- package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsScope-C-yrta-v.mjs +75 -0
- package/.output/server/chunks/build/useLogsScope-C-yrta-v.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +155 -166
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
- package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs +128 -0
- package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs +77 -0
- package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +20 -27
- package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
- package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs +182 -0
- package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs.map +1 -0
- package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs +139 -0
- package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs.map +1 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs +146 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs.map +1 -0
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +23 -39
- package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs +71 -0
- package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs +78 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs +91 -0
- package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs +76 -0
- package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +31 -38
- package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
- package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs +99 -0
- package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs +124 -0
- package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +21 -28
- package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
- package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs +106 -0
- package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs +81 -0
- package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs +108 -0
- package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs.map +1 -0
- package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs +86 -0
- package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs.map +1 -0
- package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs +16 -17
- package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs +131 -0
- package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs +128 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs +118 -0
- package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs +1577 -0
- package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs.map +1 -0
- package/.output/server/chunks/build/{useWorkspaceAuth-Dlvj9csD.mjs → useWorkspaceAuth-TahC9EC7.mjs} +4 -16
- package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs +94 -0
- package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +30 -33
- package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs +150 -0
- package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs.map +1 -0
- package/.output/server/chunks/build/users-pVCK50z-.mjs +566 -0
- package/.output/server/chunks/build/users-pVCK50z-.mjs.map +1 -0
- package/.output/server/chunks/build/workshop-DAgsBgG4.mjs +499 -0
- package/.output/server/chunks/build/workshop-DAgsBgG4.mjs.map +1 -0
- package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs +111 -121
- package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.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.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs +36 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs +37 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index10.post.mjs +33 -0
- package/.output/server/chunks/routes/api/workshop/index10.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs +45 -46
- package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +46 -23
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +10 -9
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +22 -19
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +18 -42
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs +43 -17
- package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs +13 -15
- package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs +18 -4
- package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +9581 -10848
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +8 -5
- package/README.md +9 -6
- package/app/components/AwChart.vue +14 -0
- package/app/components/AwLogo.vue +75 -75
- package/app/components/aml/AmlDatasetFormModal.vue +279 -279
- package/app/components/aml/AmlDatasetTable.vue +319 -319
- package/app/components/aml/AmlExperimentsTable.vue +142 -142
- package/app/components/aml/AmlInfraBanner.vue +23 -23
- package/app/components/aml/AmlJobsTable.vue +248 -248
- package/app/components/aml/AmlOverviewBar.vue +62 -62
- package/app/components/aml/AmlPageHeader.vue +47 -47
- package/app/components/aml/AmlPredictConsole.vue +201 -201
- package/app/components/app-header/HitlBell.vue +423 -423
- package/app/components/daq/DaqAddNodeModal.vue +209 -209
- package/app/components/daq/DaqAlarmBar.vue +46 -46
- package/app/components/daq/DaqControlCard.vue +159 -159
- package/app/components/daq/DaqInfraBanner.vue +31 -31
- package/app/components/daq/DaqLineBanner.vue +47 -47
- package/app/components/daq/DaqNodePanel.vue +396 -396
- package/app/components/daq/DaqOptPanel.vue +197 -197
- package/app/components/daq/DaqTemplateModal.vue +246 -246
- package/app/components/dashboard/DashboardGaugeBand.vue +78 -78
- package/app/components/dashboard/DashboardHero.vue +209 -209
- package/app/components/dashboard/DashboardLineStatePanel.vue +78 -78
- package/app/components/dashboard/DashboardNodeStatePanel.vue +46 -46
- package/app/components/dashboard/DashboardPipelinePanel.vue +46 -46
- package/app/components/dashboard/DashboardTrendPanel.vue +83 -83
- package/app/components/dashboard/DashboardWritePanel.vue +52 -52
- package/app/components/dcw/DcwCreateLineModal.vue +105 -105
- package/app/components/dcw/DcwDeleteLineModal.vue +73 -73
- package/app/components/dcw/DcwDetailTemplateModal.vue +238 -238
- package/app/components/dcw/DcwLedgerCard.vue +160 -160
- package/app/components/dcw/DcwMesArtifacts.vue +140 -140
- package/app/components/dcw/DcwProductCreateModal.vue +113 -113
- package/app/components/dcw/DcwRecipeDispatchHistoryModal.vue +244 -244
- package/app/components/dcw/DcwRecipeEditModal.vue +399 -399
- package/app/components/dcw/DcwRecipeHistoryModal.vue +165 -165
- package/app/components/dcw/DcwRunDataModal.vue +191 -191
- package/app/components/dcw/DcwTemplateModal.vue +227 -227
- package/app/components/dcw/DcwWriteHistoryCard.vue +96 -96
- package/app/components/dcw/ExpConfirmCard.vue +103 -103
- package/app/components/dcw/RecipeDispatchApprovalCard.vue +330 -330
- package/app/components/logs/LogsPageHead.vue +71 -71
- package/app/components/monitor/MonitorAgentTable.vue +143 -143
- package/app/components/monitor/MonitorChannelTable.vue +80 -80
- package/app/components/monitor/MonitorLoginGate.vue +24 -24
- package/app/components/monitor/MonitorPageHead.vue +92 -92
- package/app/components/monitor/MonitorProcessTable.vue +159 -159
- package/app/components/ontology/OntologyGraph.vue +356 -356
- package/app/components/operations/OperationsFilterCard.vue +164 -164
- package/app/components/operations/OperationsPageHead.vue +47 -47
- package/app/components/tokens/TokenCreateModal.vue +42 -42
- package/app/components/tokens/TokenOnceModal.vue +164 -164
- package/app/components/tokens/TokenRenameModal.vue +40 -40
- package/app/components/tokens/TokensPageHead.vue +76 -76
- package/app/components/workshop/A2aRpcDebugger.vue +237 -237
- package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
- package/app/components/workshop/AgentLanesView.vue +278 -278
- package/app/components/workshop/ArtifactCard.vue +120 -120
- package/app/components/workshop/AssetLibrary.vue +452 -452
- package/app/components/workshop/ChatMemberPanel.vue +556 -556
- package/app/components/workshop/CommandPalette.vue +270 -270
- package/app/components/workshop/Composer.vue +540 -540
- package/app/components/workshop/DaqTemplateIcon.vue +33 -33
- package/app/components/workshop/DeviceTwinPanel.vue +167 -167
- package/app/components/workshop/FileSelectorModal.vue +188 -188
- package/app/components/workshop/InspectorPanel.vue +301 -301
- package/app/components/workshop/PluginSlot.vue +120 -120
- package/app/components/workshop/TranscriptTimeline.vue +223 -223
- package/app/components/workshop/agents/AgentTemplateEditModal.vue +139 -139
- package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
- package/app/components/workshop/blocks/ClusterError.vue +85 -85
- package/app/components/workshop/blocks/ClusterLife.vue +87 -87
- package/app/components/workshop/blocks/ClusterMember.vue +95 -95
- package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
- package/app/components/workshop/blocks/ClusterOther.vue +67 -67
- package/app/components/workshop/blocks/ClusterStatus.vue +149 -149
- package/app/components/workshop/blocks/ClusterTool.vue +176 -176
- package/app/components/workshop/blocks/EventBlockAvatar.vue +114 -114
- package/app/components/workshop/blocks/EventBlockHead.vue +232 -232
- package/app/components/workshop/composer/ComposerToolbar.vue +278 -278
- package/app/components/workshop/composer/MentionMenu.vue +135 -135
- package/app/components/workshop/composer/ReplyChip.vue +65 -65
- package/app/components/workshop/composer/StatusChip.vue +171 -171
- package/app/components/workshop/console/Dock.vue +71 -71
- package/app/components/workshop/console/LeftPane.vue +84 -84
- package/app/components/workshop/device-twin/DeviceTwinCard.vue +265 -265
- package/app/components/workshop/device-twin/DeviceTwinDcwSection.vue +203 -203
- package/app/components/workshop/lanes/AddMemberModal.vue +270 -270
- package/app/components/workshop/lanes/EditMemberModal.vue +106 -106
- package/app/components/workshop/lanes/LanesToolbar.vue +97 -97
- package/app/components/workshop/session-list/ChannelSettingsModal.vue +3 -3
- package/app/components/workshop/session-list/MountChannelModal.vue +124 -124
- package/app/components/workshop/session-list/SaveTemplateModal.vue +93 -93
- package/app/components/workshop/task-board/Card.vue +172 -172
- package/app/components/workshop/task-board/Column.vue +151 -151
- package/app/components/workshop/task-board/List.vue +157 -157
- package/app/components/workshop/task-board/StatusMenu.vue +88 -88
- package/app/components/workshop/teams/TeamAddMemberModal.vue +53 -53
- package/app/components/workshop/teams/TeamCreateModal.vue +94 -94
- package/app/components/workshop/teams/TeamDeployModal.vue +40 -40
- package/app/components/workshop/teams/TeamPluginModal.vue +119 -119
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +270 -270
- package/app/components/workshop/terminal/TerminalHitlCard.vue +170 -170
- package/app/components/workshop/town/TownScene.ts +466 -466
- package/app/components/workshop/town/TownView.vue +561 -561
- package/app/components/workshop/town/components/AutoModeConfirmModal.vue +94 -94
- package/app/components/workshop/town/components/TownAgentBindings.vue +405 -405
- package/app/components/workshop/town/components/TownAgentInspector.vue +554 -554
- package/app/components/workshop/town/components/TownAlarmList.vue +147 -147
- package/app/components/workshop/town/components/TownBoundaryPanel.vue +350 -350
- package/app/components/workshop/town/components/TownCalloutLayer.vue +147 -147
- package/app/components/workshop/town/components/TownChannelDock.vue +116 -116
- package/app/components/workshop/town/components/TownControlDock.vue +405 -405
- package/app/components/workshop/town/components/TownDaqNodeInspector.vue +345 -345
- package/app/components/workshop/town/components/TownDaqTree.vue +366 -366
- package/app/components/workshop/town/components/TownDcwBindSection.vue +473 -473
- package/app/components/workshop/town/components/TownDcwNodeInspector.vue +185 -185
- package/app/components/workshop/town/components/TownDcwTree.vue +280 -280
- package/app/components/workshop/town/components/TownDeviceBindings.vue +394 -394
- package/app/components/workshop/town/components/TownDeviceTransform.vue +248 -248
- package/app/components/workshop/town/components/TownEventList.vue +120 -120
- package/app/components/workshop/town/components/TownHealthBody.vue +100 -100
- package/app/components/workshop/town/components/TownKpiStrip.vue +207 -207
- package/app/components/workshop/town/components/TownLeftRail.vue +308 -308
- package/app/components/workshop/town/components/TownLoadingMask.vue +61 -61
- package/app/components/workshop/town/components/TownNavMap.vue +154 -154
- package/app/components/workshop/town/components/TownRightRail.vue +543 -543
- package/app/components/workshop/town/components/TownStage.vue +281 -281
- package/app/components/workshop/town/components/TownStageTop.vue +238 -238
- package/app/components/workshop/town/components/TownStatusBar.vue +108 -108
- package/app/components/workshop/town/components/TownTopNav.vue +367 -367
- package/app/components/workshop/town/components/TownTrendDock.vue +178 -178
- package/app/components/workshop/town/scene/town-scene-agents.ts +254 -254
- package/app/components/workshop/town/scene/town-scene-behavior.ts +194 -194
- package/app/components/workshop/town/scene/town-scene-bubbles.ts +96 -96
- package/app/components/workshop/town/scene/town-scene-core.ts +158 -158
- package/app/components/workshop/town/scene/town-scene-models.ts +109 -109
- package/app/components/workshop/town/scene/town-scene-visuals.ts +279 -279
- package/app/components/workshop/town/scene/town-scene3d-agents.ts +308 -308
- package/app/components/workshop/town/scene/town-scene3d-blocks.ts +297 -297
- package/app/components/workshop/town/scene/town-scene3d-bubbles.ts +281 -281
- package/app/components/workshop/town/scene/town-scene3d-camera.ts +282 -282
- package/app/components/workshop/town/scene/town-scene3d-devices.ts +433 -433
- package/app/components/workshop/town/scene/town-scene3d-editing.ts +490 -490
- package/app/components/workshop/town/scene/town-scene3d-events.ts +173 -173
- package/app/components/workshop/town/scene/town-scene3d-factory.ts +412 -412
- package/app/components/workshop/town/scene/town-scene3d-hud.ts +110 -110
- package/app/components/workshop/town/scene/town-scene3d-lifecycle.ts +144 -144
- package/app/components/workshop/town/scene/town-scene3d-links.ts +141 -141
- package/app/components/workshop/town/scene/town-scene3d-loop.ts +286 -286
- package/app/components/workshop/town/scene/town-scene3d-models.ts +154 -154
- package/app/components/workshop/town/scene/town-scene3d-nodes.ts +562 -562
- package/app/components/workshop/town/scene/town-scene3d-ranges.ts +273 -273
- package/app/components/workshop/town/scene/town-scene3d-renderer.ts +320 -320
- package/app/components/workshop/town/scene/town-scene3d-selection.ts +257 -257
- package/app/components/workshop/town/scene/town-scene3d-types.ts +264 -264
- package/app/components/workshop/transcript/TranscriptBlockList.vue +68 -68
- package/app/components/workshop/transcript/TranscriptEarlierPager.vue +81 -81
- package/app/components/workshop/transcript/TranscriptFilterBar.vue +126 -126
- package/app/components/workshop/workbench/CreateWorkspaceModal.vue +36 -36
- package/app/components/workshop/workbench/WorkspaceEmpty.vue +56 -56
- package/app/composables/useResponsive.ts +88 -88
- package/app/composables/workshop/device-twin-types.ts +29 -29
- package/app/composables/workshop/event-blocks/attention.ts +58 -58
- package/app/composables/workshop/event-blocks/classify.ts +44 -44
- package/app/composables/workshop/event-blocks/clusterer.ts +231 -231
- package/app/composables/workshop/event-blocks/fold-stream.ts +45 -45
- package/app/composables/workshop/event-blocks/markdown.ts +81 -81
- package/app/composables/workshop/event-blocks/mentions.ts +49 -49
- package/app/composables/workshop/event-blocks/text-utils.ts +100 -100
- package/app/composables/workshop/event-blocks/types.ts +40 -40
- package/app/composables/workshop/town/town-relay-props.ts +231 -231
- package/app/composables/workshop/town/town-view-types.ts +145 -145
- package/app/composables/workshop/town/useTownAgentBindings.ts +182 -182
- package/app/composables/workshop/town/useTownAgentChat.ts +203 -203
- package/app/composables/workshop/town/useTownAlarms.ts +36 -36
- package/app/composables/workshop/town/useTownCallouts.ts +174 -174
- package/app/composables/workshop/town/useTownChannels.ts +220 -220
- package/app/composables/workshop/town/useTownHealth.ts +66 -66
- package/app/composables/workshop/town/useTownHudTickers.ts +77 -77
- package/app/composables/workshop/town/useTownLayout.ts +277 -277
- package/app/composables/workshop/town/useTownNavMap.ts +301 -301
- package/app/composables/workshop/town/useTownNodeBindings.ts +345 -345
- package/app/composables/workshop/town/useTownPanelDrag.ts +91 -91
- package/app/composables/workshop/town/useTownRailData.ts +421 -421
- package/app/composables/workshop/town/useTownSceneControl.ts +92 -92
- package/app/composables/workshop/town/useTownSceneInput.ts +275 -275
- package/app/composables/workshop/town/useTownSceneRuntime.ts +390 -390
- package/app/composables/workshop/town/useTownSheets.ts +41 -41
- package/app/composables/workshop/town/useTownTrends.ts +93 -93
- package/app/composables/workshop/useChannelList.ts +88 -88
- package/app/composables/workshop/useChannelTerminals.ts +65 -65
- package/app/composables/workshop/useComposerMentions.ts +130 -130
- package/app/composables/workshop/useDcwStream.ts +374 -374
- package/app/composables/workshop/useDeviceTwinDcwWrite.ts +77 -77
- package/app/composables/workshop/useDeviceTwinPanel.ts +56 -56
- package/app/composables/workshop/useEscClose.ts +44 -44
- package/app/composables/workshop/useEventBlockView.ts +159 -159
- package/app/composables/workshop/useEventBlocks.ts +33 -33
- package/app/composables/workshop/useHitlAnswer.ts +184 -184
- package/app/composables/workshop/useLaneWidths.ts +27 -27
- package/app/composables/workshop/useOmpTerminalSession.ts +424 -424
- package/app/composables/workshop/usePluginAdmin.ts +152 -152
- package/app/composables/workshop/usePluginPanels.ts +72 -72
- package/app/composables/workshop/useRuntimeConfigDraft.ts +118 -118
- package/app/composables/workshop/useSettingsGroups.ts +243 -243
- package/app/composables/workshop/useTaskBoardColumns.ts +47 -47
- package/app/composables/workshop/useTerminalRenderer.ts +308 -308
- package/app/composables/workshop/useTranscriptEnterStage.ts +48 -48
- package/app/composables/workshop/useTranscriptHistory.ts +52 -52
- package/app/composables/workshop/useTranscriptScroll.ts +113 -113
- package/app/composables/workshop/useVisibleInterval.ts +42 -42
- package/app/composables/workshop/useWorkshopWs.ts +265 -265
- package/app/config/index.ts +1 -1
- package/app/middleware/locale-cookie.global.ts +22 -22
- package/app/pages/aml/api.ts +6 -6
- package/app/pages/aml/composables/useAmlDatasets.ts +38 -38
- package/app/pages/aml/composables/useAmlEntities.ts +57 -57
- package/app/pages/aml/composables/useAmlEnv.ts +191 -191
- package/app/pages/aml/composables/useAmlExperiments.ts +45 -45
- package/app/pages/aml/composables/useAmlFormat.ts +44 -44
- package/app/pages/aml/composables/useAmlJobs.ts +131 -131
- package/app/pages/aml/composables/useAmlModels.ts +56 -56
- package/app/pages/aml/composables/useAmlNotes.ts +47 -47
- package/app/pages/aml/composables/useAmlPredict.ts +93 -93
- package/app/pages/aml/constants.ts +63 -63
- package/app/pages/aml/index.vue +236 -236
- package/app/pages/composables/useDashboardCharts.ts +192 -192
- package/app/pages/composables/useDashboardData.ts +144 -144
- package/app/pages/daq/composables/useDaqAddNode.ts +126 -126
- package/app/pages/daq/composables/useDaqDetailBinding.ts +29 -29
- package/app/pages/daq/composables/useDaqDetailFrames.ts +42 -42
- package/app/pages/daq/composables/useDaqDetailNode.ts +53 -53
- package/app/pages/daq/composables/useDaqDetailParams.ts +138 -138
- package/app/pages/daq/composables/useDaqFilters.ts +187 -187
- package/app/pages/daq/composables/useDaqNodeWindow.ts +86 -86
- package/app/pages/daq/composables/useDaqOptimizations.ts +99 -99
- package/app/pages/daq/composables/useDaqTemplates.ts +152 -152
- package/app/pages/daq/index.vue +260 -260
- package/app/pages/dcw/composables/useDcwCards.ts +27 -27
- package/app/pages/dcw/composables/useDcwDetailScope.ts +145 -145
- package/app/pages/dcw/composables/useDcwDetailTemplates.ts +94 -94
- package/app/pages/dcw/composables/useDcwFilter.ts +29 -29
- package/app/pages/dcw/composables/useDcwLedger.ts +34 -34
- package/app/pages/dcw/composables/useDcwLineMutations.ts +115 -115
- package/app/pages/dcw/composables/useDcwLineRun.ts +60 -60
- package/app/pages/dcw/composables/useDcwProducts.ts +54 -54
- package/app/pages/dcw/composables/useDcwQuery.ts +68 -68
- package/app/pages/dcw/composables/useDcwQuickActions.ts +47 -47
- package/app/pages/dcw/composables/useDcwRecipes.ts +256 -256
- package/app/pages/dcw/composables/useDcwTemplates.ts +50 -50
- package/app/pages/dcw/index.vue +195 -195
- package/app/pages/dcw/types.ts +9 -9
- package/app/pages/index.vue +126 -126
- package/app/pages/logs/composables/useLogsFormat.ts +43 -43
- package/app/pages/logs/composables/useLogsScope.ts +39 -39
- package/app/pages/monitor/types.ts +61 -61
- package/app/pages/ontology/index.vue +1 -1
- package/app/pages/operations.vue +61 -61
- package/app/pages/permissions/index.vue +369 -369
- package/app/pages/studio/pipeline.vue +812 -0
- package/app/pages/tokens/composables/useTokenClipboard.ts +33 -33
- package/app/pages/tokens/composables/useTokenCreate.ts +93 -93
- package/app/pages/tokens/composables/useTokenRename.ts +54 -54
- package/app/pages/tokens/composables/useTokenReveal.ts +84 -84
- package/app/pages/tokens/composables/useTokensList.ts +60 -60
- package/app/pages/tokens.vue +111 -111
- package/app/pages/tools/index.vue +98 -98
- package/app/pages/workshop/agents.vue +130 -130
- package/app/pages/workshop/composables/useAgentHarnessOptions.ts +59 -59
- package/app/pages/workshop/composables/useAgentTemplateActions.ts +42 -42
- package/app/pages/workshop/composables/useAgentTemplateDialogState.ts +24 -24
- package/app/pages/workshop/composables/useAgentTemplateForm.ts +88 -88
- package/app/pages/workshop/composables/useAgentTemplatesCatalog.ts +92 -92
- package/app/pages/workshop/composables/useTeamActions.ts +44 -44
- package/app/pages/workshop/composables/useTeamAddMemberDialog.ts +49 -49
- package/app/pages/workshop/composables/useTeamCreateDialog.ts +67 -67
- package/app/pages/workshop/composables/useTeamDeployDialog.ts +49 -49
- package/app/pages/workshop/composables/useTeamDialogState.ts +46 -46
- package/app/pages/workshop/composables/useTeamPluginDialog.ts +72 -72
- package/app/pages/workshop/composables/useTeamsCatalog.ts +100 -100
- package/app/pages/workshop/composables/useWorkbenchWorkspaces.ts +123 -123
- package/app/pages/workshop/composables/useWorkspaceAuth.ts +31 -31
- package/app/pages/workshop/composables/useWorkspaceChannels.ts +62 -62
- package/app/pages/workshop/composables/useWorkspaceShell.ts +136 -136
- package/app/pages/workshop/schedules.vue +553 -553
- package/app/pages/workshop/w/[wsId].vue +221 -221
- package/app/plugins/aw-plugins.client.ts +213 -213
- package/app/plugins/esc-close.client.ts +31 -31
- package/app/stores/workshop/hitl.ts +183 -183
- package/app/stores/workshop/narrow-fetch.ts +23 -23
- package/app/utils/api-error.ts +75 -75
- package/app/utils/builtin-catalog.ts +104 -104
- package/app/utils/chart-pipeline.ts +193 -0
- package/app/utils/chart-trend.ts +97 -97
- package/app/utils/dcw-driver-badge.ts +16 -16
- package/app/utils/dcw-recipe-form.ts +26 -26
- package/cli/commands/tui.mjs +28 -28
- package/cli/commands/update.mjs +124 -124
- package/cli/core/child-lifecycle.mjs +136 -136
- package/cli/core/meta.mjs +38 -38
- package/cli/core/post-build.mjs +96 -96
- package/config.yml +1 -1
- package/docs/cli.en.md +2 -2
- package/docs/cli.md +2 -2
- package/docs/mcp.en.md +27 -27
- package/docs/multi-harness-architecture.md +248 -248
- package/docs/plugins.en.md +1 -1
- package/docs/plugins.md +1 -1
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/docs/tui.md +43 -43
- package/i18n/dicts/_en.json +1551 -1551
- package/i18n/dicts/_en2.json +300 -300
- package/i18n/dicts/_en4.json +114 -114
- package/i18n/dicts/agentLanesView.json +61 -61
- package/i18n/dicts/appHeader.json +17 -17
- package/i18n/dicts/channelSessionList.json +51 -51
- package/i18n/dicts/chat.json +79 -79
- package/i18n/dicts/clusterTool.json +4 -4
- package/i18n/dicts/composer.json +38 -38
- package/i18n/dicts/ctpl.json +37 -37
- package/i18n/dicts/dcwDetail.json +219 -219
- package/i18n/dicts/lineOps.json +14 -14
- package/i18n/dicts/multiChannelView.json +13 -13
- package/i18n/dicts/notifications.json +13 -13
- package/i18n/dicts/taskInspectorDrawer.json +25 -25
- package/i18n/dicts/teamPlugins.json +10 -10
- package/i18n/dicts/townView.json +209 -209
- package/i18n/locales/en.ts +46 -0
- package/i18n/locales/zh-CN.ts +46 -0
- package/mcp/discovery.mjs +227 -227
- package/package.json +1 -1
- package/public/favicon.svg +14 -14
- package/public/robots.txt +3 -3
- package/scripts/_audit/audit-harness-adapters.md +664 -664
- package/scripts/_audit/aw-mcp-live-e2e.mjs +293 -293
- package/scripts/_audit/bump-version.mjs +51 -51
- package/scripts/_audit/detached-instance.mjs +112 -112
- package/scripts/_audit/detached-start.mjs +103 -103
- package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -212
- package/scripts/_audit/guard-upstream-liveness.mjs +104 -104
- package/scripts/_audit/http-api-authz-audit.md +657 -657
- package/scripts/_audit/kb-team-mock-e2e.mjs +146 -146
- package/scripts/_audit/kb-team-omp-e2e.mjs +229 -229
- package/scripts/_audit/run.mjs +21 -21
- package/scripts/_audit/runtime-audit.md +716 -716
- package/scripts/_audit/skills-guided-e2e.mjs +316 -316
- package/scripts/_audit/stability-soak.mjs +252 -252
- package/scripts/_audit/stubs/nuxt-imports.mjs +67 -67
- package/scripts/_audit/ts-register-hook.mjs +12 -12
- package/scripts/_audit/ts-resolve-hook.mjs +96 -96
- package/scripts/_aw-packaged-start.cjs +22 -22
- package/scripts/_aw0746-stage12.mjs +94 -94
- package/scripts/_aw0746-stage34.mjs +136 -136
- package/scripts/_aw0746-stage6b-train-sweep.mjs +145 -145
- package/scripts/_aw0746-stage6c-jobsmoke.mjs +69 -69
- package/scripts/_dbg-configroot-audit.mjs +86 -86
- package/scripts/_dbg-daq-intervals-func.mjs +115 -115
- package/scripts/_dbg-perms-e2e.mjs +142 -142
- package/scripts/_dbg-protocol-matrix.mjs +462 -462
- package/scripts/_dbg-render-regression.mjs +193 -193
- package/scripts/_dbg-schedule-e2e.mjs +262 -262
- package/scripts/_e2e-ui-functional.mjs +371 -371
- package/scripts/_i18n-en-cjk-scan.mjs +28 -28
- package/scripts/_i18n-en-verify.mjs +107 -107
- package/scripts/_i18n-extra-checks.mjs +53 -53
- package/scripts/_i18n-scan-hardcoded.mjs +180 -180
- package/scripts/_lib-aml-python-run.mjs +17 -17
- package/scripts/_lint-reflow.mjs +105 -105
- package/scripts/_loop-biax-campaign.mjs +130 -130
- package/scripts/_plc-sim-detached.cjs +22 -22
- package/scripts/_probe-daq-omp-task.mjs +100 -100
- package/scripts/_probe-daq-scope-default.mjs +123 -123
- package/scripts/_probe-model-channel-link.cjs +25 -25
- package/scripts/_probe-recipe-switch.mjs +92 -92
- package/scripts/_provision-injection-line.mjs +39 -39
- package/scripts/_run-matrix.ps1 +53 -53
- package/scripts/_sweep-button-contrast.mjs +87 -87
- package/scripts/acceptance-aml-hybrid-e2e.ts +396 -396
- package/scripts/acceptance-aml-hybrid-live.mjs +93 -93
- package/scripts/acceptance-aml-model-identity.ts +137 -137
- package/scripts/agent-daq-isolation-e2e.mjs +91 -91
- package/scripts/api-contract-smoke.mjs +126 -126
- package/scripts/ask-hitl-e2e.mjs +96 -96
- package/scripts/aw-expose.mjs +159 -159
- package/scripts/channel-interaction-smoke.mjs +80 -80
- package/scripts/check-docs-sync.mjs +1 -1
- package/scripts/data-studio-ui-e2e.mjs +163 -163
- package/scripts/demo-group-chat-all-real.ts +279 -279
- package/scripts/demo-group-chat-omp-cases.ts +210 -210
- package/scripts/demo-group-chat-omp.ts +184 -184
- package/scripts/demo-group-chat-order.ts +197 -197
- package/scripts/dev-modbus-simulator.mjs +55 -55
- package/scripts/docs-shots.mjs +36 -36
- package/scripts/e2e-agentteam-chat.mjs +473 -473
- package/scripts/e2e-agentteam-real-triage.mjs +421 -421
- package/scripts/e2e-aml-decoupled.mjs +162 -162
- package/scripts/e2e-aw-tui-global.mjs +277 -277
- package/scripts/e2e-closedloop/cleanup.mjs +27 -27
- package/scripts/e2e-closedloop/lib.mjs +109 -109
- package/scripts/e2e-closedloop/main.mjs +59 -59
- package/scripts/e2e-closedloop/scenarios-accounts.mjs +210 -210
- package/scripts/e2e-closedloop/scenarios-authz.mjs +196 -196
- package/scripts/e2e-closedloop/scenarios-daq-dcw.mjs +222 -222
- package/scripts/e2e-closedloop/scenarios-plugins.mjs +169 -169
- package/scripts/e2e-closedloop/state.mjs +10 -10
- package/scripts/e2e-config-groups.mjs +238 -238
- package/scripts/e2e-crash-cycle.mjs +108 -108
- package/scripts/e2e-eda-pipeline.mjs +286 -0
- package/scripts/e2e-full-closedloop.mjs +16 -16
- package/scripts/e2e-hil-multi-user.mjs +307 -307
- package/scripts/e2e-hil-restart.mjs +339 -339
- package/scripts/e2e-injection-recipe-closedloop.mjs +203 -203
- package/scripts/e2e-line-governance.mjs +352 -352
- package/scripts/e2e-ontology.mjs +393 -393
- package/scripts/e2e-plc-plugin-closedloop.mjs +549 -549
- package/scripts/e2e-resume-crash.mjs +20 -6
- package/scripts/e2e-timezone-settings.mjs +59 -57
- package/scripts/full-stack-shots.mjs +145 -145
- package/scripts/full-tool-injection-harness-e2e.mjs +214 -214
- package/scripts/hitl-reject-e2e.mjs +131 -131
- package/scripts/line-log-smoke.mjs +260 -260
- package/scripts/live-aml-mockomp.mjs +304 -304
- package/scripts/live-aml-optloop-resume.mjs +322 -322
- package/scripts/live-aml-optloop.mjs +588 -588
- package/scripts/live-aml-stage9.mjs +169 -169
- package/scripts/live-aml-two-goals.mjs +315 -315
- package/scripts/live-optloop-two-modes.mjs +857 -857
- package/scripts/mes-agent-integration-e2e.mjs +361 -361
- package/scripts/ops-plugins-e2e.mjs +85 -85
- package/scripts/proof-omp-real.ts +189 -189
- package/scripts/scenario-suite-setup.mjs +337 -337
- package/scripts/scenario-suite-stability.mjs +144 -144
- package/scripts/smoke-optimization-verify.ts +72 -72
- package/scripts/team-coordination-e2e.mjs +96 -96
- package/scripts/test-agentteam-task-chat-flow.ts +420 -420
- package/scripts/test-agentteam-workflow.ts +472 -472
- package/scripts/test-aw-skills.mjs +102 -102
- package/scripts/test-cli-exit.mjs +343 -343
- package/scripts/test-daq-frame-race.mjs +358 -358
- package/scripts/test-data-root.mjs +208 -208
- package/scripts/test-events-index.mjs +176 -176
- package/scripts/test-group-chat-hardening.ts +265 -265
- package/scripts/test-group-chat-unit/lib.ts +186 -186
- package/scripts/test-group-chat-unit/main.ts +45 -45
- package/scripts/test-group-chat-unit/section-a-migration.ts +75 -75
- package/scripts/test-group-chat-unit/section-b-permission-matrix.ts +88 -88
- package/scripts/test-group-chat-unit/section-c-member-lifecycle.ts +64 -64
- package/scripts/test-group-chat-unit/section-d-mention-resolution.ts +36 -36
- package/scripts/test-group-chat-unit/section-e-chat-facts.ts +97 -97
- package/scripts/test-group-chat-unit/section-f-user-notifications.ts +52 -52
- package/scripts/test-group-chat-unit/section-g-member-projection.ts +44 -44
- package/scripts/test-group-chat-unit/section-h-outbox-consistency.ts +30 -30
- package/scripts/test-group-chat-unit/section-i-read-idempotency.ts +24 -24
- package/scripts/test-group-chat-unit/section-j-permission-scope.ts +150 -150
- package/scripts/test-group-chat-unit.ts +35 -35
- package/scripts/test-hitl-decision.ts +526 -526
- package/scripts/test-hitl-legacy-channel-auth.ts +143 -143
- package/scripts/test-hitl-registry.ts +112 -112
- package/scripts/test-log-flooding.mjs +160 -160
- package/scripts/test-lru.mjs +101 -101
- package/scripts/test-memory-month-query.mjs +70 -70
- package/scripts/test-plugin-hardening.mjs +90 -90
- package/scripts/test-plugin-lifecycle.mjs +173 -173
- package/scripts/test-rollback-index.mjs +137 -137
- package/scripts/test-schedule-runtime.ts +309 -309
- package/scripts/test-scheduler-loop/scenarios-supervise.ts +25 -25
- package/scripts/test-sdk-surface.mjs +158 -158
- package/scripts/test-serial-bridge.mjs +418 -418
- package/scripts/test-tui-commands.mjs +148 -148
- package/scripts/test-tui-reducers.mjs +72 -72
- package/scripts/three-system-e2e/lib.mjs +79 -79
- package/scripts/three-system-e2e/main.mjs +40 -40
- package/scripts/three-system-e2e/phases/phase-0-user-token.mjs +42 -42
- package/scripts/three-system-e2e/phases/phase-0a2-line-autoselect.mjs +35 -35
- package/scripts/three-system-e2e/phases/phase-0b-fixture-grants.mjs +39 -39
- package/scripts/three-system-e2e/phases/phase-0c-plugin-outbound-auth.mjs +95 -95
- package/scripts/three-system-e2e/phases/stage-1-health.mjs +47 -47
- package/scripts/three-system-e2e/phases/stage-2-5-team-plugins.mjs +84 -84
- package/scripts/three-system-e2e/phases/stage-2-teams-tools-hitl.mjs +184 -184
- package/scripts/three-system-e2e/phases/stage-3-diag.mjs +73 -73
- package/scripts/three-system-e2e/phases/stage-4-plugin-toggle.mjs +53 -53
- package/scripts/three-system-e2e/state.mjs +87 -87
- package/scripts/three-system-e2e.mjs +40 -40
- package/scripts/tool-face-batch-identity-e2e.mjs +222 -222
- package/scripts/tsconfig.json +14 -14
- package/scripts/tui-smoke.mjs +100 -100
- package/scripts/typecheck.mjs +75 -75
- package/scripts/ui/admin-shots.mjs +46 -46
- package/scripts/ui/bump-microfont.mjs +39 -39
- package/scripts/ui/linkcheck2.mjs +37 -37
- package/scripts/ui/live-render-check.mjs +72 -72
- package/scripts/ui/md-lint.mjs +80 -80
- package/scripts/ui/perf-audit.mjs +132 -132
- package/scripts/ui/readme-assets.mjs +30 -30
- package/scripts/ui/readme-shots.mjs +42 -42
- package/scripts/ui/record-demo.mjs +557 -557
- package/scripts/ui/record.mjs +225 -225
- package/scripts/ui/seed-admin.mjs +68 -68
- package/scripts/ui/seed-demo.mjs +83 -83
- package/scripts/ui/seed-industrial-demo.mjs +171 -171
- package/scripts/ui/shot-hero.mjs +25 -25
- package/scripts/ui/shots.mjs +75 -75
- package/scripts/ui/sim-ui-shot.mjs +16 -16
- package/scripts/ui/smoke-refactor.mjs +258 -258
- package/scripts/ui/verify-nav.mjs +51 -51
- package/scripts/ui/verify-responsive.mjs +285 -285
- package/sdk/client.d.mts +110 -110
- package/sdk/examples/line-sentinel/index.mjs +105 -105
- package/sdk/examples/ops-notifier/index.mjs +34 -34
- package/sdk/examples/sample-insight/index.mjs +39 -39
- package/server/api/plugins/client/[name].get.ts +18 -18
- package/server/api/plugins/i18n.get.ts +12 -12
- package/server/api/plugins/manifest.get.ts +10 -10
- package/server/api/system/backup/list.get.ts +32 -32
- package/server/api/system/backup/run.post.ts +21 -21
- package/server/api/system/config-groups/[id].delete.ts +21 -21
- package/server/api/system/config-groups/[id].patch.ts +26 -26
- package/server/api/system/config-groups/index.get.ts +21 -21
- package/server/api/system/config-groups/index.post.ts +33 -33
- package/server/api/system/timezone.get.ts +20 -20
- package/server/api/users/tokens/[id]/token.get.ts +11 -11
- package/server/api/workshop/[...path].ts +13 -13
- package/server/api/workshop/agent-tools/approvals/index.get.ts +43 -43
- package/server/api/workshop/agent-tools/bindings/[id].delete.ts +26 -26
- package/server/api/workshop/agent-tools/bindings/grant.post.ts +45 -45
- package/server/api/workshop/agent-tools/bindings/index.get.ts +41 -41
- package/server/api/workshop/agent-tools/bindings/revoke.post.ts +42 -42
- package/server/api/workshop/aml/datasets/[id]/preview.get.ts +68 -68
- package/server/api/workshop/aml/datasets/[id].delete.ts +39 -39
- package/server/api/workshop/aml/datasets/[id].get.ts +53 -53
- package/server/api/workshop/aml/datasets/[id].patch.ts +30 -30
- package/server/api/workshop/aml/datasets/index.get.ts +20 -20
- package/server/api/workshop/aml/datasets/index.post.ts +27 -27
- package/server/api/workshop/aml/entities/index.get.ts +13 -13
- package/server/api/workshop/aml/entities/prune.post.ts +28 -28
- package/server/api/workshop/aml/env/index.get.ts +13 -13
- package/server/api/workshop/aml/env/recheck.post.ts +14 -14
- package/server/api/workshop/aml/env/uv.post.ts +21 -21
- package/server/api/workshop/aml/env/venv.post.ts +24 -24
- package/server/api/workshop/aml/experiments/index.get.ts +35 -35
- package/server/api/workshop/aml/index.get.ts +37 -37
- package/server/api/workshop/aml/jobs/[id]/cancel.post.ts +21 -21
- package/server/api/workshop/aml/jobs/[id]/logs.get.ts +23 -23
- package/server/api/workshop/aml/jobs/[id]/retry.post.ts +20 -20
- package/server/api/workshop/aml/jobs/[id].delete.ts +44 -44
- package/server/api/workshop/aml/jobs/[id].get.ts +23 -23
- package/server/api/workshop/aml/jobs/index.get.ts +26 -26
- package/server/api/workshop/aml/models/[id]/predict.post.ts +24 -24
- package/server/api/workshop/aml/models/[id]/promote.post.ts +30 -30
- package/server/api/workshop/aml/models/index.get.ts +48 -48
- package/server/api/workshop/aml/training-plans/[id]/train.post.ts +18 -18
- package/server/api/workshop/aml/training-plans/[id].delete.ts +18 -18
- package/server/api/workshop/aml/training-plans/[id].patch.ts +30 -30
- package/server/api/workshop/aml/training-plans/index.get.ts +9 -9
- package/server/api/workshop/aml/training-plans/index.post.ts +43 -43
- package/server/api/workshop/analysis/index.post.ts +54 -0
- package/server/api/workshop/approvals/[id]/decide.post.ts +30 -30
- package/server/api/workshop/approvals/index.get.ts +22 -22
- package/server/api/workshop/audit.get.ts +43 -43
- package/server/api/workshop/channels/[id]/chat/messages/[messageId]/read.post.ts +22 -22
- package/server/api/workshop/channels/[id]/chat/messages/index.get.ts +29 -29
- package/server/api/workshop/channels/[id]/chat/messages/index.post.ts +51 -51
- package/server/api/workshop/channels/[id]/chat/permissions.get.ts +35 -35
- package/server/api/workshop/channels/[id]/index.patch.ts +64 -64
- package/server/api/workshop/channels/[id]/members/[userId]/approve.post.ts +20 -20
- package/server/api/workshop/channels/[id]/members/[userId].delete.ts +21 -21
- package/server/api/workshop/channels/[id]/members/index.get.ts +23 -23
- package/server/api/workshop/channels/[id]/members/leave.post.ts +20 -20
- package/server/api/workshop/channels/[id]/twin-profile.get.ts +45 -45
- package/server/api/workshop/channels/[id]/twin-profile.patch.ts +72 -72
- package/server/api/workshop/daq/[id]/test.post.ts +1 -1
- package/server/api/workshop/daq/alarms.get.ts +16 -16
- package/server/api/workshop/dcw/[id]/write.post.ts +4 -4
- package/server/api/workshop/dcw/[id].delete.ts +41 -41
- package/server/api/workshop/dcw/[id].patch.ts +40 -40
- package/server/api/workshop/dcw/mes-test-read.post.ts +24 -24
- package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -17
- package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -21
- package/server/api/workshop/dcw/params/[id].delete.ts +19 -19
- package/server/api/workshop/dcw/params/[id].patch.ts +23 -23
- package/server/api/workshop/dcw/params/index.get.ts +27 -27
- package/server/api/workshop/dcw/params/index.post.ts +25 -25
- package/server/api/workshop/dcw/products/[id].delete.ts +16 -16
- package/server/api/workshop/dcw/products/[id].patch.ts +17 -17
- package/server/api/workshop/dcw/recipes/[id]/index.patch.ts +22 -22
- package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -14
- package/server/api/workshop/dcw/recipes/[id].delete.ts +25 -25
- package/server/api/workshop/dcw/recipes/index.get.ts +12 -12
- package/server/api/workshop/dcw/runs/[id]/close.post.ts +15 -15
- package/server/api/workshop/dcw/templates/[key].delete.ts +14 -14
- package/server/api/workshop/dcw/templates/[key].patch.ts +16 -16
- package/server/api/workshop/dcw/templates/index.post.ts +15 -15
- package/server/api/workshop/dcw/test-driver.post.ts +16 -16
- package/server/api/workshop/device-twins/[id].delete.ts +25 -25
- package/server/api/workshop/eda/runs/[id]/labels.patch.ts +25 -25
- package/server/api/workshop/eda/templates/[id].delete.ts +14 -0
- package/server/api/workshop/eda/templates/[id].get.ts +15 -0
- package/server/api/workshop/eda/templates/[id].patch.ts +20 -0
- package/server/api/workshop/eda/templates/index.get.ts +11 -0
- package/server/api/workshop/eda/templates/index.post.ts +20 -0
- package/server/api/workshop/exp/confirmations/[id]/decide.post.ts +41 -41
- package/server/api/workshop/exp/confirmations/index.get.ts +25 -25
- package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -16
- package/server/api/workshop/hitl/respond.post.ts +94 -94
- package/server/api/workshop/notifications/index.get.ts +60 -60
- package/server/api/workshop/notifications/read.post.ts +31 -31
- package/server/api/workshop/ontology/drafts/[draftId]/subgraph.ts +24 -24
- package/server/api/workshop/plugins/[name]/disable.post.ts +21 -21
- package/server/api/workshop/plugins/[name]/enable.post.ts +21 -21
- package/server/api/workshop/plugins/[name]/index.get.ts +14 -14
- package/server/api/workshop/schedules/[id]/run.post.ts +15 -15
- package/server/api/workshop/schedules/[id]/runs.get.ts +15 -15
- package/server/api/workshop/schedules/[id].delete.ts +14 -14
- package/server/api/workshop/schedules/[id].get.ts +13 -13
- package/server/api/workshop/schedules/[id].patch.ts +29 -29
- package/server/api/workshop/schedules/index.get.ts +12 -12
- package/server/api/workshop/schedules/index.post.ts +32 -32
- package/server/api/workshop/tasks/[id]/reassign.post.ts +32 -32
- package/server/api/workshop/tasks/[id]/update.post.ts +35 -35
- package/server/api/workshop/teams/[id]/plugins/index.get.ts +36 -36
- package/server/api/workshop/teams/[id]/plugins/index.put.ts +42 -42
- package/server/api/workshop/ws/audience.ts +56 -56
- package/server/api/workshop/ws/db-buffer.ts +68 -68
- package/server/api/workshop/ws/event-mapping.ts +47 -47
- package/server/api/workshop/ws/handlers.ts +132 -132
- package/server/api/workshop/ws/hub.ts +133 -133
- package/server/api/workshop/ws/index.ts +23 -23
- package/server/api/workshop/ws/notification-uplink.ts +77 -77
- package/server/api/workshop/ws/shared.ts +94 -94
- package/server/api/workshop/ws/streams.ts +146 -146
- package/server/middleware/00-security-headers.ts +38 -38
- package/server/middleware/01-rate-guard.ts +101 -101
- package/server/plugins/aml-twin-worker.ts +32 -32
- package/server/plugins/dev-stability-guard.ts +42 -42
- package/server/plugins-builtin/diag-bridge/host/constants.mjs +25 -25
- package/server/plugins-builtin/diag-bridge/host/exports.mjs +104 -104
- package/server/plugins-builtin/diag-bridge/host/helpers.mjs +2 -2
- package/server/plugins-builtin/diag-bridge/host/index.mjs +15 -15
- package/server/plugins-builtin/diag-bridge/host/intents.mjs +62 -62
- package/server/plugins-builtin/diag-bridge/host/plugin.mjs +5 -3
- package/server/plugins-builtin/diag-bridge/host/snapshot.mjs +93 -93
- package/server/plugins-builtin/diag-bridge/index.mjs +9 -9
- package/server/plugins-builtin/serial-bridge/client.mjs +211 -211
- package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -409
- package/server/plugins-builtin/serial-bridge/i18n.json +62 -62
- package/server/plugins-builtin/serial-bridge/index.mjs +247 -247
- package/server/plugins-builtin/serial-bridge/lib.mjs +208 -208
- package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -168
- package/server/services/system-config/contracts.ts +29 -29
- package/server/services/system-config/dispose.ts +19 -19
- package/server/services/system-config/facade.ts +26 -26
- package/server/services/system-config/groups.ts +108 -108
- package/server/services/system-config/index.ts +21 -21
- package/server/services/system-config/init.ts +26 -26
- package/server/services/system-config/mutate.ts +103 -103
- package/server/services/system-config/plugins.ts +104 -104
- package/server/services/system-config/snapshot.ts +59 -59
- package/server/services/system-config/state.ts +79 -79
- package/server/services/system-config/types.ts +58 -58
- package/server/services/workshop/agents/adapters/omp-rpc-client/api.ts +111 -111
- package/server/services/workshop/agents/adapters/omp-rpc-client/contracts.ts +22 -22
- package/server/services/workshop/agents/adapters/omp-rpc-client/facade.ts +7 -7
- package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +0 -18
- package/server/services/workshop/agents/adapters/omp-rpc-client/helpers.ts +38 -38
- package/server/services/workshop/agents/adapters/omp-rpc-client/index.ts +25 -25
- package/server/services/workshop/agents/adapters/omp-rpc-client/start.ts +70 -70
- package/server/services/workshop/agents/adapters/omp-rpc-client/state.ts +65 -65
- package/server/services/workshop/agents/adapters/omp-rpc-client/stdout.ts +92 -92
- package/server/services/workshop/agents/adapters/omp-rpc-client/usage.ts +47 -47
- package/server/services/workshop/agents/agent-badge.ts +38 -38
- package/server/services/workshop/agents/binding-authz.ts +60 -60
- package/server/services/workshop/agents/binding-mode.ts +51 -51
- package/server/services/workshop/agents/codex-agent/client.ts +170 -170
- package/server/services/workshop/agents/codex-agent/core.ts +119 -119
- package/server/services/workshop/agents/codex-agent/facade.ts +8 -8
- package/server/services/workshop/agents/codex-agent/helpers.ts +13 -13
- package/server/services/workshop/agents/codex-agent/hitl.ts +138 -138
- package/server/services/workshop/agents/codex-agent/index.ts +14 -14
- package/server/services/workshop/agents/codex-agent/turn.ts +367 -367
- package/server/services/workshop/agents/codex-agent/types.ts +42 -42
- package/server/services/workshop/agents/harness-process.ts +3 -3
- package/server/services/workshop/agents/harness-terminal/api.ts +197 -197
- package/server/services/workshop/agents/harness-terminal/index.ts +17 -17
- package/server/services/workshop/agents/harness-terminal/io.ts +120 -120
- package/server/services/workshop/agents/harness-terminal/park.ts +55 -55
- package/server/services/workshop/agents/harness-terminal/sanitize.ts +98 -98
- package/server/services/workshop/agents/harness-terminal/session.ts +124 -124
- package/server/services/workshop/agents/harness-terminal/shared.ts +74 -74
- package/server/services/workshop/agents/hitl-capabilities.ts +312 -312
- package/server/services/workshop/agents/hitl-decision/answers.ts +32 -32
- package/server/services/workshop/agents/hitl-decision/decide.ts +268 -268
- package/server/services/workshop/agents/hitl-decision/payload.ts +45 -45
- package/server/services/workshop/agents/hitl-decision/shared.ts +108 -108
- package/server/services/workshop/agents/hitl-decision/visibility.ts +94 -94
- package/server/services/workshop/agents/host-tool-bridge/tools/progress.ts +84 -84
- package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +104 -104
- package/server/services/workshop/agents/host-tool-bridge/tools/team.ts +70 -70
- package/server/services/workshop/agents/industrial/aml-activity.ts +131 -131
- package/server/services/workshop/agents/industrial/audit-query.ts +66 -66
- package/server/services/workshop/agents/industrial/daq-tools.ts +352 -352
- package/server/services/workshop/agents/industrial/exp-tools.ts +104 -104
- package/server/services/workshop/agents/industrial/ops-tools.ts +16 -54
- package/server/services/workshop/agents/industrial/param-tools.ts +69 -69
- package/server/services/workshop/agents/industrial/recipe-gate.ts +6 -19
- package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +1 -1
- package/server/services/workshop/agents/node-bindings.repo.ts +207 -207
- package/server/services/workshop/agents/node-delegation.ts +159 -159
- package/server/services/workshop/agents/omp-agent/core.ts +146 -146
- package/server/services/workshop/agents/omp-agent/facade.ts +8 -8
- package/server/services/workshop/agents/omp-agent/helpers.ts +37 -37
- package/server/services/workshop/agents/omp-agent/index.ts +16 -16
- package/server/services/workshop/agents/omp-agent/tools-steer.ts +1 -18
- package/server/services/workshop/agents/omp-agent/types.ts +45 -45
- package/server/services/workshop/agents/opencode-agent/core.ts +77 -77
- package/server/services/workshop/agents/opencode-agent/facade.ts +8 -8
- package/server/services/workshop/agents/opencode-agent/helpers.ts +29 -29
- package/server/services/workshop/agents/opencode-agent/hitl.ts +113 -113
- package/server/services/workshop/agents/opencode-agent/index.ts +16 -16
- package/server/services/workshop/agents/opencode-agent/lifecycle.ts +44 -44
- package/server/services/workshop/agents/opencode-agent/server.ts +244 -244
- package/server/services/workshop/agents/opencode-agent/turn.ts +278 -278
- package/server/services/workshop/agents/opencode-agent/types.ts +54 -54
- package/server/services/workshop/agents/tool-classes.ts +44 -44
- package/server/services/workshop/aml/clean.ts +120 -120
- package/server/services/workshop/aml/entity.ts +367 -367
- package/server/services/workshop/aml/job-orchestrator/broadcast.ts +37 -37
- package/server/services/workshop/aml/job-orchestrator/control.ts +94 -94
- package/server/services/workshop/aml/job-orchestrator/failure.ts +96 -96
- package/server/services/workshop/aml/job-orchestrator/index.ts +22 -22
- package/server/services/workshop/aml/job-orchestrator/process.ts +101 -101
- package/server/services/workshop/aml/job-orchestrator/shared.ts +53 -53
- package/server/services/workshop/aml/job-orchestrator/status.ts +20 -20
- package/server/services/workshop/aml/job-orchestrator/tick.ts +37 -37
- package/server/services/workshop/aml/python/train-example.py +92 -92
- package/server/services/workshop/aml/runtime.ts +137 -137
- package/server/services/workshop/aml/stats.ts +140 -140
- package/server/services/workshop/aml/twin/calibration-worker.ts +150 -150
- package/server/services/workshop/aml/twin/model-backed-provider.ts +332 -332
- package/server/services/workshop/aml/twin/physics-spec-draft.ts +185 -185
- package/server/services/workshop/aml/twin/prompt-composer.ts +143 -143
- package/server/services/workshop/aml/twin/training-plans.ts +260 -260
- package/server/services/workshop/aml/twin/write-guard.ts +19 -19
- package/server/services/workshop/assets/character-asset.repo.ts +1 -1
- package/server/services/workshop/assets/device-twin.repo.ts +1 -1
- package/server/services/workshop/daq/bus/index.ts +5 -12
- package/server/services/workshop/daq/daq-controller/contracts.ts +39 -39
- package/server/services/workshop/daq/daq-controller/facade.ts +28 -28
- package/server/services/workshop/daq/daq-controller/frames.ts +137 -137
- package/server/services/workshop/daq/daq-controller/helpers.ts +52 -52
- package/server/services/workshop/daq/daq-controller/index.ts +22 -22
- package/server/services/workshop/daq/daq-controller/runtime-control.ts +72 -72
- package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +176 -176
- package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +138 -138
- package/server/services/workshop/daq/drivers/http.ts +95 -95
- package/server/services/workshop/daq/drivers/mock.ts +130 -130
- package/server/services/workshop/daq/drivers/modbus-rtu.ts +67 -67
- package/server/services/workshop/daq/drivers/modbus-tcp.ts +307 -307
- package/server/services/workshop/daq/drivers/opcua.ts +227 -227
- package/server/services/workshop/daq/drivers/s7-stub.ts +29 -29
- package/server/services/workshop/daq/host-bindings.ts +71 -71
- package/server/services/workshop/daq/host-ports.ts +65 -65
- package/server/services/workshop/db/aml-team-seeds.ts +118 -118
- package/server/services/workshop/db/backup-registry.ts +33 -33
- package/server/services/workshop/db/channel-member.repo.ts +122 -122
- package/server/services/workshop/db/channel.repo.ts +203 -203
- package/server/services/workshop/db/chat-message.repo.ts +233 -233
- package/server/services/workshop/db/database/index.ts +18 -18
- package/server/services/workshop/db/database/json.ts +14 -14
- package/server/services/workshop/db/database/open.ts +97 -97
- package/server/services/workshop/db/database/seed-data.ts +60 -60
- package/server/services/workshop/db/hitl-request.repo.ts +221 -221
- package/server/services/workshop/db/notification.repo.ts +199 -199
- package/server/services/workshop/db/readonly.ts +30 -30
- package/server/services/workshop/db/scheduled-task.repo.ts +235 -235
- package/server/services/workshop/db/transaction.ts +72 -72
- package/server/services/workshop/dcw/dcw-controller/contracts.ts +16 -16
- package/server/services/workshop/dcw/dcw-controller/control.ts +78 -78
- package/server/services/workshop/dcw/dcw-controller/facade.ts +19 -19
- package/server/services/workshop/dcw/dcw-controller/index.ts +22 -22
- package/server/services/workshop/dcw/dcw-controller/params.ts +97 -97
- package/server/services/workshop/dcw/dcw-controller/products.ts +103 -103
- package/server/services/workshop/dcw/dcw-controller/write-audit.ts +49 -49
- package/server/services/workshop/dcw/dcw-templates.ts +136 -136
- package/server/services/workshop/dcw/param-conversion.ts +78 -78
- package/server/services/workshop/dcw/param-map.repo.ts +349 -349
- package/server/services/workshop/dcw/plugin-bridge.ts +45 -45
- package/server/services/workshop/dcw/recipe-rollback-manager/contracts.ts +26 -26
- package/server/services/workshop/dcw/recipe-rollback-manager/facade.ts +13 -13
- package/server/services/workshop/dcw/recipe-rollback-manager/helpers.ts +30 -30
- package/server/services/workshop/dcw/recipe-rollback-manager/index.ts +17 -17
- package/server/services/workshop/dcw/recipe-rollback-manager/internal.ts +33 -33
- package/server/services/workshop/dcw/recipe-rollback-manager/judge.ts +52 -52
- package/server/services/workshop/dcw/recipe-rollback-manager/lock.ts +137 -137
- package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +190 -190
- package/server/services/workshop/dcw/recipe-rollback-manager/state.ts +21 -21
- package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +77 -77
- package/server/services/workshop/dcw/recipe-rollback-manager/types.ts +3 -3
- package/server/services/workshop/dcw/recipe-rollback-manager/views.ts +214 -214
- package/server/services/workshop/eda/chart-repo.ts +1 -1
- package/server/services/workshop/eda/eda-db.ts +13 -0
- package/server/services/workshop/eda/template-repo.ts +101 -0
- package/server/services/workshop/exp/exp-collector.ts +275 -275
- package/server/services/workshop/exp/exp-state.repo.ts +339 -339
- package/server/services/workshop/mes/mes-controller.ts +1155 -1155
- package/server/services/workshop/mes/mes-hook.ts +567 -567
- package/server/services/workshop/ontology/subgraph.core.ts +300 -300
- package/server/services/workshop/ontology/subgraph.service.ts +113 -113
- package/server/services/workshop/plugins/host/api.mjs +90 -90
- package/server/services/workshop/plugins/host/config.mjs +135 -135
- package/server/services/workshop/plugins/host/index.mjs +23 -23
- package/server/services/workshop/plugins/host/init.mjs +109 -109
- package/server/services/workshop/plugins/host/load.mjs +321 -321
- package/server/services/workshop/plugins/host/reload.mjs +94 -94
- package/server/services/workshop/plugins/host/rollback.mjs +72 -72
- package/server/services/workshop/plugins/host/state.mjs +54 -54
- package/server/services/workshop/plugins/host/toggle.mjs +64 -64
- package/server/services/workshop/plugins/host.mjs +9 -9
- package/server/services/workshop/runtime/agent-runtime/facade.ts +7 -7
- package/server/services/workshop/runtime/agent-runtime/helpers.ts +18 -18
- package/server/services/workshop/runtime/agent-runtime/index.ts +19 -19
- package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +137 -137
- package/server/services/workshop/runtime/chat-mention.ts +164 -164
- package/server/services/workshop/runtime/chat-projection.ts +246 -246
- package/server/services/workshop/runtime/manager/admin-agents.ts +268 -268
- package/server/services/workshop/runtime/manager/bus.ts +182 -182
- package/server/services/workshop/runtime/manager/channel-template-constants.ts +20 -20
- package/server/services/workshop/runtime/manager/chat-reply.ts +181 -181
- package/server/services/workshop/runtime/manager/chat.ts +384 -384
- package/server/services/workshop/runtime/manager/facade.ts +24 -24
- package/server/services/workshop/runtime/manager/helpers.ts +119 -119
- package/server/services/workshop/runtime/manager/index.ts +42 -42
- package/server/services/workshop/runtime/manager/internal.ts +73 -73
- package/server/services/workshop/runtime/manager/notifications.ts +108 -108
- package/server/services/workshop/runtime/manager/teams.ts +148 -148
- package/server/services/workshop/runtime/memory/contracts.ts +18 -18
- package/server/services/workshop/runtime/memory/facade.ts +10 -10
- package/server/services/workshop/runtime/memory/helpers.ts +196 -196
- package/server/services/workshop/runtime/memory/index.ts +27 -27
- package/server/services/workshop/runtime/memory/score.ts +33 -33
- package/server/services/workshop/runtime/memory/state.ts +40 -40
- package/server/services/workshop/runtime/monitor.ts +3 -3
- package/server/services/workshop/runtime/platform-notice.ts +113 -113
- package/server/services/workshop/runtime/schedule-runtime.ts +347 -347
- package/server/services/workshop/runtime/scheduler-loop/contracts.ts +29 -29
- package/server/services/workshop/runtime/scheduler-loop/facade.ts +7 -7
- package/server/services/workshop/runtime/scheduler-loop/helpers.ts +14 -14
- package/server/services/workshop/runtime/scheduler-loop/index.ts +16 -16
- package/server/services/workshop/runtime/task-engine/facade.ts +7 -7
- package/server/services/workshop/runtime/task-engine/index.ts +15 -15
- package/server/services/workshop/runtime/task-engine/types.ts +3 -3
- package/server/services/workshop/runtime/user-notification-hub.ts +192 -192
- package/server/types/pg.d.ts +49 -49
- package/server/utils/approval-gate.ts +67 -67
- package/server/utils/mojibake-guard.ts +29 -29
- package/server/utils/stability-severity.ts +77 -77
- package/shared/config/groups.mjs +241 -241
- package/shared/dcw-protocol/catalog.ts +232 -232
- package/shared/dcw-protocol/closed-loop.ts +137 -137
- package/shared/lru.mjs +97 -97
- package/tui/README.md +74 -74
- package/tui/aw-tui.mjs +445 -445
- package/tui/commands/index.mjs +287 -287
- package/tui/components/chat-log.mjs +42 -42
- package/tui/components/monitor-pane.mjs +39 -39
- package/tui/components/root.mjs +53 -53
- package/tui/components/status-bar.mjs +33 -33
- package/tui/lib/api.mjs +82 -82
- package/tui/lib/pickers.mjs +121 -121
- package/tui/lib/reducers.mjs +218 -218
- package/tui/lib/state.mjs +86 -86
- package/tui/lib/virtual-terminal.mjs +48 -48
- package/tui/lib/ws.mjs +125 -125
- package/tui/theme.mjs +38 -38
- package/.output/.AgentWorkShop/aml-python/__pycache__/aml_eval.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/train-example.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
- package/.output/public/_nuxt/BRYBzVMJ.js +0 -1
- package/.output/public/_nuxt/BW2uTUx52.js +0 -2
- package/.output/public/_nuxt/BtZKe9ZV.js +0 -1
- package/.output/public/_nuxt/CfFUK6932.js +0 -2
- package/.output/public/_nuxt/D6FhDrYe2.js +0 -1
- package/.output/public/_nuxt/DF9ETYJ32.js +0 -1
- package/.output/public/_nuxt/DGu_fna7.js +0 -1
- package/.output/public/_nuxt/D_59BNP1.js +0 -14
- package/.output/public/_nuxt/DhW7cFOa.js +0 -1
- package/.output/public/_nuxt/Dz9C2pTa.js +0 -1
- package/.output/public/_nuxt/OmpTerminalPanel.ComMDrA8.css +0 -1
- package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +0 -1
- package/.output/public/_nuxt/TownView.CC3t-Dte.css +0 -1
- package/.output/public/_nuxt/YNhAoK-R2.js +0 -1
- package/.output/public/_nuxt/aml.PalMp-5n.css +0 -1
- package/.output/public/_nuxt/builds/meta/20934eea-96ab-412d-b0cd-0061716d8cc4.json +0 -1
- package/.output/public/_nuxt/ontology.B_3Wn907.css +0 -1
- package/.output/public/_nuxt/permissions.DxuOOIqQ.css +0 -1
- package/.output/public/_nuxt/schedules.BXNJ9q_I.css +0 -1
- package/.output/public/_nuxt/tools.BwXFAb-X.css +0 -1
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs +0 -716
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs.map +0 -1
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs +0 -72
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs.map +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs +0 -942
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs.map +0 -1
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs +0 -141
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs.map +0 -1
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs +0 -6489
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +0 -392
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +0 -2045
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +0 -1
- package/.output/server/chunks/build/_wsId_-BPy-Aj9L.mjs +0 -14297
- package/.output/server/chunks/build/_wsId_-BPy-Aj9L.mjs.map +0 -1
- package/.output/server/chunks/build/agents-CpNLdI8E.mjs +0 -1078
- package/.output/server/chunks/build/agents-CpNLdI8E.mjs.map +0 -1
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs +0 -263
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs.map +0 -1
- package/.output/server/chunks/build/aml-DRAFRcGU.mjs +0 -814
- package/.output/server/chunks/build/aml-DRAFRcGU.mjs.map +0 -1
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +0 -533
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +0 -1
- package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +0 -1
- package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +0 -1
- package/.output/server/chunks/build/api-BsAgXWxi.mjs.map +0 -1
- package/.output/server/chunks/build/api-error-BwAQLw44.mjs +0 -47
- package/.output/server/chunks/build/api-error-BwAQLw44.mjs.map +0 -1
- package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs +0 -81
- package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs.map +0 -1
- package/.output/server/chunks/build/board-Dl2Ar22r.mjs +0 -178
- package/.output/server/chunks/build/board-Dl2Ar22r.mjs.map +0 -1
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs +0 -953
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-ByHOQQkO.mjs +0 -942
- package/.output/server/chunks/build/channel-templates-ByHOQQkO.mjs.map +0 -1
- package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs +0 -439
- package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs.map +0 -1
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs +0 -43
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs.map +0 -1
- package/.output/server/chunks/build/core-CgTOPS4t.mjs +0 -294
- package/.output/server/chunks/build/core-CgTOPS4t.mjs.map +0 -1
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs +0 -1266
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +0 -1
- package/.output/server/chunks/build/data-D8uX1dnm.mjs +0 -481
- package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +0 -505
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +0 -1
- package/.output/server/chunks/build/default-CNWS6NUw.mjs +0 -2353
- package/.output/server/chunks/build/default-CNWS6NUw.mjs.map +0 -1
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs +0 -406
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs.map +0 -1
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs +0 -834
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-BNwTVGde.mjs +0 -14
- package/.output/server/chunks/build/dropdown-BNwTVGde.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs +0 -540
- package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs.map +0 -1
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +0 -1
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs +0 -2448
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs.map +0 -1
- package/.output/server/chunks/build/form-D_UpWPN4.mjs +0 -4712
- package/.output/server/chunks/build/form-D_UpWPN4.mjs.map +0 -1
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs +0 -553
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs.map +0 -1
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs +0 -132
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs.map +0 -1
- package/.output/server/chunks/build/input-GtPuSEgt.mjs +0 -2181
- package/.output/server/chunks/build/input-GtPuSEgt.mjs.map +0 -1
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +0 -1120
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs.map +0 -1
- package/.output/server/chunks/build/interval-DvHBIIZh.mjs +0 -9
- package/.output/server/chunks/build/interval-DvHBIIZh.mjs.map +0 -1
- package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs +0 -7
- package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs.map +0 -1
- package/.output/server/chunks/build/logs-pRb-TMWa.mjs +0 -427
- package/.output/server/chunks/build/logs-pRb-TMWa.mjs.map +0 -1
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs +0 -1952
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs.map +0 -1
- package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs +0 -2253
- package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs.map +0 -1
- package/.output/server/chunks/build/ontology-DK0Mf0zT.mjs +0 -1406
- package/.output/server/chunks/build/ontology-DK0Mf0zT.mjs.map +0 -1
- package/.output/server/chunks/build/operations-SMQrRAcr.mjs +0 -311
- package/.output/server/chunks/build/operations-SMQrRAcr.mjs.map +0 -1
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs +0 -202
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs.map +0 -1
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs +0 -542
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs.map +0 -1
- package/.output/server/chunks/build/pagination-DTAconUo.mjs +0 -1346
- package/.output/server/chunks/build/pagination-DTAconUo.mjs.map +0 -1
- package/.output/server/chunks/build/permissions-DgXQZSyx.mjs +0 -637
- package/.output/server/chunks/build/permissions-DgXQZSyx.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +0 -272
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +0 -1
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs +0 -340
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs.map +0 -1
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs +0 -78
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs.map +0 -1
- package/.output/server/chunks/build/schedules-dSnr8url.mjs +0 -7172
- package/.output/server/chunks/build/schedules-dSnr8url.mjs.map +0 -1
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs +0 -341
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs.map +0 -1
- package/.output/server/chunks/build/select-B3Dsb9yq.mjs +0 -3923
- package/.output/server/chunks/build/select-B3Dsb9yq.mjs.map +0 -1
- package/.output/server/chunks/build/settings-BrIhnS2Z.mjs +0 -1014
- package/.output/server/chunks/build/settings-BrIhnS2Z.mjs.map +0 -1
- package/.output/server/chunks/build/space-Dwu2Skt8.mjs +0 -110
- package/.output/server/chunks/build/space-Dwu2Skt8.mjs.map +0 -1
- package/.output/server/chunks/build/spin-C2cuvGth.mjs +0 -357
- package/.output/server/chunks/build/spin-C2cuvGth.mjs.map +0 -1
- package/.output/server/chunks/build/studio-cdoNCfyy.mjs +0 -332
- package/.output/server/chunks/build/studio-cdoNCfyy.mjs.map +0 -1
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs +0 -377
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs.map +0 -1
- package/.output/server/chunks/build/table-CmVD-cA9.mjs +0 -7546
- package/.output/server/chunks/build/table-CmVD-cA9.mjs.map +0 -1
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs +0 -1924
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs.map +0 -1
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs +0 -1156
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs.map +0 -1
- package/.output/server/chunks/build/teams-B1d32eHK.mjs +0 -1203
- package/.output/server/chunks/build/teams-B1d32eHK.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs +0 -1062
- package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs.map +0 -1
- package/.output/server/chunks/build/tools-s_9U1Djj.mjs +0 -487
- package/.output/server/chunks/build/tools-s_9U1Djj.mjs.map +0 -1
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs +0 -920
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs.map +0 -1
- package/.output/server/chunks/build/town-B5aoiG98.mjs +0 -133
- package/.output/server/chunks/build/town-B5aoiG98.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs +0 -124
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs +0 -77
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs +0 -117
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs +0 -133
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +0 -92
- package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +0 -86
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +0 -194
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +0 -89
- package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +0 -267
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +0 -93
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +0 -86
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +0 -130
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +0 -1
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +0 -129
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +0 -142
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +0 -70
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +0 -79
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +0 -176
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +0 -99
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +0 -159
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +0 -222
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +0 -136
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +0 -395
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +0 -187
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +0 -1
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs +0 -153
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +0 -219
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +0 -184
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +0 -148
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +0 -71
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +0 -137
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +0 -104
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +0 -121
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +0 -93
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +0 -98
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +0 -88
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +0 -258
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +0 -452
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +0 -91
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +0 -140
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +0 -1
- package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs +0 -128
- package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs.map +0 -1
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +0 -107
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +0 -1
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs +0 -55
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +0 -88
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +0 -150
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +0 -83
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +0 -135
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +0 -91
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +0 -1
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +0 -195
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs +0 -149
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs.map +0 -1
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +0 -156
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs +0 -79
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs +0 -84
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs +0 -97
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs +0 -80
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs +0 -103
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs +0 -123
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +0 -115
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +0 -87
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +0 -118
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +0 -1
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +0 -92
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +0 -141
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +0 -138
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopApi-CaSItJVq.mjs +0 -119
- package/.output/server/chunks/build/useWorkshopApi-CaSItJVq.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs +0 -1659
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +0 -92
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +0 -168
- package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +0 -1
- package/.output/server/chunks/build/users-DjiVC_tS.mjs +0 -569
- package/.output/server/chunks/build/users-DjiVC_tS.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs +0 -546
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +0 -1
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.json +0 -1
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/1459e6269990a5d229b9228c8b2f62ffaa7d350068380ae8b875fee0db45cca6.source +0 -180
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/c2991e909c70c5c12b90a407c7adcf63384c51668a2b334e6e047fa675c268fe.source +0 -305
- package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/e09129039d1e27e3fac24becc9bdafd2d1a7c8049bff24173df007be865f0165.source +0 -264
- package/app/.mimosa/hook-status/sess_05189059-e42d-4188-8911-4f7baabe009b-28ef7c75ea.json +0 -14
- package/scripts/e2e-direct-rest-simulator-paper.mjs +0 -624
- package/scripts/e2e-pi-simulator-paper.mjs +0 -2316
- package/scripts/e2e-registered-harness-simulator-paper.mjs +0 -1926
- package/scripts/e2e-simulator-optimizer-paper.mjs +0 -264
- package/scripts/fixtures/omp-paper-harness.mjs +0 -163
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.json +0 -1
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/942d2679b87b96c612b4f2a425c3ccc5b6f3234f0cf589a8441602f866fbe277.source +0 -41
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/dd617a82339d2c61e49e28e416aabeb2fc100fb3cb1beca18d02dfb833214af6.source +0 -51
- package/server/.mimosa/hook-status/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2-e67b6b91bf.json +0 -14
- package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +0 -1
- package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +0 -14
- package/server/services/workshop/agents/omp-agent/supervision-history.ts +0 -38
- package/server/services/workshop/aml/python/__pycache__/aml_eval.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/train-example.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +0 -1
- package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +0 -274
- package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +0 -14
- package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
- /package/.output/public/_nuxt/{9j2J4k4w.js → 9j2J4k4w2.js} +0 -0
- /package/.output/public/_nuxt/{BY3Lbz3h2.js → BY3Lbz3h.js} +0 -0
- /package/.output/public/_nuxt/{DgrK8UCQ.js → BvRk9kiK2.js} +0 -0
- /package/.output/public/_nuxt/{Iub61dX92.js → Iub61dX9.js} +0 -0
- /package/.output/public/_nuxt/{Q-JpBT032.js → Q-JpBT03.js} +0 -0
- /package/.output/public/_nuxt/{dVw8IHY62.js → dVw8IHY6.js} +0 -0
- /package/.output/public/_nuxt/{k9b520K-.js → k9b520K-2.js} +0 -0
|
@@ -1,2045 +0,0 @@
|
|
|
1
|
-
import { h as _plugin_vue_export_helper_default, aJ as NuxtLink, a as useI18n } from '../virtual/entry.mjs';
|
|
2
|
-
import { s as spin_default } from './spin-C2cuvGth.mjs';
|
|
3
|
-
import { a as apiFetch } from './apiClient-BvXtNzC8.mjs';
|
|
4
|
-
import { a as formatLocalStamp, f as formatLocalClock } from './useLocalTime-uVSM44Um.mjs';
|
|
5
|
-
import { n as narrowFetch } from './narrow-fetch-CcG-BPxc.mjs';
|
|
6
|
-
import { c as catalogTplName } from './builtin-catalog-edpDcgfL.mjs';
|
|
7
|
-
import { d as dcwDriverBadgeKey } from './dcw-driver-badge-Df5wL_ZA.mjs';
|
|
8
|
-
import { t as useDcwAddNode } from './useDcwAddNode-DACVcEHs.mjs';
|
|
9
|
-
import { t as useDcwDetailScope } from './useDcwDetailScope-DLOklSMO.mjs';
|
|
10
|
-
import { t as useDcwDetailTemplates } from './useDcwDetailTemplates-ClmIdZ40.mjs';
|
|
11
|
-
import { t as useDcwLedger } from './useDcwLedger-0ie-0WTc.mjs';
|
|
12
|
-
import { t as useDcwLineRun } from './useDcwLineRun-CHskwscT.mjs';
|
|
13
|
-
import { t as useDcwParamApprovals } from './useDcwParamApprovals-DtScUc-W.mjs';
|
|
14
|
-
import { t as useDcwProducts } from './useDcwProducts-BMaxzLu6.mjs';
|
|
15
|
-
import { t as useDcwQuery } from './useDcwQuery-TVU3Eo0M.mjs';
|
|
16
|
-
import { t as useDcwRecipes } from './useDcwRecipes-Bc9urA1N.mjs';
|
|
17
|
-
import { t as useDcwWrites } from './useDcwWrites-BROwTLCn.mjs';
|
|
18
|
-
import { t as useExpConfirmations } from './useExpConfirmations-BM626N4p.mjs';
|
|
19
|
-
import { t as useRecipeDispatchApprovals } from './useRecipeDispatchApprovals-BYtiqfeb.mjs';
|
|
20
|
-
import { defineComponent, ref, computed, unref, mergeProps, withCtx, createTextVNode, toDisplayString, isRef, useModel, mergeModels, reactive, createVNode, openBlock, createBlock, Fragment, renderList, createCommentVNode, withDirectives, vModelText, watch, useSSRContext } from 'vue';
|
|
21
|
-
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderClass, ssrRenderStyle, ssrRenderAttr, ssrRenderList, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderDynamicModel } from 'vue/server-renderer';
|
|
22
|
-
import '../_/nitro.mjs';
|
|
23
|
-
import 'node:crypto';
|
|
24
|
-
import 'node:http';
|
|
25
|
-
import 'node:https';
|
|
26
|
-
import 'node:events';
|
|
27
|
-
import 'node:buffer';
|
|
28
|
-
import 'node:fs';
|
|
29
|
-
import 'node:path';
|
|
30
|
-
import 'node:url';
|
|
31
|
-
import 'js-yaml';
|
|
32
|
-
import 'node:os';
|
|
33
|
-
import 'zod';
|
|
34
|
-
import 'node:child_process';
|
|
35
|
-
import 'node:sqlite';
|
|
36
|
-
import 'node:module';
|
|
37
|
-
import 'node:zlib';
|
|
38
|
-
import 'node:dns/promises';
|
|
39
|
-
import 'node:net';
|
|
40
|
-
import 'node:fs/promises';
|
|
41
|
-
import 'node:util';
|
|
42
|
-
import 'node:v8';
|
|
43
|
-
import 'node:readline';
|
|
44
|
-
import 'unhead/utils';
|
|
45
|
-
import '../routes/renderer.mjs';
|
|
46
|
-
import 'unhead/server';
|
|
47
|
-
import 'unhead/legacy';
|
|
48
|
-
import 'unhead/plugins';
|
|
49
|
-
import 'nostics';
|
|
50
|
-
import 'vue-bundle-renderer/runtime';
|
|
51
|
-
import 'devalue';
|
|
52
|
-
import 'vue-router';
|
|
53
|
-
import 'pinia';
|
|
54
|
-
import '@ant-design/colors';
|
|
55
|
-
import 'axios';
|
|
56
|
-
import './api-error-BwAQLw44.mjs';
|
|
57
|
-
import './useDcwStream-Dir5ufAU.mjs';
|
|
58
|
-
import './useTownBus-D9SoIsAN.mjs';
|
|
59
|
-
import './useDaqStream-B9ZBVQrI.mjs';
|
|
60
|
-
import './useDeviceTwins-BqwVJaZg.mjs';
|
|
61
|
-
import './hitl-Bd30yr1J.mjs';
|
|
62
|
-
|
|
63
|
-
//#region app/components/dcw/DcwDetailHead.vue?vue&type=script&setup=true&lang.ts
|
|
64
|
-
var DcwDetailHead_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
65
|
-
__name: "DcwDetailHead",
|
|
66
|
-
__ssrInlineRender: true,
|
|
67
|
-
props: {
|
|
68
|
-
line: {},
|
|
69
|
-
lineId: {},
|
|
70
|
-
nodesCount: {},
|
|
71
|
-
productsCount: {},
|
|
72
|
-
recipesCount: {}
|
|
73
|
-
},
|
|
74
|
-
setup(__props) {
|
|
75
|
-
/**
|
|
76
|
-
* 产线控制台页头 —— 产线色片 / 名称 / 描述 + 节点·产品·配方三枚计数徽章。
|
|
77
|
-
* 计数由页面派生后下发(本组件不复制任何 store 状态)。
|
|
78
|
-
*/
|
|
79
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
80
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "aw-page-head" }, _attrs))} data-v-e9045b77><div data-v-e9045b77><p class="aw-kicker" data-v-e9045b77><span class="line-chip" style="${ssrRenderStyle({ background: __props.line?.color ?? "#3aa0ff" })}" data-v-e9045b77></span>AGENTWORKSHOP / LINE / ${ssrInterpolate(__props.line?.name ?? __props.lineId)}</p><h1 data-v-e9045b77>${ssrInterpolate(__props.line?.name ?? _ctx.$t("dcwDetail.k1b2snna151"))} · ${ssrInterpolate(_ctx.$t("dcwDetail.k1l0iow1137"))}</h1><p class="sub" data-v-e9045b77>${ssrInterpolate(__props.line?.description || _ctx.$t("dcwDetail.kzcbfki152"))}</p></div><div class="badges mono" data-v-e9045b77><span class="badge" data-v-e9045b77>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(__props.nodesCount)}</span><span class="badge" data-v-e9045b77>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))} ${ssrInterpolate(__props.productsCount)}</span><span class="badge" data-v-e9045b77>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))} ${ssrInterpolate(__props.recipesCount)}</span></div></div>`);
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
//#endregion
|
|
85
|
-
//#region app/components/dcw/DcwDetailHead.vue
|
|
86
|
-
var _sfc_setup$21 = DcwDetailHead_vue_vue_type_script_setup_true_lang_default.setup;
|
|
87
|
-
DcwDetailHead_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
88
|
-
const ssrContext = useSSRContext();
|
|
89
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwDetailHead.vue");
|
|
90
|
-
return _sfc_setup$21 ? _sfc_setup$21(props, ctx) : void 0;
|
|
91
|
-
};
|
|
92
|
-
var DcwDetailHead_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwDetailHead_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e9045b77"]]), { __name: "DcwDetailHead" });
|
|
93
|
-
//#endregion
|
|
94
|
-
//#region app/components/dcw/DcwGatewayBar.vue?vue&type=script&setup=true&lang.ts
|
|
95
|
-
var DcwGatewayBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
96
|
-
__name: "DcwGatewayBar",
|
|
97
|
-
__ssrInlineRender: true,
|
|
98
|
-
props: {
|
|
99
|
-
running: { type: Boolean },
|
|
100
|
-
nodesOnline: {},
|
|
101
|
-
nodesTotal: {},
|
|
102
|
-
writesTotal: {},
|
|
103
|
-
writesFailed: {}
|
|
104
|
-
},
|
|
105
|
-
emits: [
|
|
106
|
-
"toggle",
|
|
107
|
-
"open-templates",
|
|
108
|
-
"open-add"
|
|
109
|
-
],
|
|
110
|
-
setup(__props, { emit: __emit }) {
|
|
111
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
112
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile ctrl-card" }, _attrs))} data-v-a8a5f635><div class="ctrl-left" data-v-a8a5f635><button class="${ssrRenderClass([{ running: __props.running }, "aw-pill"])}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1snap154"))} data-v-a8a5f635><span class="${ssrRenderClass(__props.running ? "i-tabler-player-pause" : "i-tabler-player-play")}" data-v-a8a5f635></span> ${ssrInterpolate(__props.running ? _ctx.$t("dcwDetail.kplrsg153") : _ctx.$t("dcwDetail.knxgni9169"))}</button></div><div class="ctrl-right" data-v-a8a5f635><span class="ctrl-metrics mono" data-v-a8a5f635><span data-v-a8a5f635>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))} ${ssrInterpolate(__props.nodesOnline)}/${ssrInterpolate(__props.nodesTotal)}</span><span class="sep" data-v-a8a5f635>·</span><span${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3ygmn001"))} data-v-a8a5f635>${ssrInterpolate(_ctx.$t("dcwDetail.k3wtib138"))} ${ssrInterpolate(__props.writesTotal)}</span><span class="sep" data-v-a8a5f635>·</span><span class="${ssrRenderClass({ warn: __props.writesFailed > 0 })}"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kd3znl0002"))} data-v-a8a5f635>${ssrInterpolate(_ctx.$t("dcwDetail.k3yit7139"))} ${ssrInterpolate(__props.writesFailed)}</span></span><button class="aw-pill outline"${ssrRenderAttr("title", _ctx.$t("dcwDetail.kc4ixly003"))} data-v-a8a5f635><span class="i-tabler-template" data-v-a8a5f635></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1972dx9020"))}</button><button class="aw-pill add-btn" data-v-a8a5f635><span class="i-tabler-plus" data-v-a8a5f635></span> ${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</button></div></section>`);
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
//#endregion
|
|
117
|
-
//#region app/components/dcw/DcwGatewayBar.vue
|
|
118
|
-
var _sfc_setup$20 = DcwGatewayBar_vue_vue_type_script_setup_true_lang_default.setup;
|
|
119
|
-
DcwGatewayBar_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
120
|
-
const ssrContext = useSSRContext();
|
|
121
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwGatewayBar.vue");
|
|
122
|
-
return _sfc_setup$20 ? _sfc_setup$20(props, ctx) : void 0;
|
|
123
|
-
};
|
|
124
|
-
var DcwGatewayBar_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwGatewayBar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a8a5f635"]]), { __name: "DcwGatewayBar" });
|
|
125
|
-
//#endregion
|
|
126
|
-
//#region app/components/dcw/DcwAdoptCard.vue?vue&type=script&setup=true&lang.ts
|
|
127
|
-
var DcwAdoptCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
128
|
-
__name: "DcwAdoptCard",
|
|
129
|
-
__ssrInlineRender: true,
|
|
130
|
-
props: {
|
|
131
|
-
unassignedNodes: {},
|
|
132
|
-
unassignedProducts: {}
|
|
133
|
-
},
|
|
134
|
-
emits: ["adopt-node", "adopt-product"],
|
|
135
|
-
setup(__props, { emit: __emit }) {
|
|
136
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
137
|
-
if (__props.unassignedNodes.length || __props.unassignedProducts.length) {
|
|
138
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile adopt-card" }, _attrs))} data-v-552f4486><b class="adopt-title" data-v-552f4486>${ssrInterpolate(_ctx.$t("dcwDetail.kaebkky022"))}</b><div class="adopt-list" data-v-552f4486><!--[-->`);
|
|
139
|
-
ssrRenderList(__props.unassignedNodes, (n) => {
|
|
140
|
-
_push(`<span class="adopt-chip" data-v-552f4486>${ssrInterpolate(n.name)} <button class="mini-btn" data-v-552f4486>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
|
|
141
|
-
});
|
|
142
|
-
_push(`<!--]--><!--[-->`);
|
|
143
|
-
ssrRenderList(__props.unassignedProducts, (p) => {
|
|
144
|
-
_push(`<span class="adopt-chip" data-v-552f4486>${ssrInterpolate(p.name)}(${ssrInterpolate(_ctx.$t("dcwDetail.k3km252140"))}<button class="mini-btn" data-v-552f4486>${ssrInterpolate(_ctx.$t("dcwDetail.kyjp9fg023"))}</button></span>`);
|
|
145
|
-
});
|
|
146
|
-
_push(`<!--]--></div></section>`);
|
|
147
|
-
} else _push(`<!---->`);
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
//#endregion
|
|
152
|
-
//#region app/components/dcw/DcwAdoptCard.vue
|
|
153
|
-
var _sfc_setup$19 = DcwAdoptCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
154
|
-
DcwAdoptCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
155
|
-
const ssrContext = useSSRContext();
|
|
156
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwAdoptCard.vue");
|
|
157
|
-
return _sfc_setup$19 ? _sfc_setup$19(props, ctx) : void 0;
|
|
158
|
-
};
|
|
159
|
-
var DcwAdoptCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwAdoptCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-552f4486"]]), { __name: "DcwAdoptCard" });
|
|
160
|
-
//#endregion
|
|
161
|
-
//#region app/components/dcw/DcwLineRunCard.vue?vue&type=script&setup=true&lang.ts
|
|
162
|
-
var DcwLineRunCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
163
|
-
__name: "DcwLineRunCard",
|
|
164
|
-
__ssrInlineRender: true,
|
|
165
|
-
props: /*@__PURE__*/ mergeModels({
|
|
166
|
-
ls: {},
|
|
167
|
-
lineProducts: {},
|
|
168
|
-
lineRecipes: {},
|
|
169
|
-
lineBusy: { type: Boolean },
|
|
170
|
-
lineMsg: {},
|
|
171
|
-
lineErr: {}
|
|
172
|
-
}, {
|
|
173
|
-
"productId": { required: true },
|
|
174
|
-
"productIdModifiers": {},
|
|
175
|
-
"recipeId": { required: true },
|
|
176
|
-
"recipeIdModifiers": {}
|
|
177
|
-
}),
|
|
178
|
-
emits: /*@__PURE__*/ mergeModels(["start", "stop"], ["update:productId", "update:recipeId"]),
|
|
179
|
-
setup(__props, { emit: __emit }) {
|
|
180
|
-
const lineProductId = useModel(__props, "productId");
|
|
181
|
-
const lineRecipeId = useModel(__props, "recipeId");
|
|
182
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
183
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile line-run-card" }, _attrs))} data-v-776dcdba><div class="line-status" data-v-776dcdba><span class="${ssrRenderClass([{ on: __props.ls.active }, "line-dot"])}" data-v-776dcdba></span><div class="line-info" data-v-776dcdba><b data-v-776dcdba>${ssrInterpolate(__props.ls.active ? _ctx.$t("dcwDetail.k1pxrhx0154") : _ctx.$t("dcwDetail.k1b2hxmx170"))}</b>`);
|
|
184
|
-
if (__props.ls.active) _push(`<small class="mono dim" data-v-776dcdba>${ssrInterpolate(__props.ls.productName)} · ${ssrInterpolate(__props.ls.recipeName)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))} ${ssrInterpolate(__props.ls.runId)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3zkt2166"))} ${ssrInterpolate(__props.ls.startedAt?.slice(11, 19))} ${ssrInterpolate(_ctx.$t("dcwDetail.k69vag8168"))} ${ssrInterpolate(__props.ls.taggedSamples)} ${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</small>`);
|
|
185
|
-
else _push(`<small class="dim" data-v-776dcdba>${ssrInterpolate(_ctx.$t("dcwDetail.k19pof14024"))}</small>`);
|
|
186
|
-
_push(`</div></div><div class="line-ctl" data-v-776dcdba><label class="ctl-sel" data-v-776dcdba><span data-v-776dcdba>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-776dcdba><option value="" data-v-776dcdba${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, "") : ssrLooseEqual(lineProductId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kuisodh026"))}</option><!--[-->`);
|
|
187
|
-
ssrRenderList(__props.lineProducts, (p) => {
|
|
188
|
-
_push(`<option${ssrRenderAttr("value", p.id)} data-v-776dcdba${ssrIncludeBooleanAttr(Array.isArray(lineProductId.value) ? ssrLooseContain(lineProductId.value, p.id) : ssrLooseEqual(lineProductId.value, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
|
|
189
|
-
});
|
|
190
|
-
_push(`<!--]--></select></label><label class="ctl-sel" data-v-776dcdba><span data-v-776dcdba>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!lineProductId.value) ? " disabled" : ""} data-v-776dcdba><option value="" data-v-776dcdba${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, "") : ssrLooseEqual(lineRecipeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kutxzsz028"))}</option><!--[-->`);
|
|
191
|
-
ssrRenderList(__props.lineRecipes, (r) => {
|
|
192
|
-
_push(`<option${ssrRenderAttr("value", r.id)}${ssrIncludeBooleanAttr(r.params.length === 0) ? " disabled" : ""} data-v-776dcdba${ssrIncludeBooleanAttr(Array.isArray(lineRecipeId.value) ? ssrLooseContain(lineRecipeId.value, r.id) : ssrLooseEqual(lineRecipeId.value, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}${ssrInterpolate(r.params.length === 0 ? _ctx.$t("dcwDetail.k1hicmch155") : _ctx.$t("dcwDetail.k1lzfi4g180", { p0: r.params.length }))}</option>`);
|
|
193
|
-
});
|
|
194
|
-
_push(`<!--]--></select></label>`);
|
|
195
|
-
if (!__props.ls.active) _push(`<button class="pill-btn"${ssrIncludeBooleanAttr(__props.lineBusy || !lineRecipeId.value) ? " disabled" : ""}${ssrRenderAttr("title", !lineRecipeId.value ? _ctx.$t("dcwDetail.startNeedRecipe") : _ctx.$t("dcwDetail.startTip"))} data-v-776dcdba>${ssrInterpolate(_ctx.$t("dcwDetail.kfb8vml029"))}</button>`);
|
|
196
|
-
else _push(`<button class="pill-btn stop"${ssrIncludeBooleanAttr(__props.lineBusy) ? " disabled" : ""} data-v-776dcdba>${ssrInterpolate(_ctx.$t("dcwDetail.k1xyhd2y030"))}</button>`);
|
|
197
|
-
_push(`</div>`);
|
|
198
|
-
if (__props.lineErr) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-776dcdba>${ssrInterpolate(__props.lineErr)}</p>`);
|
|
199
|
-
else _push(`<!---->`);
|
|
200
|
-
if (__props.lineMsg) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-776dcdba>${ssrInterpolate(__props.lineMsg)}</p>`);
|
|
201
|
-
else _push(`<!---->`);
|
|
202
|
-
_push(`</section>`);
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
//#endregion
|
|
207
|
-
//#region app/components/dcw/DcwLineRunCard.vue
|
|
208
|
-
var _sfc_setup$18 = DcwLineRunCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
209
|
-
DcwLineRunCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
210
|
-
const ssrContext = useSSRContext();
|
|
211
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwLineRunCard.vue");
|
|
212
|
-
return _sfc_setup$18 ? _sfc_setup$18(props, ctx) : void 0;
|
|
213
|
-
};
|
|
214
|
-
var DcwLineRunCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwLineRunCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-776dcdba"]]), { __name: "DcwLineRunCard" });
|
|
215
|
-
//#endregion
|
|
216
|
-
//#region app/components/dcw/DcwDetailTemplateModal.vue?vue&type=script&setup=true&lang.ts
|
|
217
|
-
var DcwDetailTemplateModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
218
|
-
__name: "DcwDetailTemplateModal",
|
|
219
|
-
__ssrInlineRender: true,
|
|
220
|
-
props: /*@__PURE__*/ mergeModels({
|
|
221
|
-
templates: {},
|
|
222
|
-
tplIcons: {},
|
|
223
|
-
builtinCount: {},
|
|
224
|
-
customCount: {},
|
|
225
|
-
tplSaving: { type: Boolean },
|
|
226
|
-
tplError: {},
|
|
227
|
-
tplOk: {}
|
|
228
|
-
}, {
|
|
229
|
-
"open": {
|
|
230
|
-
type: Boolean,
|
|
231
|
-
required: true
|
|
232
|
-
},
|
|
233
|
-
"openModifiers": {},
|
|
234
|
-
"form": { required: true },
|
|
235
|
-
"formModifiers": {}
|
|
236
|
-
}),
|
|
237
|
-
emits: /*@__PURE__*/ mergeModels(["submit", "close"], ["update:open", "update:form"]),
|
|
238
|
-
setup(__props, { emit: __emit }) {
|
|
239
|
-
const { t } = useI18n();
|
|
240
|
-
const tplOpen = useModel(__props, "open");
|
|
241
|
-
const tplForm = useModel(__props, "form");
|
|
242
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
243
|
-
if (tplOpen.value) {
|
|
244
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-f19aa086><div class="modal" data-v-f19aa086><h3 class="m-title" data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1x4vam0031"))} <small class="dim mono" data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k3x23c141"))} ${ssrInterpolate(__props.builtinCount)} · ${ssrInterpolate(_ctx.$t("dcwDetail.k3t616a142"))} ${ssrInterpolate(__props.customCount)}</small></h3><p class="dim tpl-hint" data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.ke1iyud032"))}</p><div class="tpl-chips" data-v-f19aa086><!--[-->`);
|
|
245
|
-
ssrRenderList(__props.templates, (tpl) => {
|
|
246
|
-
_push(`<span class="tpl-chip"${ssrRenderAttr("title", `${tpl.code} · ${tpl.min}~${tpl.max} ${tpl.unit}${tpl.semantics ? ` · ${tpl.semantics}` : ""}`)} data-v-f19aa086>${ssrInterpolate(("catalogTplName" in _ctx ? _ctx.catalogTplName : unref(catalogTplName))(unref(t), tpl))} <small class="mono" data-v-f19aa086>${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)}${ssrInterpolate(tpl.unit)}</small><em class="${ssrRenderClass([{ builtin: tpl.builtin }, "tpl-tag"])}" data-v-f19aa086>${ssrInterpolate(tpl.builtin ? _ctx.$t("dcwDetail.k3x23c141") : _ctx.$t("dcwDetail.k3t616a142"))}</em></span>`);
|
|
247
|
-
});
|
|
248
|
-
_push(`<!--]--></div><p class="sec-label" data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k169eb4s033"))}</p><div class="f-grid tpl-form" data-v-f19aa086><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1f55q76034"))}<em data-v-f19aa086>*</em></span><input${ssrRenderAttr("value", tplForm.value.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1tooi3o004"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqk219035"))}</span><input${ssrRenderAttr("value", tplForm.value.ch)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k698qz0005"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1ayxrqb036"))}</span><input${ssrRenderAttr("value", tplForm.value.code)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.codePh"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4ef037"))}<em data-v-f19aa086>*</em></span><input${ssrRenderAttr("value", tplForm.value.unit)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.unitPh"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv5m038"))}<em data-v-f19aa086>*</em></span><input${ssrRenderAttr("value", tplForm.value.min)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9174006"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k1l9jv4p039"))}<em data-v-f19aa086>*</em></span><input${ssrRenderAttr("value", tplForm.value.max)} type="number" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kxz9167007"))} data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k3mxmcx040"))}</span><input${ssrRenderAttr("value", tplForm.value.decimals)} type="number" min="0" max="4" class="inp" data-v-f19aa086></label><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k3xx56041"))}</span><select class="inp" data-v-f19aa086><!--[-->`);
|
|
249
|
-
ssrRenderList(__props.tplIcons, (ic) => {
|
|
250
|
-
_push(`<option${ssrRenderAttr("value", ic.key)} data-v-f19aa086${ssrIncludeBooleanAttr(Array.isArray(tplForm.value.icon) ? ssrLooseContain(tplForm.value.icon, ic.key) : ssrLooseEqual(tplForm.value.icon, ic.key)) ? " selected" : ""}>${ssrInterpolate(ic.label)}</option>`);
|
|
251
|
-
});
|
|
252
|
-
_push(`<!--]--></select></label></div><label class="f" data-v-f19aa086><span data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.knjmyfr042"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1qdnfzc008"))} data-v-f19aa086>${ssrInterpolate(tplForm.value.semantics)}</textarea></label>`);
|
|
253
|
-
if (__props.tplOk) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin-top": "10px" })}" data-v-f19aa086>${ssrInterpolate(__props.tplOk)}</p>`);
|
|
254
|
-
else _push(`<!---->`);
|
|
255
|
-
if (__props.tplError) _push(`<p class="m-err" data-v-f19aa086>${ssrInterpolate(__props.tplError)}</p>`);
|
|
256
|
-
else _push(`<!---->`);
|
|
257
|
-
_push(`<div class="m-actions" data-v-f19aa086><button class="aw-pill outline" data-v-f19aa086>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(__props.tplSaving || !tplForm.value.name.trim() || tplForm.value.unit.trim() === "" || tplForm.value.min === "" || tplForm.value.max === "") ? " disabled" : ""} data-v-f19aa086>${ssrInterpolate(__props.tplSaving ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg9nga171"))}</button></div></div></div>`);
|
|
258
|
-
} else _push(`<!---->`);
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
});
|
|
262
|
-
//#endregion
|
|
263
|
-
//#region app/components/dcw/DcwDetailTemplateModal.vue
|
|
264
|
-
var _sfc_setup$17 = DcwDetailTemplateModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
265
|
-
DcwDetailTemplateModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
266
|
-
const ssrContext = useSSRContext();
|
|
267
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwDetailTemplateModal.vue");
|
|
268
|
-
return _sfc_setup$17 ? _sfc_setup$17(props, ctx) : void 0;
|
|
269
|
-
};
|
|
270
|
-
var DcwDetailTemplateModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwDetailTemplateModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f19aa086"]]), { __name: "DcwDetailTemplateModal" });
|
|
271
|
-
//#endregion
|
|
272
|
-
//#region app/components/dcw/DcwAddNodeModal.vue?vue&type=script&setup=true&lang.ts
|
|
273
|
-
var DcwAddNodeModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
274
|
-
__name: "DcwAddNodeModal",
|
|
275
|
-
__ssrInlineRender: true,
|
|
276
|
-
props: /*@__PURE__*/ mergeModels({
|
|
277
|
-
templates: {},
|
|
278
|
-
driverCatalog: {},
|
|
279
|
-
addFields: {},
|
|
280
|
-
addTesting: { type: Boolean },
|
|
281
|
-
addTest: {},
|
|
282
|
-
addMesTesting: { type: Boolean },
|
|
283
|
-
addMesResult: {},
|
|
284
|
-
addMesHookTesting: { type: Boolean },
|
|
285
|
-
addMesHookResult: {},
|
|
286
|
-
addSaving: { type: Boolean },
|
|
287
|
-
addError: {}
|
|
288
|
-
}, {
|
|
289
|
-
"open": {
|
|
290
|
-
type: Boolean,
|
|
291
|
-
required: true
|
|
292
|
-
},
|
|
293
|
-
"openModifiers": {},
|
|
294
|
-
"scenario": { required: true },
|
|
295
|
-
"scenarioModifiers": {},
|
|
296
|
-
"template": { required: true },
|
|
297
|
-
"templateModifiers": {},
|
|
298
|
-
"driver": { required: true },
|
|
299
|
-
"driverModifiers": {},
|
|
300
|
-
"name": { required: true },
|
|
301
|
-
"nameModifiers": {},
|
|
302
|
-
"hold": { required: true },
|
|
303
|
-
"holdModifiers": {},
|
|
304
|
-
"read": { required: true },
|
|
305
|
-
"readModifiers": {},
|
|
306
|
-
"writeLock": { required: true },
|
|
307
|
-
"writeLockModifiers": {},
|
|
308
|
-
"stepLimit": { required: true },
|
|
309
|
-
"stepLimitModifiers": {},
|
|
310
|
-
"cfg": { required: true },
|
|
311
|
-
"cfgModifiers": {},
|
|
312
|
-
"transform": { required: true },
|
|
313
|
-
"transformModifiers": {},
|
|
314
|
-
"semantics": { required: true },
|
|
315
|
-
"semanticsModifiers": {}
|
|
316
|
-
}),
|
|
317
|
-
emits: /*@__PURE__*/ mergeModels([
|
|
318
|
-
"test",
|
|
319
|
-
"mes-test",
|
|
320
|
-
"mes-hook-test",
|
|
321
|
-
"submit"
|
|
322
|
-
], [
|
|
323
|
-
"update:open",
|
|
324
|
-
"update:scenario",
|
|
325
|
-
"update:template",
|
|
326
|
-
"update:driver",
|
|
327
|
-
"update:name",
|
|
328
|
-
"update:hold",
|
|
329
|
-
"update:read",
|
|
330
|
-
"update:writeLock",
|
|
331
|
-
"update:stepLimit",
|
|
332
|
-
"update:cfg",
|
|
333
|
-
"update:transform",
|
|
334
|
-
"update:semantics"
|
|
335
|
-
]),
|
|
336
|
-
setup(__props, { emit: __emit }) {
|
|
337
|
-
/**
|
|
338
|
-
* 添加控制节点向导 —— mock / 真实设备(协议参数 schema 动态表单 + 测试连接 + 数据语义标定)。
|
|
339
|
-
* 向导各字段由页面 useDcwAddNode 独占持有,经 v-model 就地读写(与原模板写法一致);
|
|
340
|
-
* 组件只负责呈现,测试/提交回抛页面。
|
|
341
|
-
* mes-rest 驱动额外提供「试读」(读链路验证,POST /dcw/mes-test-read;后端并行上线,404 容错)。
|
|
342
|
-
*/
|
|
343
|
-
const props = __props;
|
|
344
|
-
const { t } = useI18n();
|
|
345
|
-
const addOpen = useModel(__props, "open");
|
|
346
|
-
const addScenario = useModel(__props, "scenario");
|
|
347
|
-
const addTemplate = useModel(__props, "template");
|
|
348
|
-
const addDriver = useModel(__props, "driver");
|
|
349
|
-
const addName = useModel(__props, "name");
|
|
350
|
-
const addHold = useModel(__props, "hold");
|
|
351
|
-
const addRead = useModel(__props, "read");
|
|
352
|
-
const addWriteLock = useModel(__props, "writeLock");
|
|
353
|
-
const addStepLimit = useModel(__props, "stepLimit");
|
|
354
|
-
const addCfg = useModel(__props, "cfg");
|
|
355
|
-
const addTransform = useModel(__props, "transform");
|
|
356
|
-
const addSemantics = useModel(__props, "semantics");
|
|
357
|
-
/** 映射表字段(type='text',如 readMap/writeMap/historyMap 的 JSON 多行输入 → textarea) */
|
|
358
|
-
const isMapField = (f) => f.type === "text";
|
|
359
|
-
/** 试读是否可用(仅 mes-rest 驱动展示) */
|
|
360
|
-
const isMesRest = computed(() => addDriver.value === "mes-rest");
|
|
361
|
-
/** 试读内联结果文案:成功 = eng 值 + 耗时;失败 = 服务端/容错 message */
|
|
362
|
-
const mesResultText = computed(() => {
|
|
363
|
-
const r = props.addMesResult;
|
|
364
|
-
if (!r) return "";
|
|
365
|
-
if (r.ok) return `${r.eng != null ? String(r.eng) : "--"}${r.latencyMs != null ? ` · ${r.latencyMs}ms` : ""}`;
|
|
366
|
-
return r.message;
|
|
367
|
-
});
|
|
368
|
-
/** 钩子试运行内联结果文案:格式+行数+hook 摘要/产物 */
|
|
369
|
-
const mesHookResultText = computed(() => {
|
|
370
|
-
const r = props.addMesHookResult;
|
|
371
|
-
if (!r) return "";
|
|
372
|
-
if (!r.ok) return r.message || r.summary;
|
|
373
|
-
return `format=${r.format} rows=${r.rows} ${r.summary}`;
|
|
374
|
-
});
|
|
375
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
376
|
-
if (addOpen.value) {
|
|
377
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-502b8a4c><div class="modal" data-v-502b8a4c><h3 class="m-title" data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1976uns021"))}</h3><div class="seg-row" data-v-502b8a4c><button class="${ssrRenderClass([{ on: addScenario.value === "mock" }, "seg"])}" data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.mockPlc"))}</button><button class="${ssrRenderClass([{ on: addScenario.value === "real" }, "seg"])}" data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.kyj8fen044"))}</button></div><div class="f-grid" data-v-502b8a4c><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ejzwqp045"))}</span><select class="inp" data-v-502b8a4c><!--[-->`);
|
|
378
|
-
ssrRenderList(__props.templates, (tpl) => {
|
|
379
|
-
_push(`<option${ssrRenderAttr("value", tpl.key)} data-v-502b8a4c${ssrIncludeBooleanAttr(Array.isArray(addTemplate.value) ? ssrLooseContain(addTemplate.value, tpl.key) : ssrLooseEqual(addTemplate.value, tpl.key)) ? " selected" : ""}>${ssrInterpolate(("catalogTplName" in _ctx ? _ctx.catalogTplName : unref(catalogTplName))(unref(t), tpl))} · ${ssrInterpolate(tpl.ch)}(${ssrInterpolate(tpl.min)}~${ssrInterpolate(tpl.max)} ${ssrInterpolate(tpl.unit)})${ssrInterpolate(tpl.builtin ? "" : _ctx.$t("dcwDetail.kr45rk9157"))}</option>`);
|
|
380
|
-
});
|
|
381
|
-
_push(`<!--]--></select></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1ce2k1y046"))}</span><input${ssrRenderAttr("value", addName.value)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kgpxzy3009"))} data-v-502b8a4c></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1vyb8im047"))}</span><input${ssrRenderAttr("value", addHold.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kb1srz0010"))} data-v-502b8a4c></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e016"))}</span><input${ssrRenderAttr("value", addRead.value)} type="number" min="0" max="3600000" step="500" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k9r7d4e017"))} data-v-502b8a4c></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.writeLockLabel"))}</span><input${ssrRenderAttr("value", addWriteLock.value)} type="number" min="0" max="3600" step="1" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.writeLockHint"))} data-v-502b8a4c></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.stepLimitLabel"))} <em data-v-502b8a4c>(${ssrInterpolate(_ctx.$t("dcwDetail.stepLimitUnit"))})</em></span><input${ssrRenderAttr("value", addStepLimit.value)} type="number" min="0" step="any" class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.stepLimitPlaceholder"))} data-v-502b8a4c><small class="field-hint" data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.stepLimitHint"))}</small></label></div><div class="f-grid cal-form" data-v-502b8a4c><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.kiune1f048"))}</span><select class="inp" data-v-502b8a4c><option value="none" data-v-502b8a4c${ssrIncludeBooleanAttr(Array.isArray(addTransform.value.kind) ? ssrLooseContain(addTransform.value.kind, "none") : ssrLooseEqual(addTransform.value.kind, "none")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.kkzy0k049"))}</option><option value="linear" data-v-502b8a4c${ssrIncludeBooleanAttr(Array.isArray(addTransform.value.kind) ? ssrLooseContain(addTransform.value.kind, "linear") : ssrLooseEqual(addTransform.value.kind, "linear")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.linearCalOpt"))}</option></select></label><label class="f" data-v-502b8a4c><span data-v-502b8a4c>scale / offset</span><div style="${ssrRenderStyle({
|
|
382
|
-
"display": "flex",
|
|
383
|
-
"gap": "6px"
|
|
384
|
-
})}" data-v-502b8a4c><input${ssrRenderAttr("value", addTransform.value.scale)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.value.kind !== "linear") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.calScaleTip"))} data-v-502b8a4c><input${ssrRenderAttr("value", addTransform.value.offset)} type="number" step="0.1" class="inp"${ssrIncludeBooleanAttr(addTransform.value.kind !== "linear") ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.calOffsetTip"))} data-v-502b8a4c></div></label></div>`);
|
|
385
|
-
if (addScenario.value === "real") {
|
|
386
|
-
_push(`<!--[--><div class="f-grid" data-v-502b8a4c><label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1kt87rx050"))}</span><select class="inp" data-v-502b8a4c><!--[-->`);
|
|
387
|
-
ssrRenderList(__props.driverCatalog.filter((x) => x.status !== "builtin"), (d) => {
|
|
388
|
-
_push(`<option${ssrRenderAttr("value", d.kind)} data-v-502b8a4c${ssrIncludeBooleanAttr(Array.isArray(addDriver.value) ? ssrLooseContain(addDriver.value, d.kind) : ssrLooseEqual(addDriver.value, d.kind)) ? " selected" : ""}>${ssrInterpolate(d.label)}${ssrInterpolate(d.plugin ? " ⌁" : "")}</option>`);
|
|
389
|
-
});
|
|
390
|
-
_push(`<!--]--></select></label></div>`);
|
|
391
|
-
if (__props.addFields.length) {
|
|
392
|
-
_push(`<div class="f-grid driver-form" data-v-502b8a4c><!--[-->`);
|
|
393
|
-
ssrRenderList(__props.addFields, (f) => {
|
|
394
|
-
_push(`<label class="${ssrRenderClass([{ "map-field": isMapField(f) }, "f"])}" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(f.label)}`);
|
|
395
|
-
if (f.required) _push(`<em style="${ssrRenderStyle({
|
|
396
|
-
"color": "var(--tone-danger-dot)",
|
|
397
|
-
"font-style": "normal"
|
|
398
|
-
})}" data-v-502b8a4c>*</em>`);
|
|
399
|
-
else _push(`<!---->`);
|
|
400
|
-
_push(`</span>`);
|
|
401
|
-
if (isMapField(f)) _push(`<textarea class="inp cfg-map mono" rows="6"${ssrRenderAttr("placeholder", f.placeholder)} data-v-502b8a4c>${ssrInterpolate(addCfg.value[f.key])}</textarea>`);
|
|
402
|
-
else if (f.type === "select") {
|
|
403
|
-
_push(`<select class="inp" data-v-502b8a4c><!--[-->`);
|
|
404
|
-
ssrRenderList(f.options, (o) => {
|
|
405
|
-
_push(`<option${ssrRenderAttr("value", o.value)} data-v-502b8a4c${ssrIncludeBooleanAttr(Array.isArray(addCfg.value[f.key]) ? ssrLooseContain(addCfg.value[f.key], o.value) : ssrLooseEqual(addCfg.value[f.key], o.value)) ? " selected" : ""}>${ssrInterpolate(o.label)}</option>`);
|
|
406
|
-
});
|
|
407
|
-
_push(`<!--]--></select>`);
|
|
408
|
-
} else _push(`<input${ssrRenderDynamicModel(f.type === "number" ? "number" : "text", addCfg.value[f.key], null)}${ssrRenderAttr("type", f.type === "number" ? "number" : "text")}${ssrRenderAttr("placeholder", f.placeholder)} class="inp" data-v-502b8a4c>`);
|
|
409
|
-
if (f.hint) _push(`<small class="hint" data-v-502b8a4c>${ssrInterpolate(f.hint)}</small>`);
|
|
410
|
-
else _push(`<!---->`);
|
|
411
|
-
_push(`</label>`);
|
|
412
|
-
});
|
|
413
|
-
_push(`<!--]--></div>`);
|
|
414
|
-
} else _push(`<!---->`);
|
|
415
|
-
_push(`<div class="test-row" data-v-502b8a4c><button class="pill-btn outline"${ssrIncludeBooleanAttr(__props.addTesting) ? " disabled" : ""} data-v-502b8a4c>${ssrInterpolate(__props.addTesting ? _ctx.$t("dcwDetail.k1fsh720158") : _ctx.$t("dcwDetail.k1fstglk172"))}</button>`);
|
|
416
|
-
if (__props.addTest) _push(`<span class="${ssrRenderClass([__props.addTest.ok ? "good" : "bad", "test-result"])}" data-v-502b8a4c>${ssrInterpolate(__props.addTest.ok ? "✓" : "✗")} ${ssrInterpolate(__props.addTest.message)}</span>`);
|
|
417
|
-
else _push(`<!---->`);
|
|
418
|
-
_push(`</div>`);
|
|
419
|
-
if (isMesRest.value) {
|
|
420
|
-
_push(`<div class="test-row" data-v-502b8a4c><button class="mini-btn"${ssrIncludeBooleanAttr(__props.addMesTesting) ? " disabled" : ""} data-v-502b8a4c>${ssrInterpolate(__props.addMesTesting ? _ctx.$t("dcwDetail.mesTesting") : _ctx.$t("dcwDetail.mesTestBtn"))}</button>`);
|
|
421
|
-
if (__props.addMesResult) _push(`<span class="${ssrRenderClass([__props.addMesResult.ok ? "good" : "bad", "test-result"])}" data-v-502b8a4c>${ssrInterpolate(__props.addMesResult.ok ? "✓" : "✗")} ${ssrInterpolate(mesResultText.value)}</span>`);
|
|
422
|
-
else _push(`<!---->`);
|
|
423
|
-
_push(`</div>`);
|
|
424
|
-
} else _push(`<!---->`);
|
|
425
|
-
if (isMesRest.value) {
|
|
426
|
-
_push(`<div class="test-row" data-v-502b8a4c><button class="mini-btn"${ssrIncludeBooleanAttr(__props.addMesHookTesting) ? " disabled" : ""} data-v-502b8a4c>${ssrInterpolate(__props.addMesHookTesting ? _ctx.$t("dcwDetail.mesHookTesting") : _ctx.$t("dcwDetail.mesHookTestBtn"))}</button>`);
|
|
427
|
-
if (__props.addMesHookResult) _push(`<span class="${ssrRenderClass([__props.addMesHookResult.ok ? "good" : "bad", "test-result"])}" data-v-502b8a4c>${ssrInterpolate(__props.addMesHookResult.ok ? "✓" : "✗")} ${ssrInterpolate(mesHookResultText.value)}</span>`);
|
|
428
|
-
else _push(`<!---->`);
|
|
429
|
-
_push(`</div>`);
|
|
430
|
-
} else _push(`<!---->`);
|
|
431
|
-
_push(`<!--]-->`);
|
|
432
|
-
} else _push(`<!---->`);
|
|
433
|
-
_push(`<label class="f" data-v-502b8a4c><span data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k1hgizn7051"))}</span><textarea class="inp" rows="2"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12bnyt9011"))} data-v-502b8a4c>${ssrInterpolate(addSemantics.value)}</textarea></label>`);
|
|
434
|
-
if (__props.addError) _push(`<p class="m-err" data-v-502b8a4c>${ssrInterpolate(__props.addError)}</p>`);
|
|
435
|
-
else _push(`<!---->`);
|
|
436
|
-
_push(`<div class="m-actions" data-v-502b8a4c><button class="aw-pill outline" data-v-502b8a4c>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="aw-pill"${ssrIncludeBooleanAttr(__props.addSaving) ? " disabled" : ""} data-v-502b8a4c>${ssrInterpolate(__props.addSaving ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bge46t173"))}</button></div></div></div>`);
|
|
437
|
-
} else _push(`<!---->`);
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
//#endregion
|
|
442
|
-
//#region app/components/dcw/DcwAddNodeModal.vue
|
|
443
|
-
var _sfc_setup$16 = DcwAddNodeModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
444
|
-
DcwAddNodeModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
445
|
-
const ssrContext = useSSRContext();
|
|
446
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwAddNodeModal.vue");
|
|
447
|
-
return _sfc_setup$16 ? _sfc_setup$16(props, ctx) : void 0;
|
|
448
|
-
};
|
|
449
|
-
var DcwAddNodeModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwAddNodeModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-502b8a4c"]]), { __name: "DcwAddNodeModal" });
|
|
450
|
-
//#endregion
|
|
451
|
-
//#region app/components/dcw/DcwParamApprovalCard.vue?vue&type=script&setup=true&lang.ts
|
|
452
|
-
var DcwParamApprovalCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
453
|
-
__name: "DcwParamApprovalCard",
|
|
454
|
-
__ssrInlineRender: true,
|
|
455
|
-
props: /*@__PURE__*/ mergeModels({
|
|
456
|
-
items: {},
|
|
457
|
-
decidingId: {},
|
|
458
|
-
remainingSec: { type: Function },
|
|
459
|
-
agentName: { type: Function },
|
|
460
|
-
nodeName: { type: Function }
|
|
461
|
-
}, {
|
|
462
|
-
"comments": { required: true },
|
|
463
|
-
"commentsModifiers": {}
|
|
464
|
-
}),
|
|
465
|
-
emits: /*@__PURE__*/ mergeModels(["decide"], ["update:comments"]),
|
|
466
|
-
setup(__props, { emit: __emit }) {
|
|
467
|
-
const comments = useModel(__props, "comments");
|
|
468
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
469
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile ap-card" }, _attrs))} data-v-de90ea26><div class="ap-head" data-v-de90ea26><b data-v-de90ea26>${ssrInterpolate(_ctx.$t("dcwDetail.apTitle"))}</b><span class="ap-count mono" data-v-de90ea26>${ssrInterpolate(__props.items.length)}</span><small class="ap-rule" data-v-de90ea26>${ssrInterpolate(_ctx.$t("dcwDetail.apRule"))}</small></div><!--[-->`);
|
|
470
|
-
ssrRenderList(__props.items, (ap) => {
|
|
471
|
-
_push(`<div class="ap-row" data-v-de90ea26><div class="ap-main" data-v-de90ea26><div class="ap-line" data-v-de90ea26><span class="ap-node" data-v-de90ea26>${ssrInterpolate(__props.nodeName(ap))}</span><span class="ap-detail" data-v-de90ea26>${ssrInterpolate(ap.detail)}</span></div><small class="ap-meta" data-v-de90ea26><span class="mono" data-v-de90ea26>${ssrInterpolate(_ctx.$t("dcwDetail.apInitiator"))} ${ssrInterpolate(__props.agentName(ap))}</span>`);
|
|
472
|
-
if (Number.isFinite(__props.remainingSec(ap))) _push(`<span class="${ssrRenderClass([{ urgent: __props.remainingSec(ap) <= 30 }, "ap-ttl mono"])}" data-v-de90ea26>⏱ ${ssrInterpolate(__props.remainingSec(ap))}s ${ssrInterpolate(_ctx.$t("dcwDetail.apTimeout"))}</span>`);
|
|
473
|
-
else _push(`<span class="ap-ttl mono hold" data-v-de90ea26>⏱ 等待人工裁决(hold 模式,不自动拒绝)</span>`);
|
|
474
|
-
_push(`</small></div><input${ssrRenderAttr("value", comments.value[ap.id])} class="inp ap-comment"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.apCommentPh"))} data-v-de90ea26><div class="ap-actions" data-v-de90ea26><button class="mini-btn ap-ok"${ssrIncludeBooleanAttr(__props.decidingId === ap.id) ? " disabled" : ""} data-v-de90ea26>${ssrInterpolate(_ctx.$t("dcwDetail.apApprove"))}</button><button class="mini-btn danger"${ssrIncludeBooleanAttr(__props.decidingId === ap.id) ? " disabled" : ""} data-v-de90ea26>${ssrInterpolate(_ctx.$t("dcwDetail.apReject"))}</button></div></div>`);
|
|
475
|
-
});
|
|
476
|
-
_push(`<!--]--></section>`);
|
|
477
|
-
};
|
|
478
|
-
}
|
|
479
|
-
});
|
|
480
|
-
//#endregion
|
|
481
|
-
//#region app/components/dcw/DcwParamApprovalCard.vue
|
|
482
|
-
var _sfc_setup$15 = DcwParamApprovalCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
483
|
-
DcwParamApprovalCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
484
|
-
const ssrContext = useSSRContext();
|
|
485
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwParamApprovalCard.vue");
|
|
486
|
-
return _sfc_setup$15 ? _sfc_setup$15(props, ctx) : void 0;
|
|
487
|
-
};
|
|
488
|
-
var DcwParamApprovalCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwParamApprovalCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-de90ea26"]]), { __name: "DcwParamApprovalCard" });
|
|
489
|
-
//#endregion
|
|
490
|
-
//#region app/components/dcw/RecipeDispatchApprovalCard.vue?vue&type=script&setup=true&lang.ts
|
|
491
|
-
var RecipeDispatchApprovalCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
492
|
-
__name: "RecipeDispatchApprovalCard",
|
|
493
|
-
__ssrInlineRender: true,
|
|
494
|
-
props: /*@__PURE__*/ mergeModels({
|
|
495
|
-
items: {},
|
|
496
|
-
decidingId: {},
|
|
497
|
-
decideError: {}
|
|
498
|
-
}, {
|
|
499
|
-
"comments": { required: true },
|
|
500
|
-
"commentsModifiers": {}
|
|
501
|
-
}),
|
|
502
|
-
emits: /*@__PURE__*/ mergeModels(["decide"], ["update:comments"]),
|
|
503
|
-
setup(__props, { emit: __emit }) {
|
|
504
|
-
/**
|
|
505
|
-
* 整包方案审批卡(产线详情页)—— 诊断 Channel recipe_propose 的「配方整包·
|
|
506
|
-
* 多套候选」结构化审批单:方案 tab(1~3 套,选中态清晰)+ 参数对照表
|
|
507
|
-
* (参数 | 当前值→目标值(mono+单位) | 预检徽标 | 依据 | 经验引用)+
|
|
508
|
-
* 低置信黄条 / AML 活动红条(载荷可选字段,缺省不渲染)。
|
|
509
|
-
* 批准=按选中方案整包原子下发(choice=选中下标,未选中点击 → 行内提示
|
|
510
|
-
* needChoice 不发请求,fail-closed);拒绝=无需选方案,意见逐字回流。
|
|
511
|
-
* 数据与裁决由页面 useRecipeDispatchApprovals 独占持有(经 props/emit 回抛,
|
|
512
|
-
* 与 DcwParamApprovalCard 同模式);空态由页面 v-if 收敛(整卡不渲染)。
|
|
513
|
-
* payload 缺失或 schemaVersion 不识别的行(legacy/异常兜底)降级渲染 detail
|
|
514
|
-
* 文本 + 仅拒绝(fail-closed:无 choice 的批准一律按拒绝收敛,不给批准按钮)。
|
|
515
|
-
*/
|
|
516
|
-
const props = __props;
|
|
517
|
-
const comments = useModel(__props, "comments");
|
|
518
|
-
/** 逐行选中方案下标(未选中=undefined;批准前必须点选一个方案 tab) */
|
|
519
|
-
const selected = ref({});
|
|
520
|
-
/** 行内「请先选择方案」提示的行 id(点选任一方案 tab 即清除) */
|
|
521
|
-
const needChoiceId = ref("");
|
|
522
|
-
/** 结构化载荷(schemaVersion 守卫:不识别的版本按缺失降级) */
|
|
523
|
-
function payloadOf(row) {
|
|
524
|
-
return row.payload && row.payload.schemaVersion === 1 ? row.payload : void 0;
|
|
525
|
-
}
|
|
526
|
-
/** 行视图模型:payload 判定一次,模板按有无 payload 分流 */
|
|
527
|
-
const rows = computed(() => props.items.map((row) => ({
|
|
528
|
-
row,
|
|
529
|
-
payload: payloadOf(row)
|
|
530
|
-
})));
|
|
531
|
-
/** 概要参数总数(全部方案合计) */
|
|
532
|
-
function totalParams(payload) {
|
|
533
|
-
return payload.packages.reduce((n, pkg) => n + pkg.params.length, 0);
|
|
534
|
-
}
|
|
535
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
536
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile rp-card" }, _attrs))} data-v-946ab8de><div class="rp-head" data-v-946ab8de><b data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.title"))}</b><span class="rp-count mono" data-v-946ab8de>${ssrInterpolate(__props.items.length)}</span><small class="rp-rule" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.rule"))}</small></div>`);
|
|
537
|
-
if (__props.decideError) _push(`<p class="rp-err" data-v-946ab8de>${ssrInterpolate(__props.decideError)}</p>`);
|
|
538
|
-
else _push(`<!---->`);
|
|
539
|
-
_push(`<!--[-->`);
|
|
540
|
-
ssrRenderList(rows.value, ({ row, payload }) => {
|
|
541
|
-
_push(`<article class="rp-row" data-v-946ab8de>`);
|
|
542
|
-
if (payload) {
|
|
543
|
-
_push(`<!--[-->`);
|
|
544
|
-
if (payload.amlActive) _push(`<p class="rp-banner bad" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.amlActive"))}</p>`);
|
|
545
|
-
else _push(`<!---->`);
|
|
546
|
-
if (payload.confidence === "low") _push(`<p class="rp-banner warn" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.lowConfidence"))}</p>`);
|
|
547
|
-
else _push(`<!---->`);
|
|
548
|
-
_push(`<div class="rp-rowhead" data-v-946ab8de><span class="rp-recipe mono" data-v-946ab8de>${ssrInterpolate(payload.recipeId)}</span><small class="rp-summary" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.packagesLabel", {
|
|
549
|
-
p0: payload.packages.length,
|
|
550
|
-
p1: totalParams(payload)
|
|
551
|
-
}))}</small></div><div class="rp-tabs" role="tablist" data-v-946ab8de><!--[-->`);
|
|
552
|
-
ssrRenderList(payload.packages, (pkg, pi) => {
|
|
553
|
-
_push(`<button type="button" role="tab" class="${ssrRenderClass([{ active: selected.value[row.id] === pi }, "rp-tab"])}"${ssrRenderAttr("aria-selected", selected.value[row.id] === pi)}${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.tab", { p0: pi + 1 }))} <span class="rp-tab-name" data-v-946ab8de>${ssrInterpolate(pkg.name)}</span><span class="rp-tab-count mono" data-v-946ab8de>${ssrInterpolate(pkg.params.length)}</span></button>`);
|
|
554
|
-
});
|
|
555
|
-
_push(`<!--]--></div>`);
|
|
556
|
-
if (selected.value[row.id] === void 0) _push(`<p class="rp-hint" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.needChoice"))}</p>`);
|
|
557
|
-
else _push(`<!---->`);
|
|
558
|
-
_push(`<!--[-->`);
|
|
559
|
-
ssrRenderList(payload.packages, (pkg, pi) => {
|
|
560
|
-
_push(`<div class="rp-pkg" style="${ssrRenderStyle(selected.value[row.id] === pi ? null : { display: "none" })}" data-v-946ab8de><small class="rp-rationale" data-v-946ab8de>${ssrInterpolate(pkg.rationale)}</small><div class="rp-table-wrap" data-v-946ab8de><table class="rp-table" data-v-946ab8de><thead data-v-946ab8de><tr data-v-946ab8de><th data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.paramCol"))}</th><th data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.changeCol"))}</th><th data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.preflightCol"))}</th><th data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.basisCol"))}</th><th data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.expRefCol"))}</th></tr></thead><tbody data-v-946ab8de><!--[-->`);
|
|
561
|
-
ssrRenderList(pkg.params, (p, ki) => {
|
|
562
|
-
_push(`<tr class="${ssrRenderClass({ dropped: !p.preflight.ok })}" data-v-946ab8de><td class="rp-param" data-v-946ab8de>${ssrInterpolate(p.paramName)}</td><td class="rp-change mono" data-v-946ab8de>${ssrInterpolate(p.from)} → ${ssrInterpolate(p.to)}`);
|
|
563
|
-
if (p.unit) _push(`<span class="rp-unit" data-v-946ab8de>${ssrInterpolate(p.unit)}</span>`);
|
|
564
|
-
else _push(`<!---->`);
|
|
565
|
-
_push(`</td><td data-v-946ab8de>`);
|
|
566
|
-
if (p.preflight.ok) _push(`<span class="rp-pf ok" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.preflightOk"))}</span>`);
|
|
567
|
-
else _push(`<span class="rp-pf fail"${ssrRenderAttr("title", p.preflight.reason)} data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.preflightFail"))}</span>`);
|
|
568
|
-
_push(`</td><td class="rp-basis" data-v-946ab8de>${ssrInterpolate(p.basis)}</td><td class="rp-expref mono" data-v-946ab8de>${ssrInterpolate(p.exp_ref)}</td></tr>`);
|
|
569
|
-
});
|
|
570
|
-
_push(`<!--]--></tbody></table></div></div>`);
|
|
571
|
-
});
|
|
572
|
-
_push(`<!--]--><div class="rp-act" data-v-946ab8de><input${ssrRenderAttr("value", comments.value[row.id])} class="inp rp-comment"${ssrRenderAttr("placeholder", _ctx.$t("recipePropose.commentPh"))} data-v-946ab8de><div class="rp-actions" data-v-946ab8de><button class="mini-btn rp-ok" type="button"${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.approveBtn"))}</button><button class="mini-btn danger" type="button"${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.rejectBtn"))}</button></div></div>`);
|
|
573
|
-
if (needChoiceId.value === row.id) _push(`<p class="rp-err" data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.needChoice"))}</p>`);
|
|
574
|
-
else _push(`<!---->`);
|
|
575
|
-
_push(`<!--]-->`);
|
|
576
|
-
} else _push(`<div class="rp-legacy" data-v-946ab8de><span class="rp-detail" data-v-946ab8de>${ssrInterpolate(row.detail)}</span><button class="mini-btn danger" type="button"${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-946ab8de>${ssrInterpolate(_ctx.$t("recipePropose.rejectBtn"))}</button></div>`);
|
|
577
|
-
_push(`</article>`);
|
|
578
|
-
});
|
|
579
|
-
_push(`<!--]--></section>`);
|
|
580
|
-
};
|
|
581
|
-
}
|
|
582
|
-
});
|
|
583
|
-
//#endregion
|
|
584
|
-
//#region app/components/dcw/RecipeDispatchApprovalCard.vue
|
|
585
|
-
var _sfc_setup$14 = RecipeDispatchApprovalCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
586
|
-
RecipeDispatchApprovalCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
587
|
-
const ssrContext = useSSRContext();
|
|
588
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/RecipeDispatchApprovalCard.vue");
|
|
589
|
-
return _sfc_setup$14 ? _sfc_setup$14(props, ctx) : void 0;
|
|
590
|
-
};
|
|
591
|
-
var RecipeDispatchApprovalCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(RecipeDispatchApprovalCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-946ab8de"]]), { __name: "DcwRecipeDispatchApprovalCard" });
|
|
592
|
-
//#endregion
|
|
593
|
-
//#region app/components/dcw/RecipeGateApprovalCard.vue?vue&type=script&setup=true&lang.ts
|
|
594
|
-
var RecipeGateApprovalCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
595
|
-
__name: "RecipeGateApprovalCard",
|
|
596
|
-
__ssrInlineRender: true,
|
|
597
|
-
props: {
|
|
598
|
-
items: {},
|
|
599
|
-
comments: {},
|
|
600
|
-
decidingId: {},
|
|
601
|
-
error: {}
|
|
602
|
-
},
|
|
603
|
-
emits: ["decide"],
|
|
604
|
-
setup(__props, { emit: __emit }) {
|
|
605
|
-
/**
|
|
606
|
-
* Recipe 逐动作审批卡(权限模型 v2)—— 配方参数写入/下发/试验/回退的 HITL 单。
|
|
607
|
-
* nodeId = `recipe:<recipeId>`(与整包审批 recipe-propose:<id> 平行分流);
|
|
608
|
-
* payload 为 recipeApprovalPayload(op/recipeName/reason/params/runId),
|
|
609
|
-
* payload 缺失时降级渲染 detail 文本(批准/拒绝仍可用 —— 单动作无 choice 语义)。
|
|
610
|
-
*/
|
|
611
|
-
const props = __props;
|
|
612
|
-
const { t } = useI18n();
|
|
613
|
-
const OP_LABEL = {
|
|
614
|
-
update: "参数写入",
|
|
615
|
-
dispatch: "下发",
|
|
616
|
-
trial: "试验下发",
|
|
617
|
-
rollback: "回退"
|
|
618
|
-
};
|
|
619
|
-
const opOf = (a) => a.payload?.op ? OP_LABEL[a.payload.op] ?? a.payload.op : "配方操作";
|
|
620
|
-
const reasonOf = (a) => a.payload?.reason ?? "";
|
|
621
|
-
const paramsOf = (a) => Array.isArray(a.payload?.params) ? a.payload.params : [];
|
|
622
|
-
/** 意见输入(就地 v-model:父组件 comments 记录经 provide 传入不可写,这里本地暂存) */
|
|
623
|
-
const localComments = ref({});
|
|
624
|
-
const commentOf = (id) => localComments.value[id] ?? props.comments[id] ?? "";
|
|
625
|
-
const title = computed(() => t("dcwDetail.recipeGateTitle"));
|
|
626
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
627
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "sec" }, _attrs))} data-v-ed264a3b><h3 class="sec-label" data-v-ed264a3b>${ssrInterpolate(title.value)}</h3>`);
|
|
628
|
-
if (__props.error) _push(`<p class="test-result bad" data-v-ed264a3b> ✗ ${ssrInterpolate(__props.error)}</p>`);
|
|
629
|
-
else _push(`<!---->`);
|
|
630
|
-
_push(`<!--[-->`);
|
|
631
|
-
ssrRenderList(__props.items, (a) => {
|
|
632
|
-
_push(`<div class="gate-card" data-v-ed264a3b><div class="gate-head" data-v-ed264a3b><span class="op-pill" data-v-ed264a3b>${ssrInterpolate(opOf(a))}</span><strong data-v-ed264a3b>${ssrInterpolate(a.payload?.recipeName || a.nodeId)}</strong>`);
|
|
633
|
-
if (a.payload?.emergency) _push(`<span class="op-pill" style="${ssrRenderStyle({
|
|
634
|
-
"background": "#e5484d",
|
|
635
|
-
"color": "#fff"
|
|
636
|
-
})}" title="本次审批附带应急豁免频控(仅跳过下发间隔,审批与安全限界照常)" data-v-ed264a3b>【应急】</span>`);
|
|
637
|
-
else _push(`<!---->`);
|
|
638
|
-
if (a.payload?.runId) _push(`<small class="dim" data-v-ed264a3b>批次 ${ssrInterpolate(a.payload.runId.slice(0, 8))}</small>`);
|
|
639
|
-
else _push(`<!---->`);
|
|
640
|
-
_push(`<small class="dim" data-v-ed264a3b>⏱ ${ssrInterpolate(a.expiresAt.slice(11, 19))} 前有效</small></div>`);
|
|
641
|
-
if (reasonOf(a)) _push(`<div class="gate-reason" data-v-ed264a3b><span class="dim" data-v-ed264a3b>Agent 理由:</span>${ssrInterpolate(reasonOf(a))}</div>`);
|
|
642
|
-
else _push(`<!---->`);
|
|
643
|
-
if (paramsOf(a).length) {
|
|
644
|
-
_push(`<table class="gate-params" data-v-ed264a3b><thead data-v-ed264a3b><tr data-v-ed264a3b><th data-v-ed264a3b>参数</th><th data-v-ed264a3b>原值</th><th data-v-ed264a3b>新值</th></tr></thead><tbody data-v-ed264a3b><!--[-->`);
|
|
645
|
-
ssrRenderList(paramsOf(a), (p) => {
|
|
646
|
-
_push(`<tr data-v-ed264a3b><td data-v-ed264a3b>${ssrInterpolate(p.name)}</td><td class="mono" data-v-ed264a3b>${ssrInterpolate(p.from ?? "—")}${ssrInterpolate(p.unit)}</td><td class="mono" data-v-ed264a3b>${ssrInterpolate(p.to)}${ssrInterpolate(p.unit)}</td></tr>`);
|
|
647
|
-
});
|
|
648
|
-
_push(`<!--]--></tbody></table>`);
|
|
649
|
-
} else _push(`<!---->`);
|
|
650
|
-
if (!paramsOf(a).length) _push(`<details class="dim" data-v-ed264a3b><summary data-v-ed264a3b>原始摘要</summary><p class="mono" data-v-ed264a3b>${ssrInterpolate(a.detail)}</p></details>`);
|
|
651
|
-
else _push(`<!---->`);
|
|
652
|
-
_push(`<div class="gate-actions" data-v-ed264a3b><input class="inp"${ssrRenderAttr("value", commentOf(a.id))}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.recipeGateCommentPh"))} data-v-ed264a3b><button class="mini-btn good"${ssrIncludeBooleanAttr(__props.decidingId === a.id) ? " disabled" : ""} data-v-ed264a3b>${ssrInterpolate(_ctx.$t("dcwDetail.recipeGateApprove"))}</button><button class="mini-btn danger"${ssrIncludeBooleanAttr(__props.decidingId === a.id) ? " disabled" : ""} data-v-ed264a3b>${ssrInterpolate(_ctx.$t("dcwDetail.recipeGateReject"))}</button></div></div>`);
|
|
653
|
-
});
|
|
654
|
-
_push(`<!--]--></div>`);
|
|
655
|
-
};
|
|
656
|
-
}
|
|
657
|
-
});
|
|
658
|
-
//#endregion
|
|
659
|
-
//#region app/components/dcw/RecipeGateApprovalCard.vue
|
|
660
|
-
var _sfc_setup$13 = RecipeGateApprovalCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
661
|
-
RecipeGateApprovalCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
662
|
-
const ssrContext = useSSRContext();
|
|
663
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/RecipeGateApprovalCard.vue");
|
|
664
|
-
return _sfc_setup$13 ? _sfc_setup$13(props, ctx) : void 0;
|
|
665
|
-
};
|
|
666
|
-
var RecipeGateApprovalCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(RecipeGateApprovalCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ed264a3b"]]), { __name: "DcwRecipeGateApprovalCard" });
|
|
667
|
-
//#endregion
|
|
668
|
-
//#region app/components/dcw/ExpConfirmCard.vue?vue&type=script&setup=true&lang.ts
|
|
669
|
-
var ExpConfirmCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
670
|
-
__name: "ExpConfirmCard",
|
|
671
|
-
__ssrInlineRender: true,
|
|
672
|
-
props: {
|
|
673
|
-
items: {},
|
|
674
|
-
decidingId: {},
|
|
675
|
-
decideError: {}
|
|
676
|
-
},
|
|
677
|
-
emits: ["decide"],
|
|
678
|
-
setup(__props, { emit: __emit }) {
|
|
679
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
680
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile xc-card" }, _attrs))} data-v-0153c978><div class="xc-head" data-v-0153c978><b data-v-0153c978>${ssrInterpolate(_ctx.$t("expConfirm.title"))}</b><span class="xc-count mono" data-v-0153c978>${ssrInterpolate(__props.items.length)}</span><small class="xc-rule" data-v-0153c978>${ssrInterpolate(_ctx.$t("expConfirm.rule"))}</small></div>`);
|
|
681
|
-
if (__props.decideError) _push(`<p class="xc-err" data-v-0153c978>${ssrInterpolate(__props.decideError)}</p>`);
|
|
682
|
-
else _push(`<!---->`);
|
|
683
|
-
_push(`<!--[-->`);
|
|
684
|
-
ssrRenderList(__props.items, (row) => {
|
|
685
|
-
_push(`<div class="xc-row" data-v-0153c978><div class="xc-main" data-v-0153c978><div class="xc-line" data-v-0153c978><span class="xc-node" data-v-0153c978>${ssrInterpolate(row.nodeName || row.nodeId)}</span><span class="xc-delta mono" data-v-0153c978>${ssrInterpolate(row.from)} → ${ssrInterpolate(row.to)}</span><span class="xc-at mono" data-v-0153c978>${ssrInterpolate(unref(formatLocalStamp)(row.at))}</span></div><small class="xc-evidence" data-v-0153c978>${ssrInterpolate(row.evidence)}</small></div><div class="xc-actions" data-v-0153c978><button class="mini-btn xc-ok"${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-0153c978>${ssrInterpolate(_ctx.$t("expConfirm.confirm"))}</button><button class="mini-btn danger"${ssrIncludeBooleanAttr(__props.decidingId === row.id) ? " disabled" : ""} data-v-0153c978>${ssrInterpolate(_ctx.$t("expConfirm.ignore"))}</button></div></div>`);
|
|
686
|
-
});
|
|
687
|
-
_push(`<!--]--></section>`);
|
|
688
|
-
};
|
|
689
|
-
}
|
|
690
|
-
});
|
|
691
|
-
//#endregion
|
|
692
|
-
//#region app/components/dcw/ExpConfirmCard.vue
|
|
693
|
-
var _sfc_setup$12 = ExpConfirmCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
694
|
-
ExpConfirmCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
695
|
-
const ssrContext = useSSRContext();
|
|
696
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/ExpConfirmCard.vue");
|
|
697
|
-
return _sfc_setup$12 ? _sfc_setup$12(props, ctx) : void 0;
|
|
698
|
-
};
|
|
699
|
-
var ExpConfirmCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ExpConfirmCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0153c978"]]), { __name: "DcwExpConfirmCard" });
|
|
700
|
-
//#endregion
|
|
701
|
-
//#region app/components/dcw/DcwNodesTable.vue?vue&type=script&setup=true&lang.ts
|
|
702
|
-
var DcwNodesTable_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
703
|
-
__name: "DcwNodesTable",
|
|
704
|
-
__ssrInlineRender: true,
|
|
705
|
-
props: /*@__PURE__*/ mergeModels({
|
|
706
|
-
lineNodes: {},
|
|
707
|
-
stateLabel: {},
|
|
708
|
-
togglingId: {},
|
|
709
|
-
readingId: {},
|
|
710
|
-
writingId: {},
|
|
711
|
-
stepPatchingId: {},
|
|
712
|
-
loaded: { type: Boolean },
|
|
713
|
-
error: {},
|
|
714
|
-
dcwTemplateRefCh: { type: Function },
|
|
715
|
-
nodeDeviceNames: { type: Function }
|
|
716
|
-
}, {
|
|
717
|
-
"setInputs": { required: true },
|
|
718
|
-
"setInputsModifiers": {}
|
|
719
|
-
}),
|
|
720
|
-
emits: /*@__PURE__*/ mergeModels([
|
|
721
|
-
"toggle",
|
|
722
|
-
"read",
|
|
723
|
-
"write",
|
|
724
|
-
"patch-step-limit",
|
|
725
|
-
"artifacts",
|
|
726
|
-
"remove"
|
|
727
|
-
], ["update:setInputs"]),
|
|
728
|
-
setup(__props, { emit: __emit }) {
|
|
729
|
-
/**
|
|
730
|
-
* 控制节点清单 —— 逐节点控制开关/状态/当前值/读取值/直写/量程周期/绑定设备/删除。
|
|
731
|
-
* 在飞 id 与写输入框内容由页面持有(经 v-model 就地读写),动作一律回抛页面。
|
|
732
|
-
*/
|
|
733
|
-
const emit = __emit;
|
|
734
|
-
const { t } = useI18n();
|
|
735
|
-
/** 边缘层徽标文案(mes-rest=「MES 边缘层」;mock/s7-stub=「无协议转换」;真实协议自明不加) */
|
|
736
|
-
function drvBadge(driver) {
|
|
737
|
-
const key = dcwDriverBadgeKey(driver);
|
|
738
|
-
return key ? t(key) : "";
|
|
739
|
-
}
|
|
740
|
-
/** 直写输入框逐节点暂存(与页面 useDcwWrites 的 setInputs 同一个对象) */
|
|
741
|
-
const setInputs = useModel(__props, "setInputs");
|
|
742
|
-
const stepDrafts = reactive({});
|
|
743
|
-
function stepDraft(n) {
|
|
744
|
-
return stepDrafts[n.id] ?? n.stepLimit;
|
|
745
|
-
}
|
|
746
|
-
function saveStep(n) {
|
|
747
|
-
const value = stepDrafts[n.id] === void 0 ? n.stepLimit : stepDrafts[n.id];
|
|
748
|
-
emit("patch-step-limit", n.id, value === "" || value == null ? null : Number(value));
|
|
749
|
-
}
|
|
750
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
751
|
-
_push(ssrRenderComponent(spin_default, mergeProps({ spinning: !__props.loaded && !__props.error }, _attrs), {
|
|
752
|
-
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
753
|
-
if (_push) {
|
|
754
|
-
_push(`<section class="aw-tile table-card" data-v-f7619c83${_scopeId}><table class="nodes-table" data-v-f7619c83${_scopeId}><thead data-v-f7619c83${_scopeId}><tr data-v-f7619c83${_scopeId}><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k403cy054"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k42w8s055"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1deqh0d056"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k9r7d4e018"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1k79ec9057"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1dexou6058"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1b1nnaa059"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1i8rtqt060"))}</th><th data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.thStepLimit"))}</th><th class="right" data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-f7619c83${_scopeId}><!--[-->`);
|
|
755
|
-
ssrRenderList(__props.lineNodes, (n) => {
|
|
756
|
-
_push(`<tr class="${ssrRenderClass({ "node-paused": !n.enabled })}" data-v-f7619c83${_scopeId}><td data-v-f7619c83${_scopeId}><span class="mono dim" data-v-f7619c83${_scopeId}>${ssrInterpolate(n.id.slice(0, 8))}</span><b data-v-f7619c83${_scopeId}>${ssrInterpolate(n.name)}</b>`);
|
|
757
|
-
if (drvBadge(n.driver)) _push(`<span class="drv-badge" data-v-f7619c83${_scopeId}>${ssrInterpolate(drvBadge(n.driver))}</span>`);
|
|
758
|
-
else _push(`<!---->`);
|
|
759
|
-
_push(`<small class="mono ch" data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.dcwTemplateRefCh(n.templateRef))}</small></td><td data-v-f7619c83${_scopeId}><button class="${ssrRenderClass([{ on: n.enabled }, "ctrl-toggle"])}"${ssrIncludeBooleanAttr(__props.togglingId === n.id) ? " disabled" : ""}${ssrRenderAttr("title", n.enabled ? _ctx.$t("dcwDetail.pauseCtrlTip") : _ctx.$t("dcwDetail.enableCtrlTip"))} data-v-f7619c83${_scopeId}><span class="ct-dot" data-v-f7619c83${_scopeId}></span> ${ssrInterpolate(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062"))}</button></td><td data-v-f7619c83${_scopeId}>`);
|
|
760
|
-
if (!n.enabled) _push(`<span class="st-pill paused" data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3n93ed062"))}</span>`);
|
|
761
|
-
else _push(`<span class="${ssrRenderClass([n.state, "st-pill"])}" data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.stateLabel[n.state] ?? n.state)}</span>`);
|
|
762
|
-
_push(`</td><td class="mono val" data-v-f7619c83${_scopeId}>${ssrInterpolate(n.value != null ? n.value.toFixed(n.decimals) : "--")} <small data-v-f7619c83${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
|
|
763
|
-
if (n.lastAckAt) _push(`<small class="dim" data-v-f7619c83${_scopeId}> · ${ssrInterpolate(n.lastAckAt.slice(11, 19))}</small>`);
|
|
764
|
-
else _push(`<!---->`);
|
|
765
|
-
_push(`</td><td class="mono val" data-v-f7619c83${_scopeId}><span${ssrRenderAttr("title", n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"))} class="${ssrRenderClass({ "read-stale": n.lastReadError })}" data-v-f7619c83${_scopeId}>${ssrInterpolate(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--")}</span><small data-v-f7619c83${_scopeId}>${ssrInterpolate(n.unit)}</small>`);
|
|
766
|
-
if (n.lastReadAt) _push(`<small class="dim" data-v-f7619c83${_scopeId}> · ${ssrInterpolate(n.lastReadAt.slice(11, 19))}</small>`);
|
|
767
|
-
else _push(`<!---->`);
|
|
768
|
-
_push(`<button class="mini-btn read-btn"${ssrIncludeBooleanAttr(__props.readingId === n.id) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e020"))} data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.readingId === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021"))}</button></td><td data-v-f7619c83${_scopeId}><div class="write-row" data-v-f7619c83${_scopeId}><input${ssrRenderAttr("value", setInputs.value[n.id])} type="number" class="inp write-inp mono"${ssrRenderAttr("placeholder", `${n.min}~${n.max}`)}${ssrRenderAttr("min", n.min)}${ssrRenderAttr("max", n.max)}${ssrRenderAttr("step", 10 ** -n.decimals)}${ssrIncludeBooleanAttr(!n.enabled) ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : "")} data-v-f7619c83${_scopeId}><button class="mini-btn write-btn"${ssrIncludeBooleanAttr(!n.enabled || __props.writingId === n.id || setInputs.value[n.id] == null || setInputs.value[n.id] === "") ? " disabled" : ""}${ssrRenderAttr("title", !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : _ctx.$t("dcwDetail.writeTip"))} data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.writingId === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174"))}</button></div></td><td class="mono dim" data-v-f7619c83${_scopeId}>${ssrInterpolate(n.min)} ~ ${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}</td><td class="mono" data-v-f7619c83${_scopeId}>${ssrInterpolate(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`)} <small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k9r7d4e016"))} data-v-f7619c83${_scopeId}>· ${ssrInterpolate(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`)}</small><small class="dim"${ssrRenderAttr("title", _ctx.$t("dcwDetail.writeLockHint"))} data-v-f7619c83${_scopeId}>· ${ssrInterpolate(n.writeLockSeconds === 0 ? "0s" : `${n.writeLockSeconds}s`)}</small></td><td data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.nodeDeviceNames(n))}</td><td data-v-f7619c83${_scopeId}><div class="step-limit-cell" data-v-f7619c83${_scopeId}><input${ssrRenderAttr("value", stepDraft(n) ?? "")} type="number" min="0" step="any" class="inp step-inp mono" placeholder="2% default"${ssrRenderAttr("title", _ctx.$t("dcwDetail.stepInputTitle"))} data-v-f7619c83${_scopeId}><button class="mini-btn step-btn"${ssrIncludeBooleanAttr(__props.stepPatchingId === n.id) ? " disabled" : ""} data-v-f7619c83${_scopeId}>${ssrInterpolate(__props.stepPatchingId === n.id ? "…" : _ctx.$t("common.save"))}</button></div><small class="dim" data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.stepCurrent", { p0: n.stepLimit ?? _ctx.$t("dcwDetail.stepUnset") }))} ${ssrInterpolate(n.unit)}</small></td><td class="right" data-v-f7619c83${_scopeId}>`);
|
|
769
|
-
if (n.driver === "mes-rest") _push(`<button class="mini-btn"${ssrRenderAttr("title", _ctx.$t("dcwDetail.mesArtifactsTitle"))} data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.mesArtifactsBtn"))}</button>`);
|
|
770
|
-
else _push(`<!---->`);
|
|
771
|
-
_push(`<button class="mini-btn danger" data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></td></tr>`);
|
|
772
|
-
});
|
|
773
|
-
_push(`<!--]-->`);
|
|
774
|
-
if (__props.loaded && __props.lineNodes.length === 0) _push(`<tr data-v-f7619c83${_scopeId}><td colspan="10" data-v-f7619c83${_scopeId}><div class="pane-empty" style="${ssrRenderStyle({ "min-height": "120px" })}" data-v-f7619c83${_scopeId}><p class="pe-sub" data-v-f7619c83${_scopeId}>${ssrInterpolate(_ctx.$t("dcwDetail.k1wtecyw064"))}</p></div></td></tr>`);
|
|
775
|
-
else _push(`<!---->`);
|
|
776
|
-
_push(`</tbody></table></section>`);
|
|
777
|
-
} else return [createVNode("section", { class: "aw-tile table-card" }, [createVNode("table", { class: "nodes-table" }, [createVNode("thead", null, [createVNode("tr", null, [
|
|
778
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1e2dtkt053")), 1),
|
|
779
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k403cy054")), 1),
|
|
780
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k42w8s055")), 1),
|
|
781
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1deqh0d056")), 1),
|
|
782
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k9r7d4e018")), 1),
|
|
783
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1k79ec9057")), 1),
|
|
784
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1dexou6058")), 1),
|
|
785
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1b1nnaa059")), 1),
|
|
786
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.k1i8rtqt060")), 1),
|
|
787
|
-
createVNode("th", null, toDisplayString(_ctx.$t("dcwDetail.thStepLimit")), 1),
|
|
788
|
-
createVNode("th", { class: "right" }, toDisplayString(_ctx.$t("dcwDetail.k40aa6061")), 1)
|
|
789
|
-
])]), createVNode("tbody", null, [(openBlock(true), createBlock(Fragment, null, renderList(__props.lineNodes, (n) => {
|
|
790
|
-
return openBlock(), createBlock("tr", {
|
|
791
|
-
key: n.id,
|
|
792
|
-
class: { "node-paused": !n.enabled }
|
|
793
|
-
}, [
|
|
794
|
-
createVNode("td", null, [
|
|
795
|
-
createVNode("span", { class: "mono dim" }, toDisplayString(n.id.slice(0, 8)), 1),
|
|
796
|
-
createVNode("b", null, toDisplayString(n.name), 1),
|
|
797
|
-
drvBadge(n.driver) ? (openBlock(), createBlock("span", {
|
|
798
|
-
key: 0,
|
|
799
|
-
class: "drv-badge"
|
|
800
|
-
}, toDisplayString(drvBadge(n.driver)), 1)) : createCommentVNode("", true),
|
|
801
|
-
createVNode("small", { class: "mono ch" }, toDisplayString(__props.dcwTemplateRefCh(n.templateRef)), 1)
|
|
802
|
-
]),
|
|
803
|
-
createVNode("td", null, [createVNode("button", {
|
|
804
|
-
class: ["ctrl-toggle", { on: n.enabled }],
|
|
805
|
-
disabled: __props.togglingId === n.id,
|
|
806
|
-
title: n.enabled ? _ctx.$t("dcwDetail.pauseCtrlTip") : _ctx.$t("dcwDetail.enableCtrlTip"),
|
|
807
|
-
onClick: ($event) => emit("toggle", n.id, !n.enabled)
|
|
808
|
-
}, [createVNode("span", { class: "ct-dot" }), createTextVNode(" " + toDisplayString(n.enabled ? _ctx.$t("dcwDetail.k3o3ib3159") : _ctx.$t("dcwDetail.k3n93ed062")), 1)], 10, [
|
|
809
|
-
"disabled",
|
|
810
|
-
"title",
|
|
811
|
-
"onClick"
|
|
812
|
-
])]),
|
|
813
|
-
createVNode("td", null, [!n.enabled ? (openBlock(), createBlock("span", {
|
|
814
|
-
key: 0,
|
|
815
|
-
class: "st-pill paused"
|
|
816
|
-
}, toDisplayString(_ctx.$t("dcwDetail.k3n93ed062")), 1)) : (openBlock(), createBlock("span", {
|
|
817
|
-
key: 1,
|
|
818
|
-
class: ["st-pill", n.state]
|
|
819
|
-
}, toDisplayString(__props.stateLabel[n.state] ?? n.state), 3))]),
|
|
820
|
-
createVNode("td", { class: "mono val" }, [
|
|
821
|
-
createTextVNode(toDisplayString(n.value != null ? n.value.toFixed(n.decimals) : "--") + " ", 1),
|
|
822
|
-
createVNode("small", null, toDisplayString(n.unit), 1),
|
|
823
|
-
n.lastAckAt ? (openBlock(), createBlock("small", {
|
|
824
|
-
key: 0,
|
|
825
|
-
class: "dim"
|
|
826
|
-
}, " · " + toDisplayString(n.lastAckAt.slice(11, 19)), 1)) : createCommentVNode("", true)
|
|
827
|
-
]),
|
|
828
|
-
createVNode("td", { class: "mono val" }, [
|
|
829
|
-
createVNode("span", {
|
|
830
|
-
title: n.lastReadError ?? _ctx.$t("dcwDetail.k9r7d4e019"),
|
|
831
|
-
class: { "read-stale": n.lastReadError }
|
|
832
|
-
}, toDisplayString(n.readValue != null ? n.readValue.toFixed(n.decimals) : "--"), 11, ["title"]),
|
|
833
|
-
createVNode("small", null, toDisplayString(n.unit), 1),
|
|
834
|
-
n.lastReadAt ? (openBlock(), createBlock("small", {
|
|
835
|
-
key: 0,
|
|
836
|
-
class: "dim"
|
|
837
|
-
}, " · " + toDisplayString(n.lastReadAt.slice(11, 19)), 1)) : createCommentVNode("", true),
|
|
838
|
-
createVNode("button", {
|
|
839
|
-
class: "mini-btn read-btn",
|
|
840
|
-
disabled: __props.readingId === n.id,
|
|
841
|
-
title: _ctx.$t("dcwDetail.k9r7d4e020"),
|
|
842
|
-
onClick: ($event) => emit("read", n.id)
|
|
843
|
-
}, toDisplayString(__props.readingId === n.id ? "···" : _ctx.$t("dcwDetail.k9r7d4e021")), 9, [
|
|
844
|
-
"disabled",
|
|
845
|
-
"title",
|
|
846
|
-
"onClick"
|
|
847
|
-
])
|
|
848
|
-
]),
|
|
849
|
-
createVNode("td", null, [createVNode("div", { class: "write-row" }, [withDirectives(createVNode("input", {
|
|
850
|
-
"onUpdate:modelValue": ($event) => setInputs.value[n.id] = $event,
|
|
851
|
-
type: "number",
|
|
852
|
-
class: "inp write-inp mono",
|
|
853
|
-
placeholder: `${n.min}~${n.max}`,
|
|
854
|
-
min: n.min,
|
|
855
|
-
max: n.max,
|
|
856
|
-
step: 10 ** -n.decimals,
|
|
857
|
-
disabled: !n.enabled,
|
|
858
|
-
title: !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : ""
|
|
859
|
-
}, null, 8, [
|
|
860
|
-
"onUpdate:modelValue",
|
|
861
|
-
"placeholder",
|
|
862
|
-
"min",
|
|
863
|
-
"max",
|
|
864
|
-
"step",
|
|
865
|
-
"disabled",
|
|
866
|
-
"title"
|
|
867
|
-
]), [[
|
|
868
|
-
vModelText,
|
|
869
|
-
setInputs.value[n.id],
|
|
870
|
-
void 0,
|
|
871
|
-
{ number: true }
|
|
872
|
-
]]), createVNode("button", {
|
|
873
|
-
class: "mini-btn write-btn",
|
|
874
|
-
disabled: !n.enabled || __props.writingId === n.id || setInputs.value[n.id] == null || setInputs.value[n.id] === "",
|
|
875
|
-
title: !n.enabled ? _ctx.$t("dcwDetail.pausedTip") : _ctx.$t("dcwDetail.writeTip"),
|
|
876
|
-
onClick: ($event) => emit("write", n.id, Number(setInputs.value[n.id]))
|
|
877
|
-
}, toDisplayString(__props.writingId === n.id ? _ctx.$t("dcwDetail.k3l3h80123") : _ctx.$t("dcwDetail.k3w6td174")), 9, [
|
|
878
|
-
"disabled",
|
|
879
|
-
"title",
|
|
880
|
-
"onClick"
|
|
881
|
-
])])]),
|
|
882
|
-
createVNode("td", { class: "mono dim" }, toDisplayString(n.min) + " ~ " + toDisplayString(n.max) + " " + toDisplayString(n.unit), 1),
|
|
883
|
-
createVNode("td", { class: "mono" }, [
|
|
884
|
-
createTextVNode(toDisplayString(n.holdIntervalMs == null ? _ctx.$t("dcwDetail.k3zul4160") : `${n.holdIntervalMs}ms`) + " ", 1),
|
|
885
|
-
createVNode("small", {
|
|
886
|
-
class: "dim",
|
|
887
|
-
title: _ctx.$t("dcwDetail.k9r7d4e016")
|
|
888
|
-
}, "· " + toDisplayString(n.readIntervalMs === 0 ? _ctx.$t("dcwDetail.k9r7d4e022") : n.readIntervalMs == null ? _ctx.$t("dcwDetail.k9r7d4e023") : `${n.readIntervalMs}ms`), 9, ["title"]),
|
|
889
|
-
createVNode("small", {
|
|
890
|
-
class: "dim",
|
|
891
|
-
title: _ctx.$t("dcwDetail.writeLockHint")
|
|
892
|
-
}, "· " + toDisplayString(n.writeLockSeconds === 0 ? "0s" : `${n.writeLockSeconds}s`), 9, ["title"])
|
|
893
|
-
]),
|
|
894
|
-
createVNode("td", null, toDisplayString(__props.nodeDeviceNames(n)), 1),
|
|
895
|
-
createVNode("td", null, [createVNode("div", { class: "step-limit-cell" }, [createVNode("input", {
|
|
896
|
-
value: stepDraft(n) ?? "",
|
|
897
|
-
type: "number",
|
|
898
|
-
min: "0",
|
|
899
|
-
step: "any",
|
|
900
|
-
class: "inp step-inp mono",
|
|
901
|
-
placeholder: "2% default",
|
|
902
|
-
title: _ctx.$t("dcwDetail.stepInputTitle"),
|
|
903
|
-
onInput: ($event) => stepDrafts[n.id] = $event.target.value === "" ? "" : Number($event.target.value)
|
|
904
|
-
}, null, 40, [
|
|
905
|
-
"value",
|
|
906
|
-
"title",
|
|
907
|
-
"onInput"
|
|
908
|
-
]), createVNode("button", {
|
|
909
|
-
class: "mini-btn step-btn",
|
|
910
|
-
disabled: __props.stepPatchingId === n.id,
|
|
911
|
-
onClick: ($event) => saveStep(n)
|
|
912
|
-
}, toDisplayString(__props.stepPatchingId === n.id ? "…" : _ctx.$t("common.save")), 9, ["disabled", "onClick"])]), createVNode("small", { class: "dim" }, toDisplayString(_ctx.$t("dcwDetail.stepCurrent", { p0: n.stepLimit ?? _ctx.$t("dcwDetail.stepUnset") })) + " " + toDisplayString(n.unit), 1)]),
|
|
913
|
-
createVNode("td", { class: "right" }, [n.driver === "mes-rest" ? (openBlock(), createBlock("button", {
|
|
914
|
-
key: 0,
|
|
915
|
-
class: "mini-btn",
|
|
916
|
-
title: _ctx.$t("dcwDetail.mesArtifactsTitle"),
|
|
917
|
-
onClick: ($event) => emit("artifacts", n.id)
|
|
918
|
-
}, toDisplayString(_ctx.$t("dcwDetail.mesArtifactsBtn")), 9, ["title", "onClick"])) : createCommentVNode("", true), createVNode("button", {
|
|
919
|
-
class: "mini-btn danger",
|
|
920
|
-
onClick: ($event) => emit("remove", n.id)
|
|
921
|
-
}, toDisplayString(_ctx.$t("dcwDetail.k3xakp063")), 9, ["onClick"])])
|
|
922
|
-
], 2);
|
|
923
|
-
}), 128)), __props.loaded && __props.lineNodes.length === 0 ? (openBlock(), createBlock("tr", { key: 0 }, [createVNode("td", { colspan: "10" }, [createVNode("div", {
|
|
924
|
-
class: "pane-empty",
|
|
925
|
-
style: { "min-height": "120px" }
|
|
926
|
-
}, [createVNode("p", { class: "pe-sub" }, toDisplayString(_ctx.$t("dcwDetail.k1wtecyw064")), 1)])])])) : createCommentVNode("", true)])])])];
|
|
927
|
-
}),
|
|
928
|
-
_: 1
|
|
929
|
-
}, _parent));
|
|
930
|
-
};
|
|
931
|
-
}
|
|
932
|
-
});
|
|
933
|
-
//#endregion
|
|
934
|
-
//#region app/components/dcw/DcwNodesTable.vue
|
|
935
|
-
var _sfc_setup$11 = DcwNodesTable_vue_vue_type_script_setup_true_lang_default.setup;
|
|
936
|
-
DcwNodesTable_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
937
|
-
const ssrContext = useSSRContext();
|
|
938
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwNodesTable.vue");
|
|
939
|
-
return _sfc_setup$11 ? _sfc_setup$11(props, ctx) : void 0;
|
|
940
|
-
};
|
|
941
|
-
var DcwNodesTable_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwNodesTable_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f7619c83"]]), { __name: "DcwNodesTable" });
|
|
942
|
-
//#endregion
|
|
943
|
-
//#region app/components/dcw/DcwMesArtifacts.vue?vue&type=script&setup=true&lang.ts
|
|
944
|
-
var DcwMesArtifacts_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
945
|
-
__name: "DcwMesArtifacts",
|
|
946
|
-
__ssrInlineRender: true,
|
|
947
|
-
props: /*@__PURE__*/ mergeModels({
|
|
948
|
-
nodeId: {},
|
|
949
|
-
nodeName: {}
|
|
950
|
-
}, {
|
|
951
|
-
"open": {
|
|
952
|
-
type: Boolean,
|
|
953
|
-
required: true
|
|
954
|
-
},
|
|
955
|
-
"openModifiers": {}
|
|
956
|
-
}),
|
|
957
|
-
emits: ["update:open"],
|
|
958
|
-
setup(__props) {
|
|
959
|
-
/**
|
|
960
|
-
* MES 点位产物弹窗 —— dataHook/图像落盘产物的浏览与预览。
|
|
961
|
-
* 列表来自 GET /api/workshop/dcw/mes-artifacts(node_id);图像/SVG 经
|
|
962
|
-
* /mes-artifacts/file 内联预览(csv/json 新窗口打开)。组件自取数,页面零状态。
|
|
963
|
-
*/
|
|
964
|
-
const props = __props;
|
|
965
|
-
const open = useModel(__props, "open");
|
|
966
|
-
const items = ref([]);
|
|
967
|
-
const loading = ref(false);
|
|
968
|
-
const error = ref("");
|
|
969
|
-
const preview = ref(null);
|
|
970
|
-
async function refresh() {
|
|
971
|
-
if (!props.nodeId) return;
|
|
972
|
-
loading.value = true;
|
|
973
|
-
error.value = "";
|
|
974
|
-
try {
|
|
975
|
-
const r = await narrowFetch("/api/workshop/dcw/mes-artifacts", { query: {
|
|
976
|
-
node_id: props.nodeId,
|
|
977
|
-
limit: 60
|
|
978
|
-
} });
|
|
979
|
-
items.value = r.data?.artifacts ?? [];
|
|
980
|
-
} catch (err) {
|
|
981
|
-
error.value = err instanceof Error ? err.message : String(err);
|
|
982
|
-
} finally {
|
|
983
|
-
loading.value = false;
|
|
984
|
-
}
|
|
985
|
-
}
|
|
986
|
-
watch(open, (v) => {
|
|
987
|
-
if (v) {
|
|
988
|
-
preview.value = null;
|
|
989
|
-
refresh();
|
|
990
|
-
}
|
|
991
|
-
});
|
|
992
|
-
const fileUrl = (name) => `/api/workshop/dcw/mes-artifacts/file?node_id=${encodeURIComponent(props.nodeId)}&name=${encodeURIComponent(name)}`;
|
|
993
|
-
const isImage = (a) => a.mime.startsWith("image/");
|
|
994
|
-
const fmtBytes = (b) => b >= 1048576 ? `${(b / 1024 / 1024).toFixed(1)}MB` : `${Math.max(1, Math.round(b / 1024))}KB`;
|
|
995
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
996
|
-
if (open.value) {
|
|
997
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-3ab50533><div class="modal mes-artifacts-modal" data-v-3ab50533><h3 class="m-title" data-v-3ab50533>${ssrInterpolate(_ctx.$t("dcwDetail.mesArtifactsTitle"))} · ${ssrInterpolate(__props.nodeName || __props.nodeId)}</h3><div class="art-toolbar" data-v-3ab50533><button class="mini-btn"${ssrIncludeBooleanAttr(loading.value) ? " disabled" : ""} data-v-3ab50533>${ssrInterpolate(loading.value ? "···" : _ctx.$t("dcwDetail.mesArtifactsRefresh"))}</button>`);
|
|
998
|
-
if (error.value) _push(`<span class="test-result bad" data-v-3ab50533>✗ ${ssrInterpolate(error.value)}</span>`);
|
|
999
|
-
else _push(`<span class="dim" data-v-3ab50533>${ssrInterpolate(items.value.length)}</span>`);
|
|
1000
|
-
_push(`</div><div class="art-body" data-v-3ab50533>`);
|
|
1001
|
-
if (!loading.value && items.value.length === 0) _push(`<p class="dim" data-v-3ab50533>${ssrInterpolate(_ctx.$t("dcwDetail.mesArtifactsEmpty"))}</p>`);
|
|
1002
|
-
else {
|
|
1003
|
-
_push(`<ul class="art-list" data-v-3ab50533><!--[-->`);
|
|
1004
|
-
ssrRenderList(items.value, (a) => {
|
|
1005
|
-
_push(`<li class="${ssrRenderClass({ on: preview.value?.name === a.name })}" data-v-3ab50533><span class="mono" data-v-3ab50533>${ssrInterpolate(a.name)}</span><small class="dim" data-v-3ab50533>${ssrInterpolate(fmtBytes(a.bytes))} · ${ssrInterpolate(a.mtime?.slice(5, 19).replace("T", " ") ?? "")}</small></li>`);
|
|
1006
|
-
});
|
|
1007
|
-
_push(`<!--]--></ul>`);
|
|
1008
|
-
}
|
|
1009
|
-
if (preview.value) {
|
|
1010
|
-
_push(`<div class="art-preview" data-v-3ab50533>`);
|
|
1011
|
-
if (isImage(preview.value)) _push(`<img${ssrRenderAttr("src", fileUrl(preview.value.name))}${ssrRenderAttr("alt", preview.value.name)} data-v-3ab50533>`);
|
|
1012
|
-
else _push(`<span class="dim" data-v-3ab50533>${ssrInterpolate(_ctx.$t("dcwDetail.mesArtifactsBinary"))}</span>`);
|
|
1013
|
-
_push(`<a class="mini-btn"${ssrRenderAttr("href", fileUrl(preview.value.name))} target="_blank" rel="noopener" data-v-3ab50533>${ssrInterpolate(_ctx.$t("dcwDetail.mesArtifactsOpen"))} ${ssrInterpolate(preview.value.name)}</a></div>`);
|
|
1014
|
-
} else _push(`<!---->`);
|
|
1015
|
-
_push(`</div></div></div>`);
|
|
1016
|
-
} else _push(`<!---->`);
|
|
1017
|
-
};
|
|
1018
|
-
}
|
|
1019
|
-
});
|
|
1020
|
-
//#endregion
|
|
1021
|
-
//#region app/components/dcw/DcwMesArtifacts.vue
|
|
1022
|
-
var _sfc_setup$10 = DcwMesArtifacts_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1023
|
-
DcwMesArtifacts_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1024
|
-
const ssrContext = useSSRContext();
|
|
1025
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwMesArtifacts.vue");
|
|
1026
|
-
return _sfc_setup$10 ? _sfc_setup$10(props, ctx) : void 0;
|
|
1027
|
-
};
|
|
1028
|
-
var DcwMesArtifacts_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwMesArtifacts_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3ab50533"]]), { __name: "DcwMesArtifacts" });
|
|
1029
|
-
//#endregion
|
|
1030
|
-
//#region app/components/dcw/DcwRunDataModal.vue?vue&type=script&setup=true&lang.ts
|
|
1031
|
-
var DcwRunDataModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1032
|
-
__name: "DcwRunDataModal",
|
|
1033
|
-
__ssrInlineRender: true,
|
|
1034
|
-
props: { runDataView: {} },
|
|
1035
|
-
emits: ["close"],
|
|
1036
|
-
setup(__props, { emit: __emit }) {
|
|
1037
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1038
|
-
if (__props.runDataView) {
|
|
1039
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-23fad435><div class="modal" data-v-23fad435><h3 class="m-title" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k11lq94k145"))} ${ssrInterpolate(__props.runDataView.data.run.recipeName)}(${ssrInterpolate(__props.runDataView.runId)}) </h3><p class="sec-label" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k1me41w8080"))}</p><table class="nodes-table" data-v-23fad435><thead data-v-23fad435><tr data-v-23fad435><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k40t11083"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k3xuaw084"))}</th><th data-v-23fad435>min ~ max</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k4118o085"))}</th></tr></thead><tbody data-v-23fad435><!--[-->`);
|
|
1040
|
-
ssrRenderList(__props.runDataView.data.daq, (d) => {
|
|
1041
|
-
_push(`<tr data-v-23fad435><td data-v-23fad435>${ssrInterpolate(d.ch)}<small class="mono dim" data-v-23fad435>${ssrInterpolate(d.unit)}</small></td><td data-v-23fad435>${ssrInterpolate(d.nodeName)}</td><td class="mono" data-v-23fad435>${ssrInterpolate(d.latest)}</td><td class="mono" data-v-23fad435>${ssrInterpolate(d.avg)}</td><td class="mono dim" data-v-23fad435>${ssrInterpolate(d.min)} ~ ${ssrInterpolate(d.max)}</td><td class="mono dim" data-v-23fad435>${ssrInterpolate(d.cnt)}</td></tr>`);
|
|
1042
|
-
});
|
|
1043
|
-
_push(`<!--]-->`);
|
|
1044
|
-
if (__props.runDataView.data.daq.length === 0) _push(`<tr data-v-23fad435><td colspan="6" class="dim" style="${ssrRenderStyle({
|
|
1045
|
-
"text-align": "center",
|
|
1046
|
-
"padding": "12px"
|
|
1047
|
-
})}" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.kd457ry086"))}</td></tr>`);
|
|
1048
|
-
else _push(`<!---->`);
|
|
1049
|
-
_push(`</tbody></table><p class="sec-label" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k12b7cxs087"))}</p><table class="nodes-table" data-v-23fad435><thead data-v-23fad435><tr data-v-23fad435><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k3xbjr088"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k3ncbsh089"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k3lh3mz090"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k454pg091"))}</th><th data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k40ieu092"))}</th></tr></thead><tbody data-v-23fad435><!--[-->`);
|
|
1050
|
-
ssrRenderList(__props.runDataView.data.writes, (w, i) => {
|
|
1051
|
-
_push(`<tr data-v-23fad435><td data-v-23fad435>${ssrInterpolate(w.param)}</td><td data-v-23fad435>${ssrInterpolate(w.nodeName)}</td><td class="mono" data-v-23fad435>${ssrInterpolate(w.eng)}</td><td class="mono dim" data-v-23fad435>${ssrInterpolate(w.raw)}</td><td data-v-23fad435><span class="${ssrRenderClass([w.ok ? "ok" : "alarm", "st-pill"])}" data-v-23fad435>${ssrInterpolate(w.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="mono dim" data-v-23fad435>${ssrInterpolate(w.at.slice(5, 19))}</td></tr>`);
|
|
1052
|
-
});
|
|
1053
|
-
_push(`<!--]-->`);
|
|
1054
|
-
if (__props.runDataView.data.writes.length === 0) _push(`<tr data-v-23fad435><td colspan="6" class="dim" style="${ssrRenderStyle({
|
|
1055
|
-
"text-align": "center",
|
|
1056
|
-
"padding": "12px"
|
|
1057
|
-
})}" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.knzcp8i093"))}</td></tr>`);
|
|
1058
|
-
else _push(`<!---->`);
|
|
1059
|
-
_push(`</tbody></table><div class="m-actions" data-v-23fad435><button class="aw-pill outline" data-v-23fad435>${ssrInterpolate(_ctx.$t("dcwDetail.k3x62t043"))}</button></div></div></div>`);
|
|
1060
|
-
} else _push(`<!---->`);
|
|
1061
|
-
};
|
|
1062
|
-
}
|
|
1063
|
-
});
|
|
1064
|
-
//#endregion
|
|
1065
|
-
//#region app/components/dcw/DcwRunDataModal.vue
|
|
1066
|
-
var _sfc_setup$9 = DcwRunDataModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1067
|
-
DcwRunDataModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1068
|
-
const ssrContext = useSSRContext();
|
|
1069
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwRunDataModal.vue");
|
|
1070
|
-
return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
|
|
1071
|
-
};
|
|
1072
|
-
var DcwRunDataModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwRunDataModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-23fad435"]]), { __name: "DcwRunDataModal" });
|
|
1073
|
-
//#endregion
|
|
1074
|
-
//#region app/components/dcw/DcwRecipePanel.vue?vue&type=script&setup=true&lang.ts
|
|
1075
|
-
var DcwRecipePanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1076
|
-
__name: "DcwRecipePanel",
|
|
1077
|
-
__ssrInlineRender: true,
|
|
1078
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1079
|
-
lineProducts: {},
|
|
1080
|
-
visibleRecipes: {},
|
|
1081
|
-
lineRuns: {},
|
|
1082
|
-
applyResult: {},
|
|
1083
|
-
runDataView: {},
|
|
1084
|
-
runDataLoading: { type: Boolean },
|
|
1085
|
-
productName: { type: Function },
|
|
1086
|
-
paramStatus: { type: Function },
|
|
1087
|
-
paramNodeName: { type: Function },
|
|
1088
|
-
daqWindowStatus: { type: Function },
|
|
1089
|
-
daqNodeCh: { type: Function }
|
|
1090
|
-
}, {
|
|
1091
|
-
"filterProductId": { required: true },
|
|
1092
|
-
"filterProductIdModifiers": {}
|
|
1093
|
-
}),
|
|
1094
|
-
emits: /*@__PURE__*/ mergeModels([
|
|
1095
|
-
"create",
|
|
1096
|
-
"open-product",
|
|
1097
|
-
"apply",
|
|
1098
|
-
"edit",
|
|
1099
|
-
"history",
|
|
1100
|
-
"dispatch-history",
|
|
1101
|
-
"remove-recipe",
|
|
1102
|
-
"remove-product",
|
|
1103
|
-
"view-run",
|
|
1104
|
-
"close-run",
|
|
1105
|
-
"close-run-data"
|
|
1106
|
-
], ["update:filterProductId"]),
|
|
1107
|
-
setup(__props, { emit: __emit }) {
|
|
1108
|
-
/**
|
|
1109
|
-
* 产品与配方管理 —— 产品筛选行 / 配方卡片(参数与监控窗口 chip、失效徽标) /
|
|
1110
|
-
* 应用配方结果横幅 / 批次列表;批次数据视图由 DcwRunDataModal 承载(仍在同一 section 内)。
|
|
1111
|
-
* 配方清单与运行数据由页面派生下发,动作一律回抛页面。
|
|
1112
|
-
*/
|
|
1113
|
-
const emit = __emit;
|
|
1114
|
-
const { t } = useI18n();
|
|
1115
|
-
/** 产品筛选(页面唯一副本;配方清单与查询下拉同源) */
|
|
1116
|
-
const filterProductId = useModel(__props, "filterProductId");
|
|
1117
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1118
|
-
const _component_DcwRunDataModal = DcwRunDataModal_default;
|
|
1119
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile recipe-card" }, _attrs))} data-v-d9e4932d><div class="recipe-hd" data-v-d9e4932d><h3 data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1j8w3hd065"))}</h3><span class="panel-tag mono" data-v-d9e4932d>${ssrInterpolate(__props.lineProducts.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1av3wgs143"))} ${ssrInterpolate(__props.visibleRecipes.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><button class="pill-btn" style="${ssrRenderStyle({ "margin-left": "auto" })}" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1akm6dc066"))}</button><button class="mini-btn" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1aka0ki067"))}</button></div><p class="recipe-sub" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k6bl2q8068"))}</p>`);
|
|
1120
|
-
if (__props.lineProducts.length) {
|
|
1121
|
-
_push(`<div class="product-row" data-v-d9e4932d><button class="${ssrRenderClass([{ on: filterProductId.value === "" }, "prod-chip"])}" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k3x4t1069"))}</button><!--[-->`);
|
|
1122
|
-
ssrRenderList(__props.lineProducts, (p) => {
|
|
1123
|
-
_push(`<button class="${ssrRenderClass([{ on: filterProductId.value === p.id }, "prod-chip"])}"${ssrRenderAttr("title", p.description)} data-v-d9e4932d>${ssrInterpolate(p.name)} <span class="prod-del"${ssrRenderAttr("title", _ctx.$t("dcwDetail.k1bpfjgx012"))} data-v-d9e4932d>×</span></button>`);
|
|
1124
|
-
});
|
|
1125
|
-
_push(`<!--]--></div>`);
|
|
1126
|
-
} else _push(`<p class="dim" style="${ssrRenderStyle({
|
|
1127
|
-
"margin": "6px 0 12px",
|
|
1128
|
-
"font-size": "12px"
|
|
1129
|
-
})}" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.knov3zg070"))}</p>`);
|
|
1130
|
-
_push(`<div class="recipe-grid" data-v-d9e4932d><!--[-->`);
|
|
1131
|
-
ssrRenderList(__props.visibleRecipes, (r) => {
|
|
1132
|
-
_push(`<div class="recipe-item" data-v-d9e4932d><div class="recipe-name" data-v-d9e4932d><b data-v-d9e4932d>${ssrInterpolate(r.name)}</b>`);
|
|
1133
|
-
if (r.version) _push(`<span class="param-chip mono"${ssrRenderAttr("title", unref(t)("dcwDetail.histTitle"))} data-v-d9e4932d>v${ssrInterpolate(r.version)}</span>`);
|
|
1134
|
-
else _push(`<!---->`);
|
|
1135
|
-
_push(`<small class="dim" data-v-d9e4932d>${ssrInterpolate(__props.productName(r.productId))}</small><small class="mono dim" data-v-d9e4932d>${ssrInterpolate(r.id)}</small></div>`);
|
|
1136
|
-
if (r.description) _push(`<p class="dim desc" data-v-d9e4932d>${ssrInterpolate(r.description)}</p>`);
|
|
1137
|
-
else _push(`<!---->`);
|
|
1138
|
-
_push(`<div class="recipe-params mono" data-v-d9e4932d><!--[-->`);
|
|
1139
|
-
ssrRenderList(r.params, (p, i) => {
|
|
1140
|
-
_push(`<span class="${ssrRenderClass([{ stale: __props.paramStatus(p.nodeId, r.lineId) }, "param-chip"])}"${ssrRenderAttr("title", __props.paramStatus(p.nodeId, r.lineId)?.label ?? "")} data-v-d9e4932d>${ssrInterpolate(__props.paramNodeName(p.nodeId))} = ${ssrInterpolate(p.value)}`);
|
|
1141
|
-
if (p.stepLimit != null) _push(`<span class="chip-step-tag" data-v-d9e4932d>Δ≤${ssrInterpolate(p.stepLimit)}</span>`);
|
|
1142
|
-
else _push(`<!---->`);
|
|
1143
|
-
if (__props.paramStatus(p.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-d9e4932d>${ssrInterpolate(__props.paramStatus(p.nodeId, r.lineId).label)}</span>`);
|
|
1144
|
-
else _push(`<!---->`);
|
|
1145
|
-
_push(`</span>`);
|
|
1146
|
-
});
|
|
1147
|
-
_push(`<!--]--><!--[-->`);
|
|
1148
|
-
ssrRenderList(r.daqWindows, (w, i) => {
|
|
1149
|
-
_push(`<span class="${ssrRenderClass([{ stale: __props.daqWindowStatus(w.nodeId, r.lineId) }, "param-chip daqwin"])}"${ssrRenderAttr("title", __props.daqWindowStatus(w.nodeId, r.lineId)?.label ?? _ctx.$t("dcwDetail.k1l11api013"))} data-v-d9e4932d> ◎ ${ssrInterpolate(__props.daqNodeCh(w.nodeId))} ∈ [${ssrInterpolate(w.min ?? "-∞")}, ${ssrInterpolate(w.max ?? "+∞")}]`);
|
|
1150
|
-
if (__props.daqWindowStatus(w.nodeId, r.lineId)) _push(`<span class="chip-stale-tag" data-v-d9e4932d>${ssrInterpolate(__props.daqWindowStatus(w.nodeId, r.lineId).label)}</span>`);
|
|
1151
|
-
else _push(`<!---->`);
|
|
1152
|
-
_push(`</span>`);
|
|
1153
|
-
});
|
|
1154
|
-
_push(`<!--]--></div><div class="recipe-actions" data-v-d9e4932d><button class="pill-btn" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1497qvr071"))}</button><button class="mini-btn" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k45eb0072"))}</button><button class="mini-btn" data-v-d9e4932d>${ssrInterpolate(unref(t)("dcwDetail.histBtn"))}`);
|
|
1155
|
-
if (r.version) _push(`<span class="mono" data-v-d9e4932d>·v${ssrInterpolate(r.version)}</span>`);
|
|
1156
|
-
else _push(`<!---->`);
|
|
1157
|
-
_push(`</button><button class="mini-btn" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistBtn"))}</button><button class="mini-btn danger" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k3xakp063"))}</button></div></div>`);
|
|
1158
|
-
});
|
|
1159
|
-
_push(`<!--]-->`);
|
|
1160
|
-
if (__props.visibleRecipes.length === 0) _push(`<div class="pane-empty" style="${ssrRenderStyle({ "grid-column": "1 / -1" })}" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.keko1xy073"))}</div>`);
|
|
1161
|
-
else _push(`<!---->`);
|
|
1162
|
-
_push(`</div>`);
|
|
1163
|
-
if (__props.applyResult) _push(`<div class="banner good" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3hrvp144"))} ${ssrInterpolate(__props.applyResult.runId)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1g3lh2v167"))}${ssrInterpolate(__props.applyResult.ok)}/${ssrInterpolate(__props.applyResult.total)} ${ssrInterpolate(_ctx.$t("dcwDetail.k1bqci06149"))} <button class="mini-btn" style="${ssrRenderStyle({ "margin-left": "10px" })}"${ssrIncludeBooleanAttr(__props.runDataLoading) ? " disabled" : ""} data-v-d9e4932d>${ssrInterpolate(__props.runDataLoading ? _ctx.$t("dcwDetail.k1br0ij9161") : _ctx.$t("dcwDetail.kxwei5175"))}</button></div>`);
|
|
1164
|
-
else _push(`<!---->`);
|
|
1165
|
-
if (__props.lineRuns.length) {
|
|
1166
|
-
_push(`<div class="runs" data-v-d9e4932d><p class="sec-label" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1rjer8d074"))}</p><table class="nodes-table" data-v-d9e4932d><thead data-v-d9e4932d><tr data-v-d9e4932d><th data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k400lb075"))}</th><th data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</th><th data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k4497j076"))}</th><th data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1bqhtmu077"))}</th><th class="right" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k40aa6061"))}</th></tr></thead><tbody data-v-d9e4932d><!--[-->`);
|
|
1167
|
-
ssrRenderList([...__props.lineRuns].reverse().slice(0, 8), (run) => {
|
|
1168
|
-
_push(`<tr data-v-d9e4932d><td class="mono" data-v-d9e4932d>${ssrInterpolate(run.id)}</td><td data-v-d9e4932d>${ssrInterpolate(run.recipeName)}</td><td class="mono dim" data-v-d9e4932d>${ssrInterpolate(run.startedAt.slice(5, 19))} ~ ${ssrInterpolate(run.endedAt ? run.endedAt.slice(5, 19) : _ctx.$t("dcwDetail.k3vpfg9162"))}</td><td data-v-d9e4932d><span class="${ssrRenderClass([run.results.every((r) => r.ok) ? "ok" : "warn", "st-pill"])}" data-v-d9e4932d>${ssrInterpolate(run.results.filter((r) => r.ok).length)}/${ssrInterpolate(run.results.length)}</span></td><td class="right" data-v-d9e4932d><button class="mini-btn"${ssrIncludeBooleanAttr(__props.runDataLoading) ? " disabled" : ""} data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1dzwrdp078"))}</button>`);
|
|
1169
|
-
if (!run.endedAt) _push(`<button class="mini-btn" data-v-d9e4932d>${ssrInterpolate(_ctx.$t("dcwDetail.k1blr7y7079"))}</button>`);
|
|
1170
|
-
else _push(`<!---->`);
|
|
1171
|
-
_push(`</td></tr>`);
|
|
1172
|
-
});
|
|
1173
|
-
_push(`<!--]--></tbody></table></div>`);
|
|
1174
|
-
} else _push(`<!---->`);
|
|
1175
|
-
_push(ssrRenderComponent(_component_DcwRunDataModal, {
|
|
1176
|
-
"run-data-view": __props.runDataView,
|
|
1177
|
-
onClose: ($event) => emit("close-run-data")
|
|
1178
|
-
}, null, _parent));
|
|
1179
|
-
_push(`</section>`);
|
|
1180
|
-
};
|
|
1181
|
-
}
|
|
1182
|
-
});
|
|
1183
|
-
//#endregion
|
|
1184
|
-
//#region app/components/dcw/DcwRecipePanel.vue
|
|
1185
|
-
var _sfc_setup$8 = DcwRecipePanel_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1186
|
-
DcwRecipePanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1187
|
-
const ssrContext = useSSRContext();
|
|
1188
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwRecipePanel.vue");
|
|
1189
|
-
return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
|
|
1190
|
-
};
|
|
1191
|
-
var DcwRecipePanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwRecipePanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d9e4932d"]]), { __name: "DcwRecipePanel" });
|
|
1192
|
-
//#endregion
|
|
1193
|
-
//#region app/components/dcw/DcwRecipeDispatchHistoryModal.vue?vue&type=script&setup=true&lang.ts
|
|
1194
|
-
var DcwRecipeDispatchHistoryModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1195
|
-
__name: "DcwRecipeDispatchHistoryModal",
|
|
1196
|
-
__ssrInlineRender: true,
|
|
1197
|
-
props: {
|
|
1198
|
-
open: { type: Boolean },
|
|
1199
|
-
recipeId: {},
|
|
1200
|
-
recipeName: {}
|
|
1201
|
-
},
|
|
1202
|
-
emits: ["update:open"],
|
|
1203
|
-
setup(__props, { emit: __emit }) {
|
|
1204
|
-
/**
|
|
1205
|
-
* 配方下发历史 —— recipe 管理页内直接查看该配方的产线域审计
|
|
1206
|
-
* (创建/更新/试验/正式下发/逐参数 ACK/回退/开跑整批下发)。
|
|
1207
|
-
* 数据源与 Agent recipe_log 同源:GET /api/workshop/ops-logs?scope=line&recipeId=...
|
|
1208
|
-
*/
|
|
1209
|
-
const props = __props;
|
|
1210
|
-
const rows = ref([]);
|
|
1211
|
-
const loading = ref(false);
|
|
1212
|
-
const error = ref("");
|
|
1213
|
-
const ACTION_LABEL = {
|
|
1214
|
-
"recipe.create": "创建配方",
|
|
1215
|
-
"recipe.update": "更新配方",
|
|
1216
|
-
"recipe.update.agent": "Agent 更新配方",
|
|
1217
|
-
"recipe.revert": "配方回退",
|
|
1218
|
-
"recipe.trial": "试验下发",
|
|
1219
|
-
"recipe.apply": "正式下发",
|
|
1220
|
-
"recipe.dispatch.ack": "下发回执",
|
|
1221
|
-
"recipe.propose": "方案审批",
|
|
1222
|
-
"recipe.mark-good": "标记良好批次",
|
|
1223
|
-
"recipe.rollback-good": "恢复良好批次",
|
|
1224
|
-
"line.start": "开跑整批下发",
|
|
1225
|
-
"line.stop": "停线",
|
|
1226
|
-
"dcw.write.recipe": "逐参数写入",
|
|
1227
|
-
"dcw.write.agent": "逐参数写入"
|
|
1228
|
-
};
|
|
1229
|
-
function actionLabel(action) {
|
|
1230
|
-
return ACTION_LABEL[action] ?? action;
|
|
1231
|
-
}
|
|
1232
|
-
function sourceLabel(row) {
|
|
1233
|
-
return {
|
|
1234
|
-
agent: "Agent",
|
|
1235
|
-
user: "用户",
|
|
1236
|
-
system: "系统"
|
|
1237
|
-
}[String(row.actorKind ?? "")] ?? String(row.actorKind ?? "-");
|
|
1238
|
-
}
|
|
1239
|
-
function fmtAt(iso) {
|
|
1240
|
-
return String(iso ?? "").length >= 19 ? String(iso).slice(5, 19).replace("T", " ") : String(iso ?? "");
|
|
1241
|
-
}
|
|
1242
|
-
async function load() {
|
|
1243
|
-
if (!props.recipeId) return;
|
|
1244
|
-
loading.value = true;
|
|
1245
|
-
error.value = "";
|
|
1246
|
-
try {
|
|
1247
|
-
const res = await apiFetch({
|
|
1248
|
-
base: "/api/workshop/ops-logs",
|
|
1249
|
-
path: `?scope=line&recipeId=${encodeURIComponent(props.recipeId)}&limit=100`
|
|
1250
|
-
});
|
|
1251
|
-
rows.value = (res?.logs ?? []).filter((r) => /^recipe\./.test(r.action) || /^line\.(start|stop)$/.test(r.action) || /^dcw\.write\./.test(r.action));
|
|
1252
|
-
} catch (err) {
|
|
1253
|
-
error.value = err instanceof Error ? err.message : String(err);
|
|
1254
|
-
rows.value = [];
|
|
1255
|
-
} finally {
|
|
1256
|
-
loading.value = false;
|
|
1257
|
-
}
|
|
1258
|
-
}
|
|
1259
|
-
watch(() => props.open, (open) => {
|
|
1260
|
-
if (open) load();
|
|
1261
|
-
}, { immediate: true });
|
|
1262
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1263
|
-
if (__props.open) {
|
|
1264
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-0089c52d><div class="modal recipe-history-modal" data-v-0089c52d><div class="modal-hd" data-v-0089c52d><h3 data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistTitle"))} · ${ssrInterpolate(__props.recipeName || __props.recipeId)}</h3><button class="mini-btn" data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.closeBtn"))}</button></div><p class="modal-sub" data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistSub"))}</p>`);
|
|
1265
|
-
if (loading.value) _push(`<p class="modal-sub" data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.histLoading"))}</p>`);
|
|
1266
|
-
else if (error.value) _push(`<p class="banner bad" data-v-0089c52d>${ssrInterpolate(error.value)}</p>`);
|
|
1267
|
-
else if (rows.value.length === 0) _push(`<p class="modal-sub" data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistEmpty"))}</p>`);
|
|
1268
|
-
else {
|
|
1269
|
-
_push(`<table class="nodes-table" data-v-0089c52d><thead data-v-0089c52d><tr data-v-0089c52d><th data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistTime"))}</th><th data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistAction"))}</th><th data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistSource"))}</th><th data-v-0089c52d>${ssrInterpolate(_ctx.$t("dcwDetail.dispatchHistSummary"))}</th></tr></thead><tbody data-v-0089c52d><!--[-->`);
|
|
1270
|
-
ssrRenderList(rows.value, (row, i) => {
|
|
1271
|
-
_push(`<tr data-v-0089c52d><td class="mono" data-v-0089c52d>${ssrInterpolate(fmtAt(row.at))}</td><td data-v-0089c52d><span class="st-pill" data-v-0089c52d>${ssrInterpolate(actionLabel(row.action))}</span></td><td data-v-0089c52d>${ssrInterpolate(sourceLabel(row))} / ${ssrInterpolate(row.actorName || row.actor || "-")}</td><td class="summary" data-v-0089c52d>${ssrInterpolate(row.summary || "-")}</td></tr>`);
|
|
1272
|
-
});
|
|
1273
|
-
_push(`<!--]--></tbody></table>`);
|
|
1274
|
-
}
|
|
1275
|
-
_push(`</div></div>`);
|
|
1276
|
-
} else _push(`<!---->`);
|
|
1277
|
-
};
|
|
1278
|
-
}
|
|
1279
|
-
});
|
|
1280
|
-
//#endregion
|
|
1281
|
-
//#region app/components/dcw/DcwRecipeDispatchHistoryModal.vue
|
|
1282
|
-
var _sfc_setup$7 = DcwRecipeDispatchHistoryModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1283
|
-
DcwRecipeDispatchHistoryModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1284
|
-
const ssrContext = useSSRContext();
|
|
1285
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwRecipeDispatchHistoryModal.vue");
|
|
1286
|
-
return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
|
|
1287
|
-
};
|
|
1288
|
-
var DcwRecipeDispatchHistoryModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwRecipeDispatchHistoryModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0089c52d"]]), { __name: "DcwRecipeDispatchHistoryModal" });
|
|
1289
|
-
//#endregion
|
|
1290
|
-
//#region app/components/dcw/DcwRecipeEditModal.vue?vue&type=script&setup=true&lang.ts
|
|
1291
|
-
var DcwRecipeEditModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1292
|
-
__name: "DcwRecipeEditModal",
|
|
1293
|
-
__ssrInlineRender: true,
|
|
1294
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1295
|
-
lineProducts: {},
|
|
1296
|
-
lineNodes: {},
|
|
1297
|
-
lineDaqNodes: {},
|
|
1298
|
-
lineId: {},
|
|
1299
|
-
recipeEditing: {},
|
|
1300
|
-
recipeSaving: { type: Boolean },
|
|
1301
|
-
recipeError: {},
|
|
1302
|
-
recipeStaleNote: {},
|
|
1303
|
-
dcwTemplateRefCh: { type: Function },
|
|
1304
|
-
nodeMin: { type: Function },
|
|
1305
|
-
nodeMax: { type: Function },
|
|
1306
|
-
paramStatus: { type: Function }
|
|
1307
|
-
}, {
|
|
1308
|
-
"open": {
|
|
1309
|
-
type: Boolean,
|
|
1310
|
-
required: true
|
|
1311
|
-
},
|
|
1312
|
-
"openModifiers": {},
|
|
1313
|
-
"form": { required: true },
|
|
1314
|
-
"formModifiers": {}
|
|
1315
|
-
}),
|
|
1316
|
-
emits: /*@__PURE__*/ mergeModels(["submit", "close"], ["update:open", "update:form"]),
|
|
1317
|
-
setup(__props, { emit: __emit }) {
|
|
1318
|
-
const recipeOpen = useModel(__props, "open");
|
|
1319
|
-
const recipeForm = useModel(__props, "form");
|
|
1320
|
-
const { t } = useI18n();
|
|
1321
|
-
/** 参数绑定节点选项的边缘层徽标后缀(select option 纯文本,以「 · 徽标」尾注呈现) */
|
|
1322
|
-
function drvBadgeSuffix(driver) {
|
|
1323
|
-
const key = dcwDriverBadgeKey(driver);
|
|
1324
|
-
return key ? ` · ${t(key)}` : "";
|
|
1325
|
-
}
|
|
1326
|
-
const agentOptions = ref([]);
|
|
1327
|
-
const agentsLoading = ref(false);
|
|
1328
|
-
watch(recipeOpen, (v) => {
|
|
1329
|
-
if (v) loadAgentOptions();
|
|
1330
|
-
});
|
|
1331
|
-
async function loadAgentOptions() {
|
|
1332
|
-
if (agentsLoading.value) return;
|
|
1333
|
-
agentsLoading.value = true;
|
|
1334
|
-
try {
|
|
1335
|
-
const list = ((await apiFetch({
|
|
1336
|
-
base: "/api/workshop/channels",
|
|
1337
|
-
path: ""
|
|
1338
|
-
})).channels ?? []).slice(0, 20);
|
|
1339
|
-
const out = [];
|
|
1340
|
-
for (const c of list) try {
|
|
1341
|
-
const members = await apiFetch({
|
|
1342
|
-
base: `/api/workshop/channels/${c.id}/agents`,
|
|
1343
|
-
path: ""
|
|
1344
|
-
});
|
|
1345
|
-
for (const m of Array.isArray(members) ? members : members.agents ?? []) if (m.id && !out.some((o) => o.id === m.id)) out.push({
|
|
1346
|
-
id: m.id,
|
|
1347
|
-
label: `${m.name ?? m.id.slice(0, 8)}(${c.name})`
|
|
1348
|
-
});
|
|
1349
|
-
} catch {}
|
|
1350
|
-
agentOptions.value = out;
|
|
1351
|
-
} catch {} finally {
|
|
1352
|
-
agentsLoading.value = false;
|
|
1353
|
-
}
|
|
1354
|
-
}
|
|
1355
|
-
const pickedIds = computed(() => new Set(recipeForm.value.accessAgentIds));
|
|
1356
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1357
|
-
if (recipeOpen.value) {
|
|
1358
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-05d04a01><div class="modal" data-v-05d04a01><h3 class="m-title" data-v-05d04a01>${ssrInterpolate(__props.recipeEditing ? _ctx.$t("dcwDetail.k1iiwk0i163") : _ctx.$t("dcwDetail.k1efq0r9176"))}</h3><div class="f-grid" data-v-05d04a01><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1dw4fzf094"))}<em data-v-05d04a01>*</em></span><select class="inp" data-v-05d04a01><!--[-->`);
|
|
1359
|
-
ssrRenderList(__props.lineProducts, (p) => {
|
|
1360
|
-
_push(`<option${ssrRenderAttr("value", p.id)} data-v-05d04a01${ssrIncludeBooleanAttr(Array.isArray(recipeForm.value.productId) ? ssrLooseContain(recipeForm.value.productId, p.id) : ssrLooseEqual(recipeForm.value.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
|
|
1361
|
-
});
|
|
1362
|
-
_push(`<!--]--></select></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1l3f8so095"))}<em data-v-05d04a01>*</em></span><input${ssrRenderAttr("value", recipeForm.value.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-05d04a01></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", recipeForm.value.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-05d04a01></label></div><p class="sec-label" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.ka1kfgh097"))}</p><!--[-->`);
|
|
1363
|
-
ssrRenderList(recipeForm.value.params, (p, i) => {
|
|
1364
|
-
_push(`<div class="param-row" data-v-05d04a01><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1e2dtkt053"))}</span><select class="inp" data-v-05d04a01><!--[-->`);
|
|
1365
|
-
ssrRenderList(__props.lineNodes, (n) => {
|
|
1366
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-05d04a01${ssrIncludeBooleanAttr(Array.isArray(p.nodeId) ? ssrLooseContain(p.nodeId, n.id) : ssrLooseEqual(p.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}${ssrInterpolate(drvBadgeSuffix(n.driver))}(${ssrInterpolate(__props.dcwTemplateRefCh(n.templateRef))} · ${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
|
|
1367
|
-
});
|
|
1368
|
-
_push(`<!--]--></select>`);
|
|
1369
|
-
if (__props.paramStatus(p.nodeId, __props.lineId)) _push(`<span class="row-stale" data-v-05d04a01>${ssrInterpolate(__props.paramStatus(p.nodeId, __props.lineId).label)}</span>`);
|
|
1370
|
-
else _push(`<!---->`);
|
|
1371
|
-
_push(`</label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k3renp2098"))}<em data-v-05d04a01>*</em></span><input${ssrRenderAttr("value", p.value)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-05d04a01></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k134rw3b146"))}${ssrInterpolate(__props.nodeMin(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.min)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k5vew9z016"))} data-v-05d04a01></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.khrv911147"))}${ssrInterpolate(__props.nodeMax(p.nodeId) ?? "-")})</span><input${ssrRenderAttr("value", p.max)} type="number" class="inp"${ssrRenderAttr("step", .1)}${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.kzoh5pr017"))} data-v-05d04a01></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.recipeStepLimitLabel"))}</span><input${ssrRenderAttr("value", p.stepLimit)} type="number" min="0" class="inp" step="any"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.recipeStepLimitPlaceholder"))} data-v-05d04a01></label><button class="mini-btn danger param-del" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
|
|
1372
|
-
});
|
|
1373
|
-
_push(`<!--]--><button class="mini-btn" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1broh7h100"))}</button><p class="sec-label" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1h5gues101"))}</p><!--[-->`);
|
|
1374
|
-
ssrRenderList(recipeForm.value.daqWindows, (w, i) => {
|
|
1375
|
-
_push(`<div class="param-row" data-v-05d04a01><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k1empnnb102"))}</span><select class="inp" data-v-05d04a01><!--[-->`);
|
|
1376
|
-
ssrRenderList(__props.lineDaqNodes, (n) => {
|
|
1377
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-05d04a01${ssrIncludeBooleanAttr(Array.isArray(w.nodeId) ? ssrLooseContain(w.nodeId, n.id) : ssrLooseEqual(w.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}(${ssrInterpolate(n.min)}~${ssrInterpolate(n.max)} ${ssrInterpolate(n.unit)}) </option>`);
|
|
1378
|
-
});
|
|
1379
|
-
_push(`<!--]--></select></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.kqm08ap103"))}</span><input${ssrRenderAttr("value", w.min)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-05d04a01></label><label class="f" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.kpypf8g104"))}</span><input${ssrRenderAttr("value", w.max)} type="number" class="inp"${ssrRenderAttr("step", .1)} data-v-05d04a01></label><button class="mini-btn danger param-del" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k44idg099"))}</button></div>`);
|
|
1380
|
-
});
|
|
1381
|
-
_push(`<!--]--><button class="mini-btn"${ssrIncludeBooleanAttr(__props.lineDaqNodes.length === 0) ? " disabled" : ""}${ssrRenderAttr("title", __props.lineDaqNodes.length === 0 ? _ctx.$t("dcwDetail.noDaqTip") : "")} data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.kv1de1p105"))}</button><p class="sec-label" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.accessTitle"))}</p><label class="f access-row" data-v-05d04a01><input${ssrIncludeBooleanAttr(Array.isArray(recipeForm.value.accessRequireAuth) ? ssrLooseContain(recipeForm.value.accessRequireAuth, null) : recipeForm.value.accessRequireAuth) ? " checked" : ""} type="checkbox" data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.accessRequire"))}${ssrInterpolate(_ctx.$t("dcwDetail.accessHint"))}</span></label>`);
|
|
1382
|
-
if (recipeForm.value.accessRequireAuth) {
|
|
1383
|
-
_push(`<div class="access-agents" data-v-05d04a01>`);
|
|
1384
|
-
if (agentsLoading.value) _push(`<p class="dim" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.accessLoading"))}</p>`);
|
|
1385
|
-
else if (agentOptions.value.length === 0) _push(`<p class="dim" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.accessNoAgents"))}</p>`);
|
|
1386
|
-
else {
|
|
1387
|
-
_push(`<!--[-->`);
|
|
1388
|
-
ssrRenderList(agentOptions.value, (o) => {
|
|
1389
|
-
_push(`<label class="access-agent" data-v-05d04a01><input type="checkbox"${ssrIncludeBooleanAttr(pickedIds.value.has(o.id)) ? " checked" : ""} data-v-05d04a01><span data-v-05d04a01>${ssrInterpolate(o.label)}</span></label>`);
|
|
1390
|
-
});
|
|
1391
|
-
_push(`<!--]-->`);
|
|
1392
|
-
}
|
|
1393
|
-
if (recipeForm.value.accessAgentIds.length === 0) _push(`<p class="row-stale" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.accessEmptyWarn"))}</p>`);
|
|
1394
|
-
else _push(`<!---->`);
|
|
1395
|
-
_push(`</div>`);
|
|
1396
|
-
} else _push(`<!---->`);
|
|
1397
|
-
if (__props.recipeStaleNote) _push(`<p class="m-note" data-v-05d04a01>${ssrInterpolate(__props.recipeStaleNote)}</p>`);
|
|
1398
|
-
else _push(`<!---->`);
|
|
1399
|
-
if (__props.recipeError) _push(`<p class="m-err" data-v-05d04a01>${ssrInterpolate(__props.recipeError)}</p>`);
|
|
1400
|
-
else _push(`<!---->`);
|
|
1401
|
-
_push(`<div class="m-actions" data-v-05d04a01><button class="aw-pill outline" data-v-05d04a01>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(__props.recipeSaving) ? " disabled" : ""} data-v-05d04a01>${ssrInterpolate(__props.recipeSaving ? _ctx.$t("dcwDetail.k1b38d59164") : _ctx.$t("dcwDetail.k1b3kwg0177"))}</button></div></div></div>`);
|
|
1402
|
-
} else _push(`<!---->`);
|
|
1403
|
-
};
|
|
1404
|
-
}
|
|
1405
|
-
});
|
|
1406
|
-
//#endregion
|
|
1407
|
-
//#region app/components/dcw/DcwRecipeEditModal.vue
|
|
1408
|
-
var _sfc_setup$6 = DcwRecipeEditModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1409
|
-
DcwRecipeEditModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1410
|
-
const ssrContext = useSSRContext();
|
|
1411
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwRecipeEditModal.vue");
|
|
1412
|
-
return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
|
|
1413
|
-
};
|
|
1414
|
-
var DcwRecipeEditModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwRecipeEditModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-05d04a01"]]), { __name: "DcwRecipeEditModal" });
|
|
1415
|
-
//#endregion
|
|
1416
|
-
//#region app/components/dcw/DcwRecipeHistoryModal.vue?vue&type=script&setup=true&lang.ts
|
|
1417
|
-
var DcwRecipeHistoryModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1418
|
-
__name: "DcwRecipeHistoryModal",
|
|
1419
|
-
__ssrInlineRender: true,
|
|
1420
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1421
|
-
verRecipe: {},
|
|
1422
|
-
verRows: {},
|
|
1423
|
-
verLoading: { type: Boolean },
|
|
1424
|
-
verMsg: {},
|
|
1425
|
-
paramNodeName: { type: Function }
|
|
1426
|
-
}, {
|
|
1427
|
-
"open": {
|
|
1428
|
-
type: Boolean,
|
|
1429
|
-
required: true
|
|
1430
|
-
},
|
|
1431
|
-
"openModifiers": {}
|
|
1432
|
-
}),
|
|
1433
|
-
emits: /*@__PURE__*/ mergeModels(["revert", "close"], ["update:open"]),
|
|
1434
|
-
setup(__props, { emit: __emit }) {
|
|
1435
|
-
/**
|
|
1436
|
-
* 配方版本历史 —— 整体修改变更记录(来源/操作者/原因/参数 diff + 单步回退)。
|
|
1437
|
-
* 行数据由页面 useDcwRecipes 拉取后下发,回退动作回抛页面。
|
|
1438
|
-
*/
|
|
1439
|
-
const props = __props;
|
|
1440
|
-
const { t } = useI18n();
|
|
1441
|
-
const verOpen = useModel(__props, "open");
|
|
1442
|
-
const verSrcLabel = (by) => by === "agent" ? "Agent" : by === "system" ? t("dcwDetail.srcSystem") : t("dcwDetail.srcUser");
|
|
1443
|
-
function verDiff(row, idx) {
|
|
1444
|
-
if (idx === 0) return t("dcwDetail.histInit");
|
|
1445
|
-
const prev = props.verRows[idx - 1];
|
|
1446
|
-
const changed = row.params.map((p) => ({
|
|
1447
|
-
p,
|
|
1448
|
-
old: prev.params.find((x) => x.nodeId === p.nodeId)
|
|
1449
|
-
})).filter(({ p, old }) => !old || old.value !== p.value).map(({ p, old }) => `${props.paramNodeName(p.nodeId)}: ${old?.value ?? t("dcwDetail.histAdded")} → ${p.value}`);
|
|
1450
|
-
return changed.length > 0 ? changed.join(";") : t("dcwDetail.histNoChange");
|
|
1451
|
-
}
|
|
1452
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1453
|
-
if (verOpen.value) {
|
|
1454
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-322135bb><div class="modal" style="${ssrRenderStyle({ "max-width": "760px" })}" data-v-322135bb><div class="modal-head" data-v-322135bb><h3 data-v-322135bb>${ssrInterpolate(unref(t)("dcwDetail.histTitle"))}`);
|
|
1455
|
-
if (__props.verRecipe) _push(`<span class="dim" style="${ssrRenderStyle({
|
|
1456
|
-
"margin-left": "8px",
|
|
1457
|
-
"font-size": "12px"
|
|
1458
|
-
})}" data-v-322135bb>${ssrInterpolate(__props.verRecipe.name)} · v${ssrInterpolate(__props.verRecipe.version)}</span>`);
|
|
1459
|
-
else _push(`<!---->`);
|
|
1460
|
-
_push(`</h3><button class="mini-btn" data-v-322135bb> ✕ </button></div>`);
|
|
1461
|
-
if (__props.verMsg) _push(`<p class="banner good" style="${ssrRenderStyle({ "margin": "6px 0" })}" data-v-322135bb>${ssrInterpolate(__props.verMsg)}</p>`);
|
|
1462
|
-
else _push(`<!---->`);
|
|
1463
|
-
if (__props.verLoading) _push(`<p class="dim" data-v-322135bb>${ssrInterpolate(unref(t)("dcwDetail.histLoading"))}</p>`);
|
|
1464
|
-
else if (__props.verRows.length === 0) _push(`<div class="pane-empty" data-v-322135bb>${ssrInterpolate(unref(t)("dcwDetail.histEmpty"))}</div>`);
|
|
1465
|
-
else {
|
|
1466
|
-
_push(`<!--[-->`);
|
|
1467
|
-
ssrRenderList(__props.verRows, (row, i) => {
|
|
1468
|
-
_push(`<div class="${ssrRenderClass([{ cur: row.current }, "ver-row"])}" data-v-322135bb><div class="ver-head" data-v-322135bb><span class="mono ver-v" data-v-322135bb>v${ssrInterpolate(row.version)}</span><span class="${ssrRenderClass([row.by ?? (row.current ? "cur" : ""), "ver-src"])}" data-v-322135bb>${ssrInterpolate(row.current ? unref(t)("dcwDetail.histCurrent") : verSrcLabel(row.by))}</span><span class="mono dim" data-v-322135bb>${ssrInterpolate(row.at.slice(0, 19).replace("T", " "))}</span><span class="ver-actor" data-v-322135bb>${ssrInterpolate(row.actorName || "—")}</span>`);
|
|
1469
|
-
if (!row.current) _push(`<button class="mini-btn" data-v-322135bb>${ssrInterpolate(unref(t)("dcwDetail.revertTo"))}</button>`);
|
|
1470
|
-
else _push(`<!---->`);
|
|
1471
|
-
_push(`</div>`);
|
|
1472
|
-
if (row.description) _push(`<p class="ver-desc" data-v-322135bb>${ssrInterpolate(row.description)}</p>`);
|
|
1473
|
-
else _push(`<!---->`);
|
|
1474
|
-
_push(`<p class="ver-diff mono" data-v-322135bb>${ssrInterpolate(verDiff(row, i))}</p></div>`);
|
|
1475
|
-
});
|
|
1476
|
-
_push(`<!--]-->`);
|
|
1477
|
-
}
|
|
1478
|
-
_push(`</div></div>`);
|
|
1479
|
-
} else _push(`<!---->`);
|
|
1480
|
-
};
|
|
1481
|
-
}
|
|
1482
|
-
});
|
|
1483
|
-
//#endregion
|
|
1484
|
-
//#region app/components/dcw/DcwRecipeHistoryModal.vue
|
|
1485
|
-
var _sfc_setup$5 = DcwRecipeHistoryModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1486
|
-
DcwRecipeHistoryModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1487
|
-
const ssrContext = useSSRContext();
|
|
1488
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwRecipeHistoryModal.vue");
|
|
1489
|
-
return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
|
|
1490
|
-
};
|
|
1491
|
-
var DcwRecipeHistoryModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwRecipeHistoryModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-322135bb"]]), { __name: "DcwRecipeHistoryModal" });
|
|
1492
|
-
//#endregion
|
|
1493
|
-
//#region app/components/dcw/DcwQueryCard.vue?vue&type=script&setup=true&lang.ts
|
|
1494
|
-
var DcwQueryCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1495
|
-
__name: "DcwQueryCard",
|
|
1496
|
-
__ssrInlineRender: true,
|
|
1497
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1498
|
-
lineProducts: {},
|
|
1499
|
-
visibleRecipes: {},
|
|
1500
|
-
lineDaqNodes: {},
|
|
1501
|
-
daqParamKeys: {},
|
|
1502
|
-
queryBusy: { type: Boolean },
|
|
1503
|
-
queryError: {},
|
|
1504
|
-
queryResult: {}
|
|
1505
|
-
}, {
|
|
1506
|
-
"query": { required: true },
|
|
1507
|
-
"queryModifiers": {}
|
|
1508
|
-
}),
|
|
1509
|
-
emits: /*@__PURE__*/ mergeModels(["run"], ["update:query"]),
|
|
1510
|
-
setup(__props, { emit: __emit }) {
|
|
1511
|
-
const query = useModel(__props, "query");
|
|
1512
|
-
/** 查询点位展示(原始值或桶均值) */
|
|
1513
|
-
function fmtPoint(p) {
|
|
1514
|
-
const v = p?.value ?? p?.avg;
|
|
1515
|
-
return v == null ? "--" : String(Math.round(v * 1e3) / 1e3);
|
|
1516
|
-
}
|
|
1517
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1518
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile query-card" }, _attrs))} data-v-ee60c0a5><p class="sec-label" data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k1us3jse106"))}</p><div class="q-grid" data-v-ee60c0a5><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k3waz1025"))}</span><select class="inp" data-v-ee60c0a5><option value="" data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.productId) ? ssrLooseContain(query.value.productId, "") : ssrLooseEqual(query.value.productId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkl1jx107"))}</option><!--[-->`);
|
|
1519
|
-
ssrRenderList(__props.lineProducts, (p) => {
|
|
1520
|
-
_push(`<option${ssrRenderAttr("value", p.id)} data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.productId) ? ssrLooseContain(query.value.productId, p.id) : ssrLooseEqual(query.value.productId, p.id)) ? " selected" : ""}>${ssrInterpolate(p.name)}</option>`);
|
|
1521
|
-
});
|
|
1522
|
-
_push(`<!--]--></select></label><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k48grv027"))}</span><select class="inp"${ssrIncludeBooleanAttr(!query.value.productId) ? " disabled" : ""} data-v-ee60c0a5><option value="" data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.recipeId) ? ssrLooseContain(query.value.recipeId, "") : ssrLooseEqual(query.value.recipeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7cr108"))}</option><!--[-->`);
|
|
1523
|
-
ssrRenderList(__props.visibleRecipes, (r) => {
|
|
1524
|
-
_push(`<option${ssrRenderAttr("value", r.id)} data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.recipeId) ? ssrLooseContain(query.value.recipeId, r.id) : ssrLooseEqual(query.value.recipeId, r.id)) ? " selected" : ""}>${ssrInterpolate(r.name)}</option>`);
|
|
1525
|
-
});
|
|
1526
|
-
_push(`<!--]--></select></label><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k1demcae109"))}</span><select class="inp" data-v-ee60c0a5><option value="" data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.paramKey) ? ssrLooseContain(query.value.paramKey, "") : ssrLooseEqual(query.value.paramKey, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkx7ya110"))}</option><!--[-->`);
|
|
1527
|
-
ssrRenderList(__props.daqParamKeys, (k) => {
|
|
1528
|
-
_push(`<option${ssrRenderAttr("value", k)} data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.paramKey) ? ssrLooseContain(query.value.paramKey, k) : ssrLooseEqual(query.value.paramKey, k)) ? " selected" : ""}>${ssrInterpolate(k)}</option>`);
|
|
1529
|
-
});
|
|
1530
|
-
_push(`<!--]--></select></label><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</span><select class="inp" data-v-ee60c0a5><option value="" data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.nodeId) ? ssrLooseContain(query.value.nodeId, "") : ssrLooseEqual(query.value.nodeId, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1bkul3k111"))}</option><!--[-->`);
|
|
1531
|
-
ssrRenderList(__props.lineDaqNodes, (n) => {
|
|
1532
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-ee60c0a5${ssrIncludeBooleanAttr(Array.isArray(query.value.nodeId) ? ssrLooseContain(query.value.nodeId, n.id) : ssrLooseEqual(query.value.nodeId, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
1533
|
-
});
|
|
1534
|
-
_push(`<!--]--></select></label><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.kx2ojn0112"))}</span><input${ssrRenderAttr("value", query.value.lastMin)} type="number" min="1" max="10080" class="inp" data-v-ee60c0a5></label><label class="f" data-v-ee60c0a5><span data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.kjvnvn4113"))}</span><input${ssrRenderAttr("value", query.value.bucketMs)} type="number" min="1000" step="500" class="inp" data-v-ee60c0a5></label><div class="f q-actions" data-v-ee60c0a5><button class="pill-btn"${ssrIncludeBooleanAttr(__props.queryBusy) ? " disabled" : ""} data-v-ee60c0a5>${ssrInterpolate(__props.queryBusy ? _ctx.$t("dcwDetail.k1eyx09r165") : _ctx.$t("dcwDetail.k416ek178"))}</button></div></div>`);
|
|
1535
|
-
if (__props.queryError) _push(`<p class="banner bad" style="${ssrRenderStyle({ "margin-top": "8px" })}" data-v-ee60c0a5>${ssrInterpolate(__props.queryError)}</p>`);
|
|
1536
|
-
else _push(`<!---->`);
|
|
1537
|
-
if (__props.queryResult) {
|
|
1538
|
-
_push(`<div class="q-result" data-v-ee60c0a5><table class="nodes-table" data-v-ee60c0a5><thead data-v-ee60c0a5><tr data-v-ee60c0a5><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k48hde081"))}</th><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k45uio082"))}</th><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k42kcu114"))}</th><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k49ujb115"))}</th><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k40pvw116"))}</th><th data-v-ee60c0a5>${ssrInterpolate(_ctx.$t("dcwDetail.k3xho3117"))}</th></tr></thead><tbody data-v-ee60c0a5><!--[-->`);
|
|
1539
|
-
ssrRenderList(__props.queryResult.channels, (c) => {
|
|
1540
|
-
_push(`<tr data-v-ee60c0a5><td data-v-ee60c0a5>${ssrInterpolate(c.ch)}<small class="mono dim" data-v-ee60c0a5>${ssrInterpolate(c.unit)}</small></td><td data-v-ee60c0a5>${ssrInterpolate(c.nodeName)}</td><td class="mono" data-v-ee60c0a5>${ssrInterpolate(c.points.length)}</td><td class="mono" data-v-ee60c0a5>${ssrInterpolate(fmtPoint(c.points[0]))}</td><td class="mono" data-v-ee60c0a5>${ssrInterpolate(fmtPoint(c.points[c.points.length - 1]))}</td><td class="mono dim" data-v-ee60c0a5>${ssrInterpolate(unref(formatLocalClock)(new Date(c.points[0]?.at ?? 0).toISOString(), false))} ~ ${ssrInterpolate(unref(formatLocalClock)(new Date(c.points[c.points.length - 1]?.at ?? 0).toISOString(), false))}</td></tr>`);
|
|
1541
|
-
});
|
|
1542
|
-
_push(`<!--]--></tbody></table></div>`);
|
|
1543
|
-
} else _push(`<!---->`);
|
|
1544
|
-
_push(`</section>`);
|
|
1545
|
-
};
|
|
1546
|
-
}
|
|
1547
|
-
});
|
|
1548
|
-
//#endregion
|
|
1549
|
-
//#region app/components/dcw/DcwQueryCard.vue
|
|
1550
|
-
var _sfc_setup$4 = DcwQueryCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1551
|
-
DcwQueryCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1552
|
-
const ssrContext = useSSRContext();
|
|
1553
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwQueryCard.vue");
|
|
1554
|
-
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
|
1555
|
-
};
|
|
1556
|
-
var DcwQueryCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwQueryCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ee60c0a5"]]), { __name: "DcwQueryCard" });
|
|
1557
|
-
//#endregion
|
|
1558
|
-
//#region app/components/dcw/DcwWriteHistoryCard.vue?vue&type=script&setup=true&lang.ts
|
|
1559
|
-
var DcwWriteHistoryCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1560
|
-
__name: "DcwWriteHistoryCard",
|
|
1561
|
-
__ssrInlineRender: true,
|
|
1562
|
-
props: { lineHistory: {} },
|
|
1563
|
-
setup(__props) {
|
|
1564
|
-
/**
|
|
1565
|
-
* 写历史 —— 本产线最近 12 条下发记录(时间/参数/节点/工程值/原始值/ACK/批次归属)。
|
|
1566
|
-
* 渲染开关(有历史才显示)在页面。
|
|
1567
|
-
*/
|
|
1568
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1569
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile table-card" }, _attrs))} data-v-1ca86a1c><p class="sec-label" data-v-1ca86a1c>${ssrInterpolate(_ctx.$t("dcwDetail.kw7ym9b148"))} ${ssrInterpolate(__props.lineHistory.length)} ${ssrInterpolate(_ctx.$t("dcwDetail.k40bfz150"))}</p><table class="nodes-table" data-v-1ca86a1c><tbody data-v-1ca86a1c><!--[-->`);
|
|
1570
|
-
ssrRenderList(__props.lineHistory.slice(0, 12), (h) => {
|
|
1571
|
-
_push(`<tr data-v-1ca86a1c><td class="mono dim" data-v-1ca86a1c>${ssrInterpolate(h.at.slice(5, 19))}</td><td data-v-1ca86a1c>${ssrInterpolate(h.param)}</td><td data-v-1ca86a1c>${ssrInterpolate(h.nodeName)}</td><td class="mono" data-v-1ca86a1c>${ssrInterpolate(h.eng)}</td><td class="mono dim" data-v-1ca86a1c> raw ${ssrInterpolate(h.raw ?? "-")}</td><td data-v-1ca86a1c><span class="${ssrRenderClass([h.ok ? "ok" : "alarm", "st-pill"])}" data-v-1ca86a1c>${ssrInterpolate(h.ok ? "ACK" : _ctx.$t("dcwDetail.k3yit7139"))}</span></td><td class="dim" data-v-1ca86a1c>${ssrInterpolate(h.recipeRunId ? _ctx.$t("dcwDetail.k6vgks7181", { p0: h.recipeRunId }) : _ctx.$t("dcwDetail.manualTag"))}</td></tr>`);
|
|
1572
|
-
});
|
|
1573
|
-
_push(`<!--]--></tbody></table></section>`);
|
|
1574
|
-
};
|
|
1575
|
-
}
|
|
1576
|
-
});
|
|
1577
|
-
//#endregion
|
|
1578
|
-
//#region app/components/dcw/DcwWriteHistoryCard.vue
|
|
1579
|
-
var _sfc_setup$3 = DcwWriteHistoryCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1580
|
-
DcwWriteHistoryCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1581
|
-
const ssrContext = useSSRContext();
|
|
1582
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwWriteHistoryCard.vue");
|
|
1583
|
-
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
1584
|
-
};
|
|
1585
|
-
var DcwWriteHistoryCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwWriteHistoryCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1ca86a1c"]]), { __name: "DcwWriteHistoryCard" });
|
|
1586
|
-
//#endregion
|
|
1587
|
-
//#region app/components/dcw/DcwProductCreateModal.vue?vue&type=script&setup=true&lang.ts
|
|
1588
|
-
var DcwProductCreateModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1589
|
-
__name: "DcwProductCreateModal",
|
|
1590
|
-
__ssrInlineRender: true,
|
|
1591
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1592
|
-
productSaving: { type: Boolean },
|
|
1593
|
-
productError: {}
|
|
1594
|
-
}, {
|
|
1595
|
-
"open": {
|
|
1596
|
-
type: Boolean,
|
|
1597
|
-
required: true
|
|
1598
|
-
},
|
|
1599
|
-
"openModifiers": {},
|
|
1600
|
-
"form": { required: true },
|
|
1601
|
-
"formModifiers": {}
|
|
1602
|
-
}),
|
|
1603
|
-
emits: /*@__PURE__*/ mergeModels(["submit", "close"], ["update:open", "update:form"]),
|
|
1604
|
-
setup(__props, { emit: __emit }) {
|
|
1605
|
-
const productOpen = useModel(__props, "open");
|
|
1606
|
-
const productForm = useModel(__props, "form");
|
|
1607
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1608
|
-
if (productOpen.value) {
|
|
1609
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "modal-mask" }, _attrs))} data-v-aa17ef24><div class="modal" data-v-aa17ef24><h3 class="m-title" data-v-aa17ef24>${ssrInterpolate(_ctx.$t("dcwDetail.k1efduyf118"))}</h3><div class="f-grid" data-v-aa17ef24><label class="f" data-v-aa17ef24><span data-v-aa17ef24>${ssrInterpolate(_ctx.$t("dcwDetail.k1avjrl6119"))}<em data-v-aa17ef24>*</em></span><input${ssrRenderAttr("value", productForm.value.name)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k12c11vm014"))} data-v-aa17ef24></label><label class="f" data-v-aa17ef24><span data-v-aa17ef24>${ssrInterpolate(_ctx.$t("dcwDetail.k40gkk096"))}</span><input${ssrRenderAttr("value", productForm.value.description)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("dcwDetail.k1hxx8hy015"))} data-v-aa17ef24></label></div>`);
|
|
1610
|
-
if (__props.productError) _push(`<p class="m-err" data-v-aa17ef24>${ssrInterpolate(__props.productError)}</p>`);
|
|
1611
|
-
else _push(`<!---->`);
|
|
1612
|
-
_push(`<div class="m-actions" data-v-aa17ef24><button class="aw-pill outline" data-v-aa17ef24>${ssrInterpolate(_ctx.$t("dcwDetail.k3xdnn052"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(__props.productSaving) ? " disabled" : ""} data-v-aa17ef24>${ssrInterpolate(__props.productSaving ? _ctx.$t("dcwDetail.k1bg4759156") : _ctx.$t("dcwDetail.k1bg4kn6179"))}</button></div></div></div>`);
|
|
1613
|
-
} else _push(`<!---->`);
|
|
1614
|
-
};
|
|
1615
|
-
}
|
|
1616
|
-
});
|
|
1617
|
-
//#endregion
|
|
1618
|
-
//#region app/components/dcw/DcwProductCreateModal.vue
|
|
1619
|
-
var _sfc_setup$2 = DcwProductCreateModal_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1620
|
-
DcwProductCreateModal_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1621
|
-
const ssrContext = useSSRContext();
|
|
1622
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwProductCreateModal.vue");
|
|
1623
|
-
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
1624
|
-
};
|
|
1625
|
-
var DcwProductCreateModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwProductCreateModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-aa17ef24"]]), { __name: "DcwProductCreateModal" });
|
|
1626
|
-
//#endregion
|
|
1627
|
-
//#region app/components/dcw/DcwLedgerCard.vue?vue&type=script&setup=true&lang.ts
|
|
1628
|
-
var DcwLedgerCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1629
|
-
__name: "DcwLedgerCard",
|
|
1630
|
-
__ssrInlineRender: true,
|
|
1631
|
-
props: /*@__PURE__*/ mergeModels({
|
|
1632
|
-
lineNodes: {},
|
|
1633
|
-
ledger: {}
|
|
1634
|
-
}, {
|
|
1635
|
-
"nodeId": { required: true },
|
|
1636
|
-
"nodeIdModifiers": {}
|
|
1637
|
-
}),
|
|
1638
|
-
emits: /*@__PURE__*/ mergeModels(["load", "rollback"], ["update:nodeId"]),
|
|
1639
|
-
setup(__props, { emit: __emit }) {
|
|
1640
|
-
const ledgerNodeId = useModel(__props, "nodeId");
|
|
1641
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1642
|
-
_push(`<section${ssrRenderAttrs(mergeProps({ class: "aw-tile ledger-card" }, _attrs))} data-v-15a6bb00><div class="ledger-head" data-v-15a6bb00><b data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgt001"))}</b><select class="inp" data-v-15a6bb00><option value="" data-v-15a6bb00${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, "") : ssrLooseEqual(ledgerNodeId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgs001"))}</option><!--[-->`);
|
|
1643
|
-
ssrRenderList(__props.lineNodes, (n) => {
|
|
1644
|
-
_push(`<option${ssrRenderAttr("value", n.id)} data-v-15a6bb00${ssrIncludeBooleanAttr(Array.isArray(ledgerNodeId.value) ? ssrLooseContain(ledgerNodeId.value, n.id) : ssrLooseEqual(ledgerNodeId.value, n.id)) ? " selected" : ""}>${ssrInterpolate(n.name)}</option>`);
|
|
1645
|
-
});
|
|
1646
|
-
_push(`<!--]--></select></div>`);
|
|
1647
|
-
if (__props.ledger) {
|
|
1648
|
-
_push(`<!--[--><div class="ledger-tri" data-v-15a6bb00><div class="tri-cell" data-v-15a6bb00><small data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv001"))}</small><b class="mono" data-v-15a6bb00>${ssrInterpolate(__props.ledger.current ?? "--")}</b></div><div class="tri-cell" data-v-15a6bb00><small data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv002"))}</small><b class="mono" data-v-15a6bb00>${ssrInterpolate(__props.ledger.recipeTarget ?? "--")}</b></div><div class="tri-cell" data-v-15a6bb00><small data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgv003"))}</small><b class="mono" data-v-15a6bb00>${ssrInterpolate(__props.ledger.lastGood ?? "--")}</b></div><button class="mini-btn" data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga001"))}</button><button class="mini-btn danger" data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledga002"))}</button></div><div class="ledger-cols" data-v-15a6bb00><div class="ledger-col" data-v-15a6bb00><small class="sec-t" data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgh001"))}</small><ul class="ledger-list mono" data-v-15a6bb00><!--[-->`);
|
|
1649
|
-
ssrRenderList(__props.ledger.journal, (a) => {
|
|
1650
|
-
_push(`<li data-v-15a6bb00>${ssrInterpolate(a.at.slice(5, 16).replace("T", " "))} [${ssrInterpolate(a.source)}] ${ssrInterpolate(a.prevValue ?? "?")} → ${ssrInterpolate(a.newValue)}</li>`);
|
|
1651
|
-
});
|
|
1652
|
-
_push(`<!--]--></ul></div><div class="ledger-col" data-v-15a6bb00><small class="sec-t" data-v-15a6bb00>${ssrInterpolate(_ctx.$t("dcwDetail.k1ledgr001"))}</small><ul class="ledger-list" data-v-15a6bb00><!--[-->`);
|
|
1653
|
-
ssrRenderList(__props.ledger.records, (r) => {
|
|
1654
|
-
_push(`<li class="ledger-rec" data-v-15a6bb00><span class="${ssrRenderClass([r.status, "rec-st"])}" data-v-15a6bb00>${ssrInterpolate(r.status)}</span><span class="mono" data-v-15a6bb00>${ssrInterpolate(r.params[0]?.from ?? "?")} → ${ssrInterpolate(r.params[0]?.to)}</span><small data-v-15a6bb00>${ssrInterpolate(r.judge ? `${r.judge.verdict}(${r.judge.by})` : r.status === "open" ? "open" : r.closedBy ?? "")}</small></li>`);
|
|
1655
|
-
});
|
|
1656
|
-
_push(`<!--]--></ul></div></div><!--]-->`);
|
|
1657
|
-
} else _push(`<!---->`);
|
|
1658
|
-
_push(`</section>`);
|
|
1659
|
-
};
|
|
1660
|
-
}
|
|
1661
|
-
});
|
|
1662
|
-
//#endregion
|
|
1663
|
-
//#region app/components/dcw/DcwLedgerCard.vue
|
|
1664
|
-
var _sfc_setup$1 = DcwLedgerCard_vue_vue_type_script_setup_true_lang_default.setup;
|
|
1665
|
-
DcwLedgerCard_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
1666
|
-
const ssrContext = useSSRContext();
|
|
1667
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/dcw/DcwLedgerCard.vue");
|
|
1668
|
-
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
1669
|
-
};
|
|
1670
|
-
var DcwLedgerCard_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(DcwLedgerCard_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-15a6bb00"]]), { __name: "DcwLedgerCard" });
|
|
1671
|
-
//#endregion
|
|
1672
|
-
//#region app/pages/dcw/[id].vue?vue&type=script&setup=true&lang.ts
|
|
1673
|
-
var _id__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
1674
|
-
__name: "[id]",
|
|
1675
|
-
__ssrInlineRender: true,
|
|
1676
|
-
setup(__props) {
|
|
1677
|
-
/**
|
|
1678
|
-
* 单产线专业控制台(/dcw/[id])—— 网关总控 / 产线启停 / 控制节点清单 / 产品与配方 /
|
|
1679
|
-
* 配方版本历史 / 产线数据查询 / 写历史 / 参数台账(调控闭环)。
|
|
1680
|
-
*
|
|
1681
|
-
* 页面只做编排:路由作用域、写路径、台账、产线启停、产品、配方、查询、添加节点、控制模板
|
|
1682
|
-
* 各一个 composable(状态各归其主);视图放在 components/dcw/ 下的子组件
|
|
1683
|
-
* (绝不放进 pages/** —— 那会生成路由),样式随标记进各组件自己的 scoped 样式块
|
|
1684
|
-
* (scoped 的 data-v 不跨组件,共享工具类各自持有一份逐字相同的副本)。
|
|
1685
|
-
* 弹窗与面板经 v-model 就地读写 composable 持有的同一份状态,不产生第二副本。
|
|
1686
|
-
*/
|
|
1687
|
-
const scope = useDcwDetailScope();
|
|
1688
|
-
const writes = useDcwWrites();
|
|
1689
|
-
const ledgerCtl = useDcwLedger();
|
|
1690
|
-
const lineRun = useDcwLineRun(scope);
|
|
1691
|
-
const products = useDcwProducts(scope, lineRun);
|
|
1692
|
-
const recipes = useDcwRecipes(scope, products, lineRun, writes);
|
|
1693
|
-
const queryCtl = useDcwQuery(scope);
|
|
1694
|
-
const addNode = useDcwAddNode(scope);
|
|
1695
|
-
const tplCtl = useDcwDetailTemplates(addNode);
|
|
1696
|
-
const approvals = useDcwParamApprovals(scope);
|
|
1697
|
-
const expConfirms = useExpConfirmations({ lineId: () => scope.lineId.value });
|
|
1698
|
-
const recipeDispatch = useRecipeDispatchApprovals();
|
|
1699
|
-
const rdGateItems = recipeDispatch.gateItems;
|
|
1700
|
-
function decideRecipeGate(id, approved, comment) {
|
|
1701
|
-
recipeDispatch.decideGate(id, approved, comment);
|
|
1702
|
-
}
|
|
1703
|
-
const { dcw, line, lineId, ls, lineNodes, lineProducts, lineRecipesAll, lineRuns, lineHistory, unassignedNodes, unassignedProducts, stateLabel, dcwTemplateRefCh, nodeMin, nodeMax, lineDaqNodes, daqNodeCh, adoptNode, adoptProduct, productName, paramStatus, paramNodeName, daqWindowStatus, nodeDeviceNames } = scope;
|
|
1704
|
-
const { setInputs, writingId, writeError, writeOk, readingId, togglingId, stepPatchingId, doWrite, doRead, toggleControl, patchStepLimit } = writes;
|
|
1705
|
-
const { ledgerNodeId, ledger, loadLedger, rollbackLedgerNode } = ledgerCtl;
|
|
1706
|
-
const { lineProductId, lineRecipeId, lineBusy, lineMsg, lineErr, lineRecipes, doLineStart, doLineStop } = lineRun;
|
|
1707
|
-
const { filterProductId, visibleRecipes, productOpen, productSaving, productError, productForm, doCreateProduct } = products;
|
|
1708
|
-
const { verOpen, verRecipe, verRows, verLoading, verMsg, doRevert, recipeOpen, recipeEditing, recipeSaving, recipeError, recipeStaleNote, recipeForm, applyResult, runDataView, runDataLoading, openRecipeCreate, openRecipeEdit, openRecipeHistory, saveRecipe, doApplyRecipe, doViewRun } = recipes;
|
|
1709
|
-
const { query, queryBusy, queryError, queryResult, doQuery, daqParamKeys } = queryCtl;
|
|
1710
|
-
const { addOpen, addScenario, addTemplate, addDriver, addName, addHold, addRead, addWriteLock, addStepLimit, addCfg, addTransform, addSemantics, addTesting, addTest, addMesTesting, addMesResult, addMesHookTesting, addMesHookResult, addSaving, addError, addFields, driverCatalog, doTestConnection, doMesTestRead, doMesHookTest, doAddNode } = addNode;
|
|
1711
|
-
const mesArtifactsOpen = ref(false);
|
|
1712
|
-
const mesArtifactsNodeId = ref("");
|
|
1713
|
-
const mesArtifactsNodeName = ref("");
|
|
1714
|
-
const dispatchHistoryOpen = ref(false);
|
|
1715
|
-
const dispatchHistoryRecipeId = ref("");
|
|
1716
|
-
const dispatchHistoryRecipeName = computed(() => lineRecipesAll.value.find((r) => r.id === dispatchHistoryRecipeId.value)?.name ?? "");
|
|
1717
|
-
function openDispatchHistory(id) {
|
|
1718
|
-
dispatchHistoryRecipeId.value = id;
|
|
1719
|
-
dispatchHistoryOpen.value = true;
|
|
1720
|
-
}
|
|
1721
|
-
function openMesArtifacts(nodeId) {
|
|
1722
|
-
mesArtifactsNodeId.value = nodeId;
|
|
1723
|
-
mesArtifactsNodeName.value = lineNodes.value.find((n) => n.id === nodeId)?.name ?? nodeId;
|
|
1724
|
-
mesArtifactsOpen.value = true;
|
|
1725
|
-
}
|
|
1726
|
-
const { tplOpen, tplSaving, tplError, tplOk, tplForm, tplIcons, builtinCount, customCount, openTplModal, doCreateTemplate } = tplCtl;
|
|
1727
|
-
const { approvalItems, approvalComments, approvalDecidingId, approvalRemainingSec, approvalAgentName, approvalNodeName, decideApproval } = approvals;
|
|
1728
|
-
const { items: expItems, decidingId: expDecidingId, decideError: expDecideError, decide: decideExp } = expConfirms;
|
|
1729
|
-
const { items: rdItems, comments: rdComments, decidingId: rdDecidingId, decideError: rdDecideError, decide: decideRecipeDispatch } = recipeDispatch;
|
|
1730
|
-
return (_ctx, _push, _parent, _attrs) => {
|
|
1731
|
-
const _component_NuxtLink = NuxtLink;
|
|
1732
|
-
const _component_DcwDetailHead = DcwDetailHead_default;
|
|
1733
|
-
const _component_DcwGatewayBar = DcwGatewayBar_default;
|
|
1734
|
-
const _component_DcwAdoptCard = DcwAdoptCard_default;
|
|
1735
|
-
const _component_DcwLineRunCard = DcwLineRunCard_default;
|
|
1736
|
-
const _component_DcwDetailTemplateModal = DcwDetailTemplateModal_default;
|
|
1737
|
-
const _component_DcwAddNodeModal = DcwAddNodeModal_default;
|
|
1738
|
-
const _component_DcwParamApprovalCard = DcwParamApprovalCard_default;
|
|
1739
|
-
const _component_DcwRecipeDispatchApprovalCard = RecipeDispatchApprovalCard_default;
|
|
1740
|
-
const _component_DcwRecipeGateApprovalCard = RecipeGateApprovalCard_default;
|
|
1741
|
-
const _component_DcwExpConfirmCard = ExpConfirmCard_default;
|
|
1742
|
-
const _component_DcwNodesTable = DcwNodesTable_default;
|
|
1743
|
-
const _component_DcwMesArtifacts = DcwMesArtifacts_default;
|
|
1744
|
-
const _component_DcwRecipePanel = DcwRecipePanel_default;
|
|
1745
|
-
const _component_DcwRecipeDispatchHistoryModal = DcwRecipeDispatchHistoryModal_default;
|
|
1746
|
-
const _component_DcwRecipeEditModal = DcwRecipeEditModal_default;
|
|
1747
|
-
const _component_DcwRecipeHistoryModal = DcwRecipeHistoryModal_default;
|
|
1748
|
-
const _component_DcwQueryCard = DcwQueryCard_default;
|
|
1749
|
-
const _component_DcwWriteHistoryCard = DcwWriteHistoryCard_default;
|
|
1750
|
-
const _component_DcwProductCreateModal = DcwProductCreateModal_default;
|
|
1751
|
-
const _component_DcwLedgerCard = DcwLedgerCard_default;
|
|
1752
|
-
if (unref(dcw).loaded && !unref(line)) {
|
|
1753
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-e308bbfe><p class="banner bad" data-v-e308bbfe>${ssrInterpolate(_ctx.$t("dcwDetail.k19337yp018"))}</p>`);
|
|
1754
|
-
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
1755
|
-
class: "pill-btn",
|
|
1756
|
-
to: "/dcw"
|
|
1757
|
-
}, {
|
|
1758
|
-
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
1759
|
-
if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.kllwu1c019"))}`);
|
|
1760
|
-
else return [createTextVNode(toDisplayString(_ctx.$t("dcwDetail.kllwu1c019")), 1)];
|
|
1761
|
-
}),
|
|
1762
|
-
_: 1
|
|
1763
|
-
}, _parent));
|
|
1764
|
-
_push(`</div>`);
|
|
1765
|
-
} else {
|
|
1766
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-e308bbfe>`);
|
|
1767
|
-
_push(ssrRenderComponent(_component_DcwDetailHead, {
|
|
1768
|
-
line: unref(line),
|
|
1769
|
-
"line-id": unref(lineId),
|
|
1770
|
-
"nodes-count": unref(lineNodes).length,
|
|
1771
|
-
"products-count": unref(lineProducts).length,
|
|
1772
|
-
"recipes-count": unref(lineRecipesAll).length
|
|
1773
|
-
}, null, _parent));
|
|
1774
|
-
_push(ssrRenderComponent(_component_DcwGatewayBar, {
|
|
1775
|
-
running: unref(dcw).controller.running,
|
|
1776
|
-
"nodes-online": unref(dcw).controller.nodesOnline,
|
|
1777
|
-
"nodes-total": unref(dcw).controller.nodesTotal,
|
|
1778
|
-
"writes-total": unref(dcw).controller.writesTotal,
|
|
1779
|
-
"writes-failed": unref(dcw).controller.writesFailed,
|
|
1780
|
-
onToggle: unref(dcw).startStop,
|
|
1781
|
-
onOpenTemplates: unref(openTplModal),
|
|
1782
|
-
onOpenAdd: ($event) => addOpen.value = true
|
|
1783
|
-
}, null, _parent));
|
|
1784
|
-
if (unref(writeError) || unref(writeOk)) _push(`<p class="${ssrRenderClass([unref(writeError) ? "bad" : "good", "banner"])}" data-v-e308bbfe>${ssrInterpolate(unref(writeError) || unref(writeOk))}</p>`);
|
|
1785
|
-
else _push(`<!---->`);
|
|
1786
|
-
_push(ssrRenderComponent(_component_DcwAdoptCard, {
|
|
1787
|
-
"unassigned-nodes": unref(unassignedNodes),
|
|
1788
|
-
"unassigned-products": unref(unassignedProducts),
|
|
1789
|
-
onAdoptNode: unref(adoptNode),
|
|
1790
|
-
onAdoptProduct: unref(adoptProduct)
|
|
1791
|
-
}, null, _parent));
|
|
1792
|
-
_push(ssrRenderComponent(_component_DcwLineRunCard, {
|
|
1793
|
-
"product-id": unref(lineProductId),
|
|
1794
|
-
"onUpdate:productId": ($event) => isRef(lineProductId) ? lineProductId.value = $event : null,
|
|
1795
|
-
"recipe-id": unref(lineRecipeId),
|
|
1796
|
-
"onUpdate:recipeId": ($event) => isRef(lineRecipeId) ? lineRecipeId.value = $event : null,
|
|
1797
|
-
ls: unref(ls),
|
|
1798
|
-
"line-products": unref(lineProducts),
|
|
1799
|
-
"line-recipes": unref(lineRecipes),
|
|
1800
|
-
"line-busy": unref(lineBusy),
|
|
1801
|
-
"line-msg": unref(lineMsg),
|
|
1802
|
-
"line-err": unref(lineErr),
|
|
1803
|
-
onStart: unref(doLineStart),
|
|
1804
|
-
onStop: unref(doLineStop)
|
|
1805
|
-
}, null, _parent));
|
|
1806
|
-
_push(ssrRenderComponent(_component_DcwDetailTemplateModal, {
|
|
1807
|
-
open: unref(tplOpen),
|
|
1808
|
-
"onUpdate:open": ($event) => isRef(tplOpen) ? tplOpen.value = $event : null,
|
|
1809
|
-
form: unref(tplForm),
|
|
1810
|
-
"onUpdate:form": ($event) => isRef(tplForm) ? tplForm.value = $event : null,
|
|
1811
|
-
templates: unref(dcw).templates,
|
|
1812
|
-
"tpl-icons": unref(tplIcons),
|
|
1813
|
-
"builtin-count": unref(builtinCount),
|
|
1814
|
-
"custom-count": unref(customCount),
|
|
1815
|
-
"tpl-saving": unref(tplSaving),
|
|
1816
|
-
"tpl-error": unref(tplError),
|
|
1817
|
-
"tpl-ok": unref(tplOk),
|
|
1818
|
-
onSubmit: unref(doCreateTemplate),
|
|
1819
|
-
onClose: ($event) => tplOpen.value = false
|
|
1820
|
-
}, null, _parent));
|
|
1821
|
-
_push(ssrRenderComponent(_component_DcwAddNodeModal, {
|
|
1822
|
-
open: unref(addOpen),
|
|
1823
|
-
"onUpdate:open": ($event) => isRef(addOpen) ? addOpen.value = $event : null,
|
|
1824
|
-
scenario: unref(addScenario),
|
|
1825
|
-
"onUpdate:scenario": ($event) => isRef(addScenario) ? addScenario.value = $event : null,
|
|
1826
|
-
template: unref(addTemplate),
|
|
1827
|
-
"onUpdate:template": ($event) => isRef(addTemplate) ? addTemplate.value = $event : null,
|
|
1828
|
-
driver: unref(addDriver),
|
|
1829
|
-
"onUpdate:driver": ($event) => isRef(addDriver) ? addDriver.value = $event : null,
|
|
1830
|
-
name: unref(addName),
|
|
1831
|
-
"onUpdate:name": ($event) => isRef(addName) ? addName.value = $event : null,
|
|
1832
|
-
hold: unref(addHold),
|
|
1833
|
-
"onUpdate:hold": ($event) => isRef(addHold) ? addHold.value = $event : null,
|
|
1834
|
-
read: unref(addRead),
|
|
1835
|
-
"onUpdate:read": ($event) => isRef(addRead) ? addRead.value = $event : null,
|
|
1836
|
-
"write-lock": unref(addWriteLock),
|
|
1837
|
-
"onUpdate:writeLock": ($event) => isRef(addWriteLock) ? addWriteLock.value = $event : null,
|
|
1838
|
-
"step-limit": unref(addStepLimit),
|
|
1839
|
-
"onUpdate:stepLimit": ($event) => isRef(addStepLimit) ? addStepLimit.value = $event : null,
|
|
1840
|
-
cfg: unref(addCfg),
|
|
1841
|
-
"onUpdate:cfg": ($event) => isRef(addCfg) ? addCfg.value = $event : null,
|
|
1842
|
-
transform: unref(addTransform),
|
|
1843
|
-
"onUpdate:transform": ($event) => isRef(addTransform) ? addTransform.value = $event : null,
|
|
1844
|
-
semantics: unref(addSemantics),
|
|
1845
|
-
"onUpdate:semantics": ($event) => isRef(addSemantics) ? addSemantics.value = $event : null,
|
|
1846
|
-
templates: unref(dcw).templates,
|
|
1847
|
-
"driver-catalog": unref(driverCatalog),
|
|
1848
|
-
"add-fields": unref(addFields),
|
|
1849
|
-
"add-testing": unref(addTesting),
|
|
1850
|
-
"add-test": unref(addTest),
|
|
1851
|
-
"add-mes-testing": unref(addMesTesting),
|
|
1852
|
-
"add-mes-result": unref(addMesResult),
|
|
1853
|
-
"add-mes-hook-testing": unref(addMesHookTesting),
|
|
1854
|
-
"add-mes-hook-result": unref(addMesHookResult),
|
|
1855
|
-
"add-saving": unref(addSaving),
|
|
1856
|
-
"add-error": unref(addError),
|
|
1857
|
-
onTest: unref(doTestConnection),
|
|
1858
|
-
onMesTest: unref(doMesTestRead),
|
|
1859
|
-
onMesHookTest: unref(doMesHookTest),
|
|
1860
|
-
onSubmit: unref(doAddNode)
|
|
1861
|
-
}, null, _parent));
|
|
1862
|
-
if (unref(approvalItems).length) _push(ssrRenderComponent(_component_DcwParamApprovalCard, {
|
|
1863
|
-
comments: unref(approvalComments),
|
|
1864
|
-
"onUpdate:comments": ($event) => isRef(approvalComments) ? approvalComments.value = $event : null,
|
|
1865
|
-
items: unref(approvalItems),
|
|
1866
|
-
"deciding-id": unref(approvalDecidingId),
|
|
1867
|
-
"remaining-sec": unref(approvalRemainingSec),
|
|
1868
|
-
"agent-name": unref(approvalAgentName),
|
|
1869
|
-
"node-name": unref(approvalNodeName),
|
|
1870
|
-
onDecide: unref(decideApproval)
|
|
1871
|
-
}, null, _parent));
|
|
1872
|
-
else _push(`<!---->`);
|
|
1873
|
-
if (unref(rdItems).length) _push(ssrRenderComponent(_component_DcwRecipeDispatchApprovalCard, {
|
|
1874
|
-
comments: unref(rdComments),
|
|
1875
|
-
"onUpdate:comments": ($event) => isRef(rdComments) ? rdComments.value = $event : null,
|
|
1876
|
-
items: unref(rdItems),
|
|
1877
|
-
"deciding-id": unref(rdDecidingId),
|
|
1878
|
-
"decide-error": unref(rdDecideError),
|
|
1879
|
-
onDecide: unref(decideRecipeDispatch)
|
|
1880
|
-
}, null, _parent));
|
|
1881
|
-
else _push(`<!---->`);
|
|
1882
|
-
if (unref(rdGateItems).length) _push(ssrRenderComponent(_component_DcwRecipeGateApprovalCard, {
|
|
1883
|
-
items: unref(rdGateItems),
|
|
1884
|
-
comments: unref(rdComments),
|
|
1885
|
-
"deciding-id": unref(rdDecidingId),
|
|
1886
|
-
error: unref(rdDecideError),
|
|
1887
|
-
onDecide: decideRecipeGate
|
|
1888
|
-
}, null, _parent));
|
|
1889
|
-
else _push(`<!---->`);
|
|
1890
|
-
if (unref(expItems).length) _push(ssrRenderComponent(_component_DcwExpConfirmCard, {
|
|
1891
|
-
items: unref(expItems),
|
|
1892
|
-
"deciding-id": unref(expDecidingId),
|
|
1893
|
-
"decide-error": unref(expDecideError),
|
|
1894
|
-
onDecide: unref(decideExp)
|
|
1895
|
-
}, null, _parent));
|
|
1896
|
-
else _push(`<!---->`);
|
|
1897
|
-
_push(ssrRenderComponent(_component_DcwNodesTable, {
|
|
1898
|
-
"set-inputs": unref(setInputs),
|
|
1899
|
-
"onUpdate:setInputs": ($event) => isRef(setInputs) ? setInputs.value = $event : null,
|
|
1900
|
-
"line-nodes": unref(lineNodes),
|
|
1901
|
-
"state-label": unref(stateLabel),
|
|
1902
|
-
"toggling-id": unref(togglingId),
|
|
1903
|
-
"reading-id": unref(readingId),
|
|
1904
|
-
"writing-id": unref(writingId),
|
|
1905
|
-
"step-patching-id": unref(stepPatchingId),
|
|
1906
|
-
loaded: unref(dcw).loaded,
|
|
1907
|
-
error: unref(dcw).error,
|
|
1908
|
-
"dcw-template-ref-ch": unref(dcwTemplateRefCh),
|
|
1909
|
-
"node-device-names": unref(nodeDeviceNames),
|
|
1910
|
-
onToggle: unref(toggleControl),
|
|
1911
|
-
onRead: unref(doRead),
|
|
1912
|
-
onWrite: unref(doWrite),
|
|
1913
|
-
onPatchStepLimit: unref(patchStepLimit),
|
|
1914
|
-
onArtifacts: openMesArtifacts,
|
|
1915
|
-
onRemove: unref(dcw).removeNode
|
|
1916
|
-
}, null, _parent));
|
|
1917
|
-
_push(ssrRenderComponent(_component_DcwMesArtifacts, {
|
|
1918
|
-
open: unref(mesArtifactsOpen),
|
|
1919
|
-
"onUpdate:open": ($event) => isRef(mesArtifactsOpen) ? mesArtifactsOpen.value = $event : null,
|
|
1920
|
-
"node-id": unref(mesArtifactsNodeId),
|
|
1921
|
-
"node-name": unref(mesArtifactsNodeName)
|
|
1922
|
-
}, null, _parent));
|
|
1923
|
-
_push(ssrRenderComponent(_component_DcwRecipePanel, {
|
|
1924
|
-
"filter-product-id": unref(filterProductId),
|
|
1925
|
-
"onUpdate:filterProductId": ($event) => isRef(filterProductId) ? filterProductId.value = $event : null,
|
|
1926
|
-
"line-products": unref(lineProducts),
|
|
1927
|
-
"visible-recipes": unref(visibleRecipes),
|
|
1928
|
-
"line-runs": unref(lineRuns),
|
|
1929
|
-
"apply-result": unref(applyResult),
|
|
1930
|
-
"run-data-view": unref(runDataView),
|
|
1931
|
-
"run-data-loading": unref(runDataLoading),
|
|
1932
|
-
"product-name": unref(productName),
|
|
1933
|
-
"param-status": unref(paramStatus),
|
|
1934
|
-
"param-node-name": unref(paramNodeName),
|
|
1935
|
-
"daq-window-status": unref(daqWindowStatus),
|
|
1936
|
-
"daq-node-ch": unref(daqNodeCh),
|
|
1937
|
-
onCreate: unref(openRecipeCreate),
|
|
1938
|
-
onOpenProduct: ($event) => productOpen.value = true,
|
|
1939
|
-
onApply: unref(doApplyRecipe),
|
|
1940
|
-
onEdit: unref(openRecipeEdit),
|
|
1941
|
-
onHistory: unref(openRecipeHistory),
|
|
1942
|
-
onDispatchHistory: openDispatchHistory,
|
|
1943
|
-
onRemoveRecipe: unref(dcw).removeRecipe,
|
|
1944
|
-
onRemoveProduct: unref(dcw).removeProduct,
|
|
1945
|
-
onViewRun: unref(doViewRun),
|
|
1946
|
-
onCloseRun: unref(dcw).closeRun,
|
|
1947
|
-
onCloseRunData: ($event) => runDataView.value = null
|
|
1948
|
-
}, null, _parent));
|
|
1949
|
-
_push(ssrRenderComponent(_component_DcwRecipeDispatchHistoryModal, {
|
|
1950
|
-
open: unref(dispatchHistoryOpen),
|
|
1951
|
-
"onUpdate:open": ($event) => isRef(dispatchHistoryOpen) ? dispatchHistoryOpen.value = $event : null,
|
|
1952
|
-
"recipe-id": unref(dispatchHistoryRecipeId),
|
|
1953
|
-
"recipe-name": unref(dispatchHistoryRecipeName)
|
|
1954
|
-
}, null, _parent));
|
|
1955
|
-
_push(ssrRenderComponent(_component_DcwRecipeEditModal, {
|
|
1956
|
-
open: unref(recipeOpen),
|
|
1957
|
-
"onUpdate:open": ($event) => isRef(recipeOpen) ? recipeOpen.value = $event : null,
|
|
1958
|
-
form: unref(recipeForm),
|
|
1959
|
-
"onUpdate:form": ($event) => isRef(recipeForm) ? recipeForm.value = $event : null,
|
|
1960
|
-
"line-products": unref(lineProducts),
|
|
1961
|
-
"line-nodes": unref(lineNodes),
|
|
1962
|
-
"line-daq-nodes": unref(lineDaqNodes),
|
|
1963
|
-
"line-id": unref(lineId),
|
|
1964
|
-
"recipe-editing": unref(recipeEditing),
|
|
1965
|
-
"recipe-saving": unref(recipeSaving),
|
|
1966
|
-
"recipe-error": unref(recipeError),
|
|
1967
|
-
"recipe-stale-note": unref(recipeStaleNote),
|
|
1968
|
-
"dcw-template-ref-ch": unref(dcwTemplateRefCh),
|
|
1969
|
-
"node-min": unref(nodeMin),
|
|
1970
|
-
"node-max": unref(nodeMax),
|
|
1971
|
-
"param-status": unref(paramStatus),
|
|
1972
|
-
onSubmit: unref(saveRecipe),
|
|
1973
|
-
onClose: ($event) => recipeOpen.value = false
|
|
1974
|
-
}, null, _parent));
|
|
1975
|
-
_push(ssrRenderComponent(_component_DcwRecipeHistoryModal, {
|
|
1976
|
-
open: unref(verOpen),
|
|
1977
|
-
"onUpdate:open": ($event) => isRef(verOpen) ? verOpen.value = $event : null,
|
|
1978
|
-
"ver-recipe": unref(verRecipe),
|
|
1979
|
-
"ver-rows": unref(verRows),
|
|
1980
|
-
"ver-loading": unref(verLoading),
|
|
1981
|
-
"ver-msg": unref(verMsg),
|
|
1982
|
-
"param-node-name": unref(paramNodeName),
|
|
1983
|
-
onRevert: unref(doRevert),
|
|
1984
|
-
onClose: ($event) => verOpen.value = false
|
|
1985
|
-
}, null, _parent));
|
|
1986
|
-
_push(ssrRenderComponent(_component_DcwQueryCard, {
|
|
1987
|
-
query: unref(query),
|
|
1988
|
-
"onUpdate:query": ($event) => isRef(query) ? query.value = $event : null,
|
|
1989
|
-
"line-products": unref(lineProducts),
|
|
1990
|
-
"visible-recipes": unref(visibleRecipes),
|
|
1991
|
-
"line-daq-nodes": unref(lineDaqNodes),
|
|
1992
|
-
"daq-param-keys": unref(daqParamKeys),
|
|
1993
|
-
"query-busy": unref(queryBusy),
|
|
1994
|
-
"query-error": unref(queryError),
|
|
1995
|
-
"query-result": unref(queryResult),
|
|
1996
|
-
onRun: unref(doQuery)
|
|
1997
|
-
}, null, _parent));
|
|
1998
|
-
if (unref(lineHistory).length) _push(ssrRenderComponent(_component_DcwWriteHistoryCard, { "line-history": unref(lineHistory) }, null, _parent));
|
|
1999
|
-
else _push(`<!---->`);
|
|
2000
|
-
_push(ssrRenderComponent(_component_DcwProductCreateModal, {
|
|
2001
|
-
open: unref(productOpen),
|
|
2002
|
-
"onUpdate:open": ($event) => isRef(productOpen) ? productOpen.value = $event : null,
|
|
2003
|
-
form: unref(productForm),
|
|
2004
|
-
"onUpdate:form": ($event) => isRef(productForm) ? productForm.value = $event : null,
|
|
2005
|
-
"product-saving": unref(productSaving),
|
|
2006
|
-
"product-error": unref(productError),
|
|
2007
|
-
onSubmit: unref(doCreateProduct),
|
|
2008
|
-
onClose: ($event) => productOpen.value = false
|
|
2009
|
-
}, null, _parent));
|
|
2010
|
-
if (unref(dcw).error) {
|
|
2011
|
-
_push(`<p class="err" data-v-e308bbfe>${ssrInterpolate(unref(dcw).error)}(`);
|
|
2012
|
-
_push(ssrRenderComponent(_component_NuxtLink, { to: "/workshop" }, {
|
|
2013
|
-
default: withCtx((_, _push, _parent, _scopeId) => {
|
|
2014
|
-
if (_push) _push(`${ssrInterpolate(_ctx.$t("dcwDetail.k1bhhheq120"))}`);
|
|
2015
|
-
else return [createTextVNode(toDisplayString(_ctx.$t("dcwDetail.k1bhhheq120")), 1)];
|
|
2016
|
-
}),
|
|
2017
|
-
_: 1
|
|
2018
|
-
}, _parent));
|
|
2019
|
-
_push(`) </p>`);
|
|
2020
|
-
} else _push(`<!---->`);
|
|
2021
|
-
_push(ssrRenderComponent(_component_DcwLedgerCard, {
|
|
2022
|
-
"node-id": unref(ledgerNodeId),
|
|
2023
|
-
"onUpdate:nodeId": ($event) => isRef(ledgerNodeId) ? ledgerNodeId.value = $event : null,
|
|
2024
|
-
"line-nodes": unref(lineNodes),
|
|
2025
|
-
ledger: unref(ledger),
|
|
2026
|
-
onLoad: unref(loadLedger),
|
|
2027
|
-
onRollback: unref(rollbackLedgerNode)
|
|
2028
|
-
}, null, _parent));
|
|
2029
|
-
_push(`</div>`);
|
|
2030
|
-
}
|
|
2031
|
-
};
|
|
2032
|
-
}
|
|
2033
|
-
});
|
|
2034
|
-
//#endregion
|
|
2035
|
-
//#region app/pages/dcw/[id].vue
|
|
2036
|
-
var _sfc_setup = _id__vue_vue_type_script_setup_true_lang_default.setup;
|
|
2037
|
-
_id__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
|
|
2038
|
-
const ssrContext = useSSRContext();
|
|
2039
|
-
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/dcw/[id].vue");
|
|
2040
|
-
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
2041
|
-
};
|
|
2042
|
-
var _id__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_id__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e308bbfe"]]);
|
|
2043
|
-
|
|
2044
|
-
export { _id__default as default };
|
|
2045
|
-
//# sourceMappingURL=_id_-CZPlPDm4.mjs.map
|