agentworkshop 0.7.7 → 0.7.8

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 (128) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +1 -1
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +1 -1
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/{CQiKcuoG.js → Dc46i75T.js} +3 -3
  5. package/.output/public/_nuxt/R_Wv_Nd9.js +1 -0
  6. package/.output/public/_nuxt/builds/latest.json +1 -1
  7. package/.output/public/_nuxt/builds/meta/e5bb1803-86d9-43b3-85be-dc787dc9a978.json +1 -0
  8. package/.output/public/_nuxt/{entry.DvlXlPwx.css → entry.5qf6EqfN.css} +1 -1
  9. package/.output/public/_nuxt/workshop.3kAcLB_M.css +1 -0
  10. package/.output/server/chunks/_/nitro.mjs +2468 -2407
  11. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  12. package/.output/server/chunks/build/TownView-B5KifIaT.mjs +1 -1
  13. package/.output/server/chunks/build/_id_-C-ewLgfl.mjs +1 -1
  14. package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs +1 -1
  15. package/.output/server/chunks/build/daq-D9RA_uze.mjs +1 -1
  16. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +1 -1
  17. package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs +1 -1
  18. package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs +1 -1
  19. package/.output/server/chunks/build/{workshop-iCzNRifn.mjs → workshop-D5CQj2A8.mjs} +45 -39
  20. package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +1 -0
  21. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +25 -0
  22. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -0
  23. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  24. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  25. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -1
  26. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +3 -2
  27. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  28. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  29. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  30. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  31. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  32. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  33. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  34. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  35. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  36. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  37. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  38. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  39. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  40. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  41. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  42. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  43. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  44. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  45. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  46. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  47. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  48. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  49. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
  50. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  51. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  52. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  53. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  54. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  55. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  56. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  57. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  58. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  59. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  60. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  61. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  62. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  63. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  64. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  65. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  66. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  67. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  68. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  69. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  70. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  71. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  72. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  73. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  74. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
  75. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  76. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  77. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  78. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  79. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  80. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  81. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  82. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  83. package/.output/server/chunks/routes/renderer.mjs +2 -2
  84. package/.output/server/chunks/virtual/entry.mjs +10 -2
  85. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  86. package/.output/server/package.json +1 -1
  87. package/README-zh.md +27 -7
  88. package/README.md +455 -435
  89. package/app/pages/workshop/index.vue +25 -6
  90. package/config.yml +11 -1
  91. package/i18n/dicts/settings.json +4 -0
  92. package/i18n/locales/en.ts +4 -0
  93. package/i18n/locales/zh-CN.ts +4 -0
  94. package/package.json +1 -1
  95. package/scripts/_dbg-codex-handshake.ts +30 -0
  96. package/scripts/_dbg-codex-sandbox.ts +58 -0
  97. package/scripts/_dbg-codex-turn.ts +65 -0
  98. package/scripts/_dbg-interval-config.mjs +145 -0
  99. package/scripts/_dbg-setup-e2e.mjs +88 -0
  100. package/scripts/e2e-harness-provider-task.mjs +126 -0
  101. package/server/api/users/setup-status.get.ts +8 -0
  102. package/server/api/workshop/daq/[id]/samples.get.ts +4 -2
  103. package/server/data/daqs.json +97 -45
  104. package/server/data/dcw-lines.json +7 -0
  105. package/server/data/dcw-products.json +21 -0
  106. package/server/data/dcw-recipes.json +84 -0
  107. package/server/data/dcw-rollback.json +39 -6
  108. package/server/data/dcw-runs.json +81 -75
  109. package/server/data/dcw-writes.json +36 -0
  110. package/server/data/dcws.json +374 -299
  111. package/server/data/line-runs.json +6 -6
  112. package/server/plugins/security.ts +46 -50
  113. package/server/repositories/user.repository.ts +384 -414
  114. package/server/services/system-config.ts +2 -0
  115. package/server/services/user.service.ts +8 -3
  116. package/server/services/workshop/agents/adapters/line-spawn.ts +6 -3
  117. package/server/services/workshop/agents/host-tool-bridge.ts +21 -1
  118. package/server/services/workshop/agents/industrial-tools.ts +5 -3
  119. package/server/services/workshop/daq/daq-controller.ts +34 -6
  120. package/server/services/workshop/daq/daq-node.ts +3 -3
  121. package/server/services/workshop/daq/daq-runtime.ts +4 -3
  122. package/server/services/workshop/dcw/dcw-controller.ts +4 -2
  123. package/server/services/workshop/settings.ts +23 -0
  124. package/shared/config/schema.json +4 -0
  125. package/.output/public/_nuxt/C-GarxYC.js +0 -1
  126. package/.output/public/_nuxt/builds/meta/14df171d-89cb-43ec-ad6f-9df72d6da7f5.json +0 -1
  127. package/.output/public/_nuxt/workshop.B98sHiJq.css +0 -1
  128. package/.output/server/chunks/build/workshop-iCzNRifn.mjs.map +0 -1
