agentworkshop 0.7.51 → 0.7.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +2097 -1955
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +2097 -1955
  3. package/.output/.AgentWorkShop/schema.json +2 -0
  4. package/.output/nitro.json +1 -1
  5. package/.output/public/_nuxt/{D0ldVwl-.js → 77DRSnQv.js} +1 -1
  6. package/.output/public/_nuxt/8oRmGaAV.js +1 -0
  7. package/.output/public/_nuxt/{BPou3U7b.js → BLnLjzka.js} +1 -1
  8. package/.output/public/_nuxt/{CFQyYMEn2.js → BSdJTnk12.js} +1 -1
  9. package/.output/public/_nuxt/{C4lagVdN2.js → BUD1CNvB2.js} +1 -1
  10. package/.output/public/_nuxt/BXR3tgEk.js +1 -0
  11. package/.output/public/_nuxt/{B9QzrmgE.js → BhlRInVa.js} +1 -1
  12. package/.output/public/_nuxt/{DhFv8S2Z.js → BkfA3BbD.js} +1 -1
  13. package/.output/public/_nuxt/{ChGuLxwW2.js → BpcQDwKM2.js} +1 -1
  14. package/.output/public/_nuxt/{DQMbdg4t.js → BwlGxRxA.js} +1 -1
  15. package/.output/public/_nuxt/{Bt2ZL5332.js → C4sQKuhk2.js} +1 -1
  16. package/.output/public/_nuxt/{zh-S_7rN2.js → CBUIODly2.js} +1 -1
  17. package/.output/public/_nuxt/CR-ILcRu2.js +1 -0
  18. package/.output/public/_nuxt/CZLnEnbE.js +14 -0
  19. package/.output/public/_nuxt/{jRTz0hjN2.js → Chxx-DIE2.js} +1 -1
  20. package/.output/public/_nuxt/{BGAaKBeo2.js → CjwxhpwR2.js} +1 -1
  21. package/.output/public/_nuxt/{D89BUtx6.js → CvGYm7w8.js} +1 -1
  22. package/.output/public/_nuxt/{B9BmiUil.js → DAGuPgXa.js} +1 -1
  23. package/.output/public/_nuxt/{DefDtlKK.js → DE6H1HdJ.js} +1 -1
  24. package/.output/public/_nuxt/{DzfVS8N72.js → DFhyhDGa2.js} +1 -1
  25. package/.output/public/_nuxt/{BXx9AxdF2.js → DSqMyLCV2.js} +1 -1
  26. package/.output/public/_nuxt/{asmJ99nX2.js → DV5joWTn2.js} +1 -1
  27. package/.output/public/_nuxt/{DClNt1uS.js → DVOR2pWg.js} +1 -1
  28. package/.output/public/_nuxt/DWsgRq2c.js +1 -0
  29. package/.output/public/_nuxt/{CU-mhG0-.js → DZDi8inD.js} +1 -1
  30. package/.output/public/_nuxt/{DMYYS5sK.js → Dep0Hc9w.js} +1 -1
  31. package/.output/public/_nuxt/{JAM4aNC_.js → DffgG8vT.js} +1 -1
  32. package/.output/public/_nuxt/{CFQSjB1h.js → DlCktWDT.js} +1 -1
  33. package/.output/public/_nuxt/{CP0I2l-6.js → DmzmgYHb.js} +1 -1
  34. package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
  35. package/.output/public/_nuxt/{lWYQbIR3.js → WmMwIS4y.js} +1 -1
  36. package/.output/public/_nuxt/{_id_.DamiFT0Q.css → _id_.rdGx-UDx.css} +1 -1
  37. package/.output/public/_nuxt/{BgEDwFMf.js → _kUzq9VF.js} +1 -1
  38. package/.output/public/_nuxt/_wsId_.XjmieZaJ.css +1 -0
  39. package/.output/public/_nuxt/{B7jlMWsz.js → aV6YPjg0.js} +1 -1
  40. package/.output/public/_nuxt/builds/latest.json +1 -1
  41. package/.output/public/_nuxt/builds/meta/5ccc21c2-aba0-4b63-9a13-410e0569e345.json +1 -0
  42. package/.output/public/_nuxt/channel-templates.DkNZg-lF.css +1 -0
  43. package/.output/public/_nuxt/{default.CXb_zoN6.css → default.CyLpQD1C.css} +1 -1
  44. package/.output/public/_nuxt/o9rJf00k.js +1 -0
  45. package/.output/public/_nuxt/sl1EEoCr2.js +21 -0
  46. package/.output/public/robots.txt +3 -0
  47. package/.output/server/chunks/_/binding-authz.mjs +1 -1
  48. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  49. package/.output/server/chunks/_/entity.mjs +1 -1
  50. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  51. package/.output/server/chunks/_/nitro.mjs +2268 -1501
  52. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  53. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  54. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs → PluginSlot-CT4YaNrB.mjs} +5 -5
  55. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs.map → PluginSlot-CT4YaNrB.mjs.map} +1 -1
  56. package/.output/server/chunks/build/TownView-fP9BiALv.mjs +1 -1
  57. package/.output/server/chunks/build/{_id_-BUpQSlzo.mjs → _id_-CK-QFrDV.mjs} +55 -51
  58. package/.output/server/chunks/build/_id_-CK-QFrDV.mjs.map +1 -0
  59. package/.output/server/chunks/build/{_wsId_-DPy2BXRd.mjs → _wsId_-DdqXzycE.mjs} +320 -202
  60. package/.output/server/chunks/build/{_wsId_-DPy2BXRd.mjs.map → _wsId_-DdqXzycE.mjs.map} +1 -1
  61. package/.output/server/chunks/build/{agents-CDLcboCv.mjs → agents-DqICy4AL.mjs} +6 -6
  62. package/.output/server/chunks/build/{agents-CDLcboCv.mjs.map → agents-DqICy4AL.mjs.map} +1 -1
  63. package/.output/server/chunks/build/{channel-templates-DjEsj0_v.mjs → channel-templates-gdCLajKy.mjs} +114 -25
  64. package/.output/server/chunks/build/channel-templates-gdCLajKy.mjs.map +1 -0
  65. package/.output/server/chunks/build/daq-N69AOtgw.mjs +1 -1
  66. package/.output/server/chunks/build/dcw-CN9d3Rs7.mjs +1 -1
  67. package/.output/server/chunks/build/{default-DCf9tn1i.mjs → default-CXUe4HL7.mjs} +65 -62
  68. package/.output/server/chunks/build/{default-DCf9tn1i.mjs.map → default-CXUe4HL7.mjs.map} +1 -1
  69. package/.output/server/chunks/build/{pages-rZKH72eC.mjs → pages-CRMeXrxG.mjs} +3 -3
  70. package/.output/server/chunks/build/{pages-rZKH72eC.mjs.map → pages-CRMeXrxG.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{plugins-DSka7-vS.mjs → plugins-NAS9MQ5r.mjs} +2 -2
  72. package/.output/server/chunks/build/{plugins-DSka7-vS.mjs.map → plugins-NAS9MQ5r.mjs.map} +1 -1
  73. package/.output/server/chunks/build/{schedules-lo4bfgVt.mjs → schedules-D8vYHgQ5.mjs} +2 -2
  74. package/.output/server/chunks/build/{schedules-lo4bfgVt.mjs.map → schedules-D8vYHgQ5.mjs.map} +1 -1
  75. package/.output/server/chunks/build/{settings-CAJWvul5.mjs → settings-B7HA-sdb.mjs} +3 -3
  76. package/.output/server/chunks/build/{settings-CAJWvul5.mjs.map → settings-B7HA-sdb.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{teams-DBBvIToa.mjs → teams-wM-MdLv9.mjs} +8 -8
  78. package/.output/server/chunks/build/{teams-DBBvIToa.mjs.map → teams-wM-MdLv9.mjs.map} +1 -1
  79. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  80. package/.output/server/chunks/build/{useAgentHarnessOptions-D6SJ_uUr.mjs → useAgentHarnessOptions-BnFCh23W.mjs} +2 -2
  81. package/.output/server/chunks/build/{useAgentHarnessOptions-D6SJ_uUr.mjs.map → useAgentHarnessOptions-BnFCh23W.mjs.map} +1 -1
  82. package/.output/server/chunks/build/{useAgentTemplateActions-CdG4g_PF.mjs → useAgentTemplateActions-DsBRUQni.mjs} +2 -2
  83. package/.output/server/chunks/build/{useAgentTemplateActions-CdG4g_PF.mjs.map → useAgentTemplateActions-DsBRUQni.mjs.map} +1 -1
  84. package/.output/server/chunks/build/{useAgentTemplateForm-a5y-N5sB.mjs → useAgentTemplateForm-DzQ_t2Ue.mjs} +2 -2
  85. package/.output/server/chunks/build/{useAgentTemplateForm-a5y-N5sB.mjs.map → useAgentTemplateForm-DzQ_t2Ue.mjs.map} +1 -1
  86. package/.output/server/chunks/build/{useAgentTemplatesCatalog-pBVcUuN3.mjs → useAgentTemplatesCatalog-Q7LgG1Af.mjs} +2 -2
  87. package/.output/server/chunks/build/{useAgentTemplatesCatalog-pBVcUuN3.mjs.map → useAgentTemplatesCatalog-Q7LgG1Af.mjs.map} +1 -1
  88. package/.output/server/chunks/build/useDaqAddNode-kW7uTSMQ.mjs +1 -1
  89. package/.output/server/chunks/build/useDaqDetailNode-D_vhG0jF.mjs +1 -1
  90. package/.output/server/chunks/build/useDaqDetailParams-JfqHvTxr.mjs +1 -1
  91. package/.output/server/chunks/build/useDaqFilters-BUQtZ82a.mjs +1 -1
  92. package/.output/server/chunks/build/useDaqStream-wOxZcMDA.mjs +1 -1
  93. package/.output/server/chunks/build/useDaqTemplates-BqQRdrIm.mjs +1 -1
  94. package/.output/server/chunks/build/{useDashboardData-Do_Vsepa.mjs → useDashboardData-DWJ6vHjm.mjs} +2 -2
  95. package/.output/server/chunks/build/{useDashboardData-Do_Vsepa.mjs.map → useDashboardData-DWJ6vHjm.mjs.map} +1 -1
  96. package/.output/server/chunks/build/useDcwAddNode-C1HDP3yG.mjs +1 -1
  97. package/.output/server/chunks/build/useDcwStream-D04kCV3J.mjs +1 -1
  98. package/.output/server/chunks/build/{useTeamActions-C4n-taBk.mjs → useTeamActions-BOLQkYxg.mjs} +2 -2
  99. package/.output/server/chunks/build/{useTeamActions-C4n-taBk.mjs.map → useTeamActions-BOLQkYxg.mjs.map} +1 -1
  100. package/.output/server/chunks/build/{useTeamAddMemberDialog-Cp_z3nMa.mjs → useTeamAddMemberDialog-BCgrLPxI.mjs} +2 -2
  101. package/.output/server/chunks/build/{useTeamAddMemberDialog-Cp_z3nMa.mjs.map → useTeamAddMemberDialog-BCgrLPxI.mjs.map} +1 -1
  102. package/.output/server/chunks/build/{useTeamCreateDialog-C8LKUoe2.mjs → useTeamCreateDialog-CJk40LqS.mjs} +2 -2
  103. package/.output/server/chunks/build/{useTeamCreateDialog-C8LKUoe2.mjs.map → useTeamCreateDialog-CJk40LqS.mjs.map} +1 -1
  104. package/.output/server/chunks/build/{useTeamDeployDialog-wdBVsNWY.mjs → useTeamDeployDialog-49hdUXQP.mjs} +2 -2
  105. package/.output/server/chunks/build/{useTeamDeployDialog-wdBVsNWY.mjs.map → useTeamDeployDialog-49hdUXQP.mjs.map} +1 -1
  106. package/.output/server/chunks/build/{useTeamPluginDialog-CIk8G8nI.mjs → useTeamPluginDialog-Dh-QOoiU.mjs} +2 -2
  107. package/.output/server/chunks/build/{useTeamPluginDialog-CIk8G8nI.mjs.map → useTeamPluginDialog-Dh-QOoiU.mjs.map} +1 -1
  108. package/.output/server/chunks/build/{useTeamsCatalog-D6TULzmS.mjs → useTeamsCatalog-HBSyKt5P.mjs} +2 -2
  109. package/.output/server/chunks/build/{useTeamsCatalog-D6TULzmS.mjs.map → useTeamsCatalog-HBSyKt5P.mjs.map} +1 -1
  110. package/.output/server/chunks/build/{useWorkshopApi-B1B9vd4m.mjs → useWorkshopApi-C9sTYu1F.mjs} +13 -2
  111. package/.output/server/chunks/build/useWorkshopApi-C9sTYu1F.mjs.map +1 -0
  112. package/.output/server/chunks/build/useWorkshopWs-Bm80bLn7.mjs.map +1 -1
  113. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  114. package/.output/server/chunks/routes/api/index.post.mjs +14 -3
  115. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  116. package/.output/server/chunks/routes/api/mcp/workshop.mjs +43 -14
  117. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  118. package/.output/server/chunks/routes/api/metrics.mjs +2 -0
  119. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  120. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  121. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  122. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +47 -0
  123. package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -0
  124. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +35 -0
  125. package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -0
  126. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -1
  127. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -1
  128. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
  129. package/.output/server/chunks/routes/api/system/index.patch.mjs +15 -4
  130. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/system/index.post.mjs +1 -1
  132. package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -1
  133. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  134. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  135. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  136. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +15 -3
  137. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -1
  139. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +14 -3
  140. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  142. package/.output/server/chunks/routes/api/users/_id_.put.mjs +14 -3
  143. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  144. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  145. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  146. package/.output/server/chunks/routes/api/users/login.post.mjs +3 -2
  147. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  148. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  149. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  150. package/.output/server/chunks/routes/api/users/register.post.mjs +4 -1
  151. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  152. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
  153. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  154. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  155. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  157. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +19 -15
  158. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +54 -0
  164. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs.map +1 -0
  165. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +51 -0
  166. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs.map +1 -0
  167. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  168. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  173. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  174. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  175. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
  176. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
  177. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
  178. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
  191. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
  208. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +10 -4
  211. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  212. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  213. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +37 -0
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -0
  229. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
  232. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +4 -4
  235. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  237. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
  238. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  239. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  241. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  242. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  243. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  244. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
  245. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  246. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  247. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  248. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  249. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  250. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  251. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  252. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  253. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  254. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  255. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  256. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  257. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  258. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  259. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  260. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  261. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  262. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  263. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  264. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  265. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  266. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  267. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
  268. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  269. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  270. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  271. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +1 -1
  272. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  273. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +6 -1
  274. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  275. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  276. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  277. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  278. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  279. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  280. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  281. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  282. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  283. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +1 -1
  284. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
  285. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  286. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  287. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  288. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  289. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  290. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  291. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +3 -3
  292. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  293. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  294. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +1 -1
  295. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  296. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +1 -1
  297. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  298. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  299. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  300. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  301. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  302. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  303. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  304. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  305. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  306. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
  307. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +14 -2
  308. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  309. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  310. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  312. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  313. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  314. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  315. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  317. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  318. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  319. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  320. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  321. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  323. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  324. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  325. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  326. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  327. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  329. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -3
  330. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +1 -1
  332. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -1
  333. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  335. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  336. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  337. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -1
  338. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -1
  339. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  340. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  341. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  343. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  344. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  345. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
  346. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
  347. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  348. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +4 -1
  349. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  351. package/.output/server/chunks/routes/renderer.mjs +2 -2
  352. package/.output/server/chunks/virtual/entry.mjs +350 -52
  353. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  354. package/.output/server/package.json +1 -1
  355. package/README-zh.md +7 -3
  356. package/README.md +11 -5
  357. package/app/components/app-header/HitlBell.vue +9 -9
  358. package/app/components/dcw/DcwAddNodeModal.vue +3 -3
  359. package/app/components/dcw/DcwNodesTable.vue +4 -4
  360. package/app/components/dcw/DcwRecipeEditModal.vue +2 -2
  361. package/app/components/workshop/ChatMemberPanel.vue +39 -38
  362. package/app/components/workshop/ChatTimeline.vue +33 -24
  363. package/app/components/workshop/Composer.vue +7 -7
  364. package/app/components/workshop/NotificationCenter.vue +22 -13
  365. package/app/components/workshop/PluginSlot.vue +1 -1
  366. package/app/components/workshop/TaskInspectorDrawer.vue +5 -5
  367. package/app/components/workshop/blocks/ClusterTool.vue +1 -1
  368. package/app/components/workshop/composer/ComposerToolbar.vue +2 -2
  369. package/app/components/workshop/composer/MentionMenu.vue +1 -1
  370. package/app/components/workshop/composer/ReplyChip.vue +2 -2
  371. package/app/components/workshop/composer/StatusChip.vue +7 -7
  372. package/app/components/workshop/console/LineOperationsPanel.vue +15 -14
  373. package/app/components/workshop/lanes/LaneHeader.vue +5 -3
  374. package/app/components/workshop/session-list/ChannelSettingsModal.vue +43 -1
  375. package/app/composables/useCodeCopy.ts +16 -2
  376. package/app/composables/workshop/useWorkshopApi.ts +11 -2
  377. package/app/pages/workshop/channel-templates.vue +43 -4
  378. package/app/stores/workshop/notifications.ts +43 -17
  379. package/config.yml +1 -1
  380. package/docs/cli.en.md +3 -3
  381. package/docs/cli.md +2 -2
  382. package/docs/plugins.en.md +1 -1
  383. package/docs/plugins.md +1 -1
  384. package/docs/sdk.en.md +1 -1
  385. package/docs/sdk.md +1 -1
  386. package/i18n/dicts/_en.json +1551 -1557
  387. package/i18n/dicts/_en2.json +300 -300
  388. package/i18n/dicts/_en4.json +114 -115
  389. package/i18n/dicts/agentLanesView.json +61 -57
  390. package/i18n/dicts/appHeader.json +17 -7
  391. package/i18n/dicts/channelSessionList.json +51 -48
  392. package/i18n/dicts/chat.json +79 -0
  393. package/i18n/dicts/clusterTool.json +4 -3
  394. package/i18n/dicts/composer.json +38 -38
  395. package/i18n/dicts/ctpl.json +37 -32
  396. package/i18n/dicts/dcwDetail.json +219 -209
  397. package/i18n/dicts/lineOps.json +14 -0
  398. package/i18n/dicts/multiChannelView.json +13 -13
  399. package/i18n/dicts/notifications.json +13 -0
  400. package/i18n/dicts/taskInspectorDrawer.json +25 -19
  401. package/i18n/locales/en.ts +157 -8
  402. package/i18n/locales/zh-CN.ts +157 -8
  403. package/package.json +1 -1
  404. package/public/robots.txt +3 -0
  405. package/scripts/_audit/kb-team-mock-e2e.mjs +146 -0
  406. package/scripts/_audit/kb-team-omp-e2e.mjs +229 -0
  407. package/server/api/mcp/workshop.ts +8 -1
  408. package/server/api/metrics.ts +4 -1
  409. package/server/api/plugins/[name]/[...path].ts +4 -3
  410. package/server/api/system/backup/list.get.ts +32 -0
  411. package/server/api/system/backup/run.post.ts +21 -0
  412. package/server/api/system/settings/index.patch.ts +12 -2
  413. package/server/api/system/settings/reset.post.ts +11 -2
  414. package/server/api/users/[id].delete.ts +9 -2
  415. package/server/api/users/[id].put.ts +9 -2
  416. package/server/api/users/index.post.ts +9 -2
  417. package/server/api/users/login.post.ts +3 -3
  418. package/server/api/users/register.post.ts +11 -1
  419. package/server/api/workshop/a2a/[agentId]/rpc/index.post.ts +23 -13
  420. package/server/api/workshop/agent-tools/bindings/grant.post.ts +45 -0
  421. package/server/api/workshop/agent-tools/bindings/revoke.post.ts +42 -0
  422. package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +8 -1
  423. package/server/api/workshop/channels/[id]/line.put.ts +30 -0
  424. package/server/api/workshop/dcw/line/query.get.ts +6 -0
  425. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +3 -2
  426. package/server/api/workshop/fs/dirs.get.ts +19 -1
  427. package/server/api/workshop/ops-logs/index.get.ts +3 -2
  428. package/server/api/workshop/users/register.post.ts +7 -0
  429. package/server/mcp/workshop-server.ts +36 -13
  430. package/server/middleware/00-security-headers.ts +38 -0
  431. package/server/middleware/01-rate-guard.ts +101 -0
  432. package/server/plugins/backup.ts +56 -1
  433. package/server/plugins-builtin/diag-bridge/host/plugin.mjs +18 -11
  434. package/server/repositories/user.repository.ts +10 -5
  435. package/server/services/user.service.ts +24 -1
  436. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +7 -2
  437. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +4 -2
  438. package/server/services/workshop/agents/host-tool-bridge/tools/tasks.ts +15 -2
  439. package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +104 -0
  440. package/server/services/workshop/agents/industrial/index.ts +1 -1
  441. package/server/services/workshop/agents/industrial/ops-tools.ts +168 -26
  442. package/server/services/workshop/agents/node-bindings.repo.ts +10 -1
  443. package/server/services/workshop/agents/node-delegation.ts +150 -0
  444. package/server/services/workshop/agents/tool-classes.ts +4 -0
  445. package/server/services/workshop/aml/dataset-builder.ts +4 -2
  446. package/server/services/workshop/aml/job-orchestrator/process.ts +1 -0
  447. package/server/services/workshop/aml/job-orchestrator/shared.ts +2 -0
  448. package/server/services/workshop/aml/job-orchestrator/start-job.ts +5 -2
  449. package/server/services/workshop/db/channel.repo.ts +11 -1
  450. package/server/services/workshop/db/database/migrations.ts +2 -0
  451. package/server/services/workshop/db/database/rows.ts +2 -0
  452. package/server/services/workshop/db/database/seed.ts +30 -0
  453. package/server/services/workshop/dcw/dcw-controller/recipes.ts +60 -4
  454. package/server/services/workshop/dcw/dcw-controller/write.ts +35 -6
  455. package/server/services/workshop/dcw/dcw-recipe.repo.ts +4 -3
  456. package/server/services/workshop/dcw/param-map.repo.ts +3 -0
  457. package/server/services/workshop/plugins/host/init.mjs +9 -1
  458. package/server/services/workshop/plugins/host/load.mjs +2 -2
  459. package/server/services/workshop/runtime/manager/admin-channel.ts +27 -1
  460. package/server/services/workshop/runtime/manager/channel-templates.ts +27 -2
  461. package/server/services/workshop/runtime/manager/runtime-wiring.ts +17 -1
  462. package/server/services/workshop/runtime/manager/types.ts +2 -0
  463. package/shared/config/schema.json +2 -0
  464. package/.output/public/_nuxt/8FXd9As6.js +0 -1
  465. package/.output/public/_nuxt/BOmDHp5L.js +0 -14
  466. package/.output/public/_nuxt/BWU1pvLL.js +0 -1
  467. package/.output/public/_nuxt/CdIsmU5a2.js +0 -21
  468. package/.output/public/_nuxt/D0SNhlnt.js +0 -1
  469. package/.output/public/_nuxt/DnH9SRMW2.js +0 -1
  470. package/.output/public/_nuxt/ON2x-t6n.js +0 -1
  471. package/.output/public/_nuxt/PluginSlot.DmjNbrcX.css +0 -1
  472. package/.output/public/_nuxt/_wsId_.DkrQkT6r.css +0 -1
  473. package/.output/public/_nuxt/builds/meta/912eb5bb-670e-4cc8-b21d-7fc097723466.json +0 -1
  474. package/.output/public/_nuxt/channel-templates.DplM1pJ3.css +0 -1
  475. package/.output/server/chunks/build/_id_-BUpQSlzo.mjs.map +0 -1
  476. package/.output/server/chunks/build/channel-templates-DjEsj0_v.mjs.map +0 -1
  477. package/.output/server/chunks/build/useWorkshopApi-B1B9vd4m.mjs.map +0 -1
  478. package/scripts/.chk-tok +0 -1
  479. package/scripts/.retrain-body.json +0 -1
  480. package/scripts/.retrain3-body.json +0 -1
  481. package/scripts/.rt-tok +0 -1
  482. package/scripts/.rt3-tok +0 -1
@@ -22,6 +22,8 @@
22
22
 
23
23
  { "key": "security.approvalGate", "type": "boolean", "group": "security", "label": "高危操作双人复核", "labelKey": "settings.runtime.security.approvalGate", "description": "R3:开启后写控/删除等高风险操作需另一位管理员批核", "applies": "live", "default": false },
24
24
  { "key": "security.hitl_timeout_ms", "type": "number", "group": "security", "label": "HITL 审批超时(ms)", "labelKey": "settings.runtime.security.hitlTimeoutMs", "description": "手动确认模式下发审批的等待超时(超时按拒绝收敛)", "applies": "restart", "default": 180000, "min": 1000, "max": 86400000, "aliases": ["HITL_TIMEOUT_MS"] },
25
+ { "key": "security.allowRegistration", "type": "boolean", "group": "security", "label": "开放自助注册", "labelKey": "settings.runtime.security.allowRegistration", "description": "公网部署闸门:关闭后(且首管理员已就位)两个注册端点均返回 403,仅管理员可建账号", "applies": "live", "default": true },
26
+ { "key": "security.hstsEnabled", "type": "boolean", "group": "security", "label": "下发 HSTS 头", "labelKey": "settings.runtime.security.hstsEnabled", "description": "仅在已全站 HTTPS(反代/隧道终结 TLS)时开启,开启后响应带 Strict-Transport-Security", "applies": "live", "default": false },
25
27
 
26
28
  { "key": "daq.startInfrastructure", "type": "select", "group": "daq", "label": "数采基础设施拉起策略", "labelKey": "settings.runtime.daq.startInfrastructure", "description": "auto=启动探测,不通且有 Docker 则自动拉起;always=仅 Docker 拉起;never=只直连", "applies": "live", "default": "auto", "options": ["auto", "always", "never"] },
27
29
  { "key": "daq.mqtt.host", "type": "string", "group": "daq", "label": "MQTT Broker 地址", "labelKey": "settings.runtime.daq.mqttHost", "description": "数采事件总线 MQTT 主机", "applies": "restart", "default": "127.0.0.1" },
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-09-28T04:55:38.240Z",
2
+ "date": "2026-09-29T08:05:49.062Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- import{N as e,dt as t,mt as n,v as r}from"./CavpkQb0.js";import{Q as i,R as a,S as o,V as s,W as c,b as l,f as u,h as d,i as f,k as p,m,rt as h,y as g}from"./ByMj6e7s.js";import{c as _,s as v,u as y}from"./Dqz5HiXa.js";import{t as b}from"./BDNMzG2s2.js";import{t as x}from"./Bfe2qOYs.js";import{t as ee}from"./D0SNhlnt.js";import{t as S}from"./B1RT9NTO2.js";import{t as C}from"./CBDX7p73.js";import{a as w,i as T,n as E,r as D,t as O}from"./Ccps4cxo.js";var k={class:`aw-page-head`},A={class:`sub`},j={class:`head-actions`},M=[`title`],N={class:`live-txt mono`},P=Object.assign(b(o({__name:`OperationsPageHead`,props:{recentCount:{}},setup(e){return(t,r)=>(s(),d(`header`,k,[u(`div`,null,[r[0]||=u(`p`,{class:`aw-kicker`},` agentworkshop / line operations `,-1),u(`h1`,null,n(t.$t(`operations.title`)),1),u(`p`,A,n(t.$t(`operations.sub`)),1)]),u(`div`,j,[u(`span`,{class:`live-dot`,title:t.$t(`operations.liveHint`)},null,8,M),u(`span`,N,n(t.$t(`operations.live`))+` `+n(e.recentCount),1)])]))}}),[[`__scopeId`,`data-v-800abe93`]]),{__name:`OperationsPageHead`}),F={class:`filter-card`},I={class:`flt`},L={value:``},R=[`value`],z={class:`flt`},B={value:``},V=[`value`],H={class:`flt`},U={value:``},W={value:`agent`},G={value:`user`},te={value:`system`},K={class:`flt flt-grow`},q=[`placeholder`],J=[`disabled`],Y=Object.assign(b(o({__name:`OperationsFilterCard`,props:p({hasFilter:{type:Boolean},loading:{type:Boolean}},{lineId:{required:!0},lineIdModifiers:{},actorKind:{required:!0},actorKindModifiers:{},kind:{required:!0},kindModifiers:{},text:{required:!0},textModifiers:{}}),emits:p([`query`,`reset`],[`update:lineId`,`update:actorKind`,`update:kind`,`update:text`]),setup(t){let r=i(t,`lineId`),a=i(t,`actorKind`),o=i(t,`kind`),l=i(t,`text`),{lines:p}=C();return(i,b)=>(s(),d(`section`,F,[u(`label`,I,[u(`span`,null,n(i.$t(`operations.fLine`)),1),h(u(`select`,{"onUpdate:modelValue":b[0]||=e=>r.value=e,class:`inp-sel`},[u(`option`,L,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(p),e=>(s(),d(`option`,{key:e.id,value:e.id},n(e.name),9,R))),128))],512),[[v,r.value]])]),u(`label`,z,[u(`span`,null,n(i.$t(`operations.fKind`)),1),h(u(`select`,{"onUpdate:modelValue":b[1]||=e=>o.value=e,class:`inp-sel`},[u(`option`,B,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(E),e=>(s(),d(`option`,{key:e,value:e},n(i.$t(`operations.cat.${e}`)),9,V))),128))],512),[[v,o.value]])]),u(`label`,H,[u(`span`,null,n(i.$t(`operations.fSource`)),1),h(u(`select`,{"onUpdate:modelValue":b[2]||=e=>a.value=e,class:`inp-sel`},[u(`option`,U,n(i.$t(`operations.all`)),1),u(`option`,W,n(i.$t(`operations.actorAgent`)),1),u(`option`,G,n(i.$t(`operations.actorUser`)),1),u(`option`,te,n(i.$t(`operations.actorSystem`)),1)],512),[[v,a.value]])]),u(`label`,K,[u(`span`,null,n(i.$t(`operations.fKeyword`)),1),h(u(`input`,{"onUpdate:modelValue":b[3]||=e=>l.value=e,class:`inp-sel`,type:`search`,placeholder:i.$t(`operations.fKeywordPh`),onKeydown:b[4]||=y(e=>i.$emit(`query`),[`enter`])},null,40,q),[[_,l.value]])]),u(`button`,{class:`pill-btn`,disabled:t.loading,onClick:b[5]||=e=>i.$emit(`query`)},[b[7]||=u(`span`,{class:`i-tabler-search`},null,-1),g(` `+n(i.$t(`operations.query`)),1)],8,J),t.hasFilter?(s(),d(`button`,{key:0,class:`mini-btn`,onClick:b[6]||=e=>i.$emit(`reset`)},n(i.$t(`operations.reset`)),1)):m(``,!0)]))}}),[[`__scopeId`,`data-v-7598a15a`]]),{__name:`OperationsFilterCard`}),X={class:`ops-stream`},Z={key:0,class:`stream-stats`},Q={class:`mono`},ne={key:1,class:`stream-state error`},re={key:2,class:`stream-state`},ie={key:3,class:`stream-state`},ae={key:4,class:`stream-list`},oe=[`disabled`,`onClick`],se={class:`op-icon`},ce={class:`op-body`},le={class:`op-top`},ue={class:`op-cat`},de={class:`op-summary`},fe={class:`op-sub`},pe={key:0,class:`op-diff mono`},$={key:0},me={key:2,class:`op-diff-bad`},he={class:`op-action mono`},ge={class:`op-time mono`},_e={key:0,class:`op-detail mono`},ve=Object.assign(b(o({__name:`OperationsTimeline`,props:{rows:{},loading:{type:Boolean},error:{}},setup(i){let a=i,o=r(null);function l(e){o.value=o.value===e.id?null:e.id}function p(e){return D(e)}function h(e){if(!e.detailJson)return``;try{return JSON.stringify(JSON.parse(e.detailJson),null,2)}catch{return e.detailJson}}let _=[`write`,`daq`,`aml`,`recipe`,`rollback`,`alarm`,`line`,`manual`,`system`];function v(){let e={};for(let t of a.rows){let n=p(t);e[n]=(e[n]??0)+1}return _.filter(t=>e[t]).map(t=>({key:t,count:e[t]??0}))}return(r,a)=>(s(),d(`section`,X,[i.rows.length>0?(s(),d(`div`,Z,[(s(!0),d(f,null,c(v(),i=>(s(),d(`div`,{key:i.key,class:t([`stream-stat`,i.key])},[u(`span`,{class:t(e(O)[i.key])},null,2),u(`b`,Q,n(i.count),1),u(`small`,null,n(r.$t(`operations.cat.${i.key}`)),1)],2))),128))])):m(``,!0),i.error?(s(),d(`div`,ne,[a[0]||=u(`span`,{class:`i-tabler-alert-circle`},null,-1),g(` `+n(i.error),1)])):i.loading&&i.rows.length===0?(s(),d(`div`,re,[a[1]||=u(`span`,{class:`i-tabler-loader-2 spin`},null,-1),g(` `+n(r.$t(`operations.loading`)),1)])):i.rows.length===0?(s(),d(`div`,ie,[a[2]||=u(`span`,{class:`i-tabler-activity-heartbeat`},null,-1),g(` `+n(r.$t(`operations.empty`)),1)])):(s(),d(`ol`,ae,[(s(!0),d(f,null,c(i.rows,i=>(s(),d(`li`,{key:`${i.id}-${i.at}-${i.action}`,class:t([`op-row`,[p(i),{open:o.value===i.id}]])},[u(`button`,{class:`op-main`,disabled:!i.detailJson,onClick:e=>l(i)},[u(`span`,se,[u(`span`,{class:t(e(O)[p(i)])},null,2)]),u(`span`,ce,[u(`span`,le,[u(`span`,ue,n(r.$t(`operations.cat.${p(i)}`)),1),u(`span`,de,n(i.summary||i.action),1)]),u(`span`,fe,[u(`span`,{class:t([`op-actor`,i.actorKind])},n(i.actorKind===`agent`?r.$t(`operations.actorAgent`):i.actorKind===`user`?r.$t(`operations.actorUser`):r.$t(`operations.actorSystem`))+` · `+n(i.actorName),3),e(T)(i)?(s(),d(`span`,pe,[e(T)(i).prev==null?m(``,!0):(s(),d(`del`,$,n(e(T)(i).prev),1)),e(T)(i).prev==null?m(``,!0):(s(),d(f,{key:1},[g(` → `)],64)),u(`ins`,null,n(e(T)(i).next),1),e(T)(i).ok?m(``,!0):(s(),d(`span`,me,`✕`))])):m(``,!0),u(`span`,he,n(i.action),1)])]),u(`time`,ge,n(e(x)(i.at,!0)),1)],8,oe),o.value===i.id&&i.detailJson?(s(),d(`pre`,_e,n(h(i)||r.$t(`operations.noDetail`)),1)):m(``,!0)],2))),128))]))]))}}),[[`__scopeId`,`data-v-552620b2`]]),{__name:`OperationsTimeline`}),ye={class:`page`},be=b(o({name:`OperationsPage`,setup(t){let n=S(),r=ee(),i=w();return a(()=>{r.ensureConnected(),n.ensureLive(),i.doQuery()}),(t,r)=>(s(),d(`div`,ye,[l(P,{"recent-count":e(n).recent.length},null,8,[`recent-count`]),l(Y,{"line-id":e(i).q.lineId,"onUpdate:lineId":r[0]||=t=>e(i).q.lineId=t,kind:e(i).q.kind,"onUpdate:kind":r[1]||=t=>e(i).q.kind=t,"actor-kind":e(i).q.actorKind,"onUpdate:actorKind":r[2]||=t=>e(i).q.actorKind=t,text:e(i).q.text,"onUpdate:text":r[3]||=t=>e(i).q.text=t,"has-filter":e(i).hasFilter.value,loading:e(n).loading.list,onQuery:e(i).doQuery,onReset:e(i).resetFilters},null,8,[`line-id`,`kind`,`actor-kind`,`text`,`has-filter`,`loading`,`onQuery`,`onReset`]),l(ve,{rows:e(i).rows.value,loading:e(n).loading.list,error:e(n).error.list},null,8,[`rows`,`loading`,`error`])]))}}),[[`__scopeId`,`data-v-bfd603dd`]]);export{be as default};
1
+ import{N as e,dt as t,mt as n,v as r}from"./CavpkQb0.js";import{Q as i,R as a,S as o,V as s,W as c,b as l,f as u,h as d,i as f,k as p,m,rt as h,y as g}from"./ByMj6e7s.js";import{c as _,s as v,u as y}from"./Dqz5HiXa.js";import{t as b}from"./BDNMzG2s2.js";import{t as x}from"./Bfe2qOYs.js";import{t as ee}from"./DWsgRq2c.js";import{t as S}from"./B1RT9NTO2.js";import{t as C}from"./CBDX7p73.js";import{a as w,i as T,n as E,r as D,t as O}from"./Ccps4cxo.js";var k={class:`aw-page-head`},A={class:`sub`},j={class:`head-actions`},M=[`title`],N={class:`live-txt mono`},P=Object.assign(b(o({__name:`OperationsPageHead`,props:{recentCount:{}},setup(e){return(t,r)=>(s(),d(`header`,k,[u(`div`,null,[r[0]||=u(`p`,{class:`aw-kicker`},` agentworkshop / line operations `,-1),u(`h1`,null,n(t.$t(`operations.title`)),1),u(`p`,A,n(t.$t(`operations.sub`)),1)]),u(`div`,j,[u(`span`,{class:`live-dot`,title:t.$t(`operations.liveHint`)},null,8,M),u(`span`,N,n(t.$t(`operations.live`))+` `+n(e.recentCount),1)])]))}}),[[`__scopeId`,`data-v-800abe93`]]),{__name:`OperationsPageHead`}),F={class:`filter-card`},I={class:`flt`},L={value:``},R=[`value`],z={class:`flt`},B={value:``},V=[`value`],H={class:`flt`},U={value:``},W={value:`agent`},G={value:`user`},te={value:`system`},K={class:`flt flt-grow`},q=[`placeholder`],J=[`disabled`],Y=Object.assign(b(o({__name:`OperationsFilterCard`,props:p({hasFilter:{type:Boolean},loading:{type:Boolean}},{lineId:{required:!0},lineIdModifiers:{},actorKind:{required:!0},actorKindModifiers:{},kind:{required:!0},kindModifiers:{},text:{required:!0},textModifiers:{}}),emits:p([`query`,`reset`],[`update:lineId`,`update:actorKind`,`update:kind`,`update:text`]),setup(t){let r=i(t,`lineId`),a=i(t,`actorKind`),o=i(t,`kind`),l=i(t,`text`),{lines:p}=C();return(i,b)=>(s(),d(`section`,F,[u(`label`,I,[u(`span`,null,n(i.$t(`operations.fLine`)),1),h(u(`select`,{"onUpdate:modelValue":b[0]||=e=>r.value=e,class:`inp-sel`},[u(`option`,L,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(p),e=>(s(),d(`option`,{key:e.id,value:e.id},n(e.name),9,R))),128))],512),[[v,r.value]])]),u(`label`,z,[u(`span`,null,n(i.$t(`operations.fKind`)),1),h(u(`select`,{"onUpdate:modelValue":b[1]||=e=>o.value=e,class:`inp-sel`},[u(`option`,B,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(E),e=>(s(),d(`option`,{key:e,value:e},n(i.$t(`operations.cat.${e}`)),9,V))),128))],512),[[v,o.value]])]),u(`label`,H,[u(`span`,null,n(i.$t(`operations.fSource`)),1),h(u(`select`,{"onUpdate:modelValue":b[2]||=e=>a.value=e,class:`inp-sel`},[u(`option`,U,n(i.$t(`operations.all`)),1),u(`option`,W,n(i.$t(`operations.actorAgent`)),1),u(`option`,G,n(i.$t(`operations.actorUser`)),1),u(`option`,te,n(i.$t(`operations.actorSystem`)),1)],512),[[v,a.value]])]),u(`label`,K,[u(`span`,null,n(i.$t(`operations.fKeyword`)),1),h(u(`input`,{"onUpdate:modelValue":b[3]||=e=>l.value=e,class:`inp-sel`,type:`search`,placeholder:i.$t(`operations.fKeywordPh`),onKeydown:b[4]||=y(e=>i.$emit(`query`),[`enter`])},null,40,q),[[_,l.value]])]),u(`button`,{class:`pill-btn`,disabled:t.loading,onClick:b[5]||=e=>i.$emit(`query`)},[b[7]||=u(`span`,{class:`i-tabler-search`},null,-1),g(` `+n(i.$t(`operations.query`)),1)],8,J),t.hasFilter?(s(),d(`button`,{key:0,class:`mini-btn`,onClick:b[6]||=e=>i.$emit(`reset`)},n(i.$t(`operations.reset`)),1)):m(``,!0)]))}}),[[`__scopeId`,`data-v-7598a15a`]]),{__name:`OperationsFilterCard`}),X={class:`ops-stream`},Z={key:0,class:`stream-stats`},Q={class:`mono`},ne={key:1,class:`stream-state error`},re={key:2,class:`stream-state`},ie={key:3,class:`stream-state`},ae={key:4,class:`stream-list`},oe=[`disabled`,`onClick`],se={class:`op-icon`},ce={class:`op-body`},le={class:`op-top`},ue={class:`op-cat`},de={class:`op-summary`},fe={class:`op-sub`},pe={key:0,class:`op-diff mono`},$={key:0},me={key:2,class:`op-diff-bad`},he={class:`op-action mono`},ge={class:`op-time mono`},_e={key:0,class:`op-detail mono`},ve=Object.assign(b(o({__name:`OperationsTimeline`,props:{rows:{},loading:{type:Boolean},error:{}},setup(i){let a=i,o=r(null);function l(e){o.value=o.value===e.id?null:e.id}function p(e){return D(e)}function h(e){if(!e.detailJson)return``;try{return JSON.stringify(JSON.parse(e.detailJson),null,2)}catch{return e.detailJson}}let _=[`write`,`daq`,`aml`,`recipe`,`rollback`,`alarm`,`line`,`manual`,`system`];function v(){let e={};for(let t of a.rows){let n=p(t);e[n]=(e[n]??0)+1}return _.filter(t=>e[t]).map(t=>({key:t,count:e[t]??0}))}return(r,a)=>(s(),d(`section`,X,[i.rows.length>0?(s(),d(`div`,Z,[(s(!0),d(f,null,c(v(),i=>(s(),d(`div`,{key:i.key,class:t([`stream-stat`,i.key])},[u(`span`,{class:t(e(O)[i.key])},null,2),u(`b`,Q,n(i.count),1),u(`small`,null,n(r.$t(`operations.cat.${i.key}`)),1)],2))),128))])):m(``,!0),i.error?(s(),d(`div`,ne,[a[0]||=u(`span`,{class:`i-tabler-alert-circle`},null,-1),g(` `+n(i.error),1)])):i.loading&&i.rows.length===0?(s(),d(`div`,re,[a[1]||=u(`span`,{class:`i-tabler-loader-2 spin`},null,-1),g(` `+n(r.$t(`operations.loading`)),1)])):i.rows.length===0?(s(),d(`div`,ie,[a[2]||=u(`span`,{class:`i-tabler-activity-heartbeat`},null,-1),g(` `+n(r.$t(`operations.empty`)),1)])):(s(),d(`ol`,ae,[(s(!0),d(f,null,c(i.rows,i=>(s(),d(`li`,{key:`${i.id}-${i.at}-${i.action}`,class:t([`op-row`,[p(i),{open:o.value===i.id}]])},[u(`button`,{class:`op-main`,disabled:!i.detailJson,onClick:e=>l(i)},[u(`span`,se,[u(`span`,{class:t(e(O)[p(i)])},null,2)]),u(`span`,ce,[u(`span`,le,[u(`span`,ue,n(r.$t(`operations.cat.${p(i)}`)),1),u(`span`,de,n(i.summary||i.action),1)]),u(`span`,fe,[u(`span`,{class:t([`op-actor`,i.actorKind])},n(i.actorKind===`agent`?r.$t(`operations.actorAgent`):i.actorKind===`user`?r.$t(`operations.actorUser`):r.$t(`operations.actorSystem`))+` · `+n(i.actorName),3),e(T)(i)?(s(),d(`span`,pe,[e(T)(i).prev==null?m(``,!0):(s(),d(`del`,$,n(e(T)(i).prev),1)),e(T)(i).prev==null?m(``,!0):(s(),d(f,{key:1},[g(` → `)],64)),u(`ins`,null,n(e(T)(i).next),1),e(T)(i).ok?m(``,!0):(s(),d(`span`,me,`✕`))])):m(``,!0),u(`span`,he,n(i.action),1)])]),u(`time`,ge,n(e(x)(i.at,!0)),1)],8,oe),o.value===i.id&&i.detailJson?(s(),d(`pre`,_e,n(h(i)||r.$t(`operations.noDetail`)),1)):m(``,!0)],2))),128))]))]))}}),[[`__scopeId`,`data-v-552620b2`]]),{__name:`OperationsTimeline`}),ye={class:`page`},be=b(o({name:`OperationsPage`,setup(t){let n=S(),r=ee(),i=w();return a(()=>{r.ensureConnected(),n.ensureLive(),i.doQuery()}),(t,r)=>(s(),d(`div`,ye,[l(P,{"recent-count":e(n).recent.length},null,8,[`recent-count`]),l(Y,{"line-id":e(i).q.lineId,"onUpdate:lineId":r[0]||=t=>e(i).q.lineId=t,kind:e(i).q.kind,"onUpdate:kind":r[1]||=t=>e(i).q.kind=t,"actor-kind":e(i).q.actorKind,"onUpdate:actorKind":r[2]||=t=>e(i).q.actorKind=t,text:e(i).q.text,"onUpdate:text":r[3]||=t=>e(i).q.text=t,"has-filter":e(i).hasFilter.value,loading:e(n).loading.list,onQuery:e(i).doQuery,onReset:e(i).resetFilters},null,8,[`line-id`,`kind`,`actor-kind`,`text`,`has-filter`,`loading`,`onQuery`,`onReset`]),l(ve,{rows:e(i).rows.value,loading:e(n).loading.list,error:e(n).error.list},null,8,[`rows`,`loading`,`error`])]))}}),[[`__scopeId`,`data-v-bfd603dd`]]);export{be as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./Nw_6OpQZ2.js";function t(){let t=e();return{listChannels:()=>t.get(`/workshop/channels`),createChannel:e=>t.post(`/workshop/channels`,e),deleteChannel:e=>t.delete(`/workshop/channels/${e}`),patchChannel:(e,n)=>t.request({method:`PATCH`,url:`/workshop/channels/${e}`,data:n}),bindChannelLine:(e,n)=>t.request({method:`PUT`,url:`/workshop/channels/${e}/line`,data:{lineId:n}}),listDcwLines:()=>t.get(`/workshop/dcw/lines?limit=200`),listChannelAgents:e=>t.get(`/workshop/channels/${e}/agents`),addChannelAgent:(e,n)=>t.post(`/workshop/channels/${e}/agents`,n),updateChannelAgent:(e,n,r)=>t.request({method:`PATCH`,url:`/workshop/channels/${e}/agents/${n}`,data:r}),removeChannelAgent:(e,n)=>t.delete(`/workshop/channels/${e}/agents/${n}`),stopChannelAgent:(e,n)=>t.post(`/workshop/channels/${e}/agents/${n}/stop`,{}),listTasks:e=>t.get(`/workshop/channels/${e}/tasks`),submitTask:(e,n)=>t.post(`/workshop/channels/${e}/tasks`,n),injectMessage:(e,n)=>t.post(`/workshop/channels/${e}/messages`,n),listAgentMemories:(e,n)=>t.get(`/workshop/channels/${e}/agents/${n}/memories`),searchMemories:(e,n,r)=>t.post(`/workshop/channels/${e}/agents/${n}/memories/search`,r),saveMemory:(e,n,r)=>t.post(`/workshop/channels/${e}/agents/${n}/memories`,r),listTeamMemories:e=>t.get(`/workshop/channels/${e}/memories`),queueOverview:e=>t.get(`/workshop/channels/${e}/queue`),runtimeStatus:()=>t.get(`/workshop/runtime`),listSchedules:()=>t.get(`/workshop/schedules`),createSchedule:e=>t.post(`/workshop/schedules`,e),updateSchedule:(e,n)=>t.request({method:`PATCH`,url:`/workshop/schedules/${e}`,data:n}),deleteSchedule:e=>t.delete(`/workshop/schedules/${e}`),runSchedule:e=>t.post(`/workshop/schedules/${e}/run`,{}),listScheduleRuns:(e,n=50)=>t.get(`/workshop/schedules/${e}/runs`,{params:{limit:n}}),listHarnesses:()=>t.get(`/workshop/harnesses`),listHarnessProviders:e=>t.get(`/workshop/harnesses/${e}/providers`),getTask:(e,n)=>t.get(`/workshop/tasks/${e}`,n?{params:{channelId:n}}:void 0),cancelTask:e=>t.post(`/workshop/tasks/${e}/cancel`,{}),retryTask:e=>t.post(`/workshop/tasks/${e}/retry`,{}),respondHitl:e=>t.post(`/workshop/hitl/respond`,e),listTemplates:()=>t.get(`/workshop/agents`),createTemplate:e=>t.post(`/workshop/agents`,e),updateTemplate:(e,n)=>t.request({method:`PATCH`,url:`/workshop/agents/${e}`,data:n}),deleteTemplate:e=>t.delete(`/workshop/agents/${e}`),listTeams:()=>t.get(`/workshop/teams`),createTeam:e=>t.post(`/workshop/teams`,e),updateTeam:(e,n)=>t.request({method:`PATCH`,url:`/workshop/teams/${e}`,data:n}),deleteTeam:e=>t.delete(`/workshop/teams/${e}`),addTeamMember:(e,n)=>t.post(`/workshop/teams/${e}/members`,n),removeTeamMember:(e,n)=>t.delete(`/workshop/teams/${e}/members/${n}`),deployTeam:(e,n)=>t.post(`/workshop/teams/${e}/deploy`,{channelId:n}),listChannelTemplates:()=>t.get(`/workshop/channel-templates`),createChannelTemplate:e=>t.post(`/workshop/channel-templates`,e),captureChannelTemplate:e=>t.post(`/workshop/channel-templates/from-channel`,e),updateChannelTemplate:(e,n)=>t.request({method:`PATCH`,url:`/workshop/channel-templates/${e}`,data:n}),deleteChannelTemplate:e=>t.delete(`/workshop/channel-templates/${e}`),instantiateChannelTemplate:(e,n,r)=>t.post(`/workshop/channel-templates/${e}/instantiate`,{name:n,...r}),mountChannelTemplate:(e,n,r)=>t.post(`/workshop/workspaces/${e}/channel-templates/${n}`,{name:r}),listChannelTerminals:e=>t.get(`/workshop/channels/${e}/terminals`),listPlugins:()=>t.get(`/workshop/plugins`),enablePlugin:e=>t.post(`/workshop/plugins/${e}/enable`,{}),disablePlugin:e=>t.post(`/workshop/plugins/${e}/disable`,{}),pluginHealth:e=>t.get(`/plugins/${e}/health`),listChannelPlugins:e=>t.get(`/workshop/channels/${e}/plugins`),putChannelPlugins:(e,n)=>t.put(`/workshop/channels/${e}/plugins`,n),listTeamPlugins:e=>t.get(`/workshop/teams/${e}/plugins`),putTeamPlugins:(e,n)=>t.put(`/workshop/teams/${e}/plugins`,n)}}export{t};
@@ -1 +1 @@
1
- import{N as e,dt as t,g as n,mt as r,u as i}from"./CavpkQb0.js";import{Q as a,R as o,S as s,V as c,W as l,b as u,d,et as f,f as p,h as m,i as h,k as g,m as _,p as v,rt as y,s as b,y as x}from"./ByMj6e7s.js";import{c as S,d as C,s as w,u as T}from"./Dqz5HiXa.js";import{t as E}from"./BDNMzG2s2.js";import{t as D}from"./D0SNhlnt.js";import{t as O}from"./DxagrjB8.js";import{t as k}from"./B1RT9NTO2.js";import{t as A}from"./DPUXbTg9.js";import{t as j}from"./BzvHUfRR.js";import{n as M,t as ee}from"./Dbe9TFc9.js";import{t as N}from"./CBDX7p73.js";var te={class:`aw-page-head`},P={class:`sub`},F={class:`head-actions`},I=[`title`],L={class:`live-txt mono`},R=Object.assign(E(s({__name:`LogsPageHead`,props:{recentCount:{}},emits:[`manual`],setup(e){return(t,n)=>(c(),m(`header`,te,[p(`div`,null,[n[1]||=p(`p`,{class:`aw-kicker`},` agentworkshop / audit log `,-1),p(`h1`,null,r(t.$t(`logs.title`)),1),p(`p`,P,r(t.$t(`logs.sub`)),1)]),p(`div`,F,[p(`span`,{class:`live-dot`,title:t.$t(`logs.liveHint`)},null,8,I),p(`span`,L,r(t.$t(`logs.live`))+` `+r(e.recentCount),1),p(`button`,{class:`pill-btn`,onClick:n[0]||=e=>t.$emit(`manual`)},[n[2]||=p(`span`,{class:`i-tabler-plus`},null,-1),x(` `+r(t.$t(`logs.manual`)),1)])])]))}}),[[`__scopeId`,`data-v-a3122ccd`]]),{__name:`LogsPageHead`}),z={class:`filter-card`},B={class:`flt`},V={value:``},H=[`value`],U={class:`flt`},W={value:``},G=[`value`],K={class:`flt`},q={value:``},J=[`value`],Y={class:`flt`},X={value:``},Z={value:`user`},Q={value:`system`},ne={class:`flt`},re={value:``},ie=[`value`],ae={class:`flt flt-grow`},oe=[`placeholder`],se=[`disabled`],ce=Object.assign(E(s({__name:`LogsFilterCard`,props:g({hasFilter:{type:Boolean},loading:{type:Boolean}},{lineId:{required:!0},lineIdModifiers:{},productId:{required:!0},productIdModifiers:{},recipeId:{required:!0},recipeIdModifiers:{},actorKind:{required:!0},actorKindModifiers:{},kind:{required:!0},kindModifiers:{},text:{required:!0},textModifiers:{}}),emits:g([`query`,`reset`],[`update:lineId`,`update:productId`,`update:recipeId`,`update:actorKind`,`update:kind`,`update:text`]),setup(t){let n=a(t,`lineId`),i=a(t,`productId`),o=a(t,`recipeId`),s=a(t,`actorKind`),u=a(t,`kind`),f=a(t,`text`),{lines:g,productsOfLine:v,recipesOfScope:b}=N(),C=d(()=>v(n.value)),E=d(()=>b(n.value,i.value));function D(){i.value=``,o.value=``}function O(){o.value=``}return(a,d)=>(c(),m(`section`,z,[p(`label`,B,[p(`span`,null,r(a.$t(`logs.fLine`)),1),y(p(`select`,{"onUpdate:modelValue":d[0]||=e=>n.value=e,class:`inp-sel`,onChange:D},[p(`option`,V,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(g),e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,H))),128))],544),[[w,n.value]])]),p(`label`,U,[p(`span`,null,r(a.$t(`logs.fProduct`)),1),y(p(`select`,{"onUpdate:modelValue":d[1]||=e=>i.value=e,class:`inp-sel`,onChange:O},[p(`option`,W,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(C.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,G))),128))],544),[[w,i.value]])]),p(`label`,K,[d[9]||=p(`span`,null,`Recipe`,-1),y(p(`select`,{"onUpdate:modelValue":d[2]||=e=>o.value=e,class:`inp-sel`},[p(`option`,q,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(E.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,J))),128))],512),[[w,o.value]])]),p(`label`,Y,[p(`span`,null,r(a.$t(`logs.fSource`)),1),y(p(`select`,{"onUpdate:modelValue":d[3]||=e=>s.value=e,class:`inp-sel`},[p(`option`,X,r(a.$t(`logs.all`)),1),p(`option`,Z,r(a.$t(`logs.src.user`)),1),d[10]||=p(`option`,{value:`agent`},` Agent `,-1),p(`option`,Q,r(a.$t(`logs.src.system`)),1)],512),[[w,s.value]])]),p(`label`,ne,[p(`span`,null,r(a.$t(`logs.fKind`)),1),y(p(`select`,{"onUpdate:modelValue":d[4]||=e=>u.value=e,class:`inp-sel`},[p(`option`,re,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(ee),e=>(c(),m(`option`,{key:e,value:e},r(a.$t(`logs.kind.${e}`)),9,ie))),128))],512),[[w,u.value]])]),p(`label`,ae,[p(`span`,null,r(a.$t(`logs.fKeyword`)),1),y(p(`input`,{"onUpdate:modelValue":d[5]||=e=>f.value=e,class:`inp-sel`,type:`search`,placeholder:a.$t(`logs.fKeywordPh`),onKeydown:d[6]||=T(e=>a.$emit(`query`),[`enter`])},null,40,oe),[[S,f.value]])]),p(`button`,{class:`pill-btn`,disabled:t.loading,onClick:d[7]||=e=>a.$emit(`query`)},[d[11]||=p(`span`,{class:`i-tabler-search`},null,-1),x(` `+r(a.$t(`logs.query`)),1)],8,se),t.hasFilter?(c(),m(`button`,{key:0,class:`mini-btn`,onClick:d[8]||=e=>a.$emit(`reset`)},r(a.$t(`logs.reset`)),1)):_(``,!0)]))}}),[[`__scopeId`,`data-v-4ba5c3b6`]]),{__name:`LogsFilterCard`}),le={class:`table-card`},ue={key:0,class:`err`},de={class:`log-table`},fe={class:`th-time`},pe={class:`th-src`},me={class:`th-kind`},he={class:`th-scope`},ge={class:`th-detail`},_e={class:`mono dim`},ve={class:`actor`},ye={class:`summary`},be={class:`mono dim action`},xe={class:`scope`},Se=[`title`],Ce=[`title`],we={key:2,class:`scope-chip`,title:`Recipe`},Te={key:3,class:`dim`},Ee={class:`detail-cell`},De=[`onClick`],Oe={key:1,class:`dim`},ke={key:0,class:`log-detail-row`},Ae={colspan:`7`,class:`detail-td`},je={class:`detail-box mono`},Me={class:`log-empty-row`},Ne={key:0,colspan:`7`,class:`empty`},Pe=Object.assign(E(s({__name:`LogsEventTable`,props:{rows:{},expandedId:{},loading:{type:Boolean},error:{}},emits:[`toggle`],setup(n){let{hasDetail:i,pretty:a,fmtTime:o,srcLabel:s,kindLabel:u}=A(),{lineName:d,productName:f,recipeName:g}=N();return(v,y)=>(c(),m(`section`,le,[n.error?(c(),m(`p`,ue,r(n.error),1)):_(``,!0),p(`table`,de,[p(`thead`,null,[p(`tr`,null,[p(`th`,fe,r(v.$t(`logs.thTime`)),1),p(`th`,pe,r(v.$t(`logs.fSource`)),1),p(`th`,null,r(v.$t(`logs.thActor`)),1),p(`th`,me,r(v.$t(`logs.fKind`)),1),p(`th`,null,r(v.$t(`logs.thSummary`)),1),p(`th`,he,r(v.$t(`logs.thScope`)),1),p(`th`,ge,r(v.$t(`logs.thDetail`)),1)])]),p(`tbody`,null,[(c(!0),m(h,null,l(n.rows,l=>(c(),m(h,{key:l.id},[p(`tr`,null,[p(`td`,_e,r(e(o)(l.at)),1),p(`td`,null,[p(`span`,{class:t([`src-badge`,l.actorKind])},r(e(s)(l.actorKind)),3)]),p(`td`,ve,r(l.actorName||l.actor||`—`),1),p(`td`,null,[p(`span`,{class:t([`kind-chip`,l.kind])},r(e(u)(l.kind)),3)]),p(`td`,ye,[x(r(l.summary)+` `,1),p(`small`,be,r(l.action),1)]),p(`td`,xe,[e(d)(l.lineId)?(c(),m(`span`,{key:0,class:`scope-chip`,title:v.$t(`logs.fLine`)},r(e(d)(l.lineId)),9,Se)):_(``,!0),e(f)(l.productId)?(c(),m(`span`,{key:1,class:`scope-chip`,title:v.$t(`logs.fProduct`)},r(e(f)(l.productId)),9,Ce)):_(``,!0),e(g)(l.recipeId)?(c(),m(`span`,we,r(e(g)(l.recipeId)),1)):_(``,!0),!l.lineId&&!l.productId&&!l.recipeId?(c(),m(`span`,Te,`—`)):_(``,!0)]),p(`td`,Ee,[e(i)(l)?(c(),m(`button`,{key:0,class:`mini-btn`,onClick:e=>v.$emit(`toggle`,l)},r(n.expandedId===l.id?v.$t(`logs.fold`):v.$t(`logs.expand`)),9,De)):(c(),m(`span`,Oe,r(v.$t(`logs.noDetail`)),1))])]),n.expandedId===l.id?(c(),m(`tr`,ke,[p(`td`,Ae,[p(`pre`,je,r(e(a)(l.detailJson)),1)])])):_(``,!0)],64))),128)),p(`tr`,Me,[n.rows.length===0?(c(),m(`td`,Ne,[n.loading?(c(),m(h,{key:0},[x(r(v.$t(`logs.loading`)),1)],64)):(c(),m(h,{key:1},[x(r(v.$t(`logs.empty`)),1)],64))])):_(``,!0)])])])]))}}),[[`__scopeId`,`data-v-bca21be9`]]),{__name:`LogsEventTable`}),Fe={class:`modal`},Ie={class:`m-title`},Le={class:`m-f`},Re=[`placeholder`],ze={class:`m-f`},Be=[`placeholder`],Ve={class:`m-grid`},$={class:`m-f`},He={value:``},Ue=[`value`],We={class:`m-f`},Ge={value:``},Ke=[`value`],qe={class:`m-f`},Je={value:``},Ye=[`value`],Xe={key:0,class:`err`},Ze={class:`m-actions`},Qe=[`disabled`],$e=Object.assign(E(s({__name:`LogsManualModal`,props:g({scope:{},posting:{type:Boolean},error:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:g([`submit`],[`update:open`]),setup(t,{emit:i}){let o=t,s=i,u=a(t,`open`),g=n({summary:``,detail:``,lineId:``,productId:``,recipeId:``}),{lines:x,productsOfLine:T,recipesOfScope:E}=N(),D=d(()=>T(o.scope.lineId)),O=d(()=>E(o.scope.lineId,o.scope.productId));f(u,e=>{e&&(g.summary=``,g.detail=``,g.lineId=o.scope.lineId,g.productId=o.scope.productId,g.recipeId=o.scope.recipeId)});function k(){u.value=!1}function A(){g.productId=``,g.recipeId=``}function j(){g.recipeId=``}function M(){s(`submit`,{...g})}return(n,i)=>(c(),v(b,{to:`body`},[u.value?(c(),m(`div`,{key:0,class:`modal-mask`,onClick:C(k,[`self`])},[p(`div`,Fe,[p(`h3`,Ie,r(n.$t(`logs.manual`)),1),p(`label`,Le,[p(`span`,null,r(n.$t(`logs.mSummary`))+` *`,1),y(p(`textarea`,{"onUpdate:modelValue":i[0]||=e=>g.summary=e,rows:`3`,placeholder:n.$t(`logs.mSummaryPh`)},null,8,Re),[[S,g.summary]])]),p(`label`,ze,[p(`span`,null,r(n.$t(`logs.mDetail`)),1),y(p(`textarea`,{"onUpdate:modelValue":i[1]||=e=>g.detail=e,rows:`2`,placeholder:n.$t(`logs.mDetailPh`)},null,8,Be),[[S,g.detail]])]),p(`div`,Ve,[p(`label`,$,[p(`span`,null,r(n.$t(`logs.fLine`)),1),y(p(`select`,{"onUpdate:modelValue":i[2]||=e=>g.lineId=e,class:`inp-sel`,onChange:A},[p(`option`,He,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(x),e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ue))),128))],544),[[w,g.lineId]])]),p(`label`,We,[p(`span`,null,r(n.$t(`logs.fProduct`)),1),y(p(`select`,{"onUpdate:modelValue":i[3]||=e=>g.productId=e,class:`inp-sel`,onChange:j},[p(`option`,Ge,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(D.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ke))),128))],544),[[w,g.productId]])]),p(`label`,qe,[i[5]||=p(`span`,null,`Recipe`,-1),y(p(`select`,{"onUpdate:modelValue":i[4]||=e=>g.recipeId=e,class:`inp-sel`},[p(`option`,Je,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(O.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ye))),128))],512),[[w,g.recipeId]])])]),t.error?(c(),m(`p`,Xe,r(t.error),1)):_(``,!0),p(`div`,Ze,[p(`button`,{class:`ghost-btn`,onClick:k},r(n.$t(`common.cancel`)),1),p(`button`,{class:`pill-btn`,disabled:t.posting||!g.summary.trim(),onClick:M},r(n.$t(`logs.mSubmit`)),9,Qe)])])])):_(``,!0)]))}}),[[`__scopeId`,`data-v-6f293889`]]),{__name:`LogsManualModal`}),et={class:`page`},tt=E(s({name:`OpsLogsPage`,setup(t){let n=O(),r=D(),a=k(),{q:s,hasFilter:l,expandedId:f,doQuery:p,resetFilters:h,toggleRow:g}=M(),{manualOpen:_,openManual:v,submitManual:y}=j({onPosted:p}),b=d(()=>({lineId:s.lineId,productId:s.productId,recipeId:s.recipeId}));return o(()=>{r.ensureConnected(),a.ensureLive(),n.load(),p()}),(t,n)=>(c(),m(`div`,et,[u(R,{"recent-count":e(a).recent.length,onManual:e(v)},null,8,[`recent-count`,`onManual`]),u(ce,{"line-id":e(s).lineId,"onUpdate:lineId":n[0]||=t=>e(s).lineId=t,"product-id":e(s).productId,"onUpdate:productId":n[1]||=t=>e(s).productId=t,"recipe-id":e(s).recipeId,"onUpdate:recipeId":n[2]||=t=>e(s).recipeId=t,"actor-kind":e(s).actorKind,"onUpdate:actorKind":n[3]||=t=>e(s).actorKind=t,kind:e(s).kind,"onUpdate:kind":n[4]||=t=>e(s).kind=t,text:e(s).text,"onUpdate:text":n[5]||=t=>e(s).text=t,"has-filter":e(l),loading:e(a).loading.list,onQuery:e(p),onReset:e(h)},null,8,[`line-id`,`product-id`,`recipe-id`,`actor-kind`,`kind`,`text`,`has-filter`,`loading`,`onQuery`,`onReset`]),u(Pe,{rows:e(a).results,"expanded-id":e(f),loading:e(a).loading.list,error:e(a).error.list,onToggle:e(g)},null,8,[`rows`,`expanded-id`,`loading`,`error`,`onToggle`]),u($e,{open:e(_),"onUpdate:open":n[6]||=e=>i(_)?_.value=e:null,scope:b.value,posting:e(a).loading.posting,error:e(a).error.post,onSubmit:e(y)},null,8,[`open`,`scope`,`posting`,`error`,`onSubmit`])]))}}),[[`__scopeId`,`data-v-41e93017`]]);export{tt as default};
1
+ import{N as e,dt as t,g as n,mt as r,u as i}from"./CavpkQb0.js";import{Q as a,R as o,S as s,V as c,W as l,b as u,d,et as f,f as p,h as m,i as h,k as g,m as _,p as v,rt as y,s as b,y as x}from"./ByMj6e7s.js";import{c as S,d as C,s as w,u as T}from"./Dqz5HiXa.js";import{t as E}from"./BDNMzG2s2.js";import{t as D}from"./DWsgRq2c.js";import{t as O}from"./DxagrjB8.js";import{t as k}from"./B1RT9NTO2.js";import{t as A}from"./DPUXbTg9.js";import{t as j}from"./BzvHUfRR.js";import{n as M,t as ee}from"./Dbe9TFc9.js";import{t as N}from"./CBDX7p73.js";var te={class:`aw-page-head`},P={class:`sub`},F={class:`head-actions`},I=[`title`],L={class:`live-txt mono`},R=Object.assign(E(s({__name:`LogsPageHead`,props:{recentCount:{}},emits:[`manual`],setup(e){return(t,n)=>(c(),m(`header`,te,[p(`div`,null,[n[1]||=p(`p`,{class:`aw-kicker`},` agentworkshop / audit log `,-1),p(`h1`,null,r(t.$t(`logs.title`)),1),p(`p`,P,r(t.$t(`logs.sub`)),1)]),p(`div`,F,[p(`span`,{class:`live-dot`,title:t.$t(`logs.liveHint`)},null,8,I),p(`span`,L,r(t.$t(`logs.live`))+` `+r(e.recentCount),1),p(`button`,{class:`pill-btn`,onClick:n[0]||=e=>t.$emit(`manual`)},[n[2]||=p(`span`,{class:`i-tabler-plus`},null,-1),x(` `+r(t.$t(`logs.manual`)),1)])])]))}}),[[`__scopeId`,`data-v-a3122ccd`]]),{__name:`LogsPageHead`}),z={class:`filter-card`},B={class:`flt`},V={value:``},H=[`value`],U={class:`flt`},W={value:``},G=[`value`],K={class:`flt`},q={value:``},J=[`value`],Y={class:`flt`},X={value:``},Z={value:`user`},Q={value:`system`},ne={class:`flt`},re={value:``},ie=[`value`],ae={class:`flt flt-grow`},oe=[`placeholder`],se=[`disabled`],ce=Object.assign(E(s({__name:`LogsFilterCard`,props:g({hasFilter:{type:Boolean},loading:{type:Boolean}},{lineId:{required:!0},lineIdModifiers:{},productId:{required:!0},productIdModifiers:{},recipeId:{required:!0},recipeIdModifiers:{},actorKind:{required:!0},actorKindModifiers:{},kind:{required:!0},kindModifiers:{},text:{required:!0},textModifiers:{}}),emits:g([`query`,`reset`],[`update:lineId`,`update:productId`,`update:recipeId`,`update:actorKind`,`update:kind`,`update:text`]),setup(t){let n=a(t,`lineId`),i=a(t,`productId`),o=a(t,`recipeId`),s=a(t,`actorKind`),u=a(t,`kind`),f=a(t,`text`),{lines:g,productsOfLine:v,recipesOfScope:b}=N(),C=d(()=>v(n.value)),E=d(()=>b(n.value,i.value));function D(){i.value=``,o.value=``}function O(){o.value=``}return(a,d)=>(c(),m(`section`,z,[p(`label`,B,[p(`span`,null,r(a.$t(`logs.fLine`)),1),y(p(`select`,{"onUpdate:modelValue":d[0]||=e=>n.value=e,class:`inp-sel`,onChange:D},[p(`option`,V,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(g),e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,H))),128))],544),[[w,n.value]])]),p(`label`,U,[p(`span`,null,r(a.$t(`logs.fProduct`)),1),y(p(`select`,{"onUpdate:modelValue":d[1]||=e=>i.value=e,class:`inp-sel`,onChange:O},[p(`option`,W,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(C.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,G))),128))],544),[[w,i.value]])]),p(`label`,K,[d[9]||=p(`span`,null,`Recipe`,-1),y(p(`select`,{"onUpdate:modelValue":d[2]||=e=>o.value=e,class:`inp-sel`},[p(`option`,q,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(E.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,J))),128))],512),[[w,o.value]])]),p(`label`,Y,[p(`span`,null,r(a.$t(`logs.fSource`)),1),y(p(`select`,{"onUpdate:modelValue":d[3]||=e=>s.value=e,class:`inp-sel`},[p(`option`,X,r(a.$t(`logs.all`)),1),p(`option`,Z,r(a.$t(`logs.src.user`)),1),d[10]||=p(`option`,{value:`agent`},` Agent `,-1),p(`option`,Q,r(a.$t(`logs.src.system`)),1)],512),[[w,s.value]])]),p(`label`,ne,[p(`span`,null,r(a.$t(`logs.fKind`)),1),y(p(`select`,{"onUpdate:modelValue":d[4]||=e=>u.value=e,class:`inp-sel`},[p(`option`,re,r(a.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(ee),e=>(c(),m(`option`,{key:e,value:e},r(a.$t(`logs.kind.${e}`)),9,ie))),128))],512),[[w,u.value]])]),p(`label`,ae,[p(`span`,null,r(a.$t(`logs.fKeyword`)),1),y(p(`input`,{"onUpdate:modelValue":d[5]||=e=>f.value=e,class:`inp-sel`,type:`search`,placeholder:a.$t(`logs.fKeywordPh`),onKeydown:d[6]||=T(e=>a.$emit(`query`),[`enter`])},null,40,oe),[[S,f.value]])]),p(`button`,{class:`pill-btn`,disabled:t.loading,onClick:d[7]||=e=>a.$emit(`query`)},[d[11]||=p(`span`,{class:`i-tabler-search`},null,-1),x(` `+r(a.$t(`logs.query`)),1)],8,se),t.hasFilter?(c(),m(`button`,{key:0,class:`mini-btn`,onClick:d[8]||=e=>a.$emit(`reset`)},r(a.$t(`logs.reset`)),1)):_(``,!0)]))}}),[[`__scopeId`,`data-v-4ba5c3b6`]]),{__name:`LogsFilterCard`}),le={class:`table-card`},ue={key:0,class:`err`},de={class:`log-table`},fe={class:`th-time`},pe={class:`th-src`},me={class:`th-kind`},he={class:`th-scope`},ge={class:`th-detail`},_e={class:`mono dim`},ve={class:`actor`},ye={class:`summary`},be={class:`mono dim action`},xe={class:`scope`},Se=[`title`],Ce=[`title`],we={key:2,class:`scope-chip`,title:`Recipe`},Te={key:3,class:`dim`},Ee={class:`detail-cell`},De=[`onClick`],Oe={key:1,class:`dim`},ke={key:0,class:`log-detail-row`},Ae={colspan:`7`,class:`detail-td`},je={class:`detail-box mono`},Me={class:`log-empty-row`},Ne={key:0,colspan:`7`,class:`empty`},Pe=Object.assign(E(s({__name:`LogsEventTable`,props:{rows:{},expandedId:{},loading:{type:Boolean},error:{}},emits:[`toggle`],setup(n){let{hasDetail:i,pretty:a,fmtTime:o,srcLabel:s,kindLabel:u}=A(),{lineName:d,productName:f,recipeName:g}=N();return(v,y)=>(c(),m(`section`,le,[n.error?(c(),m(`p`,ue,r(n.error),1)):_(``,!0),p(`table`,de,[p(`thead`,null,[p(`tr`,null,[p(`th`,fe,r(v.$t(`logs.thTime`)),1),p(`th`,pe,r(v.$t(`logs.fSource`)),1),p(`th`,null,r(v.$t(`logs.thActor`)),1),p(`th`,me,r(v.$t(`logs.fKind`)),1),p(`th`,null,r(v.$t(`logs.thSummary`)),1),p(`th`,he,r(v.$t(`logs.thScope`)),1),p(`th`,ge,r(v.$t(`logs.thDetail`)),1)])]),p(`tbody`,null,[(c(!0),m(h,null,l(n.rows,l=>(c(),m(h,{key:l.id},[p(`tr`,null,[p(`td`,_e,r(e(o)(l.at)),1),p(`td`,null,[p(`span`,{class:t([`src-badge`,l.actorKind])},r(e(s)(l.actorKind)),3)]),p(`td`,ve,r(l.actorName||l.actor||`—`),1),p(`td`,null,[p(`span`,{class:t([`kind-chip`,l.kind])},r(e(u)(l.kind)),3)]),p(`td`,ye,[x(r(l.summary)+` `,1),p(`small`,be,r(l.action),1)]),p(`td`,xe,[e(d)(l.lineId)?(c(),m(`span`,{key:0,class:`scope-chip`,title:v.$t(`logs.fLine`)},r(e(d)(l.lineId)),9,Se)):_(``,!0),e(f)(l.productId)?(c(),m(`span`,{key:1,class:`scope-chip`,title:v.$t(`logs.fProduct`)},r(e(f)(l.productId)),9,Ce)):_(``,!0),e(g)(l.recipeId)?(c(),m(`span`,we,r(e(g)(l.recipeId)),1)):_(``,!0),!l.lineId&&!l.productId&&!l.recipeId?(c(),m(`span`,Te,`—`)):_(``,!0)]),p(`td`,Ee,[e(i)(l)?(c(),m(`button`,{key:0,class:`mini-btn`,onClick:e=>v.$emit(`toggle`,l)},r(n.expandedId===l.id?v.$t(`logs.fold`):v.$t(`logs.expand`)),9,De)):(c(),m(`span`,Oe,r(v.$t(`logs.noDetail`)),1))])]),n.expandedId===l.id?(c(),m(`tr`,ke,[p(`td`,Ae,[p(`pre`,je,r(e(a)(l.detailJson)),1)])])):_(``,!0)],64))),128)),p(`tr`,Me,[n.rows.length===0?(c(),m(`td`,Ne,[n.loading?(c(),m(h,{key:0},[x(r(v.$t(`logs.loading`)),1)],64)):(c(),m(h,{key:1},[x(r(v.$t(`logs.empty`)),1)],64))])):_(``,!0)])])])]))}}),[[`__scopeId`,`data-v-bca21be9`]]),{__name:`LogsEventTable`}),Fe={class:`modal`},Ie={class:`m-title`},Le={class:`m-f`},Re=[`placeholder`],ze={class:`m-f`},Be=[`placeholder`],Ve={class:`m-grid`},$={class:`m-f`},He={value:``},Ue=[`value`],We={class:`m-f`},Ge={value:``},Ke=[`value`],qe={class:`m-f`},Je={value:``},Ye=[`value`],Xe={key:0,class:`err`},Ze={class:`m-actions`},Qe=[`disabled`],$e=Object.assign(E(s({__name:`LogsManualModal`,props:g({scope:{},posting:{type:Boolean},error:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:g([`submit`],[`update:open`]),setup(t,{emit:i}){let o=t,s=i,u=a(t,`open`),g=n({summary:``,detail:``,lineId:``,productId:``,recipeId:``}),{lines:x,productsOfLine:T,recipesOfScope:E}=N(),D=d(()=>T(o.scope.lineId)),O=d(()=>E(o.scope.lineId,o.scope.productId));f(u,e=>{e&&(g.summary=``,g.detail=``,g.lineId=o.scope.lineId,g.productId=o.scope.productId,g.recipeId=o.scope.recipeId)});function k(){u.value=!1}function A(){g.productId=``,g.recipeId=``}function j(){g.recipeId=``}function M(){s(`submit`,{...g})}return(n,i)=>(c(),v(b,{to:`body`},[u.value?(c(),m(`div`,{key:0,class:`modal-mask`,onClick:C(k,[`self`])},[p(`div`,Fe,[p(`h3`,Ie,r(n.$t(`logs.manual`)),1),p(`label`,Le,[p(`span`,null,r(n.$t(`logs.mSummary`))+` *`,1),y(p(`textarea`,{"onUpdate:modelValue":i[0]||=e=>g.summary=e,rows:`3`,placeholder:n.$t(`logs.mSummaryPh`)},null,8,Re),[[S,g.summary]])]),p(`label`,ze,[p(`span`,null,r(n.$t(`logs.mDetail`)),1),y(p(`textarea`,{"onUpdate:modelValue":i[1]||=e=>g.detail=e,rows:`2`,placeholder:n.$t(`logs.mDetailPh`)},null,8,Be),[[S,g.detail]])]),p(`div`,Ve,[p(`label`,$,[p(`span`,null,r(n.$t(`logs.fLine`)),1),y(p(`select`,{"onUpdate:modelValue":i[2]||=e=>g.lineId=e,class:`inp-sel`,onChange:A},[p(`option`,He,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(e(x),e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ue))),128))],544),[[w,g.lineId]])]),p(`label`,We,[p(`span`,null,r(n.$t(`logs.fProduct`)),1),y(p(`select`,{"onUpdate:modelValue":i[3]||=e=>g.productId=e,class:`inp-sel`,onChange:j},[p(`option`,Ge,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(D.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ke))),128))],544),[[w,g.productId]])]),p(`label`,qe,[i[5]||=p(`span`,null,`Recipe`,-1),y(p(`select`,{"onUpdate:modelValue":i[4]||=e=>g.recipeId=e,class:`inp-sel`},[p(`option`,Je,r(n.$t(`logs.all`)),1),(c(!0),m(h,null,l(O.value,e=>(c(),m(`option`,{key:e.id,value:e.id},r(e.name),9,Ye))),128))],512),[[w,g.recipeId]])])]),t.error?(c(),m(`p`,Xe,r(t.error),1)):_(``,!0),p(`div`,Ze,[p(`button`,{class:`ghost-btn`,onClick:k},r(n.$t(`common.cancel`)),1),p(`button`,{class:`pill-btn`,disabled:t.posting||!g.summary.trim(),onClick:M},r(n.$t(`logs.mSubmit`)),9,Qe)])])])):_(``,!0)]))}}),[[`__scopeId`,`data-v-6f293889`]]),{__name:`LogsManualModal`}),et={class:`page`},tt=E(s({name:`OpsLogsPage`,setup(t){let n=O(),r=D(),a=k(),{q:s,hasFilter:l,expandedId:f,doQuery:p,resetFilters:h,toggleRow:g}=M(),{manualOpen:_,openManual:v,submitManual:y}=j({onPosted:p}),b=d(()=>({lineId:s.lineId,productId:s.productId,recipeId:s.recipeId}));return o(()=>{r.ensureConnected(),a.ensureLive(),n.load(),p()}),(t,n)=>(c(),m(`div`,et,[u(R,{"recent-count":e(a).recent.length,onManual:e(v)},null,8,[`recent-count`,`onManual`]),u(ce,{"line-id":e(s).lineId,"onUpdate:lineId":n[0]||=t=>e(s).lineId=t,"product-id":e(s).productId,"onUpdate:productId":n[1]||=t=>e(s).productId=t,"recipe-id":e(s).recipeId,"onUpdate:recipeId":n[2]||=t=>e(s).recipeId=t,"actor-kind":e(s).actorKind,"onUpdate:actorKind":n[3]||=t=>e(s).actorKind=t,kind:e(s).kind,"onUpdate:kind":n[4]||=t=>e(s).kind=t,text:e(s).text,"onUpdate:text":n[5]||=t=>e(s).text=t,"has-filter":e(l),loading:e(a).loading.list,onQuery:e(p),onReset:e(h)},null,8,[`line-id`,`product-id`,`recipe-id`,`actor-kind`,`kind`,`text`,`has-filter`,`loading`,`onQuery`,`onReset`]),u(Pe,{rows:e(a).results,"expanded-id":e(f),loading:e(a).loading.list,error:e(a).error.list,onToggle:e(g)},null,8,[`rows`,`expanded-id`,`loading`,`error`,`onToggle`]),u($e,{open:e(_),"onUpdate:open":n[6]||=e=>i(_)?_.value=e:null,scope:b.value,posting:e(a).loading.posting,error:e(a).error.post,onSubmit:e(y)},null,8,[`open`,`scope`,`posting`,`error`,`onSubmit`])]))}}),[[`__scopeId`,`data-v-41e93017`]]);export{tt as default};
@@ -1 +1 @@
1
- import{N as e,dt as t,mt as n,u as r}from"./CavpkQb0.js";import{Q as i,S as a,V as o,W as s,b as c,f as l,h as u,i as d,k as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as _,u as v}from"./Dqz5HiXa.js";import{d as y}from"./Br3AySNQ.js";import{n as b}from"./DkpmSnHX.js";import{n as x}from"./Cnrmlixo.js";import{c as S,n as C}from"./wDPc4SSR.js";import{n as w,t as T}from"./CAaSPBqk.js";import{n as E,t as D}from"./B_9_BM9G.js";import{t as O}from"./CzlUIbK32.js";import{t as k}from"./CPeZNE4S2.js";import{t as A}from"./DzBbYWrw2.js";import{t as j}from"./BDNMzG2s2.js";import{t as M}from"./CNs_Ozdc.js";import{t as N}from"./I1cI6sPJ2.js";import{t as P}from"./BXx9AxdF2.js";var F={class:`auth-gate aw-orbs`},I={class:`sub`},L={class:`hint`},R={class:`hint`},z=Object.assign(j(a({__name:`AuthGate`,props:f({loading:{type:Boolean},needsSetup:{type:Boolean}},{activeTab:{required:!0},activeTabModifiers:{},name:{required:!0},nameModifiers:{},email:{required:!0},emailModifiers:{},password:{required:!0},passwordModifiers:{},tokenInput:{required:!0},tokenInputModifiers:{}}),emits:f([`register`,`login`,`loginWithToken`],[`update:activeTab`,`update:name`,`update:email`,`update:password`,`update:tokenInput`]),setup(e,{emit:t}){let r=t,a=i(e,`activeTab`),s=i(e,`name`),d=i(e,`email`),f=i(e,`password`),_=i(e,`tokenInput`),y=e=>{a.value=e};return(t,i)=>{let b=T,x=w,C=S,A=k,j=E,M=D,N=O;return o(),u(`div`,F,[c(N,{class:`auth-card`},{default:m(()=>[i[13]||=l(`p`,{class:`aw-kicker`},` agentworkshop / sign in `,-1),l(`h2`,null,n(e.needsSetup?t.$t(`wsHome.setupTitle`):t.$t(`wsHome.kr0vzqu008`)),1),l(`p`,I,n(e.needsSetup?t.$t(`wsHome.setupSub`):t.$t(`wsHome.normalSub`)),1),c(M,{"active-key":a.value,"onUpdate:activeKey":y},{default:m(()=>[e.needsSetup?p(``,!0):(o(),h(j,{key:`login`,tab:t.$t(`wsHome.tabLogin`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(b,{value:d.value,"onUpdate:value":i[0]||=e=>d.value=e,type:`email`,placeholder:t.$t(`wsHome.k48h2c001`),onKeydown:i[1]||=v(e=>r(`login`),[`enter`])},null,8,[`value`,`placeholder`]),c(x,{value:f.value,"onUpdate:value":i[2]||=e=>f.value=e,placeholder:t.$t(`wsHome.k3yvgs002`),onKeydown:i[3]||=v(e=>r(`login`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[4]||=e=>r(`login`)},{default:m(()=>[g(n(t.$t(`wsHome.k43kol009`)),1)]),_:1},8,[`loading`]),l(`p`,L,n(t.$t(`wsHome.k17x74cj010`)),1)]),_:1})]),_:1},8,[`tab`])),c(j,{key:`register`,tab:e.needsSetup?t.$t(`wsHome.tabRegAdmin`):t.$t(`wsHome.tabRegUser`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(b,{value:s.value,"onUpdate:value":i[5]||=e=>s.value=e,placeholder:t.$t(`wsHome.kwgbai9003`)},null,8,[`value`,`placeholder`]),c(b,{value:d.value,"onUpdate:value":i[6]||=e=>d.value=e,type:`email`,placeholder:t.$t(`wsHome.kizjkbo004`)},null,8,[`value`,`placeholder`]),c(x,{value:f.value,"onUpdate:value":i[7]||=e=>f.value=e,placeholder:t.$t(`wsHome.kh3cqfn005`),onKeydown:i[8]||=v(e=>r(`register`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[9]||=e=>r(`register`)},{default:m(()=>[g(n(e.needsSetup?t.$t(`wsHome.setupCta`):t.$t(`wsHome.k1so6a0v011`)),1)]),_:1},8,[`loading`]),l(`p`,R,n(t.$t(`wsHome.k1r0a4u3012`)),1)]),_:1})]),_:1},8,[`tab`]),e.needsSetup?p(``,!0):(o(),h(j,{key:`token`,tab:t.$t(`wsHome.tabToken`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(x,{value:_.value,"onUpdate:value":i[10]||=e=>_.value=e,placeholder:t.$t(`wsHome.k15qunld006`),onKeydown:i[11]||=v(e=>r(`loginWithToken`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[12]||=e=>r(`loginWithToken`)},{default:m(()=>[g(n(t.$t(`wsHome.k43kol009`)),1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`tab`]))]),_:1},8,[`active-key`])]),_:1})])}}}),[[`__scopeId`,`data-v-d865d89f`]]),{__name:`WorkshopWorkbenchAuthGate`}),ee=Object.assign(a({__name:`CreateWorkspaceModal`,props:f({loading:{type:Boolean}},{open:{type:Boolean,required:!0},openModifiers:{},name:{required:!0},nameModifiers:{}}),emits:f([`ok`],[`update:open`,`update:name`]),setup(e,{emit:t}){let n=t,r=i(e,`open`),a=i(e,`name`);return(t,i)=>{let s=T,l=C;return o(),h(l,{open:r.value,"onUpdate:open":i[2]||=e=>r.value=e,title:t.$t(`wsHome.newWs`),"confirm-loading":e.loading,"ok-text":t.$t(`wsHome.createEnterOk`),"cancel-text":t.$t(`common.cancel`),onOk:i[3]||=e=>n(`ok`)},{default:m(()=>[c(s,{value:a.value,"onUpdate:value":i[0]||=e=>a.value=e,placeholder:t.$t(`wsHome.ksmpk8l007`),onKeydown:i[1]||=v(e=>n(`ok`),[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`])}}}),{__name:`WorkshopWorkbenchCreateWorkspaceModal`}),B={class:`aw-page-head`},V={class:`sub`},H={class:`head-acts`},U={class:`lib-links`},W=Object.assign(j(a({__name:`WorkbenchHead`,props:{userName:{}},emits:[`logout`,`newWorkspace`],setup(t,{emit:r}){let i=r;return(r,a)=>(o(),u(`div`,B,[l(`div`,null,[a[7]||=l(`p`,{class:`aw-kicker`},` workshop / overview `,-1),l(`h1`,null,`Workshop `+n(r.$t(`wsHome.k3n4m5c025`)),1),l(`p`,V,n(t.userName)+` `+n(r.$t(`wsHome.ke16e53026`)),1)]),l(`div`,H,[l(`div`,U,[l(`button`,{type:`button`,class:`lib-link`,onClick:a[0]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/agents`)},n(r.$t(`wsHome.k3pa5h4013`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[1]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/teams`)},n(r.$t(`wsHome.k3svl8y014`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[2]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/channel-templates`)},` Channel `+n(r.$t(`wsHome.k41ds5027`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[3]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/schedules`)},n(r.$t(`titles.schedules`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[4]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/tokens`)},` API Token `),l(`button`,{type:`button`,class:`lib-link`,onClick:a[5]||=e=>i(`logout`)},n(r.$t(`wsHome.k484e7015`)),1)]),l(`button`,{class:`aw-pill im`,onClick:a[6]||=e=>i(`newWorkspace`)},[a[8]||=l(`span`,{class:`i-tabler-plus im-pop`},null,-1),g(` `+n(r.$t(`wsHome.newWs`)),1)])])]))}}),[[`__scopeId`,`data-v-3d87eadd`]]),{__name:`WorkshopWorkbenchHead`}),G={class:`card`},K={class:`card-head`},q={class:`name`},J={class:`card-body`},Y={class:`ch-name`},X={class:`ch-meta`},Z={key:0,class:`empty`},Q={class:`card-foot`},te=[`title`],$=Object.assign(j(a({__name:`WorkspaceCard`,props:{workspace:{},channels:{}},emits:[`open`,`remove`],setup(e,{emit:r}){let i=r;return(r,a)=>(o(),u(`div`,G,[l(`div`,K,[a[3]||=l(`span`,{class:`card-mark`},[l(`span`,{class:`i-tabler-box`})],-1),l(`span`,q,n(e.workspace.name),1)]),l(`div`,J,[(o(!0),u(d,null,s(e.channels,s=>(o(),u(`div`,{key:s.id,class:`ch-row`,onClick:a[0]||=t=>i(`open`,e.workspace.id)},[l(`span`,{class:t([`dot`,{live:s.activeTasks>0}])},null,2),l(`span`,Y,n(s.name),1),l(`span`,X,[s.synced?(o(),u(d,{key:0},[g(n(s.agents)+` `+n(r.$t(`wsHome.k1ggoa45028`))+` `+n(s.busy)+` / `+n(r.$t(`wsHome.k3wcox029`))+` `+n(s.activeTasks),1)],64)):(o(),u(d,{key:1},[g(n(r.$t(`wsHome.k1bst7s9016`)),1)],64))])]))),128)),e.workspace.channelIds.length===0?(o(),u(`div`,Z,n(r.$t(`wsHome.k1ylgrbc017`)),1)):p(``,!0)]),l(`div`,Q,[l(`button`,{class:`aw-pill outline im`,onClick:a[1]||=t=>i(`open`,e.workspace.id)},[a[4]||=l(`span`,{class:`i-tabler-arrow-right im-pop`},null,-1),g(` `+n(r.$t(`wsHome.kr1uwwi018`)),1)]),l(`button`,{class:`aw-ghost im`,title:r.$t(`wsHome.delWs`),onClick:a[2]||=_(t=>i(`remove`,e.workspace.id),[`stop`])},[...a[5]||=[l(`span`,{class:`i-tabler-trash im-shake`},null,-1)]],8,te)])]))}}),[[`__scopeId`,`data-v-9ddc0bdd`]]),{__name:`WorkshopWorkbenchWorkspaceCard`}),ne={class:`aw-empty-title`},re={class:`aw-empty-sub`},ie={class:`pill-btn ws-empty-cta`},ae=Object.assign(j(a({__name:`WorkspaceEmpty`,emits:[`create`],setup(e,{emit:t}){let r=t;return(e,t)=>(o(),u(`button`,{class:`ws-empty`,onClick:t[0]||=e=>r(`create`)},[t[2]||=l(`span`,{class:`i-tabler-layout-2 ws-empty-ico`},null,-1),l(`span`,ne,n(e.$t(`wsHome.emptyTitle`)),1),l(`span`,re,n(e.$t(`wsHome.emptySub`)),1),l(`span`,ie,[t[1]||=l(`span`,{class:`i-tabler-plus`},null,-1),g(` `+n(e.$t(`wsHome.emptyCta`)),1)])]))}}),[[`__scopeId`,`data-v-2cf5663d`]]),{__name:`WorkshopWorkbenchWorkspaceEmpty`}),oe={class:`page`},se={class:`grid`},ce=j(a({__name:`index`,setup(t){let{t:n}=x();M({layout:`default`});let{userStore:i,authTab:a,authName:f,authEmail:g,authPassword:_,authTokenInput:v,authLoading:S,needsSetup:C,doRegister:w,doLogin:T,doLoginWithToken:E,doLogout:D}=N(),{wsStore:O,ready:k,createOpen:j,createName:F,createLoading:I,create:L,remove:R,channelSummary:B}=P(),V=e=>{y(`/workshop/w/${e}`)};return b({title:()=>n(`titles.workshop`)}),(t,n)=>{let y=A;return o(),u(`div`,oe,[e(i).isLoggedIn?(o(),u(d,{key:1},[c(W,{"user-name":e(i).user?.name,onLogout:e(D),onNewWorkspace:n[5]||=e=>j.value=!0},null,8,[`user-name`,`onLogout`]),c(y,{spinning:!e(k)},{default:m(()=>[l(`div`,se,[(o(!0),u(d,null,s(e(O).workspaces,t=>(o(),h($,{key:t.id,workspace:t,channels:e(B)(t.channelIds),onOpen:V,onRemove:e(R)},null,8,[`workspace`,`channels`,`onRemove`]))),128)),e(O).workspaces.length===0&&e(k)?(o(),h(ae,{key:0,onCreate:n[6]||=e=>j.value=!0})):p(``,!0)])]),_:1},8,[`spinning`]),c(ee,{open:e(j),"onUpdate:open":n[7]||=e=>r(j)?j.value=e:null,name:e(F),"onUpdate:name":n[8]||=e=>r(F)?F.value=e:null,loading:e(I),onOk:e(L)},null,8,[`open`,`name`,`loading`,`onOk`])],64)):(o(),h(z,{key:0,"active-tab":e(a),"onUpdate:activeTab":n[0]||=e=>r(a)?a.value=e:null,name:e(f),"onUpdate:name":n[1]||=e=>r(f)?f.value=e:null,email:e(g),"onUpdate:email":n[2]||=e=>r(g)?g.value=e:null,password:e(_),"onUpdate:password":n[3]||=e=>r(_)?_.value=e:null,"token-input":e(v),"onUpdate:tokenInput":n[4]||=e=>r(v)?v.value=e:null,loading:e(S),"needs-setup":e(C),onRegister:e(w),onLogin:e(T),onLoginWithToken:e(E)},null,8,[`active-tab`,`name`,`email`,`password`,`token-input`,`loading`,`needs-setup`,`onRegister`,`onLogin`,`onLoginWithToken`]))])}}}),[[`__scopeId`,`data-v-9064698b`]]);export{ce as default};
1
+ import{N as e,dt as t,mt as n,u as r}from"./CavpkQb0.js";import{Q as i,S as a,V as o,W as s,b as c,f as l,h as u,i as d,k as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as _,u as v}from"./Dqz5HiXa.js";import{d as y}from"./Br3AySNQ.js";import{n as b}from"./DkpmSnHX.js";import{n as x}from"./Cnrmlixo.js";import{c as S,n as C}from"./wDPc4SSR.js";import{n as w,t as T}from"./CAaSPBqk.js";import{n as E,t as D}from"./B_9_BM9G.js";import{t as O}from"./CzlUIbK32.js";import{t as k}from"./CPeZNE4S2.js";import{t as A}from"./DzBbYWrw2.js";import{t as j}from"./BDNMzG2s2.js";import{t as M}from"./CNs_Ozdc.js";import{t as N}from"./I1cI6sPJ2.js";import{t as P}from"./DSqMyLCV2.js";var F={class:`auth-gate aw-orbs`},I={class:`sub`},L={class:`hint`},R={class:`hint`},z=Object.assign(j(a({__name:`AuthGate`,props:f({loading:{type:Boolean},needsSetup:{type:Boolean}},{activeTab:{required:!0},activeTabModifiers:{},name:{required:!0},nameModifiers:{},email:{required:!0},emailModifiers:{},password:{required:!0},passwordModifiers:{},tokenInput:{required:!0},tokenInputModifiers:{}}),emits:f([`register`,`login`,`loginWithToken`],[`update:activeTab`,`update:name`,`update:email`,`update:password`,`update:tokenInput`]),setup(e,{emit:t}){let r=t,a=i(e,`activeTab`),s=i(e,`name`),d=i(e,`email`),f=i(e,`password`),_=i(e,`tokenInput`),y=e=>{a.value=e};return(t,i)=>{let b=T,x=w,C=S,A=k,j=E,M=D,N=O;return o(),u(`div`,F,[c(N,{class:`auth-card`},{default:m(()=>[i[13]||=l(`p`,{class:`aw-kicker`},` agentworkshop / sign in `,-1),l(`h2`,null,n(e.needsSetup?t.$t(`wsHome.setupTitle`):t.$t(`wsHome.kr0vzqu008`)),1),l(`p`,I,n(e.needsSetup?t.$t(`wsHome.setupSub`):t.$t(`wsHome.normalSub`)),1),c(M,{"active-key":a.value,"onUpdate:activeKey":y},{default:m(()=>[e.needsSetup?p(``,!0):(o(),h(j,{key:`login`,tab:t.$t(`wsHome.tabLogin`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(b,{value:d.value,"onUpdate:value":i[0]||=e=>d.value=e,type:`email`,placeholder:t.$t(`wsHome.k48h2c001`),onKeydown:i[1]||=v(e=>r(`login`),[`enter`])},null,8,[`value`,`placeholder`]),c(x,{value:f.value,"onUpdate:value":i[2]||=e=>f.value=e,placeholder:t.$t(`wsHome.k3yvgs002`),onKeydown:i[3]||=v(e=>r(`login`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[4]||=e=>r(`login`)},{default:m(()=>[g(n(t.$t(`wsHome.k43kol009`)),1)]),_:1},8,[`loading`]),l(`p`,L,n(t.$t(`wsHome.k17x74cj010`)),1)]),_:1})]),_:1},8,[`tab`])),c(j,{key:`register`,tab:e.needsSetup?t.$t(`wsHome.tabRegAdmin`):t.$t(`wsHome.tabRegUser`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(b,{value:s.value,"onUpdate:value":i[5]||=e=>s.value=e,placeholder:t.$t(`wsHome.kwgbai9003`)},null,8,[`value`,`placeholder`]),c(b,{value:d.value,"onUpdate:value":i[6]||=e=>d.value=e,type:`email`,placeholder:t.$t(`wsHome.kizjkbo004`)},null,8,[`value`,`placeholder`]),c(x,{value:f.value,"onUpdate:value":i[7]||=e=>f.value=e,placeholder:t.$t(`wsHome.kh3cqfn005`),onKeydown:i[8]||=v(e=>r(`register`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[9]||=e=>r(`register`)},{default:m(()=>[g(n(e.needsSetup?t.$t(`wsHome.setupCta`):t.$t(`wsHome.k1so6a0v011`)),1)]),_:1},8,[`loading`]),l(`p`,R,n(t.$t(`wsHome.k1r0a4u3012`)),1)]),_:1})]),_:1},8,[`tab`]),e.needsSetup?p(``,!0):(o(),h(j,{key:`token`,tab:t.$t(`wsHome.tabToken`)},{default:m(()=>[c(A,{direction:`vertical`,style:{width:`100%`}},{default:m(()=>[c(x,{value:_.value,"onUpdate:value":i[10]||=e=>_.value=e,placeholder:t.$t(`wsHome.k15qunld006`),onKeydown:i[11]||=v(e=>r(`loginWithToken`),[`enter`])},null,8,[`value`,`placeholder`]),c(C,{type:`primary`,block:``,loading:e.loading,onClick:i[12]||=e=>r(`loginWithToken`)},{default:m(()=>[g(n(t.$t(`wsHome.k43kol009`)),1)]),_:1},8,[`loading`])]),_:1})]),_:1},8,[`tab`]))]),_:1},8,[`active-key`])]),_:1})])}}}),[[`__scopeId`,`data-v-d865d89f`]]),{__name:`WorkshopWorkbenchAuthGate`}),ee=Object.assign(a({__name:`CreateWorkspaceModal`,props:f({loading:{type:Boolean}},{open:{type:Boolean,required:!0},openModifiers:{},name:{required:!0},nameModifiers:{}}),emits:f([`ok`],[`update:open`,`update:name`]),setup(e,{emit:t}){let n=t,r=i(e,`open`),a=i(e,`name`);return(t,i)=>{let s=T,l=C;return o(),h(l,{open:r.value,"onUpdate:open":i[2]||=e=>r.value=e,title:t.$t(`wsHome.newWs`),"confirm-loading":e.loading,"ok-text":t.$t(`wsHome.createEnterOk`),"cancel-text":t.$t(`common.cancel`),onOk:i[3]||=e=>n(`ok`)},{default:m(()=>[c(s,{value:a.value,"onUpdate:value":i[0]||=e=>a.value=e,placeholder:t.$t(`wsHome.ksmpk8l007`),onKeydown:i[1]||=v(e=>n(`ok`),[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`])}}}),{__name:`WorkshopWorkbenchCreateWorkspaceModal`}),B={class:`aw-page-head`},V={class:`sub`},H={class:`head-acts`},U={class:`lib-links`},W=Object.assign(j(a({__name:`WorkbenchHead`,props:{userName:{}},emits:[`logout`,`newWorkspace`],setup(t,{emit:r}){let i=r;return(r,a)=>(o(),u(`div`,B,[l(`div`,null,[a[7]||=l(`p`,{class:`aw-kicker`},` workshop / overview `,-1),l(`h1`,null,`Workshop `+n(r.$t(`wsHome.k3n4m5c025`)),1),l(`p`,V,n(t.userName)+` `+n(r.$t(`wsHome.ke16e53026`)),1)]),l(`div`,H,[l(`div`,U,[l(`button`,{type:`button`,class:`lib-link`,onClick:a[0]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/agents`)},n(r.$t(`wsHome.k3pa5h4013`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[1]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/teams`)},n(r.$t(`wsHome.k3svl8y014`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[2]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/channel-templates`)},` Channel `+n(r.$t(`wsHome.k41ds5027`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[3]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/workshop/schedules`)},n(r.$t(`titles.schedules`)),1),l(`button`,{type:`button`,class:`lib-link`,onClick:a[4]||=t=>(`navigateTo`in r?r.navigateTo:e(y))(`/tokens`)},` API Token `),l(`button`,{type:`button`,class:`lib-link`,onClick:a[5]||=e=>i(`logout`)},n(r.$t(`wsHome.k484e7015`)),1)]),l(`button`,{class:`aw-pill im`,onClick:a[6]||=e=>i(`newWorkspace`)},[a[8]||=l(`span`,{class:`i-tabler-plus im-pop`},null,-1),g(` `+n(r.$t(`wsHome.newWs`)),1)])])]))}}),[[`__scopeId`,`data-v-3d87eadd`]]),{__name:`WorkshopWorkbenchHead`}),G={class:`card`},K={class:`card-head`},q={class:`name`},J={class:`card-body`},Y={class:`ch-name`},X={class:`ch-meta`},Z={key:0,class:`empty`},Q={class:`card-foot`},te=[`title`],$=Object.assign(j(a({__name:`WorkspaceCard`,props:{workspace:{},channels:{}},emits:[`open`,`remove`],setup(e,{emit:r}){let i=r;return(r,a)=>(o(),u(`div`,G,[l(`div`,K,[a[3]||=l(`span`,{class:`card-mark`},[l(`span`,{class:`i-tabler-box`})],-1),l(`span`,q,n(e.workspace.name),1)]),l(`div`,J,[(o(!0),u(d,null,s(e.channels,s=>(o(),u(`div`,{key:s.id,class:`ch-row`,onClick:a[0]||=t=>i(`open`,e.workspace.id)},[l(`span`,{class:t([`dot`,{live:s.activeTasks>0}])},null,2),l(`span`,Y,n(s.name),1),l(`span`,X,[s.synced?(o(),u(d,{key:0},[g(n(s.agents)+` `+n(r.$t(`wsHome.k1ggoa45028`))+` `+n(s.busy)+` / `+n(r.$t(`wsHome.k3wcox029`))+` `+n(s.activeTasks),1)],64)):(o(),u(d,{key:1},[g(n(r.$t(`wsHome.k1bst7s9016`)),1)],64))])]))),128)),e.workspace.channelIds.length===0?(o(),u(`div`,Z,n(r.$t(`wsHome.k1ylgrbc017`)),1)):p(``,!0)]),l(`div`,Q,[l(`button`,{class:`aw-pill outline im`,onClick:a[1]||=t=>i(`open`,e.workspace.id)},[a[4]||=l(`span`,{class:`i-tabler-arrow-right im-pop`},null,-1),g(` `+n(r.$t(`wsHome.kr1uwwi018`)),1)]),l(`button`,{class:`aw-ghost im`,title:r.$t(`wsHome.delWs`),onClick:a[2]||=_(t=>i(`remove`,e.workspace.id),[`stop`])},[...a[5]||=[l(`span`,{class:`i-tabler-trash im-shake`},null,-1)]],8,te)])]))}}),[[`__scopeId`,`data-v-9ddc0bdd`]]),{__name:`WorkshopWorkbenchWorkspaceCard`}),ne={class:`aw-empty-title`},re={class:`aw-empty-sub`},ie={class:`pill-btn ws-empty-cta`},ae=Object.assign(j(a({__name:`WorkspaceEmpty`,emits:[`create`],setup(e,{emit:t}){let r=t;return(e,t)=>(o(),u(`button`,{class:`ws-empty`,onClick:t[0]||=e=>r(`create`)},[t[2]||=l(`span`,{class:`i-tabler-layout-2 ws-empty-ico`},null,-1),l(`span`,ne,n(e.$t(`wsHome.emptyTitle`)),1),l(`span`,re,n(e.$t(`wsHome.emptySub`)),1),l(`span`,ie,[t[1]||=l(`span`,{class:`i-tabler-plus`},null,-1),g(` `+n(e.$t(`wsHome.emptyCta`)),1)])]))}}),[[`__scopeId`,`data-v-2cf5663d`]]),{__name:`WorkshopWorkbenchWorkspaceEmpty`}),oe={class:`page`},se={class:`grid`},ce=j(a({__name:`index`,setup(t){let{t:n}=x();M({layout:`default`});let{userStore:i,authTab:a,authName:f,authEmail:g,authPassword:_,authTokenInput:v,authLoading:S,needsSetup:C,doRegister:w,doLogin:T,doLoginWithToken:E,doLogout:D}=N(),{wsStore:O,ready:k,createOpen:j,createName:F,createLoading:I,create:L,remove:R,channelSummary:B}=P(),V=e=>{y(`/workshop/w/${e}`)};return b({title:()=>n(`titles.workshop`)}),(t,n)=>{let y=A;return o(),u(`div`,oe,[e(i).isLoggedIn?(o(),u(d,{key:1},[c(W,{"user-name":e(i).user?.name,onLogout:e(D),onNewWorkspace:n[5]||=e=>j.value=!0},null,8,[`user-name`,`onLogout`]),c(y,{spinning:!e(k)},{default:m(()=>[l(`div`,se,[(o(!0),u(d,null,s(e(O).workspaces,t=>(o(),h($,{key:t.id,workspace:t,channels:e(B)(t.channelIds),onOpen:V,onRemove:e(R)},null,8,[`workspace`,`channels`,`onRemove`]))),128)),e(O).workspaces.length===0&&e(k)?(o(),h(ae,{key:0,onCreate:n[6]||=e=>j.value=!0})):p(``,!0)])]),_:1},8,[`spinning`]),c(ee,{open:e(j),"onUpdate:open":n[7]||=e=>r(j)?j.value=e:null,name:e(F),"onUpdate:name":n[8]||=e=>r(F)?F.value=e:null,loading:e(I),onOk:e(L)},null,8,[`open`,`name`,`loading`,`onOk`])],64)):(o(),h(z,{key:0,"active-tab":e(a),"onUpdate:activeTab":n[0]||=e=>r(a)?a.value=e:null,name:e(f),"onUpdate:name":n[1]||=e=>r(f)?f.value=e:null,email:e(g),"onUpdate:email":n[2]||=e=>r(g)?g.value=e:null,password:e(_),"onUpdate:password":n[3]||=e=>r(_)?_.value=e:null,"token-input":e(v),"onUpdate:tokenInput":n[4]||=e=>r(v)?v.value=e:null,loading:e(S),"needs-setup":e(C),onRegister:e(w),onLogin:e(T),onLoginWithToken:e(E)},null,8,[`active-tab`,`name`,`email`,`password`,`token-input`,`loading`,`needs-setup`,`onRegister`,`onLogin`,`onLoginWithToken`]))])}}}),[[`__scopeId`,`data-v-9064698b`]]);export{ce as default};
@@ -1 +1 @@
1
- import{N as e,dt as t,ft as n,mt as r,u as i}from"./CavpkQb0.js";import{P as a,Q as o,R as s,S as c,V as l,W as u,b as d,d as f,et as p,f as m,h,i as g,k as _,m as v,nt as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,o as T,s as E}from"./Dqz5HiXa.js";import{n as D}from"./DkpmSnHX.js";import{t as O}from"./Cmp8PMrA.js";import{n as k}from"./Cnrmlixo.js";import{a as A}from"./wDPc4SSR.js";import{t as j}from"./DzBbYWrw2.js";import{t as M}from"./BDNMzG2s2.js";import{t as ee}from"./D0SNhlnt.js";import{t as N}from"./JgheoP3e.js";import{t as P}from"./CNs_Ozdc.js";import{t as F}from"./B8cnjDtt.js";import{a as te,t as I}from"./Bl5dYv4m.js";import{t as L}from"./DxagrjB8.js";import{t as ne}from"./D6lZftfy.js";import{t as R}from"./LwIFGLgF.js";import{n as re,r as z,t as ie}from"./IU-UGkCJ2.js";import{t as ae}from"./csitHKnE2.js";import{t as oe}from"./1g9IT9Qh2.js";import{n as B,t as se}from"./Bhe953zV2.js";import{t as ce}from"./B1RT9NTO2.js";var V={class:`txt`},H={class:`mono`},U={key:1,class:`infra-banner`},W={class:`txt`},le=Object.assign(c({__name:`DaqLineBanner`,props:{loaded:{type:Boolean},filteredLine:{},filteredLineState:{},anyLineActive:{type:Boolean}},setup(e){return(n,i)=>{let a=O;return e.loaded&&e.filteredLine&&e.filteredLineState?(l(),h(`div`,{key:0,class:t([`infra-banner`,{good:e.filteredLineState.active}])},[m(`span`,{class:t(e.filteredLineState.active?`i-tabler-circle-check`:`i-tabler-info-circle`)},null,2),m(`span`,V,[e.filteredLineState.active?(l(),h(g,{key:0},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k15lvw0o105`)),1),m(`b`,null,r(e.filteredLineState.productName),1),i[0]||=S(` · Recipe:`,-1),m(`b`,null,r(e.filteredLineState.recipeName),1),m(`small`,H,r(n.$t(`daq.k400lb086`))+` `+r(e.filteredLineState.runId?.slice(0,8))+` · `+r(n.$t(`daq.k3zkt2106`))+` `+r(e.filteredLineState.startedAt?.slice(11,19))+` `+r(n.$t(`daq.k69vag8108`))+` `+r(e.filteredLineState.taggedSamples)+` `+r(n.$t(`daq.k4118o092`)),1)],64)):(l(),h(g,{key:1},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k12uge2o107`)),1)],64))]),d(a,{class:`pill-btn`,to:`/dcw/${e.filteredLine.id}`},{default:y(()=>[S(r(e.filteredLineState.active?n.$t(`daq.k1ukoy0v093`):n.$t(`daq.k1cg78i8109`)),1)]),_:1},8,[`to`])],2)):e.loaded&&!e.anyLineActive?(l(),h(`div`,U,[i[1]||=m(`span`,{class:`i-tabler-info-circle`},null,-1),m(`span`,W,[S(r(n.$t(`daq.k19onw5w013`)),1),d(a,{to:`/dcw`},{default:y(()=>[S(r(n.$t(`daq.k1b2tk5c014`)),1)]),_:1}),S(r(n.$t(`daq.k1u9wnlg015`)),1)])])):v(``,!0)}}}),{__name:`DaqLineBanner`}),G={key:0,class:`infra-banner`},K={class:`txt`},q=[`disabled`],ue=Object.assign(c({__name:`DaqInfraBanner`,props:{infra:{},reconnecting:{type:Boolean}},emits:[`reconnect`],setup(e,{emit:t}){let n=t;return(t,i)=>e.infra?.degraded?(l(),h(`div`,G,[i[1]||=m(`span`,{class:`i-tabler-alert-triangle`},null,-1),m(`span`,K,r(e.infra.warning),1),m(`button`,{class:`pill-btn`,disabled:e.reconnecting,onClick:i[0]||=e=>n(`reconnect`)},r(e.reconnecting?t.$t(`daq.k1ld43ur094`):t.$t(`daq.kzg9805110`)),9,q)])):v(``,!0)}}),{__name:`DaqInfraBanner`}),de={key:0,class:`alarm-bar`},fe={class:`bar-label`},pe={class:`mono`},J={class:`alarm-scroll`},me=[`title`],he={class:`mono dim`},Y={class:`mono`},ge={key:0,class:`esc mono`},X=[`onClick`],_e=Object.assign(c({__name:`DaqAlarmBar`,props:{alarms:{}},emits:[`ack`],setup(e,{emit:t}){let n=t;return(t,i)=>e.alarms.length?(l(),h(`div`,de,[m(`span`,fe,[i[0]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),S(` `+r(t.$t(`daq.k1alarm141`))+` `,1),m(`b`,pe,r(e.alarms.length),1)]),m(`div`,J,[(l(!0),h(g,null,u(e.alarms,e=>(l(),h(`span`,{key:e.id,class:`alarm-item`,title:t.$t(`daq.k1esc143`,{p0:e.escalation})},[m(`b`,null,r(e.nodeName),1),m(`span`,he,r(e.metric),1),m(`span`,Y,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,ge,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>n(`ack`,e.id)},r(t.$t(`daq.k1ack142`)),9,X)],8,me))),128))])])):v(``,!0)}}),{__name:`DaqAlarmBar`}),Z={class:`aw-tile ctrl-card`},ve={class:`ctrl-row`},Q={class:`ctrl-left`},ye=[`title`],be={class:`cycle mono`},xe=[`title`],Se={class:`ctrl-right`},Ce={class:`ctrl-metrics mono`},we=[`title`],Te=[`title`],Ee=[`title`],De=[`title`],Oe={class:`line-strip`},ke={class:`strip-label`},Ae={class:`mono`},je={class:`strip-scroll`},Me={key:0,class:`lp-run`},Ne={key:1,class:`lp-idle`},Pe={class:`lp-idle`},Fe=Object.assign(c({__name:`DaqControlCard`,props:_({meta:{},lines:{},lineStateOf:{type:Function}},{controller:{required:!0},controllerModifiers:{}}),emits:_([`action`,`config`,`open-add`,`open-templates`],[`update:controller`]),setup(e,{emit:i}){let a=i,s=o(e,`controller`);return(i,o)=>{let c=O;return l(),h(`section`,Z,[m(`div`,ve,[m(`div`,Q,[m(`button`,{class:t([`aw-pill`,{running:s.value.running}]),title:i.$t(`daq.k1snap145`),onClick:o[0]||=e=>a(`action`,s.value.running?`pause`:`resume`)},[m(`span`,{class:t(s.value.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(s.value.running?i.$t(`daq.kpui00095`):i.$t(`daq.knxpdpt111`)),1)],10,ye),m(`label`,be,[S(r(i.$t(`daq.k1ifahxj016`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>s.value.defaultIntervalMs=e,type:`number`,min:`200`,max:`60000`,step:`100`,onChange:o[2]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultIntervalMs,void 0,{number:!0}]]),o[7]||=S(`ms `,-1)]),m(`label`,{class:`cycle mono`,title:i.$t(`daq.k1e8lcoo001`)},[S(r(i.$t(`daq.k1if98n0017`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.defaultPublishIntervalMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,onChange:o[4]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultPublishIntervalMs,void 0,{number:!0}]]),o[8]||=S(`ms `,-1)],8,xe)]),m(`div`,Se,[m(`span`,Ce,[m(`span`,null,r(i.$t(`daq.k45uio067`))+` `+r(s.value.nodesOnline)+`/`+r(s.value.nodesTotal),1),o[9]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.k1yztsu4002`)},r(i.$t(`daq.k3xagp087`))+` `+r(e.meta.produced),9,we),o[10]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.ko09iha003`)},r(i.$t(`daq.k427eu088`))+` `+r(e.meta.consumed),9,Te),o[11]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{class:t({warn:(e.meta.dropped??0)>0}),title:i.$t(`daq.k1droptip135`)},r(i.$t(`daq.k3w8go089`))+` `+r(e.meta.dropped),11,Ee),o[12]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.kj1jbmw004`)},r(i.$t(`daq.k3wusd090`))+` `+r(e.meta.samplesStored),9,De)]),m(`button`,{class:`aw-pill outline add-btn`,onClick:o[5]||=e=>a(`open-templates`)},[o[13]||=m(`span`,{class:`i-tabler-adjustments-horizontal`},null,-1),S(` `+r(i.$t(`daq.k1f5cv0s018`)),1)]),m(`button`,{class:`aw-pill add-btn`,onClick:o[6]||=e=>a(`open-add`)},[o[14]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+r(i.$t(`daq.k1fn0ukb019`)),1)])])]),m(`div`,Oe,[m(`span`,ke,[o[15]||=m(`span`,{class:`i-tabler-route`},null,-1),S(` `+r(i.$t(`daq.k1b2o3b6020`)),1),m(`small`,Ae,r(e.lines.length),1)]),m(`div`,je,[(l(!0),h(g,null,u(e.lines,a=>(l(),b(c,{key:a.id,class:t([`line-pill`,{on:e.lineStateOf(a.id).active}]),style:n({"--lc":a.color}),to:`/dcw/${a.id}`,title:e.lineStateOf(a.id).active?i.$t(`daq.k3v957u120`,{p0:a.name,p1:e.lineStateOf(a.id).productName,p2:e.lineStateOf(a.id).recipeName}):i.$t(`daq.k1x7jnru121`,{p0:a.name})},{default:y(()=>[o[16]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(a.name),1),e.lineStateOf(a.id).active?(l(),h(`small`,Me,r(e.lineStateOf(a.id).recipeName??i.$t(`daq.k3vp67i096`)),1)):(l(),h(`small`,Ne,r(i.$t(`daq.k3zgkk021`)),1))]),_:2},1032,[`class`,`style`,`to`,`title`]))),128)),e.lines.length===0?(l(),b(c,{key:0,class:`line-pill`,to:`/dcw`},{default:y(()=>[o[17]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(i.$t(`daq.k1el12b1022`)),1),m(`small`,Pe,r(i.$t(`daq.k8jxxe8023`)),1)]),_:1})):v(``,!0)])])])}}}),{__name:`DaqControlCard`}),Ie={class:`modal`},Le={class:`m-title`},Re={class:`seg-row`},ze={class:`f-grid`},Be={class:`f`},Ve=[`value`],He={class:`f`},Ue=[`placeholder`],We={key:0,class:`f`},Ge=[`placeholder`],Ke={class:`f-grid`},qe={class:`f`},Je=[`value`],Ye={key:0,class:`f-grid driver-form`},Xe={key:0},Ze=[`onUpdate:modelValue`],Qe=[`value`],$e=[`onUpdate:modelValue`,`type`,`placeholder`],et={key:2,class:`hint`},tt={class:`test-row`},nt=[`disabled`],rt={key:1,class:`m-err`},it={class:`m-actions`},at=[`disabled`,`title`],ot=Object.assign(c({__name:`DaqAddNodeModal`,props:_({templates:{},driverCatalog:{},driverReady:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`test`,`submit`,`close`],[`update:open`,`update:form`]),setup(e,{emit:n}){let i=n,a=o(e,`open`),s=o(e,`form`);return(n,o)=>a.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[9]||=w(e=>i(`close`),[`self`])},[m(`div`,Ie,[m(`h3`,Le,r(n.$t(`daq.k19rioqa024`)),1),m(`div`,Re,[m(`button`,{class:t([`seg`,{on:s.value.scenario===`mock`}]),onClick:o[0]||=e=>s.value.scenario=`mock`},r(n.$t(`daq.k1p5c1un025`)),3),m(`button`,{class:t([`seg`,{on:s.value.scenario===`real`}]),onClick:o[1]||=e=>s.value.scenario=`real`},r(n.$t(`daq.k1cbcp3o026`)),3)]),m(`div`,ze,[m(`label`,Be,[m(`span`,null,r(n.$t(`daq.k1fsgerc027`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.template=e,class:`inp`},[(l(!0),h(g,null,u(e.templates,e=>(l(),h(`option`,{key:e.key,value:e.key},r(e.name)+` · `+r(e.ch)+`(`+r(e.min)+`~`+r(e.max)+` `+r(e.unit)+`)`+r(e.builtin?``:n.$t(`daq.kr45rk9097`)),9,Ve))),128))],512),[[E,s.value.template]])]),m(`label`,He,[m(`span`,null,r(n.$t(`daq.k1ce2k1y028`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.name=e,class:`inp`,placeholder:n.$t(`daq.kgpxzy3005`)},null,8,Ue),[[C,s.value.name]])]),s.value.scenario===`real`?(l(),h(`label`,We,[m(`span`,null,r(n.$t(`daq.k13mfsfc029`)),1),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>s.value.interval=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`inp`,placeholder:n.$t(`daq.k1eg1000a136`)},null,8,Ge),[[C,s.value.interval,void 0,{number:!0}]])])):v(``,!0)]),s.value.scenario===`real`?(l(),h(g,{key:0},[m(`div`,Ke,[m(`label`,qe,[m(`span`,null,r(n.$t(`daq.k1kt87rx030`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp`},[(l(!0),h(g,null,u(e.driverCatalog.filter(e=>e.status!==`planned`),t=>(l(),h(`option`,{key:t.kind,value:t.kind},r(t.label)+r(t.plugin?` ⌁`:``)+r(e.driverReady(t.kind)?``:n.$t(`daq.kjbqphp098`)),9,Je))),128))],512),[[E,s.value.driver]])])]),s.value.fields.length?(l(),h(`div`,Ye,[(l(!0),h(g,null,u(s.value.fields,e=>(l(),h(`label`,{key:e.key,class:`f`},[m(`span`,null,[S(r(e.label),1),e.required?(l(),h(`em`,Xe,`*`)):v(``,!0)]),e.type===`select`?x((l(),h(`select`,{key:0,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,class:`inp`},[(l(!0),h(g,null,u(e.options,e=>(l(),h(`option`,{key:e.value,value:e.value},r(e.label),9,Qe))),128))],8,Ze)),[[E,s.value.cfg[e.key]]]):x((l(),h(`input`,{key:1,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,$e)),[[T,s.value.cfg[e.key]]]),e.hint?(l(),h(`small`,et,r(e.hint),1)):v(``,!0)]))),128))])):v(``,!0),m(`div`,tt,[m(`button`,{class:`pill-btn`,disabled:s.value.testing,onClick:o[6]||=e=>i(`test`)},r(s.value.testing?n.$t(`daq.k1fsh720099`):n.$t(`daq.k1fstglk112`)),9,nt),s.value.test?(l(),h(`span`,{key:0,class:t([`test-result`,s.value.test.ok?`ok`:`bad`])},[S(r(s.value.test.ok?`✓`:`✗`)+` `+r(s.value.test.message),1),s.value.test.latencyMs==null?v(``,!0):(l(),h(g,{key:0},[S(`(`+r(s.value.test.latencyMs)+`ms)`,1)],64))],2)):v(``,!0)])],64)):v(``,!0),s.value.error?(l(),h(`p`,rt,r(s.value.error),1)):v(``,!0),m(`div`,it,[m(`button`,{class:`aw-pill outline`,onClick:o[7]||=e=>i(`close`)},r(n.$t(`daq.k3xdnn031`)),1),m(`button`,{class:`aw-pill`,disabled:s.value.saving||s.value.scenario===`real`&&s.value.test!=null&&!s.value.test.ok,title:s.value.scenario===`real`&&!(s.value.test&&s.value.test.ok)?n.$t(`daq.k1needtst137`):``,onClick:o[8]||=e=>i(`submit`)},r(s.value.saving?n.$t(`daq.k1bg4759100`):s.value.scenario===`real`?n.$t(`daq.k7pxjxo113`):n.$t(`daq.k1bge46t118`)),9,at)])])])):v(``,!0)}}),{__name:`DaqAddNodeModal`}),st={class:`modal`},ct={class:`m-title`},lt={class:`sec-label`},ut={class:`tpl-table`},dt={class:`mono dim`},ft={class:`mono range`},pt={class:`right actions`},mt=[`onClick`],ht=[`onClick`],gt={key:0},_t={colspan:`3`,class:`empty`},vt={class:`sec-label`},yt={class:`f-grid`},bt={class:`f`},xt=[`placeholder`],St={class:`f`},Ct=[`placeholder`],wt={class:`f`},Tt=[`placeholder`],Et={class:`f`},Dt=[`placeholder`],Ot={class:`f`},kt={class:`f`},At={class:`f`},jt={class:`f`},Mt=[`value`],Nt={class:`f`},Pt={class:`hint`},Ft={class:`f`},It={class:`hint`},Lt={key:0,class:`m-err`},Rt={class:`m-actions`},zt=[`disabled`],Bt={class:`sec-label`},Vt={class:`tpl-table`},Ht={class:`mono dim`},Ut={class:`mono range`},Wt={class:`right actions`},Gt=[`onClick`],Kt=Object.assign(c({__name:`DaqTemplateModal`,props:_({customTpls:{},builtinTpls:{},iconChoices:{},iconLabels:{},editing:{},saving:{type:Boolean},error:{},confirmingDel:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`edit`,`copy`,`remove`,`reset`,`save`,`close`],[`update:open`,`update:form`]),setup(e,{emit:t}){let n=t,i=o(e,`open`),a=o(e,`form`);return(t,o)=>i.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[12]||=w(e=>n(`close`),[`self`])},[m(`div`,st,[m(`h3`,ct,r(t.$t(`daq.k11mv96s032`)),1),m(`p`,lt,r(t.$t(`daq.ktji4ky033`)),1),m(`table`,ut,[m(`tbody`,null,[(l(!0),h(g,null,u(e.customTpls,i=>(l(),h(`tr`,{key:i.key},[m(`td`,null,[m(`b`,null,r(i.name),1),m(`small`,dt,r(i.code),1)]),m(`td`,ft,r(i.min)+`~`+r(i.max)+` `+r(i.unit)+` · `+r(i.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,pt,[m(`button`,{class:`mini-btn`,onClick:e=>n(`edit`,i)},r(t.$t(`daq.k45eb0034`)),9,mt),m(`button`,{class:`mini-btn danger`,onClick:e=>n(`remove`,i)},r(e.confirmingDel===i.key?t.$t(`daq.k1hhheu3101`):t.$t(`daq.k3xakp114`)),9,ht)])]))),128)),e.customTpls.length?v(``,!0):(l(),h(`tr`,gt,[m(`td`,_t,r(t.$t(`daq.kztvzbo035`)),1)]))])]),m(`p`,vt,r(e.editing?t.$t(`daq.k1iiph0s102`):t.$t(`daq.k1efixrj115`)),1),m(`div`,yt,[m(`label`,bt,[m(`span`,null,[S(r(t.$t(`daq.k3xhia036`)),1),o[13]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[0]||=e=>a.value.name=e,class:`inp`,placeholder:t.$t(`daq.k5opd2t006`)},null,8,xt),[[C,a.value.name]])]),m(`label`,St,[m(`span`,null,[S(r(t.$t(`daq.k3x4ef037`)),1),o[14]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>a.value.unit=e,class:`inp`,placeholder:t.$t(`daq.unitPh`)},null,8,Ct),[[C,a.value.unit]])]),m(`label`,wt,[m(`span`,null,r(t.$t(`daq.k1l477m0038`)),1),x(m(`input`,{"onUpdate:modelValue":o[2]||=e=>a.value.ch=e,class:`inp`,placeholder:t.$t(`daq.kk8o4tl007`)},null,8,Tt),[[C,a.value.ch]])]),m(`label`,Et,[m(`span`,null,r(t.$t(`daq.k1ayxrqb039`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>a.value.code=e,class:`inp`,placeholder:t.$t(`daq.kzn3l7l008`)},null,8,Dt),[[C,a.value.code]])]),m(`label`,Ot,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv5m040`)),1),o[15]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>a.value.min=e,type:`number`,class:`inp`},null,512),[[C,a.value.min,void 0,{number:!0}]])]),m(`label`,kt,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv4p041`)),1),o[16]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[5]||=e=>a.value.max=e,type:`number`,class:`inp`},null,512),[[C,a.value.max,void 0,{number:!0}]])]),m(`label`,At,[m(`span`,null,r(t.$t(`daq.k3mxmcx042`)),1),x(m(`input`,{"onUpdate:modelValue":o[6]||=e=>a.value.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[C,a.value.decimals,void 0,{number:!0}]])]),m(`label`,jt,[m(`span`,null,r(t.$t(`daq.k3xx56043`)),1),x(m(`select`,{"onUpdate:modelValue":o[7]||=e=>a.value.icon=e,class:`inp`},[(l(!0),h(g,null,u(e.iconChoices,t=>(l(),h(`option`,{key:t,value:t},r(e.iconLabels[t]),9,Mt))),128))],512),[[E,a.value.icon]])]),m(`label`,Nt,[m(`span`,null,r(t.$t(`daq.k1f4eknv044`)),1),x(m(`input`,{"onUpdate:modelValue":o[8]||=e=>a.value.base=e,type:`number`,class:`inp`},null,512),[[C,a.value.base,void 0,{number:!0}]]),m(`small`,Pt,r(t.$t(`daq.kytd15s045`)),1)]),m(`label`,Ft,[m(`span`,null,r(t.$t(`daq.k1f4ifpo046`)),1),x(m(`input`,{"onUpdate:modelValue":o[9]||=e=>a.value.amp=e,type:`number`,class:`inp`},null,512),[[C,a.value.amp,void 0,{number:!0}]]),m(`small`,It,r(t.$t(`daq.ksp2aji047`)),1)])]),e.error?(l(),h(`p`,Lt,r(e.error),1)):v(``,!0),m(`div`,Rt,[m(`button`,{class:`aw-pill outline`,onClick:o[10]||=e=>n(`reset`)},r(t.$t(`daq.k48p40048`)),1),m(`button`,{class:`pill-btn`,disabled:e.saving,onClick:o[11]||=e=>n(`save`)},r(e.saving?t.$t(`daq.k1b38d59103`):e.editing?t.$t(`daq.k1b39281116`):t.$t(`daq.k1b3dtga119`)),9,zt)]),m(`p`,Bt,r(t.$t(`daq.k1w8s84s049`)),1),m(`table`,Vt,[m(`tbody`,null,[(l(!0),h(g,null,u(e.builtinTpls,e=>(l(),h(`tr`,{key:e.key},[m(`td`,null,[m(`b`,null,r(e.name),1),m(`small`,Ht,r(e.code),1)]),m(`td`,Ut,r(e.min)+`~`+r(e.max)+` `+r(e.unit)+` · `+r(e.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,Wt,[m(`button`,{class:`mini-btn`,onClick:t=>n(`copy`,e)},r(t.$t(`daq.k3y694050`)),9,Gt)])]))),128))])])])])):v(``,!0)}}),{__name:`DaqTemplateModal`}),qt={class:`aw-tile opt-card`},Jt={class:`opt-count mono`},Yt={class:`opt-filters`},Xt=[`value`],Zt={value:``},Qt=[`value`],$t=[`value`],en={value:``},tn=[`value`],nn={key:0,class:`opt-empty`},rn={class:`opt-list`},an={class:`opt-line1`},on={class:`opt-node`},sn={class:`mono opt-params`},cn={class:`mono opt-time`},ln=[`disabled`,`onClick`],un=[`onClick`],dn={class:`opt-line2 mono`},fn={key:1,class:`opt-open-hint`},pn={key:2,class:`opt-agg`},mn={key:3,class:`opt-agg`},hn={key:0,class:`opt-series`},gn={class:`opt-spark`,viewBox:`0 0 240 36`,preserveAspectRatio:`none`},_n=[`points`],vn={class:`mono`},yn={key:0,class:`opt-empty`},bn=Object.assign(c({__name:`DaqOptPanel`,props:{optimizations:{},lines:{},open:{type:Boolean},mounted:{type:Boolean},filterLine:{},filterRecipe:{},recipeOptions:{},seriesOf:{},seriesLoading:{},statusKey:{type:Function},seriesPath:{type:Function},fmtPoint:{type:Function}},emits:[`toggle`,`selectLine`,`selectRecipe`,`line-change`,`filter`,`series`,`rollback`],setup(e,{emit:n}){let i=n;function a(e){i(`selectLine`,e.target.value),i(`line-change`)}function o(e){i(`selectRecipe`,e.target.value),i(`filter`)}return(n,s)=>(l(),h(`section`,qt,[m(`button`,{class:`opt-head`,onClick:s[0]||=e=>i(`toggle`)},[s[2]||=m(`span`,{class:`i-tabler-flask`},null,-1),m(`b`,null,r(n.$t(`daq.k1optt001`)),1),m(`span`,Jt,r(e.optimizations.length),1),m(`span`,{class:t([`opt-chevron`,{open:e.open}])},null,2)]),m(`div`,{class:t([`opt-body`,{open:e.open}])},[e.mounted?(l(),h(g,{key:0},[m(`div`,Yt,[m(`select`,{value:e.filterLine,class:`inp-sel`,onChange:a},[m(`option`,Zt,r(n.$t(`daq.k1optf001`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,Qt))),128))],40,Xt),m(`select`,{value:e.filterRecipe,class:`inp-sel`,onChange:o},[m(`option`,en,r(n.$t(`daq.k1optf004`)),1),(l(!0),h(g,null,u(e.recipeOptions,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,tn))),128))],40,$t),m(`button`,{class:`mini-act`,onClick:s[1]||=e=>i(`filter`)},r(n.$t(`daq.k1optf002`)),1)]),e.optimizations.length===0?(l(),h(`p`,nn,r(n.$t(`daq.k1opte001`)),1)):v(``,!0),m(`ul`,rn,[(l(!0),h(g,null,u(e.optimizations.slice(0,30),a=>(l(),h(`li`,{key:a.id,class:t([`opt-row`,a.status])},[m(`div`,an,[m(`span`,{class:t([`opt-status`,a.status])},r(n.$t(e.statusKey(a.status))),3),m(`b`,on,r(a.nodeName),1),m(`span`,sn,r(a.params[0]?.from??`?`)+` → `+r(a.params[0]?.to),1),m(`span`,cn,r(a.setAt.slice(5,16).replace(`T`,` `)),1),e.seriesOf[a.id]?v(``,!0):(l(),h(`button`,{key:0,class:`mini-act`,disabled:e.seriesLoading===a.id,onClick:e=>i(`series`,a.id)},r(n.$t(`daq.k1opta001`)),9,ln)),a.status===`open`?(l(),h(`button`,{key:1,class:`mini-act danger`,onClick:e=>i(`rollback`,a.id)},r(n.$t(`daq.k1opta002`)),9,un)):v(``,!0)]),m(`div`,dn,[a.judge?(l(),h(`span`,{key:0,class:t([`opt-judge`,a.judge.verdict])},r(a.judge.verdict)+`(`+r(a.judge.by)+`): `+r(a.judge.reason.slice(0,70)),3)):a.status===`open`?(l(),h(`span`,fn,r(n.$t(`daq.k1opto001`)),1)):v(``,!0),a.aggPending?(l(),h(`span`,pn,r(n.$t(`daq.k1optw001`)),1)):a.windowAgg&&a.windowAgg.channels.length?(l(),h(`span`,mn,[(l(!0),h(g,null,u(a.windowAgg.channels,t=>(l(),h(g,{key:t.daqNodeId},[S(r(t.ch)+` `+r(e.fmtPoint(t.min))+`~`+r(e.fmtPoint(t.max))+`(`+r(n.$t(`daq.k1optw002`))+r(t.breaches<0?`-`:t.breaches)+`) `,1)],64))),128))])):v(``,!0)]),e.seriesOf[a.id]?(l(),h(`div`,hn,[(l(!0),h(g,null,u(e.seriesOf[a.id]?.channels??[],t=>(l(),h(`div`,{key:t.nodeId,class:`opt-ch`},[(l(),h(`svg`,gn,[m(`polyline`,{points:e.seriesPath(t.points)},null,8,_n)])),m(`span`,vn,r(t.ch)+` `+r(e.fmtPoint(t.points.at(-1)?.value??t.points.at(-1)?.avg))+r(t.unit),1)]))),128)),(e.seriesOf[a.id]?.channels.length??0)===0?(l(),h(`p`,yn,r(n.$t(`daq.k1opte002`)),1)):v(``,!0)])):v(``,!0)],2))),128))])],64)):v(``,!0)],2)]))}}),{__name:`DaqOptPanel`}),xn={class:`mono dim`},Sn={class:`mono ch`},Cn=[`title`],wn=[`title`],Tn={class:`trend-cell`},En=[`title`],Dn=[`y1`,`y2`],On=[`y1`,`y2`],kn=[`points`],An=[`y1`,`y2`],jn={class:`mono`},Mn={class:`mono`},Nn=[`title`],Pn=[`value`,`title`],Fn={value:``},In=[`value`],Ln=[`title`],Rn={key:1,class:`run-pill na`},zn={class:`prod-cell`},Bn=[`title`],Vn=[`title`],Hn={key:1,class:`dim`},Un={class:`dev-binds`},Wn=[`title`],Gn=[`onClick`],Kn=[`title`],qn={value:``},Jn=[`value`,`disabled`],Yn={class:`right`},Xn=[`title`],Zn=120,$=26,Qn=Object.assign(M(c({__name:`DaqNodeRow`,props:{n:{}},setup(n){let i=n,{t:a}=k(),o=I(),s=L(),c=ne();function p(e){if(!e.lastAt)return!0;let t=e.intervalMs??o.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function _(e){return e.enabled?e.lineId?s.lineStateOf(e.lineId).active?!o.controller.running||p(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}function b(e){let t=_(e);return t===`ok`||t===`warn`||t===`alarm`}function x(e){if(!e.lineId)return null;let t=s.lineStateOf(e.lineId);return!t.active||!t.recipeId?null:s.recipes.find(e=>e.id===t.recipeId)?.daqWindows?.find(t=>t.nodeId===e.id)??null}function C(e){let t=x(e);return!t||e.value==null?!1:t.min!=null&&e.value<t.min||t.max!=null&&e.value>t.max}function w(e){let t=x(e);return t&&(t.min!=null||t.max!=null)?{min:t.min,max:t.max}:e.warnLow!=null||e.warnHigh!=null?{min:e.warnLow,max:e.warnHigh}:{min:null,max:null}}function T(e){let t=e.filter(Number.isFinite);if(t.length<2)return``;let n=Math.min(...t),r=Math.max(...t)-n||1;return t.map((e,i)=>`${(i/(t.length-1)*Zn).toFixed(1)},${($-(e-n)/r*24-1).toFixed(1)}`).join(` `)}function E(e,t){if(t==null||!Number.isFinite(t))return null;let n=e.filter(Number.isFinite);if(n.length<2)return null;let r=Math.min(...n,t),i=Math.max(...n,t)-r||1;return Number(($-(t-r)/i*24-1).toFixed(1))}function D(e){let t=_(e),n=a(`daq.k44c2n065`);if(t===`offline`)return e.lastError?{key:t,label:n,tip:e.lastError}:{key:t,label:n,tip:o.controller.running?a(`daq.k1staled129`,{p0:Math.round(Math.max((e.intervalMs??o.controller.defaultIntervalMs)*4,12e3)/1e3)}):a(`daq.k1gateoff140`)};let r={ok:a(`daq.k41k5c062`),warn:a(`daq.k49z8v063`),alarm:a(`daq.k3xmid064`),offline:n,idle:a(`daq.k3ozyqz117`),disabled:a(`daq.k1disabl130`),unassigned:a(`daq.k3ootr6053`)};if(t===`idle`)return{key:t,label:r.idle,tip:a(`daq.k1idlehin139`)};if((t===`ok`||t===`warn`||t===`alarm`)&&C(e)){let t=x(e);return{key:`alarm`,label:a(`daq.k1l3pt51104`),tip:a(`daq.k1hrrqa1122`,{p0:t?.min??`-∞`,p1:t?.max??`+∞`,p2:``})}}return{key:t,label:r[t],tip:``}}function j(e){let t=o.templates.find(t=>t.key===te(e));return t?`${t.name} · ${t.ch}`:e||`-`}let M=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultIntervalMs}):`${e}ms`,ee=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultPublishIntervalMs}):e===0?a(`daq.k41mvv078`):`${e}ms`,P=e=>o.meta.drivers.find(t=>t.kind===e)?.status===`planned`,F=e=>e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]),R=e=>c.twins.find(t=>t.id===e)?.name??e,re=f(()=>c.twins.filter(e=>e.kind!==`daq`&&!(e.modelRef??``).startsWith(`daq-`)&&!(e.modelRef??``).startsWith(`dcw-`))),z=f(()=>{let e=i.n,t=w(e),n=e.lineId?s.lineStateOf(e.lineId):null;return{tpl:j(e.templateRef),pill:D(e),alarm:C(e),live:b(e),trend:T(e.hist),limMin:E(e.hist,t.min),limMax:E(e.hist,t.max),interval:M(e.intervalMs),publish:ee(e.publishIntervalMs),lineActive:!!n?.active,lineProduct:n?.productName??``,lineRecipe:n?.recipeName??``}});async function ie(){let e=i.n,t=!e.enabled;try{await o.patchNode(e.id,{enabled:t}),e.enabled=t,t||(e.state=`offline`),A.success(a(t?`daq.k1nodestart147`:`daq.k1nodestop146`))}catch(e){A.error(N(e))}}async function ae(e){let t=e.target.value;try{await o.patchNode(i.n.id,{lineId:t});let e=i.n;e.lineId=t}catch(e){A.error(N(e))}}async function oe(e){let t=e.target.value;if(!t)return;let n=i.n;if(!n.deviceIds?.includes(t)){try{await o.setNodeBindings(n.id,[...n.deviceIds??[],t])}catch(e){A.error(N(e))}e.target.value=``}}async function B(e){let t=i.n;try{await o.setNodeBindings(t.id,(t.deviceIds??[]).filter(t=>t!==e))}catch(e){A.error(N(e))}}return(i,a)=>{let o=O;return l(),h(`tr`,{class:t({"row-recipe-alarm":z.value.alarm})},[m(`td`,null,[m(`span`,xn,r(n.n.id.slice(0,8)),1),m(`b`,null,r(n.n.name),1),m(`small`,Sn,r(z.value.tpl),1)]),m(`td`,null,[m(`span`,{class:t([`st-pill`,[z.value.pill.key]]),title:z.value.pill.tip},r(z.value.pill.label),11,Cn)]),m(`td`,{class:t([`mono val`,{stale:!z.value.live,"val-alarm":n.n.state===`alarm`||z.value.alarm}]),title:z.value.live?void 0:z.value.pill.tip},[S(r(n.n.value==null?`--`:n.n.value.toFixed(n.n.decimals))+` `,1),m(`small`,null,r(n.n.unit),1)],10,wn),m(`td`,Tn,[(l(),h(`svg`,{class:`trend`,viewBox:`0 0 120 26`,preserveAspectRatio:`none`,title:i.$t(`daq.k1trnd002`)},[z.value.limMin==null?v(``,!0):(l(),h(`line`,{key:0,class:`lim`,x1:`0`,y1:z.value.limMin,x2:`120`,y2:z.value.limMin},null,8,Dn)),z.value.limMax==null?v(``,!0):(l(),h(`line`,{key:1,class:`lim max`,x1:`0`,y1:z.value.limMax,x2:`120`,y2:z.value.limMax},null,8,On)),z.value.trend?(l(),h(`polyline`,{key:2,class:t([`trace`,{alarm:n.n.state===`alarm`||z.value.alarm}]),points:z.value.trend},null,10,kn)):(l(),h(`line`,{key:3,class:`trace-idle`,x1:`0`,y1:$/2,x2:`120`,y2:$/2},null,8,An))],8,En))]),m(`td`,jn,r(z.value.interval),1),m(`td`,Mn,r(z.value.publish),1),m(`td`,null,[m(`span`,{class:t([`drv-tag`,{planned:P(n.n.driver)}]),title:P(n.n.driver)?i.$t(`daq.k1plndrv138`):``},r(n.n.driver),11,Nn)]),m(`td`,null,[m(`select`,{class:`line-sel`,value:n.n.lineId,title:i.$t(`daq.k3q23v3010`),onChange:ae},[m(`option`,Fn,r(i.$t(`daq.k3ootr6053`)),1),(l(!0),h(g,null,u(e(s).lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,In))),128))],40,Pn)]),m(`td`,null,[n.n.lineId?(l(),h(`span`,{key:0,class:t([`run-pill`,{on:z.value.lineActive}]),title:i.$t(`daq.k1runtipc131`)},[a[0]||=m(`span`,{class:`rp-dot`},null,-1),S(` `+r(z.value.lineActive?i.$t(`daq.k3vp67i096`):i.$t(`daq.k3ozyqz117`)),1)],10,Ln)):(l(),h(`span`,Rn,r(i.$t(`daq.k3ootr6053`)),1))]),m(`td`,zn,[n.n.lineId&&z.value.lineActive?(l(),h(g,{key:0},[m(`b`,{title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineProduct||`--`),9,Bn),m(`small`,{class:`mono`,title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineRecipe||`--`),9,Vn)],64)):(l(),h(`span`,Hn,`--`))]),m(`td`,null,[m(`div`,Un,[(l(!0),h(g,null,u(F(n.n),e=>(l(),h(`span`,{key:e,class:`dev-bind-chip`,title:i.$t(`daq.k2bindtip137`)},[S(r(R(e))+` `,1),m(`span`,{class:`dev-unbind`,title:`unbind`,onClick:t=>B(e)},`✕`,8,Gn)],8,Wn))),128)),m(`select`,{class:`line-sel dev-add`,value:``,title:i.$t(`daq.k2bindtip137`),onChange:oe},[m(`option`,qn,r(i.$t(`daq.k3own4q056`)),1),(l(!0),h(g,null,u(re.value,e=>(l(),h(`option`,{key:e.id,value:e.id,disabled:(n.n.deviceIds??[]).includes(e.id)},r(R(e.id)),9,Jn))),128))],40,Kn)])]),m(`td`,Yn,[m(`button`,{class:t([`node-toggle`,{off:!n.n.enabled}]),title:n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`),onClick:ie},[m(`span`,{class:t(n.n.enabled?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`)),1)],10,Xn),d(o,{class:`console-link`,to:`/daq/${n.n.id}`},{default:y(()=>[a[1]||=m(`span`,{class:`i-tabler-dashboard`},null,-1),S(` `+r(i.$t(`daq.k3o3jg2074`)),1)]),_:1},8,[`to`])])],2)}}}),[[`__scopeId`,`data-v-4b6f87e1`]]),{__name:`WorkshopDaqNodeRow`}),$n={class:`aw-tile table-card`},er={class:`tbl-toolbar`},tr={class:`filters`},nr={class:`flt`},rr={value:``},ir=[`value`],ar={value:`none`},or={class:`flt`},sr={value:``},cr=[`value`],lr={value:`none`},ur=[`title`],dr={value:``},fr={value:`on`},pr={value:`off`},mr={class:`flt`},hr={value:``},gr={value:`ok`},_r={value:`warn`},vr={value:`alarm`},yr={value:`offline`},br={class:`flt`},xr={value:``},Sr=[`value`],Cr={class:`flt`},wr={value:``},Tr=[`value`],Er=[`title`],Dr={value:``},Or={value:`live`},kr={value:`hour`},Ar={value:`day`},jr={value:`old`},Mr={value:`never`},Nr={class:`flt`},Pr=[`placeholder`],Fr={class:`count mono`},Ir={class:`ops-panels`},Lr={class:`panel-head`},Rr={class:`panel-body`},zr={key:0,class:`panel-empty`},Br={class:`mono dim`},Vr={class:`mono`},Hr={key:0,class:`esc mono`},Ur=[`onClick`],Wr={class:`ops-panel event-panel`},Gr={class:`panel-head`},Kr={class:`panel-body`},qr={key:0,class:`panel-empty`},Jr={class:`mono dim t`},Yr=[`title`],Xr=[`title`],Zr=[`title`],Qr={class:`right`},$r={key:0,class:`vs-pad`,"aria-hidden":`true`},ei={key:1,class:`vs-pad`,"aria-hidden":`true`},ti={key:2},ni={colspan:`11`},ri={class:`pane-empty`,style:{"min-height":`120px`}},ii={class:`pe-sub`},ai={key:3},oi={colspan:`11`},si={class:`pane-empty`,style:{"min-height":`90px`}},ci={class:`pe-sub`},li=Object.assign(c({__name:`DaqNodePanel`,props:_({hasFilters:{type:Boolean},lines:{},boundDevices:{},templateOptions:{},driverOptions:{},filteredCount:{},totalCount:{},opsRecent:{},opsKindLabel:{type:Function},opsTime:{type:Function},alarms:{},visibleNodes:{},padTopPx:{},padBottomPx:{},loading:{type:Boolean},loaded:{type:Boolean},error:{}},{filters:{required:!0},filtersModifiers:{},tableEl:{required:!0},tableElModifiers:{}}),emits:_([`clear-filters`,`ack`],[`update:filters`,`update:tableEl`]),setup(e,{emit:i}){let a=i,s=o(e,`filters`),c=o(e,`tableEl`);return(i,o)=>{let f=O,p=Qn,_=j;return l(),b(_,{spinning:e.loading},{default:y(()=>[m(`section`,$n,[m(`div`,er,[m(`div`,tr,[m(`label`,nr,[m(`span`,null,r(i.$t(`daq.k3wj9n051`)),1),x(m(`select`,{"onUpdate:modelValue":o[0]||=e=>s.value.lineId=e,class:`inp-sel`},[m(`option`,rr,r(i.$t(`daq.k1bkl9uj052`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,ir))),128)),m(`option`,ar,r(i.$t(`daq.k3ootr6053`)),1)],512),[[E,s.value.lineId]])]),m(`label`,or,[m(`span`,null,r(i.$t(`daq.k1i8rtqt054`)),1),x(m(`select`,{"onUpdate:modelValue":o[1]||=e=>s.value.deviceId=e,class:`inp-sel`},[m(`option`,sr,r(i.$t(`daq.k1bkw4m2055`)),1),(l(!0),h(g,null,u(e.boundDevices,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name)+`(`+r(e.count)+`) `,9,cr))),128)),m(`option`,lr,r(i.$t(`daq.k3own4q056`)),1)],512),[[E,s.value.deviceId]])]),m(`label`,{class:`flt`,title:i.$t(`daq.khb8mru009`)},[m(`span`,null,r(i.$t(`daq.k1b2tkyv057`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.lineRun=e,class:`inp-sel`},[m(`option`,dr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,fr,r(i.$t(`daq.k1nxm3p7059`)),1),m(`option`,pr,r(i.$t(`daq.k1ulx34e060`)),1)],512),[[E,s.value.lineRun]])],8,ur),m(`label`,mr,[m(`span`,null,r(i.$t(`daq.k1iwdfef061`)),1),x(m(`select`,{"onUpdate:modelValue":o[3]||=e=>s.value.state=e,class:`inp-sel`},[m(`option`,hr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,gr,r(i.$t(`daq.k41k5c062`)),1),m(`option`,_r,r(i.$t(`daq.k49z8v063`)),1),m(`option`,vr,r(i.$t(`daq.k3xmid064`)),1),m(`option`,yr,r(i.$t(`daq.k44c2n065`)),1)],512),[[E,s.value.state]])]),m(`label`,br,[m(`span`,null,r(i.$t(`daq.k1flttpl010`)),1),x(m(`select`,{"onUpdate:modelValue":o[4]||=e=>s.value.template=e,class:`inp-sel`},[m(`option`,xr,r(i.$t(`daq.k1flttpl011`)),1),(l(!0),h(g,null,u(e.templateOptions,e=>(l(),h(`option`,{key:e.ref,value:e.ref},r(e.label)+`(`+r(e.count)+`) `,9,Sr))),128))],512),[[E,s.value.template]])]),m(`label`,Cr,[m(`span`,null,r(i.$t(`daq.k1fltdrv012`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp-sel`},[m(`option`,wr,r(i.$t(`daq.k1fltdrv013`)),1),(l(!0),h(g,null,u(e.driverOptions,e=>(l(),h(`option`,{key:e.kind,value:e.kind},r(e.label)+`(`+r(e.count)+`) `,9,Tr))),128))],512),[[E,s.value.driver]])]),m(`label`,{class:`flt`,title:i.$t(`daq.k1flttim014`)},[m(`span`,null,r(i.$t(`daq.k1flttim015`)),1),x(m(`select`,{"onUpdate:modelValue":o[6]||=e=>s.value.time=e,class:`inp-sel`},[m(`option`,Dr,r(i.$t(`daq.k1flttim016`)),1),m(`option`,Or,r(i.$t(`daq.k1timlv017`)),1),m(`option`,kr,r(i.$t(`daq.k1timhr018`)),1),m(`option`,Ar,r(i.$t(`daq.k1timdy019`)),1),m(`option`,jr,r(i.$t(`daq.k1timld020`)),1),m(`option`,Mr,r(i.$t(`daq.k1timnv021`)),1)],512),[[E,s.value.time]])],8,Er),m(`label`,Nr,[m(`span`,null,r(i.$t(`daq.k1fltsrc022`)),1),x(m(`input`,{"onUpdate:modelValue":o[7]||=e=>s.value.search=e,class:`inp-sel flt-search`,type:`search`,placeholder:i.$t(`daq.k1fltsph023`)},null,8,Pr),[[C,s.value.search]])]),e.hasFilters?(l(),h(`button`,{key:0,class:`mini-btn clear-btn`,onClick:o[8]||=e=>a(`clear-filters`)},r(i.$t(`daq.k1fygck2066`)),1)):v(``,!0)]),m(`span`,Fr,r(e.filteredCount)+` / `+r(e.totalCount)+` `+r(i.$t(`daq.k45uio067`)),1)]),m(`div`,Ir,[m(`div`,{class:t([`ops-panel alarm-panel`,{live:e.alarms.length>0}])},[m(`div`,Lr,[o[9]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),m(`b`,null,r(i.$t(`daq.k1alarm141`)),1),m(`span`,{class:t([`mono cnt`,{hot:e.alarms.length>0}])},r(e.alarms.length),3)]),m(`div`,Rr,[e.alarms.length===0?(l(),h(`p`,zr,r(i.$t(`daq.k1evt001`)),1)):(l(!0),h(g,{key:1},u(e.alarms,e=>(l(),h(`div`,{key:e.id,class:`alarm-row`},[o[10]||=m(`span`,{class:`i-tabler-alert-triangle tri`},null,-1),m(`b`,null,r(e.nodeName),1),m(`span`,Br,r(e.metric),1),m(`span`,Vr,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,Hr,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>a(`ack`,e.id)},r(i.$t(`daq.k1ack142`)),9,Ur)]))),128))])],2),m(`div`,Wr,[m(`div`,Gr,[o[12]||=m(`span`,{class:`i-tabler-activity`},null,-1),m(`b`,null,r(i.$t(`daq.k1evt002`)),1),d(f,{class:`panel-link`,to:`/logs`},{default:y(()=>[S(r(i.$t(`daq.k1evt003`)),1),o[11]||=m(`span`,{class:`i-tabler-arrow-right`},null,-1)]),_:1})]),m(`div`,Kr,[e.opsRecent.length===0?(l(),h(`p`,qr,r(i.$t(`daq.k1evt004`)),1)):(l(!0),h(g,{key:1},u(e.opsRecent,(n,a)=>(l(),h(`div`,{key:`${n.at}:${n.actor}:${n.action}:${a}`,class:`evt-row`},[m(`span`,Jr,r(e.opsTime(n.at)),1),m(`span`,{class:t([`src-badge`,n.actorKind])},r(n.actorKind===`agent`?`Agent`:n.actorKind===`user`?i.$t(`logs.src.user`):i.$t(`logs.src.system`)),3),m(`span`,{class:t([`kind-chip`,n.kind])},r(e.opsKindLabel(n.kind)),3),m(`span`,{class:`txt`,title:n.summary},r(n.summary),9,Yr)]))),128))])])]),m(`table`,{ref_key:`tableEl`,ref:c,class:`nodes-table`},[m(`thead`,null,[m(`tr`,null,[m(`th`,null,r(i.$t(`daq.k45uio067`)),1),m(`th`,null,r(i.$t(`daq.k42w8s068`)),1),m(`th`,null,r(i.$t(`daq.k3mv305069`)),1),m(`th`,null,r(i.$t(`daq.k1trnd001`)),1),m(`th`,null,r(i.$t(`daq.k1l6g2ga070`)),1),m(`th`,null,r(i.$t(`daq.k3zi0nf071`)),1),m(`th`,null,r(i.$t(`daq.k4a0la072`)),1),m(`th`,null,r(i.$t(`daq.k3wj9n051`)),1),m(`th`,{title:i.$t(`daq.k1runtipc131`)},r(i.$t(`daq.k1b2tkyv057`)),9,Xr),m(`th`,{title:i.$t(`daq.k1prdrtip132`)},r(i.$t(`daq.k1prodrc128`)),9,Zr),m(`th`,null,r(i.$t(`daq.k1i8rtqt054`)),1),m(`th`,Qr,r(i.$t(`daq.k40aa6073`)),1)])]),m(`tbody`,null,[e.padTopPx>0?(l(),h(`tr`,$r,[m(`td`,{colspan:11,style:n({height:e.padTopPx+`px`})},null,4)])):v(``,!0),(l(!0),h(g,null,u(e.visibleNodes,e=>(l(),b(p,{key:e.id,n:e},null,8,[`n`]))),128)),e.padBottomPx>0?(l(),h(`tr`,ei,[m(`td`,{colspan:11,style:n({height:e.padBottomPx+`px`})},null,4)])):v(``,!0),e.loaded&&e.totalCount===0?(l(),h(`tr`,ti,[m(`td`,ni,[m(`div`,ri,[m(`p`,ii,r(i.$t(`daq.kvhjyc3075`)),1)])])])):e.loaded&&e.filteredCount===0?(l(),h(`tr`,ai,[m(`td`,oi,[m(`div`,si,[m(`p`,ci,r(i.$t(`daq.k1w20qew076`)),1)])])])):v(``,!0)])],512)])]),_:1},8,[`spinning`])}}}),{__name:`DaqNodePanel`}),ui={class:`page`},di={class:`aw-page-head`},fi={class:`sub`},pi={class:`badges mono`},mi=[`title`],hi=[`title`],gi={key:0,class:`err`},_i=c({__name:`index`,setup(t){let{t:n}=k();P({layout:`default`}),D({title:()=>n(`titles.daq`)});let o=I(),c=L(),u=ee(),g=f(()=>c.lines.some(e=>c.lineStateOf(e.id).active)),_=ce();function b(e){return{write:n(`logs.kind.write`),manual:n(`logs.kind.manual`),alarm:n(`logs.kind.alarm`),line:n(`logs.kind.line`),recipe:n(`logs.kind.recipe`),rollback:n(`logs.kind.rollback`),daq:n(`logs.kind.daq`),system:n(`logs.kind.system`)}[e]??(e||n(`logs.kind.system`))}function x(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:``}async function C(e){try{await o.ackAlarm(e),A.success(n(`daq.k1acked144`))}catch(e){A.error(N(e))}}let w=null;s(()=>{u.ensureConnected(),w=o.ensureWsFeed(),_.ensureLive(),o.load(),o.fetchAlarms(),c.load(),G.load(),c.loadOptimizations(),F(()=>{o.load(),o.fetchAlarms()},5e3,{bgMs:3e4}),F(()=>{c.load()},15e3,{bgMs:6e4})}),a(()=>{w?.()});let{filters:T,hasFilters:E,clearFilters:j,templateOptions:M,driverOptions:te,boundDevices:V,filteredNodes:H,filteredLine:U,filteredLineState:W}=z(),G=ne(),{driverCatalog:K,driverReady:q}=re(),{reconnecting:de,doReconnect:fe}=ie();function pe(e,t){o.controllerAction(`config`,e,t)}let{nodesTableRef:J,visibleNodes:me,padTopPx:he,padBottomPx:Y,resetToTop:ge}=ae(H);p(()=>H.value.length,()=>{ge()});let X=R(K,n),Z=B(n),ve=se(n),Q=oe();return(t,n)=>{let a=le,s=ue,u=_e,f=Fe,p=ot,w=Kt,D=bn,k=li,A=O;return l(),h(`div`,ui,[m(`div`,di,[m(`div`,null,[n[13]||=m(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / DAQ CONSOLE `,-1),m(`h1`,null,r(t.$t(`daq.k1emg364011`)),1),m(`p`,fi,r(t.$t(`daq.k1wmg2bz012`)),1)]),m(`div`,pi,[m(`span`,{class:`badge`,title:t.$t(`daq.k1tsdbtip133`)},`TSDB · `+r(e(o).meta.tsdb),9,mi),m(`span`,{class:`badge`,title:t.$t(`daq.k1queuet134`)},`QUEUE · `+r(e(o).meta.queue),9,hi)])]),d(a,{loaded:e(o).loaded,"filtered-line":e(U),"filtered-line-state":e(W),"any-line-active":g.value},null,8,[`loaded`,`filtered-line`,`filtered-line-state`,`any-line-active`]),d(s,{infra:e(o).meta.infra,reconnecting:e(de),onReconnect:e(fe)},null,8,[`infra`,`reconnecting`,`onReconnect`]),d(u,{alarms:e(o).alarms,onAck:C},null,8,[`alarms`]),d(f,{controller:e(o).controller,"onUpdate:controller":n[0]||=t=>e(o).controller=t,meta:e(o).meta,lines:e(c).lines,"line-state-of":t=>e(c).lineStateOf(t),onAction:n[1]||=t=>e(o).controllerAction(t),onConfig:pe,onOpenAdd:n[2]||=t=>e(X).open.value=!0,onOpenTemplates:n[3]||=t=>{e(Z).tplOpen.value=!0,e(Z).resetTplForm()}},null,8,[`controller`,`meta`,`lines`,`line-state-of`]),d(p,{open:e(X).open.value,"onUpdate:open":n[4]||=t=>e(X).open.value=t,form:e(X).form,"onUpdate:form":n[5]||=t=>e(X).form=t,templates:e(o).templates,"driver-catalog":e(K),"driver-ready":e(q),onTest:e(X).doTestConnection,onSubmit:e(X).doAddNode,onClose:n[6]||=t=>e(X).open.value=!1},null,8,[`open`,`form`,`templates`,`driver-catalog`,`driver-ready`,`onTest`,`onSubmit`]),d(w,{open:e(Z).tplOpen.value,"onUpdate:open":n[7]||=t=>e(Z).tplOpen.value=t,form:e(Z).tplForm.value,"onUpdate:form":n[8]||=t=>e(Z).tplForm.value=t,"custom-tpls":e(Z).customTpls.value,"builtin-tpls":e(Z).builtinTpls.value,"icon-choices":e(Z).iconChoices,"icon-labels":e(ve),editing:e(Z).tplEditing.value,saving:e(Z).tplSaving.value,error:e(Z).tplError.value,"confirming-del":e(Z).confirmingDel.value,onEdit:e(Z).editTpl,onCopy:e(Z).copyTpl,onRemove:e(Z).askDelTpl,onReset:e(Z).resetTplForm,onSave:e(Z).saveTpl},null,8,[`open`,`form`,`custom-tpls`,`builtin-tpls`,`icon-choices`,`icon-labels`,`editing`,`saving`,`error`,`confirming-del`,`onEdit`,`onCopy`,`onRemove`,`onReset`,`onSave`]),d(D,{optimizations:e(c).optimizations,lines:e(c).lines,open:e(Q).optOpen.value,mounted:e(Q).optMounted.value,"filter-line":e(Q).optFilterLine.value,"filter-recipe":e(Q).optFilterRecipe.value,"recipe-options":e(Q).optRecipeOptions.value,"series-of":e(Q).optSeriesOf.value,"series-loading":e(Q).optSeriesLoading.value,"status-key":e(Q).optStatusKey,"series-path":e(Q).seriesPath,"fmt-point":e(Q).fmtPoint,onToggle:e(Q).toggleOptPanel,onSelectLine:n[9]||=t=>e(Q).optFilterLine.value=t,onSelectRecipe:n[10]||=t=>e(Q).optFilterRecipe.value=t,onLineChange:e(Q).onOptLineChange,onFilter:e(Q).filterOpts,onSeries:e(Q).showOptSeries,onRollback:e(Q).rollbackRecord},null,8,[`optimizations`,`lines`,`open`,`mounted`,`filter-line`,`filter-recipe`,`recipe-options`,`series-of`,`series-loading`,`status-key`,`series-path`,`fmt-point`,`onToggle`,`onLineChange`,`onFilter`,`onSeries`,`onRollback`]),d(k,{"table-el":e(J),"onUpdate:tableEl":n[11]||=e=>i(J)?J.value=e:null,filters:e(T),"onUpdate:filters":n[12]||=e=>i(T)?T.value=e:null,"has-filters":e(E),lines:e(c).lines,"bound-devices":e(V),"template-options":e(M),"driver-options":e(te),"filtered-count":e(H).length,"total-count":e(o).nodes.length,"ops-recent":e(_).recent,"ops-kind-label":b,"ops-time":x,alarms:e(o).alarms,"visible-nodes":e(me),"pad-top-px":e(he),"pad-bottom-px":e(Y),loading:!e(o).loaded&&!e(o).error,loaded:e(o).loaded,error:e(o).error,onClearFilters:e(j),onAck:C},null,8,[`table-el`,`filters`,`has-filters`,`lines`,`bound-devices`,`template-options`,`driver-options`,`filtered-count`,`total-count`,`ops-recent`,`alarms`,`visible-nodes`,`pad-top-px`,`pad-bottom-px`,`loading`,`loaded`,`error`,`onClearFilters`]),e(o).error?(l(),h(`p`,gi,[S(r(e(o).error)+`(`,1),d(A,{to:`/workshop`},{default:y(()=>[S(r(t.$t(`daq.k1bhhheq077`)),1)]),_:1}),n[14]||=S(`) `,-1)])):v(``,!0)])}}});export{_i as default};
1
+ import{N as e,dt as t,ft as n,mt as r,u as i}from"./CavpkQb0.js";import{P as a,Q as o,R as s,S as c,V as l,W as u,b as d,d as f,et as p,f as m,h,i as g,k as _,m as v,nt as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,o as T,s as E}from"./Dqz5HiXa.js";import{n as D}from"./DkpmSnHX.js";import{t as O}from"./Cmp8PMrA.js";import{n as k}from"./Cnrmlixo.js";import{a as A}from"./wDPc4SSR.js";import{t as j}from"./DzBbYWrw2.js";import{t as M}from"./BDNMzG2s2.js";import{t as ee}from"./DWsgRq2c.js";import{t as N}from"./JgheoP3e.js";import{t as P}from"./CNs_Ozdc.js";import{t as F}from"./B8cnjDtt.js";import{a as te,t as I}from"./Bl5dYv4m.js";import{t as L}from"./DxagrjB8.js";import{t as ne}from"./D6lZftfy.js";import{t as R}from"./LwIFGLgF.js";import{n as re,r as z,t as ie}from"./IU-UGkCJ2.js";import{t as ae}from"./csitHKnE2.js";import{t as oe}from"./1g9IT9Qh2.js";import{n as B,t as se}from"./Bhe953zV2.js";import{t as ce}from"./B1RT9NTO2.js";var V={class:`txt`},H={class:`mono`},U={key:1,class:`infra-banner`},W={class:`txt`},le=Object.assign(c({__name:`DaqLineBanner`,props:{loaded:{type:Boolean},filteredLine:{},filteredLineState:{},anyLineActive:{type:Boolean}},setup(e){return(n,i)=>{let a=O;return e.loaded&&e.filteredLine&&e.filteredLineState?(l(),h(`div`,{key:0,class:t([`infra-banner`,{good:e.filteredLineState.active}])},[m(`span`,{class:t(e.filteredLineState.active?`i-tabler-circle-check`:`i-tabler-info-circle`)},null,2),m(`span`,V,[e.filteredLineState.active?(l(),h(g,{key:0},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k15lvw0o105`)),1),m(`b`,null,r(e.filteredLineState.productName),1),i[0]||=S(` · Recipe:`,-1),m(`b`,null,r(e.filteredLineState.recipeName),1),m(`small`,H,r(n.$t(`daq.k400lb086`))+` `+r(e.filteredLineState.runId?.slice(0,8))+` · `+r(n.$t(`daq.k3zkt2106`))+` `+r(e.filteredLineState.startedAt?.slice(11,19))+` `+r(n.$t(`daq.k69vag8108`))+` `+r(e.filteredLineState.taggedSamples)+` `+r(n.$t(`daq.k4118o092`)),1)],64)):(l(),h(g,{key:1},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k12uge2o107`)),1)],64))]),d(a,{class:`pill-btn`,to:`/dcw/${e.filteredLine.id}`},{default:y(()=>[S(r(e.filteredLineState.active?n.$t(`daq.k1ukoy0v093`):n.$t(`daq.k1cg78i8109`)),1)]),_:1},8,[`to`])],2)):e.loaded&&!e.anyLineActive?(l(),h(`div`,U,[i[1]||=m(`span`,{class:`i-tabler-info-circle`},null,-1),m(`span`,W,[S(r(n.$t(`daq.k19onw5w013`)),1),d(a,{to:`/dcw`},{default:y(()=>[S(r(n.$t(`daq.k1b2tk5c014`)),1)]),_:1}),S(r(n.$t(`daq.k1u9wnlg015`)),1)])])):v(``,!0)}}}),{__name:`DaqLineBanner`}),G={key:0,class:`infra-banner`},K={class:`txt`},q=[`disabled`],ue=Object.assign(c({__name:`DaqInfraBanner`,props:{infra:{},reconnecting:{type:Boolean}},emits:[`reconnect`],setup(e,{emit:t}){let n=t;return(t,i)=>e.infra?.degraded?(l(),h(`div`,G,[i[1]||=m(`span`,{class:`i-tabler-alert-triangle`},null,-1),m(`span`,K,r(e.infra.warning),1),m(`button`,{class:`pill-btn`,disabled:e.reconnecting,onClick:i[0]||=e=>n(`reconnect`)},r(e.reconnecting?t.$t(`daq.k1ld43ur094`):t.$t(`daq.kzg9805110`)),9,q)])):v(``,!0)}}),{__name:`DaqInfraBanner`}),de={key:0,class:`alarm-bar`},fe={class:`bar-label`},pe={class:`mono`},J={class:`alarm-scroll`},me=[`title`],he={class:`mono dim`},Y={class:`mono`},ge={key:0,class:`esc mono`},X=[`onClick`],_e=Object.assign(c({__name:`DaqAlarmBar`,props:{alarms:{}},emits:[`ack`],setup(e,{emit:t}){let n=t;return(t,i)=>e.alarms.length?(l(),h(`div`,de,[m(`span`,fe,[i[0]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),S(` `+r(t.$t(`daq.k1alarm141`))+` `,1),m(`b`,pe,r(e.alarms.length),1)]),m(`div`,J,[(l(!0),h(g,null,u(e.alarms,e=>(l(),h(`span`,{key:e.id,class:`alarm-item`,title:t.$t(`daq.k1esc143`,{p0:e.escalation})},[m(`b`,null,r(e.nodeName),1),m(`span`,he,r(e.metric),1),m(`span`,Y,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,ge,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>n(`ack`,e.id)},r(t.$t(`daq.k1ack142`)),9,X)],8,me))),128))])])):v(``,!0)}}),{__name:`DaqAlarmBar`}),Z={class:`aw-tile ctrl-card`},ve={class:`ctrl-row`},Q={class:`ctrl-left`},ye=[`title`],be={class:`cycle mono`},xe=[`title`],Se={class:`ctrl-right`},Ce={class:`ctrl-metrics mono`},we=[`title`],Te=[`title`],Ee=[`title`],De=[`title`],Oe={class:`line-strip`},ke={class:`strip-label`},Ae={class:`mono`},je={class:`strip-scroll`},Me={key:0,class:`lp-run`},Ne={key:1,class:`lp-idle`},Pe={class:`lp-idle`},Fe=Object.assign(c({__name:`DaqControlCard`,props:_({meta:{},lines:{},lineStateOf:{type:Function}},{controller:{required:!0},controllerModifiers:{}}),emits:_([`action`,`config`,`open-add`,`open-templates`],[`update:controller`]),setup(e,{emit:i}){let a=i,s=o(e,`controller`);return(i,o)=>{let c=O;return l(),h(`section`,Z,[m(`div`,ve,[m(`div`,Q,[m(`button`,{class:t([`aw-pill`,{running:s.value.running}]),title:i.$t(`daq.k1snap145`),onClick:o[0]||=e=>a(`action`,s.value.running?`pause`:`resume`)},[m(`span`,{class:t(s.value.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(s.value.running?i.$t(`daq.kpui00095`):i.$t(`daq.knxpdpt111`)),1)],10,ye),m(`label`,be,[S(r(i.$t(`daq.k1ifahxj016`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>s.value.defaultIntervalMs=e,type:`number`,min:`200`,max:`60000`,step:`100`,onChange:o[2]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultIntervalMs,void 0,{number:!0}]]),o[7]||=S(`ms `,-1)]),m(`label`,{class:`cycle mono`,title:i.$t(`daq.k1e8lcoo001`)},[S(r(i.$t(`daq.k1if98n0017`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.defaultPublishIntervalMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,onChange:o[4]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultPublishIntervalMs,void 0,{number:!0}]]),o[8]||=S(`ms `,-1)],8,xe)]),m(`div`,Se,[m(`span`,Ce,[m(`span`,null,r(i.$t(`daq.k45uio067`))+` `+r(s.value.nodesOnline)+`/`+r(s.value.nodesTotal),1),o[9]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.k1yztsu4002`)},r(i.$t(`daq.k3xagp087`))+` `+r(e.meta.produced),9,we),o[10]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.ko09iha003`)},r(i.$t(`daq.k427eu088`))+` `+r(e.meta.consumed),9,Te),o[11]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{class:t({warn:(e.meta.dropped??0)>0}),title:i.$t(`daq.k1droptip135`)},r(i.$t(`daq.k3w8go089`))+` `+r(e.meta.dropped),11,Ee),o[12]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.kj1jbmw004`)},r(i.$t(`daq.k3wusd090`))+` `+r(e.meta.samplesStored),9,De)]),m(`button`,{class:`aw-pill outline add-btn`,onClick:o[5]||=e=>a(`open-templates`)},[o[13]||=m(`span`,{class:`i-tabler-adjustments-horizontal`},null,-1),S(` `+r(i.$t(`daq.k1f5cv0s018`)),1)]),m(`button`,{class:`aw-pill add-btn`,onClick:o[6]||=e=>a(`open-add`)},[o[14]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+r(i.$t(`daq.k1fn0ukb019`)),1)])])]),m(`div`,Oe,[m(`span`,ke,[o[15]||=m(`span`,{class:`i-tabler-route`},null,-1),S(` `+r(i.$t(`daq.k1b2o3b6020`)),1),m(`small`,Ae,r(e.lines.length),1)]),m(`div`,je,[(l(!0),h(g,null,u(e.lines,a=>(l(),b(c,{key:a.id,class:t([`line-pill`,{on:e.lineStateOf(a.id).active}]),style:n({"--lc":a.color}),to:`/dcw/${a.id}`,title:e.lineStateOf(a.id).active?i.$t(`daq.k3v957u120`,{p0:a.name,p1:e.lineStateOf(a.id).productName,p2:e.lineStateOf(a.id).recipeName}):i.$t(`daq.k1x7jnru121`,{p0:a.name})},{default:y(()=>[o[16]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(a.name),1),e.lineStateOf(a.id).active?(l(),h(`small`,Me,r(e.lineStateOf(a.id).recipeName??i.$t(`daq.k3vp67i096`)),1)):(l(),h(`small`,Ne,r(i.$t(`daq.k3zgkk021`)),1))]),_:2},1032,[`class`,`style`,`to`,`title`]))),128)),e.lines.length===0?(l(),b(c,{key:0,class:`line-pill`,to:`/dcw`},{default:y(()=>[o[17]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(i.$t(`daq.k1el12b1022`)),1),m(`small`,Pe,r(i.$t(`daq.k8jxxe8023`)),1)]),_:1})):v(``,!0)])])])}}}),{__name:`DaqControlCard`}),Ie={class:`modal`},Le={class:`m-title`},Re={class:`seg-row`},ze={class:`f-grid`},Be={class:`f`},Ve=[`value`],He={class:`f`},Ue=[`placeholder`],We={key:0,class:`f`},Ge=[`placeholder`],Ke={class:`f-grid`},qe={class:`f`},Je=[`value`],Ye={key:0,class:`f-grid driver-form`},Xe={key:0},Ze=[`onUpdate:modelValue`],Qe=[`value`],$e=[`onUpdate:modelValue`,`type`,`placeholder`],et={key:2,class:`hint`},tt={class:`test-row`},nt=[`disabled`],rt={key:1,class:`m-err`},it={class:`m-actions`},at=[`disabled`,`title`],ot=Object.assign(c({__name:`DaqAddNodeModal`,props:_({templates:{},driverCatalog:{},driverReady:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`test`,`submit`,`close`],[`update:open`,`update:form`]),setup(e,{emit:n}){let i=n,a=o(e,`open`),s=o(e,`form`);return(n,o)=>a.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[9]||=w(e=>i(`close`),[`self`])},[m(`div`,Ie,[m(`h3`,Le,r(n.$t(`daq.k19rioqa024`)),1),m(`div`,Re,[m(`button`,{class:t([`seg`,{on:s.value.scenario===`mock`}]),onClick:o[0]||=e=>s.value.scenario=`mock`},r(n.$t(`daq.k1p5c1un025`)),3),m(`button`,{class:t([`seg`,{on:s.value.scenario===`real`}]),onClick:o[1]||=e=>s.value.scenario=`real`},r(n.$t(`daq.k1cbcp3o026`)),3)]),m(`div`,ze,[m(`label`,Be,[m(`span`,null,r(n.$t(`daq.k1fsgerc027`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.template=e,class:`inp`},[(l(!0),h(g,null,u(e.templates,e=>(l(),h(`option`,{key:e.key,value:e.key},r(e.name)+` · `+r(e.ch)+`(`+r(e.min)+`~`+r(e.max)+` `+r(e.unit)+`)`+r(e.builtin?``:n.$t(`daq.kr45rk9097`)),9,Ve))),128))],512),[[E,s.value.template]])]),m(`label`,He,[m(`span`,null,r(n.$t(`daq.k1ce2k1y028`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.name=e,class:`inp`,placeholder:n.$t(`daq.kgpxzy3005`)},null,8,Ue),[[C,s.value.name]])]),s.value.scenario===`real`?(l(),h(`label`,We,[m(`span`,null,r(n.$t(`daq.k13mfsfc029`)),1),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>s.value.interval=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`inp`,placeholder:n.$t(`daq.k1eg1000a136`)},null,8,Ge),[[C,s.value.interval,void 0,{number:!0}]])])):v(``,!0)]),s.value.scenario===`real`?(l(),h(g,{key:0},[m(`div`,Ke,[m(`label`,qe,[m(`span`,null,r(n.$t(`daq.k1kt87rx030`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp`},[(l(!0),h(g,null,u(e.driverCatalog.filter(e=>e.status!==`planned`),t=>(l(),h(`option`,{key:t.kind,value:t.kind},r(t.label)+r(t.plugin?` ⌁`:``)+r(e.driverReady(t.kind)?``:n.$t(`daq.kjbqphp098`)),9,Je))),128))],512),[[E,s.value.driver]])])]),s.value.fields.length?(l(),h(`div`,Ye,[(l(!0),h(g,null,u(s.value.fields,e=>(l(),h(`label`,{key:e.key,class:`f`},[m(`span`,null,[S(r(e.label),1),e.required?(l(),h(`em`,Xe,`*`)):v(``,!0)]),e.type===`select`?x((l(),h(`select`,{key:0,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,class:`inp`},[(l(!0),h(g,null,u(e.options,e=>(l(),h(`option`,{key:e.value,value:e.value},r(e.label),9,Qe))),128))],8,Ze)),[[E,s.value.cfg[e.key]]]):x((l(),h(`input`,{key:1,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,$e)),[[T,s.value.cfg[e.key]]]),e.hint?(l(),h(`small`,et,r(e.hint),1)):v(``,!0)]))),128))])):v(``,!0),m(`div`,tt,[m(`button`,{class:`pill-btn`,disabled:s.value.testing,onClick:o[6]||=e=>i(`test`)},r(s.value.testing?n.$t(`daq.k1fsh720099`):n.$t(`daq.k1fstglk112`)),9,nt),s.value.test?(l(),h(`span`,{key:0,class:t([`test-result`,s.value.test.ok?`ok`:`bad`])},[S(r(s.value.test.ok?`✓`:`✗`)+` `+r(s.value.test.message),1),s.value.test.latencyMs==null?v(``,!0):(l(),h(g,{key:0},[S(`(`+r(s.value.test.latencyMs)+`ms)`,1)],64))],2)):v(``,!0)])],64)):v(``,!0),s.value.error?(l(),h(`p`,rt,r(s.value.error),1)):v(``,!0),m(`div`,it,[m(`button`,{class:`aw-pill outline`,onClick:o[7]||=e=>i(`close`)},r(n.$t(`daq.k3xdnn031`)),1),m(`button`,{class:`aw-pill`,disabled:s.value.saving||s.value.scenario===`real`&&s.value.test!=null&&!s.value.test.ok,title:s.value.scenario===`real`&&!(s.value.test&&s.value.test.ok)?n.$t(`daq.k1needtst137`):``,onClick:o[8]||=e=>i(`submit`)},r(s.value.saving?n.$t(`daq.k1bg4759100`):s.value.scenario===`real`?n.$t(`daq.k7pxjxo113`):n.$t(`daq.k1bge46t118`)),9,at)])])])):v(``,!0)}}),{__name:`DaqAddNodeModal`}),st={class:`modal`},ct={class:`m-title`},lt={class:`sec-label`},ut={class:`tpl-table`},dt={class:`mono dim`},ft={class:`mono range`},pt={class:`right actions`},mt=[`onClick`],ht=[`onClick`],gt={key:0},_t={colspan:`3`,class:`empty`},vt={class:`sec-label`},yt={class:`f-grid`},bt={class:`f`},xt=[`placeholder`],St={class:`f`},Ct=[`placeholder`],wt={class:`f`},Tt=[`placeholder`],Et={class:`f`},Dt=[`placeholder`],Ot={class:`f`},kt={class:`f`},At={class:`f`},jt={class:`f`},Mt=[`value`],Nt={class:`f`},Pt={class:`hint`},Ft={class:`f`},It={class:`hint`},Lt={key:0,class:`m-err`},Rt={class:`m-actions`},zt=[`disabled`],Bt={class:`sec-label`},Vt={class:`tpl-table`},Ht={class:`mono dim`},Ut={class:`mono range`},Wt={class:`right actions`},Gt=[`onClick`],Kt=Object.assign(c({__name:`DaqTemplateModal`,props:_({customTpls:{},builtinTpls:{},iconChoices:{},iconLabels:{},editing:{},saving:{type:Boolean},error:{},confirmingDel:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`edit`,`copy`,`remove`,`reset`,`save`,`close`],[`update:open`,`update:form`]),setup(e,{emit:t}){let n=t,i=o(e,`open`),a=o(e,`form`);return(t,o)=>i.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[12]||=w(e=>n(`close`),[`self`])},[m(`div`,st,[m(`h3`,ct,r(t.$t(`daq.k11mv96s032`)),1),m(`p`,lt,r(t.$t(`daq.ktji4ky033`)),1),m(`table`,ut,[m(`tbody`,null,[(l(!0),h(g,null,u(e.customTpls,i=>(l(),h(`tr`,{key:i.key},[m(`td`,null,[m(`b`,null,r(i.name),1),m(`small`,dt,r(i.code),1)]),m(`td`,ft,r(i.min)+`~`+r(i.max)+` `+r(i.unit)+` · `+r(i.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,pt,[m(`button`,{class:`mini-btn`,onClick:e=>n(`edit`,i)},r(t.$t(`daq.k45eb0034`)),9,mt),m(`button`,{class:`mini-btn danger`,onClick:e=>n(`remove`,i)},r(e.confirmingDel===i.key?t.$t(`daq.k1hhheu3101`):t.$t(`daq.k3xakp114`)),9,ht)])]))),128)),e.customTpls.length?v(``,!0):(l(),h(`tr`,gt,[m(`td`,_t,r(t.$t(`daq.kztvzbo035`)),1)]))])]),m(`p`,vt,r(e.editing?t.$t(`daq.k1iiph0s102`):t.$t(`daq.k1efixrj115`)),1),m(`div`,yt,[m(`label`,bt,[m(`span`,null,[S(r(t.$t(`daq.k3xhia036`)),1),o[13]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[0]||=e=>a.value.name=e,class:`inp`,placeholder:t.$t(`daq.k5opd2t006`)},null,8,xt),[[C,a.value.name]])]),m(`label`,St,[m(`span`,null,[S(r(t.$t(`daq.k3x4ef037`)),1),o[14]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>a.value.unit=e,class:`inp`,placeholder:t.$t(`daq.unitPh`)},null,8,Ct),[[C,a.value.unit]])]),m(`label`,wt,[m(`span`,null,r(t.$t(`daq.k1l477m0038`)),1),x(m(`input`,{"onUpdate:modelValue":o[2]||=e=>a.value.ch=e,class:`inp`,placeholder:t.$t(`daq.kk8o4tl007`)},null,8,Tt),[[C,a.value.ch]])]),m(`label`,Et,[m(`span`,null,r(t.$t(`daq.k1ayxrqb039`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>a.value.code=e,class:`inp`,placeholder:t.$t(`daq.kzn3l7l008`)},null,8,Dt),[[C,a.value.code]])]),m(`label`,Ot,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv5m040`)),1),o[15]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>a.value.min=e,type:`number`,class:`inp`},null,512),[[C,a.value.min,void 0,{number:!0}]])]),m(`label`,kt,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv4p041`)),1),o[16]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[5]||=e=>a.value.max=e,type:`number`,class:`inp`},null,512),[[C,a.value.max,void 0,{number:!0}]])]),m(`label`,At,[m(`span`,null,r(t.$t(`daq.k3mxmcx042`)),1),x(m(`input`,{"onUpdate:modelValue":o[6]||=e=>a.value.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[C,a.value.decimals,void 0,{number:!0}]])]),m(`label`,jt,[m(`span`,null,r(t.$t(`daq.k3xx56043`)),1),x(m(`select`,{"onUpdate:modelValue":o[7]||=e=>a.value.icon=e,class:`inp`},[(l(!0),h(g,null,u(e.iconChoices,t=>(l(),h(`option`,{key:t,value:t},r(e.iconLabels[t]),9,Mt))),128))],512),[[E,a.value.icon]])]),m(`label`,Nt,[m(`span`,null,r(t.$t(`daq.k1f4eknv044`)),1),x(m(`input`,{"onUpdate:modelValue":o[8]||=e=>a.value.base=e,type:`number`,class:`inp`},null,512),[[C,a.value.base,void 0,{number:!0}]]),m(`small`,Pt,r(t.$t(`daq.kytd15s045`)),1)]),m(`label`,Ft,[m(`span`,null,r(t.$t(`daq.k1f4ifpo046`)),1),x(m(`input`,{"onUpdate:modelValue":o[9]||=e=>a.value.amp=e,type:`number`,class:`inp`},null,512),[[C,a.value.amp,void 0,{number:!0}]]),m(`small`,It,r(t.$t(`daq.ksp2aji047`)),1)])]),e.error?(l(),h(`p`,Lt,r(e.error),1)):v(``,!0),m(`div`,Rt,[m(`button`,{class:`aw-pill outline`,onClick:o[10]||=e=>n(`reset`)},r(t.$t(`daq.k48p40048`)),1),m(`button`,{class:`pill-btn`,disabled:e.saving,onClick:o[11]||=e=>n(`save`)},r(e.saving?t.$t(`daq.k1b38d59103`):e.editing?t.$t(`daq.k1b39281116`):t.$t(`daq.k1b3dtga119`)),9,zt)]),m(`p`,Bt,r(t.$t(`daq.k1w8s84s049`)),1),m(`table`,Vt,[m(`tbody`,null,[(l(!0),h(g,null,u(e.builtinTpls,e=>(l(),h(`tr`,{key:e.key},[m(`td`,null,[m(`b`,null,r(e.name),1),m(`small`,Ht,r(e.code),1)]),m(`td`,Ut,r(e.min)+`~`+r(e.max)+` `+r(e.unit)+` · `+r(e.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,Wt,[m(`button`,{class:`mini-btn`,onClick:t=>n(`copy`,e)},r(t.$t(`daq.k3y694050`)),9,Gt)])]))),128))])])])])):v(``,!0)}}),{__name:`DaqTemplateModal`}),qt={class:`aw-tile opt-card`},Jt={class:`opt-count mono`},Yt={class:`opt-filters`},Xt=[`value`],Zt={value:``},Qt=[`value`],$t=[`value`],en={value:``},tn=[`value`],nn={key:0,class:`opt-empty`},rn={class:`opt-list`},an={class:`opt-line1`},on={class:`opt-node`},sn={class:`mono opt-params`},cn={class:`mono opt-time`},ln=[`disabled`,`onClick`],un=[`onClick`],dn={class:`opt-line2 mono`},fn={key:1,class:`opt-open-hint`},pn={key:2,class:`opt-agg`},mn={key:3,class:`opt-agg`},hn={key:0,class:`opt-series`},gn={class:`opt-spark`,viewBox:`0 0 240 36`,preserveAspectRatio:`none`},_n=[`points`],vn={class:`mono`},yn={key:0,class:`opt-empty`},bn=Object.assign(c({__name:`DaqOptPanel`,props:{optimizations:{},lines:{},open:{type:Boolean},mounted:{type:Boolean},filterLine:{},filterRecipe:{},recipeOptions:{},seriesOf:{},seriesLoading:{},statusKey:{type:Function},seriesPath:{type:Function},fmtPoint:{type:Function}},emits:[`toggle`,`selectLine`,`selectRecipe`,`line-change`,`filter`,`series`,`rollback`],setup(e,{emit:n}){let i=n;function a(e){i(`selectLine`,e.target.value),i(`line-change`)}function o(e){i(`selectRecipe`,e.target.value),i(`filter`)}return(n,s)=>(l(),h(`section`,qt,[m(`button`,{class:`opt-head`,onClick:s[0]||=e=>i(`toggle`)},[s[2]||=m(`span`,{class:`i-tabler-flask`},null,-1),m(`b`,null,r(n.$t(`daq.k1optt001`)),1),m(`span`,Jt,r(e.optimizations.length),1),m(`span`,{class:t([`opt-chevron`,{open:e.open}])},null,2)]),m(`div`,{class:t([`opt-body`,{open:e.open}])},[e.mounted?(l(),h(g,{key:0},[m(`div`,Yt,[m(`select`,{value:e.filterLine,class:`inp-sel`,onChange:a},[m(`option`,Zt,r(n.$t(`daq.k1optf001`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,Qt))),128))],40,Xt),m(`select`,{value:e.filterRecipe,class:`inp-sel`,onChange:o},[m(`option`,en,r(n.$t(`daq.k1optf004`)),1),(l(!0),h(g,null,u(e.recipeOptions,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,tn))),128))],40,$t),m(`button`,{class:`mini-act`,onClick:s[1]||=e=>i(`filter`)},r(n.$t(`daq.k1optf002`)),1)]),e.optimizations.length===0?(l(),h(`p`,nn,r(n.$t(`daq.k1opte001`)),1)):v(``,!0),m(`ul`,rn,[(l(!0),h(g,null,u(e.optimizations.slice(0,30),a=>(l(),h(`li`,{key:a.id,class:t([`opt-row`,a.status])},[m(`div`,an,[m(`span`,{class:t([`opt-status`,a.status])},r(n.$t(e.statusKey(a.status))),3),m(`b`,on,r(a.nodeName),1),m(`span`,sn,r(a.params[0]?.from??`?`)+` → `+r(a.params[0]?.to),1),m(`span`,cn,r(a.setAt.slice(5,16).replace(`T`,` `)),1),e.seriesOf[a.id]?v(``,!0):(l(),h(`button`,{key:0,class:`mini-act`,disabled:e.seriesLoading===a.id,onClick:e=>i(`series`,a.id)},r(n.$t(`daq.k1opta001`)),9,ln)),a.status===`open`?(l(),h(`button`,{key:1,class:`mini-act danger`,onClick:e=>i(`rollback`,a.id)},r(n.$t(`daq.k1opta002`)),9,un)):v(``,!0)]),m(`div`,dn,[a.judge?(l(),h(`span`,{key:0,class:t([`opt-judge`,a.judge.verdict])},r(a.judge.verdict)+`(`+r(a.judge.by)+`): `+r(a.judge.reason.slice(0,70)),3)):a.status===`open`?(l(),h(`span`,fn,r(n.$t(`daq.k1opto001`)),1)):v(``,!0),a.aggPending?(l(),h(`span`,pn,r(n.$t(`daq.k1optw001`)),1)):a.windowAgg&&a.windowAgg.channels.length?(l(),h(`span`,mn,[(l(!0),h(g,null,u(a.windowAgg.channels,t=>(l(),h(g,{key:t.daqNodeId},[S(r(t.ch)+` `+r(e.fmtPoint(t.min))+`~`+r(e.fmtPoint(t.max))+`(`+r(n.$t(`daq.k1optw002`))+r(t.breaches<0?`-`:t.breaches)+`) `,1)],64))),128))])):v(``,!0)]),e.seriesOf[a.id]?(l(),h(`div`,hn,[(l(!0),h(g,null,u(e.seriesOf[a.id]?.channels??[],t=>(l(),h(`div`,{key:t.nodeId,class:`opt-ch`},[(l(),h(`svg`,gn,[m(`polyline`,{points:e.seriesPath(t.points)},null,8,_n)])),m(`span`,vn,r(t.ch)+` `+r(e.fmtPoint(t.points.at(-1)?.value??t.points.at(-1)?.avg))+r(t.unit),1)]))),128)),(e.seriesOf[a.id]?.channels.length??0)===0?(l(),h(`p`,yn,r(n.$t(`daq.k1opte002`)),1)):v(``,!0)])):v(``,!0)],2))),128))])],64)):v(``,!0)],2)]))}}),{__name:`DaqOptPanel`}),xn={class:`mono dim`},Sn={class:`mono ch`},Cn=[`title`],wn=[`title`],Tn={class:`trend-cell`},En=[`title`],Dn=[`y1`,`y2`],On=[`y1`,`y2`],kn=[`points`],An=[`y1`,`y2`],jn={class:`mono`},Mn={class:`mono`},Nn=[`title`],Pn=[`value`,`title`],Fn={value:``},In=[`value`],Ln=[`title`],Rn={key:1,class:`run-pill na`},zn={class:`prod-cell`},Bn=[`title`],Vn=[`title`],Hn={key:1,class:`dim`},Un={class:`dev-binds`},Wn=[`title`],Gn=[`onClick`],Kn=[`title`],qn={value:``},Jn=[`value`,`disabled`],Yn={class:`right`},Xn=[`title`],Zn=120,$=26,Qn=Object.assign(M(c({__name:`DaqNodeRow`,props:{n:{}},setup(n){let i=n,{t:a}=k(),o=I(),s=L(),c=ne();function p(e){if(!e.lastAt)return!0;let t=e.intervalMs??o.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function _(e){return e.enabled?e.lineId?s.lineStateOf(e.lineId).active?!o.controller.running||p(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}function b(e){let t=_(e);return t===`ok`||t===`warn`||t===`alarm`}function x(e){if(!e.lineId)return null;let t=s.lineStateOf(e.lineId);return!t.active||!t.recipeId?null:s.recipes.find(e=>e.id===t.recipeId)?.daqWindows?.find(t=>t.nodeId===e.id)??null}function C(e){let t=x(e);return!t||e.value==null?!1:t.min!=null&&e.value<t.min||t.max!=null&&e.value>t.max}function w(e){let t=x(e);return t&&(t.min!=null||t.max!=null)?{min:t.min,max:t.max}:e.warnLow!=null||e.warnHigh!=null?{min:e.warnLow,max:e.warnHigh}:{min:null,max:null}}function T(e){let t=e.filter(Number.isFinite);if(t.length<2)return``;let n=Math.min(...t),r=Math.max(...t)-n||1;return t.map((e,i)=>`${(i/(t.length-1)*Zn).toFixed(1)},${($-(e-n)/r*24-1).toFixed(1)}`).join(` `)}function E(e,t){if(t==null||!Number.isFinite(t))return null;let n=e.filter(Number.isFinite);if(n.length<2)return null;let r=Math.min(...n,t),i=Math.max(...n,t)-r||1;return Number(($-(t-r)/i*24-1).toFixed(1))}function D(e){let t=_(e),n=a(`daq.k44c2n065`);if(t===`offline`)return e.lastError?{key:t,label:n,tip:e.lastError}:{key:t,label:n,tip:o.controller.running?a(`daq.k1staled129`,{p0:Math.round(Math.max((e.intervalMs??o.controller.defaultIntervalMs)*4,12e3)/1e3)}):a(`daq.k1gateoff140`)};let r={ok:a(`daq.k41k5c062`),warn:a(`daq.k49z8v063`),alarm:a(`daq.k3xmid064`),offline:n,idle:a(`daq.k3ozyqz117`),disabled:a(`daq.k1disabl130`),unassigned:a(`daq.k3ootr6053`)};if(t===`idle`)return{key:t,label:r.idle,tip:a(`daq.k1idlehin139`)};if((t===`ok`||t===`warn`||t===`alarm`)&&C(e)){let t=x(e);return{key:`alarm`,label:a(`daq.k1l3pt51104`),tip:a(`daq.k1hrrqa1122`,{p0:t?.min??`-∞`,p1:t?.max??`+∞`,p2:``})}}return{key:t,label:r[t],tip:``}}function j(e){let t=o.templates.find(t=>t.key===te(e));return t?`${t.name} · ${t.ch}`:e||`-`}let M=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultIntervalMs}):`${e}ms`,ee=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultPublishIntervalMs}):e===0?a(`daq.k41mvv078`):`${e}ms`,P=e=>o.meta.drivers.find(t=>t.kind===e)?.status===`planned`,F=e=>e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]),R=e=>c.twins.find(t=>t.id===e)?.name??e,re=f(()=>c.twins.filter(e=>e.kind!==`daq`&&!(e.modelRef??``).startsWith(`daq-`)&&!(e.modelRef??``).startsWith(`dcw-`))),z=f(()=>{let e=i.n,t=w(e),n=e.lineId?s.lineStateOf(e.lineId):null;return{tpl:j(e.templateRef),pill:D(e),alarm:C(e),live:b(e),trend:T(e.hist),limMin:E(e.hist,t.min),limMax:E(e.hist,t.max),interval:M(e.intervalMs),publish:ee(e.publishIntervalMs),lineActive:!!n?.active,lineProduct:n?.productName??``,lineRecipe:n?.recipeName??``}});async function ie(){let e=i.n,t=!e.enabled;try{await o.patchNode(e.id,{enabled:t}),e.enabled=t,t||(e.state=`offline`),A.success(a(t?`daq.k1nodestart147`:`daq.k1nodestop146`))}catch(e){A.error(N(e))}}async function ae(e){let t=e.target.value;try{await o.patchNode(i.n.id,{lineId:t});let e=i.n;e.lineId=t}catch(e){A.error(N(e))}}async function oe(e){let t=e.target.value;if(!t)return;let n=i.n;if(!n.deviceIds?.includes(t)){try{await o.setNodeBindings(n.id,[...n.deviceIds??[],t])}catch(e){A.error(N(e))}e.target.value=``}}async function B(e){let t=i.n;try{await o.setNodeBindings(t.id,(t.deviceIds??[]).filter(t=>t!==e))}catch(e){A.error(N(e))}}return(i,a)=>{let o=O;return l(),h(`tr`,{class:t({"row-recipe-alarm":z.value.alarm})},[m(`td`,null,[m(`span`,xn,r(n.n.id.slice(0,8)),1),m(`b`,null,r(n.n.name),1),m(`small`,Sn,r(z.value.tpl),1)]),m(`td`,null,[m(`span`,{class:t([`st-pill`,[z.value.pill.key]]),title:z.value.pill.tip},r(z.value.pill.label),11,Cn)]),m(`td`,{class:t([`mono val`,{stale:!z.value.live,"val-alarm":n.n.state===`alarm`||z.value.alarm}]),title:z.value.live?void 0:z.value.pill.tip},[S(r(n.n.value==null?`--`:n.n.value.toFixed(n.n.decimals))+` `,1),m(`small`,null,r(n.n.unit),1)],10,wn),m(`td`,Tn,[(l(),h(`svg`,{class:`trend`,viewBox:`0 0 120 26`,preserveAspectRatio:`none`,title:i.$t(`daq.k1trnd002`)},[z.value.limMin==null?v(``,!0):(l(),h(`line`,{key:0,class:`lim`,x1:`0`,y1:z.value.limMin,x2:`120`,y2:z.value.limMin},null,8,Dn)),z.value.limMax==null?v(``,!0):(l(),h(`line`,{key:1,class:`lim max`,x1:`0`,y1:z.value.limMax,x2:`120`,y2:z.value.limMax},null,8,On)),z.value.trend?(l(),h(`polyline`,{key:2,class:t([`trace`,{alarm:n.n.state===`alarm`||z.value.alarm}]),points:z.value.trend},null,10,kn)):(l(),h(`line`,{key:3,class:`trace-idle`,x1:`0`,y1:$/2,x2:`120`,y2:$/2},null,8,An))],8,En))]),m(`td`,jn,r(z.value.interval),1),m(`td`,Mn,r(z.value.publish),1),m(`td`,null,[m(`span`,{class:t([`drv-tag`,{planned:P(n.n.driver)}]),title:P(n.n.driver)?i.$t(`daq.k1plndrv138`):``},r(n.n.driver),11,Nn)]),m(`td`,null,[m(`select`,{class:`line-sel`,value:n.n.lineId,title:i.$t(`daq.k3q23v3010`),onChange:ae},[m(`option`,Fn,r(i.$t(`daq.k3ootr6053`)),1),(l(!0),h(g,null,u(e(s).lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,In))),128))],40,Pn)]),m(`td`,null,[n.n.lineId?(l(),h(`span`,{key:0,class:t([`run-pill`,{on:z.value.lineActive}]),title:i.$t(`daq.k1runtipc131`)},[a[0]||=m(`span`,{class:`rp-dot`},null,-1),S(` `+r(z.value.lineActive?i.$t(`daq.k3vp67i096`):i.$t(`daq.k3ozyqz117`)),1)],10,Ln)):(l(),h(`span`,Rn,r(i.$t(`daq.k3ootr6053`)),1))]),m(`td`,zn,[n.n.lineId&&z.value.lineActive?(l(),h(g,{key:0},[m(`b`,{title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineProduct||`--`),9,Bn),m(`small`,{class:`mono`,title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineRecipe||`--`),9,Vn)],64)):(l(),h(`span`,Hn,`--`))]),m(`td`,null,[m(`div`,Un,[(l(!0),h(g,null,u(F(n.n),e=>(l(),h(`span`,{key:e,class:`dev-bind-chip`,title:i.$t(`daq.k2bindtip137`)},[S(r(R(e))+` `,1),m(`span`,{class:`dev-unbind`,title:`unbind`,onClick:t=>B(e)},`✕`,8,Gn)],8,Wn))),128)),m(`select`,{class:`line-sel dev-add`,value:``,title:i.$t(`daq.k2bindtip137`),onChange:oe},[m(`option`,qn,r(i.$t(`daq.k3own4q056`)),1),(l(!0),h(g,null,u(re.value,e=>(l(),h(`option`,{key:e.id,value:e.id,disabled:(n.n.deviceIds??[]).includes(e.id)},r(R(e.id)),9,Jn))),128))],40,Kn)])]),m(`td`,Yn,[m(`button`,{class:t([`node-toggle`,{off:!n.n.enabled}]),title:n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`),onClick:ie},[m(`span`,{class:t(n.n.enabled?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`)),1)],10,Xn),d(o,{class:`console-link`,to:`/daq/${n.n.id}`},{default:y(()=>[a[1]||=m(`span`,{class:`i-tabler-dashboard`},null,-1),S(` `+r(i.$t(`daq.k3o3jg2074`)),1)]),_:1},8,[`to`])])],2)}}}),[[`__scopeId`,`data-v-4b6f87e1`]]),{__name:`WorkshopDaqNodeRow`}),$n={class:`aw-tile table-card`},er={class:`tbl-toolbar`},tr={class:`filters`},nr={class:`flt`},rr={value:``},ir=[`value`],ar={value:`none`},or={class:`flt`},sr={value:``},cr=[`value`],lr={value:`none`},ur=[`title`],dr={value:``},fr={value:`on`},pr={value:`off`},mr={class:`flt`},hr={value:``},gr={value:`ok`},_r={value:`warn`},vr={value:`alarm`},yr={value:`offline`},br={class:`flt`},xr={value:``},Sr=[`value`],Cr={class:`flt`},wr={value:``},Tr=[`value`],Er=[`title`],Dr={value:``},Or={value:`live`},kr={value:`hour`},Ar={value:`day`},jr={value:`old`},Mr={value:`never`},Nr={class:`flt`},Pr=[`placeholder`],Fr={class:`count mono`},Ir={class:`ops-panels`},Lr={class:`panel-head`},Rr={class:`panel-body`},zr={key:0,class:`panel-empty`},Br={class:`mono dim`},Vr={class:`mono`},Hr={key:0,class:`esc mono`},Ur=[`onClick`],Wr={class:`ops-panel event-panel`},Gr={class:`panel-head`},Kr={class:`panel-body`},qr={key:0,class:`panel-empty`},Jr={class:`mono dim t`},Yr=[`title`],Xr=[`title`],Zr=[`title`],Qr={class:`right`},$r={key:0,class:`vs-pad`,"aria-hidden":`true`},ei={key:1,class:`vs-pad`,"aria-hidden":`true`},ti={key:2},ni={colspan:`11`},ri={class:`pane-empty`,style:{"min-height":`120px`}},ii={class:`pe-sub`},ai={key:3},oi={colspan:`11`},si={class:`pane-empty`,style:{"min-height":`90px`}},ci={class:`pe-sub`},li=Object.assign(c({__name:`DaqNodePanel`,props:_({hasFilters:{type:Boolean},lines:{},boundDevices:{},templateOptions:{},driverOptions:{},filteredCount:{},totalCount:{},opsRecent:{},opsKindLabel:{type:Function},opsTime:{type:Function},alarms:{},visibleNodes:{},padTopPx:{},padBottomPx:{},loading:{type:Boolean},loaded:{type:Boolean},error:{}},{filters:{required:!0},filtersModifiers:{},tableEl:{required:!0},tableElModifiers:{}}),emits:_([`clear-filters`,`ack`],[`update:filters`,`update:tableEl`]),setup(e,{emit:i}){let a=i,s=o(e,`filters`),c=o(e,`tableEl`);return(i,o)=>{let f=O,p=Qn,_=j;return l(),b(_,{spinning:e.loading},{default:y(()=>[m(`section`,$n,[m(`div`,er,[m(`div`,tr,[m(`label`,nr,[m(`span`,null,r(i.$t(`daq.k3wj9n051`)),1),x(m(`select`,{"onUpdate:modelValue":o[0]||=e=>s.value.lineId=e,class:`inp-sel`},[m(`option`,rr,r(i.$t(`daq.k1bkl9uj052`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,ir))),128)),m(`option`,ar,r(i.$t(`daq.k3ootr6053`)),1)],512),[[E,s.value.lineId]])]),m(`label`,or,[m(`span`,null,r(i.$t(`daq.k1i8rtqt054`)),1),x(m(`select`,{"onUpdate:modelValue":o[1]||=e=>s.value.deviceId=e,class:`inp-sel`},[m(`option`,sr,r(i.$t(`daq.k1bkw4m2055`)),1),(l(!0),h(g,null,u(e.boundDevices,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name)+`(`+r(e.count)+`) `,9,cr))),128)),m(`option`,lr,r(i.$t(`daq.k3own4q056`)),1)],512),[[E,s.value.deviceId]])]),m(`label`,{class:`flt`,title:i.$t(`daq.khb8mru009`)},[m(`span`,null,r(i.$t(`daq.k1b2tkyv057`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.lineRun=e,class:`inp-sel`},[m(`option`,dr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,fr,r(i.$t(`daq.k1nxm3p7059`)),1),m(`option`,pr,r(i.$t(`daq.k1ulx34e060`)),1)],512),[[E,s.value.lineRun]])],8,ur),m(`label`,mr,[m(`span`,null,r(i.$t(`daq.k1iwdfef061`)),1),x(m(`select`,{"onUpdate:modelValue":o[3]||=e=>s.value.state=e,class:`inp-sel`},[m(`option`,hr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,gr,r(i.$t(`daq.k41k5c062`)),1),m(`option`,_r,r(i.$t(`daq.k49z8v063`)),1),m(`option`,vr,r(i.$t(`daq.k3xmid064`)),1),m(`option`,yr,r(i.$t(`daq.k44c2n065`)),1)],512),[[E,s.value.state]])]),m(`label`,br,[m(`span`,null,r(i.$t(`daq.k1flttpl010`)),1),x(m(`select`,{"onUpdate:modelValue":o[4]||=e=>s.value.template=e,class:`inp-sel`},[m(`option`,xr,r(i.$t(`daq.k1flttpl011`)),1),(l(!0),h(g,null,u(e.templateOptions,e=>(l(),h(`option`,{key:e.ref,value:e.ref},r(e.label)+`(`+r(e.count)+`) `,9,Sr))),128))],512),[[E,s.value.template]])]),m(`label`,Cr,[m(`span`,null,r(i.$t(`daq.k1fltdrv012`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp-sel`},[m(`option`,wr,r(i.$t(`daq.k1fltdrv013`)),1),(l(!0),h(g,null,u(e.driverOptions,e=>(l(),h(`option`,{key:e.kind,value:e.kind},r(e.label)+`(`+r(e.count)+`) `,9,Tr))),128))],512),[[E,s.value.driver]])]),m(`label`,{class:`flt`,title:i.$t(`daq.k1flttim014`)},[m(`span`,null,r(i.$t(`daq.k1flttim015`)),1),x(m(`select`,{"onUpdate:modelValue":o[6]||=e=>s.value.time=e,class:`inp-sel`},[m(`option`,Dr,r(i.$t(`daq.k1flttim016`)),1),m(`option`,Or,r(i.$t(`daq.k1timlv017`)),1),m(`option`,kr,r(i.$t(`daq.k1timhr018`)),1),m(`option`,Ar,r(i.$t(`daq.k1timdy019`)),1),m(`option`,jr,r(i.$t(`daq.k1timld020`)),1),m(`option`,Mr,r(i.$t(`daq.k1timnv021`)),1)],512),[[E,s.value.time]])],8,Er),m(`label`,Nr,[m(`span`,null,r(i.$t(`daq.k1fltsrc022`)),1),x(m(`input`,{"onUpdate:modelValue":o[7]||=e=>s.value.search=e,class:`inp-sel flt-search`,type:`search`,placeholder:i.$t(`daq.k1fltsph023`)},null,8,Pr),[[C,s.value.search]])]),e.hasFilters?(l(),h(`button`,{key:0,class:`mini-btn clear-btn`,onClick:o[8]||=e=>a(`clear-filters`)},r(i.$t(`daq.k1fygck2066`)),1)):v(``,!0)]),m(`span`,Fr,r(e.filteredCount)+` / `+r(e.totalCount)+` `+r(i.$t(`daq.k45uio067`)),1)]),m(`div`,Ir,[m(`div`,{class:t([`ops-panel alarm-panel`,{live:e.alarms.length>0}])},[m(`div`,Lr,[o[9]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),m(`b`,null,r(i.$t(`daq.k1alarm141`)),1),m(`span`,{class:t([`mono cnt`,{hot:e.alarms.length>0}])},r(e.alarms.length),3)]),m(`div`,Rr,[e.alarms.length===0?(l(),h(`p`,zr,r(i.$t(`daq.k1evt001`)),1)):(l(!0),h(g,{key:1},u(e.alarms,e=>(l(),h(`div`,{key:e.id,class:`alarm-row`},[o[10]||=m(`span`,{class:`i-tabler-alert-triangle tri`},null,-1),m(`b`,null,r(e.nodeName),1),m(`span`,Br,r(e.metric),1),m(`span`,Vr,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,Hr,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>a(`ack`,e.id)},r(i.$t(`daq.k1ack142`)),9,Ur)]))),128))])],2),m(`div`,Wr,[m(`div`,Gr,[o[12]||=m(`span`,{class:`i-tabler-activity`},null,-1),m(`b`,null,r(i.$t(`daq.k1evt002`)),1),d(f,{class:`panel-link`,to:`/logs`},{default:y(()=>[S(r(i.$t(`daq.k1evt003`)),1),o[11]||=m(`span`,{class:`i-tabler-arrow-right`},null,-1)]),_:1})]),m(`div`,Kr,[e.opsRecent.length===0?(l(),h(`p`,qr,r(i.$t(`daq.k1evt004`)),1)):(l(!0),h(g,{key:1},u(e.opsRecent,(n,a)=>(l(),h(`div`,{key:`${n.at}:${n.actor}:${n.action}:${a}`,class:`evt-row`},[m(`span`,Jr,r(e.opsTime(n.at)),1),m(`span`,{class:t([`src-badge`,n.actorKind])},r(n.actorKind===`agent`?`Agent`:n.actorKind===`user`?i.$t(`logs.src.user`):i.$t(`logs.src.system`)),3),m(`span`,{class:t([`kind-chip`,n.kind])},r(e.opsKindLabel(n.kind)),3),m(`span`,{class:`txt`,title:n.summary},r(n.summary),9,Yr)]))),128))])])]),m(`table`,{ref_key:`tableEl`,ref:c,class:`nodes-table`},[m(`thead`,null,[m(`tr`,null,[m(`th`,null,r(i.$t(`daq.k45uio067`)),1),m(`th`,null,r(i.$t(`daq.k42w8s068`)),1),m(`th`,null,r(i.$t(`daq.k3mv305069`)),1),m(`th`,null,r(i.$t(`daq.k1trnd001`)),1),m(`th`,null,r(i.$t(`daq.k1l6g2ga070`)),1),m(`th`,null,r(i.$t(`daq.k3zi0nf071`)),1),m(`th`,null,r(i.$t(`daq.k4a0la072`)),1),m(`th`,null,r(i.$t(`daq.k3wj9n051`)),1),m(`th`,{title:i.$t(`daq.k1runtipc131`)},r(i.$t(`daq.k1b2tkyv057`)),9,Xr),m(`th`,{title:i.$t(`daq.k1prdrtip132`)},r(i.$t(`daq.k1prodrc128`)),9,Zr),m(`th`,null,r(i.$t(`daq.k1i8rtqt054`)),1),m(`th`,Qr,r(i.$t(`daq.k40aa6073`)),1)])]),m(`tbody`,null,[e.padTopPx>0?(l(),h(`tr`,$r,[m(`td`,{colspan:11,style:n({height:e.padTopPx+`px`})},null,4)])):v(``,!0),(l(!0),h(g,null,u(e.visibleNodes,e=>(l(),b(p,{key:e.id,n:e},null,8,[`n`]))),128)),e.padBottomPx>0?(l(),h(`tr`,ei,[m(`td`,{colspan:11,style:n({height:e.padBottomPx+`px`})},null,4)])):v(``,!0),e.loaded&&e.totalCount===0?(l(),h(`tr`,ti,[m(`td`,ni,[m(`div`,ri,[m(`p`,ii,r(i.$t(`daq.kvhjyc3075`)),1)])])])):e.loaded&&e.filteredCount===0?(l(),h(`tr`,ai,[m(`td`,oi,[m(`div`,si,[m(`p`,ci,r(i.$t(`daq.k1w20qew076`)),1)])])])):v(``,!0)])],512)])]),_:1},8,[`spinning`])}}}),{__name:`DaqNodePanel`}),ui={class:`page`},di={class:`aw-page-head`},fi={class:`sub`},pi={class:`badges mono`},mi=[`title`],hi=[`title`],gi={key:0,class:`err`},_i=c({__name:`index`,setup(t){let{t:n}=k();P({layout:`default`}),D({title:()=>n(`titles.daq`)});let o=I(),c=L(),u=ee(),g=f(()=>c.lines.some(e=>c.lineStateOf(e.id).active)),_=ce();function b(e){return{write:n(`logs.kind.write`),manual:n(`logs.kind.manual`),alarm:n(`logs.kind.alarm`),line:n(`logs.kind.line`),recipe:n(`logs.kind.recipe`),rollback:n(`logs.kind.rollback`),daq:n(`logs.kind.daq`),system:n(`logs.kind.system`)}[e]??(e||n(`logs.kind.system`))}function x(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:``}async function C(e){try{await o.ackAlarm(e),A.success(n(`daq.k1acked144`))}catch(e){A.error(N(e))}}let w=null;s(()=>{u.ensureConnected(),w=o.ensureWsFeed(),_.ensureLive(),o.load(),o.fetchAlarms(),c.load(),G.load(),c.loadOptimizations(),F(()=>{o.load(),o.fetchAlarms()},5e3,{bgMs:3e4}),F(()=>{c.load()},15e3,{bgMs:6e4})}),a(()=>{w?.()});let{filters:T,hasFilters:E,clearFilters:j,templateOptions:M,driverOptions:te,boundDevices:V,filteredNodes:H,filteredLine:U,filteredLineState:W}=z(),G=ne(),{driverCatalog:K,driverReady:q}=re(),{reconnecting:de,doReconnect:fe}=ie();function pe(e,t){o.controllerAction(`config`,e,t)}let{nodesTableRef:J,visibleNodes:me,padTopPx:he,padBottomPx:Y,resetToTop:ge}=ae(H);p(()=>H.value.length,()=>{ge()});let X=R(K,n),Z=B(n),ve=se(n),Q=oe();return(t,n)=>{let a=le,s=ue,u=_e,f=Fe,p=ot,w=Kt,D=bn,k=li,A=O;return l(),h(`div`,ui,[m(`div`,di,[m(`div`,null,[n[13]||=m(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / DAQ CONSOLE `,-1),m(`h1`,null,r(t.$t(`daq.k1emg364011`)),1),m(`p`,fi,r(t.$t(`daq.k1wmg2bz012`)),1)]),m(`div`,pi,[m(`span`,{class:`badge`,title:t.$t(`daq.k1tsdbtip133`)},`TSDB · `+r(e(o).meta.tsdb),9,mi),m(`span`,{class:`badge`,title:t.$t(`daq.k1queuet134`)},`QUEUE · `+r(e(o).meta.queue),9,hi)])]),d(a,{loaded:e(o).loaded,"filtered-line":e(U),"filtered-line-state":e(W),"any-line-active":g.value},null,8,[`loaded`,`filtered-line`,`filtered-line-state`,`any-line-active`]),d(s,{infra:e(o).meta.infra,reconnecting:e(de),onReconnect:e(fe)},null,8,[`infra`,`reconnecting`,`onReconnect`]),d(u,{alarms:e(o).alarms,onAck:C},null,8,[`alarms`]),d(f,{controller:e(o).controller,"onUpdate:controller":n[0]||=t=>e(o).controller=t,meta:e(o).meta,lines:e(c).lines,"line-state-of":t=>e(c).lineStateOf(t),onAction:n[1]||=t=>e(o).controllerAction(t),onConfig:pe,onOpenAdd:n[2]||=t=>e(X).open.value=!0,onOpenTemplates:n[3]||=t=>{e(Z).tplOpen.value=!0,e(Z).resetTplForm()}},null,8,[`controller`,`meta`,`lines`,`line-state-of`]),d(p,{open:e(X).open.value,"onUpdate:open":n[4]||=t=>e(X).open.value=t,form:e(X).form,"onUpdate:form":n[5]||=t=>e(X).form=t,templates:e(o).templates,"driver-catalog":e(K),"driver-ready":e(q),onTest:e(X).doTestConnection,onSubmit:e(X).doAddNode,onClose:n[6]||=t=>e(X).open.value=!1},null,8,[`open`,`form`,`templates`,`driver-catalog`,`driver-ready`,`onTest`,`onSubmit`]),d(w,{open:e(Z).tplOpen.value,"onUpdate:open":n[7]||=t=>e(Z).tplOpen.value=t,form:e(Z).tplForm.value,"onUpdate:form":n[8]||=t=>e(Z).tplForm.value=t,"custom-tpls":e(Z).customTpls.value,"builtin-tpls":e(Z).builtinTpls.value,"icon-choices":e(Z).iconChoices,"icon-labels":e(ve),editing:e(Z).tplEditing.value,saving:e(Z).tplSaving.value,error:e(Z).tplError.value,"confirming-del":e(Z).confirmingDel.value,onEdit:e(Z).editTpl,onCopy:e(Z).copyTpl,onRemove:e(Z).askDelTpl,onReset:e(Z).resetTplForm,onSave:e(Z).saveTpl},null,8,[`open`,`form`,`custom-tpls`,`builtin-tpls`,`icon-choices`,`icon-labels`,`editing`,`saving`,`error`,`confirming-del`,`onEdit`,`onCopy`,`onRemove`,`onReset`,`onSave`]),d(D,{optimizations:e(c).optimizations,lines:e(c).lines,open:e(Q).optOpen.value,mounted:e(Q).optMounted.value,"filter-line":e(Q).optFilterLine.value,"filter-recipe":e(Q).optFilterRecipe.value,"recipe-options":e(Q).optRecipeOptions.value,"series-of":e(Q).optSeriesOf.value,"series-loading":e(Q).optSeriesLoading.value,"status-key":e(Q).optStatusKey,"series-path":e(Q).seriesPath,"fmt-point":e(Q).fmtPoint,onToggle:e(Q).toggleOptPanel,onSelectLine:n[9]||=t=>e(Q).optFilterLine.value=t,onSelectRecipe:n[10]||=t=>e(Q).optFilterRecipe.value=t,onLineChange:e(Q).onOptLineChange,onFilter:e(Q).filterOpts,onSeries:e(Q).showOptSeries,onRollback:e(Q).rollbackRecord},null,8,[`optimizations`,`lines`,`open`,`mounted`,`filter-line`,`filter-recipe`,`recipe-options`,`series-of`,`series-loading`,`status-key`,`series-path`,`fmt-point`,`onToggle`,`onLineChange`,`onFilter`,`onSeries`,`onRollback`]),d(k,{"table-el":e(J),"onUpdate:tableEl":n[11]||=e=>i(J)?J.value=e:null,filters:e(T),"onUpdate:filters":n[12]||=e=>i(T)?T.value=e:null,"has-filters":e(E),lines:e(c).lines,"bound-devices":e(V),"template-options":e(M),"driver-options":e(te),"filtered-count":e(H).length,"total-count":e(o).nodes.length,"ops-recent":e(_).recent,"ops-kind-label":b,"ops-time":x,alarms:e(o).alarms,"visible-nodes":e(me),"pad-top-px":e(he),"pad-bottom-px":e(Y),loading:!e(o).loaded&&!e(o).error,loaded:e(o).loaded,error:e(o).error,onClearFilters:e(j),onAck:C},null,8,[`table-el`,`filters`,`has-filters`,`lines`,`bound-devices`,`template-options`,`driver-options`,`filtered-count`,`total-count`,`ops-recent`,`alarms`,`visible-nodes`,`pad-top-px`,`pad-bottom-px`,`loading`,`loaded`,`error`,`onClearFilters`]),e(o).error?(l(),h(`p`,gi,[S(r(e(o).error)+`(`,1),d(A,{to:`/workshop`},{default:y(()=>[S(r(t.$t(`daq.k1bhhheq077`)),1)]),_:1}),n[14]||=S(`) `,-1)])):v(``,!0)])}}});export{_i as default};
@@ -0,0 +1 @@
1
+ import{N as e,dt as t,g as n,mt as r,u as i,v as a}from"./CavpkQb0.js";import{S as o,V as s,W as ee,b as c,d as l,f as u,h as d,i as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as te}from"./Br3AySNQ.js";import{n as _}from"./DkpmSnHX.js";import{n as v}from"./Cnrmlixo.js";import{t as ne}from"./Bub2P5me.js";import{a as y,c as re,n as ie}from"./wDPc4SSR.js";import{n as ae,t as oe}from"./k5K6Jj6g.js";import{t as se}from"./eutnXI4F.js";import{t as ce}from"./CAaSPBqk.js";import{i as le,n as ue,t as de}from"./DppqsiPC.js";import{t as fe}from"./B2x8SKRO2.js";import{t as pe}from"./CPeZNE4S2.js";import{t as me}from"./DzBbYWrw2.js";import{t as he}from"./DqtnqNgL2.js";import{t as ge}from"./CfLUvgr32.js";import{t as b}from"./CI2yXRr42.js";import{t as x}from"./BDNMzG2s2.js";import{t as S}from"./JgheoP3e.js";import{t as C}from"./CNs_Ozdc.js";import{t as w}from"./8oRmGaAV.js";import{i as T,n as E}from"./Du9v6qGB2.js";var _e={class:`page`},ve={class:`head`},ye={class:`sub`},be={class:`toolbar`},xe={key:0,class:`admin-note`},Se={class:`grid`},Ce={class:`card-head`},D={class:`name`},O={class:`owner`},k={key:0,class:`desc`},A={class:`member-line`},we={class:`lead-name`},Te={key:0,class:`count`},Ee={key:1,class:`count`},De=[`title`],Oe={class:`card-foot`},j=[`title`],ke={class:`kb-hint`},M=x(o({__name:`channel-templates`,setup(o){let{t:x}=v(),M=e=>E[e.id]?.desc?x(E[e.id].desc):e.description,N=e=>E[e.id]?.scenario?x(E[e.id].scenario):e.scenarioPrompt;C({layout:`default`});let P=w(),F=b(),I=a([]),L=a([]),R=a(!1),z=async()=>{R.value=!0;try{let[e,t]=await Promise.all([P.listChannelTemplates(),P.listTemplates()]);I.value=e?.data??[],L.value=t?.data??[]}finally{R.value=!1}};z();let B=a(`all`),V=l(()=>{let e=F.user?.id;switch(B.value){case`mine`:return I.value.filter(t=>t.ownerUserId===e);case`public`:return I.value.filter(e=>e.visibility===`public`);case`builtin`:return I.value.filter(e=>e.isBuiltin);default:return I.value}}),H=e=>!e.isBuiltin&&(e.ownerUserId===F.user?.id||F.isAdmin),U=e=>e.isBuiltin?{text:x(`ctpl.k3x23c021`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:x(`ctpl.k3wv1t022`),color:`green`}:{text:x(`ctpl.k447jj023`),color:`default`},Ae=e=>`templateId`in e?T(x,L.value.find(t=>t.id===e.templateId)??{id:e.templateId,name:e.templateId.slice(0,8)}):e.inline.name,W=a(!1),G=n({name:``,description:``,scenarioPrompt:``,workspace:``,visibility:`private`,leadId:``,memberIds:[]}),K=()=>{G.name=``,G.description=``,G.scenarioPrompt=``,G.workspace=``,G.visibility=`private`,G.leadId=``,G.memberIds=[],W.value=!0},je=async()=>{if(!G.name.trim()){y.warning(x(`ctpl.k1i0ji0y024`));return}let e=G.leadId?L.value.find(e=>e.id===G.leadId):void 0,t=G.memberIds.filter(e=>e!==G.leadId).map(e=>({templateId:e,role:`worker`}));try{await P.createChannelTemplate({name:G.name.trim(),description:G.description||void 0,scenarioPrompt:G.scenarioPrompt||void 0,workspace:G.workspace||void 0,lead:e?{name:e.name,harness:e.harness,config:e.config}:null,members:t,visibility:G.visibility}),y.success(x(`ctpl.kyppebc025`)),W.value=!1,z()}catch(e){y.error(S(e))}},Me=async(e,t)=>{try{await P.updateChannelTemplate(e.id,{visibility:t?`public`:`private`}),y.success(x(t?`ctpl.kkziya3026`:`ctpl.k1xxabaf027`)),z()}catch(e){y.error(S(e))}},q=a(null),J=a(!1),Y=a(null),X=a(!0),Ne=e=>{if(Y.value=e,X.value=!0,!e.knowledgeBaseCapable){Z();return}J.value=!0},Z=async()=>{let e=Y.value;if(e){q.value=e.id,J.value=!1;try{let t=e.knowledgeBaseCapable?{enableKnowledgeBase:X.value}:void 0,n=(await P.instantiateChannelTemplate(e.id,void 0,t))?.data;y.success(x(`ctpl.kefkfnl030`,{p0:e.name,p1:n?.agentCount??0}))}catch(e){y.error(S(e))}finally{q.value=null}}},Pe=async e=>{await P.deleteChannelTemplate(e.id),y.success(x(`ctpl.k1oxfuqj028`)),z()};return _({title:()=>x(`titles.ctpl`)}),(n,a)=>{let o=re,l=pe,_=ge,v=de,y=he,b=fe,S=me,C=ce,w=ae,E=se,P=ne,z=ue,Fe=le,Q=oe,$=ie;return s(),d(`div`,_e,[u(`div`,ve,[u(`div`,null,[u(`h2`,null,`Channel `+r(n.$t(`ctpl.k1f54iqd029`)),1),u(`p`,ye,r(n.$t(`ctpl.k18gglgp011`)),1)]),c(l,null,{default:m(()=>[c(o,{onClick:a[0]||=t=>(`navigateTo`in n?n.navigateTo:e(te))(`/workshop`)},{default:m(()=>[g(r(n.$t(`ctpl.krpx6qa012`)),1)]),_:1}),c(o,{type:`primary`,onClick:K},{default:m(()=>[g(r(n.$t(`ctpl.k1efixrj013`)),1)]),_:1})]),_:1})]),u(`div`,be,[c(_,{value:e(B),"onUpdate:value":a[1]||=e=>i(B)?B.value=e:null,size:`small`,options:[{value:`all`,label:n.$t(`chips.chipAll`,{n:e(I).length})},{value:`mine`,label:n.$t(`chips.mine`)},{value:`public`,label:n.$t(`chips.public`)},{value:`builtin`,label:n.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),e(F).isAdmin?(s(),d(`span`,xe,[a[12]||=u(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+r(n.$t(`ctpl.ka1gpdj014`)),1)])):p(``,!0)]),c(S,{spinning:e(R)},{default:m(()=>[u(`div`,Se,[(s(!0),d(f,null,ee(e(V),i=>(s(),d(`div`,{key:i.id,class:`card`},[u(`div`,Ce,[u(`span`,D,r((`seedName`in n?n.seedName:e(T))(e(x),i)),1),c(v,{color:U(i).color,class:`vis-tag`},{default:m(()=>[U(i).icon?(s(),d(`span`,{key:0,class:t(U(i).icon)},null,2)):p(``,!0),g(r(U(i).text),1)]),_:2},1032,[`color`]),!i.isBuiltin&&H(i)?(s(),h(y,{key:0,checked:i.visibility===`public`,size:`small`,"checked-children":n.$t(`ctpl.visPublic`),"un-checked-children":n.$t(`ctpl.visPrivate`),onChange:e=>Me(i,e===!0)},null,8,[`checked`,`checked-children`,`un-checked-children`,`onChange`])):p(``,!0),u(`span`,O,r(i.ownerName??`-`),1)]),i.description?(s(),d(`p`,k,r(M(i)),1)):p(``,!0),u(`div`,A,[a[14]||=u(`span`,{class:`i-tabler-users-group`},null,-1),i.lead||i.members.length>0?(s(),d(f,{key:0},[c(v,{color:`gold`},{default:m(()=>[...a[13]||=[g(` lead `,-1)]]),_:1}),u(`span`,we,r(i.lead?.name??Ae(i.members.find(e=>e.role===`lead`)??i.members[0])),1),i.members.filter(e=>e.role!==`lead`).length>0?(s(),d(`span`,Te,`+ `+r(i.members.filter(e=>e.role!==`lead`).length)+` worker`,1)):p(``,!0)],64)):(s(),d(`span`,Ee,r(n.$t(`ctpl.k3rx4ps015`)),1))]),i.scenarioPrompt?(s(),d(`div`,{key:1,class:`scenario`,title:i.scenarioPrompt},r(N(i).slice(0,90))+r(N(i).length>90?`…`:``),9,De)):p(``,!0),u(`div`,Oe,[i.workspace?(s(),d(`span`,{key:0,class:`ws`,title:i.workspace},[a[15]||=u(`span`,{class:`i-tabler-folder`},null,-1),g(` `+r(i.workspace),1)],8,j)):p(``,!0),a[16]||=u(`span`,{class:`spacer`},null,-1),H(i)?(s(),h(b,{key:1,title:n.$t(`ctpl.k117jag9001`),onConfirm:e=>Pe(i)},{default:m(()=>[c(o,{size:`small`,type:`text`,danger:``},{default:m(()=>[g(r(n.$t(`ctpl.k3xakp016`)),1)]),_:1})]),_:1},8,[`title`,`onConfirm`])):p(``,!0),c(o,{size:`small`,type:`primary`,ghost:``,loading:e(q)===i.id,title:n.$t(`ctpl.knjomku002`),onClick:e=>Ne(i)},{default:m(()=>[g(r(n.$t(`ctpl.k3mr1fo017`)),1)]),_:1},8,[`loading`,`title`,`onClick`])])]))),128)),e(V).length===0?(s(),d(`div`,{key:0,class:`card placeholder`,onClick:K},[a[17]||=u(`span`,{class:`i-tabler-layout-grid-add big`},null,-1),u(`span`,null,r(n.$t(`ctpl.k19fglby018`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c($,{open:e(W),"onUpdate:open":a[9]||=e=>i(W)?W.value=e:null,title:n.$t(`ctpl.newTplTitle`),"ok-text":n.$t(`common.create`),"cancel-text":n.$t(`common.cancel`),onOk:je},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.k1f55q76003`)},{default:m(()=>[c(C,{value:e(G).name,"onUpdate:value":a[2]||=t=>e(G).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k40gkk004`)},{default:m(()=>[c(C,{value:e(G).description,"onUpdate:value":a[3]||=t=>e(G).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.leadTplLabel`)},{default:m(()=>[c(E,{value:e(G).leadId,"onUpdate:value":a[4]||=t=>e(G).leadId=t,"allow-clear":``,placeholder:n.$t(`ctpl.k1ju32o7005`),options:e(L).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k5uq1js006`)},{default:m(()=>[c(E,{value:e(G).memberIds,"onUpdate:value":a[5]||=t=>e(G).memberIds=t,mode:`multiple`,placeholder:n.$t(`ctpl.kqmdkc9007`),options:e(L).filter(t=>t.id!==e(G).leadId).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k1q87yho008`)},{default:m(()=>[c(P,{value:e(G).scenarioPrompt,"onUpdate:value":a[6]||=t=>e(G).scenarioPrompt=t,rows:3},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.kk4u5cr009`)},{default:m(()=>[c(C,{value:e(G).workspace,"onUpdate:value":a[7]||=t=>e(G).workspace=t,placeholder:`data/workspaces/<channelId>`},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k3lrqn0010`)},{default:m(()=>[c(Fe,{value:e(G).visibility,"onUpdate:value":a[8]||=t=>e(G).visibility=t},{default:m(()=>[c(z,{value:`private`},{default:m(()=>[g(r(n.$t(`ctpl.k17jfge3019`)),1)]),_:1}),c(z,{value:`public`},{default:m(()=>[g(r(n.$t(`ctpl.k191u0u5020`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`]),c($,{open:e(J),"onUpdate:open":a[11]||=e=>i(J)?J.value=e:null,title:e(x)(`ctpl.kbInstTitle`,{p0:e(Y)?.name??``}),"ok-text":n.$t(`ctpl.k3mr1fo017`),"cancel-text":n.$t(`common.cancel`),"confirm-loading":e(q)===e(Y)?.id,onOk:Z},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.kbOption`)},{default:m(()=>[c(y,{checked:e(X),"onUpdate:checked":a[10]||=e=>i(X)?X.value=e:null,"checked-children":n.$t(`ctpl.kbOn`),"un-checked-children":n.$t(`ctpl.kbOff`)},null,8,[`checked`,`checked-children`,`un-checked-children`])]),_:1},8,[`label`]),u(`p`,ke,r(n.$t(`ctpl.kbHint`)),1)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-bd11472d`]]);export{M as default};
@@ -1 +1 @@
1
- import{o as e}from"./BMMoqi94.js";import{N as t,dt as n,ft as r,g as i,mt as a,u as o,v as s}from"./CavpkQb0.js";import{D as c,H as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,y as w}from"./ByMj6e7s.js";import{c as T,d as E,l as D,u as O}from"./Dqz5HiXa.js";import{n as k,t as A}from"./BgnhB8r5.js";import{t as j}from"./S799kNo8.js";import{n as M}from"./Cnrmlixo.js";import{a as N}from"./wDPc4SSR.js";import{t as P}from"./eutnXI4F.js";import{t as F}from"./CAaSPBqk.js";import{t as ee}from"./Bwc6lt2X.js";import{t as I}from"./CzlUIbK32.js";import{t as te}from"./Yv9YItEX2.js";import{n as L,t as ne}from"./DVKXGuMz2.js";import{t as re}from"./CD9lpEz22.js";import{t as ie}from"./DzBbYWrw2.js";import{t as ae}from"./DqtnqNgL2.js";import{t as R}from"./CI2yXRr42.js";import{t as z}from"./DTxfFIvL2.js";import{t as B}from"./BDNMzG2s2.js";import{t as V}from"./JgheoP3e.js";import{t as H}from"./BWU1pvLL.js";import{t as U}from"./Bt2ZL5332.js";var W={class:`section-title`},G={class:`section-desc`},K={class:`set-row`},q={class:`set-text`},J={class:`set-title`},oe={class:`set-sub`},se={class:`color-swatches`},ce=[`title`,`onClick`],le={class:`swatch-label`},ue={key:0,class:`i-tabler-check swatch-check`},de={class:`toggle-row`},fe={class:`set-text`},pe={class:`set-title`},me={class:`set-sub`},he=[`aria-checked`],ge={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=Object.assign(B(d({__name:`AppearancePane`,props:{activeTab:{}},setup(i){let o=k(),s=e().public,{t:c,locale:l,locales:u,setLocale:d}=M(),g=String(s.primaryColor),x=[{value:g,label:c(`settings.accentInk`)},{value:`#c9963f`,label:c(`settings.accentStone`)},{value:`#44615a`,label:c(`settings.accentMoss`)},{value:`#3f6094`,label:c(`settings.accentSlate`)},{value:`#6b5aa0`,label:c(`settings.accentPlum`)},{value:`#9c5744`,label:c(`settings.accentClay`)}],S=h(()=>o.accent??g);function T(e){o.setAccent(e===g?null:e),N.success(c(`settings.accentApplied`))}function E(){o.setAccent(null),N.success(c(`settings.accentReset`))}let O=h(()=>u.value.map(e=>({label:e.name,value:e.code}))),A=e=>{e!=null&&(j(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),d(String(e)),window.location.reload())};return(e,s)=>{let u=P;return C((f(),v(`div`,null,[_(`h3`,W,a(t(c)(`settings.theme`)),1),_(`p`,G,a(t(c)(`settings.appearanceDesc`)),1),_(`div`,K,[_(`div`,q,[_(`div`,J,a(t(c)(`settings.primaryColor`)),1),_(`div`,oe,a(t(c)(`settings.accentDesc`)),1)])]),_(`div`,se,[(f(),v(y,null,p(x,e=>_(`button`,{key:e.value,class:n([`swatch`,{on:t(S).toLowerCase()===e.value.toLowerCase()}]),style:r({"--sw":e.value}),title:e.label,onClick:t=>T(e.value)},[s[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,le,a(e.label),1),t(S).toLowerCase()===e.value.toLowerCase()?(f(),v(`span`,ue)):b(``,!0)],14,ce)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:E},[s[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),w(` `+a(t(c)(`settings.accentResetAction`)),1)]),_(`div`,de,[_(`div`,fe,[_(`div`,pe,a(t(o).isDark?t(c)(`common.dark`):t(c)(`common.light`)),1),_(`div`,me,a(t(c)(`settings.darkDesc`)),1)]),_(`button`,{class:n([`switch`,{on:t(o).isDark}]),role:`switch`,"aria-checked":t(o).isDark,onClick:s[0]||=e=>t(o).toggleDark()},[...s[3]||=[_(`span`,{class:`knob`},null,-1)]],10,he)]),_(`div`,ge,[_(`div`,_e,[_(`div`,ve,a(t(c)(`header.language`)),1),_(`div`,ye,a(t(c)(`settings.languageDesc`)),1)]),m(u,{value:t(l),options:t(O),style:{width:`140px`},onChange:A},null,8,[`value`,`options`])])],512)),[[D,i.activeTab===`appearance`]])}}}),[[`__scopeId`,`data-v-79352bd2`]]),{__name:`SettingsAppearancePane`});function xe(){let{t:e}=M(),t=z(),n=s({}),r=s(new Set),i=s(!1),a=s(null);function o(){n.value={...t.effective},r.value=new Set}g(()=>t.loaded,e=>{e&&o()},{immediate:!0}),g(()=>t.effective,()=>{r.value.size===0&&o()},{deep:!0});function c(e){r.value.add(e),a.value=null}async function l(){if(r.value.size){i.value=!0,a.value=null;try{let i={};for(let e of r.value)i[e]=n.value[e];let s=await t.patch(i);o();let c=s.restartRequired??[];a.value=c.length?{type:`warning`,text:e(`settings.runtime.restartNotice`,{keys:c.join(`, `)})}:{type:`success`,text:e(`settings.runtime.savedLive`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}finally{i.value=!1}}}async function u(i){try{await t.patch({[i]:null}),r.value.delete(i),n.value[i]=t.effective[i],a.value={type:`success`,text:e(`settings.runtime.keyReset`,{key:i})}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}async function d(){try{await t.resetAll(),o(),a.value={type:`success`,text:e(`settings.runtime.resetAllDone`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}return{draft:n,dirtyKeys:r,savingRuntime:i,runtimeNotice:a,syncRuntimeDraft:o,markDirty:c,saveRuntime:l,resetRuntimeKey:u,resetAllRuntime:d}}var Y=Symbol(`aw.settings.runtimeConfigDraft`);function Se(){let e=xe();return l(Y,e),e}function Ce(){let e=c(Y);if(!e)throw Error(`[settings] useRuntimeConfigDraftContext: 缺少 provideRuntimeConfigDraft()`);return e}function we(){let{t:e}=M(),t=R(),n=z(),r={server:`settings.runtime.groupServer`,app:`settings.runtime.groupApp`,api:`settings.runtime.groupApi`,theme:`settings.runtime.groupTheme`,i18n:`settings.runtime.groupI18n`,security:`settings.runtime.groupSecurity`,daq:`settings.runtime.groupDaq`,memory:`settings.runtime.groupMemory`,omp:`settings.runtime.groupOmp`,harness:`settings.runtime.groupHarness`,dcw:`settings.runtime.groupDcw`,workshop:`settings.runtime.groupWorkshop`,backup:`settings.runtime.groupBackup`,retention:`settings.runtime.groupRetention`,log:`settings.runtime.groupLog`,plugins:`settings.runtime.groupPlugins`};function a(t){if(t.labelKey&&e(t.labelKey)!==t.labelKey)return e(t.labelKey);if(t.label&&t.label!==t.id)return t.label;let n=r[t.id];return n?e(n):t.label||t.id}function o(t){return t.source===`plugin`?t.plugin?`${e(`settings.groups.srcPlugin`)}: ${t.plugin}`:e(`settings.groups.srcPlugin`):t.source===`user`?e(`settings.groups.srcUser`):e(`settings.groups.srcBuiltin`)}function c(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function l(t){let n=t.labelKey;return n&&e(n)!==n?e(n):t.label}let d=`aw.settings.groups.collapsed`,f=s({});function p(){try{f.value=JSON.parse(localStorage.getItem(d)??`{}`)??{}}catch{f.value={}}}function m(){try{localStorage.setItem(d,JSON.stringify(f.value))}catch{}}function g(e){let t=f.value[e.id];return t===void 0?e.collapsed:t}function _(e){e.collapsible&&(f.value={...f.value,[e.id]:!g(e)},m())}function v(){let e=n.groups.filter(e=>e.collapsible),t=e.some(e=>!g(e)),r={...f.value};for(let n of e)r[n.id]=t;f.value=r,m()}let y=h(()=>n.groups.filter(e=>e.collapsible).some(e=>!g(e))),b=h(()=>t.isAdmin),x=s(!1),S=i({label:``,description:``,collapsed:!1}),C=s(``),w=s(``),T=s(``);async function E(){if(S.label.trim()){C.value=`create`;try{await n.createGroup({label:S.label.trim(),description:S.description.trim(),collapsed:S.collapsed}),x.value=!1,S.label=``,S.description=``,S.collapsed=!1,N.success(e(`settings.groups.created`))}catch(t){N.error(V(t,e(`settings.groups.createFail`)))}finally{C.value=``}}}function D(e){w.value=e.id,T.value=e.label}async function O(t){let r=T.value.trim();if(w.value=``,r){C.value=t;try{await n.updateGroup(t,{label:r}),N.success(e(`settings.groups.renamed`))}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}}async function k(t,r){let i=[...n.groups],a=i.findIndex(e=>e.id===t),o=a+r;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];C.value=t;try{let e=[...i];e.splice(a,1),e.splice(o,0,s);let t=(o+1)*10,r=(a+1)*10;await n.updateGroup(s.id,{order:t}),await n.updateGroup(c.id,{order:r})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function A(t){C.value=t.id;try{await n.updateGroup(t.id,{collapsed:!t.collapsed})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function j(t){let r=t.fieldCount??0;if(r>0){N.warning(e(`settings.groups.deleteHasFields`,{p0:a(t),p1:r}));return}C.value=t.id;try{await n.deleteGroup(t.id),N.success(e(`settings.groups.deleted`))}catch(t){N.error(V(t,e(`settings.groups.deleteFail`)))}finally{C.value=``}}return u(p),{groupLabel:a,groupSourceBadge:o,sourceClass:c,itemLabel:l,groupCollapsed:f,loadCollapsePref:p,saveCollapsePref:m,isCollapsed:g,toggleGroup:_,toggleAllGroups:v,allExpanded:y,isAdmin:b,groupFormOpen:x,groupForm:S,groupBusy:C,renamingId:w,renameDraft:T,submitGroupForm:E,startRename:D,commitRename:O,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}}var X=Symbol(`aw.settings.groups`);function Te(){let e=we();return l(X,e),e}function Z(){let e=c(X);if(!e)throw Error(`[settings] useSettingsGroupsContext: 缺少 provideSettingsGroups()`);return e}var Ee={class:`rt-row`},De={class:`rt-main`},Oe={class:`rt-title`},ke={class:`rt-sub`},Ae={class:`rt-ctrl`},je={key:4,class:`rt-color`},Me=[`value`],Ne=[`title`],Pe=Object.assign(B(d({__name:`RuntimeFieldRow`,props:{item:{}},setup(e){let{t:r}=M(),i=z(),{draft:o,markDirty:c,resetRuntimeKey:l}=Ce(),{itemLabel:u,sourceClass:d}=Z(),p=s({}),g=h(()=>(p.value.supportedTimeZones??[`Asia/Shanghai`,`UTC`,`America/Los_Angeles`,`Europe/London`]).map(e=>({label:e,value:e})));return fetch(`/api/system/timezone`).then(e=>e.ok?e.json():{}).then(e=>{p.value=e}),(s,p)=>{let h=re,y=ae,b=P,x=F;return f(),v(`div`,Ee,[_(`div`,De,[_(`div`,Oe,[w(a(t(u)(e.item))+` `,1),_(`span`,{class:n([`rt-tag`,t(d)(t(i).sourceOf(e.item.key))])},a(t(i).sourceOf(e.item.key)),3),_(`span`,{class:n([`rt-tag`,e.item.applies])},a(e.item.applies===`live`?t(r)(`settings.runtime.live`):t(r)(`settings.runtime.restart`)),3)]),_(`div`,ke,a(e.item.description),1)]),_(`div`,Ae,[e.item.type===`number`?(f(),S(h,{key:0,value:t(o)[e.item.key],"onUpdate:value":p[0]||=n=>t(o)[e.item.key]=n,min:e.item.min,max:e.item.max,onChange:p[1]||=n=>t(c)(e.item.key)},null,8,[`value`,`min`,`max`])):e.item.type===`boolean`?(f(),S(y,{key:1,checked:t(o)[e.item.key],"onUpdate:checked":p[2]||=n=>t(o)[e.item.key]=n,onChange:p[3]||=n=>t(c)(e.item.key)},null,8,[`checked`])):e.item.type===`timezone`?(f(),S(b,{key:2,value:t(o)[e.item.key],"onUpdate:value":p[4]||=n=>t(o)[e.item.key]=n,"show-search":``,"option-filter-prop":`label`,style:{width:`260px`},options:t(g),onChange:p[5]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`select`?(f(),S(b,{key:3,value:t(o)[e.item.key],"onUpdate:value":p[6]||=n=>t(o)[e.item.key]=n,style:{width:`160px`},options:(e.item.options??[]).map(e=>({label:e,value:e})),onChange:p[7]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`color`?(f(),v(`span`,je,[_(`input`,{type:`color`,value:String(t(o)[e.item.key]??`#35e0a0`),onInput:p[8]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,40,Me),m(x,{value:String(t(o)[e.item.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:p[9]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,8,[`value`])])):(f(),S(x,{key:5,value:t(o)[e.item.key],"onUpdate:value":p[10]||=n=>t(o)[e.item.key]=n,style:{width:`220px`},onChange:p[11]||=n=>t(c)(e.item.key)},null,8,[`value`])),_(`button`,{class:`aw-pill outline rt-reset`,title:t(r)(`settings.runtime.resetKey`),onClick:p[12]||=n=>t(l)(e.item.key)},[...p[13]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Ne)])])}}}),[[`__scopeId`,`data-v-03e4daa3`]]),{__name:`SettingsRuntimeFieldRow`}),Fe=[`role`,`tabindex`],Ie={key:3,class:`rt-group-title`},Le={class:`rt-group-badge`},Re={class:`rt-group-fields`},ze={key:4,class:`rt-group-desc`},Be=[`disabled`,`title`],Ve=[`disabled`,`title`],He=[`disabled`,`title`],Ue=[`disabled`,`title`],We=[`disabled`,`title`],Ge={class:`rt-group-body`},Ke={key:0,class:`rt-group-empty`},qe=Object.assign(B(d({__name:`RuntimeGroupSection`,props:{group:{}},setup(e){let{t:r}=M(),i=z(),{groupLabel:s,groupSourceBadge:c,isCollapsed:l,toggleGroup:u,renamingId:d,renameDraft:m,commitRename:h,startRename:g,isAdmin:x,groupBusy:w,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}=Z();return(M,N)=>(f(),v(`section`,{class:n([`rt-group`,{collapsed:t(l)(e.group),"grp-plugin":e.group.source===`plugin`}])},[_(`header`,{class:`rt-group-head`,role:e.group.collapsible?`button`:void 0,tabindex:e.group.collapsible?0:void 0,onClick:N[11]||=n=>t(u)(e.group),onKeydown:[N[12]||=O(E(n=>t(u)(e.group),[`prevent`]),[`enter`]),N[13]||=O(E(n=>t(u)(e.group),[`prevent`]),[`space`])]},[e.group.collapsible?(f(),v(`span`,{key:0,class:n([`rt-caret`,t(l)(e.group)?`i-tabler-chevron-right`:`i-tabler-chevron-down`])},null,2)):b(``,!0),e.group.icon?(f(),v(`span`,{key:1,class:n([`rt-group-icon`,e.group.icon])},null,2)):b(``,!0),t(d)===e.group.id?(f(),v(y,{key:2},[C(_(`input`,{"onUpdate:modelValue":N[0]||=e=>o(m)?m.value=e:null,class:`rt-rename aw-mono`,onClick:N[1]||=E(()=>{},[`stop`]),onKeydown:[N[2]||=O(E(n=>t(h)(e.group.id),[`prevent`]),[`enter`]),N[3]||=O(E(e=>d.value=``,[`prevent`]),[`esc`])]},null,544),[[T,t(m)]]),_(`button`,{class:`mini-btn`,onClick:N[4]||=E(n=>t(h)(e.group.id),[`stop`])},a(t(r)(`settings.groups.ok`)),1)],64)):(f(),v(`h4`,Ie,a(t(s)(e.group)),1)),_(`span`,Le,a(t(c)(e.group)),1),_(`span`,Re,a(t(r)(`settings.groups.fields`,{p0:e.group.fieldCount??0})),1),e.group.description?(f(),v(`span`,ze,a(e.group.description),1)):b(``,!0),t(x)&&e.group.source!==`plugin`?(f(),v(`span`,{key:5,class:`rt-group-ops`,onClick:N[10]||=E(()=>{},[`stop`])},[_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveUp`),onClick:N[5]||=n=>t(k)(e.group.id,-1)},[...N[14]||=[_(`span`,{class:`i-tabler-arrow-up`},null,-1)]],8,Be),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveDown`),onClick:N[6]||=n=>t(k)(e.group.id,1)},[...N[15]||=[_(`span`,{class:`i-tabler-arrow-down`},null,-1)]],8,Ve),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.rename`),onClick:N[7]||=n=>t(g)(e.group)},[...N[16]||=[_(`span`,{class:`i-tabler-pencil`},null,-1)]],8,He),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.defaultCollapsed`),onClick:N[8]||=n=>t(A)(e.group)},[_(`span`,{class:n(e.group.collapsed?`i-tabler-chevrons-down`:`i-tabler-chevrons-up`)},null,2)],8,Ue),e.group.source===`user`?(f(),v(`button`,{key:0,class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.delete`),onClick:N[9]||=n=>t(j)(e.group)},[...N[17]||=[_(`span`,{class:`i-tabler-trash`},null,-1)]],8,We)):b(``,!0)])):b(``,!0)],40,Fe),C(_(`div`,Ge,[e.group.fieldCount??0?b(``,!0):(f(),v(`p`,Ke,a(t(r)(`settings.groups.emptyHint`)),1)),(f(!0),v(y,null,p(t(i).fieldsOf(e.group.id),e=>(f(),S(Pe,{key:e.key,item:e},null,8,[`item`]))),128))],512),[[D,!t(l)(e.group)]])],2))}}),[[`__scopeId`,`data-v-2f40d8db`]]),{__name:`SettingsRuntimeGroupSection`});function Je(e){let{t}=M(),n=R(),r=H(),i=s([]),a=s(!1),o=s(!1),c=s(new Set),l=s({}),u=e=>(e.routes??[]).some(e=>String(e.path||``).endsWith(`/health`));async function d(){a.value=!0;try{let e=await r.listPlugins(),t=e?.plugins??e?.data?.plugins??[];i.value=Array.isArray(t)?t:[],o.value=!0}catch(e){N.error(V(e,t(`plugins.loadFail`)))}finally{a.value=!1}}async function f(e,n){if(!c.value.has(e.name)){c.value.add(e.name);try{n?await r.enablePlugin(e.name):await r.disablePlugin(e.name),e.enabled=n,N.success(t(n?`plugins.enabled`:`plugins.disabled`))}catch(e){N.error(V(e,t(`plugins.adminRequired`)))}finally{c.value.delete(e.name)}}}async function p(e){if(u(e)){l.value={...l.value,[e.name]:`checking`};try{let t=await r.pluginHealth(e.name);l.value={...l.value,[e.name]:m(e.name,t)}}catch(n){l.value={...l.value,[e.name]:{ok:!1,reason:V(n,t(`plugins.loadFail`))}}}}}function m(e,t){if(e===`rag-bridge`){let e=t.backend,n=t.web,r=!!e?.ok&&!!n?.ok,i=e?.ok?n?.error||n?.status||`web`:e?.error||e?.status||`backend`;return r?{ok:!0}:{ok:!1,reason:i}}if(e===`diag-bridge`){let e=t.remote;return e?.status===`ok`?{ok:!0}:{ok:!1,reason:e?.status||`remote`}}return{ok:!0}}function h(e){return l.value[e]===`checking`}function _(e){let t=l.value[e];return t&&t!==`checking`?t:null}function v(e){return c.value.has(e)}return g(e,e=>{e===`runtime`&&!o.value&&!a.value&&n.isLoggedIn&&d()},{immediate:!0}),{plugins:i,pluginsLoading:a,pluginsLoaded:o,togglingPlugins:c,healthMap:l,hasHealthRoute:u,loadPlugins:d,togglePlugin:f,checkPluginHealth:p,judgePluginHealth:m,isCheckingHealth:h,healthOf:_,isToggling:v}}var Q=Symbol(`aw.settings.pluginAdmin`);function Ye(e){let t=Je(e);return l(Q,t),t}function Xe(){let e=c(Q);if(!e)throw Error(`[settings] usePluginAdminContext: 缺少 providePluginAdmin()`);return e}var Ze={key:0,class:`identity-note`},Qe={class:`plugin-main`},$e={class:`rt-title`},et={class:`aw-mono`},tt={key:0,class:`rt-tag`},nt={key:1,class:`rt-tag src-runtime`},rt={key:2,class:`rt-tag restart`},it={class:`rt-sub`},at={class:`rt-ctrl`},ot={key:0,class:`plugin-health faint`},st=[`onClick`],ct=[`aria-checked`,`disabled`,`onClick`],lt={key:0,class:`identity-note`},ut=Object.assign(B(d({__name:`PluginsSection`,setup(e){let{t:r}=M(),i=R(),{plugins:o,pluginsLoading:s,hasHealthRoute:c,checkPluginHealth:l,isCheckingHealth:u,healthOf:d,isToggling:m,togglePlugin:h}=Xe();return(e,g)=>{let C=ie;return t(i).isLoggedIn?(f(),S(C,{key:1,spinning:t(s)},{default:x(()=>[(f(!0),v(y,null,p(t(o),e=>(f(),v(`div`,{key:e.name,class:n([`plugin-row`,{off:e.enabled===!1}])},[_(`div`,Qe,[_(`div`,$e,[_(`span`,et,a(e.name),1),e.version?(f(),v(`span`,tt,`v`+a(e.version),1)):b(``,!0),e.builtin?(f(),v(`span`,nt,a(t(r)(`plugins.builtin`)),1)):b(``,!0),e.error?(f(),v(`span`,rt,a(e.error),1)):b(``,!0)]),_(`div`,it,a(e.description||`—`),1)]),_(`div`,at,[t(u)(e.name)?(f(),v(`span`,ot,[g[0]||=_(`span`,{class:`i-tabler-loader-2 spin`},null,-1),w(` `+a(t(r)(`plugins.healthChecking`)),1)])):t(d)(e.name)?(f(),v(`span`,{key:1,class:n([`plugin-health`,t(d)(e.name).ok?`ok`:`bad`])},[_(`span`,{class:n(t(d)(e.name).ok?`i-tabler-circle-check`:`i-tabler-alert-circle`)},null,2),w(` `+a(t(d)(e.name).ok?t(r)(`plugins.healthOk`):`${t(r)(`plugins.healthBad`)}: ${t(d)(e.name).reason??``}`),1)],2)):b(``,!0),t(c)(e)?(f(),v(`button`,{key:2,class:`aw-pill outline rt-reset`,onClick:n=>t(l)(e)},[g[1]||=_(`span`,{class:`i-tabler-heartbeat`},null,-1),w(` `+a(t(r)(`plugins.healthCheck`)),1)],8,st)):b(``,!0),_(`button`,{class:n([`switch`,{on:e.enabled!==!1}]),role:`switch`,"aria-checked":e.enabled!==!1,disabled:t(m)(e.name),onClick:n=>t(h)(e,e.enabled===!1)},[...g[2]||=[_(`span`,{class:`knob`},null,-1)]],10,ct)])],2))),128)),t(o).length===0&&!t(s)?(f(),v(`div`,lt,a(t(r)(`plugins.empty`)),1)):b(``,!0)]),_:1},8,[`spinning`])):(f(),v(`div`,Ze,a(t(r)(`plugins.needLogin`)),1))}}}),[[`__scopeId`,`data-v-c4c10ede`]]),{__name:`SettingsPluginsSection`}),dt={class:`section-title`},ft={class:`section-desc`},pt={class:`rt-groups-bar`},mt=[`title`],ht={class:`rt-groups-count`},gt={key:1,class:`rt-group-form`},_t=[`disabled`],vt={class:`rt-actions`},yt=[`disabled`],bt={class:`rt-path aw-mono`},xt={class:`rt-group-title plugin-group-title`},St={class:`section-desc`},Ct=Object.assign(B(d({__name:`RuntimePane`,props:{activeTab:{}},setup(e){let r=e,{t:i}=M(),o=z(),{runtimeNotice:s,dirtyKeys:c,savingRuntime:l,saveRuntime:u,resetAllRuntime:d}=Se(),{allExpanded:g,groupFormOpen:T,groupForm:E,groupBusy:O,isAdmin:k,submitGroupForm:A,toggleAllGroups:j}=Te(),{plugins:N}=Ye(h(()=>r.activeTab));return(r,h)=>{let M=ee,P=F,I=te,L=U;return C((f(),v(`div`,null,[_(`h3`,dt,a(t(i)(`settings.runtimeTab`)),1),_(`p`,ft,a(t(i)(`settings.runtime.desc`)),1),t(s)?(f(),S(M,{key:0,type:t(s).type,"show-icon":``,class:`rt-notice`,message:t(s).text},null,8,[`type`,`message`])):b(``,!0),_(`div`,pt,[_(`button`,{class:`aw-pill outline rt-groups-toggle`,title:t(i)(`settings.groups.toggleAll`),onClick:h[0]||=(...e)=>t(j)&&t(j)(...e)},[_(`span`,{class:n(t(g)?`i-tabler-chevrons-up`:`i-tabler-chevrons-down`)},null,2),w(` `+a(t(g)?t(i)(`settings.groups.collapseAll`):t(i)(`settings.groups.expandAll`)),1)],8,mt),_(`span`,ht,a(t(i)(`settings.groups.count`,{p0:t(o).groups.length})),1),t(k)?(f(),v(`button`,{key:0,class:`aw-pill outline rt-groups-add`,onClick:h[1]||=e=>T.value=!t(T)},[h[9]||=_(`span`,{class:`i-tabler-plus`},null,-1),w(` `+a(t(i)(`settings.groups.newGroup`)),1)])):b(``,!0)]),t(k)&&t(T)?(f(),v(`div`,gt,[m(P,{value:t(E).label,"onUpdate:value":h[2]||=e=>t(E).label=e,placeholder:t(i)(`settings.groups.namePlaceholder`),style:{width:`220px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(P,{value:t(E).description,"onUpdate:value":h[3]||=e=>t(E).description=e,placeholder:t(i)(`settings.groups.descPlaceholder`),style:{width:`320px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(I,{checked:t(E).collapsed,"onUpdate:checked":h[4]||=e=>t(E).collapsed=e},{default:x(()=>[w(a(t(i)(`settings.groups.defaultCollapsed`)),1)]),_:1},8,[`checked`]),_(`button`,{class:`aw-pill primary`,disabled:!t(E).label.trim()||t(O)===`create`,onClick:h[5]||=(...e)=>t(A)&&t(A)(...e)},a(t(O)===`create`?`…`:t(i)(`settings.groups.create`)),9,_t),_(`button`,{class:`aw-pill outline`,onClick:h[6]||=e=>T.value=!1},a(t(i)(`settings.groups.cancel`)),1)])):b(``,!0),(f(!0),v(y,null,p(t(o).groups,e=>(f(),S(qe,{key:e.id,group:e},null,8,[`group`]))),128)),_(`div`,vt,[_(`button`,{class:`aw-pill primary`,disabled:!t(c).size||t(l),onClick:h[7]||=(...e)=>t(u)&&t(u)(...e)},[h[10]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),w(` `+a(t(l)?`…`:t(i)(`settings.runtime.save`)),1)],8,yt),_(`button`,{class:`aw-pill outline`,onClick:h[8]||=(...e)=>t(d)&&t(d)(...e)},a(t(i)(`settings.runtime.resetAll`)),1),_(`span`,bt,a(t(o).settingsPath),1)]),_(`h4`,xt,a(t(i)(`plugins.title`)),1),_(`p`,St,a(t(i)(`plugins.desc`)),1),m(ut),t(N).length?(f(),S(L,{key:2,"slot-name":`settings.plugins`})):b(``,!0)],512)),[[D,e.activeTab===`runtime`]])}}}),[[`__scopeId`,`data-v-6a6f35be`]]),{__name:`SettingsRuntimePane`}),wt={class:`section-title`},Tt={class:`section-desc`},Et={class:`aw-mono`},$={class:`identity-note`},Dt=Object.assign(B(d({__name:`SystemPane`,props:{activeTab:{}},setup(n){let{t:r,locale:i}=M(),o=A(),s=e().public,c=R(),l=String(s.primaryColor),u=h(()=>[{label:r(`home.fields.name`),value:o.name},{label:r(`home.fields.version`),value:`v${o.version}`},{label:r(`home.fields.mode`),value:o.mode},{label:r(`home.fields.apiBase`),value:`${o.apiBase} (${s.apiTimeout}ms)`},{label:r(`home.fields.primary`),value:l},{label:`i18n`,value:i.value}]);return(e,i)=>{let o=L,s=ne;return C((f(),v(`div`,null,[_(`h3`,wt,a(t(r)(`settings.systemTab`)),1),_(`p`,Tt,a(t(r)(`settings.systemDesc`)),1),m(s,{bordered:``,column:1,size:`small`},{default:x(()=>[(f(!0),v(y,null,p(t(u),e=>(f(),S(o,{key:e.label,label:e.label},{default:x(()=>[_(`span`,Et,a(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,$,a(t(c).isLoggedIn?`${t(r)(`settings.identity`)}: ${t(c).user?.name} (${t(c).user?.role})`:t(r)(`settings.identityGuest`)),1)],512)),[[D,n.activeTab===`system`]])}}}),[[`__scopeId`,`data-v-4d2a2989`]]),{__name:`SettingsSystemPane`}),Ot={class:`settings-page`},kt={class:`aw-page-head`},At={class:`aw-kicker`},jt={class:`aw-stamp`},Mt={class:`settings-layout`},Nt={class:`settings-nav`},Pt=[`onClick`],Ft={class:`settings-body`},It=B(d({__name:`settings`,setup(e){let{t:r}=M(),i=A(),o=s(`appearance`),c=h(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:r(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:r(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:r(`settings.systemTab`)}]);return(e,s)=>{let l=I;return f(),v(`div`,Ot,[_(`div`,kt,[_(`div`,null,[_(`p`,At,a(t(r)(`menu.system`))+` / settings `,1),_(`h1`,null,a(t(r)(`settings.title`)),1)]),_(`span`,jt,`v`+a(t(i).version),1)]),m(l,{bordered:!1,class:`settings-card`},{default:x(()=>[_(`div`,Mt,[_(`div`,Nt,[(f(!0),v(y,null,p(t(c),e=>(f(),v(`button`,{key:e.key,class:n([`nav-item`,{active:t(o)===e.key}]),onClick:t=>o.value=e.key},[_(`span`,{class:n(e.icon)},null,2),_(`span`,null,a(e.label),1)],10,Pt))),128))]),_(`div`,Ft,[m(be,{"active-tab":t(o)},null,8,[`active-tab`]),m(Ct,{"active-tab":t(o)},null,8,[`active-tab`]),m(Dt,{"active-tab":t(o)},null,8,[`active-tab`])])])]),_:1})])}}}),[[`__scopeId`,`data-v-672ae7d7`]]);export{It as default};
1
+ import{o as e}from"./BMMoqi94.js";import{N as t,dt as n,ft as r,g as i,mt as a,u as o,v as s}from"./CavpkQb0.js";import{D as c,H as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,y as w}from"./ByMj6e7s.js";import{c as T,d as E,l as D,u as O}from"./Dqz5HiXa.js";import{n as k,t as A}from"./BgnhB8r5.js";import{t as j}from"./S799kNo8.js";import{n as M}from"./Cnrmlixo.js";import{a as N}from"./wDPc4SSR.js";import{t as P}from"./eutnXI4F.js";import{t as F}from"./CAaSPBqk.js";import{t as ee}from"./Bwc6lt2X.js";import{t as I}from"./CzlUIbK32.js";import{t as te}from"./Yv9YItEX2.js";import{n as L,t as ne}from"./DVKXGuMz2.js";import{t as re}from"./CD9lpEz22.js";import{t as ie}from"./DzBbYWrw2.js";import{t as ae}from"./DqtnqNgL2.js";import{t as R}from"./CI2yXRr42.js";import{t as z}from"./DTxfFIvL2.js";import{t as B}from"./BDNMzG2s2.js";import{t as V}from"./JgheoP3e.js";import{t as H}from"./8oRmGaAV.js";import{t as U}from"./C4sQKuhk2.js";var W={class:`section-title`},G={class:`section-desc`},K={class:`set-row`},q={class:`set-text`},J={class:`set-title`},oe={class:`set-sub`},se={class:`color-swatches`},ce=[`title`,`onClick`],le={class:`swatch-label`},ue={key:0,class:`i-tabler-check swatch-check`},de={class:`toggle-row`},fe={class:`set-text`},pe={class:`set-title`},me={class:`set-sub`},he=[`aria-checked`],ge={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=Object.assign(B(d({__name:`AppearancePane`,props:{activeTab:{}},setup(i){let o=k(),s=e().public,{t:c,locale:l,locales:u,setLocale:d}=M(),g=String(s.primaryColor),x=[{value:g,label:c(`settings.accentInk`)},{value:`#c9963f`,label:c(`settings.accentStone`)},{value:`#44615a`,label:c(`settings.accentMoss`)},{value:`#3f6094`,label:c(`settings.accentSlate`)},{value:`#6b5aa0`,label:c(`settings.accentPlum`)},{value:`#9c5744`,label:c(`settings.accentClay`)}],S=h(()=>o.accent??g);function T(e){o.setAccent(e===g?null:e),N.success(c(`settings.accentApplied`))}function E(){o.setAccent(null),N.success(c(`settings.accentReset`))}let O=h(()=>u.value.map(e=>({label:e.name,value:e.code}))),A=e=>{e!=null&&(j(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),d(String(e)),window.location.reload())};return(e,s)=>{let u=P;return C((f(),v(`div`,null,[_(`h3`,W,a(t(c)(`settings.theme`)),1),_(`p`,G,a(t(c)(`settings.appearanceDesc`)),1),_(`div`,K,[_(`div`,q,[_(`div`,J,a(t(c)(`settings.primaryColor`)),1),_(`div`,oe,a(t(c)(`settings.accentDesc`)),1)])]),_(`div`,se,[(f(),v(y,null,p(x,e=>_(`button`,{key:e.value,class:n([`swatch`,{on:t(S).toLowerCase()===e.value.toLowerCase()}]),style:r({"--sw":e.value}),title:e.label,onClick:t=>T(e.value)},[s[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,le,a(e.label),1),t(S).toLowerCase()===e.value.toLowerCase()?(f(),v(`span`,ue)):b(``,!0)],14,ce)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:E},[s[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),w(` `+a(t(c)(`settings.accentResetAction`)),1)]),_(`div`,de,[_(`div`,fe,[_(`div`,pe,a(t(o).isDark?t(c)(`common.dark`):t(c)(`common.light`)),1),_(`div`,me,a(t(c)(`settings.darkDesc`)),1)]),_(`button`,{class:n([`switch`,{on:t(o).isDark}]),role:`switch`,"aria-checked":t(o).isDark,onClick:s[0]||=e=>t(o).toggleDark()},[...s[3]||=[_(`span`,{class:`knob`},null,-1)]],10,he)]),_(`div`,ge,[_(`div`,_e,[_(`div`,ve,a(t(c)(`header.language`)),1),_(`div`,ye,a(t(c)(`settings.languageDesc`)),1)]),m(u,{value:t(l),options:t(O),style:{width:`140px`},onChange:A},null,8,[`value`,`options`])])],512)),[[D,i.activeTab===`appearance`]])}}}),[[`__scopeId`,`data-v-79352bd2`]]),{__name:`SettingsAppearancePane`});function xe(){let{t:e}=M(),t=z(),n=s({}),r=s(new Set),i=s(!1),a=s(null);function o(){n.value={...t.effective},r.value=new Set}g(()=>t.loaded,e=>{e&&o()},{immediate:!0}),g(()=>t.effective,()=>{r.value.size===0&&o()},{deep:!0});function c(e){r.value.add(e),a.value=null}async function l(){if(r.value.size){i.value=!0,a.value=null;try{let i={};for(let e of r.value)i[e]=n.value[e];let s=await t.patch(i);o();let c=s.restartRequired??[];a.value=c.length?{type:`warning`,text:e(`settings.runtime.restartNotice`,{keys:c.join(`, `)})}:{type:`success`,text:e(`settings.runtime.savedLive`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}finally{i.value=!1}}}async function u(i){try{await t.patch({[i]:null}),r.value.delete(i),n.value[i]=t.effective[i],a.value={type:`success`,text:e(`settings.runtime.keyReset`,{key:i})}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}async function d(){try{await t.resetAll(),o(),a.value={type:`success`,text:e(`settings.runtime.resetAllDone`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}return{draft:n,dirtyKeys:r,savingRuntime:i,runtimeNotice:a,syncRuntimeDraft:o,markDirty:c,saveRuntime:l,resetRuntimeKey:u,resetAllRuntime:d}}var Y=Symbol(`aw.settings.runtimeConfigDraft`);function Se(){let e=xe();return l(Y,e),e}function Ce(){let e=c(Y);if(!e)throw Error(`[settings] useRuntimeConfigDraftContext: 缺少 provideRuntimeConfigDraft()`);return e}function we(){let{t:e}=M(),t=R(),n=z(),r={server:`settings.runtime.groupServer`,app:`settings.runtime.groupApp`,api:`settings.runtime.groupApi`,theme:`settings.runtime.groupTheme`,i18n:`settings.runtime.groupI18n`,security:`settings.runtime.groupSecurity`,daq:`settings.runtime.groupDaq`,memory:`settings.runtime.groupMemory`,omp:`settings.runtime.groupOmp`,harness:`settings.runtime.groupHarness`,dcw:`settings.runtime.groupDcw`,workshop:`settings.runtime.groupWorkshop`,backup:`settings.runtime.groupBackup`,retention:`settings.runtime.groupRetention`,log:`settings.runtime.groupLog`,plugins:`settings.runtime.groupPlugins`};function a(t){if(t.labelKey&&e(t.labelKey)!==t.labelKey)return e(t.labelKey);if(t.label&&t.label!==t.id)return t.label;let n=r[t.id];return n?e(n):t.label||t.id}function o(t){return t.source===`plugin`?t.plugin?`${e(`settings.groups.srcPlugin`)}: ${t.plugin}`:e(`settings.groups.srcPlugin`):t.source===`user`?e(`settings.groups.srcUser`):e(`settings.groups.srcBuiltin`)}function c(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function l(t){let n=t.labelKey;return n&&e(n)!==n?e(n):t.label}let d=`aw.settings.groups.collapsed`,f=s({});function p(){try{f.value=JSON.parse(localStorage.getItem(d)??`{}`)??{}}catch{f.value={}}}function m(){try{localStorage.setItem(d,JSON.stringify(f.value))}catch{}}function g(e){let t=f.value[e.id];return t===void 0?e.collapsed:t}function _(e){e.collapsible&&(f.value={...f.value,[e.id]:!g(e)},m())}function v(){let e=n.groups.filter(e=>e.collapsible),t=e.some(e=>!g(e)),r={...f.value};for(let n of e)r[n.id]=t;f.value=r,m()}let y=h(()=>n.groups.filter(e=>e.collapsible).some(e=>!g(e))),b=h(()=>t.isAdmin),x=s(!1),S=i({label:``,description:``,collapsed:!1}),C=s(``),w=s(``),T=s(``);async function E(){if(S.label.trim()){C.value=`create`;try{await n.createGroup({label:S.label.trim(),description:S.description.trim(),collapsed:S.collapsed}),x.value=!1,S.label=``,S.description=``,S.collapsed=!1,N.success(e(`settings.groups.created`))}catch(t){N.error(V(t,e(`settings.groups.createFail`)))}finally{C.value=``}}}function D(e){w.value=e.id,T.value=e.label}async function O(t){let r=T.value.trim();if(w.value=``,r){C.value=t;try{await n.updateGroup(t,{label:r}),N.success(e(`settings.groups.renamed`))}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}}async function k(t,r){let i=[...n.groups],a=i.findIndex(e=>e.id===t),o=a+r;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];C.value=t;try{let e=[...i];e.splice(a,1),e.splice(o,0,s);let t=(o+1)*10,r=(a+1)*10;await n.updateGroup(s.id,{order:t}),await n.updateGroup(c.id,{order:r})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function A(t){C.value=t.id;try{await n.updateGroup(t.id,{collapsed:!t.collapsed})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function j(t){let r=t.fieldCount??0;if(r>0){N.warning(e(`settings.groups.deleteHasFields`,{p0:a(t),p1:r}));return}C.value=t.id;try{await n.deleteGroup(t.id),N.success(e(`settings.groups.deleted`))}catch(t){N.error(V(t,e(`settings.groups.deleteFail`)))}finally{C.value=``}}return u(p),{groupLabel:a,groupSourceBadge:o,sourceClass:c,itemLabel:l,groupCollapsed:f,loadCollapsePref:p,saveCollapsePref:m,isCollapsed:g,toggleGroup:_,toggleAllGroups:v,allExpanded:y,isAdmin:b,groupFormOpen:x,groupForm:S,groupBusy:C,renamingId:w,renameDraft:T,submitGroupForm:E,startRename:D,commitRename:O,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}}var X=Symbol(`aw.settings.groups`);function Te(){let e=we();return l(X,e),e}function Z(){let e=c(X);if(!e)throw Error(`[settings] useSettingsGroupsContext: 缺少 provideSettingsGroups()`);return e}var Ee={class:`rt-row`},De={class:`rt-main`},Oe={class:`rt-title`},ke={class:`rt-sub`},Ae={class:`rt-ctrl`},je={key:4,class:`rt-color`},Me=[`value`],Ne=[`title`],Pe=Object.assign(B(d({__name:`RuntimeFieldRow`,props:{item:{}},setup(e){let{t:r}=M(),i=z(),{draft:o,markDirty:c,resetRuntimeKey:l}=Ce(),{itemLabel:u,sourceClass:d}=Z(),p=s({}),g=h(()=>(p.value.supportedTimeZones??[`Asia/Shanghai`,`UTC`,`America/Los_Angeles`,`Europe/London`]).map(e=>({label:e,value:e})));return fetch(`/api/system/timezone`).then(e=>e.ok?e.json():{}).then(e=>{p.value=e}),(s,p)=>{let h=re,y=ae,b=P,x=F;return f(),v(`div`,Ee,[_(`div`,De,[_(`div`,Oe,[w(a(t(u)(e.item))+` `,1),_(`span`,{class:n([`rt-tag`,t(d)(t(i).sourceOf(e.item.key))])},a(t(i).sourceOf(e.item.key)),3),_(`span`,{class:n([`rt-tag`,e.item.applies])},a(e.item.applies===`live`?t(r)(`settings.runtime.live`):t(r)(`settings.runtime.restart`)),3)]),_(`div`,ke,a(e.item.description),1)]),_(`div`,Ae,[e.item.type===`number`?(f(),S(h,{key:0,value:t(o)[e.item.key],"onUpdate:value":p[0]||=n=>t(o)[e.item.key]=n,min:e.item.min,max:e.item.max,onChange:p[1]||=n=>t(c)(e.item.key)},null,8,[`value`,`min`,`max`])):e.item.type===`boolean`?(f(),S(y,{key:1,checked:t(o)[e.item.key],"onUpdate:checked":p[2]||=n=>t(o)[e.item.key]=n,onChange:p[3]||=n=>t(c)(e.item.key)},null,8,[`checked`])):e.item.type===`timezone`?(f(),S(b,{key:2,value:t(o)[e.item.key],"onUpdate:value":p[4]||=n=>t(o)[e.item.key]=n,"show-search":``,"option-filter-prop":`label`,style:{width:`260px`},options:t(g),onChange:p[5]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`select`?(f(),S(b,{key:3,value:t(o)[e.item.key],"onUpdate:value":p[6]||=n=>t(o)[e.item.key]=n,style:{width:`160px`},options:(e.item.options??[]).map(e=>({label:e,value:e})),onChange:p[7]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`color`?(f(),v(`span`,je,[_(`input`,{type:`color`,value:String(t(o)[e.item.key]??`#35e0a0`),onInput:p[8]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,40,Me),m(x,{value:String(t(o)[e.item.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:p[9]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,8,[`value`])])):(f(),S(x,{key:5,value:t(o)[e.item.key],"onUpdate:value":p[10]||=n=>t(o)[e.item.key]=n,style:{width:`220px`},onChange:p[11]||=n=>t(c)(e.item.key)},null,8,[`value`])),_(`button`,{class:`aw-pill outline rt-reset`,title:t(r)(`settings.runtime.resetKey`),onClick:p[12]||=n=>t(l)(e.item.key)},[...p[13]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Ne)])])}}}),[[`__scopeId`,`data-v-03e4daa3`]]),{__name:`SettingsRuntimeFieldRow`}),Fe=[`role`,`tabindex`],Ie={key:3,class:`rt-group-title`},Le={class:`rt-group-badge`},Re={class:`rt-group-fields`},ze={key:4,class:`rt-group-desc`},Be=[`disabled`,`title`],Ve=[`disabled`,`title`],He=[`disabled`,`title`],Ue=[`disabled`,`title`],We=[`disabled`,`title`],Ge={class:`rt-group-body`},Ke={key:0,class:`rt-group-empty`},qe=Object.assign(B(d({__name:`RuntimeGroupSection`,props:{group:{}},setup(e){let{t:r}=M(),i=z(),{groupLabel:s,groupSourceBadge:c,isCollapsed:l,toggleGroup:u,renamingId:d,renameDraft:m,commitRename:h,startRename:g,isAdmin:x,groupBusy:w,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}=Z();return(M,N)=>(f(),v(`section`,{class:n([`rt-group`,{collapsed:t(l)(e.group),"grp-plugin":e.group.source===`plugin`}])},[_(`header`,{class:`rt-group-head`,role:e.group.collapsible?`button`:void 0,tabindex:e.group.collapsible?0:void 0,onClick:N[11]||=n=>t(u)(e.group),onKeydown:[N[12]||=O(E(n=>t(u)(e.group),[`prevent`]),[`enter`]),N[13]||=O(E(n=>t(u)(e.group),[`prevent`]),[`space`])]},[e.group.collapsible?(f(),v(`span`,{key:0,class:n([`rt-caret`,t(l)(e.group)?`i-tabler-chevron-right`:`i-tabler-chevron-down`])},null,2)):b(``,!0),e.group.icon?(f(),v(`span`,{key:1,class:n([`rt-group-icon`,e.group.icon])},null,2)):b(``,!0),t(d)===e.group.id?(f(),v(y,{key:2},[C(_(`input`,{"onUpdate:modelValue":N[0]||=e=>o(m)?m.value=e:null,class:`rt-rename aw-mono`,onClick:N[1]||=E(()=>{},[`stop`]),onKeydown:[N[2]||=O(E(n=>t(h)(e.group.id),[`prevent`]),[`enter`]),N[3]||=O(E(e=>d.value=``,[`prevent`]),[`esc`])]},null,544),[[T,t(m)]]),_(`button`,{class:`mini-btn`,onClick:N[4]||=E(n=>t(h)(e.group.id),[`stop`])},a(t(r)(`settings.groups.ok`)),1)],64)):(f(),v(`h4`,Ie,a(t(s)(e.group)),1)),_(`span`,Le,a(t(c)(e.group)),1),_(`span`,Re,a(t(r)(`settings.groups.fields`,{p0:e.group.fieldCount??0})),1),e.group.description?(f(),v(`span`,ze,a(e.group.description),1)):b(``,!0),t(x)&&e.group.source!==`plugin`?(f(),v(`span`,{key:5,class:`rt-group-ops`,onClick:N[10]||=E(()=>{},[`stop`])},[_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveUp`),onClick:N[5]||=n=>t(k)(e.group.id,-1)},[...N[14]||=[_(`span`,{class:`i-tabler-arrow-up`},null,-1)]],8,Be),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveDown`),onClick:N[6]||=n=>t(k)(e.group.id,1)},[...N[15]||=[_(`span`,{class:`i-tabler-arrow-down`},null,-1)]],8,Ve),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.rename`),onClick:N[7]||=n=>t(g)(e.group)},[...N[16]||=[_(`span`,{class:`i-tabler-pencil`},null,-1)]],8,He),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.defaultCollapsed`),onClick:N[8]||=n=>t(A)(e.group)},[_(`span`,{class:n(e.group.collapsed?`i-tabler-chevrons-down`:`i-tabler-chevrons-up`)},null,2)],8,Ue),e.group.source===`user`?(f(),v(`button`,{key:0,class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.delete`),onClick:N[9]||=n=>t(j)(e.group)},[...N[17]||=[_(`span`,{class:`i-tabler-trash`},null,-1)]],8,We)):b(``,!0)])):b(``,!0)],40,Fe),C(_(`div`,Ge,[e.group.fieldCount??0?b(``,!0):(f(),v(`p`,Ke,a(t(r)(`settings.groups.emptyHint`)),1)),(f(!0),v(y,null,p(t(i).fieldsOf(e.group.id),e=>(f(),S(Pe,{key:e.key,item:e},null,8,[`item`]))),128))],512),[[D,!t(l)(e.group)]])],2))}}),[[`__scopeId`,`data-v-2f40d8db`]]),{__name:`SettingsRuntimeGroupSection`});function Je(e){let{t}=M(),n=R(),r=H(),i=s([]),a=s(!1),o=s(!1),c=s(new Set),l=s({}),u=e=>(e.routes??[]).some(e=>String(e.path||``).endsWith(`/health`));async function d(){a.value=!0;try{let e=await r.listPlugins(),t=e?.plugins??e?.data?.plugins??[];i.value=Array.isArray(t)?t:[],o.value=!0}catch(e){N.error(V(e,t(`plugins.loadFail`)))}finally{a.value=!1}}async function f(e,n){if(!c.value.has(e.name)){c.value.add(e.name);try{n?await r.enablePlugin(e.name):await r.disablePlugin(e.name),e.enabled=n,N.success(t(n?`plugins.enabled`:`plugins.disabled`))}catch(e){N.error(V(e,t(`plugins.adminRequired`)))}finally{c.value.delete(e.name)}}}async function p(e){if(u(e)){l.value={...l.value,[e.name]:`checking`};try{let t=await r.pluginHealth(e.name);l.value={...l.value,[e.name]:m(e.name,t)}}catch(n){l.value={...l.value,[e.name]:{ok:!1,reason:V(n,t(`plugins.loadFail`))}}}}}function m(e,t){if(e===`rag-bridge`){let e=t.backend,n=t.web,r=!!e?.ok&&!!n?.ok,i=e?.ok?n?.error||n?.status||`web`:e?.error||e?.status||`backend`;return r?{ok:!0}:{ok:!1,reason:i}}if(e===`diag-bridge`){let e=t.remote;return e?.status===`ok`?{ok:!0}:{ok:!1,reason:e?.status||`remote`}}return{ok:!0}}function h(e){return l.value[e]===`checking`}function _(e){let t=l.value[e];return t&&t!==`checking`?t:null}function v(e){return c.value.has(e)}return g(e,e=>{e===`runtime`&&!o.value&&!a.value&&n.isLoggedIn&&d()},{immediate:!0}),{plugins:i,pluginsLoading:a,pluginsLoaded:o,togglingPlugins:c,healthMap:l,hasHealthRoute:u,loadPlugins:d,togglePlugin:f,checkPluginHealth:p,judgePluginHealth:m,isCheckingHealth:h,healthOf:_,isToggling:v}}var Q=Symbol(`aw.settings.pluginAdmin`);function Ye(e){let t=Je(e);return l(Q,t),t}function Xe(){let e=c(Q);if(!e)throw Error(`[settings] usePluginAdminContext: 缺少 providePluginAdmin()`);return e}var Ze={key:0,class:`identity-note`},Qe={class:`plugin-main`},$e={class:`rt-title`},et={class:`aw-mono`},tt={key:0,class:`rt-tag`},nt={key:1,class:`rt-tag src-runtime`},rt={key:2,class:`rt-tag restart`},it={class:`rt-sub`},at={class:`rt-ctrl`},ot={key:0,class:`plugin-health faint`},st=[`onClick`],ct=[`aria-checked`,`disabled`,`onClick`],lt={key:0,class:`identity-note`},ut=Object.assign(B(d({__name:`PluginsSection`,setup(e){let{t:r}=M(),i=R(),{plugins:o,pluginsLoading:s,hasHealthRoute:c,checkPluginHealth:l,isCheckingHealth:u,healthOf:d,isToggling:m,togglePlugin:h}=Xe();return(e,g)=>{let C=ie;return t(i).isLoggedIn?(f(),S(C,{key:1,spinning:t(s)},{default:x(()=>[(f(!0),v(y,null,p(t(o),e=>(f(),v(`div`,{key:e.name,class:n([`plugin-row`,{off:e.enabled===!1}])},[_(`div`,Qe,[_(`div`,$e,[_(`span`,et,a(e.name),1),e.version?(f(),v(`span`,tt,`v`+a(e.version),1)):b(``,!0),e.builtin?(f(),v(`span`,nt,a(t(r)(`plugins.builtin`)),1)):b(``,!0),e.error?(f(),v(`span`,rt,a(e.error),1)):b(``,!0)]),_(`div`,it,a(e.description||`—`),1)]),_(`div`,at,[t(u)(e.name)?(f(),v(`span`,ot,[g[0]||=_(`span`,{class:`i-tabler-loader-2 spin`},null,-1),w(` `+a(t(r)(`plugins.healthChecking`)),1)])):t(d)(e.name)?(f(),v(`span`,{key:1,class:n([`plugin-health`,t(d)(e.name).ok?`ok`:`bad`])},[_(`span`,{class:n(t(d)(e.name).ok?`i-tabler-circle-check`:`i-tabler-alert-circle`)},null,2),w(` `+a(t(d)(e.name).ok?t(r)(`plugins.healthOk`):`${t(r)(`plugins.healthBad`)}: ${t(d)(e.name).reason??``}`),1)],2)):b(``,!0),t(c)(e)?(f(),v(`button`,{key:2,class:`aw-pill outline rt-reset`,onClick:n=>t(l)(e)},[g[1]||=_(`span`,{class:`i-tabler-heartbeat`},null,-1),w(` `+a(t(r)(`plugins.healthCheck`)),1)],8,st)):b(``,!0),_(`button`,{class:n([`switch`,{on:e.enabled!==!1}]),role:`switch`,"aria-checked":e.enabled!==!1,disabled:t(m)(e.name),onClick:n=>t(h)(e,e.enabled===!1)},[...g[2]||=[_(`span`,{class:`knob`},null,-1)]],10,ct)])],2))),128)),t(o).length===0&&!t(s)?(f(),v(`div`,lt,a(t(r)(`plugins.empty`)),1)):b(``,!0)]),_:1},8,[`spinning`])):(f(),v(`div`,Ze,a(t(r)(`plugins.needLogin`)),1))}}}),[[`__scopeId`,`data-v-c4c10ede`]]),{__name:`SettingsPluginsSection`}),dt={class:`section-title`},ft={class:`section-desc`},pt={class:`rt-groups-bar`},mt=[`title`],ht={class:`rt-groups-count`},gt={key:1,class:`rt-group-form`},_t=[`disabled`],vt={class:`rt-actions`},yt=[`disabled`],bt={class:`rt-path aw-mono`},xt={class:`rt-group-title plugin-group-title`},St={class:`section-desc`},Ct=Object.assign(B(d({__name:`RuntimePane`,props:{activeTab:{}},setup(e){let r=e,{t:i}=M(),o=z(),{runtimeNotice:s,dirtyKeys:c,savingRuntime:l,saveRuntime:u,resetAllRuntime:d}=Se(),{allExpanded:g,groupFormOpen:T,groupForm:E,groupBusy:O,isAdmin:k,submitGroupForm:A,toggleAllGroups:j}=Te(),{plugins:N}=Ye(h(()=>r.activeTab));return(r,h)=>{let M=ee,P=F,I=te,L=U;return C((f(),v(`div`,null,[_(`h3`,dt,a(t(i)(`settings.runtimeTab`)),1),_(`p`,ft,a(t(i)(`settings.runtime.desc`)),1),t(s)?(f(),S(M,{key:0,type:t(s).type,"show-icon":``,class:`rt-notice`,message:t(s).text},null,8,[`type`,`message`])):b(``,!0),_(`div`,pt,[_(`button`,{class:`aw-pill outline rt-groups-toggle`,title:t(i)(`settings.groups.toggleAll`),onClick:h[0]||=(...e)=>t(j)&&t(j)(...e)},[_(`span`,{class:n(t(g)?`i-tabler-chevrons-up`:`i-tabler-chevrons-down`)},null,2),w(` `+a(t(g)?t(i)(`settings.groups.collapseAll`):t(i)(`settings.groups.expandAll`)),1)],8,mt),_(`span`,ht,a(t(i)(`settings.groups.count`,{p0:t(o).groups.length})),1),t(k)?(f(),v(`button`,{key:0,class:`aw-pill outline rt-groups-add`,onClick:h[1]||=e=>T.value=!t(T)},[h[9]||=_(`span`,{class:`i-tabler-plus`},null,-1),w(` `+a(t(i)(`settings.groups.newGroup`)),1)])):b(``,!0)]),t(k)&&t(T)?(f(),v(`div`,gt,[m(P,{value:t(E).label,"onUpdate:value":h[2]||=e=>t(E).label=e,placeholder:t(i)(`settings.groups.namePlaceholder`),style:{width:`220px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(P,{value:t(E).description,"onUpdate:value":h[3]||=e=>t(E).description=e,placeholder:t(i)(`settings.groups.descPlaceholder`),style:{width:`320px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(I,{checked:t(E).collapsed,"onUpdate:checked":h[4]||=e=>t(E).collapsed=e},{default:x(()=>[w(a(t(i)(`settings.groups.defaultCollapsed`)),1)]),_:1},8,[`checked`]),_(`button`,{class:`aw-pill primary`,disabled:!t(E).label.trim()||t(O)===`create`,onClick:h[5]||=(...e)=>t(A)&&t(A)(...e)},a(t(O)===`create`?`…`:t(i)(`settings.groups.create`)),9,_t),_(`button`,{class:`aw-pill outline`,onClick:h[6]||=e=>T.value=!1},a(t(i)(`settings.groups.cancel`)),1)])):b(``,!0),(f(!0),v(y,null,p(t(o).groups,e=>(f(),S(qe,{key:e.id,group:e},null,8,[`group`]))),128)),_(`div`,vt,[_(`button`,{class:`aw-pill primary`,disabled:!t(c).size||t(l),onClick:h[7]||=(...e)=>t(u)&&t(u)(...e)},[h[10]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),w(` `+a(t(l)?`…`:t(i)(`settings.runtime.save`)),1)],8,yt),_(`button`,{class:`aw-pill outline`,onClick:h[8]||=(...e)=>t(d)&&t(d)(...e)},a(t(i)(`settings.runtime.resetAll`)),1),_(`span`,bt,a(t(o).settingsPath),1)]),_(`h4`,xt,a(t(i)(`plugins.title`)),1),_(`p`,St,a(t(i)(`plugins.desc`)),1),m(ut),t(N).length?(f(),S(L,{key:2,"slot-name":`settings.plugins`})):b(``,!0)],512)),[[D,e.activeTab===`runtime`]])}}}),[[`__scopeId`,`data-v-6a6f35be`]]),{__name:`SettingsRuntimePane`}),wt={class:`section-title`},Tt={class:`section-desc`},Et={class:`aw-mono`},$={class:`identity-note`},Dt=Object.assign(B(d({__name:`SystemPane`,props:{activeTab:{}},setup(n){let{t:r,locale:i}=M(),o=A(),s=e().public,c=R(),l=String(s.primaryColor),u=h(()=>[{label:r(`home.fields.name`),value:o.name},{label:r(`home.fields.version`),value:`v${o.version}`},{label:r(`home.fields.mode`),value:o.mode},{label:r(`home.fields.apiBase`),value:`${o.apiBase} (${s.apiTimeout}ms)`},{label:r(`home.fields.primary`),value:l},{label:`i18n`,value:i.value}]);return(e,i)=>{let o=L,s=ne;return C((f(),v(`div`,null,[_(`h3`,wt,a(t(r)(`settings.systemTab`)),1),_(`p`,Tt,a(t(r)(`settings.systemDesc`)),1),m(s,{bordered:``,column:1,size:`small`},{default:x(()=>[(f(!0),v(y,null,p(t(u),e=>(f(),S(o,{key:e.label,label:e.label},{default:x(()=>[_(`span`,Et,a(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,$,a(t(c).isLoggedIn?`${t(r)(`settings.identity`)}: ${t(c).user?.name} (${t(c).user?.role})`:t(r)(`settings.identityGuest`)),1)],512)),[[D,n.activeTab===`system`]])}}}),[[`__scopeId`,`data-v-4d2a2989`]]),{__name:`SettingsSystemPane`}),Ot={class:`settings-page`},kt={class:`aw-page-head`},At={class:`aw-kicker`},jt={class:`aw-stamp`},Mt={class:`settings-layout`},Nt={class:`settings-nav`},Pt=[`onClick`],Ft={class:`settings-body`},It=B(d({__name:`settings`,setup(e){let{t:r}=M(),i=A(),o=s(`appearance`),c=h(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:r(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:r(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:r(`settings.systemTab`)}]);return(e,s)=>{let l=I;return f(),v(`div`,Ot,[_(`div`,kt,[_(`div`,null,[_(`p`,At,a(t(r)(`menu.system`))+` / settings `,1),_(`h1`,null,a(t(r)(`settings.title`)),1)]),_(`span`,jt,`v`+a(t(i).version),1)]),m(l,{bordered:!1,class:`settings-card`},{default:x(()=>[_(`div`,Mt,[_(`div`,Nt,[(f(!0),v(y,null,p(t(c),e=>(f(),v(`button`,{key:e.key,class:n([`nav-item`,{active:t(o)===e.key}]),onClick:t=>o.value=e.key},[_(`span`,{class:n(e.icon)},null,2),_(`span`,null,a(e.label),1)],10,Pt))),128))]),_(`div`,Ft,[m(be,{"active-tab":t(o)},null,8,[`active-tab`]),m(Ct,{"active-tab":t(o)},null,8,[`active-tab`]),m(Dt,{"active-tab":t(o)},null,8,[`active-tab`])])])]),_:1})])}}}),[[`__scopeId`,`data-v-672ae7d7`]]);export{It as default};
@@ -1 +1 @@
1
- import{t as e}from"./DK3Fl9T5.js";import{n as t}from"./Cnrmlixo.js";import{a as n}from"./wDPc4SSR.js";import{t as r}from"./JgheoP3e.js";import{t as i}from"./BWU1pvLL.js";var a=e({useAgentTemplateActions:()=>o});function o(e){let a=i(),{t:o}=t();return{remove:async t=>{await a.deleteTemplate(t.id),n.success(o(`agents.k3n5sd7022`)),e.reload()},toggleEnabled:async t=>{await a.updateTemplate(t.id,{enabled:t.enabled===1?0:1}),e.reload()},toggleVisibility:async(t,i)=>{try{await a.updateTemplate(t.id,{visibility:i?`public`:`private`}),n.success(o(i?`agents.kxa6cxx023`:`agents.k1xxabaf024`)),e.reload()}catch(e){n.error(r(e))}}}}export{a as n,o as t};
1
+ import{t as e}from"./DK3Fl9T5.js";import{n as t}from"./Cnrmlixo.js";import{a as n}from"./wDPc4SSR.js";import{t as r}from"./JgheoP3e.js";import{t as i}from"./8oRmGaAV.js";var a=e({useAgentTemplateActions:()=>o});function o(e){let a=i(),{t:o}=t();return{remove:async t=>{await a.deleteTemplate(t.id),n.success(o(`agents.k3n5sd7022`)),e.reload()},toggleEnabled:async t=>{await a.updateTemplate(t.id,{enabled:t.enabled===1?0:1}),e.reload()},toggleVisibility:async(t,i)=>{try{await a.updateTemplate(t.id,{visibility:i?`public`:`private`}),n.success(o(i?`agents.kxa6cxx023`:`agents.k1xxabaf024`)),e.reload()}catch(e){n.error(r(e))}}}}export{a as n,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./DK3Fl9T5.js";import{P as t,d as n,et as r}from"./ByMj6e7s.js";import{p as i}from"./Br3AySNQ.js";import{t as a}from"./D0SNhlnt.js";import{t as o}from"./C_sjV3Ee.js";var s=e({useWorkspaceChannels:()=>c});function c(){let e=i(),s=o(),{subscribe:c,unsubscribe:l,conn:u}=a(),d=n(()=>String(e.params.wsId)),f=n(()=>s.workspaces.find(e=>e.id===d.value)),p=n(()=>{let e=f.value;if(!e)return;let t=e.channelIds,n=e.activeChannelId;return n&&t.includes(n)?n:t[0]});r(()=>[d.value,f.value?.channelIds.join(`,`)??``],()=>{let e=new Set(f.value?.channelIds??[]);for(let t of e)c(t)},{immediate:!0}),r(()=>f.value?.channelIds.join(`,`)??``,(e,t)=>{if(t===void 0)return;let n=new Set(f.value?.channelIds??[]);for(let e of t.split(`,`).filter(Boolean))n.has(e)||l(e)}),t(()=>{for(let e of f.value?.channelIds??[])l(e)});let m=n(()=>u.state===`open`?`var(--tone-success-dot)`:u.state===`connecting`?`var(--tone-warning-dot)`:`var(--tone-danger-dot)`),h=n(()=>p.value?u.cursors[p.value]??0:0);return{wsId:d,workspace:f,channelId:p,loaded:n(()=>s.loaded),conn:u,stateColor:m,lastSeq:h}}export{s as n,c as t};
1
+ import{t as e}from"./DK3Fl9T5.js";import{P as t,d as n,et as r}from"./ByMj6e7s.js";import{p as i}from"./Br3AySNQ.js";import{t as a}from"./DWsgRq2c.js";import{t as o}from"./C_sjV3Ee.js";var s=e({useWorkspaceChannels:()=>c});function c(){let e=i(),s=o(),{subscribe:c,unsubscribe:l,conn:u}=a(),d=n(()=>String(e.params.wsId)),f=n(()=>s.workspaces.find(e=>e.id===d.value)),p=n(()=>{let e=f.value;if(!e)return;let t=e.channelIds,n=e.activeChannelId;return n&&t.includes(n)?n:t[0]});r(()=>[d.value,f.value?.channelIds.join(`,`)??``],()=>{let e=new Set(f.value?.channelIds??[]);for(let t of e)c(t)},{immediate:!0}),r(()=>f.value?.channelIds.join(`,`)??``,(e,t)=>{if(t===void 0)return;let n=new Set(f.value?.channelIds??[]);for(let e of t.split(`,`).filter(Boolean))n.has(e)||l(e)}),t(()=>{for(let e of f.value?.channelIds??[])l(e)});let m=n(()=>u.state===`open`?`var(--tone-success-dot)`:u.state===`connecting`?`var(--tone-warning-dot)`:`var(--tone-danger-dot)`),h=n(()=>p.value?u.cursors[p.value]??0:0);return{wsId:d,workspace:f,channelId:p,loaded:n(()=>s.loaded),conn:u,stateColor:m,lastSeq:h}}export{s as n,c as t};