agentworkshop 0.7.20 → 0.7.22

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 (84) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BA3XzwiD.js → 0exC4jVL.js} +1 -1
  3. package/.output/public/_nuxt/BAbAEW0D.js +1 -0
  4. package/.output/public/_nuxt/{DBXhDLgl.js → BuiGDfMB.js} +1 -1
  5. package/.output/public/_nuxt/Ci0uX4c4.js +1 -0
  6. package/.output/public/_nuxt/D6B0xnjk.js +1 -0
  7. package/.output/public/_nuxt/{TownView.BHLKAjEu.css → TownView.zu2rU5nS.css} +1 -1
  8. package/.output/public/_nuxt/_id_.C2VHq_vT.css +1 -0
  9. package/.output/public/_nuxt/_id_.Dswy2p0I.css +1 -0
  10. package/.output/public/_nuxt/builds/latest.json +1 -1
  11. package/.output/public/_nuxt/builds/meta/e2341fc0-6f3f-4680-abf8-935a7c9fb912.json +1 -0
  12. package/.output/public/_nuxt/{BOJaHO5V.js → c3mwkHWP.js} +2 -2
  13. package/.output/public/_nuxt/daq.BTdEun-8.css +1 -0
  14. package/.output/public/_nuxt/dbi5bHkY.js +2 -0
  15. package/.output/public/_nuxt/{DsOkkMX3.js → jyQyulh-.js} +1 -1
  16. package/.output/public/_nuxt/{B-E8fXAO.js → n3vMFfrv.js} +1 -1
  17. package/.output/server/chunks/_/nitro.mjs +847 -722
  18. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  19. package/.output/server/chunks/build/{TownView-ql2eHZOg.mjs → TownView-DxeQe1Bl.mjs} +144 -143
  20. package/.output/server/chunks/build/{TownView-ql2eHZOg.mjs.map → TownView-DxeQe1Bl.mjs.map} +1 -1
  21. package/.output/server/chunks/build/{_id_-CwR5oLu9.mjs → _id_-B9RvEQFC.mjs} +33 -35
  22. package/.output/server/chunks/build/_id_-B9RvEQFC.mjs.map +1 -0
  23. package/.output/server/chunks/build/{_id_-Bs-euJPu.mjs → _id_-CqF0R5W5.mjs} +138 -137
  24. package/.output/server/chunks/build/_id_-CqF0R5W5.mjs.map +1 -0
  25. package/.output/server/chunks/build/{_wsId_-B3aB9bIp.mjs → _wsId_-YC2t_fRt.mjs} +3 -3
  26. package/.output/server/chunks/build/{_wsId_-B3aB9bIp.mjs.map → _wsId_-YC2t_fRt.mjs.map} +1 -1
  27. package/.output/server/chunks/build/{daq-epWL_sC7.mjs → daq-Bhwwz9vp.mjs} +146 -118
  28. package/.output/server/chunks/build/daq-Bhwwz9vp.mjs.map +1 -0
  29. package/.output/server/chunks/build/{pages-Dq7_H4FK.mjs → pages-D9tOoJsf.mjs} +2 -2
  30. package/.output/server/chunks/build/{pages-Dq7_H4FK.mjs.map → pages-D9tOoJsf.mjs.map} +1 -1
  31. package/.output/server/chunks/build/{town-CstiKxf_.mjs → town-Dsh0jlwZ.mjs} +3 -3
  32. package/.output/server/chunks/build/{town-CstiKxf_.mjs.map → town-Dsh0jlwZ.mjs.map} +1 -1
  33. package/.output/server/chunks/build/{useDaqStream-BOOZ-p-l.mjs → useDaqStream-DkRL3tEW.mjs} +9 -1
  34. package/.output/server/chunks/build/{useDaqStream-BOOZ-p-l.mjs.map → useDaqStream-DkRL3tEW.mjs.map} +1 -1
  35. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  36. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  37. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +34 -0
  38. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -0
  39. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  40. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  41. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +33 -0
  42. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -0
  43. package/.output/server/chunks/routes/renderer.mjs +1 -1
  44. package/.output/server/chunks/virtual/entry.mjs +6 -6
  45. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  46. package/.output/server/package.json +1 -1
  47. package/README-zh.md +478 -469
  48. package/README.md +486 -475
  49. package/app/components/workshop/town/TownView.vue +7082 -7076
  50. package/app/composables/workshop/useDaqStream.ts +10 -0
  51. package/app/pages/daq/[id].vue +4 -3
  52. package/app/pages/daq/index.vue +66 -21
  53. package/app/pages/dcw/[id].vue +5 -1
  54. package/package.json +148 -148
  55. package/scripts/_dbg-device-bind-e2e.mjs +129 -0
  56. package/server/api/workshop/daq/[id]/bind.post.ts +5 -2
  57. package/server/api/workshop/daq/[id]/bindings.put.ts +22 -0
  58. package/server/api/workshop/dcw/[id]/bind.post.ts +4 -2
  59. package/server/api/workshop/dcw/[id]/bindings.put.ts +21 -0
  60. package/server/data/daqs.json +404 -99
  61. package/server/data/dcw-lines.json +7 -0
  62. package/server/data/dcw-rollback.json +573 -10
  63. package/server/data/dcw-runs.json +91 -81
  64. package/server/data/dcw-writes.json +168 -0
  65. package/server/data/dcws.json +220 -220
  66. package/server/data/line-runs.json +18 -18
  67. package/server/services/workshop/agents/industrial-context.ts +231 -222
  68. package/server/services/workshop/daq/daq-controller.ts +76 -23
  69. package/server/services/workshop/daq/daq-node.ts +11 -1
  70. package/server/services/workshop/dcw/dcw-controller.ts +50 -2
  71. package/server/services/workshop/dcw/dcw-node.ts +10 -1
  72. package/shared/daq-protocol.ts +2 -0
  73. package/shared/dcw-protocol.ts +2 -0
  74. package/.output/public/_nuxt/B_C3GLsD.js +0 -1
  75. package/.output/public/_nuxt/Ba7YofCb.js +0 -2
  76. package/.output/public/_nuxt/CgT5wMfz.js +0 -1
  77. package/.output/public/_nuxt/D4CLp1hc.js +0 -1
  78. package/.output/public/_nuxt/_id_.DIxEKj88.css +0 -1
  79. package/.output/public/_nuxt/_id_.IbmpkhH4.css +0 -1
  80. package/.output/public/_nuxt/builds/meta/781a7557-9009-4289-ab59-7905c4f96825.json +0 -1
  81. package/.output/public/_nuxt/daq.6IrhVVfy.css +0 -1
  82. package/.output/server/chunks/build/_id_-Bs-euJPu.mjs.map +0 -1
  83. package/.output/server/chunks/build/_id_-CwR5oLu9.mjs.map +0 -1
  84. package/.output/server/chunks/build/daq-epWL_sC7.mjs.map +0 -1
