agentworkshop 0.7.70 → 0.7.71

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 (1184) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +3611 -2786
  2. package/.output/.AgentWorkShop/aml-python/requirements.txt +3 -0
  3. package/.output/.AgentWorkShop/optimizer-python/probe.py +24 -0
  4. package/.output/.AgentWorkShop/optimizer-python/problems.py +347 -0
  5. package/.output/.AgentWorkShop/optimizer-python/worker.py +119 -0
  6. package/.output/.AgentWorkShop/prompts/host-tools.json +3611 -2786
  7. package/.output/.AgentWorkShop/schema.json +14 -5
  8. package/.output/nitro.json +1 -1
  9. package/.output/public/_nuxt/{zzV9kr9T.js → B6jtLy6z.js} +2 -2
  10. package/.output/public/_nuxt/{BNNtKbSV.js → B7s2qeyT.js} +4 -4
  11. package/.output/public/_nuxt/BBw9ylUY2.js +1 -0
  12. package/.output/public/_nuxt/BO0BJx3w.js +8 -0
  13. package/.output/public/_nuxt/Bcs9zzO62.js +1 -0
  14. package/.output/public/_nuxt/BnNmkGJS2.js +36 -0
  15. package/.output/public/_nuxt/{DoGa0vsN.js → DBtXLkyA.js} +1 -1
  16. package/.output/public/_nuxt/DPvZxAt02.js +1 -0
  17. package/.output/public/_nuxt/DbeNMehP.js +1 -0
  18. package/.output/public/_nuxt/LHIav-Kv.js +1 -0
  19. package/.output/public/_nuxt/NXY37IO62.js +1 -0
  20. package/.output/public/_nuxt/RuMLNeQE.js +1 -0
  21. package/.output/public/_nuxt/board.Bo35UR0e.css +1 -0
  22. package/.output/public/_nuxt/builds/latest.json +1 -1
  23. package/.output/public/_nuxt/builds/meta/0ae8cb0f-6ce5-4096-9692-9b1fc197b30d.json +1 -0
  24. package/.output/public/_nuxt/{data.D7XYoiL8.css → data.jRO2K9JI.css} +1 -1
  25. package/.output/public/_nuxt/{default.C9eAl1QW.css → default.BzOcvmSE.css} +1 -1
  26. package/.output/public/_nuxt/{entry.DI0qLRfo.css → entry.CL2i0F8o.css} +1 -1
  27. package/.output/public/_nuxt/optimizer.B8gCbU1b.css +1 -0
  28. package/.output/public/_nuxt/studio.CjmUr8P7.css +1 -0
  29. package/.output/server/chunks/_/access.mjs +165 -0
  30. package/.output/server/chunks/_/access.mjs.map +1 -0
  31. package/.output/server/chunks/_/binding-authz.mjs +1 -1
  32. package/.output/server/chunks/_/catalog-view.mjs +2 -1
  33. package/.output/server/chunks/_/catalog-view.mjs.map +1 -1
  34. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  35. package/.output/server/chunks/_/chart-repo.mjs +1 -1
  36. package/.output/server/chunks/_/dashboard-repo.mjs +1 -1
  37. package/.output/server/chunks/_/data-export.mjs +6 -6
  38. package/.output/server/chunks/_/data-query.mjs +3 -3
  39. package/.output/server/chunks/_/dataset-reader.mjs +61 -0
  40. package/.output/server/chunks/_/dataset-reader.mjs.map +1 -0
  41. package/.output/server/chunks/_/eda-run.repo.mjs +10 -6
  42. package/.output/server/chunks/_/eda-run.repo.mjs.map +1 -1
  43. package/.output/server/chunks/_/entity.mjs +1 -1
  44. package/.output/server/chunks/_/features.mjs +6 -5
  45. package/.output/server/chunks/_/features.mjs.map +1 -1
  46. package/.output/server/chunks/_/golden.mjs +3 -3
  47. package/.output/server/chunks/_/host-bindings.mjs +2 -1
  48. package/.output/server/chunks/_/host-bindings.mjs.map +1 -1
  49. package/.output/server/chunks/_/index.mjs +583 -0
  50. package/.output/server/chunks/_/index.mjs.map +1 -0
  51. package/.output/server/chunks/_/mes-console.mjs +1 -1
  52. package/.output/server/chunks/_/nitro.mjs +14829 -9417
  53. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  54. package/.output/server/chunks/_/ocap.mjs +1 -1
  55. package/.output/server/chunks/_/rest-auth.mjs +44 -0
  56. package/.output/server/chunks/_/rest-auth.mjs.map +1 -0
  57. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  58. package/.output/server/chunks/_/spc.mjs +3 -2
  59. package/.output/server/chunks/_/spc.mjs.map +1 -1
  60. package/.output/server/chunks/build/TownView-BWMDbosY.mjs +1 -1
  61. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +1 -0
  62. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -1
  63. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +1 -0
  64. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -1
  65. package/.output/server/chunks/build/{_wsId_-BXSYXXXX.mjs → _wsId_-BNKrrV1H.mjs} +23 -2
  66. package/.output/server/chunks/build/{_wsId_-BXSYXXXX.mjs.map → _wsId_-BNKrrV1H.mjs.map} +1 -1
  67. package/.output/server/chunks/build/agents-8tV9xL97.mjs +1 -0
  68. package/.output/server/chunks/build/agents-8tV9xL97.mjs.map +1 -1
  69. package/.output/server/chunks/build/aml-BNTEDOsl.mjs +1 -0
  70. package/.output/server/chunks/build/aml-BNTEDOsl.mjs.map +1 -1
  71. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +1 -0
  72. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -1
  73. package/.output/server/chunks/build/api-B4Om0mEc.mjs +1 -0
  74. package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -1
  75. package/.output/server/chunks/build/api-BsAgXWxi.mjs +72 -0
  76. package/.output/server/chunks/build/api-BsAgXWxi.mjs.map +1 -0
  77. package/.output/server/chunks/build/{board-C6JysYLg.mjs → board-Dl2Ar22r.mjs} +26 -38
  78. package/.output/server/chunks/build/board-Dl2Ar22r.mjs.map +1 -0
  79. package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs +1 -0
  80. package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs.map +1 -1
  81. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +117 -0
  82. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -0
  83. package/.output/server/chunks/build/constants-HPHJvjne.mjs +1 -0
  84. package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
  85. package/.output/server/chunks/build/daq-CdxcfY_G.mjs +2 -1
  86. package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -1
  87. package/.output/server/chunks/build/{data-DL68QJ5W.mjs → data-D8uX1dnm.mjs} +37 -33
  88. package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +1 -0
  89. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +2 -1
  90. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -1
  91. package/.output/server/chunks/build/{default-Dt1B8QzV.mjs → default-BeB88U7y.mjs} +15 -8
  92. package/.output/server/chunks/build/{default-Dt1B8QzV.mjs.map → default-BeB88U7y.mjs.map} +1 -1
  93. package/.output/server/chunks/build/es-Bxu10NJ2.mjs +1 -0
  94. package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -1
  95. package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs +1 -0
  96. package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs.map +1 -1
  97. package/.output/server/chunks/build/monitor-DvaR3yo8.mjs +1 -0
  98. package/.output/server/chunks/build/operations-Cl8nVm9D.mjs +1 -0
  99. package/.output/server/chunks/build/operations-Cl8nVm9D.mjs.map +1 -1
  100. package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs +200 -0
  101. package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs.map +1 -0
  102. package/.output/server/chunks/build/pages-AFRP4-EL.mjs +1 -0
  103. package/.output/server/chunks/build/pages-AFRP4-EL.mjs.map +1 -1
  104. package/.output/server/chunks/build/permissions-CVTfixZj.mjs +1 -0
  105. package/.output/server/chunks/build/permissions-CVTfixZj.mjs.map +1 -1
  106. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +1 -0
  107. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -1
  108. package/.output/server/chunks/build/schedules-BLhn2CLn.mjs +1 -0
  109. package/.output/server/chunks/build/settings-DIf_iYdu.mjs +1 -0
  110. package/.output/server/chunks/build/settings-DIf_iYdu.mjs.map +1 -1
  111. package/.output/server/chunks/build/{studio-DjhjwH4s.mjs → studio-cdoNCfyy.mjs} +55 -106
  112. package/.output/server/chunks/build/studio-cdoNCfyy.mjs.map +1 -0
  113. package/.output/server/chunks/build/teams-B2J6ouRY.mjs +1 -0
  114. package/.output/server/chunks/build/teams-B2J6ouRY.mjs.map +1 -1
  115. package/.output/server/chunks/build/tokens-DFQGaN2n.mjs +1 -0
  116. package/.output/server/chunks/build/tokens-DFQGaN2n.mjs.map +1 -1
  117. package/.output/server/chunks/build/tools-DWJFnU_t.mjs +1 -0
  118. package/.output/server/chunks/build/tools-DWJFnU_t.mjs.map +1 -1
  119. package/.output/server/chunks/build/town-B5aoiG98.mjs +1 -0
  120. package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -1
  121. package/.output/server/chunks/build/town-BV-hbwb5.mjs +1 -0
  122. package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
  123. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  124. package/.output/server/chunks/build/types-DWqIeMRP.mjs +1 -0
  125. package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
  126. package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs +1 -0
  127. package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs.map +1 -1
  128. package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs +1 -0
  129. package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs.map +1 -1
  130. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +1 -0
  131. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
  132. package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs +1 -0
  133. package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs.map +1 -1
  134. package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs +1 -0
  135. package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs.map +1 -1
  136. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +1 -0
  137. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -1
  138. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +1 -0
  139. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -1
  140. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +1 -0
  141. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -1
  142. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +1 -0
  143. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -1
  144. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +1 -0
  145. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
  146. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +1 -0
  147. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -1
  148. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +1 -0
  149. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -1
  150. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +1 -0
  151. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -1
  152. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +1 -0
  153. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -1
  154. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +1 -0
  155. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -1
  156. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +2 -1
  157. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -1
  158. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +1 -0
  159. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -1
  160. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +1 -0
  161. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -1
  162. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +1 -0
  163. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -1
  164. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +2 -1
  165. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -1
  166. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +2 -1
  167. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -1
  168. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +2 -1
  169. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -1
  170. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +1 -0
  171. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
  172. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +1 -0
  173. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -1
  174. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +1 -1
  175. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +2 -1
  176. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -1
  177. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +1 -0
  178. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
  179. package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs +1 -0
  180. package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs.map +1 -1
  181. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +2 -1
  182. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -1
  183. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +1 -0
  184. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -1
  185. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +1 -0
  186. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -1
  187. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +1 -0
  188. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -1
  189. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +1 -0
  190. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -1
  191. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +1 -0
  192. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -1
  193. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +1 -0
  194. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -1
  195. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +1 -0
  196. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -1
  197. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +1 -0
  198. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -1
  199. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +1 -0
  200. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -1
  201. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +1 -0
  202. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -1
  203. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +1 -0
  204. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -1
  205. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +1 -0
  206. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -1
  207. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +1 -1
  208. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +1 -0
  209. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -1
  210. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +1 -0
  211. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -1
  212. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +1 -0
  213. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -1
  214. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +1 -0
  215. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
  216. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +1 -0
  217. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -1
  218. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +1 -0
  219. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -1
  220. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +1 -0
  221. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -1
  222. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +1 -0
  223. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
  224. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +1 -0
  225. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -1
  226. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +1 -0
  227. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -1
  228. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +1 -0
  229. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
  230. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +1 -0
  231. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -1
  232. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +1 -0
  233. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -1
  234. package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs +1 -0
  235. package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs.map +1 -1
  236. package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs +1 -0
  237. package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs.map +1 -1
  238. package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs +1 -0
  239. package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs.map +1 -1
  240. package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs +1 -0
  241. package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs.map +1 -1
  242. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +1 -0
  243. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
  244. package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs +1 -0
  245. package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs.map +1 -1
  246. package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs +1 -0
  247. package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs.map +1 -1
  248. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +1 -0
  249. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
  250. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +1 -0
  251. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -1
  252. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +1 -0
  253. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -1
  254. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +1 -0
  255. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -1
  256. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +1 -0
  257. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -1
  258. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +1 -0
  259. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -1
  260. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +1 -0
  261. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -1
  262. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +1 -0
  263. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -1
  264. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +1 -0
  265. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -1
  266. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +1 -0
  267. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
  268. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +1 -0
  269. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -1
  270. package/.output/server/chunks/build/users-BWw0VCr9.mjs +1 -0
  271. package/.output/server/chunks/build/users-BWw0VCr9.mjs.map +1 -1
  272. package/.output/server/chunks/build/workshop-1gKeDASV.mjs +1 -0
  273. package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -1
  274. package/.output/server/chunks/routes/api/health.get.mjs +1 -0
  275. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  276. package/.output/server/chunks/routes/api/index.get.mjs +1 -0
  277. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  278. package/.output/server/chunks/routes/api/index.post.mjs +1 -0
  279. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  280. package/.output/server/chunks/routes/api/mcp/workshop.mjs +32 -9
  281. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  282. package/.output/server/chunks/routes/api/metrics.mjs +1 -0
  283. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  284. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -0
  285. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  286. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -0
  287. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
  288. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +1 -0
  289. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs.map +1 -1
  290. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -0
  291. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
  292. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +1 -0
  293. package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -1
  294. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +3 -2
  295. package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -1
  296. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -0
  297. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs.map +1 -1
  298. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -0
  299. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  300. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -0
  301. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
  302. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -0
  303. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  304. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -0
  305. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  306. package/.output/server/chunks/routes/api/system/index.post.mjs +1 -0
  307. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -0
  309. package/.output/server/chunks/routes/api/system/index2.get.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -0
  311. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -0
  313. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -0
  315. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -0
  317. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -0
  319. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -0
  321. package/.output/server/chunks/routes/api/system/timezone.get.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -0
  323. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -0
  325. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -0
  327. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/users/change-password.post.mjs +1 -0
  329. package/.output/server/chunks/routes/api/users/change-password.post.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -0
  331. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -0
  333. package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -0
  335. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -0
  337. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -0
  339. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -0
  341. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -0
  343. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -0
  345. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -0
  347. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -0
  349. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -0
  351. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -0
  353. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -0
  355. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -0
  357. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +34 -3
  359. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +2 -1
  361. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +2 -1
  363. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +2 -1
  365. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +2 -1
  367. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +2 -1
  369. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +2 -1
  371. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +2 -1
  373. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -1
  375. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +51 -15
  377. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -0
  379. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -0
  381. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -0
  383. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -0
  385. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +2 -1
  387. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +2 -1
  389. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
  391. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +2 -1
  393. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -0
  395. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +2 -1
  397. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +2 -1
  399. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +2 -1
  401. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +2 -1
  403. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +2 -1
  405. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +1 -0
  407. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +2 -1
  409. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +2 -1
  411. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +2 -1
  413. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +2 -1
  415. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +2 -1
  417. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +2 -1
  419. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +2 -1
  421. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +2 -1
  423. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +2 -1
  425. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +2 -1
  427. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +2 -1
  429. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +2 -1
  431. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +2 -1
  433. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +2 -1
  435. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +3 -1
  437. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +2 -1
  439. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +2 -1
  441. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +2 -1
  443. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +2 -1
  445. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +2 -1
  447. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +2 -1
  449. package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +2 -1
  451. package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +2 -1
  453. package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +2 -1
  455. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -0
  457. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -0
  459. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -0
  461. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -1
  463. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -0
  465. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -1
  467. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -0
  469. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -0
  471. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -2
  473. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -0
  475. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -0
  477. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -0
  479. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -0
  481. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -1
  483. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
  484. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -0
  485. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
  486. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -0
  487. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -0
  489. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -0
  491. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -0
  493. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -0
  495. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -0
  497. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs +57 -0
  499. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs.map +1 -0
  500. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -0
  501. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -0
  503. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -0
  505. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -0
  507. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +2 -1
  509. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +1 -0
  511. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +1 -0
  513. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -0
  515. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -0
  517. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -1
  519. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +2 -1
  521. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -0
  523. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -0
  525. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +2 -1
  527. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -0
  529. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +2 -1
  531. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -0
  533. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +2 -1
  535. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +2 -1
  537. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +1 -0
  539. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +1 -0
  541. package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +2 -1
  543. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +1 -0
  545. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +1 -0
  547. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +2 -1
  549. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +1 -0
  551. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -0
  553. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
  554. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -0
  555. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -1
  557. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +2 -1
  559. package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +2 -1
  561. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +2 -1
  563. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -0
  565. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -1
  567. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -0
  569. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -0
  571. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +8 -7
  573. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  574. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -1
  575. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  576. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +2 -1
  577. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -1
  579. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -1
  581. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +58 -10
  583. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -1
  585. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -1
  587. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -1
  589. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -1
  591. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -1
  593. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -1
  595. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -1
  597. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +2 -1
  599. package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +1 -0
  601. package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +1 -0
  603. package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -0
  605. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +2 -1
  607. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs.map +1 -1
  608. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -0
  609. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -0
  611. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
  612. package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs +1 -0
  613. package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs.map +1 -1
  614. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -1
  615. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  616. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -1
  617. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  618. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -1
  619. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  620. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -1
  621. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  622. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -1
  623. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -1
  624. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -0
  625. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  626. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -1
  627. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -1
  629. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  630. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -1
  631. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  632. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  633. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  634. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -1
  635. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  636. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -1
  637. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
  638. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -0
  639. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  640. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -1
  641. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  642. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -1
  643. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  644. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -1
  645. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  646. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -0
  647. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  648. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -1
  649. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  650. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -0
  651. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  652. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -1
  653. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  654. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -1
  655. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  656. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -0
  657. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -1
  658. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +2 -1
  659. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
  660. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +2 -1
  661. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs.map +1 -1
  662. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -1
  663. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
  664. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -1
  665. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  666. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -1
  667. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  668. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -1
  669. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  670. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -1
  671. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
  672. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -1
  673. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  674. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +1 -0
  675. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs.map +1 -1
  676. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -0
  677. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -1
  678. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -0
  679. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs.map +1 -1
  680. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -1
  681. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
  682. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -1
  683. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
  684. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -0
  685. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  686. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -1
  687. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  688. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +2 -1
  689. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
  690. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +2 -1
  691. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -1
  692. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +2 -1
  693. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -1
  694. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +2 -1
  695. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -1
  696. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -1
  697. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  698. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -1
  699. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  700. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -1
  701. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
  702. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -1
  703. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
  704. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +2 -1
  705. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  706. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -1
  707. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
  708. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +2 -1
  709. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  710. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -1
  711. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  712. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +2 -1
  713. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  714. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -1
  715. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  716. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -1
  717. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  718. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -1
  719. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
  720. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -0
  721. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
  722. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -0
  723. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
  724. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -1
  725. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  726. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -1
  727. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
  728. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -1
  729. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
  730. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -1
  731. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
  732. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -1
  733. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
  734. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs +1 -0
  735. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs.map +1 -1
  736. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +1 -0
  737. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs.map +1 -1
  738. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +1 -0
  739. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs.map +1 -1
  740. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +2 -1
  741. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs.map +1 -1
  742. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +1 -0
  743. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs.map +1 -1
  744. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +1 -0
  745. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs.map +1 -1
  746. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +1 -0
  747. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs.map +1 -1
  748. package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +1 -0
  749. package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs.map +1 -1
  750. package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +2 -1
  751. package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs.map +1 -1
  752. package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +1 -0
  753. package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs.map +1 -1
  754. package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +1 -0
  755. package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs.map +1 -1
  756. package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +1 -0
  757. package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs.map +1 -1
  758. package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +1 -0
  759. package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs.map +1 -1
  760. package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +1 -0
  761. package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs.map +1 -1
  762. package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +1 -0
  763. package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs.map +1 -1
  764. package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +1 -0
  765. package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs.map +1 -1
  766. package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +2 -1
  767. package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs.map +1 -1
  768. package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +1 -0
  769. package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs.map +1 -1
  770. package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +1 -0
  771. package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs.map +1 -1
  772. package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +1 -0
  773. package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs.map +1 -1
  774. package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +1 -0
  775. package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs.map +1 -1
  776. package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +1 -0
  777. package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs.map +1 -1
  778. package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +2 -1
  779. package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs.map +1 -1
  780. package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +2 -1
  781. package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs.map +1 -1
  782. package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +1 -0
  783. package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs.map +1 -1
  784. package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +1 -0
  785. package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs.map +1 -1
  786. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +1 -0
  787. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs.map +1 -1
  788. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +1 -0
  789. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs.map +1 -1
  790. package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +2 -1
  791. package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs.map +1 -1
  792. package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +2 -1
  793. package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs.map +1 -1
  794. package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +1 -0
  795. package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs.map +1 -1
  796. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +1 -0
  797. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs.map +1 -1
  798. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +1 -0
  799. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs.map +1 -1
  800. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +2 -1
  801. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs.map +1 -1
  802. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +2 -1
  803. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs.map +1 -1
  804. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +2 -1
  805. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs.map +1 -1
  806. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -0
  807. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  808. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -1
  809. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -1
  810. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -0
  811. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
  812. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -1
  813. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
  814. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -0
  815. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  816. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -0
  817. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
  818. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -0
  819. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  820. package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -1
  821. package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -1
  822. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +2 -1
  823. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  824. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +2 -1
  825. package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
  826. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -1
  827. package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
  828. package/.output/server/chunks/routes/api/workshop/index13.get.mjs +1 -0
  829. package/.output/server/chunks/routes/api/workshop/index13.get.mjs.map +1 -1
  830. package/.output/server/chunks/routes/api/workshop/index14.get.mjs +1 -0
  831. package/.output/server/chunks/routes/api/workshop/index14.get.mjs.map +1 -1
  832. package/.output/server/chunks/routes/api/workshop/index15.get.mjs +1 -0
  833. package/.output/server/chunks/routes/api/workshop/index15.get.mjs.map +1 -1
  834. package/.output/server/chunks/routes/api/workshop/index16.get.mjs +1 -0
  835. package/.output/server/chunks/routes/api/workshop/index16.get.mjs.map +1 -1
  836. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +2 -1
  837. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  838. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -0
  839. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
  840. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +2 -1
  841. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
  842. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -1
  843. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  844. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -0
  845. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  846. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -1
  847. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  848. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -0
  849. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  850. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -1
  851. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  852. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -1
  853. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  854. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -1
  855. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  856. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -1
  857. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
  858. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -0
  859. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  860. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -1
  861. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  862. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -0
  863. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
  864. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -0
  865. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  866. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +1 -0
  867. package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
  868. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -0
  869. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
  870. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -0
  871. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
  872. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -0
  873. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
  874. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +2 -1
  875. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs.map +1 -1
  876. package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +1 -0
  877. package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs.map +1 -1
  878. package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +2 -1
  879. package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs.map +1 -1
  880. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -0
  881. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs.map +1 -1
  882. package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs +35 -0
  883. package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs.map +1 -0
  884. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +38 -0
  885. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs.map +1 -0
  886. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +58 -0
  887. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs.map +1 -0
  888. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +66 -0
  889. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs.map +1 -0
  890. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +60 -0
  891. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs.map +1 -0
  892. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +61 -0
  893. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs.map +1 -0
  894. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +52 -0
  895. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs.map +1 -0
  896. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +52 -0
  897. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs.map +1 -0
  898. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +41 -0
  899. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs.map +1 -0
  900. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -1
  901. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  902. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -1
  903. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  904. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -0
  905. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
  906. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +167 -0
  907. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs.map +1 -0
  908. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +122 -0
  909. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs.map +1 -0
  910. package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +119 -0
  911. package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs.map +1 -0
  912. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +55 -0
  913. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs.map +1 -0
  914. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +48 -0
  915. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs.map +1 -0
  916. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +58 -0
  917. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs.map +1 -0
  918. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -0
  919. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
  920. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -1
  921. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
  922. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -1
  923. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
  924. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -0
  925. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
  926. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +1 -0
  927. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs.map +1 -1
  928. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -0
  929. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs.map +1 -1
  930. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +1 -0
  931. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs.map +1 -1
  932. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +1 -0
  933. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs.map +1 -1
  934. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -0
  935. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs.map +1 -1
  936. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -0
  937. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -1
  938. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -0
  939. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -1
  940. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -0
  941. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
  942. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +1 -0
  943. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs.map +1 -1
  944. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +1 -0
  945. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs.map +1 -1
  946. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -0
  947. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -1
  948. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -0
  949. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
  950. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +1 -0
  951. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs.map +1 -1
  952. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -0
  953. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
  954. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -0
  955. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
  956. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -1
  957. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -1
  958. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -0
  959. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
  960. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -0
  961. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -1
  962. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +2 -1
  963. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs.map +1 -1
  964. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +2 -1
  965. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs.map +1 -1
  966. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -0
  967. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
  968. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -0
  969. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
  970. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -0
  971. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
  972. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -0
  973. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -1
  974. package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +2 -1
  975. package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs.map +1 -1
  976. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +2 -1
  977. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs.map +1 -1
  978. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -0
  979. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
  980. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -0
  981. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  982. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -2
  983. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -1
  984. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -0
  985. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
  986. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -0
  987. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
  988. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -0
  989. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
  990. package/.output/server/chunks/routes/renderer.mjs +2 -2
  991. package/.output/server/chunks/virtual/entry.mjs +223 -10
  992. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  993. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  994. package/.output/server/index.mjs +1 -0
  995. package/.output/server/index.mjs.map +1 -1
  996. package/.output/server/package.json +1 -1
  997. package/README-zh.md +14 -7
  998. package/README.md +15 -7
  999. package/app/components/AppSidebar.vue +1 -0
  1000. package/app/components/AwChart.vue +21 -2
  1001. package/app/components/data/DataMirrorPanel.vue +1 -1
  1002. package/app/composables/workshop/event-blocks/constants.ts +99 -94
  1003. package/app/composables/workshop/operation-events.ts +1 -1
  1004. package/app/composables/workshop/useWorkshopApi.ts +2 -1
  1005. package/app/pages/optimizer/api.ts +21 -0
  1006. package/app/pages/optimizer/index.vue +669 -0
  1007. package/app/pages/studio/board.vue +18 -13
  1008. package/app/pages/studio/index.vue +6 -33
  1009. package/app/utils/chart-trend.ts +97 -0
  1010. package/config.yml +14 -1
  1011. package/docs/cli.en.md +4 -4
  1012. package/docs/cli.md +4 -4
  1013. package/docs/plugins.en.md +1 -1
  1014. package/docs/plugins.md +1 -1
  1015. package/docs/sdk.en.md +1 -1
  1016. package/docs/sdk.md +1 -1
  1017. package/i18n/locales/en.ts +101 -0
  1018. package/i18n/locales/zh-CN.ts +101 -0
  1019. package/nuxt.config.ts +14 -0
  1020. package/package.json +3 -1
  1021. package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -0
  1022. package/scripts/_i18n-verify-keys.mjs +52 -50
  1023. package/scripts/acceptance-optimizer-process-model.mjs +9 -0
  1024. package/scripts/acceptance-optimizer-process-model.ts +863 -0
  1025. package/scripts/agent-binding-matrix-e2e.mjs +240 -0
  1026. package/scripts/e2e-optimizer-live.mjs +1342 -0
  1027. package/scripts/e2e-optimizer-plc.mjs +222 -0
  1028. package/scripts/e2e-optimizer-restart.mjs +125 -0
  1029. package/scripts/e2e-plc-excite.mjs +75 -0
  1030. package/scripts/e2e-simulator-optimizer.mjs +262 -0
  1031. package/scripts/e2e-tool-surface-multiagent.mjs +353 -0
  1032. package/scripts/idd-rag-aml-regression.mjs +348 -0
  1033. package/scripts/idd-rag-aml-ui-demo.mjs +93 -0
  1034. package/scripts/run-quality-gates.mjs +58 -0
  1035. package/scripts/tool-references-migrate.ts +82 -0
  1036. package/scripts/tool-registry-e2e.mjs +2 -2
  1037. package/scripts/ui/optimizer-ui-playwright.py +152 -0
  1038. package/scripts/ui/system-e2e-playwright.py +460 -0
  1039. package/sdk/context.mjs +32 -4
  1040. package/server/api/mcp/workshop.ts +37 -10
  1041. package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +124 -90
  1042. package/server/api/workshop/agent-tools/list.get.ts +60 -15
  1043. package/server/api/workshop/aml/models/[id].delete.ts +38 -35
  1044. package/server/api/workshop/channels/[id]/agents/[agentId]/rotate-token.post.ts +45 -0
  1045. package/server/api/workshop/daq/[id]/ingest.post.ts +192 -166
  1046. package/server/api/workshop/optimization/bindings/[id].delete.ts +12 -0
  1047. package/server/api/workshop/optimization/bindings/index.ts +47 -0
  1048. package/server/api/workshop/optimization/capabilities.get.ts +19 -0
  1049. package/server/api/workshop/optimization/profiles/[id]/publish.post.ts +41 -0
  1050. package/server/api/workshop/optimization/profiles/index.ts +41 -0
  1051. package/server/api/workshop/optimization/recommendations/[id]/crosscheck.post.ts +29 -0
  1052. package/server/api/workshop/optimization/recommendations/[id]/dispatch.post.ts +33 -0
  1053. package/server/api/workshop/optimization/runs/index.get.ts +41 -0
  1054. package/server/api/workshop/optimization/solve.post.ts +23 -0
  1055. package/server/api/workshop/process-model/datasets.post.ts +26 -0
  1056. package/server/api/workshop/process-model/eligibility.ts +40 -0
  1057. package/server/api/workshop/process-model/experiments.ts +43 -0
  1058. package/server/api/workshop/process-model/specs/[id]/publish.post.ts +22 -0
  1059. package/server/api/workshop/process-model/specs/index.ts +34 -0
  1060. package/server/api/workshop/process-model/train.post.ts +36 -0
  1061. package/server/harness/aw-mcp-bridge.mjs +24 -4
  1062. package/server/harness/aw-mcp-signature.mjs +20 -0
  1063. package/server/plugins/workshop.ts +20 -0
  1064. package/server/plugins-builtin/rag-bridge/index.mjs +7 -8
  1065. package/server/services/workshop/agents/adapters/omp-rpc-client/types.ts +121 -115
  1066. package/server/services/workshop/agents/hitl-decision/dispatcher.ts +112 -96
  1067. package/server/services/workshop/agents/host-tool-bridge/catalog.ts +19 -6
  1068. package/server/services/workshop/agents/host-tool-bridge/description-budget.ts +34 -0
  1069. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +83 -1
  1070. package/server/services/workshop/agents/host-tool-bridge/optimizer-gate.ts +72 -0
  1071. package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +48 -13
  1072. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +111 -101
  1073. package/server/services/workshop/agents/industrial/grant-guard.ts +18 -0
  1074. package/server/services/workshop/agents/industrial/line-tools.ts +8 -3
  1075. package/server/services/workshop/agents/industrial/optimizer-tools.ts +193 -0
  1076. package/server/services/workshop/agents/industrial/resource-paging.ts +31 -0
  1077. package/server/services/workshop/agents/industrial/resources-tools.ts +79 -0
  1078. package/server/services/workshop/agents/industrial/tool-verify-legacy-specs.ts +73 -0
  1079. package/server/services/workshop/agents/industrial/tool-verify.ts +386 -381
  1080. package/server/services/workshop/agents/plugin-governance.ts +148 -0
  1081. package/server/services/workshop/agents/plugin-tools.ts +11 -0
  1082. package/server/services/workshop/agents/registry.ts +21 -1
  1083. package/server/services/workshop/agents/tool-approvals.ts +7 -5
  1084. package/server/services/workshop/agents/tool-reference-kinds.ts +2 -0
  1085. package/server/services/workshop/agents/tool-reference-spec.ts +114 -0
  1086. package/server/services/workshop/aml/aml.repo.ts +73 -18
  1087. package/server/services/workshop/aml/dataset-builder.ts +195 -25
  1088. package/server/services/workshop/aml/env-lease.ts +148 -0
  1089. package/server/services/workshop/aml/env-manager.ts +6 -1
  1090. package/server/services/workshop/aml/gates.ts +163 -121
  1091. package/server/services/workshop/aml/job-orchestrator/stages.ts +36 -15
  1092. package/server/services/workshop/aml/job-orchestrator/start-job.ts +44 -0
  1093. package/server/services/workshop/aml/job-orchestrator/submit.ts +6 -0
  1094. package/server/services/workshop/aml/model-references.ts +83 -0
  1095. package/server/services/workshop/aml/model-registry.ts +183 -11
  1096. package/server/services/workshop/aml/predictor.ts +147 -5
  1097. package/server/services/workshop/aml/python/requirements.txt +3 -0
  1098. package/server/services/workshop/aml/python-runtime.ts +39 -4
  1099. package/server/services/workshop/aml/retention.ts +104 -98
  1100. package/server/services/workshop/aml/twin/provider-contracts.ts +45 -1
  1101. package/server/services/workshop/aml/twin/provider-loader.ts +13 -4
  1102. package/server/services/workshop/aml/twin/provider-registry.ts +145 -2
  1103. package/server/services/workshop/daq/ingest-policy.ts +43 -0
  1104. package/server/services/workshop/daq/storage/sqlite.adapter.ts +73 -14
  1105. package/server/services/workshop/daq/storage/timescale.adapter.ts +34 -11
  1106. package/server/services/workshop/daq/storage/tsdb-port.ts +36 -0
  1107. package/server/services/workshop/db/channel-agent.repo.ts +58 -3
  1108. package/server/services/workshop/db/database/migrations.ts +75 -0
  1109. package/server/services/workshop/db/database/open.ts +7 -1
  1110. package/server/services/workshop/db/database/schema.ts +202 -2
  1111. package/server/services/workshop/db/retention.ts +9 -0
  1112. package/server/services/workshop/db/tool-registry.repo.ts +5 -1
  1113. package/server/services/workshop/dcw/dcw-controller/lines.ts +11 -0
  1114. package/server/services/workshop/dcw/dcw-controller/recipes.ts +27 -0
  1115. package/server/services/workshop/dcw/dcw-line.repo.ts +3 -0
  1116. package/server/services/workshop/dcw/dcw-recipe.repo.ts +4 -2
  1117. package/server/services/workshop/dcw/line-run.ts +2 -0
  1118. package/server/services/workshop/eda/eda-run.repo.ts +8 -5
  1119. package/server/services/workshop/optimization/access.ts +210 -0
  1120. package/server/services/workshop/optimization/binding.repo.ts +128 -0
  1121. package/server/services/workshop/optimization/binding.service.ts +128 -0
  1122. package/server/services/workshop/optimization/contracts.ts +346 -0
  1123. package/server/services/workshop/optimization/crosscheck.service.ts +351 -0
  1124. package/server/services/workshop/optimization/dispatch.service.ts +446 -0
  1125. package/server/services/workshop/optimization/manager.ts +315 -0
  1126. package/server/services/workshop/optimization/problem-builder.ts +359 -0
  1127. package/server/services/workshop/optimization/profile.repo.ts +158 -0
  1128. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +1 -0
  1129. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +274 -0
  1130. package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +14 -0
  1131. package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
  1132. package/server/services/workshop/optimization/python/probe.py +24 -0
  1133. package/server/services/workshop/optimization/python/problems.py +347 -0
  1134. package/server/services/workshop/optimization/python/worker.py +119 -0
  1135. package/server/services/workshop/optimization/recommendation.service.ts +100 -0
  1136. package/server/services/workshop/optimization/rest-auth.ts +61 -0
  1137. package/server/services/workshop/optimization/run.repo.ts +158 -0
  1138. package/server/services/workshop/optimization/templates.ts +3 -0
  1139. package/server/services/workshop/optimization/uq-evidence.ts +144 -0
  1140. package/server/services/workshop/optimization/worker-client.ts +358 -0
  1141. package/server/services/workshop/process-model/artifact-validation.ts +19 -0
  1142. package/server/services/workshop/process-model/conditions.ts +43 -0
  1143. package/server/services/workshop/process-model/context-segments.repo.ts +100 -0
  1144. package/server/services/workshop/process-model/context.ts +202 -0
  1145. package/server/services/workshop/process-model/contracts.ts +344 -0
  1146. package/server/services/workshop/process-model/dataset.ts +144 -0
  1147. package/server/services/workshop/process-model/eligibility-service.ts +83 -0
  1148. package/server/services/workshop/process-model/eligibility.ts +305 -0
  1149. package/server/services/workshop/process-model/experiment.ts +100 -0
  1150. package/server/services/workshop/process-model/spec.repo.ts +127 -0
  1151. package/server/services/workshop/process-model/spec.ts +302 -0
  1152. package/server/services/workshop/process-model/trainers/dataset-reader.ts +80 -0
  1153. package/server/services/workshop/process-model/trainers/index.ts +150 -0
  1154. package/server/services/workshop/process-model/trainers/linear-arx.ts +325 -0
  1155. package/server/services/workshop/process-model/trainers/static-response.ts +211 -0
  1156. package/server/services/workshop/process-model/watermark.ts +18 -0
  1157. package/server/services/workshop/prompts/loader.ts +7 -0
  1158. package/server/services/workshop/runtime/manager/admin-channel.ts +14 -1
  1159. package/server/services/workshop/runtime/manager/host-tools.ts +65 -8
  1160. package/server/services/workshop/runtime/manager/types.ts +2 -2
  1161. package/server/services/workshop/settings.ts +33 -0
  1162. package/server/services/workshop/tools/catalog-view.ts +4 -1
  1163. package/server/services/workshop/tools/policy.ts +60 -10
  1164. package/server/services/workshop/tools/registry.ts +42 -1
  1165. package/shared/config/schema.json +14 -5
  1166. package/shared/dcw-protocol/line.ts +9 -0
  1167. package/shared/dcw-protocol/recipe.ts +2 -0
  1168. package/shared/units.ts +50 -0
  1169. package/.output/public/_nuxt/B1OMZaQh.js +0 -1
  1170. package/.output/public/_nuxt/BYLc8cfE.js +0 -1
  1171. package/.output/public/_nuxt/Bq9DDqiq2.js +0 -1
  1172. package/.output/public/_nuxt/C1vvxGo02.js +0 -1
  1173. package/.output/public/_nuxt/SF0I6Hzp2.js +0 -36
  1174. package/.output/public/_nuxt/board.jjp4MSZR.css +0 -1
  1175. package/.output/public/_nuxt/builds/meta/cd7ec308-625f-4eb8-a841-11f3127fbf66.json +0 -1
  1176. package/.output/public/_nuxt/studio.DiCFYeMk.css +0 -1
  1177. package/.output/public/_nuxt/w5BEz70W.js +0 -1
  1178. package/.output/server/chunks/build/board-C6JysYLg.mjs.map +0 -1
  1179. package/.output/server/chunks/build/data-DL68QJ5W.mjs.map +0 -1
  1180. package/.output/server/chunks/build/studio-DjhjwH4s.mjs.map +0 -1
  1181. /package/.output/public/_nuxt/{2KE8xGVm2.js → 2KE8xGVm.js} +0 -0
  1182. /package/.output/public/_nuxt/{B8cViLJT2.js → B8cViLJT.js} +0 -0
  1183. /package/.output/public/_nuxt/{DF32f5EL.js → DF32f5EL2.js} +0 -0
  1184. /package/.output/public/_nuxt/{TOWR4WpO2.js → TOWR4WpO.js} +0 -0