@@ -4421,6 +4421,39 @@
4421
4421
  "recipeRunId": "rr-c0498edd",
4422
4422
  "id": "anc-831a18e4",
4423
4423
  "at": "2026-09-05T19:05:14.807+08:00"
4424
+ },
4425
+ {
4426
+ "lineId": "ln-5318b12b",
4427
+ "nodeId": "dw-204b00c4",
4428
+ "prevValue": null,
4429
+ "newValue": 180,
4430
+ "source": "recipe",
4431
+ "actor": "recipe",
4432
+ "recipeRunId": "rr-046c380b",
4433
+ "id": "anc-a1c065bc",
4434
+ "at": "2026-09-05T19:59:44.555+08:00"
4435
+ },
4436
+ {
4437
+ "lineId": "ln-07768b17",
4438
+ "nodeId": "dw-2dcce3c7",
4439
+ "prevValue": null,
4440
+ "newValue": 180,
4441
+ "source": "recipe",
4442
+ "actor": "recipe",
4443
+ "recipeRunId": "rr-ae1a2022",
4444
+ "id": "anc-66924461",
4445
+ "at": "2026-09-05T20:04:40.623+08:00"
4446
+ },
4447
+ {
4448
+ "lineId": "ln-f4bdf701",
4449
+ "nodeId": "dw-07cca4c7",
4450
+ "prevValue": null,
4451
+ "newValue": 180,
4452
+ "source": "recipe",
4453
+ "actor": "recipe",
4454
+ "recipeRunId": "rr-1809a3fb",
4455
+ "id": "anc-6fd3ea83",
4456
+ "at": "2026-09-05T20:08:42.391+08:00"
4424
4457
  }
4425
4458
  ],
4426
4459
  "records": [
@@ -4812,7 +4845,7 @@
4812
4845
  "channels": [],
4813
4846
  "degraded": true
4814
4847
  },
4815
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
4848
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
4816
4849
  "windowAgg": {
4817
4850
  "at": "2026-08-31T16:25:17.398Z",
4818
4851
  "fromMs": 1788193396897,
@@ -11261,7 +11294,7 @@
11261
11294
  }
11262
11295
  ]
11263
11296
  },
11264
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
11297
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
11265
11298
  "windowAgg": {
11266
11299
  "at": "2026-09-05T02:07:03.383Z",
11267
11300
  "fromMs": 1788573903195,
@@ -11322,7 +11355,7 @@
11322
11355
  }
11323
11356
  ]
11324
11357
  },
11325
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
11358
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
11326
11359
  "windowAgg": {
11327
11360
  "at": "2026-09-05T02:44:52.815Z",
11328
11361
  "fromMs": 1788576172595,
@@ -11382,7 +11415,7 @@
11382
11415
  }
11383
11416
  ]
11384
11417
  },
11385
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
11418
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
11386
11419
  "windowAgg": {
11387
11420
  "at": "2026-09-05T03:09:49.742Z",
11388
11421
  "fromMs": 1788577669697,
@@ -11442,7 +11475,7 @@
11442
11475
  }
11443
11476
  ]
11444
11477
  },