@@ -1,85 +1,4 @@
1
1
  [
2
- {
3
- "id": "rr-120df93b",
4
- "recipeId": "rc-a252283f",
5
- "recipeName": "RB审计配方-fs7rd",
6
- "productId": "pd-35c27e80",
7
- "lineId": "ln-e132a42f",
8
- "startedAt": "2026-08-31T16:30:21.520Z",
9
- "endedAt": "2026-08-31T16:30:22.563Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-73c0b79a",
14
- "ok": true,
15
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
16
- "value": 175
17
- }
18
- ],
19
- "paramsSnapshot": [
20
- {
21
- "nodeId": "dw-73c0b79a",
22
- "templateRef": "dcw-temp-sp",
23
- "value": 175,
24
- "min": 160,
25
- "max": 180
26
- }
27
- ]
28
- },
29
- {
30
- "id": "rr-76a15eb1",
31
- "recipeId": "rc-a252283f",
32
- "recipeName": "RB审计配方-fs7rd",
33
- "productId": "pd-35c27e80",
34
- "lineId": "ln-e132a42f",
35
- "startedAt": "2026-08-31T16:30:22.629Z",
36
- "endedAt": "2026-08-31T16:30:22.904Z",
37
- "results": [
38
- {
39
- "templateRef": "dcw-temp-sp",
40
- "nodeId": "dw-73c0b79a",
41
- "ok": true,
42
- "message": "Mock PLC 写入成功:176 → raw 176,回读一致(标定后物理值 176)",
43
- "value": 176
44
- }
45
- ],
46
- "paramsSnapshot": [
47
- {
48
- "nodeId": "dw-73c0b79a",
49
- "templateRef": "dcw-temp-sp",
50
- "value": 176,
51
- "min": 160,
52
- "max": 180
53
- }
54
- ]
55
- },
56
- {
57
- "id": "rr-63a9d6d6",
58
- "recipeId": "rc-8a659d97",
59
- "recipeName": "RB审计配方-33hss",
60
- "productId": "pd-fe39aac8",
61
- "lineId": "ln-f178ca43",
62
- "startedAt": "2026-08-31T16:30:40.424Z",
63
- "endedAt": null,
64
- "results": [
65
- {
66
- "templateRef": "dcw-temp-sp",
67
- "nodeId": "dw-88c0516b",
68
- "ok": true,
69
- "message": "Mock PLC 写入成功:175 → raw 175,回读一致(标定后物理值 175)",
70
- "value": 175
71
- }
72
- ],
73
- "paramsSnapshot": [
74
- {
75
- "nodeId": "dw-88c0516b",
76
- "templateRef": "dcw-temp-sp",
77
- "value": 175,
78
- "min": 160,
79
- "max": 180
80
- }
81
- ]
82
- },
83
2
  {
84
3
  "id": "rr-76ef5c67",
85
4
  "recipeId": "rc-8a659d97",
@@ -6156,5 +6075,96 @@
6156
6075
  "max": 1.1
6157
6076
  }
