agentworkshop 0.7.71 → 0.8.0

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 (358) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +332 -0
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +332 -0
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/BH8RvpVy.js +1 -0
  5. package/.output/public/_nuxt/Byf4IxU2.js +14 -0
  6. package/.output/public/_nuxt/CxVhG0Xx.js +1 -0
  7. package/.output/public/_nuxt/D0mzKkZr.js +1 -0
  8. package/.output/public/_nuxt/DIFkTkdS.js +1 -0
  9. package/.output/public/_nuxt/DgrK8UCQ.js +0 -0
  10. package/.output/public/_nuxt/builds/latest.json +1 -1
  11. package/.output/public/_nuxt/builds/meta/7a79a7e4-d691-4cf5-ae3a-3b01814479fb.json +1 -0
  12. package/.output/public/_nuxt/{default.BzOcvmSE.css → default.BEXGWZFQ.css} +1 -1
  13. package/.output/public/_nuxt/{entry.CL2i0F8o.css → entry.C7koBPom.css} +1 -1
  14. package/.output/public/_nuxt/ontology.QMGeh66l.css +1 -0
  15. package/.output/server/chunks/_/access.mjs +1 -1
  16. package/.output/server/chunks/_/binding-authz.mjs +1 -1
  17. package/.output/server/chunks/_/catalog-view.mjs +1 -1
  18. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  19. package/.output/server/chunks/_/chart-repo.mjs +1 -1
  20. package/.output/server/chunks/_/dashboard-repo.mjs +1 -1
  21. package/.output/server/chunks/_/data-export.mjs +6 -6
  22. package/.output/server/chunks/_/data-query.mjs +3 -3
  23. package/.output/server/chunks/_/eda-run.repo.mjs +2 -2
  24. package/.output/server/chunks/_/entity.mjs +1 -1
  25. package/.output/server/chunks/_/features.mjs +5 -5
  26. package/.output/server/chunks/_/golden.mjs +3 -3
  27. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  28. package/.output/server/chunks/_/index.mjs +1 -1
  29. package/.output/server/chunks/_/mes-console.mjs +1 -1
  30. package/.output/server/chunks/_/nitro.mjs +5362 -2240
  31. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  32. package/.output/server/chunks/_/ocap.mjs +1 -1
  33. package/.output/server/chunks/_/rest-auth.mjs +1 -1
  34. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  35. package/.output/server/chunks/_/spc.mjs +2 -2
  36. package/.output/server/chunks/build/TownView-BWMDbosY.mjs +1 -1
  37. package/.output/server/chunks/build/api-BEW_ebY_.mjs +64 -0
  38. package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +1 -0
  39. package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1 -1
  40. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +1 -1
  41. package/.output/server/chunks/build/{default-BeB88U7y.mjs → default-CJkOcmrm.mjs} +14 -8
  42. package/.output/server/chunks/build/{default-BeB88U7y.mjs.map → default-CJkOcmrm.mjs.map} +1 -1
  43. package/.output/server/chunks/build/ontology-C3HS5pMo.mjs +977 -0
  44. package/.output/server/chunks/build/ontology-C3HS5pMo.mjs.map +1 -0
  45. package/.output/server/chunks/build/types-D6J7slEa.mjs +6 -2
  46. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +1 -1
  47. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +1 -1
  48. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +1 -1
  49. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +1 -1
  50. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +1 -1
  51. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +1 -1
  52. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +1 -1
  53. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +1 -1
  54. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  55. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +2 -2
  56. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +17 -4
  57. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  58. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  59. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  60. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
  61. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
  62. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  63. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  64. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  65. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
  66. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
  67. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  68. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
  69. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
  70. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
  71. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
  72. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
  73. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
  74. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  75. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  76. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  77. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
  78. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
  79. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
  80. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
  81. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
  82. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
  83. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  84. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  85. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  86. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
  87. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
  88. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  89. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  90. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
  91. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
  92. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
  93. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
  94. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
  95. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
  96. package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +1 -1
  97. package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +1 -1
  98. package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +1 -1
  99. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  100. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
  101. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
  102. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  103. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
  104. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
  105. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
  106. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
  107. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +1 -1
  108. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  109. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  110. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +1 -1
  111. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +1 -1
  112. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +1 -1
  113. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
  114. package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +1 -1
  115. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
  116. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
  117. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
  118. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +7 -7
  119. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  120. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  121. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  123. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +2 -2
  124. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  125. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  126. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  127. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  128. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  129. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
  130. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  131. package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +1 -1
  132. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +1 -1
  133. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  134. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  135. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  136. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  137. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  139. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  141. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  142. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  143. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  144. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  146. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  148. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  149. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  150. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  151. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  152. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  153. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
  154. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  155. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  157. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  165. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +1 -1
  166. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -1
  167. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +1 -1
  173. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
  174. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  175. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  176. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  177. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  178. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  191. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  208. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/index.mjs +62 -0
  211. package/.output/server/chunks/routes/api/workshop/index.mjs.map +1 -0
  212. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  213. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +54 -0
  228. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs.map +1 -0
  229. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +51 -0
  230. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs.map +1 -0
  231. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +67 -0
  232. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs.map +1 -0
  233. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +49 -0
  234. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs.map +1 -0
  235. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +35 -0
  236. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs.map +1 -0
  237. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +49 -0
  238. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs.map +1 -0
  239. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +35 -0
  240. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs.map +1 -0
  241. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +70 -0
  242. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs.map +1 -0
  243. package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +64 -0
  244. package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs.map +1 -0
  245. package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +44 -0
  246. package/.output/server/chunks/routes/api/workshop/ontology/index.mjs.map +1 -0
  247. package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +36 -0
  248. package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs.map +1 -0
  249. package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +38 -0
  250. package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs.map +1 -0
  251. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +40 -0
  252. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs.map +1 -0
  253. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +63 -0
  254. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs.map +1 -0
  255. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +1 -1
  256. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +1 -1
  257. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +1 -1
  258. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +1 -1
  259. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +1 -1
  260. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +1 -1
  261. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +1 -1
  262. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +1 -1
  263. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  264. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  265. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +1 -1
  266. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +1 -1
  267. package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +1 -1
  268. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +1 -1
  269. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +1 -1
  270. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +1 -1
  271. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  272. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  273. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  274. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
  275. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
  276. package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +1 -1
  277. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +1 -1
  278. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  279. package/.output/server/chunks/routes/renderer.mjs +2 -2
  280. package/.output/server/chunks/virtual/entry.mjs +234 -3
  281. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  282. package/.output/server/package.json +1 -1
  283. package/README-zh.md +27 -6
  284. package/README.md +25 -4
  285. package/app/components/AppSidebar.vue +1 -0
  286. package/app/pages/ontology/api.ts +18 -0
  287. package/app/pages/ontology/index.vue +779 -0
  288. package/app/pages/ontology/types.ts +122 -0
  289. package/config.yml +1 -1
  290. package/docs/cli.en.md +2 -2
  291. package/docs/cli.md +2 -2
  292. package/docs/plugins.en.md +1 -1
  293. package/docs/plugins.md +1 -1
  294. package/docs/sdk.en.md +1 -1
  295. package/docs/sdk.md +1 -1
  296. package/i18n/locales/en.ts +58 -0
  297. package/i18n/locales/zh-CN.ts +58 -0
  298. package/mcp/aw-mcp-server.mjs +35 -1
  299. package/package.json +1 -1
  300. package/scripts/docs-shots.mjs +36 -0
  301. package/scripts/e2e-model-loop-live.mjs +731 -0
  302. package/scripts/e2e-ontology-live.mjs +774 -0
  303. package/scripts/e2e-ontology.mjs +328 -0
  304. package/scripts/ontology-idd-rag-e2e.mjs +449 -0
  305. package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +16 -0
  306. package/server/api/workshop/ontology/drafts/[draftId]/compile.ts +39 -0
  307. package/server/api/workshop/ontology/drafts/[draftId]/evidence.ts +33 -0
  308. package/server/api/workshop/ontology/drafts/[draftId]/publish.ts +44 -0
  309. package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/approval-decision.ts +28 -0
  310. package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/approval.ts +17 -0
  311. package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/transition.ts +32 -0
  312. package/server/api/workshop/ontology/drafts/[draftId]/validate.ts +16 -0
  313. package/server/api/workshop/ontology/drafts/[draftId].ts +52 -0
  314. package/server/api/workshop/ontology/drafts/index.ts +20 -0
  315. package/server/api/workshop/ontology/export/[ontologyId].ts +50 -0
  316. package/server/api/workshop/ontology/index.ts +38 -0
  317. package/server/api/workshop/ontology/scene.ts +21 -0
  318. package/server/api/workshop/ontology/traces/[ontologyId].ts +19 -0
  319. package/server/api/workshop/ontology/versions/[ontologyId]/compare.ts +21 -0
  320. package/server/api/workshop/ontology/versions/[ontologyId].ts +42 -0
  321. package/server/services/workshop/agents/hitl-decision/dispatcher.ts +15 -0
  322. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +13 -1
  323. package/server/services/workshop/agents/industrial/grant-guard.ts +59 -0
  324. package/server/services/workshop/agents/industrial/index.ts +38 -32
  325. package/server/services/workshop/agents/industrial/ontology-tools.ts +320 -0
  326. package/server/services/workshop/agents/industrial/optimizer-tools.ts +79 -0
  327. package/server/services/workshop/agents/industrial/tool-verify.ts +32 -2
  328. package/server/services/workshop/agents/tool-reference-spec.ts +1 -1
  329. package/server/services/workshop/aml/twin/physics-spec.ts +6 -22
  330. package/server/services/workshop/daq/storage/index.ts +6 -5
  331. package/server/services/workshop/daq/storage/sqlite.adapter.ts +25 -13
  332. package/server/services/workshop/db/database/open.ts +2 -0
  333. package/server/services/workshop/db/database/schema.ts +155 -1
  334. package/server/services/workshop/ontology/compiler.ts +474 -0
  335. package/server/services/workshop/ontology/contracts.ts +441 -0
  336. package/server/services/workshop/ontology/guards.ts +139 -0
  337. package/server/services/workshop/ontology/index.ts +10 -0
  338. package/server/services/workshop/ontology/ontology.service.ts +892 -0
  339. package/server/services/workshop/ontology/repo.ts +449 -0
  340. package/server/services/workshop/ontology/semantic-binding.service.ts +226 -0
  341. package/server/services/workshop/ontology/validator.ts +218 -0
  342. package/server/services/workshop/optimization/binding.repo.ts +7 -0
  343. package/server/services/workshop/optimization/contracts.ts +14 -0
  344. package/server/services/workshop/optimization/dispatch.service.ts +16 -0
  345. package/server/services/workshop/optimization/profile-adopt.service.ts +256 -0
  346. package/server/services/workshop/optimization/profile.repo.ts +19 -3
  347. package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
  348. package/shared/dimensions.ts +124 -0
  349. package/.output/public/_nuxt/B7s2qeyT.js +0 -14
  350. package/.output/public/_nuxt/LHIav-Kv.js +0 -1
  351. package/.output/public/_nuxt/RuMLNeQE.js +0 -1
  352. package/.output/public/_nuxt/builds/meta/0ae8cb0f-6ce5-4096-9692-9b1fc197b30d.json +0 -1
  353. /package/.output/public/_nuxt/{62J4vljm2.js → 62J4vljm.js} +0 -0
  354. /package/.output/public/_nuxt/{BO0BJx3w.js → BO0BJx3w2.js} +0 -0
  355. /package/.output/public/_nuxt/{C-MY-JQE2.js → C-MY-JQE.js} +0 -0
  356. /package/.output/public/_nuxt/{D5kCimyw.js → D5kCimyw2.js} +0 -0
  357. /package/.output/public/_nuxt/{DGrrucbG2.js → DGrrucbG.js} +0 -0
  358. /package/.output/public/_nuxt/{Y4sMSPrS.js → Y4sMSPrS2.js} +0 -0
