agentworkshop 0.8.5 → 0.8.6

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 (349) hide show
  1. package/.AgentWorkShop/prompts/host-tools.en.json +3 -3
  2. package/.AgentWorkShop/prompts/host-tools.json +14 -4
  3. package/.output/.AgentWorkShop/prompts/host-tools.en.json +3 -3
  4. package/.output/.AgentWorkShop/prompts/host-tools.json +14 -4
  5. package/.output/nitro.json +1 -1
  6. package/.output/public/_nuxt/{U_n8pryv2.js → 7op-BMk82.js} +1 -1
  7. package/.output/public/_nuxt/{zWZ26UWi.js → B1SIgyrl.js} +1 -1
  8. package/.output/public/_nuxt/{C4tXwpSt.js → BA2lmfW4.js} +1 -1
  9. package/.output/public/_nuxt/{EJkmXP432.js → BDXQqSkl2.js} +1 -1
  10. package/.output/public/_nuxt/{CY_7u1ST2.js → BI9jj13f2.js} +1 -1
  11. package/.output/public/_nuxt/{CGf9neEK2.js → BiXqyYNw2.js} +1 -1
  12. package/.output/public/_nuxt/{D9GoOkyP2.js → BlOm8JIs2.js} +1 -1
  13. package/.output/public/_nuxt/{CQ31GiJU2.js → BoXKUOiN2.js} +1 -1
  14. package/.output/public/_nuxt/{DZzbCFY2.js → BuLoPmcf.js} +1 -1
  15. package/.output/public/_nuxt/{D9ppMCbw.js → BwOK42JQ.js} +1 -1
  16. package/.output/public/_nuxt/{CZJ5cw6r2.js → C1RMfPoB2.js} +1 -1
  17. package/.output/public/_nuxt/{CGviZq4E.js → COfo_Bg3.js} +1 -1
  18. package/.output/public/_nuxt/CTGJHZ8X2.js +1 -0
  19. package/.output/public/_nuxt/{SgsmmrsZ.js → CY2NkFvI.js} +1 -1
  20. package/.output/public/_nuxt/{B4GOTVfN.js → C_4mzQ5X.js} +1 -1
  21. package/.output/public/_nuxt/{DGmFHb7m.js → CdvMP3lv.js} +1 -1
  22. package/.output/public/_nuxt/{iqxZGXsY.js → CooauJ7D.js} +1 -1
  23. package/.output/public/_nuxt/{C3vxePED.js → D1eVi1zr.js} +1 -1
  24. package/.output/public/_nuxt/{DnuJ66Jy.js → D6PUmBb0.js} +1 -1
  25. package/.output/public/_nuxt/{BBhroEeN.js → DC8sMA36.js} +1 -1
  26. package/.output/public/_nuxt/{DOUuGOQR2.js → DDHh85c42.js} +1 -1
  27. package/.output/public/_nuxt/{Cy_HDgSl.js → DDXOfmo2.js} +2 -2
  28. package/.output/public/_nuxt/{Cr2xJ_CY.js → DMFwLxfu.js} +1 -1
  29. package/.output/public/_nuxt/{BZg_MIK42.js → DoprKJ5a2.js} +1 -1
  30. package/.output/public/_nuxt/{BzBBEE-o2.js → Dr1FVeQG2.js} +1 -1
  31. package/.output/public/_nuxt/{W0sNnJQh.js → DtnsTW7e.js} +1 -1
  32. package/.output/public/_nuxt/{gUYi1hLJ2.js → DxDqd6T42.js} +1 -1
  33. package/.output/public/_nuxt/{B0UUODeh.js → DzU3zEKX.js} +1 -1
  34. package/.output/public/_nuxt/{BkO5WdX5.js → EgO70wrE.js} +1 -1
  35. package/.output/public/_nuxt/{7OZQiw002.js → HJKu4eEV2.js} +1 -1
  36. package/.output/public/_nuxt/{ChF6qLpY2.js → K5Xen0wZ2.js} +1 -1
  37. package/.output/public/_nuxt/{CNrRZmSx2.js → Rb4o4o-82.js} +1 -1
  38. package/.output/public/_nuxt/{BqBTlfiz.js → Tf6SJSDj.js} +1 -1
  39. package/.output/public/_nuxt/{DJaGVY4v2.js → ZzOyoXex2.js} +1 -1
  40. package/.output/public/_nuxt/{PbzVdCTA2.js → azOGy_tU2.js} +1 -1
  41. package/.output/public/_nuxt/{D1thFC3z.js → be-4wyTo.js} +1 -1
  42. package/.output/public/_nuxt/builds/latest.json +1 -1
  43. package/.output/public/_nuxt/builds/meta/593b65bd-cf1d-4b7f-a993-57e939c38f36.json +1 -0
  44. package/.output/public/_nuxt/{8b9CKi6F.js → dcjPjLPI.js} +1 -1
  45. package/.output/public/_nuxt/{ae2-5ZPt.js → h-Fn7pRD.js} +1 -1
  46. package/.output/public/_nuxt/{-gy9k_TE2.js → hyLdZsOd2.js} +1 -1
  47. package/.output/public/_nuxt/{BHxG41IQ2.js → o8sYG6xx2.js} +1 -1
  48. package/.output/server/chunks/_/access.mjs +1 -1
  49. package/.output/server/chunks/_/agent-dto.mjs +26 -0
  50. package/.output/server/chunks/_/agent-dto.mjs.map +1 -0
  51. package/.output/server/chunks/_/data-export.mjs +6 -6
  52. package/.output/server/chunks/_/data-query.mjs +3 -3
  53. package/.output/server/chunks/_/eda-run.repo.mjs +2 -2
  54. package/.output/server/chunks/_/features.mjs +5 -5
  55. package/.output/server/chunks/_/golden.mjs +3 -3
  56. package/.output/server/chunks/_/harness-spawn-policy.mjs +77 -0
  57. package/.output/server/chunks/_/harness-spawn-policy.mjs.map +1 -0
  58. package/.output/server/chunks/_/index.mjs +1 -1
  59. package/.output/server/chunks/_/line-scope.mjs +32 -0
  60. package/.output/server/chunks/_/line-scope.mjs.map +1 -0
  61. package/.output/server/chunks/_/mes-console.mjs +1 -1
  62. package/.output/server/chunks/_/nitro.mjs +2429 -1726
  63. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  64. package/.output/server/chunks/_/ocap.mjs +1 -1
  65. package/.output/server/chunks/_/rest-auth.mjs +1 -1
  66. package/.output/server/chunks/_/spc.mjs +1 -1
  67. package/.output/server/chunks/build/TownView-BWMDbosY.mjs +1 -1
  68. package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1 -1
  69. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +1 -1
  70. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  71. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +1 -1
  72. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +1 -1
  73. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +1 -1
  74. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +1 -1
  75. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +1 -1
  76. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +1 -1
  77. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +1 -1
  78. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +1 -1
  79. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  80. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +2 -2
  81. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +17 -9
  82. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  83. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +3 -0
  84. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  85. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  86. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +6 -0
  87. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  88. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +5 -0
  89. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  90. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +5 -2
  91. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  92. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +7 -1
  93. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  94. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +3 -1
  95. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  96. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +8 -6
  97. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  98. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +29 -49
  99. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
  100. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  101. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +6 -1
  102. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  103. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +4 -2
  104. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  105. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +1 -1
  106. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +14 -5
  107. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  108. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  109. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  110. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  111. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +7 -4
  112. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  113. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  114. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  115. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +6 -2
  116. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +6 -2
  118. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  120. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  121. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +6 -1
  123. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  124. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  125. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +7 -4
  126. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  127. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  128. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  129. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +6 -2
  131. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  133. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +7 -4
  134. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  137. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +6 -2
  139. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  141. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
  142. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  143. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  144. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +6 -2
  146. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -1
  148. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -1
  149. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  150. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  151. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +6 -2
  152. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +4 -2
  154. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +5 -2
  156. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +7 -3
  165. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +8 -1
  167. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +6 -2
  169. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  170. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  173. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  174. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +7 -4
  175. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  176. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +1 -1
  177. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +1 -1
  178. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/index.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/index.post.mjs +2 -0
  187. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  188. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +8 -3
  190. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  191. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +1 -1
  208. package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +1 -1
  213. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  231. package/.output/server/chunks/routes/renderer.mjs +2 -2
  232. package/.output/server/chunks/virtual/entry.mjs +1 -1
  233. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  234. package/.output/server/package.json +1 -1
  235. package/README-zh.md +4 -2
  236. package/README.md +9 -2
  237. package/config.yml +1 -1
  238. package/docker-compose.yml +4 -2
  239. package/docs/cli.en.md +2 -2
  240. package/docs/cli.md +2 -2
  241. package/docs/plugins.en.md +1 -1
  242. package/docs/plugins.md +1 -1
  243. package/docs/sdk.en.md +1 -1
  244. package/docs/sdk.md +1 -1
  245. package/package.json +1 -1
  246. package/scripts/_audit/_live-mqtt-e2e-20261028.mjs +219 -0
  247. package/scripts/_audit/prompt-injection-probe.mts +76 -0
  248. package/scripts/api-live-e2e.mjs +9 -3
  249. package/scripts/e2e-multiexpert-remediation-real.mjs +453 -0
  250. package/scripts/e2e-node-binding-3mode-real.mjs +697 -0
  251. package/scripts/e2e-node-binding-authz.mjs +332 -0
  252. package/scripts/security-acceptance.mjs +218 -0
  253. package/server/api/workshop/agent-tools/bindings/index.post.ts +33 -17
  254. package/server/api/workshop/agents/[id].patch.ts +3 -0
  255. package/server/api/workshop/agents/index.post.ts +3 -0
  256. package/server/api/workshop/channel-templates/[id].patch.ts +5 -0
  257. package/server/api/workshop/channel-templates/index.post.ts +6 -0
  258. package/server/api/workshop/channels/[id]/agents/[agentId].patch.ts +5 -0
  259. package/server/api/workshop/channels/[id]/agents/index.get.ts +8 -2
  260. package/server/api/workshop/channels/[id]/agents/index.post.ts +7 -0
  261. package/server/api/workshop/channels/[id]/index.get.ts +10 -4
  262. package/server/api/workshop/channels.post.ts +3 -0
  263. package/server/api/workshop/daq/[id]/ingest.post.ts +26 -22
  264. package/server/api/workshop/daq/[id].patch.ts +8 -0
  265. package/server/api/workshop/daq/alarms.get.ts +18 -16
  266. package/server/api/workshop/daq/infra/reconnect.post.ts +21 -5
  267. package/server/api/workshop/daq/test-driver.post.ts +10 -3
  268. package/server/api/workshop/dcw/[id]/param-ledger.get.ts +7 -1
  269. package/server/api/workshop/dcw/[id]/read.post.ts +6 -1
  270. package/server/api/workshop/dcw/[id].patch.ts +49 -40
  271. package/server/api/workshop/dcw/journal/index.get.ts +7 -3
  272. package/server/api/workshop/dcw/mes-artifacts/file.get.ts +7 -1
  273. package/server/api/workshop/dcw/mes-artifacts/index.get.ts +7 -1
  274. package/server/api/workshop/dcw/optimizations/[id]/series.get.ts +6 -1
  275. package/server/api/workshop/dcw/optimizations/[id].get.ts +3 -1
  276. package/server/api/workshop/dcw/optimizations/index.get.ts +6 -3
  277. package/server/api/workshop/dcw/params/[id]/read.post.ts +22 -17
  278. package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +20 -14
  279. package/server/api/workshop/dcw/recipes/[id].delete.ts +33 -25
  280. package/server/api/workshop/dcw/recipes/index.get.ts +17 -12
  281. package/server/api/workshop/dcw/runs/[id]/close.post.ts +21 -15
  282. package/server/api/workshop/dcw/test-driver.post.ts +21 -16
  283. package/server/api/workshop/ws/hub.ts +2 -1
  284. package/server/plugins/01-instance-guard.ts +82 -0
  285. package/server/plugins/daq.ts +40 -8
  286. package/server/plugins/workshop.ts +12 -0
  287. package/server/services/workshop/agents/adapters/line-spawn.ts +24 -1
  288. package/server/services/workshop/agents/agent-dto.ts +54 -0
  289. package/server/services/workshop/agents/harness-spawn-policy.ts +114 -0
  290. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +22 -0
  291. package/server/services/workshop/agents/host-tool-bridge/index.ts +1 -1
  292. package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +17 -3
  293. package/server/services/workshop/agents/host-tool-bridge/tools/tasks.ts +1 -1
  294. package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +5 -1
  295. package/server/services/workshop/agents/industrial/dcw-tools.ts +6 -2
  296. package/server/services/workshop/agents/industrial/ops-tools.ts +54 -12
  297. package/server/services/workshop/agents/industrial/recipe-gate.ts +68 -15
  298. package/server/services/workshop/agents/industrial/tool-verify-legacy-specs.ts +2 -2
  299. package/server/services/workshop/agents/industrial/tool-verify.ts +31 -2
  300. package/server/services/workshop/agents/node-bindings.repo.ts +4 -3
  301. package/server/services/workshop/agents/node-delegation.ts +49 -4
  302. package/server/services/workshop/agents/tool-approvals.ts +23 -0
  303. package/server/services/workshop/agents/tool-reference-spec.ts +3 -0
  304. package/server/services/workshop/daq/bus/mqtt.adapter.ts +12 -0
  305. package/server/services/workshop/daq/daq-controller/crud.ts +5 -3
  306. package/server/services/workshop/daq/daq-controller/ingest.ts +23 -0
  307. package/server/services/workshop/daq/daq-controller/push.ts +24 -3
  308. package/server/services/workshop/daq/daq-controller/runtime-control.ts +6 -0
  309. package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +3 -1
  310. package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +21 -1
  311. package/server/services/workshop/daq/daq-node.repo.ts +10 -7
  312. package/server/services/workshop/daq/daq-node.ts +2 -0
  313. package/server/services/workshop/daq/daq-runtime.ts +10 -2
  314. package/server/services/workshop/daq/drivers/modbus-tcp.ts +8 -5
  315. package/server/services/workshop/daq/drivers/registry.ts +5 -4
  316. package/server/services/workshop/daq/infra.ts +13 -0
  317. package/server/services/workshop/daq/ingest-policy.ts +24 -1
  318. package/server/services/workshop/daq/storage/timescale.adapter.ts +42 -3
  319. package/server/services/workshop/db/database/migrations.ts +83 -68
  320. package/server/services/workshop/dcw/dcw-controller/crud.ts +27 -2
  321. package/server/services/workshop/dcw/dcw-controller/lines.ts +14 -3
  322. package/server/services/workshop/dcw/dcw-controller/recipes.ts +63 -5
  323. package/server/services/workshop/dcw/dcw-recipe.repo.ts +10 -1
  324. package/server/services/workshop/dcw/dcw-runtime.ts +37 -14
  325. package/server/services/workshop/dcw/drivers/shared.ts +62 -6
  326. package/server/services/workshop/dcw/recipe-op-anchor.ts +28 -0
  327. package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +204 -190
  328. package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +97 -77
  329. package/server/services/workshop/line-scope.ts +80 -0
  330. package/server/services/workshop/optimization/dispatch.service.ts +18 -2
  331. package/server/services/workshop/permissions.ts +2 -0
  332. package/server/services/workshop/runtime/agent-runtime/message.ts +17 -0
  333. package/server/services/workshop/runtime/agent-runtime/state.ts +9 -3
  334. package/server/services/workshop/runtime/agent-runtime/types.ts +2 -1
  335. package/server/services/workshop/runtime/channel-runtime.ts +3 -1
  336. package/server/services/workshop/runtime/mailbox.ts +6 -3
  337. package/server/services/workshop/runtime/manager/a2a.ts +4 -2
  338. package/server/services/workshop/runtime/manager/admin-channel.ts +1 -1
  339. package/server/services/workshop/runtime/manager/chat.ts +3 -1
  340. package/server/services/workshop/runtime/manager/host-tools.ts +1 -1
  341. package/server/services/workshop/runtime/manager/runtime-wiring.ts +31 -19
  342. package/server/services/workshop/runtime/manager/state.ts +43 -1
  343. package/server/services/workshop/runtime/permission-scope.ts +21 -0
  344. package/server/services/workshop/runtime/scheduler-loop/tick.ts +16 -4
  345. package/server/services/workshop/scene-events.ts +19 -0
  346. package/shared/daq-protocol.ts +24 -5
  347. package/shared/dcw-protocol/catalog.ts +4 -4
  348. package/.output/public/_nuxt/CCI-fwcS2.js +0 -1
  349. package/.output/public/_nuxt/builds/meta/5cd11284-05bf-4fcd-9a69-56a01c9f56dd.json +0 -1