6158
6077
  ]
6078
+ },
6079
+ {
6080
+ "id": "rr-6c4a43f7",
6081
+ "recipeId": "rc-8a0eb268",
6082
+ "recipeName": "mh-recipe-mhqv9x",
6083
+ "productId": "pd-644e018a",
6084
+ "lineId": "ln-2f27e8e1",
6085
+ "startedAt": "2026-09-07T01:55:25.483+08:00",
6086
+ "endedAt": "2026-09-07T02:04:07.452+08:00",
6087
+ "results": [
6088
+ {
6089
+ "templateRef": "temp-sp",
6090
+ "nodeId": "dw-7fcb618e",
6091
+ "ok": true,
6092
+ "message": "写入并回读一致:0.8 → raw 0.8,回读 0.8(标定后物理值 0.8)",
6093
+ "value": 0.8
6094
+ }
6095
+ ],
6096
+ "paramsSnapshot": [
6097
+ {
6098
+ "nodeId": "dw-7fcb618e",
6099
+ "templateRef": "temp-sp",
6100
+ "value": 0.8,
6101
+ "min": 0.6,
6102
+ "max": 1.1
6103
+ }
6104
+ ]
6105
+ },
6106
+ {
6107
+ "id": "rr-112d83a0",
6108
+ "recipeId": "rc-9a940f7e",
6109
+ "recipeName": "工艺A-lv280q",
6110
+ "productId": "pd-3868c5cf",
6111
+ "lineId": "ln-afc5e609",
6112
+ "startedAt": "2026-09-07T02:14:33.050+08:00",
6113
+ "endedAt": "2026-09-07T02:15:42.841+08:00",
6114
+ "results": [
6115
+ {
6116
+ "templateRef": "temp-sp",
6117
+ "nodeId": "dw-65d58555",
6118
+ "ok": true,
6119
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
6120
+ "value": 0.9
6121
+ },
6122
+ {
6123
+ "templateRef": "temp-sp",
6124
+ "nodeId": "dw-9a207f8f",
6125
+ "ok": true,
6126
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
6127
+ "value": 500
6128
+ }
6129
+ ],
6130
+ "paramsSnapshot": [
6131
+ {
6132
+ "nodeId": "dw-65d58555",
6133
+ "templateRef": "temp-sp",
6134
+ "value": 0.9,
6135
+ "min": 0.6,
6136
+ "max": 1.1
6137
+ },
6138
+ {
6139
+ "nodeId": "dw-9a207f8f",
6140
+ "templateRef": "temp-sp",
6141
+ "value": 500
6142
+ }
6143
+ ]
6144
+ },
6145
+ {
6146
+ "id": "rr-20c111fd",
6147
+ "recipeId": "rc-2f707a19",
6148
+ "recipeName": "bindrec-dbznl2",
6149
+ "productId": "pd-943ef677",
6150
+ "lineId": "ln-68dcde46",
6151
+ "startedAt": "2026-09-07T10:16:33.503+08:00",
6152
+ "endedAt": "2026-09-07T10:16:51.687+08:00",
6153
+ "results": [
6154
+ {
6155
+ "templateRef": "temp-sp",
6156
+ "nodeId": "dw-59454017",
6157
+ "ok": true,
6158
+ "message": "Mock PLC 写入成功:50 → raw 50,回读一致(标定后物理值 50)",
6159
+ "value": 50
6160
+ }
6161
+ ],
6162
+ "paramsSnapshot": [
6163
+ {
6164
+ "nodeId": "dw-59454017",
6165
+ "templateRef": "temp-sp",
6166
+ "value": 50
6167
+ }
6168
+ ]
6159
6169
  }
