n8n-nodes-taliware 0.1.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.
Files changed (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +291 -0
  3. package/dist/credentials/TaliwareApi.credentials.d.ts +9 -0
  4. package/dist/credentials/TaliwareApi.credentials.js +52 -0
  5. package/dist/credentials/TaliwareApi.credentials.js.map +1 -0
  6. package/dist/credentials/icons/taliware.dark.svg +13 -0
  7. package/dist/credentials/icons/taliware.svg +13 -0
  8. package/dist/lib/cl2cClient.d.ts +18 -0
  9. package/dist/lib/cl2cClient.js +77 -0
  10. package/dist/lib/cl2cClient.js.map +1 -0
  11. package/dist/lib/createNft.d.ts +12 -0
  12. package/dist/lib/createNft.js +36 -0
  13. package/dist/lib/createNft.js.map +1 -0
  14. package/dist/lib/errors.d.ts +16 -0
  15. package/dist/lib/errors.js +68 -0
  16. package/dist/lib/errors.js.map +1 -0
  17. package/dist/lib/getTaliwareCredentials.d.ts +3 -0
  18. package/dist/lib/getTaliwareCredentials.js +26 -0
  19. package/dist/lib/getTaliwareCredentials.js.map +1 -0
  20. package/dist/lib/initiateMint.d.ts +16 -0
  21. package/dist/lib/initiateMint.js +25 -0
  22. package/dist/lib/initiateMint.js.map +1 -0
  23. package/dist/lib/mapOutput.d.ts +3 -0
  24. package/dist/lib/mapOutput.js +69 -0
  25. package/dist/lib/mapOutput.js.map +1 -0
  26. package/dist/lib/pollNftStatus.d.ts +12 -0
  27. package/dist/lib/pollNftStatus.js +87 -0
  28. package/dist/lib/pollNftStatus.js.map +1 -0
  29. package/dist/lib/resolveSmartContractId.d.ts +2 -0
  30. package/dist/lib/resolveSmartContractId.js +16 -0
  31. package/dist/lib/resolveSmartContractId.js.map +1 -0
  32. package/dist/lib/resolveUserId.d.ts +3 -0
  33. package/dist/lib/resolveUserId.js +40 -0
  34. package/dist/lib/resolveUserId.js.map +1 -0
  35. package/dist/lib/toolParameters.d.ts +3 -0
  36. package/dist/lib/toolParameters.js +115 -0
  37. package/dist/lib/toolParameters.js.map +1 -0
  38. package/dist/lib/types.d.ts +88 -0
  39. package/dist/lib/types.js +19 -0
  40. package/dist/lib/types.js.map +1 -0
  41. package/dist/lib/validateMintInputs.d.ts +6 -0
  42. package/dist/lib/validateMintInputs.js +100 -0
  43. package/dist/lib/validateMintInputs.js.map +1 -0
  44. package/dist/nodes/TaliwareMint/TaliwareMint.node.d.ts +5 -0
  45. package/dist/nodes/TaliwareMint/TaliwareMint.node.js +101 -0
  46. package/dist/nodes/TaliwareMint/TaliwareMint.node.js.map +1 -0
  47. package/dist/nodes/TaliwareMint/TaliwareMint.node.json +21 -0
  48. package/dist/nodes/TaliwareMint/taliware.dark.svg +13 -0
  49. package/dist/nodes/TaliwareMint/taliware.svg +13 -0
  50. package/dist/package.json +59 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -0
  52. package/package.json +59 -0
  53. package/workflows/README.md +33 -0
  54. package/workflows/agent-tool-mint.example.json +144 -0
  55. package/workflows/manual-mint-binary.example.json +83 -0
  56. package/workflows/manual-mint-testnet.example.json +60 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateImagePath = validateImagePath;
4
+ exports.resolveImagePath = resolveImagePath;
5
+ exports.binaryToDataUriImage = binaryToDataUriImage;
6
+ exports.validateMintName = validateMintName;
7
+ exports.validateOwnerIdentifier = validateOwnerIdentifier;
8
+ const errors_1 = require("./errors");
9
+ const DATA_URI_IMAGE_PATTERN = /^data:image\/[\w.+-]+;base64,([A-Za-z0-9+/]+=*)/i;
10
+ const RAW_BASE64_PATTERN = /^[A-Za-z0-9+/]+=*$/;
11
+ const IMAGE_PATH_VALIDATION_MESSAGE = 'imagePath must be an HTTPS URL, a data:image/...;base64,... URI, or raw base64 image data';
12
+ function validateImagePath(imagePath, node) {
13
+ const trimmed = imagePath === null || imagePath === void 0 ? void 0 : imagePath.trim();
14
+ if (!trimmed) {
15
+ return;
16
+ }
17
+ if (trimmed.startsWith('data:image/')) {
18
+ validateDataUriImage(trimmed, node);
19
+ return;
20
+ }
21
+ if (trimmed.startsWith('https://')) {
22
+ validateHttpsImageUrl(trimmed, node);
23
+ return;
24
+ }
25
+ validateRawBase64Image(trimmed, node);
26
+ }
27
+ function resolveImagePath(imagePath, binary, node) {
28
+ const trimmed = imagePath === null || imagePath === void 0 ? void 0 : imagePath.trim();
29
+ if (trimmed) {
30
+ validateImagePath(trimmed, node);
31
+ return trimmed;
32
+ }
33
+ if (!binary) {
34
+ return undefined;
35
+ }
36
+ return binaryToDataUriImage(binary, node);
37
+ }
38
+ function binaryToDataUriImage(binary, node) {
39
+ var _a;
40
+ const mimeType = ((_a = binary.mimeType) === null || _a === void 0 ? void 0 : _a.trim()) || 'application/octet-stream';
41
+ if (!mimeType.startsWith('image/')) {
42
+ throw (0, errors_1.validationError)(node, `Binary input must be an image (got ${mimeType}). Set mimeType on the binary item or pass base64 via imagePath.`);
43
+ }
44
+ const payload = binary.data.replace(/\s/g, '');
45
+ validateBase64Payload(payload, node);
46
+ return `data:${mimeType};base64,${payload}`;
47
+ }
48
+ function validateDataUriImage(value, node) {
49
+ const match = value.match(DATA_URI_IMAGE_PATTERN);
50
+ if (!(match === null || match === void 0 ? void 0 : match[1])) {
51
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
52
+ }
53
+ validateBase64Payload(match[1], node);
54
+ }
55
+ function validateHttpsImageUrl(value, node) {
56
+ let url;
57
+ try {
58
+ url = new URL(value);
59
+ }
60
+ catch {
61
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
62
+ }
63
+ if (url.protocol !== 'https:') {
64
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
65
+ }
66
+ }
67
+ function validateRawBase64Image(value, node) {
68
+ if (value.startsWith('http://') || value.startsWith('http:')) {
69
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
70
+ }
71
+ validateBase64Payload(value.replace(/\s/g, ''), node);
72
+ }
73
+ function validateBase64Payload(payload, node) {
74
+ if (!payload || !RAW_BASE64_PATTERN.test(payload)) {
75
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
76
+ }
77
+ let decoded;
78
+ try {
79
+ decoded = Buffer.from(payload, 'base64');
80
+ }
81
+ catch {
82
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
83
+ }
84
+ if (decoded.length === 0) {
85
+ throw (0, errors_1.validationError)(node, IMAGE_PATH_VALIDATION_MESSAGE);
86
+ }
87
+ }
88
+ function validateMintName(name, node) {
89
+ if (name === null || name === void 0 ? void 0 : name.trim()) {
90
+ return;
91
+ }
92
+ throw (0, errors_1.validationError)(node, 'Name is required');
93
+ }
94
+ function validateOwnerIdentifier(ownerEmail, ownerUserId, node) {
95
+ if ((ownerUserId === null || ownerUserId === void 0 ? void 0 : ownerUserId.trim()) || (ownerEmail === null || ownerEmail === void 0 ? void 0 : ownerEmail.trim())) {
96
+ return;
97
+ }
98
+ throw (0, errors_1.validationError)(node, 'Owner Email or Owner User ID is required');
99
+ }
100
+ //# sourceMappingURL=validateMintInputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateMintInputs.js","sourceRoot":"","sources":["../../lib/validateMintInputs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class TaliwareMint implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaliwareMint = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const getTaliwareCredentials_1 = require("../../lib/getTaliwareCredentials");
6
+ const cl2cClient_1 = require("../../lib/cl2cClient");
7
+ const initiateMint_1 = require("../../lib/initiateMint");
8
+ const mapOutput_1 = require("../../lib/mapOutput");
9
+ const resolveSmartContractId_1 = require("../../lib/resolveSmartContractId");
10
+ const toolParameters_1 = require("../../lib/toolParameters");
11
+ const validateMintInputs_1 = require("../../lib/validateMintInputs");
12
+ class TaliwareMint {
13
+ constructor() {
14
+ this.description = {
15
+ displayName: 'Mint Biometric NFT',
16
+ name: 'taliwareMint',
17
+ icon: { light: 'file:taliware.svg', dark: 'file:taliware.dark.svg' },
18
+ group: ['transform'],
19
+ version: [1],
20
+ subtitle: '={{$parameter["name"] || "Mint Biometric NFT"}}',
21
+ description: 'Create a biometric NFT on Cordoba L2 via the TALIWARE CL2C API',
22
+ defaults: {
23
+ name: 'Mint Biometric NFT',
24
+ },
25
+ codex: {
26
+ categories: ['Development'],
27
+ subcategories: {
28
+ Development: ['TALIWARE'],
29
+ },
30
+ },
31
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
32
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
33
+ usableAsTool: {
34
+ replacements: {
35
+ description: toolParameters_1.TOOL_DESCRIPTION,
36
+ properties: (0, toolParameters_1.buildMintNodeProperties)(true),
37
+ },
38
+ },
39
+ credentials: [
40
+ {
41
+ name: 'taliwareApi',
42
+ required: true,
43
+ },
44
+ ],
45
+ properties: (0, toolParameters_1.buildMintNodeProperties)(false),
46
+ };
47
+ }
48
+ async execute() {
49
+ var _a;
50
+ const items = this.getInputData();
51
+ const returnData = [];
52
+ const node = this.getNode();
53
+ const credentials = await (0, getTaliwareCredentials_1.getTaliwareCredentials)(this, node);
54
+ const client = (0, cl2cClient_1.createCl2cClient)(credentials, node);
55
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
56
+ try {
57
+ const smartContractId = (0, resolveSmartContractId_1.resolveSmartContractId)(this.getNodeParameter('smartContractId', itemIndex, ''), credentials.defaultSmartContractId, node);
58
+ const debug = this.getNodeParameter('debug', itemIndex);
59
+ const binaryPropertyName = this.getNodeParameter('binaryPropertyName', itemIndex, '');
60
+ const binaryKey = binaryPropertyName.trim() || 'data';
61
+ const imagePath = (0, validateMintInputs_1.resolveImagePath)(this.getNodeParameter('imagePath', itemIndex, ''), (_a = items[itemIndex].binary) === null || _a === void 0 ? void 0 : _a[binaryKey], node);
62
+ const nft = await (0, initiateMint_1.initiateMint)(client, node, {
63
+ name: this.getNodeParameter('name', itemIndex),
64
+ smartContractId,
65
+ ownerEmail: this.getNodeParameter('ownerEmail', itemIndex, ''),
66
+ ownerUserId: this.getNodeParameter('ownerUserId', itemIndex, ''),
67
+ ownershipPercentage: this.getNodeParameter('ownershipPercentage', itemIndex),
68
+ description: this.getNodeParameter('description', itemIndex, ''),
69
+ imagePath,
70
+ externalUrl: this.getNodeParameter('externalUrl', itemIndex, ''),
71
+ }, {
72
+ pollIntervalSeconds: this.getNodeParameter('pollIntervalSeconds', itemIndex),
73
+ pollTimeoutMinutes: this.getNodeParameter('pollTimeoutMinutes', itemIndex),
74
+ debug,
75
+ logDebug: debug
76
+ ? (message) => {
77
+ this.logger.debug(message);
78
+ }
79
+ : undefined,
80
+ });
81
+ returnData.push({
82
+ json: (0, mapOutput_1.mapOutput)(nft),
83
+ pairedItem: { item: itemIndex },
84
+ });
85
+ }
86
+ catch (error) {
87
+ if (this.continueOnFail()) {
88
+ returnData.push({
89
+ json: { error: error instanceof Error ? error.message : String(error) },
90
+ pairedItem: { item: itemIndex },
91
+ });
92
+ continue;
93
+ }
94
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex });
95
+ }
96
+ }
97
+ return [returnData];
98
+ }
99
+ }
100
+ exports.TaliwareMint = TaliwareMint;
101
+ //# sourceMappingURL=TaliwareMint.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaliwareMint.node.js","sourceRoot":"","sources":["../../../nodes/TaliwareMint/TaliwareMint.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ {
2
+ "node": "n8n-nodes-taliware",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Development"],
6
+ "subcategories": {
7
+ "Development": ["TALIWARE"]
8
+ },
9
+ "resources": {
10
+ "credentialDocumentation": [
11
+ {
12
+ "url": "https://developer.taliware.com/docs/api"
13
+ }
14
+ ],
15
+ "primaryDocumentation": [
16
+ {
17
+ "url": "https://developer.taliware.com/api/cl2c.yaml"
18
+ }
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="aquamarine"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="darkblue"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "n8n-nodes-taliware",
3
+ "version": "0.1.0",
4
+ "description": "TALIWARE CL2C biometric NFT mint node for n8n AI Agents",
5
+ "license": "MIT",
6
+ "homepage": "https://developer.taliware.com",
7
+ "keywords": [
8
+ "n8n-community-node-package",
9
+ "n8n",
10
+ "taliware",
11
+ "n8n-nodes-taliware"
12
+ ],
13
+ "author": {
14
+ "name": "TALIWARE",
15
+ "email": "dev@taliware.com"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/yassirtl/Taliware-n8.git"
20
+ },
21
+ "scripts": {
22
+ "build": "n8n-node build && rm -rf dist/scripts dist/testest.png",
23
+ "build:watch": "tsc --watch",
24
+ "dev": "n8n-node dev",
25
+ "lint": "n8n-node lint",
26
+ "lint:fix": "n8n-node lint --fix",
27
+ "release": "n8n-node release",
28
+ "prepublishOnly": "n8n-node prerelease"
29
+ },
30
+ "files": [
31
+ "dist",
32
+ "workflows"
33
+ ],
34
+ "n8n": {
35
+ "n8nNodesApiVersion": 1,
36
+ "strict": true,
37
+ "credentials": [
38
+ "dist/credentials/TaliwareApi.credentials.js"
39
+ ],
40
+ "nodes": [
41
+ "dist/nodes/TaliwareMint/TaliwareMint.node.js"
42
+ ]
43
+ },
44
+ "devDependencies": {
45
+ "@n8n/node-cli": "0.31.1",
46
+ "@types/node": "^22.0.0",
47
+ "eslint": "9.32.0",
48
+ "n8n-workflow": "^1.79.0",
49
+ "prettier": "3.6.2",
50
+ "release-it": "^19.0.4",
51
+ "typescript": "5.9.2"
52
+ },
53
+ "peerDependencies": {
54
+ "n8n-workflow": "*"
55
+ },
56
+ "publishConfig": {
57
+ "access": "public"
58
+ }
59
+ }