@performance-agent/mcp-server 1.0.1 → 1.0.6

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.

Potentially problematic release.


This version of @performance-agent/mcp-server might be problematic. Click here for more details.

Files changed (45) hide show
  1. package/README.md +400 -25
  2. package/dist/index.d.ts +14 -4
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +783 -47
  5. package/dist/index.js.map +1 -1
  6. package/dist/prompts/jmx_prompt.txt +262 -0
  7. package/dist/prompts/prompts/jmx_prompt.txt +262 -0
  8. package/dist/tools/azure-infra/config-parser.d.ts +14 -0
  9. package/dist/tools/azure-infra/config-parser.d.ts.map +1 -0
  10. package/dist/tools/azure-infra/config-parser.js +361 -0
  11. package/dist/tools/azure-infra/config-parser.js.map +1 -0
  12. package/dist/tools/azure-infra/index.d.ts +52 -0
  13. package/dist/tools/azure-infra/index.d.ts.map +1 -0
  14. package/dist/tools/azure-infra/index.js +448 -0
  15. package/dist/tools/azure-infra/index.js.map +1 -0
  16. package/dist/tools/azure-infra/terraform-generator.d.ts +19 -0
  17. package/dist/tools/azure-infra/terraform-generator.d.ts.map +1 -0
  18. package/dist/tools/azure-infra/terraform-generator.js +458 -0
  19. package/dist/tools/azure-infra/terraform-generator.js.map +1 -0
  20. package/dist/tools/azure-infra/types.d.ts +123 -0
  21. package/dist/tools/azure-infra/types.d.ts.map +1 -0
  22. package/dist/tools/azure-infra/types.js +95 -0
  23. package/dist/tools/azure-infra/types.js.map +1 -0
  24. package/dist/tools/cloud-executor/index.d.ts +78 -0
  25. package/dist/tools/cloud-executor/index.d.ts.map +1 -0
  26. package/dist/tools/cloud-executor/index.js +528 -0
  27. package/dist/tools/cloud-executor/index.js.map +1 -0
  28. package/dist/tools/cloud-executor/result-analyzer.d.ts +65 -0
  29. package/dist/tools/cloud-executor/result-analyzer.d.ts.map +1 -0
  30. package/dist/tools/cloud-executor/result-analyzer.js +367 -0
  31. package/dist/tools/cloud-executor/result-analyzer.js.map +1 -0
  32. package/dist/tools/cloud-executor/vm-metrics.d.ts +87 -0
  33. package/dist/tools/cloud-executor/vm-metrics.d.ts.map +1 -0
  34. package/dist/tools/cloud-executor/vm-metrics.js +506 -0
  35. package/dist/tools/cloud-executor/vm-metrics.js.map +1 -0
  36. package/dist/tools/jmx-generator/index.d.ts +20 -0
  37. package/dist/tools/jmx-generator/index.d.ts.map +1 -0
  38. package/dist/tools/jmx-generator/index.js +115 -0
  39. package/dist/tools/jmx-generator/index.js.map +1 -0
  40. package/dist/tools/jmx-generator/sanitizer.d.ts +19 -0
  41. package/dist/tools/jmx-generator/sanitizer.d.ts.map +1 -0
  42. package/dist/tools/jmx-generator/sanitizer.js +166 -0
  43. package/dist/tools/jmx-generator/sanitizer.js.map +1 -0
  44. package/package.json +5 -2
  45. package/scripts/copy-prompts.js +46 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ """
2
+ You are an expert in generating valid, loadable JMeter .jmx files from Swagger/OpenAPI specifications.
3
+
4
+ *** CRITICAL REQUIREMENTS ***
5
+ 1. The ROOT element <jmeterTestPlan> has NO testclass/guiclass attributes - only version, properties, jmeter
6
+ 2. EVERY test element INSIDE must have both 'testclass' and 'guiclass' attributes
7
+ 3. NEVER use elementType="ArrayList" or elementType="StringParameter"
8
+ 4. For TestPlan user variables: use elementType="Argument"
9
+ 5. For HTTPSamplerProxy arguments: use elementType="HTTPArgument" (NOT Argument!)
10
+ 6. Follow exact JMeter 5.6.3 XML structure with proper hashTree nesting
11
+ 7. Assertions are placeholders for now (response code checks only)
12
+
13
+ *** ABSOLUTE XML RULES ***
14
+ - Start with: <?xml version="1.0" encoding="UTF-8"?>
15
+ - Root must be: <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3"> (NO testclass/guiclass!)
16
+ - First child of jmeterTestPlan must be: <hashTree> containing TestPlan and its hashTree
17
+ - Property types: <stringProp>, <boolProp> (NOT booleanProp!), <intProp>, <longProp>
18
+ - NEVER use simple tags like <argument>, <name>, <value> - ONLY use proper JMeter elements
19
+ - For variables: ALWAYS use <elementProp name="varname" elementType="Argument"> with nested stringProp
20
+ - Allowed element types: jmeterTestPlan, TestPlan, hashTree, Arguments, elementProp, collectionProp, stringProp, boolProp, intProp, longProp, ThreadGroup, HTTPSamplerProxy, ResponseAssertion, ConfigTestElement, HeaderManager, CSVDataSet
21
+ - Forbidden: <argument>, <name>, <value>, booleanProp, elementType="ArrayList", elementType="StringParameter", unsupported element types, or missing <hashTree> after elements
22
+ - Every test element must be immediately followed by <hashTree> (empty or with children)
23
+
24
+ *** CRITICAL HASHTREE RULES ***
25
+ 1. Every test element MUST be immediately followed by <hashTree>
26
+ 2. If element has no children: use <hashTree/> (self-closing)
27
+ 3. If element has children: <hashTree> contains child elements, each followed by their own <hashTree>
28
+ 4. Pattern: <Element>...</Element><hashTree>child elements here</hashTree>
29
+ 5. NEVER put <hashTree> inside another <hashTree> without a test element between them
30
+
31
+ *** REQUIRED ATTRIBUTES FOR EACH ELEMENT ***
32
+ - TestPlan: guiclass="TestPlanGui" testclass="TestPlan"
33
+ * MUST include this elementProp inside the TestPlan element:
34
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables"><collectionProp name="Arguments.arguments"/></elementProp>
35
+ - ThreadGroup: guiclass="ThreadGroupGui" testclass="ThreadGroup"
36
+ - HTTPSamplerProxy: guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy"
37
+ - Arguments: guiclass="ArgumentsPanel" testclass="Arguments"
38
+ - ResponseAssertion: guiclass="AssertionGui" testclass="ResponseAssertion"
39
+ - HeaderManager: guiclass="HeaderPanel" testclass="HeaderManager"
40
+
41
+ MANDATORY ADDITIONS:
42
+ - Always create a separate User Defined Variables config element (Arguments) as the FIRST child under TestPlan's hashTree
43
+ - NEVER embed variables directly in TestPlan.user_defined_variables property
44
+ - Structure for User Defined Variables:
45
+ <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
46
+ <collectionProp name="Arguments.arguments">
47
+ <elementProp name="Host" elementType="Argument">
48
+ <stringProp name="Argument.name">Host</stringProp>
49
+ <stringProp name="Argument.value">petstore.swagger.io</stringProp>
50
+ <stringProp name="Argument.metadata">=</stringProp>
51
+ </elementProp>
52
+ <elementProp name="Basepath" elementType="Argument">
53
+ <stringProp name="Argument.name">Basepath</stringProp>
54
+ <stringProp name="Argument.value">/v2</stringProp>
55
+ <stringProp name="Argument.metadata">=</stringProp>
56
+ </elementProp>
57
+ <elementProp name="AppUrl" elementType="Argument">
58
+ <stringProp name="Argument.name">AppUrl</stringProp>
59
+ <stringProp name="Argument.value">${Host}${Basepath}</stringProp>
60
+ <stringProp name="Argument.metadata">=</stringProp>
61
+ </elementProp>
62
+ <elementProp name="ThreadCount_<tag>" elementType="Argument">
63
+ <stringProp name="Argument.name">ThreadCount_<tag></stringProp>
64
+ <stringProp name="Argument.value">1</stringProp>
65
+ <stringProp name="Argument.metadata">=</stringProp>
66
+ </elementProp>
67
+ <elementProp name="RampUpPeriod_<tag>" elementType="Argument">
68
+ <stringProp name="Argument.name">RampUpPeriod_<tag></stringProp>
69
+ <stringProp name="Argument.value">1</stringProp>
70
+ <stringProp name="Argument.metadata">=</stringProp>
71
+ </elementProp>
72
+ <elementProp name="LoopCount_<tag>" elementType="Argument">
73
+ <stringProp name="Argument.name">LoopCount_<tag></stringProp>
74
+ <stringProp name="Argument.value">1</stringProp>
75
+ <stringProp name="Argument.metadata">=</stringProp>
76
+ </elementProp>
77
+ </collectionProp>
78
+ </Arguments>
79
+ <hashTree/>
80
+ - Always add a CSV Data Set Config element as the SECOND child under TestPlan's hashTree:
81
+ <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
82
+ <stringProp name="delimiter">,</stringProp>
83
+ <stringProp name="filename">testdata.csv</stringProp>
84
+ <boolProp name="ignoreFirstLine">false</boolProp>
85
+ <boolProp name="quotedData">false</boolProp>
86
+ <boolProp name="recycle">true</boolProp>
87
+ <stringProp name="shareMode">shareMode.all</stringProp>
88
+ <boolProp name="stopThread">false</boolProp>
89
+ <stringProp name="variableNames"></stringProp>
90
+ </CSVDataSet>
91
+ <hashTree/>
92
+ - Always add "View Results Tree" listener as the SECOND LAST child under TestPlan's hashTree (after all ThreadGroups):
93
+ <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree">
94
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
95
+ <objProp>
96
+ <name>saveConfig</name>
97
+ <value class="SampleSaveConfiguration">
98
+ <time>true</time>
99
+ <latency>true</latency>
100
+ <timestamp>true</timestamp>
101
+ <success>true</success>
102
+ <label>true</label>
103
+ <code>true</code>
104
+ <message>true</message>
105
+ <threadName>true</threadName>
106
+ <dataType>true</dataType>
107
+ <encoding>false</encoding>
108
+ <assertions>true</assertions>
109
+ <subresults>true</subresults>
110
+ <responseData>false</responseData>
111
+ <samplerData>false</samplerData>
112
+ <xml>false</xml>
113
+ <fieldNames>true</fieldNames>
114
+ <responseHeaders>false</responseHeaders>
115
+ <requestHeaders>false</requestHeaders>
116
+ <responseDataOnError>false</responseDataOnError>
117
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
118
+ <assertionsResultsToSave>0</assertionsResultsToSave>
119
+ <bytes>true</bytes>
120
+ <sentBytes>true</sentBytes>
121
+ <url>true</url>
122
+ <threadCounts>true</threadCounts>
123
+ <idleTime>true</idleTime>
124
+ <connectTime>true</connectTime>
125
+ </value>
126
+ </objProp>
127
+ <stringProp name="filename"></stringProp>
128
+ </ResultCollector>
129
+ <hashTree/>
130
+ - Always add "Summary Report" listener as the LAST child under TestPlan's hashTree (after View Results Tree):
131
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report">
132
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
133
+ <objProp>
134
+ <name>saveConfig</name>
135
+ <value class="SampleSaveConfiguration">
136
+ <time>true</time>
137
+ <latency>true</latency>
138
+ <timestamp>true</timestamp>
139
+ <success>true</success>
140
+ <label>true</label>
141
+ <code>true</code>
142
+ <message>true</message>
143
+ <threadName>true</threadName>
144
+ <dataType>true</dataType>
145
+ <encoding>false</encoding>
146
+ <assertions>true</assertions>
147
+ <subresults>true</subresults>
148
+ <responseData>false</responseData>
149
+ <samplerData>false</samplerData>
150
+ <xml>false</xml>
151
+ <fieldNames>true</fieldNames>
152
+ <responseHeaders>false</responseHeaders>
153
+ <requestHeaders>false</requestHeaders>
154
+ <responseDataOnError>false</responseDataOnError>
155
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
156
+ <assertionsResultsToSave>0</assertionsResultsToSave>
157
+ <bytes>true</bytes>
158
+ <sentBytes>true</sentBytes>
159
+ <url>true</url>
160
+ <threadCounts>true</threadCounts>
161
+ <idleTime>true</idleTime>
162
+ <connectTime>true</connectTime>
163
+ </value>
164
+ </objProp>
165
+ <stringProp name="filename"></stringProp>
166
+ </ResultCollector>
167
+ <hashTree/>
168
+
169
+
170
+ *** TEST PLAN STRUCTURE ***
171
+ Hierarchy (CRITICAL ORDER):
172
+ 1. <TestPlan> (NO user_defined_variables property!)
173
+ <hashTree>
174
+ 2. <Arguments testname="User Defined Variables"> (separate config element)
175
+ - Host, Basepath, AppUrl (Host+Basepath concatenation)
176
+ - ThreadCount_<tag>, RampUpPeriod_<tag>, LoopCount_<tag>
177
+ <hashTree/>
178
+ 3. <CSVDataSet testname="CSV Data Set Config">
179
+ <hashTree/>
180
+ 4. <ThreadGroup testname="TG_<tagname>"> (one per Swagger tag)
181
+ <hashTree>
182
+ ... HTTP samplers here ...
183
+ </hashTree>
184
+ ... (additional ThreadGroups if multiple tags) ...
185
+ N-1. <ResultCollector testname="View Results Tree"> (listener - second last)
186
+ <hashTree/>
187
+ N. <ResultCollector testname="Summary Report"> (listener - last)
188
+ <hashTree/>
189
+ </hashTree>
190
+
191
+ - TestPlan element structure:
192
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
193
+ <stringProp name="TestPlan.comments"></stringProp>
194
+ <boolProp name="TestPlan.functional_mode">false</boolProp>
195
+ <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
196
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
197
+ <collectionProp name="Arguments.arguments"/>
198
+ </elementProp>
199
+ <stringProp name="TestPlan.user_define_classpath"></stringProp>
200
+ </TestPlan>
201
+ <hashTree> ... children go here ... </hashTree>
202
+ - Create ONE ThreadGroup per Swagger tag, named TG_<tagname>
203
+ - ThreadGroup structure:
204
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG_<tagname>" enabled="true">
205
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
206
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
207
+ <boolProp name="LoopController.continue_forever">false</boolProp>
208
+ <stringProp name="LoopController.loops">${LoopCount_<tag>}</stringProp>
209
+ </elementProp>
210
+ <stringProp name="ThreadGroup.num_threads">${ThreadCount_<tag>}</stringProp>
211
+ <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod_<tag>}</stringProp>
212
+ </ThreadGroup>
213
+ <hashTree> ... </hashTree>
214
+
215
+ *** HTTP SAMPLER STRUCTURE ***
216
+ - Name samplers: <METHOD> - <PATH>
217
+ - Order samplers inside ThreadGroup: POST → GET → PUT → DELETE
218
+ - Use ${AppUrl} for HTTPSampler.domain
219
+ - For POST/PUT with request body:
220
+ - Add JSON body in boolProp "HTTPSampler.postBodyRaw" section
221
+ - Add HeaderManager with Content-Type: application/json
222
+ - For GET/DELETE:
223
+ - Add query/path parameters as HTTPArgument
224
+ - Always include:
225
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
226
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
227
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
228
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
229
+ - If no file uploads needed, omit HTTPsampler.Files entirely
230
+
231
+ *** HEADERS & AUTHENTICATION ***
232
+ - Add HeaderManager for each sampler
233
+ - Include Content-Type: application/json for POST/PUT
234
+ - If Swagger defines securitySchemes, add Authorization header (e.g., Bearer ${token})
235
+
236
+ *** ASSERTIONS ***
237
+ - Add ResponseAssertion for each sampler
238
+ - Structure:
239
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
240
+ <collectionProp name="Asserion.test_strings">
241
+ <stringProp name="49586">200</stringProp>
242
+ </collectionProp>
243
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
244
+ </ResponseAssertion>
245
+ - CRITICAL: Test strings are DIRECT <stringProp> children, NOT wrapped in <elementProp>
246
+ - NEVER use elementType="Assertion"
247
+ - Placeholder: check response code (200, 201, etc.)
248
+ - Future enhancement: JSONPath/Regex assertions if response examples exist
249
+
250
+ *** DYNAMIC DATA HANDLING ***
251
+ - If Swagger defines path/query parameters, substitute with JMeter variables (e.g., ${petId})
252
+ - If multiple dynamic values are needed, generate a CSVDataSetConfig with variable names matching parameters
253
+ - If POST creates resources, prepare JSON Extractor to capture IDs for reuse in subsequent GET/DELETE samplers (optional future enhancement)
254
+
255
+ *** OUTPUT REQUIREMENTS ***
256
+ - ONLY raw XML, NO markdown blocks, NO comments, NO explanations
257
+ - Must be loadable in JMeter 5.6.3 without ANY errors
258
+ - Every element with testclass MUST have guiclass attribute
259
+
260
+ SWAGGER JSON:
261
+ {swagger_text}
262
+ """
@@ -0,0 +1,262 @@
1
+ """
2
+ You are an expert in generating valid, loadable JMeter .jmx files from Swagger/OpenAPI specifications.
3
+
4
+ *** CRITICAL REQUIREMENTS ***
5
+ 1. The ROOT element <jmeterTestPlan> has NO testclass/guiclass attributes - only version, properties, jmeter
6
+ 2. EVERY test element INSIDE must have both 'testclass' and 'guiclass' attributes
7
+ 3. NEVER use elementType="ArrayList" or elementType="StringParameter"
8
+ 4. For TestPlan user variables: use elementType="Argument"
9
+ 5. For HTTPSamplerProxy arguments: use elementType="HTTPArgument" (NOT Argument!)
10
+ 6. Follow exact JMeter 5.6.3 XML structure with proper hashTree nesting
11
+ 7. Assertions are placeholders for now (response code checks only)
12
+
13
+ *** ABSOLUTE XML RULES ***
14
+ - Start with: <?xml version="1.0" encoding="UTF-8"?>
15
+ - Root must be: <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.3"> (NO testclass/guiclass!)
16
+ - First child of jmeterTestPlan must be: <hashTree> containing TestPlan and its hashTree
17
+ - Property types: <stringProp>, <boolProp> (NOT booleanProp!), <intProp>, <longProp>
18
+ - NEVER use simple tags like <argument>, <name>, <value> - ONLY use proper JMeter elements
19
+ - For variables: ALWAYS use <elementProp name="varname" elementType="Argument"> with nested stringProp
20
+ - Allowed element types: jmeterTestPlan, TestPlan, hashTree, Arguments, elementProp, collectionProp, stringProp, boolProp, intProp, longProp, ThreadGroup, HTTPSamplerProxy, ResponseAssertion, ConfigTestElement, HeaderManager, CSVDataSet
21
+ - Forbidden: <argument>, <name>, <value>, booleanProp, elementType="ArrayList", elementType="StringParameter", unsupported element types, or missing <hashTree> after elements
22
+ - Every test element must be immediately followed by <hashTree> (empty or with children)
23
+
24
+ *** CRITICAL HASHTREE RULES ***
25
+ 1. Every test element MUST be immediately followed by <hashTree>
26
+ 2. If element has no children: use <hashTree/> (self-closing)
27
+ 3. If element has children: <hashTree> contains child elements, each followed by their own <hashTree>
28
+ 4. Pattern: <Element>...</Element><hashTree>child elements here</hashTree>
29
+ 5. NEVER put <hashTree> inside another <hashTree> without a test element between them
30
+
31
+ *** REQUIRED ATTRIBUTES FOR EACH ELEMENT ***
32
+ - TestPlan: guiclass="TestPlanGui" testclass="TestPlan"
33
+ * MUST include this elementProp inside the TestPlan element:
34
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables"><collectionProp name="Arguments.arguments"/></elementProp>
35
+ - ThreadGroup: guiclass="ThreadGroupGui" testclass="ThreadGroup"
36
+ - HTTPSamplerProxy: guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy"
37
+ - Arguments: guiclass="ArgumentsPanel" testclass="Arguments"
38
+ - ResponseAssertion: guiclass="AssertionGui" testclass="ResponseAssertion"
39
+ - HeaderManager: guiclass="HeaderPanel" testclass="HeaderManager"
40
+
41
+ MANDATORY ADDITIONS:
42
+ - Always create a separate User Defined Variables config element (Arguments) as the FIRST child under TestPlan's hashTree
43
+ - NEVER embed variables directly in TestPlan.user_defined_variables property
44
+ - Structure for User Defined Variables:
45
+ <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
46
+ <collectionProp name="Arguments.arguments">
47
+ <elementProp name="Host" elementType="Argument">
48
+ <stringProp name="Argument.name">Host</stringProp>
49
+ <stringProp name="Argument.value">petstore.swagger.io</stringProp>
50
+ <stringProp name="Argument.metadata">=</stringProp>
51
+ </elementProp>
52
+ <elementProp name="Basepath" elementType="Argument">
53
+ <stringProp name="Argument.name">Basepath</stringProp>
54
+ <stringProp name="Argument.value">/v2</stringProp>
55
+ <stringProp name="Argument.metadata">=</stringProp>
56
+ </elementProp>
57
+ <elementProp name="AppUrl" elementType="Argument">
58
+ <stringProp name="Argument.name">AppUrl</stringProp>
59
+ <stringProp name="Argument.value">${Host}${Basepath}</stringProp>
60
+ <stringProp name="Argument.metadata">=</stringProp>
61
+ </elementProp>
62
+ <elementProp name="ThreadCount_<tag>" elementType="Argument">
63
+ <stringProp name="Argument.name">ThreadCount_<tag></stringProp>
64
+ <stringProp name="Argument.value">1</stringProp>
65
+ <stringProp name="Argument.metadata">=</stringProp>
66
+ </elementProp>
67
+ <elementProp name="RampUpPeriod_<tag>" elementType="Argument">
68
+ <stringProp name="Argument.name">RampUpPeriod_<tag></stringProp>
69
+ <stringProp name="Argument.value">1</stringProp>
70
+ <stringProp name="Argument.metadata">=</stringProp>
71
+ </elementProp>
72
+ <elementProp name="LoopCount_<tag>" elementType="Argument">
73
+ <stringProp name="Argument.name">LoopCount_<tag></stringProp>
74
+ <stringProp name="Argument.value">1</stringProp>
75
+ <stringProp name="Argument.metadata">=</stringProp>
76
+ </elementProp>
77
+ </collectionProp>
78
+ </Arguments>
79
+ <hashTree/>
80
+ - Always add a CSV Data Set Config element as the SECOND child under TestPlan's hashTree:
81
+ <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="CSV Data Set Config" enabled="true">
82
+ <stringProp name="delimiter">,</stringProp>
83
+ <stringProp name="filename">testdata.csv</stringProp>
84
+ <boolProp name="ignoreFirstLine">false</boolProp>
85
+ <boolProp name="quotedData">false</boolProp>
86
+ <boolProp name="recycle">true</boolProp>
87
+ <stringProp name="shareMode">shareMode.all</stringProp>
88
+ <boolProp name="stopThread">false</boolProp>
89
+ <stringProp name="variableNames"></stringProp>
90
+ </CSVDataSet>
91
+ <hashTree/>
92
+ - Always add "View Results Tree" listener as the SECOND LAST child under TestPlan's hashTree (after all ThreadGroups):
93
+ <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree">
94
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
95
+ <objProp>
96
+ <name>saveConfig</name>
97
+ <value class="SampleSaveConfiguration">
98
+ <time>true</time>
99
+ <latency>true</latency>
100
+ <timestamp>true</timestamp>
101
+ <success>true</success>
102
+ <label>true</label>
103
+ <code>true</code>
104
+ <message>true</message>
105
+ <threadName>true</threadName>
106
+ <dataType>true</dataType>
107
+ <encoding>false</encoding>
108
+ <assertions>true</assertions>
109
+ <subresults>true</subresults>
110
+ <responseData>false</responseData>
111
+ <samplerData>false</samplerData>
112
+ <xml>false</xml>
113
+ <fieldNames>true</fieldNames>
114
+ <responseHeaders>false</responseHeaders>
115
+ <requestHeaders>false</requestHeaders>
116
+ <responseDataOnError>false</responseDataOnError>
117
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
118
+ <assertionsResultsToSave>0</assertionsResultsToSave>
119
+ <bytes>true</bytes>
120
+ <sentBytes>true</sentBytes>
121
+ <url>true</url>
122
+ <threadCounts>true</threadCounts>
123
+ <idleTime>true</idleTime>
124
+ <connectTime>true</connectTime>
125
+ </value>
126
+ </objProp>
127
+ <stringProp name="filename"></stringProp>
128
+ </ResultCollector>
129
+ <hashTree/>
130
+ - Always add "Summary Report" listener as the LAST child under TestPlan's hashTree (after View Results Tree):
131
+ <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report">
132
+ <boolProp name="ResultCollector.error_logging">false</boolProp>
133
+ <objProp>
134
+ <name>saveConfig</name>
135
+ <value class="SampleSaveConfiguration">
136
+ <time>true</time>
137
+ <latency>true</latency>
138
+ <timestamp>true</timestamp>
139
+ <success>true</success>
140
+ <label>true</label>
141
+ <code>true</code>
142
+ <message>true</message>
143
+ <threadName>true</threadName>
144
+ <dataType>true</dataType>
145
+ <encoding>false</encoding>
146
+ <assertions>true</assertions>
147
+ <subresults>true</subresults>
148
+ <responseData>false</responseData>
149
+ <samplerData>false</samplerData>
150
+ <xml>false</xml>
151
+ <fieldNames>true</fieldNames>
152
+ <responseHeaders>false</responseHeaders>
153
+ <requestHeaders>false</requestHeaders>
154
+ <responseDataOnError>false</responseDataOnError>
155
+ <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
156
+ <assertionsResultsToSave>0</assertionsResultsToSave>
157
+ <bytes>true</bytes>
158
+ <sentBytes>true</sentBytes>
159
+ <url>true</url>
160
+ <threadCounts>true</threadCounts>
161
+ <idleTime>true</idleTime>
162
+ <connectTime>true</connectTime>
163
+ </value>
164
+ </objProp>
165
+ <stringProp name="filename"></stringProp>
166
+ </ResultCollector>
167
+ <hashTree/>
168
+
169
+
170
+ *** TEST PLAN STRUCTURE ***
171
+ Hierarchy (CRITICAL ORDER):
172
+ 1. <TestPlan> (NO user_defined_variables property!)
173
+ <hashTree>
174
+ 2. <Arguments testname="User Defined Variables"> (separate config element)
175
+ - Host, Basepath, AppUrl (Host+Basepath concatenation)
176
+ - ThreadCount_<tag>, RampUpPeriod_<tag>, LoopCount_<tag>
177
+ <hashTree/>
178
+ 3. <CSVDataSet testname="CSV Data Set Config">
179
+ <hashTree/>
180
+ 4. <ThreadGroup testname="TG_<tagname>"> (one per Swagger tag)
181
+ <hashTree>
182
+ ... HTTP samplers here ...
183
+ </hashTree>
184
+ ... (additional ThreadGroups if multiple tags) ...
185
+ N-1. <ResultCollector testname="View Results Tree"> (listener - second last)
186
+ <hashTree/>
187
+ N. <ResultCollector testname="Summary Report"> (listener - last)
188
+ <hashTree/>
189
+ </hashTree>
190
+
191
+ - TestPlan element structure:
192
+ <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
193
+ <stringProp name="TestPlan.comments"></stringProp>
194
+ <boolProp name="TestPlan.functional_mode">false</boolProp>
195
+ <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
196
+ <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiClass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
197
+ <collectionProp name="Arguments.arguments"/>
198
+ </elementProp>
199
+ <stringProp name="TestPlan.user_define_classpath"></stringProp>
200
+ </TestPlan>
201
+ <hashTree> ... children go here ... </hashTree>
202
+ - Create ONE ThreadGroup per Swagger tag, named TG_<tagname>
203
+ - ThreadGroup structure:
204
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG_<tagname>" enabled="true">
205
+ <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
206
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
207
+ <boolProp name="LoopController.continue_forever">false</boolProp>
208
+ <stringProp name="LoopController.loops">${LoopCount_<tag>}</stringProp>
209
+ </elementProp>
210
+ <stringProp name="ThreadGroup.num_threads">${ThreadCount_<tag>}</stringProp>
211
+ <stringProp name="ThreadGroup.ramp_time">${RampUpPeriod_<tag>}</stringProp>
212
+ </ThreadGroup>
213
+ <hashTree> ... </hashTree>
214
+
215
+ *** HTTP SAMPLER STRUCTURE ***
216
+ - Name samplers: <METHOD> - <PATH>
217
+ - Order samplers inside ThreadGroup: POST → GET → PUT → DELETE
218
+ - Use ${AppUrl} for HTTPSampler.domain
219
+ - For POST/PUT with request body:
220
+ - Add JSON body in boolProp "HTTPSampler.postBodyRaw" section
221
+ - Add HeaderManager with Content-Type: application/json
222
+ - For GET/DELETE:
223
+ - Add query/path parameters as HTTPArgument
224
+ - Always include:
225
+ <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
226
+ <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
227
+ <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
228
+ <stringProp name="HTTPSampler.protocol">https</stringProp>
229
+ - If no file uploads needed, omit HTTPsampler.Files entirely
230
+
231
+ *** HEADERS & AUTHENTICATION ***
232
+ - Add HeaderManager for each sampler
233
+ - Include Content-Type: application/json for POST/PUT
234
+ - If Swagger defines securitySchemes, add Authorization header (e.g., Bearer ${token})
235
+
236
+ *** ASSERTIONS ***
237
+ - Add ResponseAssertion for each sampler
238
+ - Structure:
239
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
240
+ <collectionProp name="Asserion.test_strings">
241
+ <stringProp name="49586">200</stringProp>
242
+ </collectionProp>
243
+ <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
244
+ </ResponseAssertion>
245
+ - CRITICAL: Test strings are DIRECT <stringProp> children, NOT wrapped in <elementProp>
246
+ - NEVER use elementType="Assertion"
247
+ - Placeholder: check response code (200, 201, etc.)
248
+ - Future enhancement: JSONPath/Regex assertions if response examples exist
249
+
250
+ *** DYNAMIC DATA HANDLING ***
251
+ - If Swagger defines path/query parameters, substitute with JMeter variables (e.g., ${petId})
252
+ - If multiple dynamic values are needed, generate a CSVDataSetConfig with variable names matching parameters
253
+ - If POST creates resources, prepare JSON Extractor to capture IDs for reuse in subsequent GET/DELETE samplers (optional future enhancement)
254
+
255
+ *** OUTPUT REQUIREMENTS ***
256
+ - ONLY raw XML, NO markdown blocks, NO comments, NO explanations
257
+ - Must be loadable in JMeter 5.6.3 without ANY errors
258
+ - Every element with testclass MUST have guiclass attribute
259
+
260
+ SWAGGER JSON:
261
+ {swagger_text}
262
+ """
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Azure Infrastructure Configuration Parser
3
+ * Parses natural language descriptions into VM configurations
4
+ */
5
+ import { VMConfigInput, VMConfig } from './types.js';
6
+ /**
7
+ * Parse natural language VM description into structured config
8
+ */
9
+ export declare function parseVMDescription(description: string): VMConfigInput;
10
+ /**
11
+ * Resolve VM configuration with all defaults
12
+ */
13
+ export declare function resolveVMConfig(input: VMConfigInput): VMConfig;
14
+ //# sourceMappingURL=config-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../../src/tools/azure-infra/config-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,aAAa,EACb,QAAQ,EAOT,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAkErE;AA2ND;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAoD9D"}