@camunda/e2e-test-suite 0.0.1200 → 0.0.1202

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/dist/pages/SM-8.10/ModelerHomePage.js +20 -6
  2. package/dist/resources/mcp_server_sm/mcp_cluster_tools.bpmn +168 -0
  3. package/dist/resources/mcp_server_sm/mcp_process_definition_tools.bpmn +234 -0
  4. package/dist/resources/mcp_server_sm/mcp_process_instance_tools.bpmn +232 -0
  5. package/dist/resources/mcp_server_sm/mcp_user_task_tools.bpmn +309 -0
  6. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-cluster-tools.spec.d.ts +1 -0
  7. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-cluster-tools.spec.js +72 -0
  8. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-definition-tools.spec.d.ts +1 -0
  9. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-definition-tools.spec.js +101 -0
  10. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-instance-tools.spec.d.ts +1 -0
  11. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-process-instance-tools.spec.js +107 -0
  12. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-user-task-tools.spec.d.ts +1 -0
  13. package/dist/tests/SM-8.9/orchestration-cluster-mcp-server/mcp-user-task-tools.spec.js +124 -0
  14. package/dist/utils/mcpSmSetup.d.ts +19 -0
  15. package/dist/utils/mcpSmSetup.js +34 -0
  16. package/package.json +1 -1
  17. package/resources/mcp_server_sm/mcp_cluster_tools.bpmn +168 -0
  18. package/resources/mcp_server_sm/mcp_process_definition_tools.bpmn +234 -0
  19. package/resources/mcp_server_sm/mcp_process_instance_tools.bpmn +232 -0
  20. package/resources/mcp_server_sm/mcp_user_task_tools.bpmn +309 -0