11445
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
11478
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
11446
11479
  "windowAgg": {
11447
11480
  "at": "2026-09-05T03:34:32.268Z",
11448
11481
  "fromMs": 1788579151974,
@@ -11491,7 +11524,7 @@
11491
11524
  "channels": [],
11492
11525
  "degraded": true
11493
11526
  },
11494
- "evaluatedAt": "2026-09-05T19:17:49.249+08:00",
11527
+ "evaluatedAt": "2026-09-06T00:43:03.248+08:00",
11495
11528
  "windowAgg": {
11496
11529
  "at": "2026-09-05T09:01:07.414Z",
11497
11530
  "fromMs": 1788598747074,
@@ -1,79 +1,4 @@
1
1
  [
2
- {
3
- "id": "rr-b171f611",
4
- "recipeId": "rc-7bf584db",
5
- "recipeName": "A-标准工艺",
6
- "productId": "pd-6348a595",
7
- "lineId": "ln-af002514",
8
- "startedAt": "2026-08-30T11:45:42.754Z",
9
- "endedAt": "2026-08-30T11:46:40.875Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-322b1978",
14
- "ok": true,
15
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
16
- "value": 182
17
- },
18
- {
19
- "templateRef": "dcw-pressure-sp",
20
- "nodeId": "dw-e92bb0e7",
21
- "ok": true,
22
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
23
- "value": 0.92
24
- }
25
- ]
26
- },
27
- {
28
- "id": "rr-7ff55812",
29
- "recipeId": "rc-7bf584db",
30
- "recipeName": "A-标准工艺",
31
- "productId": "pd-6348a595",
32
- "lineId": "ln-af002514",
33
- "startedAt": "2026-08-30T11:49:25.607Z",
34
- "endedAt": "2026-08-30T11:50:03.476Z",
35
- "results": [
36
- {
37
- "templateRef": "dcw-temp-sp",
38
- "nodeId": "dw-322b1978",
39
- "ok": true,
40
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
41
- "value": 182
42
- },
43
- {
44
- "templateRef": "dcw-pressure-sp",
45
- "nodeId": "dw-e92bb0e7",
46
- "ok": true,
47
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
48
- "value": 0.92
49
- }
50
- ]
51
- },
52
- {
53
- "id": "rr-78084ec6",
54
- "recipeId": "rc-7bf584db",
55
- "recipeName": "A-标准工艺",
56
- "productId": "pd-6348a595",
57
- "lineId": "ln-af002514",
58
- "startedAt": "2026-08-30T11:51:02.784Z",
59
- "endedAt": "2026-08-30T11:51:07.947Z",
60
- "results": [
61
- {
62
- "templateRef": "dcw-temp-sp",
63
- "nodeId": "dw-322b1978",
64
- "ok": true,
65
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
66
- "value": 182
67
- },
68
- {
69
- "templateRef": "dcw-pressure-sp",
70
- "nodeId": "dw-e92bb0e7",
71
- "ok": true,
72
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
73
- "value": 0.92
74
- }
75
- ]
76
- },
77
2
  {
78
3
  "id": "rr-01ae127b",
79
4
  "recipeId": "rc-7bf584db",
@@ -5753,5 +5678,86 @@
5753
5678
  "max": 200
5754
5679
  }
5755
5680
  ]
