@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.
- package/dist/resources/mcp_server_sm/mcp_cluster_tools.bpmn +168 -0
- package/dist/resources/mcp_server_sm/mcp_process_definition_tools.bpmn +234 -0
- package/dist/resources/mcp_server_sm/mcp_process_instance_tools.bpmn +232 -0
- package/dist/resources/mcp_server_sm/mcp_user_task_tools.bpmn +309 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-cluster-tools.spec.d.ts +1 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-cluster-tools.spec.js +72 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-definition-tools.spec.d.ts +1 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-definition-tools.spec.js +101 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-instance-tools.spec.d.ts +1 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-instance-tools.spec.js +107 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-user-task-tools.spec.d.ts +1 -0
- package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-user-task-tools.spec.js +124 -0
- package/dist/utils/mcpSmSetup.d.ts +19 -0
- package/dist/utils/mcpSmSetup.js +34 -0
- package/package.json +1 -1
- package/resources/mcp_server_sm/mcp_cluster_tools.bpmn +168 -0
- package/resources/mcp_server_sm/mcp_process_definition_tools.bpmn +234 -0
- package/resources/mcp_server_sm/mcp_process_instance_tools.bpmn +232 -0
- package/resources/mcp_server_sm/mcp_user_task_tools.bpmn +309 -0
|
@@ -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 + "/mcp/cluster""
|
|
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="={"filter":{"processDefinitionKey":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 + "/mcp/cluster""
|
|
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="={"processInstanceKey":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 + "/mcp/cluster""
|
|
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="={"processDefinitionKey":string(testFileProcessKey),"variables":{"createdBy":"MCP"}}"
|
|
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 + "/mcp/cluster""
|
|
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="={"filter":{"processDefinitionKey":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 + "/mcp/cluster""
|
|
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="={"userTaskKey":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 + "/mcp/cluster""
|
|
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="={"userTaskKey":string(testUserTaskKey),"assignee":"mcpUser"}"
|
|
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 + "/mcp/cluster""
|
|
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="={"userTaskKey":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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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
|
+
});
|