devagent-ignition 0.1.0__py3-none-any.whl

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 (133) hide show
  1. devagent_hmi.py +471 -0
  2. devagent_ignition-0.1.0.dist-info/METADATA +204 -0
  3. devagent_ignition-0.1.0.dist-info/RECORD +133 -0
  4. devagent_ignition-0.1.0.dist-info/WHEEL +4 -0
  5. devagent_ignition-0.1.0.dist-info/entry_points.txt +2 -0
  6. devagent_spatial/__init__.py +1 -0
  7. devagent_spatial/_resources/README.md +187 -0
  8. devagent_spatial/_resources/RELEASE_MANIFEST.json +312 -0
  9. devagent_spatial/_resources/SHA256SUMS.txt +270 -0
  10. devagent_spatial/_resources/SOURCE_PROVENANCE.json +186 -0
  11. devagent_spatial/_resources/assets/agent.js +102 -0
  12. devagent_spatial/_resources/assets/creator.css +247 -0
  13. devagent_spatial/_resources/assets/creator_2d.mjs +16 -0
  14. devagent_spatial/_resources/assets/creator_original_r9.mjs +58 -0
  15. devagent_spatial/_resources/assets/creator_original_v8.mjs +120 -0
  16. devagent_spatial/_resources/assets/creator_r9_diagnostics.mjs +53 -0
  17. devagent_spatial/_resources/assets/creator_scene.mjs +128 -0
  18. devagent_spatial/_resources/assets/creator_ui.mjs +60 -0
  19. devagent_spatial/_resources/assets/customer_documents.js +110 -0
  20. devagent_spatial/_resources/assets/equipment_controls.mjs +27 -0
  21. devagent_spatial/_resources/assets/facility2d.css +24 -0
  22. devagent_spatial/_resources/assets/facility2d_app.mjs +45 -0
  23. devagent_spatial/_resources/assets/facility2d_core.mjs +114 -0
  24. devagent_spatial/_resources/assets/facility2d_simulation.mjs +167 -0
  25. devagent_spatial/_resources/assets/facility2d_viewer.html +7 -0
  26. devagent_spatial/_resources/assets/fallback_scene.js +17 -0
  27. devagent_spatial/_resources/assets/flow_geometry.mjs +218 -0
  28. devagent_spatial/_resources/assets/harness.js +78 -0
  29. devagent_spatial/_resources/assets/live_design_review.js +129 -0
  30. devagent_spatial/_resources/assets/operations_ui.js +305 -0
  31. devagent_spatial/_resources/assets/operator_viewer.html +64 -0
  32. devagent_spatial/_resources/assets/project_package.js +52 -0
  33. devagent_spatial/_resources/assets/r9_transport.mjs +70 -0
  34. devagent_spatial/_resources/assets/runtime_feed.js +30 -0
  35. devagent_spatial/_resources/assets/studio.html +139 -0
  36. devagent_spatial/_resources/assets/style.css +191 -0
  37. devagent_spatial/_resources/assets/test_workspace.html +195 -0
  38. devagent_spatial/_resources/assets/three_scene.js +442 -0
  39. devagent_spatial/_resources/assets/unified_engineer.js +101 -0
  40. devagent_spatial/_resources/assets/v076_fat_ui.js +40 -0
  41. devagent_spatial/_resources/assets/v078_command_ui.js +44 -0
  42. devagent_spatial/_resources/assets/viewer.html +45 -0
  43. devagent_spatial/_resources/assets/viewer.js +112 -0
  44. devagent_spatial/_resources/design-system.json +130 -0
  45. devagent_spatial/_resources/examples/CV101-command-contract-PENDING.json +30 -0
  46. devagent_spatial/_resources/examples/cv101_guided.json +272 -0
  47. devagent_spatial/_resources/examples/make_examples.py +36 -0
  48. devagent_spatial/_resources/examples/single_floor.json +444 -0
  49. devagent_spatial/_resources/examples/v0771_training_wizard.json +11 -0
  50. devagent_spatial/_resources/examples/warehouse-3floor-standard-2d.json +708 -0
  51. devagent_spatial/_resources/examples/warehouse-operations-synthetic.json +1186 -0
  52. devagent_spatial/_resources/examples/warehouse-v07-lab-bindings-PENDING.json +372 -0
  53. devagent_spatial/_resources/examples/warehouse.json +708 -0
  54. devagent_spatial/_resources/examples/water.json +288 -0
  55. devagent_spatial/_resources/reference/r9-golden/REFERENCE_SHA256.json +13 -0
  56. devagent_spatial/_resources/reference/r9-golden/web/app.mjs +745 -0
  57. devagent_spatial/_resources/reference/r9-golden/web/index.html +213 -0
  58. devagent_spatial/_resources/reference/r9-golden/web/lab_panel.mjs +53 -0
  59. devagent_spatial/_resources/reference/r9-golden/web/model.mjs +367 -0
  60. devagent_spatial/_resources/reference/r9-golden/web/state_adapter.mjs +78 -0
  61. devagent_spatial/_resources/reference/r9-golden/web/styles.css +76 -0
  62. devagent_spatial/_resources/reference/r9-original/README_R9.md +27 -0
  63. devagent_spatial/_resources/reference/r9-original/SHA256SUMS.txt +63 -0
  64. devagent_spatial/_resources/reference/r9-original/SNAPSHOT_SHA256SUMS.txt +16 -0
  65. devagent_spatial/_resources/reference/r9-original/flow_routes.json +527 -0
  66. devagent_spatial/_resources/reference/r9-original/flow_sim.py +117 -0
  67. devagent_spatial/_resources/reference/r9-original/lab_control.py +73 -0
  68. devagent_spatial/_resources/reference/r9-original/web/app.mjs +745 -0
  69. devagent_spatial/_resources/reference/r9-original/web/index.html +213 -0
  70. devagent_spatial/_resources/reference/r9-original/web/lab_panel.mjs +53 -0
  71. devagent_spatial/_resources/reference/r9-original/web/model.mjs +367 -0
  72. devagent_spatial/_resources/reference/r9-original/web/state_adapter.mjs +78 -0
  73. devagent_spatial/_resources/reference/r9-original/web/styles.css +76 -0
  74. devagent_spatial/_resources/reference/r9-original/web/vendor/LICENSE-three.txt +21 -0
  75. devagent_spatial/_resources/reference/r9-original/web/vendor/SHA256SUMS.txt +4 -0
  76. devagent_spatial/_resources/reference/r9-original/web/vendor/addons/controls/OrbitControls.js +1860 -0
  77. devagent_spatial/_resources/reference/r9-original/web/vendor/three.core.js +58773 -0
  78. devagent_spatial/_resources/reference/r9-original/web/vendor/three.module.js +18251 -0
  79. devagent_spatial/_resources/reference/v8-original/README.md +36 -0
  80. devagent_spatial/_resources/reference/v8-original/SHA256SUMS.txt +12 -0
  81. devagent_spatial/_resources/reference/v8-original/model.py +124 -0
  82. devagent_spatial/_resources/reference/v8-original/run_demo.sh +4 -0
  83. devagent_spatial/_resources/reference/v8-original/server.py +100 -0
  84. devagent_spatial/_resources/reference/v8-original/tests/browser_smoke.py +50 -0
  85. devagent_spatial/_resources/reference/v8-original/tests/test_v8.py +144 -0
  86. devagent_spatial/_resources/reference/v8-original/topology.json +24 -0
  87. devagent_spatial/_resources/reference/v8-original/web/app.js +114 -0
  88. devagent_spatial/_resources/reference/v8-original/web/index.html +22 -0
  89. devagent_spatial/_resources/reference/v8-original/web/simulator.html +1 -0
  90. devagent_spatial/_resources/reference/v8-original/web/simulator.js +6 -0
  91. devagent_spatial/_resources/reference/v8-original/web/style.css +16 -0
  92. devagent_spatial/_resources/sample_customer_inputs/Plant_Equipment_Register.csv +4 -0
  93. devagent_spatial/_resources/sample_customer_inputs/Plant_Flow_Requirements.txt +5 -0
  94. devagent_spatial/_resources/sample_customer_inputs/Raw_PLC_Tag_Export.csv +4 -0
  95. devagent_spatial/_resources/templates/warehouse_connections.csv +12 -0
  96. devagent_spatial/_resources/templates/warehouse_equipment.csv +21 -0
  97. devagent_spatial/_resources/templates/warehouse_signals.csv +34 -0
  98. devagent_spatial/_resources/templates/water_connections.csv +7 -0
  99. devagent_spatial/_resources/templates/water_equipment.csv +10 -0
  100. devagent_spatial/_resources/templates/water_signals.csv +12 -0
  101. devagent_spatial/agent_harness.py +299 -0
  102. devagent_spatial/agent_runtime.py +314 -0
  103. devagent_spatial/contract_opc_fat.py +216 -0
  104. devagent_spatial/contract_opc_source.py +265 -0
  105. devagent_spatial/control_intents.py +38 -0
  106. devagent_spatial/customer_intake.py +235 -0
  107. devagent_spatial/engineering_expertise.py +114 -0
  108. devagent_spatial/generator.py +201 -0
  109. devagent_spatial/ignition_native.py +234 -0
  110. devagent_spatial/ignition_project.py +144 -0
  111. devagent_spatial/live_lab_binding.py +128 -0
  112. devagent_spatial/model.py +297 -0
  113. devagent_spatial/native_reference.py +69 -0
  114. devagent_spatial/opc_snapshot.py +87 -0
  115. devagent_spatial/operations.py +284 -0
  116. devagent_spatial/operations_capture.py +47 -0
  117. devagent_spatial/operations_lab.py +64 -0
  118. devagent_spatial/original_r9.py +169 -0
  119. devagent_spatial/original_v8.py +81 -0
  120. devagent_spatial/preflight.py +140 -0
  121. devagent_spatial/preview_simulation.py +189 -0
  122. devagent_spatial/project_package.py +101 -0
  123. devagent_spatial/qualification.py +152 -0
  124. devagent_spatial/strict_json.py +29 -0
  125. devagent_spatial/studio.py +894 -0
  126. devagent_spatial/studio_workflow.py +277 -0
  127. devagent_spatial/test_reporting.py +87 -0
  128. devagent_spatial/v076_opc_fat.py +180 -0
  129. devagent_spatial/v078_commands.py +277 -0
  130. devagent_spatial/v078_native_commands.py +161 -0
  131. devagent_spatial/v07_fat.py +110 -0
  132. devagent_spatial/v07_native.py +318 -0
  133. devagent_spatial/v083_native.py +349 -0