@@ -0,0 +1,122 @@
1
+ /** 本体管理台类型(与服务端 contracts 对齐的最小子集)。 */
2
+
3
+ export interface OntologySummary {
4
+ id: string
5
+ lineId: string
6
+ versions: number
7
+ latest: number
8
+ status: string
9
+ }
10
+
11
+ export interface DraftSummary {
12
+ id: string
13
+ ontologyId: string
14
+ baseVersion: number | null
15
+ rev: number
16
+ ownerUserId: string
17
+ updatedAt: string
18
+ }
19
+
20
+ export interface OntologyEntityDto {
21
+ key: string
22
+ kind: string
23
+ name: string
24
+ description: string
25
+ unit: string
26
+ dimension: string
27
+ role?: string
28
+ }
29
+
30
+ export interface OntologyRelationDto {
31
+ id: string
32
+ kind: string
33
+ srcKey: string
34
+ dstKey: string
35
+ status: string
36
+ properties: { evidenceTier: string, sign?: string, lagMs?: number }
37
+ }
38
+
39
+ export interface OntologyRuleDto {
40
+ id: string
41
+ key: string
42
+ kind: string
43
+ dsl: Record<string, unknown>
44
+ constraintLevel: string
45
+ severity: string
46
+ status: string
47
+ description: string
48
+ evidence: Array<{ level: string, source: { type: string } }>
49
+ }
50
+
51
+ export interface BindingDto {
52
+ id: string
53
+ entityKey: string
54
+ platformKind: string
55
+ platformId: string
56
+ targetSub: string
57
+ direction: string
58
+ unitDeclared: string
59
+ unitTarget: string
60
+ }
61
+
62
+ export interface OntologyDocDto {
63
+ schemaVersion: number
64
+ name: string
65
+ lineId: string
66
+ entities: OntologyEntityDto[]
67
+ relations: OntologyRelationDto[]
68
+ rules: OntologyRuleDto[]
69
+ bindings: BindingDto[]
70
+ note: string
71
+ }
72
+
73
+ export interface IssueDto { code: string, path: string, message: string, severity: string, ruleId?: string, hint?: string }
74
+
75
+ export interface DraftDetailDto {
76
+ draft: DraftSummary
77
+ doc: OntologyDocDto
78
+ validation: { ok: boolean, issues: IssueDto[], stats: Record<string, unknown> }
79
+ bindings: { ok: boolean, failures: Array<{ bindingId: string, code: string, message: string }> }
80
+ }
81
+
82
+ export interface CompileDto {
83
+ status: string
84
+ contentHash: string
85
+ packHash: string
86
+ rulePackHash: string
87
+ counts: { compiled: number, guard: number, explained: number, rejected: number }
88
+ artifacts: {
89
+ problemIr: { mvBounds: Record<string, unknown>, cvBounds: Record<string, unknown>, softRegularization: unknown[] }
90
+ controlGuard: { guards: Array<{ id: string, ruleId: string, onViolate: string, message: string }> }
91
+ processModel: { featureCandidates: unknown[], delayPriors: unknown[] }
92
+ sceneContract: { variables: unknown[], constraints: unknown[], inferredRelations: unknown[] }
93
+ }
94
+ traces: Array<{ ruleId: string, decision: string, decisionCode: string, message: string, evidenceLevel: string }>
95
+ issues: IssueDto[]
96
+ }
97
+
98
+ export interface VersionDto {
99
+ version: number
100
+ status: string
101
+ name: string
102
+ lineId: string
103
+ parentVersion: number | null
104
+ contentHash: string
105
+ publishedBy: string
106
+ createdAt: string
107
+ compiled?: { packHash?: string, counts?: { compiled?: number, guard?: number, rejected?: number } }
108
+ }
109
+
110
+ export interface VersionDiffDto {
111
+ from: number
112
+ to: number
113
+ entities: { added: string[], removed: string[], changed: string[] }
114
+ relations: { added: string[], removed: string[], changed: string[] }
115
+ rules: { added: string[], removed: string[], changed: string[] }
116
+ bindings: { added: string[], removed: string[], changed: string[] }
117
+ }
118
+
119
+ export interface OverviewDto {
120
+ ontologies: OntologySummary[]
121
+ drafts: DraftSummary[]
122
+ }
package/config.yml CHANGED
@@ -12,7 +12,7 @@
12
12
  app:
