otomato-sdk 1.2.0 → 1.3.0
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/examples/create-action.js +2 -2
- package/dist/examples/create-automation.js +2 -8
- package/dist/examples/create-trigger.js +2 -2
- package/dist/examples/create-workflow.js +44 -0
- package/dist/examples/load-workflow.js +16 -0
- package/dist/examples/sandbox.js +18 -0
- package/dist/src/constants/Blocks.js +422 -293
- package/dist/src/index.js +1 -1
- package/dist/src/models/Edge.js +6 -1
- package/dist/src/models/Node.js +79 -6
- package/dist/src/models/Trigger.js +6 -3
- package/dist/src/models/Workflow.js +67 -0
- package/dist/src/services/ApiService.js +24 -18
- package/dist/src/utils/typeValidator.js +2 -1
- package/dist/test/action.spec.js +20 -17
- package/dist/test/automation.spec.js +26 -25
- package/dist/test/node.spec.js +34 -30
- package/dist/test/trigger.spec.js +8 -3
- package/dist/test/typeValidator.spec.js +2 -1
- package/dist/types/examples/create-workflow.d.ts +1 -0
- package/dist/types/examples/load-workflow.d.ts +1 -0
- package/dist/types/examples/sandbox.d.ts +1 -0
- package/dist/types/src/constants/Blocks.d.ts +101 -29
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/models/Action.d.ts +2 -1
- package/dist/types/src/models/Edge.d.ts +3 -0
- package/dist/types/src/models/Node.d.ts +9 -2
- package/dist/types/src/models/Parameter.d.ts +1 -1
- package/dist/types/src/models/Trigger.d.ts +3 -1
- package/dist/types/src/models/Workflow.d.ts +26 -0
- package/dist/types/src/services/ApiService.d.ts +8 -3
- package/examples/create-action.ts +2 -2
- package/examples/create-trigger.ts +2 -2
- package/examples/create-workflow.ts +44 -0
- package/examples/load-workflow.ts +10 -0
- package/package.json +2 -3
- package/src/constants/Blocks.ts +422 -292
- package/src/index.ts +1 -1
- package/src/models/Action.ts +1 -1
- package/src/models/Condition.ts +5 -5
- package/src/models/Edge.ts +8 -2
- package/src/models/Node.ts +90 -10
- package/src/models/Parameter.ts +5 -5
- package/src/models/Trigger.ts +9 -5
- package/src/models/Workflow.ts +69 -0
- package/src/services/ApiService.ts +26 -19
- package/src/utils/typeValidator.ts +2 -1
- package/test/action.spec.ts +11 -9
- package/test/automation.spec.ts +27 -26
- package/test/node.spec.ts +34 -30
- package/test/trigger.spec.ts +8 -3
- package/test/typeValidator.spec.ts +2 -1
- package/examples/create-automation.ts +0 -41
- package/src/constants/json.json +0 -16
- package/src/models/Automation.ts +0 -47
|
@@ -8,12 +8,12 @@ const createAction = () => {
|
|
|
8
8
|
transferAction.setContractAddress(getToken(CHAINS.ETHEREUM, 'USDC').contractAddress);
|
|
9
9
|
console.log(transferAction.toJSON());
|
|
10
10
|
// Create an SMS notification action
|
|
11
|
-
const smsAction = new Action(ACTIONS.NOTIFICATIONS.
|
|
11
|
+
const smsAction = new Action(ACTIONS.NOTIFICATIONS.DISCORD.SEND_MESSAGE);
|
|
12
12
|
smsAction.setParams("phoneNumber", "+1234567890");
|
|
13
13
|
smsAction.setParams("text", "This is a test message");
|
|
14
14
|
console.log(smsAction.toJSON());
|
|
15
15
|
// Create a Slack notification action
|
|
16
|
-
const slackAction = new Action(ACTIONS.NOTIFICATIONS.SLACK);
|
|
16
|
+
const slackAction = new Action(ACTIONS.NOTIFICATIONS.SLACK.SEND_MESSAGE);
|
|
17
17
|
slackAction.setParams("webhook", "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX");
|
|
18
18
|
slackAction.setParams("text", "This is a test message");
|
|
19
19
|
console.log(slackAction.toJSON());
|
|
@@ -20,15 +20,9 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
20
20
|
usdcTransferTrigger.setChainId(CHAINS.ETHEREUM);
|
|
21
21
|
usdcTransferTrigger.setContractAddress(getToken(CHAINS.ETHEREUM, 'USDC').contractAddress);
|
|
22
22
|
usdcTransferTrigger.setPosition(0, 0);
|
|
23
|
-
const slackAction = new Action(
|
|
24
|
-
id: ACTIONS.NOTIFICATIONS.SLACK.id,
|
|
25
|
-
name: ACTIONS.NOTIFICATIONS.SLACK.name,
|
|
26
|
-
description: ACTIONS.NOTIFICATIONS.SLACK.description,
|
|
27
|
-
parameters: ACTIONS.NOTIFICATIONS.SLACK.parameters,
|
|
28
|
-
// not forced to provide a ref id, it will generate it
|
|
29
|
-
});
|
|
23
|
+
const slackAction = new Action(ACTIONS.NOTIFICATIONS.SLACK.SEND_MESSAGE);
|
|
30
24
|
slackAction.setParams("webhook", "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX");
|
|
31
|
-
slackAction.setParams("
|
|
25
|
+
slackAction.setParams("message", "USDC has been transferred!");
|
|
32
26
|
slackAction.setPosition(0, -10);
|
|
33
27
|
const automation = new Automation("USDC Transfer Notification", [usdcTransferTrigger, slackAction]);
|
|
34
28
|
const edge = new Edge({
|
|
@@ -2,6 +2,6 @@ import { TRIGGERS, getToken, CHAINS, Trigger } from '../src/index.js';
|
|
|
2
2
|
const transferTrigger = new Trigger(TRIGGERS.TOKENS.ERC20.TRANSFER);
|
|
3
3
|
transferTrigger.setChainId(CHAINS.ETHEREUM);
|
|
4
4
|
// transferTrigger.setParams("value", 1000);
|
|
5
|
-
|
|
5
|
+
transferTrigger.setParams("to", "0xe1432599B51d9BE1b5A27E2A2FB8e5dF684749C6");
|
|
6
6
|
transferTrigger.setContractAddress(getToken(CHAINS.ETHEREUM, 'USDC').contractAddress);
|
|
7
|
-
console.log(transferTrigger.toJSON());
|
|
7
|
+
console.log(JSON.stringify(transferTrigger.toJSON(), null, 2));
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { ACTIONS, Action, TRIGGERS, Trigger, Workflow, CHAINS, getToken, Edge, apiServices } from '../src/index.js';
|
|
11
|
+
const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
+
apiServices.setCookie("eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIweDdjRUI4ZDgxNDdBYWE5ZEI4MUFjQkRGRTVjMzA1MERGQ2ZGMTg1MzciLCJzdWIiOiIweDg3RkU4YjRmMkZlODM3MGY2Y0M5YTk2MzQ0MmYwN0IwMmY0OTA5QTciLCJhdWQiOiJvdG9tYXRvLXRlc3QubmV0bGlmeS5hcHAiLCJleHAiOjE3MjMzODMxOTksIm5iZiI6MTcyMDc4OTM5OSwiaWF0IjoxNzIwNzkxMTk5LCJqdGkiOiIweDY4ZDkxOWEyMGZiYjIyNDUwZDZmOTFjMzM2ZTBmYjBjMmYyYTc3MmU3Zjg4NWU1ZjRmNzg1NTM2ZGIyYTY5YTAiLCJjdHgiOnt9fQ.MHgyOTM1NTM3MWYwOWM1YzllNWE3YjI4MjVkZTNjMDljZTkwMTQ3OTQwZmU1ZWRlMjM5YTk0MmFjYTQ5YTcwZWI0MGJlNmJiZDk2MDA4ZTIxMzJmNGM3ZTVlZGIzZDZiZjYyMDE4Mzc1MzUwMTRmNTc0ODM0ZDk4YWU3NDQwNDQzOTFi");
|
|
13
|
+
const usdcTransferTrigger = new Trigger({
|
|
14
|
+
blockId: TRIGGERS.TOKENS.ERC20.TRANSFER.blockId,
|
|
15
|
+
name: TRIGGERS.TOKENS.ERC20.TRANSFER.name,
|
|
16
|
+
description: TRIGGERS.TOKENS.ERC20.TRANSFER.description,
|
|
17
|
+
type: TRIGGERS.TOKENS.ERC20.TRANSFER.type,
|
|
18
|
+
parameters: TRIGGERS.TOKENS.ERC20.TRANSFER.parameters,
|
|
19
|
+
image: TRIGGERS.TOKENS.ERC20.TRANSFER.image,
|
|
20
|
+
ref: 'n-1',
|
|
21
|
+
});
|
|
22
|
+
usdcTransferTrigger.setChainId(CHAINS.ETHEREUM);
|
|
23
|
+
usdcTransferTrigger.setContractAddress(getToken(CHAINS.ETHEREUM, 'USDC').contractAddress);
|
|
24
|
+
usdcTransferTrigger.setPosition(0, 0);
|
|
25
|
+
const slackAction = new Action(ACTIONS.NOTIFICATIONS.SLACK.SEND_MESSAGE);
|
|
26
|
+
slackAction.setParams("webhook", "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX");
|
|
27
|
+
slackAction.setParams("message", "USDC has been transferred!");
|
|
28
|
+
slackAction.setPosition(0, -10);
|
|
29
|
+
const workflow = new Workflow("USDC Transfer Notification", [usdcTransferTrigger, slackAction]);
|
|
30
|
+
const edge = new Edge({
|
|
31
|
+
source: usdcTransferTrigger,
|
|
32
|
+
target: slackAction,
|
|
33
|
+
});
|
|
34
|
+
workflow.addEdge(edge);
|
|
35
|
+
// console.log(JSON.stringify(workflow.toJSON(), null, 2));
|
|
36
|
+
return;
|
|
37
|
+
const res = yield workflow.create();
|
|
38
|
+
console.log(res);
|
|
39
|
+
console.log(`Workflow ID: ${workflow.id}`); // This will print the ID of the created workflow
|
|
40
|
+
workflow.nodes.forEach(node => {
|
|
41
|
+
console.log(`Node ${node.getRef()} ID: ${node.id}`);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
main();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Workflow, apiServices } from '../src/index.js';
|
|
11
|
+
const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
+
apiServices.setCookie("eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIweDdjRUI4ZDgxNDdBYWE5ZEI4MUFjQkRGRTVjMzA1MERGQ2ZGMTg1MzciLCJzdWIiOiIweDg3RkU4YjRmMkZlODM3MGY2Y0M5YTk2MzQ0MmYwN0IwMmY0OTA5QTciLCJhdWQiOiJvdG9tYXRvLXRlc3QubmV0bGlmeS5hcHAiLCJleHAiOjE3MjMzODMxOTksIm5iZiI6MTcyMDc4OTM5OSwiaWF0IjoxNzIwNzkxMTk5LCJqdGkiOiIweDY4ZDkxOWEyMGZiYjIyNDUwZDZmOTFjMzM2ZTBmYjBjMmYyYTc3MmU3Zjg4NWU1ZjRmNzg1NTM2ZGIyYTY5YTAiLCJjdHgiOnt9fQ.MHgyOTM1NTM3MWYwOWM1YzllNWE3YjI4MjVkZTNjMDljZTkwMTQ3OTQwZmU1ZWRlMjM5YTk0MmFjYTQ5YTcwZWI0MGJlNmJiZDk2MDA4ZTIxMzJmNGM3ZTVlZGIzZDZiZjYyMDE4Mzc1MzUwMTRmNTc0ODM0ZDk4YWU3NDQwNDQzOTFi");
|
|
13
|
+
const workflow = yield new Workflow().load("0b9bd533-339c-42b5-9ed3-a6a40fcfa8d3");
|
|
14
|
+
console.log(workflow);
|
|
15
|
+
});
|
|
16
|
+
main();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Workflow, apiServices } from '../src/index.js';
|
|
11
|
+
const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
+
apiServices.setCookie("eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIweDdjRUI4ZDgxNDdBYWE5ZEI4MUFjQkRGRTVjMzA1MERGQ2ZGMTg1MzciLCJzdWIiOiIweDg3RkU4YjRmMkZlODM3MGY2Y0M5YTk2MzQ0MmYwN0IwMmY0OTA5QTciLCJhdWQiOiJvdG9tYXRvLXRlc3QubmV0bGlmeS5hcHAiLCJleHAiOjE3MjMzODMxOTksIm5iZiI6MTcyMDc4OTM5OSwiaWF0IjoxNzIwNzkxMTk5LCJqdGkiOiIweDY4ZDkxOWEyMGZiYjIyNDUwZDZmOTFjMzM2ZTBmYjBjMmYyYTc3MmU3Zjg4NWU1ZjRmNzg1NTM2ZGIyYTY5YTAiLCJjdHgiOnt9fQ.MHgyOTM1NTM3MWYwOWM1YzllNWE3YjI4MjVkZTNjMDljZTkwMTQ3OTQwZmU1ZWRlMjM5YTk0MmFjYTQ5YTcwZWI0MGJlNmJiZDk2MDA4ZTIxMzJmNGM3ZTVlZGIzZDZiZjYyMDE4Mzc1MzUwMTRmNTc0ODM0ZDk4YWU3NDQwNDQzOTFi");
|
|
13
|
+
const workflow = yield new Workflow().load("0b9bd533-339c-42b5-9ed3-a6a40fcfa8d3");
|
|
14
|
+
console.log(workflow.nodes[0]);
|
|
15
|
+
console.log(workflow.nodes[0].keyMap);
|
|
16
|
+
console.log(workflow.nodes[0].parameters);
|
|
17
|
+
});
|
|
18
|
+
main();
|