agentworkshop 0.7.41 → 0.7.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/B8uy9iRW.js +1 -0
- package/.output/public/_nuxt/BGTYYQH-.js +1 -0
- package/.output/public/_nuxt/BUmHEJ77.js +2 -0
- package/.output/public/_nuxt/BY7YrV_D.js +1 -0
- package/.output/public/_nuxt/Bqcgz95s.js +18 -0
- package/.output/public/_nuxt/C7UlqPeD.js +1 -0
- package/.output/public/_nuxt/CTmDn-YP.js +1 -0
- package/.output/public/_nuxt/Cs8pVeVG.js +1 -0
- package/.output/public/_nuxt/DKySmNPI.js +14 -0
- package/.output/public/_nuxt/Di0NY_ht.js +1 -0
- package/.output/public/_nuxt/Du9v6qGB.js +1 -0
- package/.output/public/_nuxt/{DGbd-UiG.js → EHlEMRii.js} +1 -1
- package/.output/public/_nuxt/Eke1fs-U.js +1 -0
- package/.output/public/_nuxt/{DeJykBFf.js → H0BcqZtT.js} +1 -1
- package/.output/public/_nuxt/{C4oW1HsE.js → HSYEkkce.js} +1 -1
- package/.output/public/_nuxt/{D_OTvQza.js → J9oU00D1.js} +1 -1
- package/.output/public/_nuxt/OmpTerminalPanel.BxR5-lvi.css +1 -0
- package/.output/public/_nuxt/SSyAPaHc.js +1 -0
- package/.output/public/_nuxt/TownView.li4EMQxK.css +1 -0
- package/.output/public/_nuxt/VdLk4jLE2.js +1 -0
- package/.output/public/_nuxt/_id_.BhsXoEuk.css +1 -0
- package/.output/public/_nuxt/_id_.DQyj-WKN.css +1 -0
- package/.output/public/_nuxt/{_wsId_.B4WiqkIS.css → _wsId_.CTx-BlfF.css} +1 -1
- package/.output/public/_nuxt/aShsv_rG.js +19 -0
- package/.output/public/_nuxt/{yF0aYMF1.js → aesgXKSr.js} +3 -3
- package/.output/public/_nuxt/agents.B21nUEUX.css +1 -0
- package/.output/public/_nuxt/aml.ekTjxFkf.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/b5506ef0-f48e-4f14-a6c0-d65e505d0b09.json +1 -0
- package/.output/public/_nuxt/channel-templates.DplM1pJ3.css +1 -0
- package/.output/public/_nuxt/daq.BdVmoIfe.css +1 -0
- package/.output/public/_nuxt/dcw.DCgyzpWV.css +1 -0
- package/.output/public/_nuxt/{default.J32SgqFY.css → default.Bh3L2HU8.css} +1 -1
- package/.output/public/_nuxt/lHAxdSsj.js +1 -0
- package/.output/public/_nuxt/pages.j9rzRocr.css +1 -0
- package/.output/public/_nuxt/plugins.DhiZbHU8.css +1 -0
- package/.output/public/_nuxt/settings.BRx9rIDg.css +1 -0
- package/.output/public/_nuxt/teams.BLlOPB_Z.css +1 -0
- package/.output/public/_nuxt/tokens.De8xzszn.css +1 -0
- package/.output/public/_nuxt/workshop.D1jFNkrn.css +1 -0
- package/.output/server/chunks/_/nitro.mjs +748 -733
- package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs → OmpTerminalPanel-CVvxpsF7.mjs} +15 -15
- package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs.map → OmpTerminalPanel-CVvxpsF7.mjs.map} +1 -1
- package/.output/server/chunks/build/{TownView--otsnr_7.mjs → TownView-CJ6IsDCc.mjs} +226 -225
- package/.output/server/chunks/build/{TownView--otsnr_7.mjs.map → TownView-CJ6IsDCc.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-Brv-JSvr.mjs → _id_-CVD_H0ir.mjs} +143 -142
- package/.output/server/chunks/build/_id_-CVD_H0ir.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-D9pl1OZy.mjs → _id_-CtxMb3qp.mjs} +41 -41
- package/.output/server/chunks/build/_id_-CtxMb3qp.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-BASfDf0s.mjs → _wsId_-DpY3T-md.mjs} +514 -444
- package/.output/server/chunks/build/{_wsId_-BASfDf0s.mjs.map → _wsId_-DpY3T-md.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-CLQqJF2y.mjs → agents-DsCkuXDV.mjs} +49 -46
- package/.output/server/chunks/build/agents-DsCkuXDV.mjs.map +1 -0
- package/.output/server/chunks/build/{aml-_7FdFL2p.mjs → aml-CT0xKGKI.mjs} +122 -105
- package/.output/server/chunks/build/aml-CT0xKGKI.mjs.map +1 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +117 -0
- package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -0
- package/.output/server/chunks/build/{channel-templates-p6SZNjlM.mjs → channel-templates-Dla9FbYa.mjs} +49 -37
- package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs.map +1 -0
- package/.output/server/chunks/build/{daq-DkMvD8sg.mjs → daq-DWWSKGAV.mjs} +89 -88
- package/.output/server/chunks/build/daq-DWWSKGAV.mjs.map +1 -0
- package/.output/server/chunks/build/{dcw-C1jgVJkO.mjs → dcw-CT8k17_E.mjs} +44 -43
- package/.output/server/chunks/build/dcw-CT8k17_E.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BE4r0FZN.mjs → default-D3525UFX.mjs} +16 -15
- package/.output/server/chunks/build/{default-BE4r0FZN.mjs.map → default-D3525UFX.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-C0okQaXz.mjs → monitor-Dh2Kvaq5.mjs} +2 -2
- package/.output/server/chunks/build/{monitor-C0okQaXz.mjs.map → monitor-Dh2Kvaq5.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-B0bUWnC6.mjs → pages-BHcSBM2D.mjs} +24 -18
- package/.output/server/chunks/build/pages-BHcSBM2D.mjs.map +1 -0
- package/.output/server/chunks/build/{plugins-lGlUr1lj.mjs → plugins-BNgIi61W.mjs} +23 -17
- package/.output/server/chunks/build/plugins-BNgIi61W.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-Ddd1qx2Z.mjs → settings-ipYBDWdn.mjs} +45 -44
- package/.output/server/chunks/build/settings-ipYBDWdn.mjs.map +1 -0
- package/.output/server/chunks/build/{teams-MEDLZdMn.mjs → teams-5lx-CwFa.mjs} +47 -44
- package/.output/server/chunks/build/teams-5lx-CwFa.mjs.map +1 -0
- package/.output/server/chunks/build/{tokens-C7fTM5C2.mjs → tokens-q-IDT8Io.mjs} +73 -53
- package/.output/server/chunks/build/tokens-q-IDT8Io.mjs.map +1 -0
- package/.output/server/chunks/build/{town-CoQdblbZ.mjs → town-QJWB5wng.mjs} +3 -2
- package/.output/server/chunks/build/town-QJWB5wng.mjs.map +1 -0
- package/.output/server/chunks/build/{workshop-BL5bhfs0.mjs → workshop-BIlCj_ZP.mjs} +45 -45
- package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +637 -86
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +13 -3
- package/README.md +13 -3
- package/app/components/AppHeader.vue +961 -959
- package/app/components/workshop/A2aRpcDebugger.vue +237 -237
- package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
- package/app/components/workshop/AgentLanesView.vue +998 -998
- package/app/components/workshop/ArtifactCard.vue +120 -120
- package/app/components/workshop/AssetLibrary.vue +452 -452
- package/app/components/workshop/ChannelSessionList.vue +812 -804
- package/app/components/workshop/CommandPalette.vue +269 -269
- package/app/components/workshop/Composer.vue +827 -827
- package/app/components/workshop/DeviceTwinPanel.vue +643 -643
- package/app/components/workshop/EventBlock.vue +602 -602
- package/app/components/workshop/FileSelectorModal.vue +188 -188
- package/app/components/workshop/InspectorPanel.vue +301 -301
- package/app/components/workshop/MemoryPanel.vue +364 -364
- package/app/components/workshop/MultiChannelView.vue +189 -189
- package/app/components/workshop/TaskBoardView.vue +686 -686
- package/app/components/workshop/TaskInspectorDrawer.vue +390 -390
- package/app/components/workshop/TranscriptTimeline.vue +601 -601
- 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 -93
- 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 -147
- package/app/components/workshop/blocks/ClusterTool.vue +158 -158
- package/app/components/workshop/terminal/OmpTerminalPanel.vue +1011 -1011
- package/app/components/workshop/town/TownView.vue +56 -56
- package/app/middleware/locale-cookie.global.ts +22 -0
- package/app/pages/aml/index.vue +24 -2
- package/app/pages/daq/[id].vue +11 -11
- package/app/pages/daq/index.vue +2316 -2316
- package/app/pages/dcw/[id].vue +18 -19
- package/app/pages/dcw/index.vue +3 -3
- package/app/pages/index.vue +987 -981
- package/app/pages/plugins/index.vue +317 -311
- package/app/pages/settings.vue +1564 -1562
- package/app/pages/tokens.vue +15 -15
- package/app/pages/workshop/agents.vue +612 -609
- package/app/pages/workshop/channel-templates.vue +18 -11
- package/app/pages/workshop/index.vue +668 -668
- package/app/pages/workshop/teams.vue +743 -740
- package/app/pages/workshop/w/[wsId].vue +704 -704
- package/app/plugins/locale-restore.client.ts +16 -1
- package/app/utils/builtin-catalog.ts +104 -0
- package/config.yml +170 -170
- package/docs/full-test-plan.md +2 -3
- package/i18n/locales/en.ts +293 -35
- package/i18n/locales/zh-CN.ts +265 -7
- package/package.json +2 -2
- package/scripts/_dbg-perms-e2e.mjs +132 -109
- package/scripts/_demo-agentteam-capture.mjs +278 -0
- package/scripts/_e2e-ui-functional.mjs +371 -0
- package/scripts/_i18n-en-cjk-scan.mjs +28 -0
- package/scripts/_i18n-en-verify.mjs +107 -0
- package/scripts/_i18n-extra-checks.mjs +53 -0
- package/scripts/_i18n-scan-hardcoded.mjs +180 -0
- package/scripts/_i18n-verify-keys.mjs +50 -0
- package/scripts/_loop-biax-campaign.mjs +15 -9
- package/scripts/_sweep-button-contrast.mjs +87 -0
- package/scripts/ui/record-demo.mjs +557 -0
- package/server/plugins-builtin/diag-bridge/index.mjs +608 -661
- package/server/plugins-builtin/rag-bridge/index.mjs +57 -133
- package/server/services/workshop/daq/drivers.ts +11 -0
- package/.output/public/_nuxt/88GOowgO2.js +0 -1
- package/.output/public/_nuxt/BN16aRdQ.js +0 -1
- package/.output/public/_nuxt/BWVhZntO.js +0 -1
- package/.output/public/_nuxt/BXxH0UQE.js +0 -1
- package/.output/public/_nuxt/BsROmY89.js +0 -1
- package/.output/public/_nuxt/C0ZrS1KL.js +0 -19
- package/.output/public/_nuxt/C4s_niy-.js +0 -14
- package/.output/public/_nuxt/D6mbFA-a.js +0 -1
- package/.output/public/_nuxt/DS8qj8EL.js +0 -1
- package/.output/public/_nuxt/DUjW5Yq5.js +0 -1
- package/.output/public/_nuxt/Dap5PmTL.js +0 -2
- package/.output/public/_nuxt/Dqw1lpr-.js +0 -1
- package/.output/public/_nuxt/DvLxILQP.js +0 -1
- package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +0 -1
- package/.output/public/_nuxt/TownView.f-YOdXRs.css +0 -1
- package/.output/public/_nuxt/_id_.D9ymtHB5.css +0 -1
- package/.output/public/_nuxt/_id_.jf-_8E_c.css +0 -1
- package/.output/public/_nuxt/agents.ZD0rVdHE.css +0 -1
- package/.output/public/_nuxt/aml.BN8ZEW4h.css +0 -1
- package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +0 -1
- package/.output/public/_nuxt/channel-templates.BOtahzPi.css +0 -1
- package/.output/public/_nuxt/daq.DjSgY94l.css +0 -1
- package/.output/public/_nuxt/dcw.8Y7FqCVN.css +0 -1
- package/.output/public/_nuxt/eqq3wWQF.js +0 -18
- package/.output/public/_nuxt/pages.D7aSDlUI.css +0 -1
- package/.output/public/_nuxt/plugins.sb4nDGqr.css +0 -1
- package/.output/public/_nuxt/qr6R6Ha1.js +0 -1
- package/.output/public/_nuxt/settings.BTgR-NiE.css +0 -1
- package/.output/public/_nuxt/teams.CxnxKVVs.css +0 -1
- package/.output/public/_nuxt/tokens.BFY7qv4f.css +0 -1
- package/.output/public/_nuxt/workshop.CR_QzeAN.css +0 -1
- package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +0 -1
- package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +0 -1
- package/.output/server/chunks/build/aml-_7FdFL2p.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-p6SZNjlM.mjs.map +0 -1
- package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-C1jgVJkO.mjs.map +0 -1
- package/.output/server/chunks/build/pages-B0bUWnC6.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-lGlUr1lj.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +0 -1
- package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-C7fTM5C2.mjs.map +0 -1
- package/.output/server/chunks/build/town-CoQdblbZ.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-BL5bhfs0.mjs.map +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.continue.json +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.json +0 -1
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/054bb4bc4e4217a2ab0b0c6b663747214a9af464f5568ea60e784704e340bb0f.source +0 -153
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/0554197c3d2bac203a1f5c48a5d52495d1336db1bd7aa4f4c19875810363e684.source +0 -153
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/05c203d12a954fffba942e1d626e3f5fec05b18a5aef2bac003b7884a4b77406.source +0 -431
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/145a6e6ba811af35aed31e0cc3211f53706a14980fa069ee9e3c1591139f96f0.source +0 -180
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/1ae0fb281f97899c025e368ca73f41349b01fb5f85b19e08d7ebccff49095ed5.source +0 -112
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/20ee9967aa0541c516db7575bdd4a1a745939bc7016bd10d7635903113edb8ec.source +0 -227
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/233751843aeba9d4c5263f275b8102de00443c06f286918cbd23e0b6729e01aa.source +0 -131
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/263c2e05b425e5c322e60c6475279f963bab3a873eb521b21df7fec935a46597.source +0 -160
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/2ac5eaac28eaaee2178c4b32014df8e732f9dd432a285a872f5b7f31c1395fa4.source +0 -157
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/33a0db0d2d95d2c11d0720090458e5fba1425376f5ceb5b422d1d3471be3226b.source +0 -348
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/359e474ae83db35e4615d3728de6bf694b64d4dce9b536730a3b6518f9c0494a.source +0 -296
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/37a4c3c31c4b70f6b719c53d1e9c4fcba603f31adfdd11bb6ef9f0d094923c56.source +0 -285
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/461feca1c14a695eb8b0f17a6f95fe97eeceabc0510faaea4ba6d25bde147d8d.source +0 -217
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/4cfadbda8591f29d5e1e230dc000e701b756e850441b3900fb596a4d2f6e98c2.source +0 -301
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/50ca2810cf0b248c96948994c0c404531bbad6e553166b6816b3b03bfa0f75d2.source +0 -151
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/52d9e8cb591a9ae86e238c3620a610cd386717bee222c0f37b25b2ac7e523dc4.source +0 -135
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/6c87daafa4c006560a954636a97333f6123153c9d34d96203f7ee3a14e556357.source +0 -156
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/77bc47854b577900621cacf1697f81fa2bc005af129d37614a97a3441c08f99f.source +0 -72
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/7bbb789d3a527817118cf8399ed1861d6a962ade10878fd07223435d333a7089.source +0 -469
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/86b7c1daafc8b60ba9982dde5bf1bcc74265709483c176e71f23ec6fc267451f.source +0 -259
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/8df66d62bd41984d0970e8236882080c5085ac937d07a29779463d6a03b37c76.source +0 -97
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/9962f2d1b3a85137bd40cc835725600b39f89ee02a27c06b2e0402e1eafde115.source +0 -277
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a1090ea066b792cb201739f4994e37bf7c12f52e805239a1eab87f18a537f266.source +0 -171
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a5241091650134d0919897e086a606a3846c8b2b54f8b4c84a8696c145ac3e9e.source +0 -425
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/af19fa4c6e34d5540028be4b17600161283af3a2a2dfc61a3fdc0834436a0c14.source +0 -99
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3713d78e2b2f93905ff6be8d58a8d0a2f42dea322eb67c987fda22ff6a084d5.source +0 -325
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3849943c3aff102d1af815631fc843a2a52c17646a4b04696ece323e483bbec.source +0 -332
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/bac735a3803a6650b7f1eb8f587e6dc5c68ea055000c3c99a11789438b78e837.source +0 -43
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d32c24d61eb8b33c73e5a8fc7e4dc7ef437aed238ee4371c2b00617e6104090a.source +0 -154
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d5170dc9a9879fda04fdf91d8a110d4efb6787ee38dda596d4da899883d36a72.source +0 -531
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/dc59bcd7bb397be63ba2f2c3fec23f3782dcb17d2d75a9981eeced761f33eb32.source +0 -439
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/eb5ff8cf66b92aec7bf6726781d8df74faa2b030c3aaac17d6b00c1fc04c9b32.source +0 -323
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f10615a6fae18436e70d1201b2d44fdae3174a3aa7bb4db97dea1b3ed291d721.source +0 -433
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f36d3e271668bc1260c2823542d22dbf1d0f7041ff16b1ac175bce2256e582ca.source +0 -280
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f94449380af09f31ac352152007146a75cc80bae8d6411ffe57b2c56f933b0ff.source +0 -117
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/fe4dfd81178fd6b648335f6405d9ede71319aebde796008e50db21f8adf44c99.source +0 -160
- package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/ffb4e3aa548cfdadabaa44ab599f9b6a3ca6288176a2cc7a4b2fc2a12b5fb848.source +0 -101
- package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +0 -14
- package/scripts/_dbg-audit-all-pages.mjs +0 -43
- package/scripts/_dbg-daq-frames-e2e.mjs +0 -118
- package/scripts/_dbg-daq-rowstyle-verify.mjs +0 -112
- package/scripts/_dbg-hitl-timeout-e2e.mjs +0 -93
- package/scripts/_dbg-live-line-e2e.mjs +0 -279
- package/scripts/_dbg-minimal-omp.mjs +0 -77
- package/scripts/_dbg-mode-nav.mjs +0 -173
- package/scripts/_dbg-real-scenario-timeline.log +0 -55
- package/scripts/_dbg-team-repro.mjs +0 -76
- package/scripts/_dbg-town-agents-probe.mjs +0 -60
- package/scripts/_dbg-visual-acceptance.mjs +0 -63
- package/scripts/_townview_style.css +0 -1185
- package/scripts/_townview_template.html +0 -1215
- package/server/data/agent-node-bindings.json +0 -554
- package/server/data/daq-templates.json +0 -16
- package/server/data/daqs.json +0 -7464
- package/server/data/dcw-lines.json +0 -1787
- package/server/data/dcw-products.json +0 -1626
- package/server/data/dcw-recipes.json +0 -4672
- package/server/data/dcw-rollback.json +0 -20754
- package/server/data/dcw-runs.json +0 -6354
- package/server/data/dcw-templates.json +0 -146
- package/server/data/dcw-writes.json +0 -15650
- package/server/data/dcws.json +0 -9033
- package/server/data/device-twins.json +0 -133
- package/server/data/line-runs.json +0 -322
- package/server/data/scene-layouts.json +0 -277
package/i18n/locales/en.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
common: {
|
|
3
|
+
stop: 'Stop',
|
|
4
|
+
add: 'Add',
|
|
5
|
+
remove: 'Remove',
|
|
6
|
+
create: 'Create',
|
|
7
|
+
revoke: 'Revoke',
|
|
8
|
+
close: 'Close',
|
|
3
9
|
light: 'Light',
|
|
4
10
|
dark: 'Dark',
|
|
5
11
|
confirm: 'OK',
|
|
@@ -415,6 +421,17 @@ export default {
|
|
|
415
421
|
hitlSubmit: 'Submit',
|
|
416
422
|
},
|
|
417
423
|
agents: {
|
|
424
|
+
hMock: 'mock (testing)',
|
|
425
|
+
hOmp: 'omp (real LLM)',
|
|
426
|
+
badConfigJson: 'config is not valid JSON',
|
|
427
|
+
toPrivate: 'Click to make private',
|
|
428
|
+
toPublic: 'Click to make public (readable and usable by everyone)',
|
|
429
|
+
builtinNoEdit: 'Built-in templates cannot be modified',
|
|
430
|
+
ownerOnlyEdit: 'Only the owner can modify',
|
|
431
|
+
builtinNoDelete: 'Built-in templates cannot be deleted',
|
|
432
|
+
editTpl: 'Edit template',
|
|
433
|
+
newTpl: 'New template',
|
|
434
|
+
configLabel: 'config (JSON; mock supports delayMs)',
|
|
418
435
|
notInstalled: 'not installed',
|
|
419
436
|
installLink: 'Open official site to install ↗',
|
|
420
437
|
harnessInprocess: 'In-process engine · always available',
|
|
@@ -445,6 +462,10 @@ export default {
|
|
|
445
462
|
k1xxabaf024: 'Switched to private',
|
|
446
463
|
},
|
|
447
464
|
ctpl: {
|
|
465
|
+
visPublic: 'Public',
|
|
466
|
+
visPrivate: 'Private',
|
|
467
|
+
newTplTitle: 'New channel template',
|
|
468
|
+
leadTplLabel: 'Lead template (cloned as the channel lead when instantiated)',
|
|
448
469
|
kefkfnl030: 'Instantiated: {p0} ({p1} members); mount it from the workspace',
|
|
449
470
|
k1f54iqd029: 'Template Hub',
|
|
450
471
|
k117jag9001: 'Delete template? (Instantiated Channels are not affected)',
|
|
@@ -477,6 +498,7 @@ export default {
|
|
|
477
498
|
k1oxfuqj028: 'Template deleted',
|
|
478
499
|
},
|
|
479
500
|
daq: {
|
|
501
|
+
unitPh: 'e.g. %RH',
|
|
480
502
|
k1bge46t118: 'Create Node',
|
|
481
503
|
k1b3dtga119: 'Save Template',
|
|
482
504
|
k3v957u120: '{p0} running: {p1} · {p2}',
|
|
@@ -505,7 +527,7 @@ export default {
|
|
|
505
527
|
k427eu088: 'Consumed',
|
|
506
528
|
k3w8go089: 'Dropped',
|
|
507
529
|
k3wusd090: 'Stored',
|
|
508
|
-
k48oi091: '
|
|
530
|
+
k48oi091: 'decimal places',
|
|
509
531
|
k4118o092: 'Samples',
|
|
510
532
|
k1ukoy0v093: 'Go to Line Management',
|
|
511
533
|
k1ld43ur094: 'Reconnecting…',
|
|
@@ -669,6 +691,14 @@ export default {
|
|
|
669
691
|
k1evt004: 'No events yet — waiting for activity…',
|
|
670
692
|
},
|
|
671
693
|
daqDetail: {
|
|
694
|
+
bucket1s: '1s bucket',
|
|
695
|
+
bucket5s: '5s bucket',
|
|
696
|
+
bucket15s: '15s bucket (default)',
|
|
697
|
+
bucket30s: '30s bucket',
|
|
698
|
+
bucket60s: '1min bucket',
|
|
699
|
+
calDecoderTip: 'Collection calibration decoder: physical = scale × PLC raw + offset',
|
|
700
|
+
calScaleTip: 'decode slope (≠0)',
|
|
701
|
+
calOffsetTip: 'decode intercept',
|
|
672
702
|
kfrm0001: 'Image frame gallery',
|
|
673
703
|
kfrm0002: 'Profile frames',
|
|
674
704
|
kfrm0003: 'No frames yet (data flows only while the line is running)',
|
|
@@ -731,52 +761,54 @@ export default {
|
|
|
731
761
|
k1rfrshint001: 'Trend auto-pull interval (ms); empty or 0 = follow server default (daq.query.displayIntervalMs), min {p0}ms',
|
|
732
762
|
},
|
|
733
763
|
logs: {
|
|
734
|
-
title: '
|
|
735
|
-
sub: '
|
|
736
|
-
live: '
|
|
737
|
-
liveHint: 'WS
|
|
764
|
+
title: 'Ops Log',
|
|
765
|
+
sub: 'One unified record of every operation — what controls were written, what users and agents did; query isolated by line/product/recipe',
|
|
766
|
+
live: 'Live',
|
|
767
|
+
liveHint: 'Receives operation events over WS (summary rendering only; full details in the table below)',
|
|
738
768
|
all: 'All',
|
|
739
769
|
fLine: 'Line',
|
|
740
770
|
fProduct: 'Product',
|
|
741
|
-
fSource: '
|
|
742
|
-
fKind: '
|
|
743
|
-
fKeyword: '
|
|
744
|
-
fKeywordPh: '
|
|
771
|
+
fSource: 'Source',
|
|
772
|
+
fKind: 'Category',
|
|
773
|
+
fKeyword: 'Keyword',
|
|
774
|
+
fKeywordPh: 'Search summary/action/actor…',
|
|
745
775
|
query: 'Query',
|
|
746
776
|
reset: 'Reset',
|
|
747
777
|
thTime: 'Time',
|
|
748
|
-
thActor: '
|
|
749
|
-
thSummary: '
|
|
750
|
-
thScope: '
|
|
778
|
+
thActor: 'Actor',
|
|
779
|
+
thSummary: 'Event summary',
|
|
780
|
+
thScope: 'Scope (line/product/recipe)',
|
|
751
781
|
thDetail: 'Details',
|
|
752
782
|
expand: 'Details',
|
|
753
783
|
fold: 'Collapse',
|
|
754
784
|
loading: 'Querying…',
|
|
755
|
-
empty: '
|
|
756
|
-
mSummary: '
|
|
757
|
-
mSummaryPh: '
|
|
758
|
-
mSubmit: '
|
|
759
|
-
mOk: '
|
|
785
|
+
empty: 'No matching log entries',
|
|
786
|
+
mSummary: 'Entry content',
|
|
787
|
+
mSummaryPh: 'e.g. replaced the heater of oven No.3 and extended holding by 10 min for the current batch',
|
|
788
|
+
mSubmit: 'Record',
|
|
789
|
+
mOk: 'Recorded',
|
|
760
790
|
manual: 'Manual entry',
|
|
761
791
|
noDetail: 'None',
|
|
762
792
|
mDetail: 'Detail (optional)',
|
|
763
793
|
mDetailPh: 'Context, handling notes, related ticket… (stored in the log detail)',
|
|
764
794
|
src: {
|
|
765
|
-
user: '
|
|
795
|
+
user: 'User',
|
|
766
796
|
system: 'System',
|
|
767
797
|
},
|
|
768
798
|
kind: {
|
|
769
799
|
write: 'Apply',
|
|
770
|
-
manual: '
|
|
800
|
+
manual: 'Manual',
|
|
771
801
|
alarm: 'Alarm',
|
|
772
802
|
line: 'Line',
|
|
773
803
|
recipe: 'Recipe',
|
|
774
|
-
rollback: '
|
|
804
|
+
rollback: 'Rollback',
|
|
775
805
|
daq: 'DAQ',
|
|
776
806
|
system: 'System',
|
|
777
807
|
},
|
|
778
808
|
},
|
|
779
809
|
dcw: {
|
|
810
|
+
codePh: 'e.g. MOTOR · I',
|
|
811
|
+
unitPh: 'e.g. A',
|
|
780
812
|
k1qidbpy061: 'Default {p0} (by creation order)',
|
|
781
813
|
k1gp649b062: '{p0} ({p1} nodes / {p2} products / {p3} recipes will be unmounted)',
|
|
782
814
|
k7xq2mfd063: 'Delete line "{p0}"?',
|
|
@@ -847,6 +879,21 @@ export default {
|
|
|
847
879
|
k1bphrb3048: 'Delete failed',
|
|
848
880
|
},
|
|
849
881
|
dcwDetail: {
|
|
882
|
+
stAck: 'ACKed',
|
|
883
|
+
startNeedRecipe: 'A recipe must be set before starting',
|
|
884
|
+
startTip: 'Push recipe parameters and start tagged data collection',
|
|
885
|
+
codePh: 'e.g. MOTOR · I',
|
|
886
|
+
unitPh: 'e.g. A',
|
|
887
|
+
mockPlc: 'Mock PLC simulator',
|
|
888
|
+
linearCalOpt: 'Linear calibration: PLC = (physical − offset) / scale',
|
|
889
|
+
calScaleTip: 'decoder slope (≠0): physical = scale × PLC + offset; inverted automatically on write',
|
|
890
|
+
calOffsetTip: 'decoder intercept',
|
|
891
|
+
pauseCtrlTip: 'Pause control on this node: writes will be rejected',
|
|
892
|
+
enableCtrlTip: 'Enable control on this node: writes allowed again',
|
|
893
|
+
pausedTip: 'Node paused: enable control before setting',
|
|
894
|
+
writeTip: 'Write setpoint',
|
|
895
|
+
noDaqTip: 'No DAQ nodes on this line',
|
|
896
|
+
manualTag: 'Manual',
|
|
850
897
|
staleDeleted: 'deleted',
|
|
851
898
|
staleDisabled: 'disabled',
|
|
852
899
|
staleUnbound: 'unbound',
|
|
@@ -1072,6 +1119,13 @@ export default {
|
|
|
1072
1119
|
kszv5sq136: 'No matching data in the window (check product/recipe/time range; only samples from running lines carry the line identity)',
|
|
1073
1120
|
},
|
|
1074
1121
|
teams: {
|
|
1122
|
+
selectChannel: 'Select a target channel',
|
|
1123
|
+
toPrivate: 'Click to make private',
|
|
1124
|
+
toPublic: 'Click to make public (deployable by everyone)',
|
|
1125
|
+
deployToChannel: 'Deploy to channel…',
|
|
1126
|
+
joinOk: 'Join',
|
|
1127
|
+
deployOk: 'Deploy',
|
|
1128
|
+
targetChannelLabel: 'Target channel (must have no lead conflict)',
|
|
1075
1129
|
k6ljhyv029: 'Add Member · {p0}',
|
|
1076
1130
|
k1c0o6oe030: 'Deploy · {p0}',
|
|
1077
1131
|
kh90glh031: 'Deployed {p0} instances to the Channel',
|
|
@@ -1113,6 +1167,20 @@ export default {
|
|
|
1113
1167
|
k1plugon047: 'Plugin switches…',
|
|
1114
1168
|
},
|
|
1115
1169
|
tokens: {
|
|
1170
|
+
maskBackTip: 'Plain text shown; click the eye to mask again',
|
|
1171
|
+
maskPreview: 'Masked preview',
|
|
1172
|
+
maskBack: 'Mask again',
|
|
1173
|
+
revealPlain: 'Reveal plain text',
|
|
1174
|
+
copied: 'Copied',
|
|
1175
|
+
copyPlain: 'Copy plain text',
|
|
1176
|
+
revokeCurrentWarn: 'Revoking the current session token will log you out',
|
|
1177
|
+
revokeWarn: 'Revocation takes effect immediately',
|
|
1178
|
+
createdTitle: 'Token created',
|
|
1179
|
+
hidePlain: 'Hide plain text',
|
|
1180
|
+
showPlain: 'Show plain text',
|
|
1181
|
+
copy: 'Copy',
|
|
1182
|
+
usage: 'Usage: Authorization: Bearer <token>',
|
|
1183
|
+
renameTitle: 'Rename token',
|
|
1116
1184
|
k1upppaw026: 'Each token can be revoked independently; plaintext is archived server-side and can be viewed/copied anytime',
|
|
1117
1185
|
k3p0p44027: 'Tags:',
|
|
1118
1186
|
kj3mklm028: '(unnamed)',
|
|
@@ -1150,6 +1218,21 @@ export default {
|
|
|
1150
1218
|
k1uc5mup004: 'Connecting to the AgentWorkShop twin space (subscribing to the live event stream)…',
|
|
1151
1219
|
},
|
|
1152
1220
|
wsHome: {
|
|
1221
|
+
adminCreated: 'Admin account created: {p0} is now signed in',
|
|
1222
|
+
nameRequired: 'Workspace name is required',
|
|
1223
|
+
setupTitle: 'Create admin account',
|
|
1224
|
+
setupSub: 'The system has no users yet: the first registered account becomes the admin and enters the system automatically.',
|
|
1225
|
+
normalSub: 'A global user system manages identity; each user can hold multiple API tokens. Managing the API requires a user token (Authorization: Bearer).',
|
|
1226
|
+
tabLogin: 'Account sign-in',
|
|
1227
|
+
tabRegAdmin: 'Register admin',
|
|
1228
|
+
tabRegUser: 'Register new user',
|
|
1229
|
+
setupCta: 'Create admin & enter',
|
|
1230
|
+
tabToken: 'Token sign-in',
|
|
1231
|
+
delWs: 'Delete workspace',
|
|
1232
|
+
emptyTitle: 'Start with one line, one agent',
|
|
1233
|
+
emptySub: 'A workspace holds channels and tasks — create your first one and your agent team goes live.',
|
|
1234
|
+
emptyCta: 'Create your first workspace',
|
|
1235
|
+
createEnterOk: 'Create & enter',
|
|
1153
1236
|
k1mbatbh030: 'Registered: {p0}; sign-in token saved',
|
|
1154
1237
|
kwixbdl031: 'Signed in: {p0}',
|
|
1155
1238
|
newWs: 'New Workspace',
|
|
@@ -1184,6 +1267,11 @@ export default {
|
|
|
1184
1267
|
k3n5sd7024: 'Deleted',
|
|
1185
1268
|
},
|
|
1186
1269
|
wsView: {
|
|
1270
|
+
inspector: 'Inspector',
|
|
1271
|
+
unknownWs: 'Unknown workspace',
|
|
1272
|
+
channelListTitle: 'Channel session list',
|
|
1273
|
+
a2aTitle: 'A2A RPC/SSE debugger',
|
|
1274
|
+
loadingWs: 'Loading workspace…',
|
|
1187
1275
|
kqwckjr001: 'Hotkeys 1-5 switch views',
|
|
1188
1276
|
k1tsy2e4002: 'Collapse/expand session bar',
|
|
1189
1277
|
k1tx0ppf003: 'Collapse/expand inspector',
|
|
@@ -1204,6 +1292,12 @@ export default {
|
|
|
1204
1292
|
ctpl: 'Channel Template Hub',
|
|
1205
1293
|
},
|
|
1206
1294
|
a2aRpcDebugger: {
|
|
1295
|
+
methodSse: 'tasks/sendSubscribe (SSE stream)',
|
|
1296
|
+
methodToken: 'message/send (token required)',
|
|
1297
|
+
badParams: 'params is not valid JSON',
|
|
1298
|
+
title: 'A2A RPC / SSE Debugger',
|
|
1299
|
+
tokenPh: 'Bearer token (required for message/send; leave empty for anonymous)',
|
|
1300
|
+
outputEmpty: '(Output; sendSubscribe renders SSE events as they arrive)',
|
|
1207
1301
|
k6hcbxi001: 'Drag to resize drawer',
|
|
1208
1302
|
k34cz76002: 'Target agent instance',
|
|
1209
1303
|
k1bqe2pj003: 'Parameter Template',
|
|
@@ -1214,6 +1308,16 @@ export default {
|
|
|
1214
1308
|
k1vryfv008: 'Select target agent',
|
|
1215
1309
|
},
|
|
1216
1310
|
agentInspectorDrawer: {
|
|
1311
|
+
tabStream: 'Independent stream',
|
|
1312
|
+
tabMemory: 'Memory',
|
|
1313
|
+
grpWorking: 'Running',
|
|
1314
|
+
grpQueued: 'Queued',
|
|
1315
|
+
grpDone: 'Done',
|
|
1316
|
+
swOn: 'On',
|
|
1317
|
+
swOff: 'Off',
|
|
1318
|
+
okRemove: 'Remove',
|
|
1319
|
+
prioImmediate: 'Immediate',
|
|
1320
|
+
prioQueued: 'Queued',
|
|
1217
1321
|
k3ypnl022: 'Done',
|
|
1218
1322
|
k16t80ax023: 'Focus main timeline',
|
|
1219
1323
|
k6hcbxi001: 'Drag to resize drawer',
|
|
@@ -1239,22 +1343,30 @@ export default {
|
|
|
1239
1343
|
k1y2jrsr021: 'Message injected',
|
|
1240
1344
|
},
|
|
1241
1345
|
agentLanesView: {
|
|
1346
|
+
cloneFail: 'Template clone failed{p0}',
|
|
1347
|
+
leadExistsShort: ' (a lead already exists; cannot add another lead)',
|
|
1348
|
+
deployFail: 'Team deploy failed{p0}',
|
|
1349
|
+
leadExistsChannel: ' (channel already has a lead; team lead members conflict — remove the existing lead or pick a team without one)',
|
|
1350
|
+
hitlStopTitle: 'HITL-stop this agent runtime',
|
|
1351
|
+
namePh: 'e.g. db-migrator / test-writer',
|
|
1352
|
+
ompFull: 'omp (full LLM agent)',
|
|
1353
|
+
tplCloneLabel: 'Select an agent template (clones name/harness/config as an independent instance)',
|
|
1354
|
+
tplDisabled: ' · disabled',
|
|
1355
|
+
withLead: ', with lead',
|
|
1356
|
+
roleHarnessLabel: 'Role / harness',
|
|
1357
|
+
syspromptLabel: 'Scene system prompt (systemPromptPrefix)',
|
|
1242
1358
|
k1wn2vmt036: 'omp process PID {p0} · harness session state',
|
|
1243
1359
|
k1l029kf037: 'Interrupt member {p0}\'s runtime? Running tasks will be aborted; the member is kept',
|
|
1244
1360
|
kt3n27m038: 'Remove member {p0}? Its queued tasks will be reclaimed automatically',
|
|
1245
1361
|
k7xt1y6039: 'Drag to resize the {p0} lane',
|
|
1246
1362
|
k1qcmxyu040: '{p0} ({p1} members{p2})',
|
|
1247
1363
|
k19j5rho041: 'Edit member {p0}',
|
|
1248
|
-
kg2slvf042: '(已有 lead,不能再添加 lead)',
|
|
1249
|
-
kpr6a3f043: '(channel 已有 lead,编组内 lead 成员冲突;请先移除现有 lead 或选用无 lead 编组)',
|
|
1250
1364
|
k21xjz2044: 'Member {p0} updated (runtime reloads with the new prompt)',
|
|
1251
1365
|
k3jmrw1045: 'Update failed: {p0}',
|
|
1252
1366
|
k1g5ykr3046: 'Member {p0} added (waiting for the agent.member event to converge)',
|
|
1253
1367
|
k1j97j74047: 'Add member failed: {p0}',
|
|
1254
1368
|
kk3uwzo048: 'Cloned template member {p0} as {p1} (waiting for event convergence)',
|
|
1255
|
-
k1rrfz5h049: '模板克隆失败{\'$\'}{\'{\'}text.includes(\'LEAD_EXISTS\') ? t(\'agentLanesView.kg2slvf042\') : ',
|
|
1256
1369
|
k1gslqf9050: 'Group {p0} deployed ({p1} members, waiting for event convergence)',
|
|
1257
|
-
k6nzyd3051: '编组部署失败{\'$\'}{\'{\'}text.includes(\'LEAD_EXISTS\') ? t(\'agentLanesView.kpr6a3f043\') : ',
|
|
1258
1370
|
k1n3o03a052: 'Member {p0} removed',
|
|
1259
1371
|
k13dsp10053: 'Remove member failed: {p0}',
|
|
1260
1372
|
kcpbv47054: 'Interrupted the runtime of member {p0}',
|
|
@@ -1296,12 +1408,14 @@ export default {
|
|
|
1296
1408
|
k1tjd5ab035: 'Select an AgentTeam to deploy',
|
|
1297
1409
|
},
|
|
1298
1410
|
artifactCard: {
|
|
1411
|
+
empty: '(empty)',
|
|
1299
1412
|
k3yu62003: 'Expand',
|
|
1300
1413
|
k3y694004: 'Copy',
|
|
1301
1414
|
k40p82001: 'Collapse',
|
|
1302
1415
|
k3n6o1m002: 'Copied',
|
|
1303
1416
|
},
|
|
1304
1417
|
assetLibrary: {
|
|
1418
|
+
badModelFile: 'Only .glb/.gltf/.obj/.fbx model files are supported',
|
|
1305
1419
|
katn7lo015: 'Drag onto the twin scene to create a device instance · {p0}',
|
|
1306
1420
|
k8nv3or016: 'Uploaded → {p0}',
|
|
1307
1421
|
k1hhga4h014: 'Confirm Upload',
|
|
@@ -1320,6 +1434,22 @@ export default {
|
|
|
1320
1434
|
k8n918k013: 'Model file deleted',
|
|
1321
1435
|
},
|
|
1322
1436
|
channelSessionList: {
|
|
1437
|
+
nameRequired: 'Channel name is required',
|
|
1438
|
+
defaultSuffix: ' (default)',
|
|
1439
|
+
tplCenterTitle: 'Channel template center',
|
|
1440
|
+
newChannelTitle: 'New channel',
|
|
1441
|
+
unmountTitle: 'Remove from workspace',
|
|
1442
|
+
mountFromTpl: 'Mount from channel template',
|
|
1443
|
+
pfxBuiltin: 'Built-in · ',
|
|
1444
|
+
pfxPublic: 'Public · ',
|
|
1445
|
+
nameLabel: 'Channel name',
|
|
1446
|
+
wsPh1: 'Empty = data/workspaces/<channelId>',
|
|
1447
|
+
llmDefaultLabel: 'Default model (optional; falls back to each harness default)',
|
|
1448
|
+
catalogLoading: 'Loading catalog…',
|
|
1449
|
+
effortPh: 'effort (optional)',
|
|
1450
|
+
variantPh: 'variant (optional)',
|
|
1451
|
+
builtinTag: 'Built-in',
|
|
1452
|
+
saveTplOk: 'Save as template',
|
|
1323
1453
|
kjmldih035: 'Settings {p0}',
|
|
1324
1454
|
k1yurooi036: 'Move out {p0}',
|
|
1325
1455
|
kfe4pzq037: 'Working directory: {p0} (click to copy path)',
|
|
@@ -1368,24 +1498,36 @@ export default {
|
|
|
1368
1498
|
k1plugsrc046: 'Not explicitly configured (all enabled by default); applies per-row after first toggle',
|
|
1369
1499
|
},
|
|
1370
1500
|
clusterArtifact: {
|
|
1501
|
+
view: 'View',
|
|
1371
1502
|
kyh87lw001: 'Deliverable body matches the reply above',
|
|
1372
1503
|
k49les002: 'Hide',
|
|
1373
1504
|
},
|
|
1374
1505
|
clusterError: {
|
|
1506
|
+
showAll: 'All {p0}',
|
|
1375
1507
|
k40p82001: 'Collapse',
|
|
1376
1508
|
},
|
|
1377
1509
|
clusterLife: {
|
|
1510
|
+
done: 'Done',
|
|
1378
1511
|
k1xthifv001: 'Non-status event',
|
|
1379
1512
|
k498bf002: 'Queue',
|
|
1380
1513
|
k3pi5z1003: 'Sub-state',
|
|
1381
1514
|
},
|
|
1382
1515
|
clusterMember: {
|
|
1516
|
+
showAll: 'All {p0}',
|
|
1517
|
+
byUser: 'User',
|
|
1518
|
+
vAdded: 'Added member {p0}',
|
|
1519
|
+
vUpdated: 'Updated member {p0}',
|
|
1520
|
+
vDisabled: 'Disabled member {p0}',
|
|
1521
|
+
vRemoved: 'Removed member {p0}',
|
|
1522
|
+
reason: ', reason: {p0}',
|
|
1383
1523
|
k40p82001: 'Collapse',
|
|
1384
1524
|
},
|
|
1385
1525
|
clusterMemory: {
|
|
1526
|
+
showAll: 'All {p0}',
|
|
1386
1527
|
k40p82001: 'Collapse',
|
|
1387
1528
|
},
|
|
1388
1529
|
clusterOther: {
|
|
1530
|
+
showAll: 'All {p0}',
|
|
1389
1531
|
k40p82001: 'Collapse',
|
|
1390
1532
|
},
|
|
1391
1533
|
clusterRoute: {
|
|
@@ -1404,6 +1546,7 @@ export default {
|
|
|
1404
1546
|
k1bka5dz009: 'Collaboration Message',
|
|
1405
1547
|
},
|
|
1406
1548
|
clusterStatus: {
|
|
1549
|
+
empty: '(empty)',
|
|
1407
1550
|
k1fpy8te001: 'Thinking / intermediate output',
|
|
1408
1551
|
},
|
|
1409
1552
|
clusterStream: {
|
|
@@ -1420,9 +1563,13 @@ export default {
|
|
|
1420
1563
|
k3n5vg5007: 'Cancelled',
|
|
1421
1564
|
},
|
|
1422
1565
|
clusterTool: {
|
|
1566
|
+
expandAll: 'Expand all {p0} calls',
|
|
1423
1567
|
k40p82001: 'Collapse',
|
|
1424
1568
|
},
|
|
1425
1569
|
commandPalette: {
|
|
1570
|
+
gotoTeams: 'Go to: AgentTeam groups',
|
|
1571
|
+
viewLanes: 'View: Agent lanes',
|
|
1572
|
+
actA2a: 'Action: A2A RPC/SSE debugger',
|
|
1426
1573
|
k1nz14ux013: 'Switch Channel: {p0}',
|
|
1427
1574
|
k1d8xtez014: 'Timeline filter: {p0}',
|
|
1428
1575
|
k1nn6i83001: 'Type a command… (navigate/views/Channel/filter/actions)',
|
|
@@ -1439,6 +1586,11 @@ export default {
|
|
|
1439
1586
|
k1tm54il012: 'Action: focus the task input',
|
|
1440
1587
|
},
|
|
1441
1588
|
composer: {
|
|
1589
|
+
loopIntervalRange: 'Loop interval must be between 1 and 86400 seconds',
|
|
1590
|
+
defaultLeadTitle: 'No {\'@\'} target: tasks route through lead scheduling; {\'@\'} a member to send directly',
|
|
1591
|
+
chipHint: 'Type {\'@\'} to mention members · ⌘/Ctrl+Enter to send',
|
|
1592
|
+
seconds: 's',
|
|
1593
|
+
sendTitle: 'Send (⌘/Ctrl+Enter)',
|
|
1442
1594
|
kl3604i033: 'Direct to {\'@\'}{p0}',
|
|
1443
1595
|
k1cxjc4m034: 'Live Injection',
|
|
1444
1596
|
k1d2idgj035: 'Task dispatched → {\'@\'}{p0} ({p1})',
|
|
@@ -1477,10 +1629,14 @@ export default {
|
|
|
1477
1629
|
k15mwzt7031: 'Type a message/notice ({\'@\'} to target a member, defaults to lead)… ⌘/Ctrl+Enter to send',
|
|
1478
1630
|
},
|
|
1479
1631
|
deviceTwinPanel: {
|
|
1632
|
+
armDelete: 'Click again to confirm deleting this device instance',
|
|
1633
|
+
delDevice: 'Delete this device instance',
|
|
1634
|
+
winRecipe: 'Process window of the running recipe',
|
|
1635
|
+
winRange: 'Node global range',
|
|
1480
1636
|
k9r7d4e030: 'Current PLC reading (actual)',
|
|
1481
1637
|
kq2jssk008: 'Recipe Process Window',
|
|
1482
1638
|
k1iwj796009: 'Node Range',
|
|
1483
|
-
kxddket010: '
|
|
1639
|
+
kxddket010: 'Exceeds {p0}: {p1}',
|
|
1484
1640
|
k1j04u8001: 'Write setpoint (out-of-range values are rejected)',
|
|
1485
1641
|
k7k6evr002: 'Device Console',
|
|
1486
1642
|
kkw7sn5003: 'Loading device registers…',
|
|
@@ -1490,6 +1646,11 @@ export default {
|
|
|
1490
1646
|
k44653007: 'Acknowledge',
|
|
1491
1647
|
},
|
|
1492
1648
|
eventBlock: {
|
|
1649
|
+
stBusy: 'Running',
|
|
1650
|
+
stStopped: 'Stopped',
|
|
1651
|
+
stIdle: 'Idle',
|
|
1652
|
+
copied: 'Copied',
|
|
1653
|
+
copyAll: 'Copy full text',
|
|
1493
1654
|
kc918hn001: 'A response or human acknowledgement is required',
|
|
1494
1655
|
kcugdph002: 'Content duplicated from delta stream merged into one block',
|
|
1495
1656
|
kknq700003: 'Quote into input',
|
|
@@ -1498,14 +1659,22 @@ export default {
|
|
|
1498
1659
|
k3xk4t006: 'Deduped',
|
|
1499
1660
|
},
|
|
1500
1661
|
fileSelectorModal: {
|
|
1662
|
+
title: 'Select working directory',
|
|
1663
|
+
pickHere: 'Select this directory',
|
|
1664
|
+
pathPh: 'Enter an absolute path to jump to (e.g. D:\\\\projects\\\\my-app)',
|
|
1665
|
+
go: 'Go',
|
|
1501
1666
|
kvwnnvn001: '.. (up one level)',
|
|
1502
1667
|
k268o2o002: '(no subdirectories; use “Select This Directory” to take the current location)',
|
|
1503
1668
|
k1rt80dq003: 'Double-click a directory to take it directly; the chosen path becomes the team working directory (agents\' cwd) and is created automatically if missing.',
|
|
1504
1669
|
kz99pgv004: 'Failed to read directory',
|
|
1505
1670
|
},
|
|
1506
1671
|
inspectorPanel: {
|
|
1507
|
-
|
|
1508
|
-
|
|
1672
|
+
tabMembers: 'Members',
|
|
1673
|
+
tabTasks: 'Tasks',
|
|
1674
|
+
tabMemory: 'Memory',
|
|
1675
|
+
tabStats: 'Stats',
|
|
1676
|
+
k1tqitzl008: 'Syncing members…',
|
|
1677
|
+
kks0y5h009: 'Syncing tasks…',
|
|
1509
1678
|
k12oip5c010: 'Success {p0}% / avg {p1}s / failed {p2}',
|
|
1510
1679
|
k498bf001: 'Queue',
|
|
1511
1680
|
k3ypnl002: 'Done',
|
|
@@ -1530,6 +1699,12 @@ export default {
|
|
|
1530
1699
|
k1sf0ymy002: 'Running ·',
|
|
1531
1700
|
},
|
|
1532
1701
|
memoryPanel: {
|
|
1702
|
+
tokenAuto: 'Member token injected automatically',
|
|
1703
|
+
tokenManual: 'Auto-inject failed; enter the member token manually',
|
|
1704
|
+
tokenPh: 'Bearer token (member identity, manual fallback)',
|
|
1705
|
+
searchPh: 'Hybrid memory search (FTS + vector, same source as agent search_memory)…',
|
|
1706
|
+
writeOk: 'Write',
|
|
1707
|
+
dedupLabel: 'dedupKey (optional, idempotent)',
|
|
1533
1708
|
k1du3379001: 'Member Identity',
|
|
1534
1709
|
k1bbee8p002: 'Write Memory',
|
|
1535
1710
|
k419s4003: 'Title',
|
|
@@ -1554,10 +1729,10 @@ export default {
|
|
|
1554
1729
|
k3o5eky002: 'Run:',
|
|
1555
1730
|
},
|
|
1556
1731
|
multiChannelView: {
|
|
1732
|
+
a2aMessage: 'Text {p0}',
|
|
1733
|
+
a2aArtifact: 'Artifact {p0}',
|
|
1557
1734
|
k3wcox005: 'Task',
|
|
1558
1735
|
kvfx0mh006: 'Drag to resize the {p0} column',
|
|
1559
|
-
kp9ap3k007: '消息 {p0}> {\'|\'} undefined)?.[0]?.text ?? \'\').slice(0, 30)}',
|
|
1560
|
-
k1688yr4008: '交付 {p0} {\'|\'} undefined)?.name ?? \'\')}',
|
|
1561
1736
|
kfvue7n009: 'Memory {p0}',
|
|
1562
1737
|
khq39oe010: 'Member {p0} {p1}',
|
|
1563
1738
|
k16wopr9011: 'Error {p0}',
|
|
@@ -1576,6 +1751,8 @@ export default {
|
|
|
1576
1751
|
k1pevwxl004: '(no events)',
|
|
1577
1752
|
},
|
|
1578
1753
|
taskBoardView: {
|
|
1754
|
+
emptySubNew: 'Submit the first task in the Composer below (title on the first line; goal / loop / pipeline modes supported)',
|
|
1755
|
+
emptySubSync: 'Appears automatically once the task snapshot syncs',
|
|
1579
1756
|
k8m7hm6020: 'Routing reason: {p0}',
|
|
1580
1757
|
k1f9c17l019: 'Syncing',
|
|
1581
1758
|
k43pyn001: 'Board',
|
|
@@ -1598,6 +1775,9 @@ export default {
|
|
|
1598
1775
|
k1dx9ysj018: 'Open Details',
|
|
1599
1776
|
},
|
|
1600
1777
|
taskInspectorDrawer: {
|
|
1778
|
+
fallbackTitle: 'Task details',
|
|
1779
|
+
failReason: 'Failure reason',
|
|
1780
|
+
tabTimeline: 'Status timeline',
|
|
1601
1781
|
kkp77tf015: 'Deliverables ({p0})',
|
|
1602
1782
|
khnua62016: 'Subtasks ({p0})',
|
|
1603
1783
|
kxj74io017: 'Raw content ({p0} parts)',
|
|
@@ -1617,6 +1797,18 @@ export default {
|
|
|
1617
1797
|
ke7bh8u014: 'Re-dispatched for execution',
|
|
1618
1798
|
},
|
|
1619
1799
|
townView: {
|
|
1800
|
+
saveLayoutTip: 'Write all devices\' position/rotation/scale to the database',
|
|
1801
|
+
readonlyTip: 'Read-only in run mode',
|
|
1802
|
+
daqPauseTip: 'Pause all collection: stops sampling on all enabled nodes (per-node toggles stay independent)',
|
|
1803
|
+
daqResumeTip: 'Resume all collection: enabled nodes resume sampling (manually stopped nodes stay stopped)',
|
|
1804
|
+
chPlaced: 'Already placed; click to focus',
|
|
1805
|
+
chDragHint: 'Drag onto the scene to place',
|
|
1806
|
+
viewTop: 'Top · TOP',
|
|
1807
|
+
viewFront: 'Front · FRONT',
|
|
1808
|
+
viewSide: 'Side · SIDE',
|
|
1809
|
+
deviceName: 'Device name',
|
|
1810
|
+
transformBlender: 'Transform · BLENDER',
|
|
1811
|
+
unboundTip: 'No industrial node bound — after binding, agents can use the dcw_control / daq_query tools',
|
|
1620
1812
|
k1k6wg8j185: 'Device Instance',
|
|
1621
1813
|
k44c2n186: 'Offline',
|
|
1622
1814
|
k1w6xehu187: '{p0} · {p1} · auto-binds near a device, range {p2} ~ {p3} {p4}',
|
|
@@ -1844,11 +2036,13 @@ export default {
|
|
|
1844
2036
|
krotip182: 'Read-only in run mode',
|
|
1845
2037
|
},
|
|
1846
2038
|
transcriptTimeline: {
|
|
2039
|
+
syncLag: 'Connection lost; missed events will realign after reconnect',
|
|
2040
|
+
none: 'n/a',
|
|
1847
2041
|
k44c2n024: 'Offline',
|
|
1848
2042
|
kglov3b025: 'Data last updated: {p0}',
|
|
1849
2043
|
k3wwxl026: 'just now',
|
|
1850
2044
|
k2gyl6l027: '{p0}s ago',
|
|
1851
|
-
k2hda35028: '{p0}
|
|
2045
|
+
k2hda35028: '{p0}/',
|
|
1852
2046
|
kbs29zx029: '{p0}{p1}-{p2}',
|
|
1853
2047
|
k3y2p8020: 'Online',
|
|
1854
2048
|
kywgd38021: 'Load earlier events',
|
|
@@ -1917,11 +2111,11 @@ export default {
|
|
|
1917
2111
|
hitlReject: 'Reject',
|
|
1918
2112
|
},
|
|
1919
2113
|
ompTerminalPanel: {
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
2114
|
+
switchTarget: '── Switch target · {p0} ──',
|
|
2115
|
+
k14jk3nu001: ' {p0}· dialog cancelled ({p1}){p2}',
|
|
2116
|
+
k68kkpc002: '{p0}── attached to omp process PID {p1} (session replay {p2} frames)──{p3}',
|
|
2117
|
+
k59zj91003: '{p0}✗ terminal not ready; command not sent{p1}',
|
|
2118
|
+
kvzhi95004: '{p0}✔ HITL answered: {p1}{p2}',
|
|
1925
2119
|
},
|
|
1926
2120
|
plugins: {
|
|
1927
2121
|
title: 'Plugins',
|
|
@@ -1992,6 +2186,12 @@ export default {
|
|
|
1992
2186
|
lost: 'Page lost',
|
|
1993
2187
|
},
|
|
1994
2188
|
aml: {
|
|
2189
|
+
blockerVenv: 'Training environment (./aml/.venv) not created yet: click "Create training environment" in the Runtime Environment panel',
|
|
2190
|
+
blockerPython: 'Python interpreter unavailable',
|
|
2191
|
+
rootSourceEnv: 'Set via the AW_AML_DIR environment variable',
|
|
2192
|
+
rootSourceRepo: 'Project checkout root (./aml)',
|
|
2193
|
+
rootSourceHome: 'User config root (~/.AgentWorkShop/aml)',
|
|
2194
|
+
rootSourceCwd: 'Current working directory (./aml)',
|
|
1995
2195
|
k1amlx001: 'AML Auto-Modeling',
|
|
1996
2196
|
k1amlx002: 'Dataset snapshots → training jobs → gated experiments → model registry; job progress streams over WS, platform gates are authoritative.',
|
|
1997
2197
|
k1amlx003: 'Python runtime',
|
|
@@ -2205,5 +2405,63 @@ export default {
|
|
|
2205
2405
|
k1plugon045: 'Explicitly configured',
|
|
2206
2406
|
k1plugon046: 'All plugins are disabled',
|
|
2207
2407
|
k1plugon047: 'Plugin switches…',
|
|
2408
|
+
descLineSentinel: 'Line Sentinel: DAQ limit alarms + heartbeat + line lifecycle tracking',
|
|
2409
|
+
descOpsNotifier: 'Ops Notifier: write-control & line event echo — rolling recent events + query API + client notifications',
|
|
2410
|
+
descSampleInsight: 'SDK sample: DAQ sample counting + stats API + client badge',
|
|
2411
|
+
descDiagBridge: 'Deep diagnosis bridge: export DAQ timeseries snapshots as CSV, launch an industrial-deep-diagnostic run and track its status; the report lands in the knowledge base when done.',
|
|
2412
|
+
descRagBridge: 'rag-knowledge bridge: three tools for industrial knowledge search / experience capture / document ingestion',
|
|
2413
|
+
descSerialBridge: 'Serial protocol bridge: Modbus RTU (RS-485/232) and ASCII line protocol read drivers, write drivers with read-back verification, serial enumeration/probe APIs and a frontend panel.',
|
|
2414
|
+
},
|
|
2415
|
+
tplCatalog: {
|
|
2416
|
+
'temp-tc': 'Temperature Sensor',
|
|
2417
|
+
'pressure-tx': 'Pressure Transmitter',
|
|
2418
|
+
'tension-cell': 'Tension Sensor',
|
|
2419
|
+
'line-encoder': 'Speed Encoder',
|
|
2420
|
+
'vision-cam': 'Vision Inspection Camera',
|
|
2421
|
+
'power-meter': 'Power Meter',
|
|
2422
|
+
'thickness-scan': 'Thickness Scanner',
|
|
2423
|
+
'ccd-image': 'CCD Vision Camera',
|
|
2424
|
+
'temp-sp': 'Temperature Setpoint',
|
|
2425
|
+
'speed-sp': 'Speed Setpoint',
|
|
2426
|
+
'tension-sp': 'Tension Setpoint',
|
|
2427
|
+
'pressure-sp': 'Pressure Setpoint',
|
|
2428
|
+
},
|
|
2429
|
+
builtinSeeds: {
|
|
2430
|
+
tplDefaultLead: 'Lead Developer',
|
|
2431
|
+
tplDefaultBackend: 'Backend Engineer',
|
|
2432
|
+
tplDefaultFrontend: 'Frontend Engineer',
|
|
2433
|
+
tplDefaultQa: 'QA Engineer',
|
|
2434
|
+
tplDefaultDocs: 'Documentation Writer',
|
|
2435
|
+
tplScenarioPaymentLead: 'Payment Gateway Delivery Lead (scenario: high-concurrency payments)',
|
|
2436
|
+
tplAmlLead: 'AML Principal Data Scientist',
|
|
2437
|
+
tplAmlData: 'AML Data Engineer',
|
|
2438
|
+
tplAmlTrainer: 'AML Training Engineer',
|
|
2439
|
+
tplAmlEval: 'AML Evaluation Engineer',
|
|
2440
|
+
teamDefaultFullstack: 'Full-stack Delivery Team',
|
|
2441
|
+
teamDefaultDocs: 'Docs Maintenance Team',
|
|
2442
|
+
teamAmlShadow: 'AML Shadow Modeling Team',
|
|
2443
|
+
chtplDefaultFullstack: 'Full-stack Delivery Channel',
|
|
2444
|
+
chtplDefaultFullstackDesc: 'Built-in: lead + backend/frontend/QA, ready for routine delivery work',
|
|
2445
|
+
chtplDefaultFullstackScenario: 'The team delivers under lead scheduling; the lead reviews each finished subtask and outcomes are consolidated as artifacts.',
|
|
2446
|
+
chtplDefaultReview: 'Docs Review Channel',
|
|
2447
|
+
chtplDefaultReviewDesc: 'Built-in: documentation writer + QA review, for documents, reports and review flows',
|
|
2448
|
+
chtplDefaultReviewScenario: 'Focused on document output and quality review: after drafting, the reviewer checks and gives revision feedback.',
|
|
2449
|
+
chtplPresetOpticalFilm: 'Optical Film Coating Line Optimization Team',
|
|
2450
|
+
chtplPresetOpticalFilmDesc: 'Industrial preset: coating line digital-twin optimization — production lead + process engineer + data analyst, for oven temperature control and coating-quality closed loops',
|
|
2451
|
+
chtplPresetOpticalFilmScenario: 'Optical film coating line: multi-zone oven temperature control and coating-quality closed loop; data first, small steps within the window, single-variable changes, re-check after each adjustment.',
|
|
2452
|
+
chtplPresetExtrusion: 'Film Extrusion Casting Line Optimization Team',
|
|
2453
|
+
chtplPresetExtrusionDesc: 'Industrial preset: extrusion casting line digital-twin optimization — production lead + process engineer + data analyst, for coupled melt pressure/temperature control',
|
|
2454
|
+
chtplPresetExtrusionScenario: 'Film extrusion casting line: film-thickness quality control under strongly coupled melt pressure/temperature; data first, small steps within the window, single-variable changes, re-check after each adjustment.',
|
|
2455
|
+
mKnight: 'Grey-feather Knight',
|
|
2456
|
+
mMage: 'Amethyst Mage',
|
|
2457
|
+
mBot: 'Cyan-Hub Mech',
|
|
2458
|
+
mHero3d: 'Standard Worker Model',
|
|
2459
|
+
mHero3dHint: 'Default worker 3D model',
|
|
2460
|
+
mYangyang: 'Yangyang (walking)',
|
|
2461
|
+
mYangyangHint: 'Custom character: skeletal walk animation (clip WALK; large file — bind sparingly)',
|
|
2462
|
+
mDevice3d: 'Industrial Pump Device',
|
|
2463
|
+
mDevice3dHint: 'Digital-twin entity model (drag into the scene to create a device)',
|
|
2464
|
+
mDeviceFallbackHint: 'Device entity (drag into the scene to create a digital twin)',
|
|
2465
|
+
mScannedCharacterHint: 'Character 3D model (set in channel member management)',
|
|
2208
2466
|
},
|
|
2209
2467
|
}
|