@camunda/e2e-test-suite 0.0.1201 → 0.0.1203

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.
@@ -0,0 +1,232 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
3
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
4
+ xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
5
+ xmlns:zeebe="http://camunda.org/schema/zeebe/1.0"
6
+ xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
7
+ xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_ProcessInstance"
8
+ targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler"
9
+ exporterVersion="5336cca" modeler:executionPlatform="Camunda Cloud"
10
+ modeler:executionPlatformVersion="8.9.0">
11
+ <bpmn:process id="mcp_process_instance_tools" name="MCP Process Instance Tools"
12
+ isExecutable="true">
13
+ <bpmn:startEvent id="StartEvent_1">
14
+ <bpmn:outgoing>Flow_1nrepge</bpmn:outgoing>
15
+ </bpmn:startEvent>
16
+ <bpmn:endEvent id="EndEvent_1">
17
+ <bpmn:incoming>Flow_0jqbea8</bpmn:incoming>
18
+ </bpmn:endEvent>
19
+ <bpmn:serviceTask id="searchProcessInstances" name="searchProcessInstances"
20
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
21
+ zeebe:modelerTemplateVersion="2"
22
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
23
+ <bpmn:extensionElements>
24
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
25
+ <zeebe:ioMapping>
26
+ <zeebe:input source="http" target="data.transport.type" />
27
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
28
+ target="data.transport.http.url" />
29
+ <zeebe:input source="oauth-client-credentials-flow"
30
+ target="data.transport.http.authentication.type" />
31
+ <zeebe:input source="=mcpOauthUrl"
32
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
33
+ <zeebe:input source="=mcpClientId"
34
+ target="data.transport.http.authentication.clientId" />
35
+ <zeebe:input source="=mcpClientSecret"
36
+ target="data.transport.http.authentication.clientSecret" />
37
+ <zeebe:input source="=mcpTokenAudience"
38
+ target="data.transport.http.authentication.audience" />
39
+ <zeebe:input source="CREDENTIALS_BODY"
40
+ target="data.transport.http.authentication.clientAuthentication" />
41
+ <zeebe:input source="=true" target="data.options.clientCache" />
42
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
43
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
44
+ <zeebe:input source="searchProcessInstances"
45
+ target="data.connectorMode.operation.toolName" />
46
+ <zeebe:input
47
+ source="={&#34;filter&#34;:{&#34;processDefinitionKey&#34;:string(testFileProcessKey)}}"
48
+ target="data.connectorMode.operation.toolArguments" />
49
+ </zeebe:ioMapping>
50
+ <zeebe:taskHeaders>
51
+ <zeebe:header key="elementTemplateVersion" value="2" />
52
+ <zeebe:header key="elementTemplateId"
53
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
54
+ <zeebe:header key="resultVariable" value="mcpResultSearchProcessInstances" />
55
+ <zeebe:header key="retryBackoff" value="PT0S" />
56
+ </zeebe:taskHeaders>
57
+ </bpmn:extensionElements>
58
+ <bpmn:incoming>Flow_0l0tehi</bpmn:incoming>
59
+ <bpmn:outgoing>Flow_101za4d</bpmn:outgoing>
60
+ </bpmn:serviceTask>
61
+ <bpmn:sequenceFlow id="Flow_1nrepge" sourceRef="StartEvent_1" targetRef="Gateway_1axprup" />
62
+ <bpmn:sequenceFlow id="Flow_101za4d" sourceRef="searchProcessInstances"
63
+ targetRef="Gateway_1t2m7hj" />
64
+ <bpmn:parallelGateway id="Gateway_1t2m7hj">
65
+ <bpmn:incoming>Flow_101za4d</bpmn:incoming>
66
+ <bpmn:incoming>Flow_1x7w6kt</bpmn:incoming>
67
+ <bpmn:incoming>Flow_0lzmh5m</bpmn:incoming>
68
+ <bpmn:outgoing>Flow_0jqbea8</bpmn:outgoing>
69
+ </bpmn:parallelGateway>
70
+ <bpmn:parallelGateway id="Gateway_1axprup">
71
+ <bpmn:incoming>Flow_1nrepge</bpmn:incoming>
72
+ <bpmn:outgoing>Flow_0l0tehi</bpmn:outgoing>
73
+ <bpmn:outgoing>Flow_066dp5w</bpmn:outgoing>
74
+ <bpmn:outgoing>Flow_0kgfpue</bpmn:outgoing>
75
+ </bpmn:parallelGateway>
76
+ <bpmn:sequenceFlow id="Flow_0l0tehi" sourceRef="Gateway_1axprup"
77
+ targetRef="searchProcessInstances" />
78
+ <bpmn:serviceTask id="getProcessInstance" name="getProcessInstance"
79
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
80
+ zeebe:modelerTemplateVersion="2"
81
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
82
+ <bpmn:extensionElements>
83
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
84
+ <zeebe:ioMapping>
85
+ <zeebe:input source="http" target="data.transport.type" />
86
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
87
+ target="data.transport.http.url" />
88
+ <zeebe:input source="oauth-client-credentials-flow"
89
+ target="data.transport.http.authentication.type" />
90
+ <zeebe:input source="=mcpOauthUrl"
91
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
92
+ <zeebe:input source="=mcpClientId"
93
+ target="data.transport.http.authentication.clientId" />
94
+ <zeebe:input source="=mcpClientSecret"
95
+ target="data.transport.http.authentication.clientSecret" />
96
+ <zeebe:input source="=mcpTokenAudience"
97
+ target="data.transport.http.authentication.audience" />
98
+ <zeebe:input source="CREDENTIALS_BODY"
99
+ target="data.transport.http.authentication.clientAuthentication" />
100
+ <zeebe:input source="=true" target="data.options.clientCache" />
101
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
102
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
103
+ <zeebe:input source="getProcessInstance"
104
+ target="data.connectorMode.operation.toolName" />
105
+ <zeebe:input source="={&#34;processInstanceKey&#34;:string(testInstanceKey)}"
106
+ target="data.connectorMode.operation.toolArguments" />
107
+ </zeebe:ioMapping>
108
+ <zeebe:taskHeaders>
109
+ <zeebe:header key="elementTemplateVersion" value="2" />
110
+ <zeebe:header key="elementTemplateId"
111
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
112
+ <zeebe:header key="resultVariable" value="mcpResultGetProcessInstance" />
113
+ <zeebe:header key="retryBackoff" value="PT0S" />
114
+ </zeebe:taskHeaders>
115
+ </bpmn:extensionElements>
116
+ <bpmn:incoming>Flow_066dp5w</bpmn:incoming>
117
+ <bpmn:outgoing>Flow_1x7w6kt</bpmn:outgoing>
118
+ </bpmn:serviceTask>
119
+ <bpmn:sequenceFlow id="Flow_066dp5w" sourceRef="Gateway_1axprup"
120
+ targetRef="getProcessInstance" />
121
+ <bpmn:sequenceFlow id="Flow_1x7w6kt" sourceRef="getProcessInstance"
122
+ targetRef="Gateway_1t2m7hj" />
123
+ <bpmn:sequenceFlow id="Flow_0jqbea8" sourceRef="Gateway_1t2m7hj" targetRef="EndEvent_1" />
124
+ <bpmn:sequenceFlow id="Flow_0kgfpue" sourceRef="Gateway_1axprup"
125
+ targetRef="createProcessInstance" />
126
+ <bpmn:serviceTask id="createProcessInstance" name="createProcessInstance"
127
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
128
+ zeebe:modelerTemplateVersion="2"
129
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
130
+ <bpmn:extensionElements>
131
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
132
+ <zeebe:ioMapping>
133
+ <zeebe:input source="http" target="data.transport.type" />
134
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
135
+ target="data.transport.http.url" />
136
+ <zeebe:input source="oauth-client-credentials-flow"
137
+ target="data.transport.http.authentication.type" />
138
+ <zeebe:input source="=mcpOauthUrl"
139
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
140
+ <zeebe:input source="=mcpClientId"
141
+ target="data.transport.http.authentication.clientId" />
142
+ <zeebe:input source="=mcpClientSecret"
143
+ target="data.transport.http.authentication.clientSecret" />
144
+ <zeebe:input source="=mcpTokenAudience"
145
+ target="data.transport.http.authentication.audience" />
146
+ <zeebe:input source="CREDENTIALS_BODY"
147
+ target="data.transport.http.authentication.clientAuthentication" />
148
+ <zeebe:input source="=true" target="data.options.clientCache" />
149
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
150
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
151
+ <zeebe:input source="createProcessInstance"
152
+ target="data.connectorMode.operation.toolName" />
153
+ <zeebe:input
154
+ source="={&#34;processDefinitionKey&#34;:string(testFileProcessKey),&#34;variables&#34;:{&#34;createdBy&#34;:&#34;MCP&#34;}}"
155
+ target="data.connectorMode.operation.toolArguments" />
156
+ </zeebe:ioMapping>
157
+ <zeebe:taskHeaders>
158
+ <zeebe:header key="elementTemplateVersion" value="2" />
159
+ <zeebe:header key="elementTemplateId"
160
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
161
+ <zeebe:header key="resultVariable" value="mcpResultCreateProcessInstance" />
162
+ <zeebe:header key="retryBackoff" value="PT0S" />
163
+ </zeebe:taskHeaders>
164
+ </bpmn:extensionElements>
165
+ <bpmn:incoming>Flow_0kgfpue</bpmn:incoming>
166
+ <bpmn:outgoing>Flow_0lzmh5m</bpmn:outgoing>
167
+ </bpmn:serviceTask>
168
+ <bpmn:sequenceFlow id="Flow_0lzmh5m" sourceRef="createProcessInstance"
169
+ targetRef="Gateway_1t2m7hj" />
170
+ </bpmn:process>
171
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
172
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="mcp_process_instance_tools">
173
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
174
+ <dc:Bounds x="152" y="252" width="36" height="36" />
175
+ </bpmndi:BPMNShape>
176
+ <bpmndi:BPMNShape id="Event_15qvlty_di" bpmnElement="EndEvent_1">
177
+ <dc:Bounds x="762" y="252" width="36" height="36" />
178
+ </bpmndi:BPMNShape>
179
+ <bpmndi:BPMNShape id="Activity_0o3flj3_di" bpmnElement="searchProcessInstances">
180
+ <dc:Bounds x="410" y="80" width="100" height="80" />
181
+ </bpmndi:BPMNShape>
182
+ <bpmndi:BPMNShape id="Gateway_073w1ri_di" bpmnElement="Gateway_1t2m7hj">
183
+ <dc:Bounds x="655" y="245" width="50" height="50" />
184
+ </bpmndi:BPMNShape>
185
+ <bpmndi:BPMNShape id="Gateway_1bnohv5_di" bpmnElement="Gateway_1axprup">
186
+ <dc:Bounds x="265" y="245" width="50" height="50" />
187
+ </bpmndi:BPMNShape>
188
+ <bpmndi:BPMNShape id="Activity_00t9uvu_di" bpmnElement="getProcessInstance">
189
+ <dc:Bounds x="410" y="230" width="100" height="80" />
190
+ </bpmndi:BPMNShape>
191
+ <bpmndi:BPMNShape id="Activity_1k4c5qk_di" bpmnElement="createProcessInstance">
192
+ <dc:Bounds x="410" y="380" width="100" height="80" />
193
+ </bpmndi:BPMNShape>
194
+ <bpmndi:BPMNEdge id="Flow_1nrepge_di" bpmnElement="Flow_1nrepge">
195
+ <di:waypoint x="188" y="270" />
196
+ <di:waypoint x="265" y="270" />
197
+ </bpmndi:BPMNEdge>
198
+ <bpmndi:BPMNEdge id="Flow_101za4d_di" bpmnElement="Flow_101za4d">
199
+ <di:waypoint x="510" y="120" />
200
+ <di:waypoint x="680" y="120" />
201
+ <di:waypoint x="680" y="245" />
202
+ </bpmndi:BPMNEdge>
203
+ <bpmndi:BPMNEdge id="Flow_0l0tehi_di" bpmnElement="Flow_0l0tehi">
204
+ <di:waypoint x="290" y="245" />
205
+ <di:waypoint x="290" y="120" />
206
+ <di:waypoint x="410" y="120" />
207
+ </bpmndi:BPMNEdge>
208
+ <bpmndi:BPMNEdge id="Flow_066dp5w_di" bpmnElement="Flow_066dp5w">
209
+ <di:waypoint x="315" y="270" />
210
+ <di:waypoint x="410" y="270" />
211
+ </bpmndi:BPMNEdge>
212
+ <bpmndi:BPMNEdge id="Flow_1x7w6kt_di" bpmnElement="Flow_1x7w6kt">
213
+ <di:waypoint x="510" y="270" />
214
+ <di:waypoint x="655" y="270" />
215
+ </bpmndi:BPMNEdge>
216
+ <bpmndi:BPMNEdge id="Flow_0jqbea8_di" bpmnElement="Flow_0jqbea8">
217
+ <di:waypoint x="705" y="270" />
218
+ <di:waypoint x="762" y="270" />
219
+ </bpmndi:BPMNEdge>
220
+ <bpmndi:BPMNEdge id="Flow_0kgfpue_di" bpmnElement="Flow_0kgfpue">
221
+ <di:waypoint x="290" y="295" />
222
+ <di:waypoint x="290" y="420" />
223
+ <di:waypoint x="410" y="420" />
224
+ </bpmndi:BPMNEdge>
225
+ <bpmndi:BPMNEdge id="Flow_0lzmh5m_di" bpmnElement="Flow_0lzmh5m">
226
+ <di:waypoint x="510" y="420" />
227
+ <di:waypoint x="680" y="420" />
228
+ <di:waypoint x="680" y="295" />
229
+ </bpmndi:BPMNEdge>
230
+ </bpmndi:BPMNPlane>
231
+ </bpmndi:BPMNDiagram>
232
+ </bpmn:definitions>
@@ -0,0 +1,309 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
3
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
4
+ xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
5
+ xmlns:zeebe="http://camunda.org/schema/zeebe/1.0"
6
+ xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
7
+ xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_UserTaskTools"
8
+ targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler"
9
+ exporterVersion="5336cca" modeler:executionPlatform="Camunda Cloud"
10
+ modeler:executionPlatformVersion="8.9.0">
11
+ <bpmn:process id="mcp_user_task_tools" name="MCP User Task Tools"
12
+ isExecutable="true">
13
+ <bpmn:startEvent id="StartEvent_1">
14
+ <bpmn:outgoing>Flow_start</bpmn:outgoing>
15
+ </bpmn:startEvent>
16
+ <bpmn:endEvent id="EndEvent_1">
17
+ <bpmn:incoming>Flow_end</bpmn:incoming>
18
+ </bpmn:endEvent>
19
+
20
+ <!-- Parallel Gateway Split -->
21
+ <bpmn:parallelGateway id="Gateway_split">
22
+ <bpmn:incoming>Flow_start</bpmn:incoming>
23
+ <bpmn:outgoing>Flow_to_search</bpmn:outgoing>
24
+ <bpmn:outgoing>Flow_to_get</bpmn:outgoing>
25
+ <bpmn:outgoing>Flow_to_assign</bpmn:outgoing>
26
+ <bpmn:outgoing>Flow_to_search_vars</bpmn:outgoing>
27
+ </bpmn:parallelGateway>
28
+
29
+ <!-- Parallel Gateway Join -->
30
+ <bpmn:parallelGateway id="Gateway_join">
31
+ <bpmn:incoming>Flow_from_search</bpmn:incoming>
32
+ <bpmn:incoming>Flow_from_get</bpmn:incoming>
33
+ <bpmn:incoming>Flow_from_assign</bpmn:incoming>
34
+ <bpmn:incoming>Flow_from_search_vars</bpmn:incoming>
35
+ <bpmn:outgoing>Flow_end</bpmn:outgoing>
36
+ </bpmn:parallelGateway>
37
+
38
+ <bpmn:sequenceFlow id="Flow_start" sourceRef="StartEvent_1" targetRef="Gateway_split" />
39
+ <bpmn:sequenceFlow id="Flow_end" sourceRef="Gateway_join" targetRef="EndEvent_1" />
40
+
41
+ <!-- searchUserTasks Task -->
42
+ <bpmn:serviceTask id="searchUserTasks" name="searchUserTasks"
43
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
44
+ zeebe:modelerTemplateVersion="2"
45
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
46
+ <bpmn:extensionElements>
47
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
48
+ <zeebe:ioMapping>
49
+ <zeebe:input source="http" target="data.transport.type" />
50
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
51
+ target="data.transport.http.url" />
52
+ <zeebe:input source="oauth-client-credentials-flow"
53
+ target="data.transport.http.authentication.type" />
54
+ <zeebe:input source="=mcpOauthUrl"
55
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
56
+ <zeebe:input source="=mcpClientId"
57
+ target="data.transport.http.authentication.clientId" />
58
+ <zeebe:input source="=mcpClientSecret"
59
+ target="data.transport.http.authentication.clientSecret" />
60
+ <zeebe:input source="=mcpTokenAudience"
61
+ target="data.transport.http.authentication.audience" />
62
+ <zeebe:input source="CREDENTIALS_BODY"
63
+ target="data.transport.http.authentication.clientAuthentication" />
64
+ <zeebe:input source="=true" target="data.options.clientCache" />
65
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
66
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
67
+ <zeebe:input source="searchUserTasks"
68
+ target="data.connectorMode.operation.toolName" />
69
+ <zeebe:input
70
+ source="={&#34;filter&#34;:{&#34;processDefinitionKey&#34;:string(testFileProcessKey)}}"
71
+ target="data.connectorMode.operation.toolArguments" />
72
+ </zeebe:ioMapping>
73
+ <zeebe:taskHeaders>
74
+ <zeebe:header key="elementTemplateVersion" value="2" />
75
+ <zeebe:header key="elementTemplateId"
76
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
77
+ <zeebe:header key="resultVariable" value="mcpResultSearchUserTasks" />
78
+ <zeebe:header key="retryBackoff" value="PT0S" />
79
+ </zeebe:taskHeaders>
80
+ </bpmn:extensionElements>
81
+ <bpmn:incoming>Flow_to_search</bpmn:incoming>
82
+ <bpmn:outgoing>Flow_from_search</bpmn:outgoing>
83
+ </bpmn:serviceTask>
84
+
85
+ <!-- getUserTask Task -->
86
+ <bpmn:serviceTask id="getUserTask" name="getUserTask"
87
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
88
+ zeebe:modelerTemplateVersion="2"
89
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
90
+ <bpmn:extensionElements>
91
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
92
+ <zeebe:ioMapping>
93
+ <zeebe:input source="http" target="data.transport.type" />
94
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
95
+ target="data.transport.http.url" />
96
+ <zeebe:input source="oauth-client-credentials-flow"
97
+ target="data.transport.http.authentication.type" />
98
+ <zeebe:input source="=mcpOauthUrl"
99
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
100
+ <zeebe:input source="=mcpClientId"
101
+ target="data.transport.http.authentication.clientId" />
102
+ <zeebe:input source="=mcpClientSecret"
103
+ target="data.transport.http.authentication.clientSecret" />
104
+ <zeebe:input source="=mcpTokenAudience"
105
+ target="data.transport.http.authentication.audience" />
106
+ <zeebe:input source="CREDENTIALS_BODY"
107
+ target="data.transport.http.authentication.clientAuthentication" />
108
+ <zeebe:input source="=true" target="data.options.clientCache" />
109
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
110
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
111
+ <zeebe:input source="getUserTask"
112
+ target="data.connectorMode.operation.toolName" />
113
+ <zeebe:input source="={&#34;userTaskKey&#34;:string(testUserTaskKey)}"
114
+ target="data.connectorMode.operation.toolArguments" />
115
+ </zeebe:ioMapping>
116
+ <zeebe:taskHeaders>
117
+ <zeebe:header key="elementTemplateVersion" value="2" />
118
+ <zeebe:header key="elementTemplateId"
119
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
120
+ <zeebe:header key="resultVariable" value="mcpResultGetUserTask" />
121
+ <zeebe:header key="retryBackoff" value="PT0S" />
122
+ </zeebe:taskHeaders>
123
+ </bpmn:extensionElements>
124
+ <bpmn:incoming>Flow_to_get</bpmn:incoming>
125
+ <bpmn:outgoing>Flow_from_get</bpmn:outgoing>
126
+ </bpmn:serviceTask>
127
+
128
+ <!-- assignUserTask Task -->
129
+ <bpmn:serviceTask id="assignUserTask" name="assignUserTask"
130
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
131
+ zeebe:modelerTemplateVersion="2"
132
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
133
+ <bpmn:extensionElements>
134
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
135
+ <zeebe:ioMapping>
136
+ <zeebe:input source="http" target="data.transport.type" />
137
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
138
+ target="data.transport.http.url" />
139
+ <zeebe:input source="oauth-client-credentials-flow"
140
+ target="data.transport.http.authentication.type" />
141
+ <zeebe:input source="=mcpOauthUrl"
142
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
143
+ <zeebe:input source="=mcpClientId"
144
+ target="data.transport.http.authentication.clientId" />
145
+ <zeebe:input source="=mcpClientSecret"
146
+ target="data.transport.http.authentication.clientSecret" />
147
+ <zeebe:input source="=mcpTokenAudience"
148
+ target="data.transport.http.authentication.audience" />
149
+ <zeebe:input source="CREDENTIALS_BODY"
150
+ target="data.transport.http.authentication.clientAuthentication" />
151
+ <zeebe:input source="=true" target="data.options.clientCache" />
152
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
153
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
154
+ <zeebe:input source="assignUserTask"
155
+ target="data.connectorMode.operation.toolName" />
156
+ <zeebe:input
157
+ source="={&#34;userTaskKey&#34;:string(testUserTaskKey),&#34;assignee&#34;:&#34;mcpUser&#34;}"
158
+ target="data.connectorMode.operation.toolArguments" />
159
+ </zeebe:ioMapping>
160
+ <zeebe:taskHeaders>
161
+ <zeebe:header key="elementTemplateVersion" value="2" />
162
+ <zeebe:header key="elementTemplateId"
163
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
164
+ <zeebe:header key="resultVariable" value="mcpResultAssignUserTask" />
165
+ <zeebe:header key="retryBackoff" value="PT0S" />
166
+ </zeebe:taskHeaders>
167
+ </bpmn:extensionElements>
168
+ <bpmn:incoming>Flow_to_assign</bpmn:incoming>
169
+ <bpmn:outgoing>Flow_from_assign</bpmn:outgoing>
170
+ </bpmn:serviceTask>
171
+
172
+ <!-- searchUserTaskVariables Task -->
173
+ <bpmn:serviceTask id="searchUserTaskVariables" name="searchUserTaskVariables"
174
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
175
+ zeebe:modelerTemplateVersion="2"
176
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
177
+ <bpmn:extensionElements>
178
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
179
+ <zeebe:ioMapping>
180
+ <zeebe:input source="http" target="data.transport.type" />
181
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
182
+ target="data.transport.http.url" />
183
+ <zeebe:input source="oauth-client-credentials-flow"
184
+ target="data.transport.http.authentication.type" />
185
+ <zeebe:input source="=mcpOauthUrl"
186
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
187
+ <zeebe:input source="=mcpClientId"
188
+ target="data.transport.http.authentication.clientId" />
189
+ <zeebe:input source="=mcpClientSecret"
190
+ target="data.transport.http.authentication.clientSecret" />
191
+ <zeebe:input source="=mcpTokenAudience"
192
+ target="data.transport.http.authentication.audience" />
193
+ <zeebe:input source="CREDENTIALS_BODY"
194
+ target="data.transport.http.authentication.clientAuthentication" />
195
+ <zeebe:input source="=true" target="data.options.clientCache" />
196
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
197
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
198
+ <zeebe:input source="searchUserTaskVariables"
199
+ target="data.connectorMode.operation.toolName" />
200
+ <zeebe:input source="={&#34;userTaskKey&#34;:string(testUserTaskKey)}"
201
+ target="data.connectorMode.operation.toolArguments" />
202
+ </zeebe:ioMapping>
203
+ <zeebe:taskHeaders>
204
+ <zeebe:header key="elementTemplateVersion" value="2" />
205
+ <zeebe:header key="elementTemplateId"
206
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
207
+ <zeebe:header key="resultVariable" value="mcpResultSearchUserTaskVariables" />
208
+ <zeebe:header key="retryBackoff" value="PT0S" />
209
+ </zeebe:taskHeaders>
210
+ </bpmn:extensionElements>
211
+ <bpmn:incoming>Flow_to_search_vars</bpmn:incoming>
212
+ <bpmn:outgoing>Flow_from_search_vars</bpmn:outgoing>
213
+ </bpmn:serviceTask>
214
+
215
+ <bpmn:sequenceFlow id="Flow_to_search" sourceRef="Gateway_split" targetRef="searchUserTasks" />
216
+ <bpmn:sequenceFlow id="Flow_to_get" sourceRef="Gateway_split" targetRef="getUserTask" />
217
+ <bpmn:sequenceFlow id="Flow_to_assign" sourceRef="Gateway_split" targetRef="assignUserTask" />
218
+ <bpmn:sequenceFlow id="Flow_to_search_vars" sourceRef="Gateway_split"
219
+ targetRef="searchUserTaskVariables" />
220
+
221
+ <bpmn:sequenceFlow id="Flow_from_search" sourceRef="searchUserTasks"
222
+ targetRef="Gateway_join" />
223
+ <bpmn:sequenceFlow id="Flow_from_get" sourceRef="getUserTask" targetRef="Gateway_join" />
224
+ <bpmn:sequenceFlow id="Flow_from_assign" sourceRef="assignUserTask" targetRef="Gateway_join" />
225
+ <bpmn:sequenceFlow id="Flow_from_search_vars" sourceRef="searchUserTaskVariables"
226
+ targetRef="Gateway_join" />
227
+ </bpmn:process>
228
+
229
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
230
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="mcp_user_task_tools">
231
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
232
+ <dc:Bounds x="112" y="182" width="36" height="36" />
233
+ </bpmndi:BPMNShape>
234
+ <bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
235
+ <dc:Bounds x="652" y="182" width="36" height="36" />
236
+ </bpmndi:BPMNShape>
237
+ <bpmndi:BPMNShape id="Gateway_split_di" bpmnElement="Gateway_split">
238
+ <dc:Bounds x="185" y="175" width="50" height="50" />
239
+ </bpmndi:BPMNShape>
240
+ <bpmndi:BPMNShape id="Gateway_join_di" bpmnElement="Gateway_join">
241
+ <dc:Bounds x="565" y="175" width="50" height="50" />
242
+ </bpmndi:BPMNShape>
243
+ <bpmndi:BPMNShape id="searchUserTasks_di" bpmnElement="searchUserTasks">
244
+ <dc:Bounds x="310" y="0" width="100" height="80" />
245
+ <bpmndi:BPMNLabel />
246
+ </bpmndi:BPMNShape>
247
+ <bpmndi:BPMNShape id="getUserTask_di" bpmnElement="getUserTask">
248
+ <dc:Bounds x="310" y="110" width="100" height="80" />
249
+ <bpmndi:BPMNLabel />
250
+ </bpmndi:BPMNShape>
251
+ <bpmndi:BPMNShape id="assignUserTask_di" bpmnElement="assignUserTask">
252
+ <dc:Bounds x="310" y="220" width="100" height="80" />
253
+ <bpmndi:BPMNLabel />
254
+ </bpmndi:BPMNShape>
255
+ <bpmndi:BPMNShape id="searchUserTaskVariables_di" bpmnElement="searchUserTaskVariables">
256
+ <dc:Bounds x="310" y="330" width="100" height="80" />
257
+ <bpmndi:BPMNLabel />
258
+ </bpmndi:BPMNShape>
259
+ <bpmndi:BPMNEdge id="Flow_start_di" bpmnElement="Flow_start">
260
+ <di:waypoint x="148" y="200" />
261
+ <di:waypoint x="185" y="200" />
262
+ </bpmndi:BPMNEdge>
263
+ <bpmndi:BPMNEdge id="Flow_end_di" bpmnElement="Flow_end">
264
+ <di:waypoint x="615" y="200" />
265
+ <di:waypoint x="652" y="200" />
266
+ </bpmndi:BPMNEdge>
267
+ <bpmndi:BPMNEdge id="Flow_to_search_di" bpmnElement="Flow_to_search">
268
+ <di:waypoint x="210" y="175" />
269
+ <di:waypoint x="210" y="40" />
270
+ <di:waypoint x="310" y="40" />
271
+ </bpmndi:BPMNEdge>
272
+ <bpmndi:BPMNEdge id="Flow_to_get_di" bpmnElement="Flow_to_get">
273
+ <di:waypoint x="210" y="175" />
274
+ <di:waypoint x="210" y="150" />
275
+ <di:waypoint x="310" y="150" />
276
+ </bpmndi:BPMNEdge>
277
+ <bpmndi:BPMNEdge id="Flow_to_assign_di" bpmnElement="Flow_to_assign">
278
+ <di:waypoint x="210" y="225" />
279
+ <di:waypoint x="210" y="260" />
280
+ <di:waypoint x="310" y="260" />
281
+ </bpmndi:BPMNEdge>
282
+ <bpmndi:BPMNEdge id="Flow_to_search_vars_di" bpmnElement="Flow_to_search_vars">
283
+ <di:waypoint x="210" y="225" />
284
+ <di:waypoint x="210" y="370" />
285
+ <di:waypoint x="310" y="370" />
286
+ </bpmndi:BPMNEdge>
287
+ <bpmndi:BPMNEdge id="Flow_from_search_di" bpmnElement="Flow_from_search">
288
+ <di:waypoint x="410" y="40" />
289
+ <di:waypoint x="590" y="40" />
290
+ <di:waypoint x="590" y="175" />
291
+ </bpmndi:BPMNEdge>
292
+ <bpmndi:BPMNEdge id="Flow_from_get_di" bpmnElement="Flow_from_get">
293
+ <di:waypoint x="410" y="150" />
294
+ <di:waypoint x="590" y="150" />
295
+ <di:waypoint x="590" y="175" />
296
+ </bpmndi:BPMNEdge>
297
+ <bpmndi:BPMNEdge id="Flow_from_assign_di" bpmnElement="Flow_from_assign">
298
+ <di:waypoint x="410" y="260" />
299
+ <di:waypoint x="590" y="260" />
300
+ <di:waypoint x="590" y="225" />
301
+ </bpmndi:BPMNEdge>
302
+ <bpmndi:BPMNEdge id="Flow_from_search_vars_di" bpmnElement="Flow_from_search_vars">
303
+ <di:waypoint x="410" y="370" />
304
+ <di:waypoint x="590" y="370" />
305
+ <di:waypoint x="590" y="225" />
306
+ </bpmndi:BPMNEdge>
307
+ </bpmndi:BPMNPlane>
308
+ </bpmndi:BPMNDiagram>
309
+ </bpmn:definitions>
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const SM_8_9_1 = require("../../../fixtures/SM-8.9");
4
+ const _setup_1 = require("../../../test-setup.js");
5
+ const apiHelpers_1 = require("../../../utils/apiHelpers");
6
+ const mcpSmSetup_1 = require("../../../utils/mcpSmSetup");
7
+ const test_1 = require("@playwright/test");
8
+ let authToken;
9
+ let instanceKey;
10
+ SM_8_9_1.test.describe.configure({ mode: 'parallel' });
11
+ SM_8_9_1.test.describe('MCP Gateway - Cluster Tools @tasklistV2', () => {
12
+ SM_8_9_1.test.skip(process.env.MCP_GATEWAY_ENABLED !== 'true', 'MCP gateway not enabled in this deployment');
13
+ SM_8_9_1.test.beforeAll(async () => {
14
+ authToken = await (0, apiHelpers_1.authSmAPI)();
15
+ const processDefinitionKey = await (0, apiHelpers_1.deployProcess)('./resources/mcp_server_sm/mcp_cluster_tools.bpmn', authToken);
16
+ if (processDefinitionKey == null) {
17
+ throw new Error('Failed to deploy cluster tools process');
18
+ }
19
+ const mcpVars = (0, mcpSmSetup_1.getMcpSmVariables)();
20
+ instanceKey = await (0, apiHelpers_1.createProcessInstance)(String(processDefinitionKey), authToken, undefined, undefined, mcpVars);
21
+ });
22
+ SM_8_9_1.test.beforeEach(async ({ navigationPage }, testInfo) => {
23
+ await navigationPage.goToOperate((testInfo.workerIndex + 1) * 1000);
24
+ });
25
+ SM_8_9_1.test.afterEach(async ({ page }, testInfo) => {
26
+ await (0, _setup_1.captureScreenshot)(page, testInfo);
27
+ await (0, _setup_1.captureFailureVideo)(page, testInfo);
28
+ });
29
+ const clusterToolTests = [
30
+ {
31
+ name: 'getClusterStatus - returns cluster health status',
32
+ variable: 'mcpResultClusterStatus',
33
+ assertions: [
34
+ {
35
+ text: 'HEALTHY',
36
+ description: 'cluster status response contains healthy field',
37
+ },
38
+ ],
39
+ },
40
+ {
41
+ name: 'getTopology - returns cluster topology information',
42
+ variable: 'mcpResultTopology',
43
+ assertions: [
44
+ { text: 'brokers', description: 'topology response contains brokers' },
45
+ {
46
+ text: 'partitionsCount',
47
+ description: 'topology response contains partitions count',
48
+ },
49
+ ],
50
+ },
51
+ ];
52
+ for (const testCase of clusterToolTests) {
53
+ (0, SM_8_9_1.test)(testCase.name, async ({ operateHomePage, operateProcessesPage, operateProcessInstancePage, }) => {
54
+ SM_8_9_1.test.slow();
55
+ await SM_8_9_1.test.step('Navigate to completed process in Operate', async () => {
56
+ await (0, test_1.expect)(operateHomePage.operateBanner).toBeVisible({
57
+ timeout: 60000,
58
+ });
59
+ await operateHomePage.clickProcessesTab();
60
+ await operateProcessesPage.clickProcessCompletedCheckbox();
61
+ await operateProcessesPage.applyMoreFilters('Process Instance Key(s)', String(instanceKey));
62
+ await operateProcessesPage.clickProcessInstanceLink('MCP Cluster tools');
63
+ await operateProcessInstancePage.assertProcessCompleteStatusWithRetry();
64
+ });
65
+ for (const assertion of testCase.assertions) {
66
+ await SM_8_9_1.test.step(`Verify ${assertion.description}`, async () => {
67
+ await operateProcessInstancePage.assertProcessVariableContainsText(testCase.variable, assertion.text);
68
+ });
69
+ }
70
+ });
71
+ }
72
+ });