@@ -11,9 +11,24 @@ import { getChannelPluginsRepo } from '../../db/channel-plugins.repo'
11
11
  import { HOST_TOOLS, createSessionState, dispatchHostTool, hostToolsForAgent } from '../../agents/host-tool-bridge'
12
12
  import { instanceToAgentInfo, rowToChannelMail } from './helpers'
13
13
  import { listPluginTools, pluginOfTool } from '../../agents/plugin-tools'
14
+ import { auditPluginToolCall, governPluginToolCall } from '../../agents/plugin-governance'
14
15
  import { channelToolGate } from '../../tools/policy'
16
+ import { recordOps } from '../../ops/ops'
15
17
  import { rowToMessage } from '../mailbox'
16
18
 
19
+ /** WP4:token 路径需要留痕的协作面工具(可作数据二次外传的通道) */
20
+ const COLLAB_AUDIT_TOOLS = new Set([
21
+ 'send_cross_channel_message',
22
+ 'send_message_to_agent',
23
+ 'broadcast_message',
24
+ 'save_memory',
25
+ 'search_memory',
26
+ 'poll_messages',
27
+ 'read_channel_mail',
28
+ 'list_other_teams',
29
+ 'search_other_teams_memory',
30
+ ])
31
+
17
32
  export abstract class ManagerHostTools extends ManagerA2A {
18
33
  /**
19
34
  * 工具桥(协作工具族):按 agentId 定位 channel 并调用其 workspace 方法。
@@ -82,7 +97,8 @@ export abstract class ManagerHostTools extends ManagerA2A {
82
97
  const row = this.deps.repos.channelAgents.findById(input.agentId)
83
98
  if (!row || row.enabled !== 1) throw new AppError(404, 'NOT_FOUND', `agent 不存在或已停用: ${input.agentId}`)
84
99
  // token 鉴权(MCP 桥路径必带;缺省视为服务端内部调用,走 REST 已有用户鉴权)
85
- if (input.token !== undefined && input.token !== row.token) {
100
+ // WP3:走 repo 单点校验(常量时间 + 轮换宽限窗),四路调用点同源
101
+ if (input.token !== undefined && !this.deps.repos.channelAgents.isTokenValid(row, input.token)) {
86
102
  throw new AppError(401, 'UNAUTHORIZED', 'agent token 校验失败')
87
103
  }
88
104
  // ── 人类权限作用域判定(§13.3)────────────────────────────────────────────
@@ -96,13 +112,18 @@ export abstract class ManagerHostTools extends ManagerA2A {
96
112
  }
97
113
  // 工具执行错误(业务约束/目标不存在等)一律降级为 isError 文本——
98
114
  // 绝不让 AppError 以 unhandledRejection 逃逸拖垮 worker(stability-guard 会因此退出整进程)
115
+ // WP4:所有返回路径统一过协作审计(插件/原生/dispatch/兜底)
116
+ const finish = <T extends { text: string, isError?: boolean }>(inp: typeof input, r: T): T => {
117
+ this.auditCollabInvocation(inp, r)
118
+ return r
119
+ }
99
120
  try {
100
121
  // 活性登记:调度器停滞看门狗以「最近工具调用」为健康信号(见 SchedulerLoopOptions.toolActivityOf)
101
122
  this.lastToolInvokeAt.set(input.agentId, Date.now())
102
123
  // Channel 逐工具选择:插件分支会提前 return,必须在此先复核(不能只靠 dispatch)。
103
124
  {
104
125
  const gate = channelToolGate(row.channelId, input.tool)
105
- if (gate.blocked) return { text: gate.message ?? `工具 ${input.tool} 不可用`, isError: true }
126
+ if (gate.blocked) return finish(input, { text: gate.message ?? `工具 ${input.tool} 不可用`, isError: true })
106
127
  }
107
128
  // 插件工具:团队开关过滤 + handler 直调(ctx.omp 注册的自定义工具全 harness 同源)
108
129
  // 内置同名工具优先(与 dispatch 同口径):插件覆盖不得跳过工业门控
@@ -128,19 +149,30 @@ export abstract class ManagerHostTools extends ManagerA2A {
128
149
  isError: true,
129
150
  }
130
151
  }
131
- return await pluginTool.handler(input.args ?? {}, identity)
152
+ // 平台侧插件治理(WP4b/WP8):kb 入库 HITL + 声明式引用校验(与 dispatch 同源)
153
+ const governed = await governPluginToolCall(identity, input.tool, input.args ?? {}, pluginTool)
154
+ if (governed) return finish(input, governed)
155
+ try {
156
+ const result = await pluginTool.handler(input.args ?? {}, identity)
157
+ auditPluginToolCall(identity, input.tool, result)
158
+ return finish(input, result)
159
+ }
160
+ catch (err) {
161
+ auditPluginToolCall(identity, input.tool, { text: err instanceof Error ? err.message : String(err), isError: true })
162
+ throw err
163
+ }
132
164
  }
133
165
  const runtime = this.ensureAgentRuntime(row.channelId, input.agentId)
134
166
  if (runtime) {
135
167
  const viaImpl = await runtime.dispatchHostTool(input.tool, input.args ?? {})
136
- if (viaImpl) return viaImpl
168
+ if (viaImpl) return finish(input, viaImpl)
137
169
  }
138
170
  // 回退:impl 未实现 dispatchHostTool(如 mock)→ 仍走**同一份** host-tool-bridge
139
171
  // 分发,而不是只支持 3 个协作工具的旧开关。否则同一工具在 omp 上可用、在
140
172
  // mock/无工具面引擎经 MCP 桥调用却报“不支持该协作工具”(2026-10-20 实测)。
141
173
  const workspace = runtime?.workspace
142
174
  if (workspace) {
143
- return await dispatchHostTool({
175
+ return finish(input, await dispatchHostTool({
144
176
  identity: {
145
177
  agentId: row.id,
146
178
  channelId: row.channelId,
@@ -149,15 +181,40 @@ export abstract class ManagerHostTools extends ManagerA2A {
149
181
  },
150
182
  state: createSessionState(),
151
183
  getWorkspace: () => workspace,
152
- }, { toolName: input.tool, arguments: input.args ?? {} })
184
+ }, { toolName: input.tool, arguments: input.args ?? {} }))
153
185
  }
154
186
  // 最后兜底:仅剩不依赖 Agent 运行时的跨 Channel/团队只读面
155
- return await this.invokeAgentWorkspaceTool(input.agentId, input.tool, input.args ?? {})
187
+ return finish(input, await this.invokeAgentWorkspaceTool(input.agentId, input.tool, input.args ?? {}))
156
188
  }
157
189
  catch (err) {
158
190
  const reason = err instanceof Error ? err.message : String(err)
159
- return { text: `工具「${input.tool}」调用失败: ${reason}`, isError: true }
191
+ return finish(input, { text: `工具「${input.tool}」调用失败: ${reason}`, isError: true })
192
+ }
193
+ }
194
+
195
+ /**
196
+ * WP4:token 来源的协作面调用留痕(不改变可达性 —— 桥主循环依赖 poll_messages)。
197
+ * 目的:token 泄露时可经跨频道消息/记忆二次外传,审计面必须能回溯「谁在何时调了什么」。
198
+ */
199
+ private auditCollabInvocation(input: { agentId: string, token?: string, tool: string }, result: { text?: string, isError?: boolean }): void {
200
+ if (input.token === undefined) return
201
+ if (process.env.AW_COLLAB_AUDIT === '0') return
202
+ if (!COLLAB_AUDIT_TOOLS.has(input.tool)) return
203
+ try {
204
+ recordOps({
205
+ actor: input.agentId,
206
+ actorName: input.agentId,
207
+ actorKind: 'agent',
208
+ action: 'tool.call.collaboration',
209
+ kind: 'system',
210
+ level: result.isError ? 'warn' : 'info',
211
+ targetKind: 'tool',
212
+ targetId: input.tool,
213
+ summary: `Agent token 路径调用协作面工具:${input.tool}(${result.isError ? '失败' : '成功'})`,
214
+ detail: { tool: input.tool, isError: Boolean(result.isError), text: String(result.text ?? '').slice(0, 300) },
215
+ })
160
216
  }
217
+ catch { /* 审计失败不阻断工具结果 */ }
161
218
  }
162
219
 
163
220
  /** 按 token 解析 agent(桥侧只需 token 的自证路径;未命中返回 null) */
@@ -79,8 +79,8 @@ export interface AgentTemplateDetail {
79
79
  isBuiltin: boolean
80
80
  /** 归属用户(null = 内置公共) */
81
81
  ownerUserId: string | null
82
- /** 该模板克隆出的全部实例(跨 channel) */
83
- instances: Array<{ id: string, channelId: string, role: 'lead' | 'worker', token: string }>
82
+ /** 该模板克隆出的全部实例(跨 channel;WP3:只回 token 尾 4 位) */
83
+ instances: Array<{ id: string, channelId: string, role: 'lead' | 'worker', tokenTail: string }>
84
84
  createdAt: string
85
85
  updatedAt: string
86
86
  }
@@ -142,10 +142,19 @@ export interface RetentionSettings {
142
142
  audit_days: number
143
143
  approval_days: number
144
144
  analysis_days: number
145
+ /** Optimizer 运行/候选/建议/收益台账保留天数 */
146
+ optimizer_days: number
147
+ /** Process Model 资格/试验台账保留天数 */
148
+ process_model_days: number
145
149
  }
146
150
  export interface LogSettings {
147
151
  level: 'debug' | 'info' | 'warn' | 'error'
148
152
  }
153
+ export interface OptimizerSolverSettings {
154
+ poolSize: number
155
+ requestTimeoutMs: number
156
+ threads: number
157
+ }
149
158
  export interface DaqRuntimeSettings {
150
159
  mqtt: {
151
160
  host: string
@@ -204,6 +213,30 @@ export const harnessContinuityEnabled = (): boolean => workshopFlag('harness_con
204
213
  export const channelMemoryDigestEnabled = (): boolean => workshopFlag('channel_memory_digest_enabled', true)
205
214
  export const backupSettings = (): BackupSettings => section<BackupSettings>('backup')
206
215
  export const retentionSettings = (): RetentionSettings => section<RetentionSettings>('retention')
216
+ export const optimizerSolverSettings = (): OptimizerSolverSettings => {
217
+ const s = section<Record<string, unknown>>('optimizer')
218
+ const num = (key: string, dflt: number): number => {
219
+ const value = Number(s[`solver.${key}`] ?? dflt)
220
+ return Number.isFinite(value) ? value : dflt
221
+ }
222
+ return {
223
+ poolSize: Math.max(1, Math.min(num('poolSize', 1), 4)),
224
+ requestTimeoutMs: Math.max(1000, num('requestTimeoutMs', 30_000)),
225
+ threads: Math.max(1, Math.min(num('threads', 1), 16)),
226
+ }
227
+ }
228
+ /** 互校逐 CV 无量纲一致性容差(数值精度级;上限 1e-3 防止把门放宽到失效) */
229
+ export const optimizerCrosscheckTol = (): number => {
230
+ const s = section<Record<string, unknown>>('optimizer')
231
+ const value = Number(s['crosscheck.tol'] ?? 1e-6)
232
+ return Number.isFinite(value) ? Math.max(1e-10, Math.min(value, 1e-3)) : 1e-6
233
+ }
234
+ /** 工件 UQ 校准保鲜天数;超期建议降级 unverified */
235
+ export const amlUqFreshDays = (): number => {
236
+ const s = section<Record<string, unknown>>('aml')
237
+ const value = Number(s['uq.freshDays'] ?? 7)
238
+ return Number.isFinite(value) ? Math.max(1, Math.min(value, 365)) : 7
239
+ }
207
240
  export const logSettings = (): LogSettings => section<LogSettings>('log')
208
241
  export function daqRuntimeSettings(): DaqRuntimeSettings {
209
242
  const e = effective()
@@ -36,7 +36,9 @@ export interface ToolCatalogRow {
36
36
  export interface ChannelToolView {
37
37
  channelId: string
38
38
  mode: 'all' | 'selected'
39
- source: 'default' | 'explicit'
39
+ /** WP7:degraded/cached = 数据库读取失败后的降级来源(前端可提示「策略为最近快照」) */
40
+ source: 'default' | 'explicit' | 'cached' | 'degraded'
41
+ stale?: boolean
40
42
  updatedBy: string
41
43
  updatedAt: string | null
42
44
  stats: {
@@ -169,6 +171,7 @@ export function buildChannelToolView(channelId: string): ChannelToolView {
169
171
  channelId,
170
172
  mode: policy.mode,
171
173
  source: policy.source,
174
+ ...(policy.stale ? { stale: true } : {}),
172
175
  updatedBy: policy.updatedBy,
173
176
  updatedAt: policy.updatedAt,
174
177
  stats: {
@@ -8,13 +8,40 @@
8
8
  * 无策略行(默认)= mode='all' + 全部合格工具启用,保证存量 Channel 行为不变。
9
9
  */
10
10
  import { getToolRegistryRepo, type ChannelToolPolicySnapshot, type ToolPolicyMode } from '../db/tool-registry.repo'
11
+ import { HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES } from '../agents/tool-classes'
11
12
  import { createLogger } from '../logger'
12
13
 
13
14
  const log = createLogger('workshop.tool-policy')
14
15
 
15
16
  let warnedAt = 0
16
17
 
17
- /** 读取策略;DB 故障时降级为默认(全部合格工具启用)并限频告警。 */
18
+ /**
19
+ * WP7 分级降级:
20
+ * - 读取成功 → 更新「最近已知快照」缓存;
21
+ * - 读取失败但有缓存(≤5min)→ 用缓存 + stale 标记(读面继续可用,写面由闸门按族拒);
22
+ * - 读取失败且无缓存 → selected + 空集(=全拒;比"降级全启用"更安全);
23
+ * - env AW_POLICY_DEGRADE=open 回到旧的 fail-open(灰度观察期用,启动期 audit warn)。
24
+ */
25
+ const lastGood = new Map<string, { snapshot: ChannelToolPolicySnapshot, at: number }>()
26
+ const STALE_MS = 5 * 60_000
27
+ let degradeWarned = false
28
+
29
+ /** 写族:策略/目录不可判定时这些工具一律拒绝(物理安全优先) */
30
+ const POLICY_WRITE_TOOL_NAMES = new Set<string>([...HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES, 'line_start', 'line_stop'])
31
+ export function isPolicyWriteTool(name: string): boolean {
32
+ return POLICY_WRITE_TOOL_NAMES.has(name)
33
+ }
34
+
35
+ function failOpenMode(): boolean {
36
+ if (process.env.AW_POLICY_DEGRADE !== 'open') return false
37
+ if (!degradeWarned) {
38
+ degradeWarned = true
39
+ log.warn('AW_POLICY_DEGRADE=open:策略读取失败将降级为全启用(fail-open);安全开关打开态请尽快关闭')
40
+ }
41
+ return true
42
+ }
43
+
44
+ /** 读取策略;DB 故障时按 WP7 分级降级(缓存→stale;无缓存→全拒;fail-open 仅显式开关) */
18
45
  export function getPolicySnapshot(channelId: string): ChannelToolPolicySnapshot {
19
46
  const fallback: ChannelToolPolicySnapshot = {
20
47
  channelId,
@@ -26,14 +53,25 @@ export function getPolicySnapshot(channelId: string): ChannelToolPolicySnapshot
26
53
  }
27
54
  if (!channelId) return fallback
28
55
  try {
29
- return getToolRegistryRepo().snapshot(channelId)
56
+ const snapshot = getToolRegistryRepo().snapshot(channelId)
57
+ lastGood.set(channelId, { snapshot, at: Date.now() })
58
+ return snapshot
30
59
  }
31
60
  catch (err) {
61
+ const cached = lastGood.get(channelId)
62
+ if (cached && Date.now() - cached.at <= STALE_MS) {
63
+ if (Date.now() - warnedAt > 60_000) {
64
+ warnedAt = Date.now()
65
+ log.warn(`读取 Channel 工具策略失败,使用最近已知快照(${Math.round((Date.now() - cached.at) / 1000)}s 前): ${err instanceof Error ? err.message : String(err)}`)
66
+ }
67
+ return { ...cached.snapshot, source: 'cached', stale: true, ageMs: Date.now() - cached.at }
68
+ }
69
+ if (failOpenMode()) return fallback
32
70
  if (Date.now() - warnedAt > 60_000) {
33
71
  warnedAt = Date.now()
34
- log.warn(`读取 Channel 工具策略失败,降级为默认全启用: ${err instanceof Error ? err.message : String(err)}`)
72
+ log.warn(`读取 Channel 工具策略失败且无可用快照,降级为全拒(selected+空集): ${err instanceof Error ? err.message : String(err)}`)
35
73
  }
36
- return fallback
74
+ return { ...fallback, mode: 'selected', source: 'degraded', stale: true }
37
75
  }
38
76
  }
39
77
 
@@ -51,19 +89,22 @@ export function applyChannelToolPolicy<T extends { name: string }>(tools: T[], c
51
89
  return tools.filter(t => isChannelToolEnabled(policy, t.name))
52
90
  }
53
91
 
54
- export type ToolGateReason = 'CHANNEL_TOOL_DISABLED' | 'UNAVAILABLE'
92
+ export type ToolGateReason = 'CHANNEL_TOOL_DISABLED' | 'UNAVAILABLE' | 'POLICY_UNAVAILABLE'
55
93
 
56
94
  export interface ToolGateResult {
57
95
  blocked: boolean
58
96
  reason?: ToolGateReason
59
97
  message?: string
98
+ /** WP7:策略读取降级(读面放行但带降级标记;写面不会带此标记——已被拒) */
99
+ degraded?: boolean
60
100
  }
61
101
 
62
102
  /**
63
103
  * 执行面闸门:
64
104
  * - 未知工具不在这里拦截(保持既有“未知工具”错误语义);
65
105
  * - 目录中存在但当前未注册(unavailable)→ 拒绝;
66
- * - 本 Channel 显式停用 → 拒绝。
106
+ * - 本 Channel 显式停用 → 拒绝;
107
+ * - WP7:目录读取失败时,写族 fail-closed(物理安全优先),读族放行并带 degraded 标记。
67
108
  */
68
109
  export function channelToolGate(channelId: string, toolName: string): ToolGateResult {
69
110
  if (!channelId) return { blocked: false }
@@ -72,8 +113,15 @@ export function channelToolGate(channelId: string, toolName: string): ToolGateRe
72
113
  row = getToolRegistryRepo().get(toolName)
73
114
  }
74
115
  catch {
75
- // 目录不可读时不阻断执行(硬安全规则仍在);与策略读取同一 fail-open 口径
76
- return { blocked: false }
116
+ // 目录不可读:写族必须拒(策略不可判定时不得放行物理写);读族降级可用
117
+ if (isPolicyWriteTool(toolName)) {
118
+ return {
119
+ blocked: true,
120
+ reason: 'POLICY_UNAVAILABLE',
121
+ message: `工具「${toolName}」属写族,当前工具目录不可读(策略无法判定),已按安全默认拒绝。请稍后重试;若持续出现请联系管理员。`,
122
+ }
123
+ }
124
+ return { blocked: false, degraded: true }
77
125
  }
78
126
  if (!row) return { blocked: false }
79
127
  if (!row.available) {
@@ -88,10 +136,12 @@ export function channelToolGate(channelId: string, toolName: string): ToolGateRe
88
136
  return {
89
137
  blocked: true,
90
138
  reason: 'CHANNEL_TOOL_DISABLED',
91
- message: `本 Channel 已在「设置 → 工具」中停用「${toolName}」。请让 Channel 属主在工具管理中启用后重试;硬规则排除的工具不能通过开关绕过。`,
139
+ message: policy.stale
140
+ ? `本 Channel 已在「设置 → 工具」中停用「${toolName}」(策略为最近已知快照,数据库暂不可读)。请稍后重试或联系 Channel 属主。`
141
+ : `本 Channel 已在「设置 → 工具」中停用「${toolName}」。请让 Channel 属主在工具管理中启用后重试;硬规则排除的工具不能通过开关绕过。`,
92
142
  }
93
143
  }
94
- return { blocked: false }
144
+ return { blocked: false, ...(policy.stale ? { degraded: true } : {}) }
95
145
  }
96
146
 
97
147
  /** API 写入前的模式校验 */
@@ -10,10 +10,12 @@
10
10
  */
11
11
  import { createHash } from 'node:crypto'
12
12
  import { HOST_TOOLS } from '../agents/host-tool-bridge/catalog'
13
- import { LEAD_ONLY_TOOL_NAMES } from '../agents/tool-classes'
13
+ import { HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES, LEAD_ONLY_TOOL_NAMES } from '../agents/tool-classes'
14
14
  import { listPluginTools, onPluginToolsChange, pluginOfTool } from '../agents/plugin-tools'
15
15
  import { pluginManifest } from '../plugins/host.mjs'
16
16
  import { createLogger } from '../logger'
17
+ import { recordOps } from '../ops/ops'
18
+ import { declarationVerdict } from '../agents/tool-reference-spec'
17
19
  import {
18
20
  getToolRegistryRepo,
19
21
  type ToolRegistryUpsert,
@@ -22,6 +24,20 @@ import {
22
24
 
23
25
  const log = createLogger('workshop.tool-registry')
24
26
 
27
+ /**
28
+ * WP5 登记制:工业工具必须声明引用面(references 或 noRefs)。
29
+ * 写族未声明 → 拒绝登记(不进目录 = 注入面与执行面双关);读族未声明 → 放行+告警入册。
30
+ * 声明字段来自 host-tools.json(迁移脚本 scripts/tool-references-migrate.ts)。
31
+ */
32
+ const EXTRA_WRITE_TOOL_NAMES = new Set(['line_start', 'line_stop'])
33
+ function isWriteFamily(name: string, riskClass?: string): boolean {
34
+ return riskClass === 'write' || HYBRID_TWIN_DIRECT_WRITE_TOOL_NAMES.has(name) || EXTRA_WRITE_TOOL_NAMES.has(name)
35
+ }
36
+ const warnedUndeclared = new Set<string>()
37
+ function declarationVerdictOf(tool: { name: string, references?: unknown, noRefs?: boolean, riskClass?: string }): 'ok' | 'undeclared-write' | 'undeclared-read' {
38
+ return declarationVerdict(tool, isWriteFamily(tool.name, tool.riskClass))
39
+ }
40
+
25
41
  export interface ToolRegistrySyncResult {
26
42
  builtin: number
27
43
  plugin: number
@@ -104,6 +120,7 @@ const GROUP_BY_PREFIX: Record<string, string> = {
104
120
  twin: 'twin',
105
121
  mpc: 'twin',
106
122
  optimization: 'twin',
123
+ optimizer: 'optimization',
107
124
  team: 'team',
108
125
  exp: 'experience',
109
126
  analysis: 'analysis',
@@ -136,6 +153,28 @@ function hashOf(row: Omit<ToolRegistryUpsert, 'definitionHash'>): string {
136
153
  export function buildToolRegistrySnapshot(): ToolRegistryUpsert[] {
137
154
  const out = new Map<string, ToolRegistryUpsert>()
138
155
  for (const tool of HOST_TOOLS) {
156
+ // WP5 登记制:写族未声明引用面 → 不登记(unavailable → 注入/执行双关)
157
+ const verdict = declarationVerdictOf(tool)
158
+ if (verdict === 'undeclared-write') {
159
+ log.error(`工具「${tool.name}」属写族但未声明 references/noRefs,拒绝登记(注入面与执行面均不可用)`)
160
+ recordOps({
161
+ actor: 'system', actorName: 'tool-registry', actorKind: 'system',
162
+ action: 'tool.registry.rejected', kind: 'system', level: 'warn',
163
+ targetKind: 'tool', targetId: tool.name,
164
+ summary: `写族工具未声明引用面,拒绝登记:${tool.name}`,
165
+ })
166
+ continue
167
+ }
168
+ if (verdict === 'undeclared-read' && !warnedUndeclared.has(tool.name)) {
169
+ warnedUndeclared.add(tool.name)
170
+ log.warn(`工具「${tool.name}」未声明 references/noRefs,按无引用工具登记(限期补齐)`)
171
+ recordOps({
172
+ actor: 'system', actorName: 'tool-registry', actorKind: 'system',
173
+ action: 'tool.registry.undeclared', kind: 'system', level: 'warn',
174
+ targetKind: 'tool', targetId: tool.name,
175
+ summary: `工具未声明引用面(references/noRefs):${tool.name}`,
176
+ })
177
+ }
139
178
  const safe = safeParameters(tool.parameters)
140
179
  const base: Omit<ToolRegistryUpsert, 'definitionHash'> = {
141
180
  name: tool.name,
@@ -150,6 +189,8 @@ export function buildToolRegistrySnapshot(): ToolRegistryUpsert[] {
150
189
  metadata: {
151
190
  builtin: true,
152
191
  hidden: Boolean(tool.hidden),
192
+ riskClass: tool.riskClass ?? '',
193
+ referencesDeclared: Boolean(tool.references || tool.noRefs),
153
194
  ...(safe.error ? { schemaError: safe.error } : {}),
154
195
  },
155
196
  }
@@ -18,6 +18,7 @@
18
18
  { "key": "theme.mode", "type": "select", "group": "theme", "label": "显示模式", "labelKey": "settings.runtime.theme.mode", "description": "全局默认深浅色;用户本地切换偏好优先", "applies": "live", "default": "light", "options": ["light", "dark"] },
19
19
 
20
20
  { "key": "i18n.defaultLocale", "type": "select", "group": "i18n", "label": "默认语言", "labelKey": "settings.runtime.i18n.defaultLocale", "description": "未做本地选择时的界面语言", "applies": "live", "default": "zh-CN", "options": ["zh-CN", "en"] },
21
+
21
22
  { "key": "time.timeZone", "type": "timezone", "group": "time", "label": "系统时区", "labelKey": "settings.runtime.time.timeZone", "description": "日志、聊天、审计、Agent 记录与定时任务使用的 IANA 时区;DAQ 原始时间轴仍保存绝对时间", "applies": "live", "default": "Asia/Shanghai" },
22
23
 
23
24
  { "key": "security.approvalGate", "type": "boolean", "group": "security", "label": "高危操作双人复核", "labelKey": "settings.runtime.security.approvalGate", "description": "R3:开启后写控/删除等高风险操作需另一位管理员批核", "applies": "live", "default": false },
@@ -38,7 +39,6 @@
38
39
  { "key": "daq.objectstore.accessKey", "type": "string", "group": "daq", "label": "对象存储 AccessKey", "labelKey": "settings.runtime.daq.osAccess", "description": "MinIO 访问账号", "applies": "restart", "default": "awshop" },
39
40
  { "key": "daq.objectstore.secretKey", "type": "string", "group": "daq", "label": "对象存储 SecretKey", "labelKey": "settings.runtime.daq.osSecret", "description": "MinIO 访问密钥", "applies": "restart", "default": "awshop-secret" },
40
41
  { "key": "daq.objectstore.bucket", "type": "string", "group": "daq", "label": "对象存储桶", "labelKey": "settings.runtime.daq.osBucket", "description": "图像帧存储桶(不存在时自动创建)", "applies": "restart", "default": "daq" },
41
-
42
42
  { "key": "daq.mqtt.qos", "type": "number", "group": "daq", "label": "MQTT QoS", "labelKey": "settings.runtime.daq.mqttQos", "description": "数采事件总线发布 QoS(0/1/2)", "applies": "restart", "default": 0, "min": 0, "max": 2, "aliases": ["DAQ_MQTT_QOS"] },
43
43
  { "key": "daq.mqtt.username", "type": "string", "group": "daq", "label": "MQTT 用户名", "labelKey": "settings.runtime.daq.mqttUsername", "description": "数采事件总线 MQTT 鉴权用户名(空=匿名)", "applies": "restart", "default": "", "aliases": ["DAQ_MQTT_USERNAME"] },
44
44
  { "key": "daq.mqtt.password", "type": "string", "group": "daq", "label": "MQTT 密码", "labelKey": "settings.runtime.daq.mqttPassword", "description": "数采事件总线 MQTT 鉴权密码", "applies": "restart", "default": "", "aliases": ["DAQ_MQTT_PASSWORD"] },
@@ -76,15 +76,15 @@
76
76
  { "key": "harness.opencode_command", "type": "string", "group": "harness", "label": "opencode 命令", "labelKey": "settings.runtime.harness.opencodeCommand", "description": "OpenCode 引擎可执行文件(PATH 解析)", "applies": "restart", "default": "opencode" },
77
77
  { "key": "harness.codex_command", "type": "string", "group": "harness", "label": "codex 命令", "labelKey": "settings.runtime.harness.codexCommand", "description": "OpenAI Codex CLI 可执行文件(app-server 模式)", "applies": "restart", "default": "codex" },
78
78
  { "key": "harness.dsh_command", "type": "string", "group": "harness", "label": "dsh 命令", "labelKey": "settings.runtime.harness.dshCommand", "description": "DeepSeek Harness 可执行文件(ACP 模式)", "applies": "restart", "default": "dsh" },
79
- { "key": "harness.gemini_command", "type": "string", "group": "harness", "label": "gemini 命令", "labelKey": "settings.runtime.harness.geminiCommand", "description": "Google Gemini CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "gemini" },
79
+ { "key": "harness.gemini_command", "type": "string", "group": "harness", "label": "gemini 命令", "labelKey": "settings.runtime.harness.geminiCommand", "description": "Google Gemini CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "gemini" },
80
80
  { "key": "harness.qwen_command", "type": "string", "group": "harness", "label": "qwen 命令", "labelKey": "settings.runtime.harness.qwenCommand", "description": "Qwen Code 可执行文件(experimental-acp 模式)", "applies": "restart", "default": "qwen" },
81
81
  { "key": "harness.copilot_command", "type": "string", "group": "harness", "label": "copilot 命令", "labelKey": "settings.runtime.harness.copilotCommand", "description": "GitHub Copilot CLI 可执行文件(JSONL 无头)", "applies": "restart", "default": "copilot" },
82
82
  { "key": "harness.cursor_command", "type": "string", "group": "harness", "label": "cursor 命令", "labelKey": "settings.runtime.harness.cursorCommand", "description": "Cursor CLI 可执行文件(stream-json 无头)", "applies": "restart", "default": "cursor-agent" },
83
83
  { "key": "harness.crush_command", "type": "string", "group": "harness", "label": "crush 命令", "labelKey": "settings.runtime.harness.crushCommand", "description": "Charm Crush 可执行文件(run 非交互模式)", "applies": "restart", "default": "crush" },
84
- { "key": "harness.goose_command", "type": "string", "group": "harness", "label": "goose 命令", "labelKey": "settings.runtime.harness.gooseCommand", "description": "Block Goose 可执行文件(run stream-json 无头)", "applies": "restart", "default": "goose" },
84
+ { "key": "harness.goose_command", "type": "string", "group": "harness", "label": "goose 命令", "labelKey": "settings.runtime.harness.gooseCommand", "description": "Block Goose 可执行文件(run stream-json 无头)", "applies": "restart", "default": "goose" },
85
85
  { "key": "harness.pi_command", "type": "string", "group": "harness", "label": "pi 命令", "labelKey": "settings.runtime.harness.piCommand", "description": "pi coding agent 可执行文件(-p --mode json 无头)", "applies": "restart", "default": "pi" },
86
86
  { "key": "harness.hermes_command", "type": "string", "group": "harness", "label": "hermes 命令", "labelKey": "settings.runtime.harness.hermesCommand", "description": "Hermes Agent 可执行文件(acp 模式)", "applies": "restart", "default": "hermes" },
87
- { "key": "harness.hitl_timeout_ms", "type": "number", "group": "harness", "label": "引擎审批超时(ms)", "labelKey": "settings.runtime.harness.hitlTimeoutMs", "description": "codex/opencode/dsh 权限审批无人应答的自动拒绝时限(0=无限等待)", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
87
+ { "key": "harness.hitl_timeout_ms", "type": "number", "group": "harness", "label": "引擎审批超时(ms)", "labelKey": "settings.runtime.harness.hitlTimeoutMs", "description": "codex/opencode/dsh 权限审批无人应答的自动拒绝时限(0=无限等待)", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
88
88
 
89
89
  { "key": "dcw.rollback_cooldown_ms", "type": "number", "group": "dcw", "label": "回退冷却(ms)", "labelKey": "settings.runtime.dcw.rollbackCooldownMs", "description": "回退执行后的同向冷却窗", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
90
90
  { "key": "dcw.rollback_min_window_ms", "type": "number", "group": "dcw", "label": "回退最小观察窗(ms)", "labelKey": "settings.runtime.dcw.rollbackMinWindowMs", "description": "开记录后允许判定的最小观察窗", "applies": "restart", "default": 120000, "min": 0, "max": 3600000 },
@@ -117,6 +117,8 @@
117
117
  { "key": "retention.audit_days", "type": "number", "group": "retention", "label": "审计日志保留(天)", "labelKey": "settings.runtime.retention.auditDays", "description": "审计日志保留天数(合规观察期,从严保留)", "applies": "restart", "default": 90, "min": 1, "max": 3650 },
118
118
  { "key": "retention.approval_days", "type": "number", "group": "retention", "label": "审批历史保留(天)", "labelKey": "settings.runtime.retention.approvalDays", "description": "审批历史保留天数(历史裁决主张不可变,放宽)", "applies": "restart", "default": 180, "min": 1, "max": 3650 },
119
119
  { "key": "retention.analysis_days", "type": "number", "group": "retention", "label": "分析报告保留(天)", "labelKey": "settings.runtime.retention.analysisDays", "description": "数据分析报告台账保留天数(数据留痕,宽松保留)", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
120
+ { "key": "retention.optimizer_days", "type": "number", "group": "retention", "label": "优化运行保留(天)", "labelKey": "settings.runtime.retention.optimizerDays", "description": "Optimizer 运行/候选/建议/收益台账保留天数", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
121
+ { "key": "retention.process_model_days", "type": "number", "group": "retention", "label": "过程模型台账保留(天)", "labelKey": "settings.runtime.retention.processModelDays", "description": "过程模型资格报告与模拟试验台账保留天数", "applies": "restart", "default": 365, "min": 1, "max": 3650 },
120
122
 
121
123
  { "key": "log.level", "type": "string", "group": "log", "label": "日志级别", "labelKey": "settings.runtime.log.level", "description": "服务端日志级别(debug/info/warn/error)", "applies": "restart", "default": "info", "aliases": ["AWSHOP_LOG_LEVEL"] },
122
124
 
@@ -136,6 +138,13 @@
136
138
  { "key": "aml.gates.valTestGap", "type": "number", "group": "aml", "label": "门禁:泛化差", "labelKey": "settings.runtime.aml.gateValTestGap", "description": "门禁 G3:|test-val|/val 相对差上限(防过拟合验证集)", "applies": "live", "default": 0.2, "min": 0.01, "max": 2 },
137
139
  { "key": "aml.gates.minRows", "type": "number", "group": "aml", "label": "门禁:最少样本行", "labelKey": "settings.runtime.aml.gateMinRows", "description": "门禁 G4a:数据集滑窗样本行数下限", "applies": "live", "default": 500, "min": 50, "max": 1000000 },
138
140
  { "key": "aml.gates.minRuns", "type": "number", "group": "aml", "label": "门禁:最少批次数", "labelKey": "settings.runtime.aml.gateMinRuns", "description": "门禁 G4b:数据集覆盖的批次(run)数下限", "applies": "live", "default": 3, "min": 1, "max": 1000 },
139
- { "key": "mcp.enabled", "type": "boolean", "group": "mcp", "label": "启动 MCP 集成", "labelKey": "settings.runtime.mcp.enabled", "description": "允许 aw 工业 MCP(mcp/aw-mcp-server.mjs)连接并操作本实例;停用后 MCP 工具调用将被拒绝(平台 REST 与频道内 agent 不受影响)。也可用环境变量 AW_MCP_ENABLED 覆盖。", "applies": "live", "default": false, "aliases": ["AW_MCP_ENABLED"] }
141
+ { "key": "aml.uq.freshDays", "type": "number", "group": "aml", "label": "UQ 证据保鲜天数", "labelKey": "settings.runtime.aml.uqFreshDays", "description": "工件 UQ 校准时间(calibratedAt)超过该天数后建议降级 unverified(需重训刷新证据)", "applies": "live", "default": 7, "min": 1, "max": 365 },
142
+
143
+ { "key": "mcp.enabled", "type": "boolean", "group": "mcp", "label": "启动 MCP 集成", "labelKey": "settings.runtime.mcp.enabled", "description": "允许 aw 工业 MCP(mcp/aw-mcp-server.mjs)连接并操作本实例;停用后 MCP 工具调用将被拒绝(平台 REST 与频道内 agent 不受影响)。也可用环境变量 AW_MCP_ENABLED 覆盖。", "applies": "live", "default": false, "aliases": ["AW_MCP_ENABLED"] },
144
+
145
+ { "key": "optimizer.solver.poolSize", "type": "number", "group": "optimizer", "label": "Solver 进程池上限", "labelKey": "settings.runtime.optimizer.poolSize", "description": "本地 Python Solver 进程池大小(每进程同时 1 个 solve)", "applies": "restart", "default": 1, "min": 1, "max": 4 },
146
+ { "key": "optimizer.solver.requestTimeoutMs", "type": "number", "group": "optimizer", "label": "Solver 请求超时(ms)", "labelKey": "settings.runtime.optimizer.requestTimeoutMs", "description": "单次求解硬超时;超时终止独占 Worker 进程", "applies": "restart", "default": 30000, "min": 1000, "max": 600000 },
147
+ { "key": "optimizer.solver.threads", "type": "number", "group": "optimizer", "label": "Solver 线程预算", "labelKey": "settings.runtime.optimizer.threads", "description": "求解进程 OMP/OPENBLAS/MKL/NUMEXPR 线程数(避免与训练抢占)", "applies": "restart", "default": 1, "min": 1, "max": 16 },
148
+ { "key": "optimizer.crosscheck.tol", "type": "number", "group": "optimizer", "label": "互校一致性容差", "labelKey": "settings.runtime.optimizer.crosscheckTol", "description": "候选互校逐 CV 无量纲数值一致性门限(默认数值精度级;调大仅用于诊断,放宽不改变证据要求)", "applies": "live", "default": 0.000001, "min": 0.0000000001, "max": 0.001 }
140
149
  ]
141
150
  }
@@ -31,12 +31,21 @@ export interface LineView {
31
31
  * 存量数据无此字段时按 'manual' 生效(读侧归一,见 DcwLineRepo.controlModeOf)。
32
32
  */
33
33
  controlMode?: 'auto' | 'manual'
34
+ /**
35
+ * 是否为模拟器产线(C9/A9):只有 simulated=true 的线允许发起"模拟参数试验";
36
+ * 真实线缺失该字段 = false(默认拒绝)。建线时由 seed/bench 脚本显式置位。
37
+ */
38
+ simulated?: boolean
39
+ /** 模拟器场景 id(plant-runtime 引擎 key;仅诊断展示用) */
40
+ simSceneId?: string
34
41
  }
35
42
 
36
43
  export interface LineInput {
37
44
  name: string
38
45
  color?: string
39
46
  description?: string
47
+ simulated?: boolean
48
+ simSceneId?: string
40
49
  /** 线级控制模式总闸;缺省 'manual';manual→auto 须 confirm:true(服务端强制) */
41
50
  controlMode?: 'auto' | 'manual'
42
51
  /** manual→auto 的显式风险确认(严格 === true;仅 patch 入参用,不落盘) */
@@ -265,6 +265,8 @@ export interface RecipeRunView {
265
265
  productId: string
266
266
  /** 所属产线(自配方继承) */
267
267
  lineId: string
268
+ /** 建批时冻结的配方版本(0/缺省 = 历史未知;C8 版本谱系证据) */
269
+ recipeVersion?: number
268
270
  startedAt: string
269
271
  endedAt: string | null
270
272
  /** apply 时逐参数写结果快照(节点级寻址);ack/verify 为 2026-10-08 ACK 鉴定增量 */
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 工程↔模型单位唯一换算边界(D23)。
3
+ *
4
+ * `variable.unit` = 工程单位(DCW/配方/操作员面),`modelUnit` = 模型单位(模型训练/IR/求解全程)。
5
+ * 换算:model = value*scale + offset;engineering = (model − offset)/scale。
6
+ *
7
+ * 铁律:scale/offset 缺失、为 0 或非有限一律抛 422 —— **禁止按 1/0 兜底**
8
+ * (train/serve skew:训练按兜底换算、推理按另一口径,结论不可信)。
9
+ * aml 与 optimization 共用本模块(避免反向依赖)。
10
+ */
11
+ export interface UnitTransform {
12
+ scale: number
13
+ offset: number
14
+ }
15
+
16
+ export class UnitContractError extends Error {
17
+ readonly status = 422
18
+ readonly code = 'UNIT_CONTRACT_INVALID'
19
+ constructor(message: string) {
20
+ super(message)
21
+ this.name = 'UnitContractError'
22
+ }
23
+ }
24
+
25
+ function assertTransform(t: UnitTransform, what: string): void {
26
+ const scale = Number(t?.scale)
27
+ const offset = Number(t?.offset)
28
+ if (!Number.isFinite(scale) || scale === 0 || !Number.isFinite(offset)) {
29
+ throw new UnitContractError(
30
+ `${what} 的单位换算非法(scale=${String(t?.scale)},offset=${String(t?.offset)}):scale 必须为非零有限数,offset 必须为有限数;禁止按 1/0 兜底`,
31
+ )
32
+ }
33
+ }
34
+
35
+ /** 工程值 → 模型值:model = value*scale + offset */
36
+ export function toModel(value: number, t: UnitTransform, what = '变量'): number {
37
+ assertTransform(t, what)
38
+ return value * t.scale + t.offset
39
+ }
40
+
41
+ /** 模型值 → 工程值:engineering = (model − offset)/scale */
42
+ export function toEngineering(model: number, t: UnitTransform, what = '变量'): number {
43
+ assertTransform(t, what)
44
+ return (model - t.offset) / t.scale
45
+ }
46
+
47
+ /** 宽松读取(仅供展示/回显;业务换算必须走 toModel/toEngineering) */
48
+ export function readTransform(raw: { scale?: unknown, offset?: unknown } | undefined): UnitTransform {
49
+ return { scale: Number(raw?.scale), offset: Number(raw?.offset) }
50
+ }
@@ -1 +0,0 @@
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 _}from"./B8C-QJB5.js";import{n as v}from"./DkpmSnHX.js";import{n as y}from"./Cnrmlixo.js";import{t as b}from"./D_NjL-Hz.js";import{n as x,t as S}from"./qoUdVDnC.js";import{s as C,t as w}from"./Bc_k6AVA.js";import{t as T}from"./DnzjxC0u.js";import{t as E}from"./rdUE8Khf.js";import{i as D,n as O,t as k}from"./aQ1B7BZa2.js";import{r as A,t as j}from"./CJSohaqk2.js";import{t as M}from"./uu1wfdfR2.js";import{n as N,t as P}from"./CAiHhX8P2.js";import{t as F}from"./DHURbGkn2.js";import{t as I}from"./DzBbYWrw2.js";import{t as L}from"./CR612R752.js";import{t as R}from"./DkQBMVTs2.js";import{t as z}from"./BDNMzG2s.js";import{t as B}from"./CNs_Ozdc.js";import{i as V}from"./Du9v6qGB2.js";import{t as H}from"./B5FKaMM02.js";import{t as U}from"./C-MY-JQE2.js";import{t as W}from"./62J4vljm2.js";import{t as G}from"./DGrrucbG2.js";import{t as K}from"./TOWR4WpO2.js";import{t as q}from"./B8cViLJT2.js";import{t as ee}from"./2KE8xGVm2.js";var J=Object.assign(a({__name:`TeamAddMemberModal`,props:f({team:{},memberOptions:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:f([`added`],[`update:open`]),setup(t,{emit:a}){let s=t,l=i(t,`open`),u=a,{addTemplateId:d,addRole:f,submit:p}=U({open:l,teamId:()=>s.team?.id,onAdded:()=>u(`added`)});return(i,a)=>{let s=T,u=x,_=O,v=D,y=S,b=w;return o(),h(b,{open:l.value,"onUpdate:open":a[2]||=e=>l.value=e,title:i.$t(`teams.k6ljhyv029`,{p0:t.team?.name??``}),"ok-text":i.$t(`teams.joinOk`),"cancel-text":i.$t(`common.cancel`),onOk:e(p)},{default:m(()=>[c(y,{layout:`vertical`},{default:m(()=>[c(u,{label:i.$t(`teams.k41ds5006`)},{default:m(()=>[c(s,{value:e(d),"onUpdate:value":a[0]||=e=>r(d)?d.value=e:null,options:t.memberOptions},null,8,[`value`,`options`])]),_:1},8,[`label`]),c(u,{label:i.$t(`teams.k479op007`)},{default:m(()=>[c(v,{value:e(f),"onUpdate:value":a[1]||=e=>r(f)?f.value=e:null},{default:m(()=>[c(_,{value:`worker`},{default:m(()=>[...a[3]||=[g(` worker `,-1)]]),_:1}),c(_,{value:`lead`},{default:m(()=>[g(n(i.$t(`teams.keowzlv017`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`onOk`])}}}),{__name:`WorkshopTeamsTeamAddMemberModal`}),Y={class:`card`},X={class:`card-head`},Z={class:`name`},Q={class:`owner`},te={class:`members`},ne={class:`member-name`},re={class:`member-harness`},ie=[`onClick`],ae=Object.assign(z(a({__name:`TeamCard`,props:{team:{},vis:{},canWrite:{type:Boolean}},emits:[`toggleVisibility`,`deploy`,`plugins`,`remove`,`addMember`,`removeMember`],setup(e,{emit:r}){let i=r,{t:a}=y(),f=e=>V(a,e);return(r,a)=>{let _=k,v=L,y=A,b=j,x=F,S=C;return o(),u(`div`,Y,[l(`div`,X,[l(`span`,Z,n(f(e.team)),1),c(_,{color:e.vis.color,class:`vis-tag`},{default:m(()=>[e.vis.icon?(o(),u(`span`,{key:0,class:t(e.vis.icon)},null,2)):p(``,!0),g(n(e.vis.text),1)]),_:1},8,[`color`]),!e.team.isBuiltin&&e.canWrite?(o(),h(v,{key:0,checked:e.team.visibility===`public`,size:`small`,title:e.team.visibility===`public`?r.$t(`teams.toPrivate`):r.$t(`teams.toPublic`),onChange:a[0]||=t=>i(`toggleVisibility`,e.team,t===!0)},null,8,[`checked`,`title`])):p(``,!0),l(`span`,Q,n(e.team.ownerName??`-`),1),e.canWrite?(o(),h(x,{key:1},{overlay:m(()=>[c(b,null,{default:m(()=>[c(y,{onClick:a[1]||=t=>i(`deploy`,e.team)},{default:m(()=>[g(n(r.$t(`teams.deployToChannel`)),1)]),_:1}),c(y,{onClick:a[2]||=t=>i(`plugins`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k1plugon047`)),1)]),_:1}),c(y,{danger:``,onClick:a[3]||=t=>i(`remove`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k1bpojhf011`)),1)]),_:1})]),_:1})]),default:m(()=>[a[6]||=l(`span`,{class:`i-tabler-dots op`},null,-1)]),_:1})):(o(),h(S,{key:2,class:`deploy-btn`,size:`small`,type:`default`,title:r.$t(`teams.kxheuf1001`),onClick:a[4]||=t=>i(`deploy`,e.team)},{default:m(()=>[g(n(r.$t(`teams.k48ja7012`)),1)]),_:1},8,[`title`]))]),l(`div`,te,[(o(!0),u(d,null,s(e.team.members,t=>(o(),u(`div`,{key:t.templateId,class:`member`},[c(_,{color:t.role===`lead`?`gold`:`blue`,class:`role`},{default:m(()=>[g(n(t.role),1)]),_:2},1032,[`color`]),l(`span`,ne,n(f(t)),1),l(`span`,re,n(t.harness),1),e.canWrite?(o(),u(`span`,{key:0,class:`i-tabler-x rm`,onClick:n=>i(`removeMember`,e.team,t.templateId)},null,8,ie)):p(``,!0)]))),128)),e.canWrite?(o(),h(S,{key:0,size:`small`,type:`dashed`,block:``,onClick:a[5]||=t=>i(`addMember`,e.team)},{default:m(()=>[g(n(r.$t(`teams.krt2oib013`)),1)]),_:1})):p(``,!0)])])}}}),[[`__scopeId`,`data-v-42a6ce1e`]]),{__name:`WorkshopTeamsTeamCard`}),oe={class:`aw-mono`},se={key:0,class:`plug-builtin-tag`},ce={class:`plug-hint`},le=Object.assign(z(a({__name:`TeamCreateModal`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:f([`created`],[`update:open`]),setup(t,{emit:a}){let f=i(t,`open`),_=a,{createForm:v,platformPlugins:y,pluginChecked:b,submit:C}=W({open:f,onCreated:()=>_(`created`)});return(t,i)=>{let a=E,_=x,T=O,k=D,A=P,j=N,M=S,F=w;return o(),h(F,{open:f.value,"onUpdate:open":i[4]||=e=>f.value=e,title:t.$t(`teams.k1efmuyx002`),"ok-text":t.$t(`common.create`),"cancel-text":t.$t(`common.cancel`),onOk:e(C)},{default:m(()=>[c(M,{layout:`vertical`},{default:m(()=>[c(_,{label:t.$t(`teams.k3xhia003`)},{default:m(()=>[c(a,{value:e(v).name,"onUpdate:value":i[0]||=t=>e(v).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(_,{label:t.$t(`teams.k40gkk004`)},{default:m(()=>[c(a,{value:e(v).description,"onUpdate:value":i[1]||=t=>e(v).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(_,{label:t.$t(`teams.k3lrqn0005`)},{default:m(()=>[c(k,{value:e(v).visibility,"onUpdate:value":i[2]||=t=>e(v).visibility=t},{default:m(()=>[c(T,{value:`private`},{default:m(()=>[g(n(t.$t(`teams.k17jfge3015`)),1)]),_:1}),c(T,{value:`public`},{default:m(()=>[g(n(t.$t(`teams.k1h2lq0o016`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),e(y).length?(o(),h(_,{key:0,label:t.$t(`teams.k1plugon041`)},{default:m(()=>[c(j,{value:e(b),"onUpdate:value":i[3]||=e=>r(b)?b.value=e:null,class:`plug-create-group`},{default:m(()=>[(o(!0),u(d,null,s(e(y),e=>(o(),h(A,{key:e.name,value:e.name},{default:m(()=>[l(`span`,oe,n(e.name),1),e.builtin?(o(),u(`span`,se,n(t.$t(`teams.k3x23c018`)),1)):p(``,!0)]),_:2},1032,[`value`]))),128))]),_:1},8,[`value`]),l(`div`,ce,n(t.$t(`teams.k1plugon042`)),1)]),_:1},8,[`label`])):p(``,!0)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`onOk`])}}}),[[`__scopeId`,`data-v-998f66e7`]]),{__name:`WorkshopTeamsTeamCreateModal`}),ue=Object.assign(a({__name:`TeamDeployModal`,props:f({team:{},channels:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(t){let n=t,a=i(t,`open`),{deployChannelId:s,deploying:l,submit:u}=G({open:a,teamId:()=>n.team?.id});return(n,i)=>{let d=T,f=x,p=S,g=w;return o(),h(g,{open:a.value,"onUpdate:open":i[1]||=e=>a.value=e,title:n.$t(`teams.k1c0o6oe030`,{p0:t.team?.name??``}),"confirm-loading":e(l),"ok-text":n.$t(`teams.deployOk`),"cancel-text":n.$t(`common.cancel`),onOk:e(u)},{default:m(()=>[c(p,{layout:`vertical`},{default:m(()=>[c(f,{label:n.$t(`teams.targetChannelLabel`)},{default:m(()=>[c(d,{value:e(s),"onUpdate:value":i[0]||=e=>r(s)?s.value=e:null,options:t.channels.map(e=>({value:e.id,label:e.name}))},null,8,[`value`,`options`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`,`ok-text`,`cancel-text`,`onOk`])}}}),{__name:`WorkshopTeamsTeamDeployModal`}),de={class:`plug-source`},fe={class:`plug-text`},pe={class:`plug-name`},me={class:`aw-mono`},he={key:0,class:`plug-builtin-tag`},ge={class:`plug-desc`},_e={key:0,class:`plug-hint`},ve=Object.assign(z(a({__name:`TeamPluginModal`,props:f({team:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(t){let r=t,a=i(t,`open`),{rows:f,source:_,loading:v,saving:y,toggle:b}=q({open:a,teamId:()=>r.team?.id});return(r,i)=>{let x=L,S=I,C=w;return o(),h(C,{open:a.value,"onUpdate:open":i[0]||=e=>a.value=e,title:r.$t(`teams.k1plugon040`,{p0:t.team?.name??``}),footer:null},{default:m(()=>[c(S,{spinning:e(v)},{default:m(()=>[l(`p`,de,[e(_)===`explicit`?(o(),u(d,{key:0},[g(n(r.$t(`teams.k1plugon045`)),1)],64)):(o(),u(d,{key:1},[g(n(r.$t(`teams.k1plugon044`)),1)],64))]),(o(!0),u(d,null,s(e(f),t=>(o(),u(`div`,{key:t.name,class:`plug-row`},[l(`div`,fe,[l(`div`,pe,[l(`span`,me,n(t.name),1),t.builtin?(o(),u(`span`,he,n(r.$t(`teams.k3x23c018`)),1)):p(``,!0)]),l(`div`,ge,n(t.description||`—`),1)]),c(x,{checked:t.enabled,size:`small`,loading:e(y)===t.name,onChange:n=>e(b)(t,n===!0)},null,8,[`checked`,`loading`,`onChange`])]))),128)),e(f).length===0&&!e(v)?(o(),u(`div`,_e,n(r.$t(`teams.k1plugon046`)),1)):p(``,!0)]),_:1},8,[`spinning`])]),_:1},8,[`open`,`title`])}}}),[[`__scopeId`,`data-v-2459d0b0`]]),{__name:`WorkshopTeamsTeamPluginModal`}),ye={class:`page`},be={class:`head`},$={class:`sub`},xe={class:`toolbar`},Se={key:0,class:`admin-note`},Ce={class:`grid`},we=z(a({__name:`teams`,setup(t){let{t:i}=y();B({layout:`default`});let{teams:a,channels:f,loading:x,load:S,memberOptions:w,filter:T,shown:E,canWrite:D,visTag:O,isAdmin:k}=ee(),{toggleVisibility:A,removeMember:j,removeTeam:N}=H({reload:S}),{createOpen:P,addOpen:F,addTeam:L,openAdd:z,deployOpen:V,deployTeam:U,openDeploy:W,plugOpen:G,plugTeam:q,openPlugins:Y}=K();return v({title:()=>i(`titles.teams`)}),(t,i)=>{let v=C,y=M,B=R,H=b,K=I;return o(),u(`div`,ye,[l(`div`,be,[l(`div`,null,[l(`h2`,null,`AgentTeam `+n(t.$t(`teams.k3svl8y028`)),1),l(`p`,$,n(t.$t(`teams.k12gl4wn008`)),1)]),c(y,null,{default:m(()=>[c(v,{onClick:i[0]||=n=>(`navigateTo`in t?t.navigateTo:e(_))(`/workshop`)},{default:m(()=>[g(n(t.$t(`teams.krpx6qa009`)),1)]),_:1}),c(v,{type:`primary`,onClick:i[1]||=e=>P.value=!0},{default:m(()=>[g(n(t.$t(`teams.k1efmuyx002`)),1)]),_:1})]),_:1})]),l(`div`,xe,[c(B,{value:e(T),"onUpdate:value":i[2]||=e=>r(T)?T.value=e:null,size:`small`,options:[{value:`all`,label:t.$t(`chips.chipAll`,{n:e(a).length})},{value:`mine`,label:t.$t(`chips.mine`)},{value:`public`,label:t.$t(`chips.public`)},{value:`builtin`,label:t.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),c(H,null,{default:m(()=>[e(k)?(o(),u(`span`,Se,[i[8]||=l(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+n(t.$t(`teams.k1bpgi8h010`)),1)])):p(``,!0)]),_:1})]),c(K,{spinning:e(x)},{default:m(()=>[l(`div`,Ce,[(o(!0),u(d,null,s(e(E),t=>(o(),h(ae,{key:t.id,team:t,vis:e(O)(t),"can-write":e(D)(t),onToggleVisibility:e(A),onDeploy:e(W),onPlugins:e(Y),onRemove:e(N),onAddMember:e(z),onRemoveMember:e(j)},null,8,[`team`,`vis`,`can-write`,`onToggleVisibility`,`onDeploy`,`onPlugins`,`onRemove`,`onAddMember`,`onRemoveMember`]))),128)),e(E).length===0?(o(),u(`div`,{key:0,class:`card placeholder`,onClick:i[3]||=e=>P.value=!0},[i[9]||=l(`span`,{class:`i-tabler-plus big`},null,-1),l(`span`,null,n(t.$t(`teams.k6cbbgf014`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c(le,{open:e(P),"onUpdate:open":i[4]||=e=>r(P)?P.value=e:null,onCreated:e(S)},null,8,[`open`,`onCreated`]),c(J,{open:e(F),"onUpdate:open":i[5]||=e=>r(F)?F.value=e:null,team:e(L),"member-options":e(w),onAdded:e(S)},null,8,[`open`,`team`,`member-options`,`onAdded`]),c(ue,{open:e(V),"onUpdate:open":i[6]||=e=>r(V)?V.value=e:null,team:e(U),channels:e(f)},null,8,[`open`,`team`,`channels`]),c(ve,{open:e(G),"onUpdate:open":i[7]||=e=>r(G)?G.value=e:null,team:e(q)},null,8,[`open`,`team`])])}}}),[[`__scopeId`,`data-v-b2cf2a06`]]);export{we as default};