6160
6170
  ]
@@ -13570,5 +13570,173 @@
13570
13570
  "message": "写入并回读一致:0.78 → raw 0.78,回读 0.78(标定后物理值 0.8)",
13571
13571
  "recipeRunId": null,
13572
13572
  "at": "2026-09-07T01:36:27.400+08:00"
13573
+ },
13574
+ {
13575
+ "id": "wh-16d5e891",
13576
+ "nodeId": "dw-7fcb618e",
13577
+ "nodeName": "mh-press-mhqv9x",
13578
+ "param": "烘箱温度设定",
13579
+ "eng": 0.8,
13580
+ "raw": 0.8,
13581
+ "ok": true,
13582
+ "message": "写入并回读一致:0.8 → raw 0.8,回读 0.8(标定后物理值 0.8)",
13583
+ "recipeRunId": "rr-6c4a43f7",
13584
+ "at": "2026-09-07T01:55:25.487+08:00"
13585
+ },
13586
+ {
13587
+ "id": "wh-36062614",
13588
+ "nodeId": "dw-7fcb618e",
13589
+ "nodeName": "mh-press-mhqv9x",
13590
+ "param": "烘箱温度设定",
13591
+ "eng": 0.8,
13592
+ "raw": 0.82,
13593
+ "ok": true,
13594
+ "message": "写入并回读一致:0.82 → raw 0.82,回读 0.82(标定后物理值 0.8)",
13595
+ "recipeRunId": null,
13596
+ "at": "2026-09-07T01:55:48.229+08:00"
13597
+ },
13598
+ {
13599
+ "id": "wh-7360044a",
13600
+ "nodeId": "dw-7fcb618e",
13601
+ "nodeName": "mh-press-mhqv9x",
13602
+ "param": "烘箱温度设定",
13603
+ "eng": 0.8,
13604
+ "raw": 0.78,
13605
+ "ok": true,
13606
+ "message": "写入并回读一致:0.78 → raw 0.78,回读 0.78(标定后物理值 0.8)",
13607
+ "recipeRunId": null,
13608
+ "at": "2026-09-07T02:03:29.936+08:00"
13609
+ },
13610
+ {
13611
+ "id": "wh-7dd6abfb",
13612
+ "nodeId": "dw-65d58555",
13613
+ "nodeName": "压力设定-MBTCP-lv280q",
13614
+ "param": "烘箱温度设定",
13615
+ "eng": 0.9,
13616
+ "raw": 0.9,
13617
+ "ok": true,
13618
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
13619
+ "recipeRunId": "rr-112d83a0",
13620
+ "at": "2026-09-07T02:14:33.053+08:00"
13621
+ },
13622
+ {
13623
+ "id": "wh-a0613d55",
13624
+ "nodeId": "dw-9a207f8f",
13625
+ "nodeName": "RTU 开度-lv280q",
13626
+ "param": "烘箱温度设定",
13627
+ "eng": 500,
13628
+ "raw": 500,
13629
+ "ok": true,
13630
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
13631
+ "recipeRunId": "rr-112d83a0",
13632
+ "at": "2026-09-07T02:14:33.081+08:00"
13633
+ },
13634
+ {
13635
+ "id": "wh-c2d336c5",
13636
+ "nodeId": "dw-65d58555",
13637
+ "nodeName": "压力设定-MBTCP-lv280q",
13638
+ "param": "烘箱温度设定",
13639
+ "eng": 0.9,
13640
+ "raw": 0.95,
13641
+ "ok": true,
13642
+ "message": "写入并回读一致:0.95 → raw 0.95,回读 0.95(标定后物理值 0.9)",
13643
+ "recipeRunId": null,
13644
+ "at": "2026-09-07T02:14:42.116+08:00"
13645
+ },
13646
+ {
13647
+ "id": "wh-ca96383e",
13648
+ "nodeId": "dw-9a207f8f",
13649
+ "nodeName": "RTU 开度-lv280q",
13650
+ "param": "烘箱温度设定",
13651
+ "eng": 500,
13652
+ "raw": 500,
13653
+ "ok": true,
13654
+ "message": "写入并回读一致:500 → raw 500,回读 500(标定后物理值 500)",
13655
+ "recipeRunId": null,
13656
+ "at": "2026-09-07T02:14:42.160+08:00"
13657
+ },
13658
+ {
13659
+ "id": "wh-e8104ce9",
13660
+ "nodeId": "dw-c12736bc",
13661
+ "nodeName": "OPC 炉温设定-lv280q",
13662
+ "param": "烘箱温度设定",
13663
+ "eng": 88,
13664
+ "raw": 88,
13665
+ "ok": true,
13666
+ "message": "写入并回读一致:88,回读 88(标定后物理值 88)",
13667
+ "recipeRunId": null,
13668
+ "at": "2026-09-07T02:14:42.175+08:00"
13669
+ },
13670
+ {
13671
+ "id": "wh-0b15c73b",
13672
+ "nodeId": "dw-812dc957",
13673
+ "nodeName": "HTTP 加热设定-lv280q",
13674
+ "param": "烘箱温度设定",
13675
+ "eng": 66.6,
13676
+ "raw": 66.6,
13677
+ "ok": true,
13678
+ "message": "POST 成功(HTTP 200;接口未回传数值)(标定后物理值 66.6)",
13679
+ "recipeRunId": null,
13680
+ "at": "2026-09-07T02:14:42.191+08:00"
13681
+ },
13682
+ {
13683
+ "id": "wh-d0bec2e7",
13684
+ "nodeId": "dw-b87cad06",
13685
+ "nodeName": "MQTT 下位机设定-lv280q",
13686
+ "param": "烘箱温度设定",
13687
+ "eng": 55.5,
13688
+ "raw": 55.5,
13689
+ "ok": true,
13690
+ "message": "已发布 55.5 → aw/sim/setpoint/lv280q(QoS 1;MQTT 无回读,建议以同主题数采节点验证)(标定后物理值 55.5)",
13691
+ "recipeRunId": null,
13692
+ "at": "2026-09-07T02:14:42.702+08:00"
13693
+ },
13694
+ {
13695
+ "id": "wh-c95eb5d9",
13696
+ "nodeId": "dw-65d58555",
13697
+ "nodeName": "压力设定-MBTCP-lv280q",
13698
+ "param": "烘箱温度设定",
13699
+ "eng": 0.9,
13700
+ "raw": 0.95,
13701
+ "ok": true,
13702
+ "message": "写入并回读一致:0.95 → raw 0.95,回读 0.95(标定后物理值 0.9)",
13703
+ "recipeRunId": null,
13704
+ "at": "2026-09-07T02:15:13.306+08:00"
13705
+ },
13706
+ {
13707
+ "id": "wh-78ecb9ed",
13708
+ "nodeId": "dw-c12736bc",
13709
+ "nodeName": "OPC 炉温设定-lv280q",
13710
+ "param": "烘箱温度设定",
13711
+ "eng": 92,
13712
+ "raw": 92,
13713
+ "ok": true,
13714
+ "message": "写入并回读一致:92,回读 92(标定后物理值 92)",
13715
+ "recipeRunId": null,
13716
+ "at": "2026-09-07T02:15:41.194+08:00"
13717
+ },
13718
+ {
13719
+ "id": "wh-9c0c0cb4",
13720
+ "nodeId": "dw-65d58555",
13721
+ "nodeName": "压力设定-MBTCP-lv280q",
13722
+ "param": "烘箱温度设定",
13723
+ "eng": 0.9,
13724
+ "raw": 0.9,
13725
+ "ok": true,
13726
+ "message": "写入并回读一致:0.9 → raw 0.9,回读 0.9(标定后物理值 0.9)",
13727
+ "recipeRunId": null,
13728
+ "at": "2026-09-07T02:15:42.793+08:00"
13729
+ },
13730
+ {
13731
+ "id": "wh-419d33a0",
13732
+ "nodeId": "dw-59454017",
13733
+ "nodeName": "dcw-dbznl2",
13734
+ "param": "烘箱温度设定",
13735
+ "eng": 50,
13736
+ "raw": 50,
13737
+ "ok": true,
13738
+ "message": "Mock PLC 写入成功:50 → raw 50,回读一致(标定后物理值 50)",
13739
+ "recipeRunId": "rr-20c111fd",
13740
+ "at": "2026-09-07T10:16:33.507+08:00"
13573
13741
  }
13574
13742
  ]