13
13
  name: AgentWorkShop
14
14
  title: AgentWorkShop
15
- version: 0.7.71
15
+ version: 0.8.0
16
16
  description: 基于 Nuxt 4 的配置驱动运行范式
17
17
 
18
18
  # 运行模式(dev/prod 实际由启动命令决定,此处仅作运行时展示)
package/docs/cli.en.md CHANGED
@@ -62,7 +62,7 @@ pnpm tui # the terminal workbench
62
62
  ### 3. Quick use via npx (no global install)
63
63
 
64
64
  ```bash
65
- npx agentworkshop start # fetch and start (pin a version with: npx agentworkshop@0.7.71 start)
65
+ npx agentworkshop start # fetch and start (pin a version with: npx agentworkshop@0.8.0 start)
66
66
  npx agentworkshop doctor # subcommands work as usual
67
67
  npx -p agentworkshop aw doctor # use -p when you want the name aw
68
68
  ```
@@ -79,7 +79,7 @@ npx -p agentworkshop aw doctor # use -p when you want the name aw
79
79
  | Package manager | `pnpm@11.9.0` (`packageManager`, needed only for source development) |
80
80
  | Module format | ESM (`type: module`) |
81
81
  | License | `Apache-2.0` |
82
- | Current version | `0.7.71` (`package.json`) |
82
+ | Current version | `0.8.0` (`package.json`) |
83
83
 