@@ -0,0 +1,372 @@
1
+ {
2
+ "schema": "devagent.ignition.v07.lab_bindings.v1",
3
+ "model_sha256": "6915cb0ce49419556734f77b78efe2b4e458a9b64d68ca2d003200fff642c396",
4
+ "scope": "ISOLATED_TEST_GATEWAY_ONLY",
5
+ "engineer": "",
6
+ "bindings": [
7
+ {
8
+ "signal_id": "S_INFEED01_RUN_FEEDBACK",
9
+ "asset_id": "INFEED01",
10
+ "role": "run_feedback",
11
+ "source": {
12
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
13
+ "node_id": "Line01/INFEED01/RunFeedback"
14
+ },
15
+ "tag_path": "",
16
+ "approval": "PENDING_ENGINEER_REVIEW"
17
+ },
18
+ {
19
+ "signal_id": "S_INFEED01_FAULT",
20
+ "asset_id": "INFEED01",
21
+ "role": "fault",
22
+ "source": {
23
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
24
+ "node_id": "Line01/INFEED01/MotorFault"
25
+ },
26
+ "tag_path": "",
27
+ "approval": "PENDING_ENGINEER_REVIEW"
28
+ },
29
+ {
30
+ "signal_id": "S_CV101_RUN_FEEDBACK",
31
+ "asset_id": "CV101",
32
+ "role": "run_feedback",
33
+ "source": {
34
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
35
+ "node_id": "Line01/CV101/RunFeedback"
36
+ },
37
+ "tag_path": "",
38
+ "approval": "PENDING_ENGINEER_REVIEW"
39
+ },
40
+ {
41
+ "signal_id": "S_CV101_FAULT",
42
+ "asset_id": "CV101",
43
+ "role": "fault",
44
+ "source": {
45
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
46
+ "node_id": "Line01/CV101/MotorFault"
47
+ },
48
+ "tag_path": "",
49
+ "approval": "PENDING_ENGINEER_REVIEW"
50
+ },
51
+ {
52
+ "signal_id": "S_CV102_RUN_FEEDBACK",
53
+ "asset_id": "CV102",
54
+ "role": "run_feedback",
55
+ "source": {
56
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
57
+ "node_id": "Line01/CV102/RunFeedback"
58
+ },
59
+ "tag_path": "",
60
+ "approval": "PENDING_ENGINEER_REVIEW"
61
+ },
62
+ {
63
+ "signal_id": "S_CV102_FAULT",
64
+ "asset_id": "CV102",
65
+ "role": "fault",
66
+ "source": {
67
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
68
+ "node_id": "Line01/CV102/MotorFault"
69
+ },
70
+ "tag_path": "",
71
+ "approval": "PENDING_ENGINEER_REVIEW"
72
+ },
73
+ {
74
+ "signal_id": "S_CV201_RUN_FEEDBACK",
75
+ "asset_id": "CV201",
76
+ "role": "run_feedback",
77
+ "source": {
78
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
79
+ "node_id": "Line01/CV201/RunFeedback"
80
+ },
81
+ "tag_path": "",
82
+ "approval": "PENDING_ENGINEER_REVIEW"
83
+ },
84
+ {
85
+ "signal_id": "S_CV201_FAULT",
86
+ "asset_id": "CV201",
87
+ "role": "fault",
88
+ "source": {
89
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
90
+ "node_id": "Line01/CV201/MotorFault"
91
+ },
92
+ "tag_path": "",
93
+ "approval": "PENDING_ENGINEER_REVIEW"
94
+ },
95
+ {
96
+ "signal_id": "S_SORT201_RUN_FEEDBACK",
97
+ "asset_id": "SORT201",
98
+ "role": "run_feedback",
99
+ "source": {
100
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
101
+ "node_id": "Line01/SORT201/RunFeedback"
102
+ },
103
+ "tag_path": "",
104
+ "approval": "PENDING_ENGINEER_REVIEW"
105
+ },
106
+ {
107
+ "signal_id": "S_SORT201_FAULT",
108
+ "asset_id": "SORT201",
109
+ "role": "fault",
110
+ "source": {
111
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
112
+ "node_id": "Line01/SORT201/MotorFault"
113
+ },
114
+ "tag_path": "",
115
+ "approval": "PENDING_ENGINEER_REVIEW"
116
+ },
117
+ {
118
+ "signal_id": "S_CV202_RUN_FEEDBACK",
119
+ "asset_id": "CV202",
120
+ "role": "run_feedback",
121
+ "source": {
122
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
123
+ "node_id": "Line01/CV202/RunFeedback"
124
+ },
125
+ "tag_path": "",
126
+ "approval": "PENDING_ENGINEER_REVIEW"
127
+ },
128
+ {
129
+ "signal_id": "S_CV202_FAULT",
130
+ "asset_id": "CV202",
131
+ "role": "fault",
132
+ "source": {
133
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
134
+ "node_id": "Line01/CV202/MotorFault"
135
+ },
136
+ "tag_path": "",
137
+ "approval": "PENDING_ENGINEER_REVIEW"
138
+ },
139
+ {
140
+ "signal_id": "S_CV203_RUN_FEEDBACK",
141
+ "asset_id": "CV203",
142
+ "role": "run_feedback",
143
+ "source": {
144
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
145
+ "node_id": "Line01/CV203/RunFeedback"
146
+ },
147
+ "tag_path": "",
148
+ "approval": "PENDING_ENGINEER_REVIEW"
149
+ },
150
+ {
151
+ "signal_id": "S_CV203_FAULT",
152
+ "asset_id": "CV203",
153
+ "role": "fault",
154
+ "source": {
155
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
156
+ "node_id": "Line01/CV203/MotorFault"
157
+ },
158
+ "tag_path": "",
159
+ "approval": "PENDING_ENGINEER_REVIEW"
160
+ },
161
+ {
162
+ "signal_id": "S_CV301_RUN_FEEDBACK",
163
+ "asset_id": "CV301",
164
+ "role": "run_feedback",
165
+ "source": {
166
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
167
+ "node_id": "Line01/CV301/RunFeedback"
168
+ },
169
+ "tag_path": "",
170
+ "approval": "PENDING_ENGINEER_REVIEW"
171
+ },
172
+ {
173
+ "signal_id": "S_CV301_FAULT",
174
+ "asset_id": "CV301",
175
+ "role": "fault",
176
+ "source": {
177
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
178
+ "node_id": "Line01/CV301/MotorFault"
179
+ },
180
+ "tag_path": "",
181
+ "approval": "PENDING_ENGINEER_REVIEW"
182
+ },
183
+ {
184
+ "signal_id": "S_CV302_RUN_FEEDBACK",
185
+ "asset_id": "CV302",
186
+ "role": "run_feedback",
187
+ "source": {
188
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
189
+ "node_id": "Line01/CV302/RunFeedback"
190
+ },
191
+ "tag_path": "",
192
+ "approval": "PENDING_ENGINEER_REVIEW"
193
+ },
194
+ {
195
+ "signal_id": "S_CV302_FAULT",
196
+ "asset_id": "CV302",
197
+ "role": "fault",
198
+ "source": {
199
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
200
+ "node_id": "Line01/CV302/MotorFault"
201
+ },
202
+ "tag_path": "",
203
+ "approval": "PENDING_ENGINEER_REVIEW"
204
+ },
205
+ {
206
+ "signal_id": "S_CV303_RUN_FEEDBACK",
207
+ "asset_id": "CV303",
208
+ "role": "run_feedback",
209
+ "source": {
210
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
211
+ "node_id": "Line01/CV303/RunFeedback"
212
+ },
213
+ "tag_path": "",
214
+ "approval": "PENDING_ENGINEER_REVIEW"
215
+ },
216
+ {
217
+ "signal_id": "S_CV303_FAULT",
218
+ "asset_id": "CV303",
219
+ "role": "fault",
220
+ "source": {
221
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
222
+ "node_id": "Line01/CV303/MotorFault"
223
+ },
224
+ "tag_path": "",
225
+ "approval": "PENDING_ENGINEER_REVIEW"
226
+ },
227
+ {
228
+ "signal_id": "S_PE101_PHOTOEYE_BLOCKED",
229
+ "asset_id": "PE101",
230
+ "role": "photoeye_blocked",
231
+ "source": {
232
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
233
+ "node_id": "Line01/PE101/Blocked"
234
+ },
235
+ "tag_path": "",
236
+ "approval": "PENDING_ENGINEER_REVIEW"
237
+ },
238
+ {
239
+ "signal_id": "S_PE101_PHOTOEYE_COUNT",
240
+ "asset_id": "PE101",
241
+ "role": "photoeye_count",
242
+ "source": {
243
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
244
+ "node_id": "Line01/PE101/EdgeCount"
245
+ },
246
+ "tag_path": "",
247
+ "approval": "PENDING_ENGINEER_REVIEW"
248
+ },
249
+ {
250
+ "signal_id": "S_PE201_PHOTOEYE_BLOCKED",
251
+ "asset_id": "PE201",
252
+ "role": "photoeye_blocked",
253
+ "source": {
254
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
255
+ "node_id": "Line01/PE201/Blocked"
256
+ },
257
+ "tag_path": "",
258
+ "approval": "PENDING_ENGINEER_REVIEW"
259
+ },
260
+ {
261
+ "signal_id": "S_PE201_PHOTOEYE_COUNT",
262
+ "asset_id": "PE201",
263
+ "role": "photoeye_count",
264
+ "source": {
265
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
266
+ "node_id": "Line01/PE201/EdgeCount"
267
+ },
268
+ "tag_path": "",
269
+ "approval": "PENDING_ENGINEER_REVIEW"
270
+ },
271
+ {
272
+ "signal_id": "S_PE301_PHOTOEYE_BLOCKED",
273
+ "asset_id": "PE301",
274
+ "role": "photoeye_blocked",
275
+ "source": {
276
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
277
+ "node_id": "Line01/PE301/Blocked"
278
+ },
279
+ "tag_path": "",
280
+ "approval": "PENDING_ENGINEER_REVIEW"
281
+ },
282
+ {
283
+ "signal_id": "S_PE301_PHOTOEYE_COUNT",
284
+ "asset_id": "PE301",
285
+ "role": "photoeye_count",
286
+ "source": {
287
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
288
+ "node_id": "Line01/PE301/EdgeCount"
289
+ },
290
+ "tag_path": "",
291
+ "approval": "PENDING_ENGINEER_REVIEW"
292
+ },
293
+ {
294
+ "signal_id": "S_DWS01_SCANNER_RESULT",
295
+ "asset_id": "DWS01",
296
+ "role": "scanner_result",
297
+ "source": {
298
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
299
+ "node_id": "Line01/DWS01/LastResult"
300
+ },
301
+ "tag_path": "",
302
+ "approval": "PENDING_ENGINEER_REVIEW"
303
+ },
304
+ {
305
+ "signal_id": "S_DWS01_NO_READ_COUNT",
306
+ "asset_id": "DWS01",
307
+ "role": "no_read_count",
308
+ "source": {
309
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
310
+ "node_id": "Line01/DWS01/NoReadCount"
311
+ },
312
+ "tag_path": "",
313
+ "approval": "PENDING_ENGINEER_REVIEW"
314
+ },
315
+ {
316
+ "signal_id": "S_SCN201_SCANNER_RESULT",
317
+ "asset_id": "SCN201",
318
+ "role": "scanner_result",
319
+ "source": {
320
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
321
+ "node_id": "Line01/SCN201/LastResult"
322
+ },
323
+ "tag_path": "",
324
+ "approval": "PENDING_ENGINEER_REVIEW"
325
+ },
326
+ {
327
+ "signal_id": "S_SCN201_NO_READ_COUNT",
328
+ "asset_id": "SCN201",
329
+ "role": "no_read_count",
330
+ "source": {
331
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
332
+ "node_id": "Line01/SCN201/NoReadCount"
333
+ },
334
+ "tag_path": "",
335
+ "approval": "PENDING_ENGINEER_REVIEW"
336
+ },
337
+ {
338
+ "signal_id": "S_VFD101_VFD_FREQUENCY",
339
+ "asset_id": "VFD101",
340
+ "role": "vfd_frequency",
341
+ "source": {
342
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
343
+ "node_id": "Line01/VFD101/ActualHz"
344
+ },
345
+ "tag_path": "",
346
+ "approval": "PENDING_ENGINEER_REVIEW"
347
+ },
348
+ {
349
+ "signal_id": "S_VFD201_VFD_FREQUENCY",
350
+ "asset_id": "VFD201",
351
+ "role": "vfd_frequency",
352
+ "source": {
353
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
354
+ "node_id": "Line01/VFD201/ActualHz"
355
+ },
356
+ "tag_path": "",
357
+ "approval": "PENDING_ENGINEER_REVIEW"
358
+ },
359
+ {
360
+ "signal_id": "S_VFD301_VFD_FREQUENCY",
361
+ "asset_id": "VFD301",
362
+ "role": "vfd_frequency",
363
+ "source": {
364
+ "namespace_uri": "urn:customer:warehouse:opc:preview",
365
+ "node_id": "Line01/VFD301/ActualHz"
366
+ },
367
+ "tag_path": "",
368
+ "approval": "PENDING_ENGINEER_REVIEW"
369
+ }
370
+ ],
371
+ "note": "No tag paths are inferred. Provide only isolated DevAgentLab provider paths from reviewed test Gateway."
372
+ }