@@ -51,7 +51,7 @@ const instantiate_post = defineApiHandler(async (event) => {
51
51
  if (body.bindLineId) {
52
52
  await manager.bindChannelLine(result.channelId, body.bindLineId);
53
53
  }
54
- const { ensureStream } = await import('../../../../../_/nitro.mjs').then(function (n) { return n.dA; });
54
+ const { ensureStream } = await import('../../../../../_/nitro.mjs').then(function (n) { return n.dD; });
55
55
  ensureStream(manager, result.channelId);
56
56
  return result;
57
57
  });
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { d as defineApiHandler, f as getRouterParam, H as readValidatedBody, I as zValidator, g as getWorkshopManager, A as AppError } from '../../../../_/nitro.mjs';
3
3
  import { resolveUser } from '../caller.mjs';
4
+ import { a as assertSpawnConfigAllowed } from '../../../../_/harness-spawn-policy.mjs';
4
5
  import 'node:crypto';
5
6
  import 'node:http';
6
7
  import 'node:https';
@@ -47,6 +48,7 @@ const patchSchema = z.object({
47
48
  visibility: z.enum(["private", "public"]).optional()
48
49
  });
49
50
  const _id__patch = defineApiHandler(async (event) => {
51
+ var _a;
50
52
  const templateId = getRouterParam(event, "id");
51
53
  const user = resolveUser(event);
52
54
  const body = await readValidatedBody(event, zValidator(patchSchema));
@@ -54,6 +56,10 @@ const _id__patch = defineApiHandler(async (event) => {
54
56
  const tpl = manager.getChannelTemplate(templateId);
55
57
  if (!tpl) throw new AppError(404, "NOT_FOUND", `Channel \u6A21\u677F\u4E0D\u5B58\u5728: ${templateId}`);
56
58
  manager.requireWritable(tpl.ownerUserId, user, "Channel \u6A21\u677F");
59
+ if (body.lead) assertSpawnConfigAllowed(body.lead.harness, body.lead.config, user);
60
+ for (const m of (_a = body.members) != null ? _a : []) {
61
+ if ("inline" in m) assertSpawnConfigAllowed(m.inline.harness, m.inline.config, user);
62
+ }
57
63
  return manager.updateChannelTemplate(templateId, body);
58
64
  });
59
65
 
@@ -1 +1 @@
1
- {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../server/api/workshop/channel-templates/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAe,EAAE,KAAA,CAAM;AAAA,EAC3B,EAAE,MAAA,CAAO,EAAE,YAAY,CAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,CAAA,EAAG,IAAA,EAAM,EAAE,IAAA,CAAK,CAAC,QAAQ,QAAQ,CAAC,GAAG,CAAA;AAAA,EAC5E,EAAE,MAAA,CAAO;AAAA,IACP,MAAA,EAAQ,EAAE,MAAA,CAAO;AAAA,MACf,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,MACtB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,MACzB,MAAA,EAAQ,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAAS,KACpD,CAAA;AAAA,IACD,MAAM,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,QAAQ,CAAC;AAAA,GAChC;AACH,CAAC,CAAA;AAED,MAAM,WAAA,GAAc,EAAE,MAAA,CAAO;AAAA,EAC3B,MAAM,CAAA,CAAE,MAAA,GAAS,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA,EACjC,WAAA,EAAa,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,SAAA,EAAW,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,IAAA,EAAM,EAAE,MAAA,CAAO;AAAA,IACb,IAAA,EAAM,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IACtB,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,IACzB,MAAA,EAAQ,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAAS,GACpD,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS;AAAA,EACvB,OAAA,EAAS,CAAA,CAAE,KAAA,CAAM,YAAY,EAAE,QAAA,EAAS;AAAA,EACxC,UAAA,EAAY,EAAE,IAAA,CAAK,CAAC,WAAW,QAAQ,CAAC,EAAE,QAAA;AAC5C,CAAC,CAAA;AAED,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,UAAA,GAAa,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC7C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,OAAO,MAAM,iBAAA,CAAkB,KAAA,EAAO,UAAA,CAAW,WAAW,CAAC,CAAA;AACnE,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,MAAM,GAAA,GAAM,OAAA,CAAQ,kBAAA,CAAmB,UAAU,CAAA;AACjD,EAAA,IAAI,CAAC,KAAK,MAAM,IAAI,SAAS,GAAA,EAAK,WAAA,EAAa,CAAA,wCAAA,EAAkB,UAAU,CAAA,CAAE,CAAA;AAC7E,EAAA,OAAA,CAAQ,eAAA,CAAgB,GAAA,CAAI,WAAA,EAAa,IAAA,EAAM,sBAAY,CAAA;AAC3D,EAAA,OAAO,OAAA,CAAQ,qBAAA,CAAsB,UAAA,EAAY,IAAI,CAAA;AACvD,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../server/api/workshop/channel-templates/[id].patch.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { d as defineApiHandler, f as getRouterParam, r as readBody, g as getWorkshopManager, A as AppError } from '../../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../../caller.mjs';
3
+ import { a as assertSpawnConfigAllowed } from '../../../../../../_/harness-spawn-policy.mjs';
3
4
  import 'node:crypto';
4
5
  import 'node:http';
5
6
  import 'node:https';
@@ -32,6 +33,10 @@ const _agentId__patch = defineApiHandler(async (event) => {
32
33
  manager.requireWritable(channel.ownerUserId, user, "channel");
33
34
  const members = await manager.listChannelAgents(channelId);
34
35
  if (!members.some((a) => a.id === agentId)) throw new AppError(404, "NOT_FOUND", `\u6210\u5458\u4E0D\u5B58\u5728: ${agentId}`);
36
+ if (body == null ? void 0 : body.config) {
37
+ const member = members.find((a) => a.id === agentId);
38
+ assertSpawnConfigAllowed(member.harness, body.config, user);
39
+ }
35
40
  const patch = {};
36
41
  if (typeof (body == null ? void 0 : body.name) === "string" && body.name.trim()) patch.name = body.name.trim();
37
42
  if ((body == null ? void 0 : body.config) && typeof body.config === "object") patch.config = body.config;
@@ -1 +1 @@
1
- {"version":3,"file":"_agentId_.patch.mjs","sources":["../../../../../../../../../server/api/workshop/channels/[id]/agents/[agentId].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA,wBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,OAAA,GAAU,cAAA,CAAe,KAAA,EAAO,SAAS,CAAA;AAC/C,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAiG,KAAK,CAAA;AACzH,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,KAAK,EAAE,CAAA;AAC5D,EAAA,OAAA,CAAQ,eAAA,CAAgB,OAAA,CAAQ,WAAA,EAAa,IAAA,EAAM,SAAS,CAAA;AAC5D,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,iBAAA,CAAkB,SAAS,CAAA;AACzD,EAAA,IAAI,CAAC,OAAA,CAAQ,IAAA,CAAK,CAAA,CAAA,KAAK,EAAE,EAAA,KAAO,OAAO,CAAA,EAAG,MAAM,IAAI,QAAA,CAAS,GAAA,EAAK,WAAA,EAAa,CAAA,gCAAA,EAAU,OAAO,CAAA,CAAE,CAAA;AAClG,EAAA,MAAM,QAA+E,EAAC;AACtF,EAAA,IAAI,QAAO,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,IAAA,CAAA,KAAS,QAAA,IAAY,IAAA,CAAK,IAAA,CAAK,IAAA,EAAK,EAAG,KAAA,CAAM,IAAA,GAAO,IAAA,CAAK,IAAA,CAAK,IAAA,EAAK;AACpF,EAAA,IAAA,CAAI,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,WAAU,OAAO,IAAA,CAAK,WAAW,QAAA,EAAU,KAAA,CAAM,SAAS,IAAA,CAAK,MAAA;AACzE,EAAA,IAAA,CAAI,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,aAAY,CAAA,IAAA,CAAK,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,aAAY,CAAA,EAAG,KAAA,CAAM,UAAU,IAAA,CAAK,OAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,kBAAA,CAAmB,OAAA,EAAS,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,MAAA,EAAQ,MAAA,EAAQ,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,QAAQ,CAAA;AAC9G,EAAA,OAAO,EAAE,OAAA,EAAS,KAAA,CAAM,EAAA,EAAI,IAAA,EAAM,KAAA,CAAM,IAAA,EAAM,OAAA,EAAS,KAAA,CAAM,OAAA,EAAS,IAAA,EAAM,KAAA,CAAM,IAAA,EAAK;AACzF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"_agentId_.patch.mjs","sources":["../../../../../../../../../server/api/workshop/channels/[id]/agents/[agentId].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYA,wBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,OAAA,GAAU,cAAA,CAAe,KAAA,EAAO,SAAS,CAAA;AAC/C,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAiG,KAAK,CAAA;AACzH,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,KAAK,EAAE,CAAA;AAC5D,EAAA,OAAA,CAAQ,eAAA,CAAgB,OAAA,CAAQ,WAAA,EAAa,IAAA,EAAM,SAAS,CAAA;AAC5D,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,iBAAA,CAAkB,SAAS,CAAA;AACzD,EAAA,IAAI,CAAC,OAAA,CAAQ,IAAA,CAAK,CAAA,CAAA,KAAK,EAAE,EAAA,KAAO,OAAO,CAAA,EAAG,MAAM,IAAI,QAAA,CAAS,GAAA,EAAK,WAAA,EAAa,CAAA,gCAAA,EAAU,OAAO,CAAA,CAAE,CAAA;AAClG,EAAA,IAAI,6BAAM,MAAA,EAAQ;AAChB,IAAA,MAAM,SAAS,OAAA,CAAQ,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AACjD,IAAA,wBAAA,CAAyB,MAAA,CAAO,OAAA,EAAS,IAAA,CAAK,MAAA,EAAQ,IAAI,CAAA;AAAA,EAC5D;AACA,EAAA,MAAM,QAA+E,EAAC;AACtF,EAAA,IAAI,QAAO,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,IAAA,CAAA,KAAS,QAAA,IAAY,IAAA,CAAK,IAAA,CAAK,IAAA,EAAK,EAAG,KAAA,CAAM,IAAA,GAAO,IAAA,CAAK,IAAA,CAAK,IAAA,EAAK;AACpF,EAAA,IAAA,CAAI,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,WAAU,OAAO,IAAA,CAAK,WAAW,QAAA,EAAU,KAAA,CAAM,SAAS,IAAA,CAAK,MAAA;AACzE,EAAA,IAAA,CAAI,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,aAAY,CAAA,IAAA,CAAK,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,aAAY,CAAA,EAAG,KAAA,CAAM,UAAU,IAAA,CAAK,OAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,MAAM,OAAA,CAAQ,kBAAA,CAAmB,OAAA,EAAS,KAAA,EAAO,EAAE,SAAA,EAAW,EAAA,EAAI,MAAA,EAAQ,MAAA,EAAQ,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,QAAQ,CAAA;AAC9G,EAAA,OAAO,EAAE,OAAA,EAAS,KAAA,CAAM,EAAA,EAAI,IAAA,EAAM,KAAA,CAAM,IAAA,EAAM,OAAA,EAAS,KAAA,CAAM,OAAA,EAAS,IAAA,EAAM,KAAA,CAAM,IAAA,EAAK;AACzF,CAAC,CAAA;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { d as defineApiHandler, f as getRouterParam, g as getWorkshopManager, A as AppError } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser, resolveCallerOrNull } from '../../caller.mjs';
3
+ import { c as channelAgentSummaries } from '../../../../../_/agent-dto.mjs';
3
4
  import 'node:crypto';
4
5
  import 'node:http';
5
6
  import 'node:https';
@@ -25,8 +26,9 @@ import 'node:readline';
25
26
  const index_get = defineApiHandler(async (event) => {
26
27
  const channelId = getRouterParam(event, "id");
27
28
  const manager = getWorkshopManager();
29
+ let user = null;
28
30
  try {
29
- const user = resolveUser(event);
31
+ user = resolveUser(event);
30
32
  manager.getChannelForUser(channelId, user.id);
31
33
  } catch (err) {
32
34
  const caller = resolveCallerOrNull(event);
@@ -34,7 +36,8 @@ const index_get = defineApiHandler(async (event) => {
34
36
  }
35
37
  const channel = (await manager.listChannels()).find((c) => c.id === channelId);
36
38
  if (!channel) throw new AppError(404, "NOT_FOUND", `channel \u4E0D\u5B58\u5728: ${channelId}`);
37
- return manager.listChannelAgents(channelId);
39
+ const includeConfig = Boolean(user && (user.role === "admin" || channel.ownerUserId === user.id));
40
+ return channelAgentSummaries(await manager.listChannelAgents(channelId), { includeConfig });
38
41
  });
39
42
 
40
43
  export { index_get as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.get.mjs","sources":["../../../../../../../../server/api/workshop/channels/[id]/agents/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,UAAU,kBAAA,EAAmB;AAEnC,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,IAAA,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,IAAA,CAAK,EAAE,CAAA;AAAA,EAC9C,SACO,GAAA,EAAK;AACV,IAAA,MAAM,MAAA,GAAS,oBAAoB,KAAK,CAAA;AACxC,IAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,SAAA,KAAc,WAAW,MAAM,GAAA;AAAA,EACvD;AACA,EAAA,MAAM,OAAA,GAAA,CAAW,MAAM,OAAA,CAAQ,YAAA,IAAgB,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,KAAO,SAAS,CAAA;AAC3E,EAAA,IAAI,CAAC,SAAS,MAAM,IAAI,SAAS,GAAA,EAAK,WAAA,EAAa,CAAA,4BAAA,EAAgB,SAAS,CAAA,CAAE,CAAA;AAC9E,EAAA,OAAO,OAAA,CAAQ,kBAAkB,SAAS,CAAA;AAC5C,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"index.get.mjs","sources":["../../../../../../../../server/api/workshop/channels/[id]/agents/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAeA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,UAAU,kBAAA,EAAmB;AAEnC,EAAA,IAAI,IAAA,GAA4C,IAAA;AAChD,EAAA,IAAI;AACF,IAAA,IAAA,GAAO,YAAY,KAAK,CAAA;AACxB,IAAA,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,IAAA,CAAK,EAAE,CAAA;AAAA,EAC9C,SACO,GAAA,EAAK;AACV,IAAA,MAAM,MAAA,GAAS,oBAAoB,KAAK,CAAA;AACxC,IAAA,IAAI,CAAC,MAAA,IAAU,MAAA,CAAO,SAAA,KAAc,WAAW,MAAM,GAAA;AAAA,EACvD;AACA,EAAA,MAAM,OAAA,GAAA,CAAW,MAAM,OAAA,CAAQ,YAAA,IAAgB,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,KAAO,SAAS,CAAA;AAC3E,EAAA,IAAI,CAAC,SAAS,MAAM,IAAI,SAAS,GAAA,EAAK,WAAA,EAAa,CAAA,4BAAA,EAAgB,SAAS,CAAA,CAAE,CAAA;AAC9E,EAAA,MAAM,aAAA,GAAgB,QAAQ,IAAA,KAAS,IAAA,CAAK,SAAS,OAAA,IAAW,OAAA,CAAQ,WAAA,KAAgB,IAAA,CAAK,EAAA,CAAG,CAAA;AAChG,EAAA,OAAO,qBAAA,CAAsB,MAAM,OAAA,CAAQ,iBAAA,CAAkB,SAAS,CAAA,EAAG,EAAE,eAAe,CAAA;AAC5F,CAAC,CAAA;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import { d as defineApiHandler, f as getRouterParam, H as readValidatedBody, I as zValidator, g as getWorkshopManager, A as AppError, aJ as ensureLeadSchedulerLoop } from '../../../../../_/nitro.mjs';
4
+ import { a as assertSpawnConfigAllowed } from '../../../../../_/harness-spawn-policy.mjs';
4
5
  import 'node:crypto';
5
6
  import 'node:http';
6
7
  import 'node:https';
@@ -30,7 +31,7 @@ const createAgentSchema = z.object({
30
31
  config: z.record(z.string(), z.unknown()).optional()
31
32
  });
32
33
  const index_post = defineApiHandler(async (event) => {
33
- var _a;
34
+ var _a, _b;
34
35
  const channelId = getRouterParam(event, "id");
35
36
  const user = resolveUser(event);
36
37
  const body = await readValidatedBody(event, zValidator(createAgentSchema));
@@ -40,6 +41,11 @@ const index_post = defineApiHandler(async (event) => {
40
41
  const ch = manager.getChannelForUser(channelId, user.id);
41
42
  manager.requireWritable(ch.ownerUserId, user, "channel");
42
43
  const role = (_a = body.role) != null ? _a : "worker";
44
+ if (body.harness) assertSpawnConfigAllowed(body.harness, body.config, user);
45
+ else if (body.config) {
46
+ const tplHarness = body.agentId ? (_b = manager.getAgent(body.agentId)) == null ? void 0 : _b.harness : void 0;
47
+ if (tplHarness) assertSpawnConfigAllowed(tplHarness, body.config, user);
48
+ }
43
49
  if (body.agentId) {
44
50
  const tpl = manager.getAgent(body.agentId);
45
51
  if (!tpl) throw new AppError(404, "NOT_FOUND", `Agent \u6A21\u677F\u4E0D\u5B58\u5728: ${body.agentId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.post.mjs","sources":["../../../../../../../../server/api/workshop/channels/[id]/agents/index.post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.post.mjs","sources":["../../../../../../../../server/api/workshop/channels/[id]/agents/index.post.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { d as defineApiHandler, f as getRouterParam, g as getWorkshopManager, aJ as ensureLeadSchedulerLoop } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
+ import { c as channelAgentSummaries } from '../../../../_/agent-dto.mjs';
3
4
  import 'node:crypto';
4
5
  import 'node:http';
5
6
  import 'node:https';
@@ -29,7 +30,8 @@ const index_get = defineApiHandler(async (event) => {
29
30
  manager.getChannelForUser(channelId, user.id);
30
31
  const channel = await manager.getChannel(channelId);
31
32
  ensureLeadSchedulerLoop(manager, channelId);
32
- return channel;
33
+ const includeConfig = user.role === "admin" || channel.ownerUserId === user.id;
34
+ return { ...channel, agents: channelAgentSummaries(channel.agents, { includeConfig }) };
33
35
  });
34
36
 
35
37
  export { index_get as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.get.mjs","sources":["../../../../../../../server/api/workshop/channels/[id]/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,IAAA,CAAK,EAAE,CAAA;AAC5C,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,UAAA,CAAW,SAAS,CAAA;AAElD,EAAA,uBAAA,CAAwB,SAAS,SAAS,CAAA;AAC1C,EAAA,OAAO,OAAA;AACT,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"index.get.mjs","sources":["../../../../../../../server/api/workshop/channels/[id]/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAaA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AAC5C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,OAAA,CAAQ,iBAAA,CAAkB,SAAA,EAAW,IAAA,CAAK,EAAE,CAAA;AAC5C,EAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,UAAA,CAAW,SAAS,CAAA;AAElD,EAAA,uBAAA,CAAwB,SAAS,SAAS,CAAA;AAC1C,EAAA,MAAM,gBAAgB,IAAA,CAAK,IAAA,KAAS,OAAA,IAAW,OAAA,CAAQ,gBAAgB,IAAA,CAAK,EAAA;AAC5E,EAAA,OAAO,EAAE,GAAG,OAAA,EAAS,MAAA,EAAQ,qBAAA,CAAsB,QAAQ,MAAA,EAAQ,EAAE,aAAA,EAAe,CAAA,EAAE;AACxF,CAAC,CAAA;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { resolveUser } from './caller.mjs';
3
3
  import { d as defineApiHandler, H as readValidatedBody, I as zValidator, g as getWorkshopManager, aJ as ensureLeadSchedulerLoop } from '../../../_/nitro.mjs';
4
+ import { a as assertSpawnConfigAllowed } from '../../../_/harness-spawn-policy.mjs';
4
5
  import 'node:crypto';
5
6
  import 'node:http';
6
7
  import 'node:https';
@@ -45,6 +46,7 @@ const createChannelSchema = z.object({
45
46
  const channels_post = defineApiHandler(async (event) => {
46
47
  const user = resolveUser(event);
47
48
  const body = await readValidatedBody(event, zValidator(createChannelSchema));
49
+ if (body.leadAgent) assertSpawnConfigAllowed(body.leadAgent.harness, body.leadAgent.config, user);
48
50
  const manager = getWorkshopManager();
49
51
  const result = await manager.createChannel({
50
52
  name: body.name,
@@ -55,25 +57,25 @@ const channels_post = defineApiHandler(async (event) => {
55
57
  ownerUserId: user.id
56
58
  });
57
59
  if (Array.isArray(body.plugins) && body.plugins.length) {
58
- const { getPluginHost, pluginManifest } = await import('../../../_/nitro.mjs').then(function (n) { return n.dm; });
60
+ const { getPluginHost, pluginManifest } = await import('../../../_/nitro.mjs').then(function (n) { return n.dq; });
59
61
  const registered = new Set(getPluginHost() ? pluginManifest().filter((p) => p.enabled).map((p) => p.name) : []);
60
- const { getChannelPluginsRepo } = await import('../../../_/nitro.mjs').then(function (n) { return n.dB; });
62
+ const { getChannelPluginsRepo } = await import('../../../_/nitro.mjs').then(function (n) { return n.dE; });
61
63
  getChannelPluginsRepo().setMany(
62
64
  result.channelId,
63
65
  body.plugins.filter((p) => p && typeof p.name === "string" && registered.has(p.name))
64
66
  );
65
67
  }
66
68
  if (body.lineId) {
67
- const { requireLineMode } = await import('../../../_/nitro.mjs').then(function (n) { return n.dz; });
68
- const { getDcwLineRepo } = await import('../../../_/nitro.mjs').then(function (n) { return n.du; });
69
+ const { requireLineMode } = await import('../../../_/nitro.mjs').then(function (n) { return n.dC; });
70
+ const { getDcwLineRepo } = await import('../../../_/nitro.mjs').then(function (n) { return n.dx; });
69
71
  if (!getDcwLineRepo().byId(body.lineId)) {
70
- const { AppError, ErrorCodes } = await import('../../../_/nitro.mjs').then(function (n) { return n.dl; });
72
+ const { AppError, ErrorCodes } = await import('../../../_/nitro.mjs').then(function (n) { return n.dp; });
71
73
  throw new AppError(404, ErrorCodes.NOT_FOUND, `\u4EA7\u7EBF\u4E0D\u5B58\u5728: ${body.lineId}`);
72
74
  }
73
75
  requireLineMode(user, body.lineId, "readonly");
74
76
  await manager.bindChannelLine(result.channelId, body.lineId);
75
77
  }
76
- const { ensureStream } = await import('../../../_/nitro.mjs').then(function (n) { return n.dA; });
78
+ const { ensureStream } = await import('../../../_/nitro.mjs').then(function (n) { return n.dD; });
77
79
  ensureStream(manager, result.channelId);
78
80
  if (result.leadAgentId) {
79
81
  ensureLeadSchedulerLoop(manager, result.channelId);
@@ -1 +1 @@
1
- {"version":3,"file":"channels.post.mjs","sources":["../../../../../../server/api/workshop/channels.post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.post.mjs","sources":["../../../../../../server/api/workshop/channels.post.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { createHash } from 'node:crypto';
2
- import { d as defineApiHandler, f as getRouterParam, a2 as getDaqController, A as AppError, a9 as getHeader, C as recordOps, cH as findDaqTemplate, r as readBody, cI as daqObjectKey, cJ as getObjectStore, b9 as getDaqQueue } from '../../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, f as getRouterParam, a2 as getDaqController, A as AppError, b4 as ingestAuthMode, a9 as getHeader, b5 as isWideBackfillWindow, b6 as ingestBackfillWindowMs, C as recordOps, b7 as findDaqTemplate, r as readBody, b8 as ingestTimeVerdict, b9 as ingestFutureSkewMs, ba as getDaqQueue } from '../../../../../_/nitro.mjs';
3
2
  import { resolveUser } from '../../caller.mjs';
3
+ import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
6
6
  import 'node:events';
@@ -22,29 +22,6 @@ import 'node:util';
22
22
  import 'node:v8';
23
23
  import 'node:readline';
24
24
 
25
- const DEFAULT_BACKFILL_MS = 36e5;
26
- const MAX_BACKFILL_MS = 7 * 24 * 36e5;
27
- const WIDE_WINDOW_THRESHOLD_MS = 36e5;
28
- function ingestBackfillWindowMs(env = process.env) {
29
- const rawEnv = env.AW_DAQ_INGEST_BACKFILL_MS;
30
- if (rawEnv === void 0 || String(rawEnv).trim() === "") return DEFAULT_BACKFILL_MS;
31
- const raw = Number(rawEnv);
32
- if (!Number.isFinite(raw) || raw < 0) return DEFAULT_BACKFILL_MS;
33
- return Math.min(raw, MAX_BACKFILL_MS);
34
- }
35
- function isWideBackfillWindow(env = process.env) {
36
- return ingestBackfillWindowMs(env) > WIDE_WINDOW_THRESHOLD_MS;
37
- }
38
- function withinBackfillWindow(atMs, now, windowMs) {
39
- return Number.isFinite(atMs) && Math.abs(atMs - now) <= windowMs;
40
- }
41
- function ingestAuthMode(input) {
42
- if (input.configuredToken) {
43
- return input.providedToken === input.configuredToken ? "token" : "token-mismatch";
44
- }
45
- return "session";
46
- }
47
-
48
25
  const IMAGE_MAX_BYTES = 10 * 1024 * 1024;
49
26
  const VECTOR_MAX_POINTS = 4096;
50
27
  let wideWindowWarned = false;
@@ -68,7 +45,7 @@ function metricsOf(raw) {
68
45
  return out;
69
46
  }
70
47
  const ingest_post = defineApiHandler(async (event) => {
71
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
48
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
72
49
  const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
73
50
  const node = getDaqController().byId(id);
74
51
  if (!node) throw new AppError(404, "NOT_FOUND", `\u6570\u91C7\u8282\u70B9\u4E0D\u5B58\u5728: ${id}`);
@@ -82,7 +59,7 @@ const ingest_post = defineApiHandler(async (event) => {
82
59
  }
83
60
  if (mode === "session") {
84
61
  const user = resolveUser(event);
85
- const { requireLineMode } = await import('../../../../../_/nitro.mjs').then(function (n) { return n.dz; });
62
+ const { requireLineMode } = await import('../../../../../_/nitro.mjs').then(function (n) { return n.dC; });
86
63
  requireLineMode(user, node.lineId, "operate");
87
64
  }
88
65
  if (isWideBackfillWindow() && !wideWindowWarned) {
@@ -113,8 +90,12 @@ const ingest_post = defineApiHandler(async (event) => {
113
90
  const atMs = atRaw ? Date.parse(atRaw) : now;
114
91
  if (!Number.isFinite(atMs)) throw new AppError(400, "VALIDATION_ERROR", `at \u4E0D\u662F\u5408\u6CD5\u65F6\u95F4: ${atRaw}(\u793A\u4F8B 2026-10-19T12:00:00+08:00)`);
115
92
  const windowMs = ingestBackfillWindowMs();
116
- if (!withinBackfillWindow(atMs, now, windowMs)) {
117
- throw new AppError(400, "VALIDATION_ERROR", `at \u8D85\u51FA\u5141\u8BB8\u8303\u56F4(\xB1${Math.round(windowMs / 6e4)} \u5206\u949F),\u8BF7\u68C0\u67E5\u65F6\u533A/\u65F6\u949F\u3002`);
93
+ const verdict = ingestTimeVerdict(atMs, now, windowMs, ingestFutureSkewMs());
94
+ if (verdict === "future") {
95
+ throw new AppError(400, "FUTURE_TIMESTAMP", `at \u8D85\u51FA\u5F53\u524D\u65F6\u95F4\u5141\u8BB8\u7684\u524D\u77BB\u504F\u5DEE(\u6700\u591A ${Math.round(ingestFutureSkewMs() / 1e3)}s);\u8BF7\u6821\u51C6\u4E0A\u6E38\u65F6\u949F\u540E\u91CD\u8BD5\u3002`);
96
+ }
97
+ if (verdict === "out-of-window") {
98
+ throw new AppError(400, "VALIDATION_ERROR", `at \u8D85\u51FA\u5141\u8BB8\u7684\u56DE\u586B\u8303\u56F4(${Math.round(windowMs / 6e4)} \u5206\u949F),\u8BF7\u68C0\u67E5\u65F6\u533A/\u65F6\u949F\u3002`);
118
99
  }
119
100
  const at = new Date(atMs).toISOString();
120
101
  const state = ["ok", "warn", "alarm", "offline"].includes(String((_f = body.state) != null ? _f : "")) ? String(body.state) : "ok";
@@ -134,40 +115,39 @@ const ingest_post = defineApiHandler(async (event) => {
134
115
  }
135
116
  if (buf.length === 0) throw new AppError(400, "VALIDATION_ERROR", "\u56FE\u50CF\u5185\u5BB9\u4E3A\u7A7A\u3002");
136
117
  if (buf.length > IMAGE_MAX_BYTES) throw new AppError(413, "PAYLOAD_TOO_LARGE", `\u56FE\u50CF\u8D85\u8FC7 ${IMAGE_MAX_BYTES / 1024 / 1024}MB \u4E0A\u9650\u3002`);
137
- const objectKey = daqObjectKey(node.id, atMs, mime.includes("jpeg") ? ".jpg" : mime.includes("webp") ? ".webp" : ".png");
138
- await getObjectStore().put(objectKey, buf, mime);
139
- const sha256 = createHash("sha256").update(buf).digest("hex");
140
118
  const width = Number(body.image && typeof body.image === "object" ? body.image.width : NaN);
141
119
  const height = Number(body.image && typeof body.image === "object" ? body.image.height : NaN);
120
+ const processed = await getDaqController().processExternalFrame(node, {
121
+ kind: "image",
122
+ blob: buf,
123
+ mime,
124
+ width: Number.isFinite(width) ? width : void 0,
125
+ height: Number.isFinite(height) ? height : void 0,
126
+ metrics
127
+ }, atMs);
128
+ if (!processed) throw new AppError(400, "VALIDATION_ERROR", "\u56FE\u50CF\u5E27\u88AB sink \u7BA1\u7EBF\u62D2\u7EDD(\u6A21\u677F/\u5904\u7406\u5668\u914D\u7F6E\u4E0D\u652F\u6301\u8BE5\u5E27)\u3002");
142
129
  env = {
143
130
  nodeId: node.id,
144
131
  templateRef: node.templateRef,
145
- value: Number(((_i = metrics.avg) != null ? _i : 0).toFixed(node.decimals)),
132
+ value: Number(((_k = (_j = (_i = processed.frame.metrics) == null ? void 0 : _i.avg) != null ? _j : metrics.avg) != null ? _k : 0).toFixed(node.decimals)),
146
133
  state,
147
134
  at,
148
- frame: {
149
- kind: "image",
150
- objectKey,
151
- mime,
152
- width: Number.isFinite(width) ? width : void 0,
153
- height: Number.isFinite(height) ? height : void 0,
154
- sha256,
155
- size: buf.length,
156
- metrics
157
- }
135
+ frame: processed.frame
158
136
  };
159
137
  } else if (kind === "vector") {
160
- const points = finiteList((_j = body.points) != null ? _j : body.values);
138
+ const points = finiteList((_l = body.points) != null ? _l : body.values);
161
139
  if (!points || points.length === 0) throw new AppError(400, "VALIDATION_ERROR", "\u5411\u91CF\u8282\u70B9\u7684\u8F7D\u8377\u5FC5\u987B\u63D0\u4F9B points \u6570\u7EC4\u3002");
162
140
  if (points.length > VECTOR_MAX_POINTS) throw new AppError(413, "PAYLOAD_TOO_LARGE", `\u5411\u91CF\u70B9\u6570 ${points.length} \u8D85\u8FC7 ${VECTOR_MAX_POINTS} \u4E0A\u9650\u3002`);
163
141
  const avg = points.reduce((a, b) => a + b, 0) / points.length;
142
+ const processed = await getDaqController().processExternalFrame(node, { kind: "vector", points, metrics }, atMs);
143
+ if (!processed) throw new AppError(400, "VALIDATION_ERROR", "\u5411\u91CF\u5E27\u88AB sink \u7BA1\u7EBF\u62D2\u7EDD(\u6A21\u677F/\u5904\u7406\u5668\u914D\u7F6E\u4E0D\u652F\u6301\u8BE5\u5E27)\u3002");
164
144
  env = {
165
145
  nodeId: node.id,
166
146
  templateRef: node.templateRef,
167
- value: Number(((_k = metrics.avg) != null ? _k : avg).toFixed(node.decimals)),
147
+ value: Number(((_o = (_n = (_m = processed.frame.metrics) == null ? void 0 : _m.avg) != null ? _n : metrics.avg) != null ? _o : avg).toFixed(node.decimals)),
168
148
  state,
169
149
  at,
170
- frame: { kind: "vector", points, metrics }
150
+ frame: processed.frame
171
151
  };
172
152
  } else {
173
153
  const value = Number(body.value);
@@ -180,9 +160,9 @@ const ingest_post = defineApiHandler(async (event) => {
180
160
  nodeId: node.id,
181
161
  kind,
182
162
  at,
183
- lineId: (_l = node.lineId) != null ? _l : null,
184
- ...((_m = env.frame) == null ? void 0 : _m.kind) === "image" ? { objectKey: env.frame.objectKey, bytes: env.frame.size } : {},
185
- ...((_n = env.frame) == null ? void 0 : _n.kind) === "vector" ? { points: (_o = env.frame.points) == null ? void 0 : _o.length } : {}
163
+ lineId: (_p = node.lineId) != null ? _p : null,
164
+ ...((_q = env.frame) == null ? void 0 : _q.kind) === "image" ? { objectKey: env.frame.objectKey, bytes: env.frame.size } : {},
165
+ ...((_r = env.frame) == null ? void 0 : _r.kind) === "vector" ? { points: (_s = env.frame.points) == null ? void 0 : _s.length } : {}
186
166
  };
187
167
  });
188
168
 
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.post.mjs","sources":["../../../../../../../../server/services/workshop/daq/ingest-policy.ts","../../../../../../../../server/api/workshop/daq/[id]/ingest.post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.post.mjs","sources":["../../../../../../../../server/api/workshop/daq/[id]/ingest.post.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { d as defineApiHandler, f as getRouterParam, ab as requireLineMode, a2 as getDaqController, l as getQuery, b4 as daqRuntimeSettings } from '../../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, f as getRouterParam, ab as requireLineMode, a2 as getDaqController, l as getQuery, bb as daqRuntimeSettings } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { d as defineApiHandler, ax as broadcastSceneEvent, f as getRouterParam, r as readBody, ab as requireLineMode, a2 as getDaqController, C as recordOps } from '../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, ax as broadcastSceneEvent, f as getRouterParam, r as readBody, ab as requireLineMode, a2 as getDaqController, A as AppError, C as recordOps } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
3
  import { bindDaqHost } from '../../../../_/host-bindings.mjs';
4
4
  import 'node:crypto';
@@ -30,6 +30,11 @@ const _id__patch = defineApiHandler(async (event) => {
30
30
  const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
31
31
  const body = (_b = await readBody(event)) != null ? _b : {};
32
32
  requireLineMode(user, (_c = getDaqController().byId(id)) == null ? void 0 : _c.lineId, "operate");
33
+ const DAQ_ADMIN_ONLY = ["driver", "driverConfig"];
34
+ const denied = DAQ_ADMIN_ONLY.filter((k) => body[k] !== void 0);
35
+ if (denied.length > 0 && user.role !== "admin") {
36
+ throw new AppError(403, "DAQ_CONFIG_ADMIN_ONLY", `\u5B57\u6BB5\u300C${denied.join("/")}\u300D\u51B3\u5B9A\u91C7\u96C6\u843D\u70B9\u4E0E\u534F\u8BAE\u53C2\u6570\uFF0C\u4EC5\u7BA1\u7406\u5458\u53EF\u4FEE\u6539\uFF08\u5F53\u524D\u89D2\u8272 ${user.role}\uFF09\u3002`);
37
+ }
33
38
  const node = getDaqController().patch(id, body);
34
39
  recordOps({
35
40
  actor: user.id,
@@ -1 +1 @@
1
- {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../server/api/workshop/daq/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAYA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAZjD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,WAAA,CAAY,mBAAmB,CAAA;AAC/B,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,MAAM,QAAO,EAAA,GAAA,MAAM,QAAA,CAAwB,KAAK,CAAA,KAAnC,YAAwC,EAAC;AAEtD,EAAA,eAAA,CAAgB,IAAA,EAAA,CAAM,uBAAiB,CAAE,IAAA,CAAK,EAAE,CAAA,KAA1B,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA6B,QAAQ,SAAS,CAAA;AACpE,EAAA,MAAM,IAAA,GAAO,gBAAA,EAAiB,CAAE,KAAA,CAAM,IAAI,IAAI,CAAA;AAC9C,EAAA,SAAA,CAAU;AAAA,IACR,OAAO,IAAA,CAAK,EAAA;AAAA,IACZ,WAAW,IAAA,CAAK,IAAA;AAAA,IAChB,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,gBAAA;AAAA,IACR,IAAA,EAAM,KAAA;AAAA,IACN,UAAA,EAAY,UAAA;AAAA,IACZ,QAAA,EAAU,EAAA;AAAA,IACV,OAAA,EAAS,CAAA,0CAAA,EAAU,IAAA,CAAK,IAAI,CAAA,OAAA,EAAK,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,oBAAK,CAAA,CAAA,CAAA;AAAA,IACrE,MAAA,EAAA,CAAQ,EAAA,GAAA,IAAA,CAAK,MAAA,KAAL,IAAA,GAAA,EAAA,GAAe,EAAA;AAAA,IACvB,QAAQ,EAAE,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAAE,GACnC,CAAA;AACD,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,CAAK,MAAA,EAAO,EAAE;AAC/B,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../server/api/workshop/daq/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAaA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAbjD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAcE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,WAAA,CAAY,mBAAmB,CAAA;AAC/B,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,MAAM,QAAO,EAAA,GAAA,MAAM,QAAA,CAAwB,KAAK,CAAA,KAAnC,YAAwC,EAAC;AAEtD,EAAA,eAAA,CAAgB,IAAA,EAAA,CAAM,uBAAiB,CAAE,IAAA,CAAK,EAAE,CAAA,KAA1B,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA6B,QAAQ,SAAS,CAAA;AAGpE,EAAA,MAAM,cAAA,GAAiB,CAAC,QAAA,EAAU,cAAc,CAAA;AAChD,EAAA,MAAM,SAAS,cAAA,CAAe,MAAA,CAAO,OAAM,IAAA,CAAiC,CAAC,MAAM,KAAA,CAAS,CAAA;AAC5F,EAAA,IAAI,MAAA,CAAO,MAAA,GAAS,CAAA,IAAK,IAAA,CAAK,SAAS,OAAA,EAAS;AAC9C,IAAA,MAAM,IAAI,QAAA,CAAS,GAAA,EAAK,uBAAA,EAAyB,CAAA,kBAAA,EAAM,MAAA,CAAO,IAAA,CAAK,GAAG,CAAC,CAAA,uJAAA,EAA6B,IAAA,CAAK,IAAI,CAAA,YAAA,CAAI,CAAA;AAAA,EACnH;AACA,EAAA,MAAM,IAAA,GAAO,gBAAA,EAAiB,CAAE,KAAA,CAAM,IAAI,IAAI,CAAA;AAC9C,EAAA,SAAA,CAAU;AAAA,IACR,OAAO,IAAA,CAAK,EAAA;AAAA,IACZ,WAAW,IAAA,CAAK,IAAA;AAAA,IAChB,SAAA,EAAW,MAAA;AAAA,IACX,MAAA,EAAQ,gBAAA;AAAA,IACR,IAAA,EAAM,KAAA;AAAA,IACN,UAAA,EAAY,UAAA;AAAA,IACZ,QAAA,EAAU,EAAA;AAAA,IACV,OAAA,EAAS,CAAA,0CAAA,EAAU,IAAA,CAAK,IAAI,CAAA,OAAA,EAAK,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,oBAAK,CAAA,CAAA,CAAA;AAAA,IACrE,MAAA,EAAA,CAAQ,EAAA,GAAA,IAAA,CAAK,MAAA,KAAL,IAAA,GAAA,EAAA,GAAe,EAAA;AAAA,IACvB,QAAQ,EAAE,IAAA,EAAM,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAAE,GACnC,CAAA;AACD,EAAA,OAAO,EAAE,IAAA,EAAM,IAAA,CAAK,MAAA,EAAO,EAAE;AAC/B,CAAC,CAAA;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { d as defineApiHandler, l as getQuery, a2 as getDaqController } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
+ import { f as filterRowsByLine, d as daqNodeLineId } from '../../../../_/line-scope.mjs';
3
4
  import 'node:crypto';
4
5
  import 'node:http';
5
6
  import 'node:https';
@@ -23,11 +24,12 @@ import 'node:v8';
23
24
  import 'node:readline';
24
25
 
25
26
  const alarms_get = defineApiHandler(async (event) => {
26
- resolveUser(event);
27
+ const user = resolveUser(event);
27
28
  const q = getQuery(event);
28
29
  const scope = q.scope === "all" ? "all" : "open";
29
30
  const limit = Math.min(500, Math.max(1, Number(q.limit) || 100));
30
- return { alarms: getDaqController().listAlarms(scope, limit) };
31
+ const alarms = getDaqController().listAlarms(scope, limit);
32
+ return { alarms: filterRowsByLine(user, alarms, (a) => daqNodeLineId(a.nodeId)) };
31
33
  });
32
34
 
33
35
  export { alarms_get as default };
@@ -1 +1 @@
1
- {"version":3,"file":"alarms.get.mjs","sources":["../../../../../../../server/api/workshop/daq/alarms.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,WAAA,CAAY,KAAK,CAAA;AACjB,EAAA,MAAM,CAAA,GAAI,SAAS,KAAK,CAAA;AACxB,EAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,KAAA,KAAU,KAAA,GAAQ,KAAA,GAAQ,MAAA;AAC1C,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,CAAA,CAAE,KAAK,CAAA,IAAK,GAAG,CAAC,CAAA;AAC/D,EAAA,OAAO,EAAE,MAAA,EAAQ,gBAAA,GAAmB,UAAA,CAAW,KAAA,EAAO,KAAK,CAAA,EAAE;AAC/D,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"alarms.get.mjs","sources":["../../../../../../../server/api/workshop/daq/alarms.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,MAAM,CAAA,GAAI,SAAS,KAAK,CAAA;AACxB,EAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,KAAA,KAAU,KAAA,GAAQ,KAAA,GAAQ,MAAA;AAC1C,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,MAAA,CAAO,CAAA,CAAE,KAAK,CAAA,IAAK,GAAG,CAAC,CAAA;AAC/D,EAAA,MAAM,MAAA,GAAS,gBAAA,EAAiB,CAAE,UAAA,CAAW,OAAO,KAAK,CAAA;AACzD,EAAA,OAAO,EAAE,MAAA,EAAQ,gBAAA,CAAiB,IAAA,EAAM,MAAA,EAAQ,OAAK,aAAA,CAAc,CAAA,CAAE,MAAM,CAAC,CAAA,EAAE;AAChF,CAAC,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { d as defineApiHandler, r as readBody, be as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, r as readBody, bl as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,5 +1,5 @@
1
- import { resolveUser } from '../../caller.mjs';
2
- import { d as defineApiHandler, bb as daqInfraStatus, bc as daqInfraConfig } from '../../../../../_/nitro.mjs';
1
+ import { requireRole } from '../../caller.mjs';
2
+ import { d as defineApiHandler, bi as daqInfraStatus, A as AppError, bj as daqInfraConfig } from '../../../../../_/nitro.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -22,14 +22,23 @@ import 'node:util';
22
22
  import 'node:v8';
23
23
  import 'node:readline';
24
24
 
25
+ const g = globalThis;
25
26
  const reconnect_post = defineApiHandler(async (event) => {
26
- resolveUser(event);
27
+ requireRole(event, ["admin", "editor"]);
27
28
  const apply = globalThis.__daqApplyInfra;
28
29
  if (!apply) {
29
30
  return { infra: { ...daqInfraStatus(), warning: "\u542F\u52A8\u63D2\u4EF6\u672A\u5C31\u7EEA,\u7A0D\u540E\u91CD\u8BD5" } };
30
31
  }
31
- await apply(daqInfraConfig());
32
- return { infra: daqInfraStatus() };
32
+ if (g.__daqReconnectInFlight) {
33
+ throw new AppError(409, "RECONNECT_IN_FLIGHT", "\u5DF2\u6709\u4E00\u6B21\u57FA\u7840\u8BBE\u65BD\u91CD\u8FDE\u5728\u6267\u884C,\u8BF7\u7B49\u5F85\u5B8C\u6210\u540E\u518D\u8BD5");
34
+ }
35
+ g.__daqReconnectInFlight = true;
36
+ try {
37
+ await apply(daqInfraConfig());
38
+ return { infra: daqInfraStatus() };
39
+ } finally {
40
+ g.__daqReconnectInFlight = false;
41
+ }
33
42
  });
34
43
 
35
44
  export { reconnect_post as default };
@@ -1 +1 @@
1
- {"version":3,"file":"reconnect.post.mjs","sources":["../../../../../../../../server/api/workshop/daq/infra/reconnect.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOA,uBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,WAAA,CAAY,KAAK,CAAA;AACjB,EAAA,MAAM,QAAS,UAAA,CAAqF,eAAA;AACpG,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAe,EAAG,OAAA,EAAS,uEAAe,EAAE;AAAA,EACnE;AAEA,EAAA,MAAM,KAAA,CAAM,gBAAgB,CAAA;AAC5B,EAAA,OAAO,EAAE,KAAA,EAAO,cAAA,EAAe,EAAE;AACnC,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"reconnect.post.mjs","sources":["../../../../../../../../server/api/workshop/daq/infra/reconnect.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,CAAA,GAAI,UAAA;AAEV,uBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,WAAA,CAAY,KAAA,EAAO,CAAC,OAAA,EAAS,QAAQ,CAAC,CAAA;AACtC,EAAA,MAAM,QAAS,UAAA,CAAqF,eAAA;AACpG,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAe,EAAG,OAAA,EAAS,uEAAe,EAAE;AAAA,EACnE;AACA,EAAA,IAAI,EAAE,sBAAA,EAAwB;AAC5B,IAAA,MAAM,IAAI,QAAA,CAAS,GAAA,EAAK,qBAAA,EAAuB,iIAAwB,CAAA;AAAA,EACzE;AACA,EAAA,CAAA,CAAE,sBAAA,GAAyB,IAAA;AAC3B,EAAA,IAAI;AAEF,IAAA,MAAM,KAAA,CAAM,gBAAgB,CAAA;AAC5B,IAAA,OAAO,EAAE,KAAA,EAAO,cAAA,EAAe,EAAE;AAAA,EACnC,CAAA,SACA;AACE,IAAA,CAAA,CAAE,sBAAA,GAAyB,KAAA;AAAA,EAC7B;AACF,CAAC,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { resolveUser } from '../caller.mjs';
2
- import { d as defineApiHandler, bb as daqInfraStatus } from '../../../../_/nitro.mjs';
2
+ import { d as defineApiHandler, bi as daqInfraStatus } from '../../../../_/nitro.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,4 +1,4 @@
1
- import { d as defineApiHandler, f as getRouterParam, be as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, f as getRouterParam, bl as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { d as defineApiHandler, f as getRouterParam, r as readBody, be as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../../_/nitro.mjs';
1
+ import { d as defineApiHandler, f as getRouterParam, r as readBody, bl as getDaqTemplateRegistry, ax as broadcastSceneEvent } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';