@@ -293,13 +293,17 @@ class ModelerHomePage {
293
293
  // "Create workspace" CTA (always present) plus an "Open workspace ..." tile
294
294
  // per existing workspace — the legacy "Create new project" button never
295
295
  // renders there, which is what used to time out. Gate on those overview
296
- // markers as well as the legacy flag-off home markers, so the wait resolves
297
- // whichever shell the deployment renders. .first(): several can be present
298
- // at once (e.g. the CTA and a tile), and waitFor() requires a single match.
296
+ // markers, the projects-listing "Create project" CTA (landed on directly
297
+ // after creating a workspace, or after opening one that has no projects
298
+ // yet -- neither overview marker renders there), and the legacy flag-off
299
+ // home markers, so the wait resolves whichever shell the deployment
300
+ // renders. .first(): several can be present at once (e.g. the CTA and a
301
+ // tile), and waitFor() requires a single match.
299
302
  const workspaceElement = this.createWorkspaceButton
300
303
  .or(this.workspaceOpenButton)
301
304
  .or(this.createNewProjectButton)
302
305
  .or(this.crossComponentProjectFolder)
306
+ .or(this.processApplicationPage.createProcessApplicationButton)
303
307
  .first();
304
308
  // The "New features" release modal renders lazily over the Modeler home,
305
309
  // and under the Design System shell the project list -- the "Create new
@@ -398,7 +402,10 @@ class ModelerHomePage {
398
402
  .isVisible()
399
403
  .catch(() => false);
400
404
  if (!workspaceExists) {
405
+ // Creating the workspace lands the creator (a Workspace Admin) on its
406
+ // projects listing directly, so there is no tile to open afterwards.
401
407
  await this.createWorkspace(this.defaultFolderName);
408
+ return;
402
409
  }
403
410
  await this.openWorkspaceTile();
404
411
  return;
@@ -434,7 +441,8 @@ class ModelerHomePage {
434
441
  // Walks the create-workspace wizard (`/workspaces/create`): fill the general
435
442
  // step, advance to the members step, and submit with the creator only (the
436
443
  // creator is pre-added as Workspace Admin, satisfying the "at least one admin"
437
- // guard). The wizard returns to the `/workspaces` overview on success. The
444
+ // guard). On success the hub routes the role-holding creator straight to the
445
+ // new workspace's projects listing, not back to the `/workspaces` overview. The
438
446
  // single primary button relabels itself "Next" -> "Create workspace" between
439
447
  // steps; match its stable data-test hook where present and fall back to the
440
448
  // step-appropriate accessible name (the wizard route does not render the
@@ -458,9 +466,15 @@ class ModelerHomePage {
458
466
  .or(this.page.getByRole('button', { name: 'Create workspace', exact: true }))
459
467
  .first()
460
468
  .click({ timeout: 30000 });
461
- await this.page.waitForURL(/\/workspaces$/, { timeout: 120000 });
469
+ // submit-workspace routes a role-holding creator to the new workspace's
470
+ // projects listing (`/workspace(s)/{id}/projects`), not the `/workspaces`
471
+ // overview, so gate on that landing (singular or plural route).
472
+ await this.page.waitForURL(/\/workspaces?\/[^/]+\/projects/, {
473
+ timeout: 120000,
474
+ });
462
475
  await this.waitForModelerReady();
463
- this.workspacesOverviewUrl = this.page.url();
476
+ this.workspaceProjectsUrl = this.page.url();
477
+ await this.clickMessageBanner();
464
478
  }
465
479
  // Opens the shared Workspace's tile and waits until its projects listing has
466
480
  // loaded, remembering that URL for later returns via clickWorkspaceBreadcrumb.
@@ -0,0 +1,168 @@
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_ClusterStatus"
8
+ targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler"
9
+ exporterVersion="9e96352" modeler:executionPlatform="Camunda Cloud"
10
+ modeler:executionPlatformVersion="8.9.0">
11
+ <bpmn:process id="Process_mcp_cluster_tools" name="MCP Cluster tools" isExecutable="true">
12
+ <bpmn:startEvent id="StartEvent_1">
13
+ <bpmn:outgoing>Flow_1nrepge</bpmn:outgoing>
14
+ </bpmn:startEvent>
15
+ <bpmn:endEvent id="EndEvent_1">
16
+ <bpmn:incoming>Flow_0jqbea8</bpmn:incoming>
17
+ </bpmn:endEvent>
18
+ <bpmn:serviceTask id="getClusterStatus" name="getClusterStatus"
19
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
20
+ zeebe:modelerTemplateVersion="2"
21
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
22
+ <bpmn:extensionElements>
23
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
24
+ <zeebe:ioMapping>
25
+ <zeebe:input source="http" target="data.transport.type" />
26
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
27
+ target="data.transport.http.url" />
28
+ <zeebe:input source="oauth-client-credentials-flow"
29
+ target="data.transport.http.authentication.type" />
30
+ <zeebe:input source="=mcpOauthUrl"
31
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
32
+ <zeebe:input source="=mcpClientId"
33
+ target="data.transport.http.authentication.clientId" />
34
+ <zeebe:input source="=mcpClientSecret"
35
+ target="data.transport.http.authentication.clientSecret" />
36
+ <zeebe:input source="=mcpTokenAudience"
37
+ target="data.transport.http.authentication.audience" />
38
+ <zeebe:input source="CREDENTIALS_BODY"
39
+ target="data.transport.http.authentication.clientAuthentication" />
40
+ <zeebe:input source="=true" target="data.options.clientCache" />
41
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
42
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
43
+ <zeebe:input source="getClusterStatus"
44
+ target="data.connectorMode.operation.toolName" />
45
+ <zeebe:input source="={}" target="data.connectorMode.operation.toolArguments" />
46
+ </zeebe:ioMapping>
47
+ <zeebe:taskHeaders>
48
+ <zeebe:header key="elementTemplateVersion" value="2" />
49
+ <zeebe:header key="elementTemplateId"
50
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
51
+ <zeebe:header key="resultVariable" value="mcpResultClusterStatus" />
52
+ <zeebe:header key="retryBackoff" value="PT0S" />
53
+ </zeebe:taskHeaders>
54
+ </bpmn:extensionElements>
55
+ <bpmn:incoming>Flow_0l0tehi</bpmn:incoming>
56
+ <bpmn:outgoing>Flow_101za4d</bpmn:outgoing>
57
+ </bpmn:serviceTask>
58
+ <bpmn:sequenceFlow id="Flow_1nrepge" sourceRef="StartEvent_1" targetRef="Gateway_1axprup" />
59
+ <bpmn:sequenceFlow id="Flow_101za4d" sourceRef="getClusterStatus"
60
+ targetRef="Gateway_1t2m7hj" />
61
+ <bpmn:parallelGateway id="Gateway_1t2m7hj">
62
+ <bpmn:incoming>Flow_101za4d</bpmn:incoming>
63
+ <bpmn:incoming>Flow_1x7w6kt</bpmn:incoming>
64
+ <bpmn:outgoing>Flow_0jqbea8</bpmn:outgoing>
65
+ </bpmn:parallelGateway>
66
+ <bpmn:parallelGateway id="Gateway_1axprup">
67
+ <bpmn:incoming>Flow_1nrepge</bpmn:incoming>
68
+ <bpmn:outgoing>Flow_0l0tehi</bpmn:outgoing>
69
+ <bpmn:outgoing>Flow_066dp5w</bpmn:outgoing>
70
+ </bpmn:parallelGateway>
71
+ <bpmn:sequenceFlow id="Flow_0l0tehi" sourceRef="Gateway_1axprup"
72
+ targetRef="getClusterStatus" />
73
+ <bpmn:serviceTask id="getTopology" name="getTopology"
74
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
75
+ zeebe:modelerTemplateVersion="2"
76
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
77
+ <bpmn:extensionElements>
78
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
79
+ <zeebe:ioMapping>
80
+ <zeebe:input source="http" target="data.transport.type" />
81
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
82
+ target="data.transport.http.url" />
83
+ <zeebe:input source="oauth-client-credentials-flow"
84
+ target="data.transport.http.authentication.type" />
85
+ <zeebe:input source="=mcpOauthUrl"
86
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
87
+ <zeebe:input source="=mcpClientId"
88
+ target="data.transport.http.authentication.clientId" />
89
+ <zeebe:input source="=mcpClientSecret"
90
+ target="data.transport.http.authentication.clientSecret" />
91
+ <zeebe:input source="=mcpTokenAudience"
92
+ target="data.transport.http.authentication.audience" />
93
+ <zeebe:input source="CREDENTIALS_BODY"
94
+ target="data.transport.http.authentication.clientAuthentication" />
95
+ <zeebe:input source="=true" target="data.options.clientCache" />
96
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
97
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
98
+ <zeebe:input source="getTopology" target="data.connectorMode.operation.toolName" />
99
+ <zeebe:input source="={}" target="data.connectorMode.operation.toolArguments" />
100
+ </zeebe:ioMapping>
101
+ <zeebe:taskHeaders>
102
+ <zeebe:header key="elementTemplateVersion" value="2" />
103
+ <zeebe:header key="elementTemplateId"
104
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
105
+ <zeebe:header key="resultVariable" value="mcpResultTopology" />
106
+ <zeebe:header key="retryBackoff" value="PT0S" />
107
+ </zeebe:taskHeaders>
108
+ </bpmn:extensionElements>
109
+ <bpmn:incoming>Flow_066dp5w</bpmn:incoming>
110
+ <bpmn:outgoing>Flow_1x7w6kt</bpmn:outgoing>
111
+ </bpmn:serviceTask>
112
+ <bpmn:sequenceFlow id="Flow_066dp5w" sourceRef="Gateway_1axprup" targetRef="getTopology" />
113
+ <bpmn:sequenceFlow id="Flow_1x7w6kt" sourceRef="getTopology" targetRef="Gateway_1t2m7hj" />
114
+ <bpmn:sequenceFlow id="Flow_0jqbea8" sourceRef="Gateway_1t2m7hj" targetRef="EndEvent_1" />
115
+ </bpmn:process>
116
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
117
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_mcp_cluster_tools">
118
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
119
+ <dc:Bounds x="112" y="162" width="36" height="36" />
120
+ </bpmndi:BPMNShape>
121
+ <bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
122
+ <dc:Bounds x="512" y="162" width="36" height="36" />
123
+ </bpmndi:BPMNShape>
124
+ <bpmndi:BPMNShape id="CallClusterStatus_di" bpmnElement="getClusterStatus">
125
+ <dc:Bounds x="270" y="80" width="100" height="80" />
126
+ <bpmndi:BPMNLabel />
127
+ </bpmndi:BPMNShape>
128
+ <bpmndi:BPMNShape id="Gateway_0zao8hh_di" bpmnElement="Gateway_1t2m7hj">
129
+ <dc:Bounds x="405" y="155" width="50" height="50" />
130
+ </bpmndi:BPMNShape>
131
+ <bpmndi:BPMNShape id="Gateway_0hi8l2e_di" bpmnElement="Gateway_1axprup">
132
+ <dc:Bounds x="185" y="155" width="50" height="50" />
133
+ </bpmndi:BPMNShape>
134
+ <bpmndi:BPMNShape id="BPMNShape_0igquhd" bpmnElement="getTopology">
135
+ <dc:Bounds x="270" y="200" width="100" height="80" />
136
+ <bpmndi:BPMNLabel />
137
+ </bpmndi:BPMNShape>
138
+ <bpmndi:BPMNEdge id="Flow_1nrepge_di" bpmnElement="Flow_1nrepge">
139
+ <di:waypoint x="148" y="180" />
140
+ <di:waypoint x="185" y="180" />
141
+ </bpmndi:BPMNEdge>
142
+ <bpmndi:BPMNEdge id="Flow_101za4d_di" bpmnElement="Flow_101za4d">
143
+ <di:waypoint x="370" y="120" />
144
+ <di:waypoint x="430" y="120" />
145
+ <di:waypoint x="430" y="155" />
146
+ </bpmndi:BPMNEdge>
147
+ <bpmndi:BPMNEdge id="Flow_0l0tehi_di" bpmnElement="Flow_0l0tehi">
148
+ <di:waypoint x="210" y="155" />
149
+ <di:waypoint x="210" y="120" />
150
+ <di:waypoint x="270" y="120" />
151
+ </bpmndi:BPMNEdge>
152
+ <bpmndi:BPMNEdge id="Flow_066dp5w_di" bpmnElement="Flow_066dp5w">
153
+ <di:waypoint x="210" y="205" />
154
+ <di:waypoint x="210" y="240" />
155
+ <di:waypoint x="270" y="240" />
156
+ </bpmndi:BPMNEdge>
157
+ <bpmndi:BPMNEdge id="Flow_1x7w6kt_di" bpmnElement="Flow_1x7w6kt">
158
+ <di:waypoint x="370" y="240" />
159
+ <di:waypoint x="430" y="240" />
160
+ <di:waypoint x="430" y="205" />
161
+ </bpmndi:BPMNEdge>
162
+ <bpmndi:BPMNEdge id="Flow_0jqbea8_di" bpmnElement="Flow_0jqbea8">
163
+ <di:waypoint x="455" y="180" />
164
+ <di:waypoint x="512" y="180" />
165
+ </bpmndi:BPMNEdge>
166
+ </bpmndi:BPMNPlane>
167
+ </bpmndi:BPMNDiagram>
168
+ </bpmn:definitions>
@@ -0,0 +1,234 @@
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_ClusterStatus"
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_definition_tools" name="MCP Process Definition 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="searchProcessDefinitions" name="searchProcessDefinitions"
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="searchProcessDefinitions"
45
+ target="data.connectorMode.operation.toolName" />
46
+ <zeebe:input source="={}" target="data.connectorMode.operation.toolArguments" />
47
+ </zeebe:ioMapping>
48
+ <zeebe:taskHeaders>
49
+ <zeebe:header key="elementTemplateVersion" value="2" />
50
+ <zeebe:header key="elementTemplateId"
51
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
52
+ <zeebe:header key="resultVariable" value="mcpResultSearchProcessDefinitions" />
53
+ <zeebe:header key="retryBackoff" value="PT0S" />
54
+ </zeebe:taskHeaders>
55
+ </bpmn:extensionElements>
56
+ <bpmn:incoming>Flow_0l0tehi</bpmn:incoming>
57
+ <bpmn:outgoing>Flow_101za4d</bpmn:outgoing>
58
+ </bpmn:serviceTask>
59
+ <bpmn:sequenceFlow id="Flow_1nrepge" sourceRef="StartEvent_1" targetRef="Gateway_1axprup" />
60
+ <bpmn:sequenceFlow id="Flow_101za4d" sourceRef="searchProcessDefinitions"
61
+ targetRef="Gateway_1t2m7hj" />
62
+ <bpmn:parallelGateway id="Gateway_1t2m7hj">
63
+ <bpmn:incoming>Flow_101za4d</bpmn:incoming>
64
+ <bpmn:incoming>Flow_1x7w6kt</bpmn:incoming>
65
+ <bpmn:incoming>Flow_0lzmh5m</bpmn:incoming>
66
+ <bpmn:outgoing>Flow_0jqbea8</bpmn:outgoing>
67
+ </bpmn:parallelGateway>
68
+ <bpmn:parallelGateway id="Gateway_1axprup">
69
+ <bpmn:incoming>Flow_1nrepge</bpmn:incoming>
70
+ <bpmn:outgoing>Flow_0l0tehi</bpmn:outgoing>
71
+ <bpmn:outgoing>Flow_066dp5w</bpmn:outgoing>
72
+ <bpmn:outgoing>Flow_0kgfpue</bpmn:outgoing>
73
+ </bpmn:parallelGateway>
74
+ <bpmn:sequenceFlow id="Flow_0l0tehi" sourceRef="Gateway_1axprup"
75
+ targetRef="searchProcessDefinitions" />
76
+ <bpmn:serviceTask id="Activity_07ot1fg" name="getProcessDefinitionXml"
77
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
78
+ zeebe:modelerTemplateVersion="2"
79
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
80
+ <bpmn:extensionElements>
81
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
82
+ <zeebe:ioMapping>
83
+ <zeebe:input source="http" target="data.transport.type" />
84
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
85
+ target="data.transport.http.url" />
86
+ <zeebe:input source="oauth-client-credentials-flow"
87
+ target="data.transport.http.authentication.type" />
88
+ <zeebe:input source="=mcpOauthUrl"
89
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
90
+ <zeebe:input source="=mcpClientId"
91
+ target="data.transport.http.authentication.clientId" />
92
+ <zeebe:input source="=mcpClientSecret"
93
+ target="data.transport.http.authentication.clientSecret" />
94
+ <zeebe:input source="=mcpTokenAudience"
95
+ target="data.transport.http.authentication.audience" />
96
+ <zeebe:input source="CREDENTIALS_BODY"
97
+ target="data.transport.http.authentication.clientAuthentication" />
98
+ <zeebe:input source="=true" target="data.options.clientCache" />
99
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
100
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
101
+ <zeebe:input source="getProcessDefinitionXml"
102
+ target="data.connectorMode.operation.toolName" />
103
+ <zeebe:input
104
+ source="={&#34;processDefinitionKey&#34;:string(testFileProcessKey)}"
105
+ target="data.connectorMode.operation.toolArguments" />
106
+ </zeebe:ioMapping>
107
+ <zeebe:taskHeaders>
108
+ <zeebe:header key="elementTemplateVersion" value="2" />
109
+ <zeebe:header key="elementTemplateId"
110
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
111
+ <zeebe:header key="resultVariable" value="mcpResultGetProcessDefinitionXml" />
112
+ <zeebe:header key="retryBackoff" value="PT0S" />
113
+ </zeebe:taskHeaders>
114
+ </bpmn:extensionElements>
115
+ <bpmn:incoming>Flow_066dp5w</bpmn:incoming>
116
+ <bpmn:outgoing>Flow_1x7w6kt</bpmn:outgoing>
117
+ </bpmn:serviceTask>
118
+ <bpmn:sequenceFlow id="Flow_066dp5w" sourceRef="Gateway_1axprup"
119
+ targetRef="Activity_07ot1fg" />
120
+ <bpmn:sequenceFlow id="Flow_1x7w6kt" sourceRef="Activity_07ot1fg"
121
+ targetRef="Gateway_1t2m7hj" />
122
+ <bpmn:sequenceFlow id="Flow_0jqbea8" sourceRef="Gateway_1t2m7hj" targetRef="EndEvent_1" />
123
+ <bpmn:sequenceFlow id="Flow_0kgfpue" sourceRef="Gateway_1axprup"
124
+ targetRef="getProcessDefinition" />
125
+ <bpmn:serviceTask id="getProcessDefinition" name="getProcessDefinition"
126
+ zeebe:modelerTemplate="io.camunda.connectors.agenticai.mcp.remoteclient.v0"
127
+ zeebe:modelerTemplateVersion="2"
128
+ zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCI+CiAgICA8cGF0aCBkPSJNMjUgOTcuODUyOEw5Mi44ODIzIDI5Ljk3MDZDMTAyLjI1NSAyMC41OTggMTE3LjQ1MSAyMC41OTggMTI2LjgyMyAyOS45NzA2VjI5Ljk3MDZDMTM2LjE5NiAzOS4zNDMxIDEzNi4xOTYgNTQuNTM5MSAxMjYuODIzIDYzLjkxMTdMNzUuNTU4MSAxMTUuMTc3IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICAgIDxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogICAgPHBhdGggZD0iTTEwOS44NTMgNDYuOTQxMUw1OS42NDgyIDk3LjE0NTdDNTAuMjc1NyAxMDYuNTE4IDUwLjI3NTcgMTIxLjcxNCA1OS42NDgyIDEzMS4wODdWMTMxLjA4N0M2OS4wMjA4IDE0MC40NTkgODQuMjE2OCAxNDAuNDU5IDkzLjU4OTQgMTMxLjA4N0wxNDMuNzk0IDgwLjg4MjIiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K">
129
+ <bpmn:extensionElements>
130
+ <zeebe:taskDefinition type="io.camunda.agenticai:mcpremoteclient:1" retries="3" />
131
+ <zeebe:ioMapping>
132
+ <zeebe:input source="http" target="data.transport.type" />
133
+ <zeebe:input source="=mcpBaseUrl + &quot;/mcp/cluster&quot;"
134
+ target="data.transport.http.url" />
135
+ <zeebe:input source="oauth-client-credentials-flow"
136
+ target="data.transport.http.authentication.type" />
137
+ <zeebe:input source="=mcpOauthUrl"
138
+ target="data.transport.http.authentication.oauthTokenEndpoint" />
139
+ <zeebe:input source="=mcpClientId"
140
+ target="data.transport.http.authentication.clientId" />
141
+ <zeebe:input source="=mcpClientSecret"
142
+ target="data.transport.http.authentication.clientSecret" />
143
+ <zeebe:input source="=mcpTokenAudience"
144
+ target="data.transport.http.authentication.audience" />
145
+ <zeebe:input source="CREDENTIALS_BODY"
146
+ target="data.transport.http.authentication.clientAuthentication" />
147
+ <zeebe:input source="=true" target="data.options.clientCache" />
148
+ <zeebe:input source="standalone" target="data.connectorMode.type" />
149
+ <zeebe:input source="tools/call" target="data.connectorMode.operation.type" />
150
+ <zeebe:input source="getProcessDefinition"
151
+ target="data.connectorMode.operation.toolName" />
152
+ <zeebe:input
153
+ source="={&#34;processDefinitionKey&#34;:string(testFileProcessKey)}"
154
+ target="data.connectorMode.operation.toolArguments" />
155
+ </zeebe:ioMapping>
156
+ <zeebe:taskHeaders>
157
+ <zeebe:header key="elementTemplateVersion" value="2" />
158
+ <zeebe:header key="elementTemplateId"
159
+ value="io.camunda.connectors.agenticai.mcp.remoteclient.v0" />
160
+ <zeebe:header key="resultVariable" value="mcpResultGetProcessDefinition" />
161
+ <zeebe:header key="retryBackoff" value="PT0S" />
162
+ </zeebe:taskHeaders>
163
+ </bpmn:extensionElements>
164
+ <bpmn:incoming>Flow_0kgfpue</bpmn:incoming>
165
+ <bpmn:outgoing>Flow_0lzmh5m</bpmn:outgoing>
166
+ </bpmn:serviceTask>
167
+ <bpmn:sequenceFlow id="Flow_0lzmh5m" sourceRef="getProcessDefinition"
168
+ targetRef="Gateway_1t2m7hj" />
169
+ </bpmn:process>
170
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
171
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="mcp_process_definition_tools">
172
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
173
+ <dc:Bounds x="112" y="162" width="36" height="36" />
174
+ </bpmndi:BPMNShape>
175
+ <bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
176
+ <dc:Bounds x="512" y="162" width="36" height="36" />
177
+ </bpmndi:BPMNShape>
178
+ <bpmndi:BPMNShape id="CallClusterStatus_di" bpmnElement="searchProcessDefinitions">
179
+ <dc:Bounds x="270" y="0" width="100" height="80" />
180
+ <bpmndi:BPMNLabel />
181
+ </bpmndi:BPMNShape>
182
+ <bpmndi:BPMNShape id="Gateway_0zao8hh_di" bpmnElement="Gateway_1t2m7hj">
183
+ <dc:Bounds x="405" y="155" width="50" height="50" />
184
+ </bpmndi:BPMNShape>
185
+ <bpmndi:BPMNShape id="Gateway_0hi8l2e_di" bpmnElement="Gateway_1axprup">
186
+ <dc:Bounds x="185" y="155" width="50" height="50" />
187
+ </bpmndi:BPMNShape>
188
+ <bpmndi:BPMNShape id="BPMNShape_0igquhd" bpmnElement="Activity_07ot1fg">
189
+ <dc:Bounds x="270" y="280" width="100" height="80" />
190
+ <bpmndi:BPMNLabel />
191
+ </bpmndi:BPMNShape>
192
+ <bpmndi:BPMNShape id="BPMNShape_07gxsv7" bpmnElement="getProcessDefinition">
193
+ <dc:Bounds x="260" y="140" width="100" height="80" />
194
+ <bpmndi:BPMNLabel />
195
+ </bpmndi:BPMNShape>
196
+ <bpmndi:BPMNEdge id="Flow_1nrepge_di" bpmnElement="Flow_1nrepge">
197
+ <di:waypoint x="148" y="180" />
198
+ <di:waypoint x="185" y="180" />
199
+ </bpmndi:BPMNEdge>
200
+ <bpmndi:BPMNEdge id="Flow_101za4d_di" bpmnElement="Flow_101za4d">
201
+ <di:waypoint x="370" y="40" />
202
+ <di:waypoint x="430" y="40" />
203
+ <di:waypoint x="430" y="155" />
204
+ </bpmndi:BPMNEdge>
205
+ <bpmndi:BPMNEdge id="Flow_0l0tehi_di" bpmnElement="Flow_0l0tehi">
206
+ <di:waypoint x="210" y="155" />
207
+ <di:waypoint x="210" y="40" />
208
+ <di:waypoint x="270" y="40" />
209
+ </bpmndi:BPMNEdge>
210
+ <bpmndi:BPMNEdge id="Flow_066dp5w_di" bpmnElement="Flow_066dp5w">
211
+ <di:waypoint x="210" y="205" />
212
+ <di:waypoint x="210" y="320" />
213
+ <di:waypoint x="270" y="320" />
214
+ </bpmndi:BPMNEdge>
215
+ <bpmndi:BPMNEdge id="Flow_1x7w6kt_di" bpmnElement="Flow_1x7w6kt">
216
+ <di:waypoint x="370" y="320" />
217
+ <di:waypoint x="430" y="320" />
218
+ <di:waypoint x="430" y="205" />
219
+ </bpmndi:BPMNEdge>
220
+ <bpmndi:BPMNEdge id="Flow_0jqbea8_di" bpmnElement="Flow_0jqbea8">
221
+ <di:waypoint x="455" y="180" />
222
+ <di:waypoint x="512" y="180" />
223
+ </bpmndi:BPMNEdge>
224
+ <bpmndi:BPMNEdge id="Flow_0kgfpue_di" bpmnElement="Flow_0kgfpue">
225
+ <di:waypoint x="235" y="180" />
226
+ <di:waypoint x="260" y="180" />
227
+ </bpmndi:BPMNEdge>
228
+ <bpmndi:BPMNEdge id="Flow_0lzmh5m_di" bpmnElement="Flow_0lzmh5m">
229
+ <di:waypoint x="360" y="180" />
230
+ <di:waypoint x="405" y="180" />
231
+ </bpmndi:BPMNEdge>
232
+ </bpmndi:BPMNPlane>
233
+ </bpmndi:BPMNDiagram>
234
+ </bpmn:definitions>