@camunda/e2e-test-suite 0.0.580 → 0.0.582
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/pages/SM-8.9/ModelerCreatePage.d.ts +0 -1
- package/dist/pages/SM-8.9/ModelerCreatePage.js +0 -17
- package/dist/pages/SM-8.9/OperateProcessesPage.js +21 -2
- package/dist/resources/connectors/aws/agentcore-code-interpreter.bpmn +70 -0
- package/dist/tests/8.10/aws-connectors-user-flows.spec.js +65 -0
- package/dist/tests/8.10/test-setup.spec.js +1 -0
- package/dist/utils/connectorSecrets.d.ts +8 -0
- package/dist/utils/connectorSecrets.js +16 -1
- package/package.json +1 -1
- package/resources/connectors/aws/agentcore-code-interpreter.bpmn +70 -0
|
@@ -29,7 +29,6 @@ declare class ModelerCreatePage {
|
|
|
29
29
|
readonly cancelButton: Locator;
|
|
30
30
|
readonly restConnectorOption: Locator;
|
|
31
31
|
readonly marketPlaceButton: Locator;
|
|
32
|
-
private readonly changeTypeSearchInput;
|
|
33
32
|
readonly clientIdTextbox: Locator;
|
|
34
33
|
readonly clientSecretTextbox: Locator;
|
|
35
34
|
readonly rememberCredentialsCheckbox: Locator;
|
|
@@ -34,7 +34,6 @@ class ModelerCreatePage {
|
|
|
34
34
|
cancelButton;
|
|
35
35
|
restConnectorOption;
|
|
36
36
|
marketPlaceButton;
|
|
37
|
-
changeTypeSearchInput;
|
|
38
37
|
clientIdTextbox;
|
|
39
38
|
clientSecretTextbox;
|
|
40
39
|
rememberCredentialsCheckbox;
|
|
@@ -149,13 +148,6 @@ class ModelerCreatePage {
|
|
|
149
148
|
name: 'REST Outbound Connector',
|
|
150
149
|
});
|
|
151
150
|
this.marketPlaceButton = page.getByTitle('Browse Marketplace for more Connectors');
|
|
152
|
-
// Search input inside the Change element panel — used to filter the connector list
|
|
153
|
-
this.changeTypeSearchInput = page
|
|
154
|
-
.locator('div')
|
|
155
|
-
.filter({ hasText: /^Change element/ })
|
|
156
|
-
.locator('input')
|
|
157
|
-
.or(page.locator('[data-testid="search-field"] input'))
|
|
158
|
-
.first();
|
|
159
151
|
this.clientIdTextbox = page.getByLabel('Client ID');
|
|
160
152
|
this.clientSecretTextbox = page.getByLabel('Client secret');
|
|
161
153
|
this.rememberCredentialsCheckbox = page.getByText('Remember credentials');
|
|
@@ -609,15 +601,6 @@ class ModelerCreatePage {
|
|
|
609
601
|
await this.cancelButton.click();
|
|
610
602
|
}
|
|
611
603
|
async searchAndClickRestConnector() {
|
|
612
|
-
// Fill the Change element search box with 'REST' to surface the connector
|
|
613
|
-
// regardless of scroll position. Wrapped in try/catch so a missing or
|
|
614
|
-
// unfocusable search box doesn't abort the attempt.
|
|
615
|
-
try {
|
|
616
|
-
await this.changeTypeSearchInput.fill('REST', { timeout: 5000 });
|
|
617
|
-
}
|
|
618
|
-
catch {
|
|
619
|
-
// Search box unavailable — connector may still be visible without filtering
|
|
620
|
-
}
|
|
621
604
|
await (0, test_1.expect)(this.restConnectorOption).toBeVisible({ timeout: 90000 });
|
|
622
605
|
await this.restConnectorOption.click({ timeout: 90000 });
|
|
623
606
|
}
|
|
@@ -49,7 +49,18 @@ class OperateProcessesPage {
|
|
|
49
49
|
async checkCheckbox(checkbox) {
|
|
50
50
|
await checkbox.waitFor({ state: 'attached', timeout: constants_1._1_SECOND_IN_MS * 10 });
|
|
51
51
|
if (!(await checkbox.isChecked())) {
|
|
52
|
-
|
|
52
|
+
// Carbon Design System checkboxes use a hidden input + label pattern.
|
|
53
|
+
// Clicking the label triggers the React onChange event; .check({force})
|
|
54
|
+
// does not fire synthetic events on hidden inputs.
|
|
55
|
+
const id = await checkbox.getAttribute('id');
|
|
56
|
+
if (id) {
|
|
57
|
+
await this.page
|
|
58
|
+
.locator(`label[for="${id}"]`)
|
|
59
|
+
.click({ timeout: constants_1._1_SECOND_IN_MS * 30 });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
await checkbox.check({ force: true, timeout: constants_1._1_SECOND_IN_MS * 30 });
|
|
63
|
+
}
|
|
53
64
|
await (0, test_1.expect)(checkbox).toBeChecked({
|
|
54
65
|
checked: true,
|
|
55
66
|
timeout: constants_1._1_SECOND_IN_MS * 30,
|
|
@@ -59,7 +70,15 @@ class OperateProcessesPage {
|
|
|
59
70
|
async uncheckCheckbox(checkbox) {
|
|
60
71
|
await checkbox.waitFor({ state: 'attached', timeout: constants_1._1_SECOND_IN_MS * 10 });
|
|
61
72
|
if (await checkbox.isChecked()) {
|
|
62
|
-
await checkbox.
|
|
73
|
+
const id = await checkbox.getAttribute('id');
|
|
74
|
+
if (id) {
|
|
75
|
+
await this.page
|
|
76
|
+
.locator(`label[for="${id}"]`)
|
|
77
|
+
.click({ timeout: constants_1._1_SECOND_IN_MS * 30 });
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
await checkbox.uncheck({ force: true, timeout: constants_1._1_SECOND_IN_MS * 30 });
|
|
81
|
+
}
|
|
63
82
|
await (0, test_1.expect)(checkbox).toBeChecked({
|
|
64
83
|
checked: false,
|
|
65
84
|
timeout: constants_1._1_SECOND_IN_MS * 30,
|
|
@@ -0,0 +1,70 @@
|
|
|
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"
|
|
8
|
+
id="Definitions_1"
|
|
9
|
+
targetNamespace="http://bpmn.io/schema/bpmn"
|
|
10
|
+
exporter="Camunda Web Modeler"
|
|
11
|
+
exporterVersion="1.0.0"
|
|
12
|
+
modeler:executionPlatform="Camunda Cloud"
|
|
13
|
+
modeler:executionPlatformVersion="8.10.0">
|
|
14
|
+
<bpmn:process id="aws_agentcore_code_interpreter" name="AWS AgentCore Code Interpreter" isExecutable="true">
|
|
15
|
+
<bpmn:startEvent id="StartEvent_1">
|
|
16
|
+
<bpmn:outgoing>Flow_1</bpmn:outgoing>
|
|
17
|
+
</bpmn:startEvent>
|
|
18
|
+
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="CodeInterpreterTask" />
|
|
19
|
+
<bpmn:serviceTask id="CodeInterpreterTask" name="Execute Python Code"
|
|
20
|
+
zeebe:modelerTemplate="io.camunda.connectors.aws.bedrock.codeinterpreter.v1"
|
|
21
|
+
zeebe:modelerTemplateVersion="1">
|
|
22
|
+
<bpmn:extensionElements>
|
|
23
|
+
<zeebe:taskDefinition type="io.camunda:aws-bedrock-codeinterpreter:1" retries="3" />
|
|
24
|
+
<zeebe:ioMapping>
|
|
25
|
+
<zeebe:input source="credentials" target="authentication.type" />
|
|
26
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_ACCESS_KEY}}" target="authentication.accessKey" />
|
|
27
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_SECRET_KEY}}" target="authentication.secretKey" />
|
|
28
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_REGION}}" target="configuration.region" />
|
|
29
|
+
<zeebe:input source="python" target="input.language" />
|
|
30
|
+
<zeebe:input source="print('Hello from AgentCore Code Interpreter!')" target="input.code" />
|
|
31
|
+
</zeebe:ioMapping>
|
|
32
|
+
<zeebe:taskHeaders>
|
|
33
|
+
<zeebe:header key="elementTemplateVersion" value="1" />
|
|
34
|
+
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.aws.bedrock.codeinterpreter.v1" />
|
|
35
|
+
<zeebe:header key="resultVariable" value="codeInterpreterResult" />
|
|
36
|
+
<zeebe:header key="resultExpression" value="={stdout: stdout, exitCode: exitCode}" />
|
|
37
|
+
<zeebe:header key="retryBackoff" value="PT0S" />
|
|
38
|
+
</zeebe:taskHeaders>
|
|
39
|
+
</bpmn:extensionElements>
|
|
40
|
+
<bpmn:incoming>Flow_1</bpmn:incoming>
|
|
41
|
+
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
|
42
|
+
</bpmn:serviceTask>
|
|
43
|
+
<bpmn:sequenceFlow id="Flow_2" sourceRef="CodeInterpreterTask" targetRef="EndEvent_1" />
|
|
44
|
+
<bpmn:endEvent id="EndEvent_1">
|
|
45
|
+
<bpmn:incoming>Flow_2</bpmn:incoming>
|
|
46
|
+
</bpmn:endEvent>
|
|
47
|
+
</bpmn:process>
|
|
48
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
49
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="aws_agentcore_code_interpreter">
|
|
50
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
|
51
|
+
<dc:Bounds x="152" y="82" width="36" height="36" />
|
|
52
|
+
</bpmndi:BPMNShape>
|
|
53
|
+
<bpmndi:BPMNShape id="CodeInterpreterTask_di" bpmnElement="CodeInterpreterTask">
|
|
54
|
+
<dc:Bounds x="240" y="60" width="100" height="80" />
|
|
55
|
+
<bpmndi:BPMNLabel />
|
|
56
|
+
</bpmndi:BPMNShape>
|
|
57
|
+
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
|
|
58
|
+
<dc:Bounds x="392" y="82" width="36" height="36" />
|
|
59
|
+
</bpmndi:BPMNShape>
|
|
60
|
+
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
|
61
|
+
<di:waypoint x="188" y="100" />
|
|
62
|
+
<di:waypoint x="240" y="100" />
|
|
63
|
+
</bpmndi:BPMNEdge>
|
|
64
|
+
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
|
65
|
+
<di:waypoint x="340" y="100" />
|
|
66
|
+
<di:waypoint x="392" y="100" />
|
|
67
|
+
</bpmndi:BPMNEdge>
|
|
68
|
+
</bpmndi:BPMNPlane>
|
|
69
|
+
</bpmndi:BPMNDiagram>
|
|
70
|
+
</bpmn:definitions>
|
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* AWS Connectors User Flows
|
|
5
|
+
*
|
|
6
|
+
* Happy-path E2E tests for AWS Bedrock connector integrations running on the
|
|
7
|
+
* Test Cluster (SaaS). Each test deploys a BPMN process, starts an instance,
|
|
8
|
+
* and asserts that the connector completed successfully via Operate.
|
|
9
|
+
*
|
|
10
|
+
* ## AWS IAM Requirements
|
|
11
|
+
*
|
|
12
|
+
* The IAM user configured via `BEDROCK_CI_AWS_ACCESS_KEY` /
|
|
13
|
+
* `BEDROCK_CI_AWS_SECRET_KEY` must have the following policies. Missing
|
|
14
|
+
* actions surface as connector incidents with `AccessDeniedException` in the
|
|
15
|
+
* Operate variables panel.
|
|
16
|
+
*
|
|
17
|
+
* ### AgentCore Code Interpreter (`io.camunda:aws-bedrock-codeinterpreter:1`)
|
|
18
|
+
* ```json
|
|
19
|
+
* {
|
|
20
|
+
* "Action": [
|
|
21
|
+
* "bedrock-agentcore:StartCodeInterpreterSession",
|
|
22
|
+
* "bedrock-agentcore:InvokeCodeInterpreter",
|
|
23
|
+
* "bedrock-agentcore:StopCodeInterpreterSession"
|
|
24
|
+
* ],
|
|
25
|
+
* "Resource": "*"
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
* NOTE: `CreateCodeInterpreterSession` and `ExecuteCode` are NOT valid IAM
|
|
29
|
+
* actions — AWS will reject the policy if they are included.
|
|
30
|
+
*
|
|
31
|
+
* ### AgentCore Runtime (`io.camunda:aws-bedrock-agentcore-runtime:1`)
|
|
32
|
+
* Requires IAM access to the specific agent runtime ARN set via
|
|
33
|
+
* `AGENTCORE_AGENT_RUNTIME_ARN`.
|
|
34
|
+
*
|
|
35
|
+
* ### AgentCore Long-Term Memory (`io.camunda:aws-bedrock-agentcore-lt-memory:1`)
|
|
36
|
+
* Requires IAM access to the memory resource ARN set via
|
|
37
|
+
* `AGENTCORE_LTM_MEMORY_ID`.
|
|
38
|
+
*
|
|
39
|
+
* ### Bedrock Knowledge Base (`io.camunda:aws-bedrock-knowledgebase:1`)
|
|
40
|
+
* Requires `bedrock:Retrieve` on the knowledge base ARN set via
|
|
41
|
+
* `BEDROCK_KB_KNOWLEDGE_BASE_ID`.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
3
44
|
const test_1 = require("@playwright/test");
|
|
4
45
|
const _8_10_1 = require("../../fixtures/8.10");
|
|
5
46
|
const UtilitiesPage_1 = require("../../pages/8.10/UtilitiesPage");
|
|
@@ -86,4 +127,28 @@ _8_10_1.test.describe('AWS Connectors User Flows', () => {
|
|
|
86
127
|
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('agentResponse')).toBeVisible({ timeout: 30000 });
|
|
87
128
|
});
|
|
88
129
|
});
|
|
130
|
+
// IAM: bedrock-agentcore:StartCodeInterpreterSession,
|
|
131
|
+
// bedrock-agentcore:InvokeCodeInterpreter,
|
|
132
|
+
// bedrock-agentcore:StopCodeInterpreterSession on Resource: *
|
|
133
|
+
(0, _8_10_1.test)('AWS AgentCore Code Interpreter - Execute Python code and receive stdout', async ({ operateHomePage, operateProcessInstancePage, operateProcessesPage, }) => {
|
|
134
|
+
_8_10_1.test.slow();
|
|
135
|
+
const processKey = await (0, apiHelpers_1.deployProcess)('./resources/connectors/aws/agentcore-code-interpreter.bpmn', authToken);
|
|
136
|
+
if (processKey == null) {
|
|
137
|
+
throw new Error('Failed to deploy AgentCore Code Interpreter process');
|
|
138
|
+
}
|
|
139
|
+
const instanceKey = await (0, apiHelpers_1.createProcessInstance)(String(processKey), authToken);
|
|
140
|
+
await _8_10_1.test.step('Process completes and stdout output variable is present', async () => {
|
|
141
|
+
await (0, sleep_1.sleep)(15000);
|
|
142
|
+
await operateHomePage.clickProcessesTab();
|
|
143
|
+
await operateProcessesPage.clickProcessCompletedCheckbox();
|
|
144
|
+
await operateProcessesPage.applyMoreFilters('Process Instance Key(s)', String(instanceKey));
|
|
145
|
+
await operateProcessesPage.clickProcessInstanceLink('AWS AgentCore Code Interpreter');
|
|
146
|
+
await operateProcessInstancePage.assertProcessCompleteStatusWithRetry();
|
|
147
|
+
await (0, test_1.expect)(operateProcessInstancePage.connectorResultVariableName('stdout')).toBeVisible({ timeout: 30000 });
|
|
148
|
+
// Confirms the Python code executed end-to-end inside AWS AgentCore and
|
|
149
|
+
// the result expression `={stdout: stdout, exitCode: exitCode}` was
|
|
150
|
+
// evaluated — stdout is the key observable for this connector.
|
|
151
|
+
await operateProcessInstancePage.assertProcessVariableContainsText('stdout', 'Hello from AgentCore Code Interpreter!');
|
|
152
|
+
});
|
|
153
|
+
});
|
|
89
154
|
});
|
|
@@ -44,6 +44,7 @@ _8_10_1.test.describe('Cluster Setup Tests', () => {
|
|
|
44
44
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.bedrockKbSecretsValues);
|
|
45
45
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreSecretsValues);
|
|
46
46
|
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.agentcoreLtmSecretsValues);
|
|
47
|
+
await clusterSecretsPage.createSetOfSecrets(clusterName, connectorSecrets_1.bedrockCodeInterpreterSecretsValues);
|
|
47
48
|
}
|
|
48
49
|
});
|
|
49
50
|
(0, _8_10_1.test)('Create Agentic Orchestration Cluster', async ({ page, loginPage, homePage, clusterPage, clusterDetailsPage, clusterSecretsPage, }, testInfo) => {
|
|
@@ -26,6 +26,10 @@ export declare const agentcoreLtmSecretsValues: {
|
|
|
26
26
|
name: string;
|
|
27
27
|
value: string;
|
|
28
28
|
}[];
|
|
29
|
+
export declare const bedrockCodeInterpreterSecretsValues: {
|
|
30
|
+
name: string;
|
|
31
|
+
value: string;
|
|
32
|
+
}[];
|
|
29
33
|
export declare const connectorSecretsValues: {
|
|
30
34
|
name: string;
|
|
31
35
|
value: string;
|
|
@@ -47,6 +51,10 @@ export declare const allConnectorSecrets: {
|
|
|
47
51
|
name: string;
|
|
48
52
|
value: string;
|
|
49
53
|
}[];
|
|
54
|
+
BedrockCodeInterpreter: {
|
|
55
|
+
name: string;
|
|
56
|
+
value: string;
|
|
57
|
+
}[];
|
|
50
58
|
GCP: {
|
|
51
59
|
name: string;
|
|
52
60
|
value: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.agentcoreLtmSecretsValues = exports.agentcoreSecretsValues = exports.bedrockKbSecretsValues = exports.azureSecretsValues = exports.gcpSecretsValues = exports.openAiSecretsValues = exports.awsSecretsValues = void 0;
|
|
3
|
+
exports.allConnectorSecrets = exports.connectorSecretsValues = exports.bedrockCodeInterpreterSecretsValues = exports.agentcoreLtmSecretsValues = exports.agentcoreSecretsValues = exports.bedrockKbSecretsValues = exports.azureSecretsValues = exports.gcpSecretsValues = exports.openAiSecretsValues = exports.awsSecretsValues = void 0;
|
|
4
4
|
exports.awsSecretsValues = [
|
|
5
5
|
{ name: 'IDP_AWS_REGION', value: process.env.IDP_AWS_REGION },
|
|
6
6
|
{ name: 'IDP_AWS_BUCKET_NAME', value: process.env.IDP_AWS_BUCKET_NAME },
|
|
@@ -179,6 +179,20 @@ exports.agentcoreLtmSecretsValues = [
|
|
|
179
179
|
value: process.env.AGENTCORE_LTM_NAMESPACE,
|
|
180
180
|
},
|
|
181
181
|
];
|
|
182
|
+
exports.bedrockCodeInterpreterSecretsValues = [
|
|
183
|
+
{
|
|
184
|
+
name: 'BEDROCK_CI_AWS_ACCESS_KEY',
|
|
185
|
+
value: process.env.BEDROCK_CI_AWS_ACCESS_KEY,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'BEDROCK_CI_AWS_SECRET_KEY',
|
|
189
|
+
value: process.env.BEDROCK_CI_AWS_SECRET_KEY,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
name: 'BEDROCK_CI_AWS_REGION',
|
|
193
|
+
value: process.env.BEDROCK_CI_AWS_REGION,
|
|
194
|
+
},
|
|
195
|
+
];
|
|
182
196
|
exports.connectorSecretsValues = [
|
|
183
197
|
{
|
|
184
198
|
name: 'endpoint_url',
|
|
@@ -192,6 +206,7 @@ exports.allConnectorSecrets = {
|
|
|
192
206
|
BedrockKB: exports.bedrockKbSecretsValues,
|
|
193
207
|
AgentCore: exports.agentcoreSecretsValues,
|
|
194
208
|
AgentCoreLTM: exports.agentcoreLtmSecretsValues,
|
|
209
|
+
BedrockCodeInterpreter: exports.bedrockCodeInterpreterSecretsValues,
|
|
195
210
|
GCP: exports.gcpSecretsValues,
|
|
196
211
|
Azure: [...exports.azureSecretsValues, ...exports.openAiSecretsValues],
|
|
197
212
|
Connectors: exports.connectorSecretsValues,
|
package/package.json
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
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"
|
|
8
|
+
id="Definitions_1"
|
|
9
|
+
targetNamespace="http://bpmn.io/schema/bpmn"
|
|
10
|
+
exporter="Camunda Web Modeler"
|
|
11
|
+
exporterVersion="1.0.0"
|
|
12
|
+
modeler:executionPlatform="Camunda Cloud"
|
|
13
|
+
modeler:executionPlatformVersion="8.10.0">
|
|
14
|
+
<bpmn:process id="aws_agentcore_code_interpreter" name="AWS AgentCore Code Interpreter" isExecutable="true">
|
|
15
|
+
<bpmn:startEvent id="StartEvent_1">
|
|
16
|
+
<bpmn:outgoing>Flow_1</bpmn:outgoing>
|
|
17
|
+
</bpmn:startEvent>
|
|
18
|
+
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="CodeInterpreterTask" />
|
|
19
|
+
<bpmn:serviceTask id="CodeInterpreterTask" name="Execute Python Code"
|
|
20
|
+
zeebe:modelerTemplate="io.camunda.connectors.aws.bedrock.codeinterpreter.v1"
|
|
21
|
+
zeebe:modelerTemplateVersion="1">
|
|
22
|
+
<bpmn:extensionElements>
|
|
23
|
+
<zeebe:taskDefinition type="io.camunda:aws-bedrock-codeinterpreter:1" retries="3" />
|
|
24
|
+
<zeebe:ioMapping>
|
|
25
|
+
<zeebe:input source="credentials" target="authentication.type" />
|
|
26
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_ACCESS_KEY}}" target="authentication.accessKey" />
|
|
27
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_SECRET_KEY}}" target="authentication.secretKey" />
|
|
28
|
+
<zeebe:input source="{{secrets.BEDROCK_CI_AWS_REGION}}" target="configuration.region" />
|
|
29
|
+
<zeebe:input source="python" target="input.language" />
|
|
30
|
+
<zeebe:input source="print('Hello from AgentCore Code Interpreter!')" target="input.code" />
|
|
31
|
+
</zeebe:ioMapping>
|
|
32
|
+
<zeebe:taskHeaders>
|
|
33
|
+
<zeebe:header key="elementTemplateVersion" value="1" />
|
|
34
|
+
<zeebe:header key="elementTemplateId" value="io.camunda.connectors.aws.bedrock.codeinterpreter.v1" />
|
|
35
|
+
<zeebe:header key="resultVariable" value="codeInterpreterResult" />
|
|
36
|
+
<zeebe:header key="resultExpression" value="={stdout: stdout, exitCode: exitCode}" />
|
|
37
|
+
<zeebe:header key="retryBackoff" value="PT0S" />
|
|
38
|
+
</zeebe:taskHeaders>
|
|
39
|
+
</bpmn:extensionElements>
|
|
40
|
+
<bpmn:incoming>Flow_1</bpmn:incoming>
|
|
41
|
+
<bpmn:outgoing>Flow_2</bpmn:outgoing>
|
|
42
|
+
</bpmn:serviceTask>
|
|
43
|
+
<bpmn:sequenceFlow id="Flow_2" sourceRef="CodeInterpreterTask" targetRef="EndEvent_1" />
|
|
44
|
+
<bpmn:endEvent id="EndEvent_1">
|
|
45
|
+
<bpmn:incoming>Flow_2</bpmn:incoming>
|
|
46
|
+
</bpmn:endEvent>
|
|
47
|
+
</bpmn:process>
|
|
48
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
49
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="aws_agentcore_code_interpreter">
|
|
50
|
+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
|
|
51
|
+
<dc:Bounds x="152" y="82" width="36" height="36" />
|
|
52
|
+
</bpmndi:BPMNShape>
|
|
53
|
+
<bpmndi:BPMNShape id="CodeInterpreterTask_di" bpmnElement="CodeInterpreterTask">
|
|
54
|
+
<dc:Bounds x="240" y="60" width="100" height="80" />
|
|
55
|
+
<bpmndi:BPMNLabel />
|
|
56
|
+
</bpmndi:BPMNShape>
|
|
57
|
+
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
|
|
58
|
+
<dc:Bounds x="392" y="82" width="36" height="36" />
|
|
59
|
+
</bpmndi:BPMNShape>
|
|
60
|
+
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
|
|
61
|
+
<di:waypoint x="188" y="100" />
|
|
62
|
+
<di:waypoint x="240" y="100" />
|
|
63
|
+
</bpmndi:BPMNEdge>
|
|
64
|
+
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
|
|
65
|
+
<di:waypoint x="340" y="100" />
|
|
66
|
+
<di:waypoint x="392" y="100" />
|
|
67
|
+
</bpmndi:BPMNEdge>
|
|
68
|
+
</bpmndi:BPMNPlane>
|
|
69
|
+
</bpmndi:BPMNDiagram>
|
|
70
|
+
</bpmn:definitions>
|