-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
294 lines (294 loc) · 12.2 KB
/
Copy pathpackage.json
File metadata and controls
294 lines (294 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
{
"name": "labview-benchmark-actor",
"displayName": "LabVIEW Benchmark Actor",
"description": "Standalone agentic benchmark-actor infrastructure with cross-plane coordination (lbabus) for LabVIEW benchmarking.",
"version": "0.5.0",
"publisher": "labview-community-ci-cd",
"license": "0BSD",
"repository": {
"type": "git",
"url": "https://github.com/LabVIEW-Community-CI-CD/labview-benchmark-actor"
},
"homepage": "https://github.com/LabVIEW-Community-CI-CD/labview-benchmark-actor#readme",
"bugs": {
"url": "https://github.com/LabVIEW-Community-CI-CD/labview-benchmark-actor/issues"
},
"qna": false,
"icon": "media/icon.png",
"galleryBanner": {
"color": "#181A21",
"theme": "dark"
},
"keywords": [
"labview",
"benchmark",
"benchmarking",
"mcp",
"coordination",
"cross-plane",
"lbabus",
"agentic"
],
"engines": {
"vscode": "^1.101.0"
},
"categories": [
"Visualization",
"Testing",
"Other"
],
"activationEvents": [],
"main": "./out/extension.js",
"contributes": {
"mcpServerDefinitionProviders": [
{
"id": "labviewBenchmarkActor",
"label": "LabVIEW Benchmark Actor: MCP tools"
}
],
"commands": [
{
"command": "labviewBenchmarkActor.showCapabilities",
"title": "LabVIEW Benchmark Actor: Show Host Capabilities"
},
{
"command": "labviewBenchmarkActor.pollBus",
"title": "LabVIEW Benchmark Actor: Poll Coordination Bus"
},
{
"command": "labviewBenchmarkActor.postNote",
"title": "LabVIEW Benchmark Actor: Post Coordination Note"
},
{
"command": "labviewBenchmarkActor.openViewer",
"title": "LabVIEW Benchmark Actor: Open Benchmark Viewer"
},
{
"command": "labviewBenchmarkActor.openBenchmarkRun",
"title": "LabVIEW Benchmark Actor: Open Benchmark Run"
},
{
"command": "labviewBenchmarkActor.openBenchmarkTrend",
"title": "LabVIEW Benchmark Actor: Open Benchmark Trend"
},
{
"command": "labviewBenchmarkActor.openFrameCorrelator",
"title": "LabVIEW Benchmark Actor: Open Benchmark Frame Correlator"
},
{
"command": "labviewBenchmarkActor.openCrossPlaneTrend",
"title": "LabVIEW Benchmark Actor: Open Cross-Plane Benchmark Trend"
},
{
"command": "labviewBenchmarkActor.openResourceProfile",
"title": "LabVIEW Benchmark Actor: Open Benchmark Resource Profile"
},
{
"command": "labviewBenchmarkActor.openCrossPlaneResource",
"title": "LabVIEW Benchmark Actor: Open Cross-Plane Resource Agreement"
},
{
"command": "labviewBenchmarkActor.openMeshCalibration",
"title": "LabVIEW Benchmark Actor: Open Mesh-Stress Calibration"
},
{
"command": "labviewBenchmarkActor.openMeshBoard",
"title": "LabVIEW Benchmark Actor: Open Concurrent Mesh Board"
},
{
"command": "labviewBenchmarkActor.captureLaunch",
"title": "LabVIEW Benchmark Actor: Capture LabVIEW Launch"
},
{
"command": "labviewBenchmarkActor.stopCapture",
"title": "LabVIEW Benchmark Actor: Stop LabVIEW Capture"
},
{
"command": "labviewBenchmarkActor.markStepDone",
"title": "LabVIEW Benchmark Actor: Mark Handoff Step Done"
},
{
"command": "labviewBenchmarkActor.skipStep",
"title": "LabVIEW Benchmark Actor: Skip Handoff Step"
},
{
"command": "labviewBenchmarkActor.renderReviewerVerdict",
"title": "LabVIEW Benchmark Actor: Render Reviewer Verdict"
},
{
"command": "labviewBenchmarkActor.writeAgents",
"title": "LabVIEW Benchmark Actor: Write Agent Instructions"
},
{
"command": "labviewBenchmarkActor.showAgents",
"title": "LabVIEW Benchmark Actor: Show Agent Instructions"
},
{
"command": "labviewBenchmarkActor.checkAgents",
"title": "LabVIEW Benchmark Actor: Check Agent Instructions"
},
{
"command": "labviewBenchmarkActor.createCleanroom",
"title": "LabVIEW Benchmark Actor: Create Cleanroom Worker VM"
},
{
"command": "labviewBenchmarkActor.bootstrapAuthoringLane",
"title": "LabVIEW Benchmark Actor: Bootstrap LabVIEW Authoring Lane (Windows)"
},
{
"command": "labviewBenchmarkActor.runCorroborationGrid",
"title": "LabVIEW Benchmark Actor: Run Corroboration Grid"
},
{
"command": "labviewBenchmarkActor.verifyReleaseProvenance",
"title": "LabVIEW Benchmark Actor: Verify Release Provenance"
}
],
"languageModelTools": [
{
"name": "lba-open-benchmark-panel",
"displayName": "Open LabVIEW Benchmark Panel",
"modelDescription": "Open one of the LabVIEW Benchmark Actor webview panels in the editor so the user can SEE the captured LabVIEW IDE-launch benchmark evidence. Choose the panel via the 'panel' input: 'run' (a single launch: launchMs + the UI-READY settle frame), 'trend' (launchMs across N runs + baseline + PASS/REGRESSION verdict), 'frameCorrelator' (scrub the frames of one LabVIEW launch over time with a grab-and-drag red line -- CPU/RAM/disk curves on top, the real captured screenshot at that frame below), 'crossPlaneTrend' (Windows vs Linux launchMs trends overlaid), 'resourceProfile' (CPU/RAM/disk sampled during the launch, split at the UI-READY trigger), or 'crossPlaneResource' (Windows vs Linux resource deltas + agreement). Use lba-benchmark-summary first if you want the numbers to explain.",
"userDescription": "Open a LabVIEW Benchmark Actor panel",
"toolReferenceName": "lbaBenchmarkPanel",
"canBeReferencedInPrompt": true,
"icon": "$(graph)",
"tags": [
"labview",
"benchmark"
],
"inputSchema": {
"type": "object",
"properties": {
"panel": {
"type": "string",
"enum": [
"run",
"trend",
"frameCorrelator",
"crossPlaneTrend",
"resourceProfile",
"crossPlaneResource"
],
"description": "Which benchmark panel to open."
}
},
"required": [
"panel"
]
}
},
{
"name": "lba-benchmark-summary",
"displayName": "LabVIEW Benchmark Summary",
"modelDescription": "Return a plain-text summary of the LabVIEW Benchmark Actor's captured LabVIEW IDE-launch evidence: the single-run launchMs, the launchMs trend (mean + PASS/REGRESSION verdict), the cross-plane launchMs delta (Windows vs Linux), and the live resource correlation (RAM/CPU/disk pre->post deltas) plus the cross-plane resource agreement. Use this to EXPLAIN the numbers behind the panels. Read-only; takes no input.",
"userDescription": "Summarize the captured LabVIEW benchmark numbers",
"toolReferenceName": "lbaBenchmarkSummary",
"canBeReferencedInPrompt": true,
"icon": "$(list-flat)",
"tags": [
"labview",
"benchmark"
],
"inputSchema": {
"type": "object",
"properties": {}
}
}
],
"walkthroughs": [
{
"id": "lbaGettingStarted",
"title": "Get started with LabVIEW Benchmark Actor",
"description": "See the real captured LabVIEW IDE-launch benchmark evidence, and drive it from Copilot agent mode.",
"steps": [
{
"id": "overview",
"title": "See a real LabVIEW launch benchmark",
"description": "The extension ships real captured LabVIEW launch evidence.\n[Open Benchmark Trend](command:labviewBenchmarkActor.openBenchmarkTrend)",
"media": {
"markdown": "media/walkthrough/overview.md"
}
},
{
"id": "run",
"title": "Capture a LabVIEW launch + scrub its frames",
"description": "Record a real LabVIEW launch at 12 fps, then grab the red line to scrub CPU/RAM/disk against the captured screenshot at each frame.\n[Capture LabVIEW Launch](command:labviewBenchmarkActor.captureLaunch)\n[Open Benchmark Run](command:labviewBenchmarkActor.openBenchmarkRun)\n[Open Frame Correlator](command:labviewBenchmarkActor.openFrameCorrelator)",
"media": {
"markdown": "media/walkthrough/run.md"
}
},
{
"id": "resources",
"title": "The resource cost of a launch",
"description": "CPU / RAM / disk during the launch, and how the two hypervisor planes agree.\n[Open Resource Profile](command:labviewBenchmarkActor.openResourceProfile)\n[Open Cross-Plane Resource Agreement](command:labviewBenchmarkActor.openCrossPlaneResource)",
"media": {
"markdown": "media/walkthrough/resources.md"
}
},
{
"id": "agent",
"title": "Drive it from Copilot agent mode",
"description": "A Copilot agent can open these panels and summarize the numbers from a prompt.\n[Open Benchmark Viewer](command:labviewBenchmarkActor.openViewer)",
"media": {
"markdown": "media/walkthrough/agent.md"
}
}
]
}
],
"configuration": {
"title": "LabVIEW Benchmark Actor",
"properties": {
"labviewBenchmarkActor.ffmpegPath": {
"type": "string",
"default": "",
"markdownDescription": "Path to `ffmpeg.exe` used to capture the LabVIEW launch at 12 fps (Windows `gdigrab`). Leave empty to auto-resolve the copy the installer stages at `%LOCALAPPDATA%\\lba\\ffmpeg.exe`, else `ffmpeg` from `PATH`."
},
"labviewBenchmarkActor.labviewPath": {
"type": "string",
"default": "",
"markdownDescription": "Path to the `LabVIEW.exe` to launch for a capture. Leave empty to auto-detect LabVIEW 2026 (32-bit then 64-bit) under `National Instruments`."
},
"labviewBenchmarkActor.reviewerId": {
"type": "string",
"default": "",
"markdownDescription": "The enrolled reviewer identity (e.g. an email) recorded + signed into a reviewer visual verdict. Its Ed25519 public key must be enrolled in the release reviewer allowlist. Required by **Render Reviewer Verdict**."
},
"labviewBenchmarkActor.reviewerKeyPath": {
"type": "string",
"default": "",
"markdownDescription": "Path to the enrolled reviewer's Ed25519 **private** key (PKCS#8 PEM) used to sign a reviewer visual verdict IN the VM. Keep this file local to the reviewer station; never commit it. Required by **Render Reviewer Verdict**."
},
"labviewBenchmarkActor.busNetHosts": {
"type": "string",
"default": "",
"markdownDescription": "Peer host(s) (comma-separated) that the `lbabus net` coordination bus `net send`s to (e.g. `10.0.2.2` for the VM->host bridge). Empty = a graceful no-op (nothing is announced). **Post Note** + verdict announcements use this."
},
"labviewBenchmarkActor.busNetLog": {
"type": "string",
"default": "",
"markdownDescription": "Path to this actor's local `lbabus net` receive-log (written by `net listen --log`) that **Poll Bus** reads. Empty = the CLI default."
}
}
}
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./ && node scripts/stage-media.mjs && node scripts/stage-acg-mcp.mjs",
"watch": "tsc -watch -p ./",
"lba": "node scripts/lba.mjs",
"test": "npm run compile && node test/extension-activation.mjs && node test/viewer-render.mjs && node test/viewer-plain-render.mjs && node test/panels-render.mjs && node test/mcp-server.mjs && node scripts/mcpToolDoc.mjs --check docs/mcp-tools.md",
"package": "vsce package --out labview-benchmark-actor.vsix",
"test:coverage": "node scripts/coverage.mjs",
"coverage:bump": "node scripts/coverage.mjs --bump"
},
"devDependencies": {
"@types/node": "^20.11.30",
"@types/vscode": "^1.85.0",
"@vscode/vsce": "^2.24.0",
"c8": "^12.0.0",
"jsdom": "^30.0.0",
"typescript": "^5.4.5"
}
}