84
84
  ## 2. First start (the Claude Code experience)
85
85
 
package/docs/cli.md CHANGED
@@ -60,7 +60,7 @@ pnpm tui # 终端工作台
60
60
  ### 3. npx 快速使用(免全局安装)
61
61
 
62
62
  ```bash
63
- npx agentworkshop start # 拉取并启动(可锁定版本: npx agentworkshop@0.7.71 start)
63
+ npx agentworkshop start # 拉取并启动(可锁定版本: npx agentworkshop@0.8.0 start)
64
64
  npx agentworkshop doctor # 子命令照常可用
65
65
  npx -p agentworkshop aw doctor # 需要 aw 这个名字时用 -p 指定包
66
66
  ```
@@ -76,7 +76,7 @@ npx -p agentworkshop aw doctor # 需要 aw 这个名字时用 -p 指定包
76
76
  | 包管理器 | `pnpm@11.9.0`(`packageManager`,仅源码开发需要) |
77
77
  | 模块形态 | ESM(`type: module`) |
78
78
  | 许可证 | `Apache-2.0` |
79
- | 当前版本 | `0.7.71`(`package.json`) |
79
+ | 当前版本 | `0.8.0`(`package.json`) |
80
80
 
81
81
  ## 二、首次启动(Claude Code 式)