5681
+ },
5682
+ {
5683
+ "id": "rr-046c380b",
5684
+ "recipeId": "rc-3799921d",
5685
+ "recipeName": "cfg-recipe",
5686
+ "productId": "pd-3ffc5e11",
5687
+ "lineId": "ln-5318b12b",
5688
+ "startedAt": "2026-09-05T19:59:44.418+08:00",
5689
+ "endedAt": "2026-09-05T20:00:05.731+08:00",
5690
+ "results": [
5691
+ {
5692
+ "templateRef": "dcw-temp-sp",
5693
+ "nodeId": "dw-204b00c4",
5694
+ "ok": true,
5695
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5696
+ "value": 180
5697
+ }
5698
+ ],
5699
+ "paramsSnapshot": [
5700
+ {
5701
+ "nodeId": "dw-204b00c4",
5702
+ "templateRef": "dcw-temp-sp",
5703
+ "value": 180,
5704
+ "min": 150,
5705
+ "max": 200
5706
+ }
5707
+ ]
5708
+ },
5709
+ {
5710
+ "id": "rr-ae1a2022",
5711
+ "recipeId": "rc-7756484b",
5712
+ "recipeName": "cfg-recipe",
5713
+ "productId": "pd-36b00ed3",
5714
+ "lineId": "ln-07768b17",
5715
+ "startedAt": "2026-09-05T20:04:40.532+08:00",
5716
+ "endedAt": "2026-09-05T20:05:01.635+08:00",
5717
+ "results": [
5718
+ {
5719
+ "templateRef": "dcw-temp-sp",
5720
+ "nodeId": "dw-2dcce3c7",
5721
+ "ok": true,
5722
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5723
+ "value": 180
5724
+ }
5725
+ ],
5726
+ "paramsSnapshot": [
5727
+ {
5728
+ "nodeId": "dw-2dcce3c7",
5729
+ "templateRef": "dcw-temp-sp",
5730
+ "value": 180,
5731
+ "min": 150,
5732
+ "max": 200
5733
+ }
5734
+ ]
5735
+ },
5736
+ {
5737
+ "id": "rr-1809a3fb",
5738
+ "recipeId": "rc-69bd3ed5",
5739
+ "recipeName": "cfg-recipe",
5740
+ "productId": "pd-28fc247a",
5741
+ "lineId": "ln-f4bdf701",
5742
+ "startedAt": "2026-09-05T20:08:42.285+08:00",
5743
+ "endedAt": "2026-09-05T20:09:03.613+08:00",
5744
+ "results": [
5745
+ {
5746
+ "templateRef": "dcw-temp-sp",
5747
+ "nodeId": "dw-07cca4c7",
5748
+ "ok": true,
5749
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5750
+ "value": 180
5751
+ }
5752
+ ],
5753
+ "paramsSnapshot": [
5754
+ {
5755
+ "nodeId": "dw-07cca4c7",
5756
+ "templateRef": "dcw-temp-sp",
5757
+ "value": 180,
5758
+ "min": 150,
5759
+ "max": 200
5760
+ }
5761
+ ]
5756
5762
  }
5757
5763
  ]
@@ -12418,5 +12418,41 @@
12418
12418
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
12419
12419
  "recipeRunId": "rr-c0498edd",
12420
12420
  "at": "2026-09-05T19:05:14.657+08:00"
12421
+ },
12422
+ {
12423
+ "id": "wh-a6004cdf",
12424
+ "nodeId": "dw-204b00c4",
12425
+ "nodeName": "cfg-dcw",
12426
+ "param": "烘箱温度设定",
12427
+ "eng": 180,
12428
+ "raw": 180,
12429
+ "ok": true,
12430
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
12431
+ "recipeRunId": "rr-046c380b",
12432
+ "at": "2026-09-05T19:59:44.420+08:00"
12433
+ },
12434
+ {
12435
+ "id": "wh-e29b6823",
12436
+ "nodeId": "dw-2dcce3c7",
12437
+ "nodeName": "cfg-dcw",
12438
+ "param": "烘箱温度设定",
12439
+ "eng": 180,
12440
+ "raw": 180,
12441
+ "ok": true,
12442
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
12443
+ "recipeRunId": "rr-ae1a2022",
12444
+ "at": "2026-09-05T20:04:40.535+08:00"
12445
+ },
12446
+ {
12447
+ "id": "wh-a3c5083b",
12448
+ "nodeId": "dw-07cca4c7",
12449
+ "nodeName": "cfg-dcw",
12450
+ "param": "烘箱温度设定",
12451
+ "eng": 180,
12452
+ "raw": 180,
12453
+ "ok": true,
12454
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
12455
+ "recipeRunId": "rr-1809a3fb",
12456
+ "at": "2026-09-05T20:08:42.288+08:00"
12421
12457
  }
12422
12458
  ]