agentworkshop 0.7.15 → 0.7.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.AgentWorkShop/prompts/host-tools.json +924 -755
- package/.output/.AgentWorkShop/prompts/host-tools.json +924 -755
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DMdVWIGz.js → B-E8fXAO.js} +1 -1
- package/.output/public/_nuxt/{DyisHHzD.js → BA3XzwiD.js} +1 -1
- package/.output/public/_nuxt/{CD1SlCoI.js → BJem8_v5.js} +4 -4
- package/.output/public/_nuxt/{6vYobj4F.js → BWC4HQHQ.js} +1 -1
- package/.output/public/_nuxt/{kkEthL84.js → Ba7YofCb.js} +1 -1
- package/.output/public/_nuxt/{DGVAuScD.js → C_2bTK0C.js} +1 -1
- package/.output/public/_nuxt/{B53Mp7lD.js → CgT5wMfz.js} +1 -1
- package/.output/public/_nuxt/{DT-Wg8r1.js → D4CLp1hc.js} +1 -1
- package/.output/public/_nuxt/{C6m-kenn.js → DAR70Lf5.js} +1 -1
- package/.output/public/_nuxt/{B3Psw_sL.js → DBXhDLgl.js} +1 -1
- package/.output/public/_nuxt/{Cj6139IM.js → DsOkkMX3.js} +1 -1
- package/.output/public/_nuxt/DtM4RX5T.js +1 -0
- package/.output/public/_nuxt/{DaE5saZg.js → QT54MQV9.js} +1 -1
- package/.output/public/_nuxt/{Bmpvki7M.js → UtviM1bg.js} +1 -1
- package/.output/public/_nuxt/_id_.pF-B9O6u.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/6a0a88de-639e-4e7b-b7c1-7f4034e04787.json +1 -0
- package/.output/server/chunks/_/nitro.mjs +1411 -910
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/{TownView-CunmEMzS.mjs → TownView-ql2eHZOg.mjs} +4 -4
- package/.output/server/chunks/build/{TownView-CunmEMzS.mjs.map → TownView-ql2eHZOg.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs → _id_-CwR5oLu9.mjs} +4 -4
- package/.output/server/chunks/build/{_id_-CVnMdSeG.mjs.map → _id_-CwR5oLu9.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-D265Wh_k.mjs → _id_-DvJZ5Qis.mjs} +168 -120
- package/.output/server/chunks/build/_id_-DvJZ5Qis.mjs.map +1 -0
- package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs → _wsId_-B3aB9bIp.mjs} +5 -5
- package/.output/server/chunks/build/{_wsId_-eNJmBp05.mjs.map → _wsId_-B3aB9bIp.mjs.map} +1 -1
- package/.output/server/chunks/build/{daq-DxaXk_8N.mjs → daq-epWL_sC7.mjs} +5 -5
- package/.output/server/chunks/build/{daq-DxaXk_8N.mjs.map → daq-epWL_sC7.mjs.map} +1 -1
- package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs → dcw-CBPaFj2f.mjs} +2 -2
- package/.output/server/chunks/build/{dcw-B0dtiHFG.mjs.map → dcw-CBPaFj2f.mjs.map} +1 -1
- package/.output/server/chunks/build/{logs-UWXeNKy_.mjs → logs-Bz1p6x_5.mjs} +3 -3
- package/.output/server/chunks/build/{logs-UWXeNKy_.mjs.map → logs-Bz1p6x_5.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-Aexs6LjD.mjs → pages-Dq7_H4FK.mjs} +3 -3
- package/.output/server/chunks/build/{pages-Aexs6LjD.mjs.map → pages-Dq7_H4FK.mjs.map} +1 -1
- package/.output/server/chunks/build/{town-BbaR-8io.mjs → town-CstiKxf_.mjs} +5 -5
- package/.output/server/chunks/build/{town-BbaR-8io.mjs.map → town-CstiKxf_.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs → useDaqStream-BOOZ-p-l.mjs} +2 -2
- package/.output/server/chunks/build/{useDaqStream-BkmyQT06.mjs.map → useDaqStream-BOOZ-p-l.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs → useDcwStream-DyB2ufQI.mjs} +15 -1
- package/.output/server/chunks/build/{useDcwStream-DWVoU96J.mjs.map → useDcwStream-DyB2ufQI.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs → useDeviceTwins-ZbT86L9O.mjs} +2 -2
- package/.output/server/chunks/build/{useDeviceTwins-34WGk9aN.mjs.map → useDeviceTwins-ZbT86L9O.mjs.map} +1 -1
- package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs → useOpsLog-8HCYFb6n.mjs} +2 -2
- package/.output/server/chunks/build/{useOpsLog-C9zTzYof.mjs.map → useOpsLog-8HCYFb6n.mjs.map} +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +29 -0
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/{_id_.patch.mjs → index.patch.mjs} +11 -6
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/entry.mjs +34 -8
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/app/composables/workshop/useDcwStream.ts +12 -0
- package/app/pages/dcw/[id].vue +165 -1
- package/i18n/locales/en.ts +13 -0
- package/i18n/locales/zh-CN.ts +13 -0
- package/package.json +1 -1
- package/scripts/_dbg-opslog-agent-e2e.mjs +191 -0
- package/scripts/_dbg-recipe-e2e.mjs +176 -0
- package/server/api/workshop/daq/index.post.ts +1 -1
- package/server/api/workshop/dcw/lines/index.post.ts +1 -1
- package/server/api/workshop/dcw/recipes/{[id].patch.ts → [id]/index.patch.ts} +9 -3
- package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +28 -0
- package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -0
- package/server/data/daqs.json +471 -61
- package/server/data/dcw-lines.json +49 -0
- package/server/data/dcw-products.json +56 -0
- package/server/data/dcw-recipes.json +64 -0
- package/server/data/dcw-rollback.json +239 -6
- package/server/data/dcw-runs.json +162 -142
- package/server/data/dcw-writes.json +132 -0
- package/server/data/dcws.json +344 -198
- package/server/data/line-runs.json +41 -11
- package/server/data/scene-layouts.json +11 -0
- package/server/plugins/workshop.ts +9 -0
- package/server/services/workshop/agents/agent-badge.ts +38 -0
- package/server/services/workshop/agents/host-tool-bridge.ts +642 -612
- package/server/services/workshop/agents/industrial-tools.ts +357 -4
- package/server/services/workshop/daq/drivers.ts +41 -8
- package/server/services/workshop/dcw/dcw-controller.ts +50 -2
- package/server/services/workshop/dcw/dcw-recipe.repo.ts +81 -3
- package/server/services/workshop/dcw/drivers.ts +2 -2
- package/server/services/workshop/dcw/recipe-rollback-manager.ts +8 -6
- package/shared/dcw-protocol.ts +14 -2
- package/.output/public/_nuxt/Bc3PiGGr.js +0 -1
- package/.output/public/_nuxt/_id_.DTvjd6VN.css +0 -1
- package/.output/public/_nuxt/builds/meta/65f6bed9-b794-44a4-805a-e22700c10817.json +0 -1
- package/.output/server/chunks/build/_id_-D265Wh_k.mjs.map +0 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs.map +0 -1
|
@@ -13,7 +13,7 @@ import { broadcastSceneEvent } from '../../../services/workshop/scene-events'
|
|
|
13
13
|
import { recordOps } from '../../../services/workshop/ops/ops'
|
|
14
14
|
|
|
15
15
|
export default defineApiHandler(async (event) => {
|
|
16
|
-
requireRole(event, ['admin', 'editor'])
|
|
16
|
+
const user = requireRole(event, ['admin', 'editor'])
|
|
17
17
|
bindDaqHost(broadcastSceneEvent)
|
|
18
18
|
const body = await readBody<DaqCreateInput>(event) ?? {}
|
|
19
19
|
const node = getDaqController().create(body)
|
|
@@ -11,7 +11,7 @@ import { recordOps } from '@/server/services/workshop/ops/ops'
|
|
|
11
11
|
import type { LineInput } from '#shared/dcw-protocol'
|
|
12
12
|
|
|
13
13
|
export default defineApiHandler(async (event) => {
|
|
14
|
-
requireRole(event, ['admin', 'editor'])
|
|
14
|
+
const user = requireRole(event, ['admin', 'editor'])
|
|
15
15
|
bindDcwBroadcast(broadcastSceneEvent)
|
|
16
16
|
const body = await readBody<LineInput>(event) ?? { name: '' }
|
|
17
17
|
const line = getDcwController().createLine(body)
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PATCH /api/workshop/dcw/recipes/:id —— 编辑配方。
|
|
3
|
+
* params 变更自动版本化(paramsHistory 入史,归因=当前用户)。
|
|
3
4
|
*/
|
|
4
5
|
import { getRouterParam, readBody } from 'h3'
|
|
5
6
|
import type { RecipeInput } from '#shared/dcw-protocol'
|
|
6
7
|
import { resolveUser } from '@/server/api/workshop/caller'
|
|
7
8
|
import { defineApiHandler } from '@/server/utils/response'
|
|
8
|
-
import {
|
|
9
|
+
import { getDcwController } from '@/server/services/workshop/dcw/dcw-controller'
|
|
9
10
|
|
|
10
11
|
export default defineApiHandler(async (event) => {
|
|
11
|
-
resolveUser(event)
|
|
12
|
+
const user = resolveUser(event)
|
|
12
13
|
const id = getRouterParam(event, 'id') ?? ''
|
|
13
14
|
const body = await readBody<Partial<RecipeInput>>(event) ?? {}
|
|
14
|
-
const recipe =
|
|
15
|
+
const recipe = getDcwController().updateRecipe(id, body, {
|
|
16
|
+
by: 'user',
|
|
17
|
+
actorName: user.name,
|
|
18
|
+
actor: user.id,
|
|
19
|
+
description: '界面编辑配方',
|
|
20
|
+
})
|
|
15
21
|
return { recipe }
|
|
16
22
|
})
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POST /api/workshop/dcw/recipes/:id/revert —— 回退配方参数到指定历史版本/已知良好批次。
|
|
3
|
+
* 生成新版本(非破坏;历史完整保留)。body: { version?: number, toLastGood?: boolean, reason: string }。
|
|
4
|
+
*/
|
|
5
|
+
import { getRouterParam, readBody } from 'h3'
|
|
6
|
+
import { resolveUser } from '@/server/api/workshop/caller'
|
|
7
|
+
import { defineApiHandler } from '@/server/utils/response'
|
|
8
|
+
import { getDcwController } from '@/server/services/workshop/dcw/dcw-controller'
|
|
9
|
+
import { AppError, ErrorCodes } from '@/server/utils/errors'
|
|
10
|
+
|
|
11
|
+
export default defineApiHandler(async (event) => {
|
|
12
|
+
const user = resolveUser(event)
|
|
13
|
+
const id = getRouterParam(event, 'id') ?? ''
|
|
14
|
+
const body = await readBody<{ version?: number, toLastGood?: boolean, reason?: string }> (event) ?? {}
|
|
15
|
+
if (!body.toLastGood && body.version == null) {
|
|
16
|
+
throw new AppError(400, ErrorCodes.VALIDATION_ERROR, '需提供 version(历史版本号)或 toLastGood=true')
|
|
17
|
+
}
|
|
18
|
+
const recipe = getDcwController().revertRecipe(id, {
|
|
19
|
+
version: body.version,
|
|
20
|
+
toLastGood: body.toLastGood === true,
|
|
21
|
+
}, {
|
|
22
|
+
by: 'user',
|
|
23
|
+
actorName: user.name,
|
|
24
|
+
actor: user.id,
|
|
25
|
+
description: body.reason?.trim() || '界面回退',
|
|
26
|
+
})
|
|
27
|
+
return { recipe }
|
|
28
|
+
})
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GET /api/workshop/dcw/recipes/:id/versions —— 配方参数版本历史(旧→新,尾行=当前版)。
|
|
3
|
+
* 每条:version/at/by(来源)/actorName(人话操作者)/description(变更原因)/params。
|
|
4
|
+
*/
|
|
5
|
+
import { getRouterParam } from 'h3'
|
|
6
|
+
import { resolveUser } from '@/server/api/workshop/caller'
|
|
7
|
+
import { defineApiHandler } from '@/server/utils/response'
|
|
8
|
+
import { getDcwController } from '@/server/services/workshop/dcw/dcw-controller'
|
|
9
|
+
|
|
10
|
+
export default defineApiHandler(async (event) => {
|
|
11
|
+
resolveUser(event)
|
|
12
|
+
const id = getRouterParam(event, 'id') ?? ''
|
|
13
|
+
return { versions: getDcwController().recipeVersions(id) }
|
|
14
|
+
})
|