82
82
 
@@ -9,7 +9,7 @@
9
9
  >
10
10
  > Applies to: plugin system v2 has been available since **v0.7.29** (frontend component
11
11
  > injection / plugin settings / plugin i18n / runtime services surface); this document
12
- > describes **v0.7.71**. `ctx.sdkVersion` is currently `0.3.0`.
12
+ > describes **v0.8.0**. `ctx.sdkVersion` is currently `0.3.0`.
13
13
 
14
14
  ## 1. Folder layout & quick start
15
15
 
package/docs/plugins.md CHANGED
@@ -6,7 +6,7 @@
6
6
  > 本文是唯一权威参考;`docs/site/plugins/` 的分页文档与本文同源。
7
7
  >
8
8
  > 适用版本:插件系统 v2 自 **v0.7.29** 起可用(前端组件注入 / 插件设置 / 插件 i18n /
9
- > 运行时服务面);本文档对应当前版本 **v0.7.71**。`ctx.sdkVersion` 当前为 `0.3.0`。
9
+ > 运行时服务面);本文档对应当前版本 **v0.8.0**。`ctx.sdkVersion` 当前为 `0.3.0`。
10
10
 
11
11
  ## 一、目录结构与快速开始
12
12
 
package/docs/sdk.en.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  **SDK version constants**: server-side `SDK_VERSION = '0.3.0'`, browser-side `CLIENT_SDK_VERSION = '0.3.0'`.
9
9
  These two constants are the **interface version of the SDK itself** and evolve **independently**
10
- from the npm package version (the `version` field in `package.json`, currently 0.7.71) —
10
+ from the npm package version (the `version` field in `package.json`, currently 0.8.0) —
11
11
  them being out of sync is expected. Never use `SDK_VERSION` to infer the package version, or the reverse.
12
12
  **Module format**: ESM only (only `import` / `export`; there is no CJS entry).
13
13
  **Types**: `sdk/index.d.mts` and `sdk/client.d.mts` ship with the package, so TypeScript projects
package/docs/sdk.md CHANGED
@@ -5,7 +5,7 @@
5
5
  > 零第三方运行时依赖,Node ≥ 23.4 与现代浏览器双端可用。
6
6
 
7
7
  **SDK 版本常量**:服务端 `SDK_VERSION = '0.3.0'`,浏览器端 `CLIENT_SDK_VERSION = '0.3.0'`。
8
- 这两个常量是 **SDK 自身接口的版本号**,与 npm 包版本(`package.json` 的 `version`,当前 0.7.71)
8
+ 这两个常量是 **SDK 自身接口的版本号**,与 npm 包版本(`package.json` 的 `version`,当前 0.8.0)
9
9
  **各自独立演进** —— 常数不同步是预期行为,不要拿 `SDK_VERSION` 去推断包版本,反之亦然。
10
10
  **模块形态**:ESM only(只有 `import` / `export`,没有 CJS 入口)。
11
11
  **类型**:`sdk/index.d.mts`、`sdk/client.d.mts` 随包发布,TS 项目零配置获得提示(覆盖范围见 §7)。
@@ -27,6 +27,7 @@ export default {
27
27
  ops: 'Operations',
28
28
  system: 'System',
29
29
  },
30
+ ontology: 'Ontology Model',
30
31
  dashboard: 'Dashboard',
31
32
  workshop: 'Agent Harness',
32
33
  town: 'Digital Twin',
@@ -1678,6 +1679,63 @@ export default {
1678
1679
  kcjqcaw012: 'Drop or pick a device model file first (.glb/.gltf/.obj/.fbx)',
1679
1680
  k8n918k013: 'Model file deleted',
1680
1681
  },
1682
+ ontology: {
1683
+ kicker: 'Industrial Semantic Assets',
1684
+ title: 'Ontology Model',
1685
+ subtitle: 'Build and govern a control-oriented ontology: entities, relations, constraint rules and semantic bindings; the compiler emits traceable bounds, rate limits and runtime guards, published as immutable versions.',
1686
+ refresh: 'Refresh',
1687
+ newDraft: 'New draft',
1688
+ pickDraft: 'Select draft',
1689
+ validate: 'Validate',
1690
+ compile: 'Compile preview',
1691
+ publish: 'Publish version',
1692
+ publishHint: 'Publish is admin-only; unapproved rules cannot enter control constraints',
1693
+ loadFail: 'Failed to load ontology list',
1694
+ loadDraftFail: 'Failed to load draft',
1695
+ loadVersionsFail: 'Failed to load versions',
1696
+ draftCreated: 'Draft {id} created',
1697
+ draftCreateFail: 'Failed to create draft',
1698
+ validateOk: 'Validation passed',
1699
+ validateFail: 'Validation failed',
1700
+ compileOk: 'Compiled: {status}',
1701
+ compileFail: 'Compile failed',
1702
+ publishOk: 'Published v{version}',
1703
+ publishFail: 'Publish failed',
1704
+ ruleTransitionOk: 'Rule {rule} → {to}',
1705
+ ruleTransitionFail: 'Rule transition failed',
1706
+ approvalRequested: 'Approval {id} created (needs a second person)',
1707
+ approvalDecided: 'Approval granted',
1708
+ approvalFail: 'Approval flow failed',
1709
+ compareFail: 'Version compare failed',
1710
+ retireOk: 'Retired v{version}',
1711
+ retireFail: 'Retire failed',
1712
+ compileEmpty: 'Click “Compile preview” in the toolbar first',
1713
+ global: 'Global ontology',
1714
+ empty: {
1715
+ ontologies: ' No ontologies yet: create a draft and publish the first version.',
1716
+ issues: ' No validation issues in the current draft.',
1717
+ },
1718
+ noEvidence: 'no evidence',
1719
+ from: 'From version',
1720
+ to: 'To version',
1721
+ compare: 'Compare',
1722
+ tab: { overview: 'Overview', graph: 'Entities & relations', rules: 'Constraint rules', bindings: 'Semantic bindings', versions: 'Versions & release', compile: 'Compile preview' },
1723
+ section: {
1724
+ ontologies: 'Ontologies', issues: 'Validation issues', entities: 'Entities', relations: 'Relations',
1725
+ bindingFailures: 'Binding failures', artifacts: 'Compiled artifacts', ruleTrace: 'Rule trace',
1726
+ },
1727
+ stat: { ontologies: 'Ontologies', drafts: 'Drafts', entities: 'Entities', rules: 'Rules', bindings: 'Bindings' },
1728
+ col: {
1729
+ kind: 'Kind', name: 'Name', role: 'Role', unit: 'Unit', predicate: 'Predicate',
1730
+ evidenceTier: 'Evidence tier', ruleKind: 'Rule kind', level: 'Level', status: 'Status',
1731
+ evidence: 'Evidence', action: 'Action', entity: 'Entity', target: 'Target channel', direction: 'Direction',
1732
+ unitPair: 'Units (declared→target)', version: 'Version', line: 'Line', parent: 'Parent',
1733
+ createdAt: 'Created at', decision: 'Decision', code: 'Decision code', message: 'Message',
1734
+ },
1735
+ action: { review: 'Submit review', validate: 'Mark validated', approve: 'Request approval', retire: 'Retire' },
1736
+ prompt: { ontologyId: 'Ontology id (e.g. ont-pva-line01)', lineId: 'Anchor line id (optional)', approvalId: 'Approval id (empty = request only)' },
1737
+ diff: { entities: 'Entities', relations: 'Relations', rules: 'Rules', bindings: 'Bindings', rulesChanged: 'Changed rules' },
1738
+ },
1681
1739
  toolsPage: {
1682
1740
  title: 'Tools',
1683
1741
  subtitle: 'A unified catalog of built-in and plugin-registered tools: source, roles, availability, parameter schema, and which Channels disabled them.',
@@ -27,6 +27,7 @@ export default {
27
27
  ops: '运维',
28
28
  system: '系统',
29
29
  },
30
+ ontology: '本体模型',
30
31
  dashboard: '仪表盘',
31
32
  workshop: 'Agent 工作台',
32
33
  town: '数字孪生',
@@ -1678,6 +1679,63 @@ export default {
1678
1679
  kcjqcaw012: '请先拖入或选择设备模型文件(.glb/.gltf/.obj/.fbx)',
1679
1680
  k8n918k013: '已删除模型文件',
1680
1681
  },
1682
+ ontology: {
1683
+ kicker: '工业语义资产',
1684
+ title: '本体模型',
1685
+ subtitle: '构建与治理面向控制的本体:实体、关系、约束规则与语义绑定;经编译器生成可追溯的问题界、步限与运行时守卫,发布为不可变版本。',
1686
+ refresh: '刷新',
1687
+ newDraft: '新建草稿',
1688
+ pickDraft: '选择草稿',
1689
+ validate: '校验',
1690
+ compile: '编译预览',
1691
+ publish: '发布版本',
1692
+ publishHint: '发布仅管理员;未获批规则不得进入控制约束',
1693
+ loadFail: '加载本体清单失败',
1694
+ loadDraftFail: '加载草稿失败',
1695
+ loadVersionsFail: '加载版本失败',
1696
+ draftCreated: '已创建草稿 {id}',
1697
+ draftCreateFail: '创建草稿失败',
1698
+ validateOk: '校验通过',
1699
+ validateFail: '校验未通过',
1700
+ compileOk: '编译完成:{status}',
1701
+ compileFail: '编译失败',
1702
+ publishOk: '已发布 v{version}',
1703
+ publishFail: '发布失败',
1704
+ ruleTransitionOk: '规则 {rule} → {to}',
1705
+ ruleTransitionFail: '规则状态迁移失败',
1706
+ approvalRequested: '已生成审批单 {id}(需第二人裁决)',
1707
+ approvalDecided: '已裁决通过',
1708
+ approvalFail: '批准流程失败',
1709
+ compareFail: '版本比较失败',
1710
+ retireOk: '已退役 v{version}',
1711
+ retireFail: '退役失败',
1712
+ compileEmpty: '先在工具栏点「编译预览」',
1713
+ global: '全局本体',
1714
+ empty: {
1715
+ ontologies: ' 本体清单为空:先新建草稿并发布首个版本。',
1716
+ issues: ' 当前草稿没有校验问题。',
1717
+ },
1718
+ noEvidence: '无证据',
1719
+ from: '起始版本',
1720
+ to: '目标版本',
1721
+ compare: '比较',
1722
+ tab: { overview: '总览', graph: '实体与关系', rules: '约束规则', bindings: '语义绑定', versions: '版本与发布', compile: '编译预览' },
1723
+ section: {
1724
+ ontologies: '本体清单', issues: '校验问题', entities: '实体', relations: '关系',
1725
+ bindingFailures: '绑定校验失败', artifacts: '四类编译产物', ruleTrace: '规则溯源',
1726
+ },
1727
+ stat: { ontologies: '本体', drafts: '草稿', entities: '实体', rules: '规则', bindings: '绑定' },
1728
+ col: {
1729
+ kind: '类型', name: '名称', role: '角色', unit: '单位', predicate: '关系',
1730
+ evidenceTier: '证据档', ruleKind: '规则类型', level: '约束级别', status: '状态',
1731
+ evidence: '证据', action: '操作', entity: '实体', target: '目标通道', direction: '方向',
1732
+ unitPair: '单位(声明→目标)', version: '版本', line: '产线', parent: '父版本',
1733
+ createdAt: '创建时间', decision: '决策', code: '决策码', message: '说明',
1734
+ },
1735
+ action: { review: '提交审查', validate: '登记为已验证', approve: '申请批准', retire: '退役' },
1736
+ prompt: { ontologyId: '本体 id(形如 ont-pva-line01)', lineId: '授权锚定产线 id(可留空)', approvalId: '审批单 id(留空=仅生成不裁决)' },
1737
+ diff: { entities: '实体', relations: '关系', rules: '规则', bindings: '绑定', rulesChanged: '变更的规则' },
1738
+ },
1681
1739
  toolsPage: {
1682
1740
  title: '工具管理',
1683
1741
  subtitle: '内置工具与插件注册工具的统一目录:来源、角色、可用性、参数 Schema,以及被哪些 Channel 停用。',
@@ -198,7 +198,7 @@ function omit(obj, ...keys) {
198
198
  }
199
199
 
200
200
  /**
201
- * 工具面(35 个)—— 按三个 skill 的标准流程分组:
201
+ * 工具面(41 个)—— 按三个 skill 的标准流程分组:
202
202
  * 连接:aw_status / aw_login
203
203
  * 节点绑定:aw_line_* / aw_product_create / aw_recipe_create / aw_dcw_* / aw_param_* / aw_daq_*
204
204
  * 优化 channel:aw_channel_* / aw_team_provision / aw_agent_tool_* / aw_twin_profile_* / aw_task_* / aw_model_* / aw_optimization_judge
@@ -665,6 +665,40 @@ export function buildToolDefs() {
665
665
  },
666
666
  },
667
667
 
668
+ // ── 工业本体(ONT;只读三件)──
669
+ // 写面(起草/编译预览/发布提议)刻意不暴露在本面:本面是用户身份的 REST 投影,
670
+ // 没有 channel 上下文,治理(引用面/收权即失活/HITL)不生效。写路径请用频道 Agent
671
+ // 工具桥(host 面 8 工具)或 aw_agent_tool_invoke。
672
+ {
673
+ name: 'ontology_scene_inspect',
674
+ description: '只读查询某产线的已发布工业本体:实体/语义绑定/已验证影响关系/约束规则编译决策/运行时守卫。用于确认变量语义、单位、受哪条规则限制及其来源版本。',
675
+ inputSchema: obj({
676
+ lineId: s('产线 id(必填)'),
677
+ limit: s('每页实体数(1-200,缺省 50)', 'number'),
678
+ }, ['lineId']),
679
+ run: rest('GET', args => `/api/workshop/ontology/scene${queryOf({ lineId: args.lineId, limit: args.limit })}`),
680
+ },
681
+ {
682
+ name: 'ontology_rule_explain',
683
+ description: '只读解释一条本体规则的来源与编译决策(DSL/证据级别/生命周期/decision 与 decisionCode/落到哪类产物/适用配方与工况)。用于回答「为什么这条建议受限制」。',
684
+ inputSchema: obj({
685
+ ontologyId: s('本体 id(必填)'),
686
+ ruleId: s('规则 id 或 key(必填)'),
687
+ version: s('本体版本号(缺省=最近版本)', 'number'),
688
+ }, ['ontologyId', 'ruleId']),
689
+ run: rest('GET', args => `/api/workshop/ontology/traces/${encodeURIComponent(args.ontologyId)}${queryOf({ ruleId: args.ruleId, version: args.version })}`),
690
+ },
691
+ {
692
+ name: 'ontology_version_compare',
693
+ description: '只读比较本体两个已发布版本的差异(实体/关系/规则/绑定四段:新增/删除/变更)。用于回答「这份本体改了什么、为什么控制行为变了」。',
694
+ inputSchema: obj({
695
+ ontologyId: s('本体 id(必填)'),
696
+ from: s('起始版本号', 'number'),
697
+ to: s('目标版本号', 'number'),
698
+ }, ['ontologyId', 'from', 'to']),
699
+ run: rest('GET', args => `/api/workshop/ontology/versions/${encodeURIComponent(args.ontologyId)}/compare${queryOf({ from: args.from, to: args.to })}`),
700
+ },
701
+
668
702
  // ── 逃生舱 ──
669
703
  {
670
704
  name: 'aw_request',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentworkshop",
3
- "version": "0.7.71",
3
+ "version": "0.8.0",
4
4
  "type": "module",
5
5
  "description": "AgentWorkShop 软件开发系统 - 基于 Nuxt 4 的配置驱动运行范式",
6
6
  "license": "Apache-2.0",
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 文档站渲染取证(一次性):首页 zh/en + 本体指南页截图。
3
+ * 用法: node scripts/docs-shots.mjs <baseUrl> <outDir>
4
+ */
5
+ import { mkdirSync } from 'node:fs'
6
+ import { join, resolve } from 'node:path'
7
+
8
+ const BASE = process.argv[2] || 'http://127.0.0.1:4173/AgentWorkShop'
9
+ const OUT = process.argv[3] || resolve('docs/audit/evidence/2026-10-24-idd-rag-ontology/docs-shots')
10
+ mkdirSync(OUT, { recursive: true })
11
+
12
+ const { launch, openPage } = await import('./ui/lib.mjs')
13
+ process.env.AW_BASE = BASE
14
+ const browser = await launch({ width: 1500, height: 1000 })
15
+ try {
16
+ const page = await openPage(browser, { width: 1500, height: 1000, deviceScaleFactor: 1 })
17
+ const errors = []
18
+ page.on('pageerror', e => errors.push(String(e.message).slice(0, 200)))
19
+ const pages = [
20
+ ['/', 'docs-home-zh'],
21
+ ['/en/', 'docs-home-en'],
22
+ ['/guide/ontology.html', 'docs-ontology-zh'],
23
+ ['/en/guide/ontology.html', 'docs-ontology-en'],
24
+ ]
25
+ for (const [path, name] of pages) {
26
+ await page.goto(BASE + path, { waitUntil: 'networkidle0', timeout: 60000 })
27
+ await new Promise(r => setTimeout(r, 1200))
28
+ await page.screenshot({ path: join(OUT, `${name}.png`), fullPage: true })
29
+ const len = await page.evaluate(() => document.body.innerText.length)
30
+ console.log(`${name}: len=${len} errors=${errors.length}`)
31
+ }
32
+ if (errors.length) console.log('PAGE ERRORS:', errors.slice(0, 3).join('; '))
33
+ }
34
+ finally {
35
+ await browser.close().catch(() => {})
36
+ }