n8n-nodes-dominusnode 1.1.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.
Files changed (45) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/README.md +13 -10
  3. package/dist/credentials/DominusNodeApi.credentials.js +1 -1
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.js +9 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/nodes/DominusNodeAccount/DominusNodeAccount.node.d.ts +23 -0
  8. package/dist/nodes/DominusNodeAccount/DominusNodeAccount.node.js +346 -0
  9. package/dist/nodes/DominusNodeAccount/DominusNodeAccount.node.js.map +1 -0
  10. package/dist/nodes/DominusNodeKeys/DominusNodeKeys.node.d.ts +20 -0
  11. package/dist/nodes/DominusNodeKeys/DominusNodeKeys.node.js +162 -0
  12. package/dist/nodes/DominusNodeKeys/DominusNodeKeys.node.js.map +1 -0
  13. package/dist/nodes/DominusNodePlans/DominusNodePlans.node.d.ts +19 -0
  14. package/dist/nodes/DominusNodePlans/DominusNodePlans.node.js +142 -0
  15. package/dist/nodes/DominusNodePlans/DominusNodePlans.node.js.map +1 -0
  16. package/dist/nodes/DominusNodeProxy/DominusNodeProxy.node.d.ts +2 -1
  17. package/dist/nodes/DominusNodeProxy/DominusNodeProxy.node.js +33 -9
  18. package/dist/nodes/DominusNodeProxy/DominusNodeProxy.node.js.map +1 -1
  19. package/dist/nodes/DominusNodeTeams/DominusNodeTeams.node.d.ts +27 -0
  20. package/dist/nodes/DominusNodeTeams/DominusNodeTeams.node.js +309 -0
  21. package/dist/nodes/DominusNodeTeams/DominusNodeTeams.node.js.map +1 -0
  22. package/dist/nodes/DominusNodeUsage/DominusNodeUsage.node.d.ts +3 -1
  23. package/dist/nodes/DominusNodeUsage/DominusNodeUsage.node.js +47 -1
  24. package/dist/nodes/DominusNodeUsage/DominusNodeUsage.node.js.map +1 -1
  25. package/dist/nodes/DominusNodeWallet/DominusNodeWallet.node.d.ts +5 -1
  26. package/dist/nodes/DominusNodeWallet/DominusNodeWallet.node.js +361 -38
  27. package/dist/nodes/DominusNodeWallet/DominusNodeWallet.node.js.map +1 -1
  28. package/dist/shared/auth.js +1 -1
  29. package/dist/shared/auth.js.map +1 -1
  30. package/dist/shared/ssrf.js.map +1 -1
  31. package/package.json +8 -3
  32. package/src/credentials/DominusNodeApi.credentials.ts +0 -48
  33. package/src/index.ts +0 -4
  34. package/src/nodes/DominusNodeProxy/DominusNodeProxy.node.ts +0 -460
  35. package/src/nodes/DominusNodeUsage/DominusNodeUsage.node.ts +0 -131
  36. package/src/nodes/DominusNodeWallet/DominusNodeWallet.node.ts +0 -899
  37. package/src/shared/auth.ts +0 -287
  38. package/src/shared/constants.ts +0 -11
  39. package/src/shared/ssrf.ts +0 -257
  40. package/tests/DominusNodeProxy.test.ts +0 -281
  41. package/tests/DominusNodeUsage.test.ts +0 -250
  42. package/tests/DominusNodeWallet.test.ts +0 -591
  43. package/tests/ssrf.test.ts +0 -238
  44. package/tsconfig.json +0 -18
  45. package/vitest.config.ts +0 -8
@@ -0,0 +1,309 @@
1
+ "use strict";
2
+ /**
3
+ * Dominus Node Teams n8n community node.
4
+ *
5
+ * Operations (9 tools):
6
+ * - Delete Team: Delete a team
7
+ * - Revoke Team Key: Revoke a team API key
8
+ * - List Team Keys: List all API keys for a team
9
+ * - List Team Members: List all members of a team
10
+ * - Add Team Member: Add a user to a team
11
+ * - Remove Team Member: Remove a user from a team
12
+ * - Invite Team Member: Send an email invitation to join a team
13
+ * - List Team Invites: List pending invitations for a team
14
+ * - Cancel Team Invite: Cancel a pending team invitation
15
+ *
16
+ * Security:
17
+ * - UUID validation for team/user/key/invite IDs
18
+ * - Email validation for invitations
19
+ * - Control character rejection
20
+ * - Credential sanitization in error messages
21
+ *
22
+ * @module
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.DominusNodeTeams = void 0;
26
+ const n8n_workflow_1 = require("n8n-workflow");
27
+ const auth_1 = require("../../shared/auth");
28
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
29
+ const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
30
+ class DominusNodeTeams {
31
+ description = {
32
+ displayName: "Dominus Node Teams",
33
+ name: "dominusNodeTeams",
34
+ icon: "file:dominusnode.svg",
35
+ group: ["transform"],
36
+ version: 1,
37
+ subtitle: '={{$parameter["operation"]}}',
38
+ description: "Manage Dominus Node team members, keys, and invitations",
39
+ defaults: { name: "Dominus Node Teams" },
40
+ inputs: ["main"],
41
+ outputs: ["main"],
42
+ credentials: [{ name: "dominusNodeApi", required: true }],
43
+ properties: [
44
+ {
45
+ displayName: "Operation",
46
+ name: "operation",
47
+ type: "options",
48
+ noDataExpression: true,
49
+ options: [
50
+ {
51
+ name: "Delete Team",
52
+ value: "teamDelete",
53
+ description: "Delete a team",
54
+ action: "Delete team",
55
+ },
56
+ {
57
+ name: "Revoke Team Key",
58
+ value: "teamRevokeKey",
59
+ description: "Revoke a team API key",
60
+ action: "Revoke team key",
61
+ },
62
+ {
63
+ name: "List Team Keys",
64
+ value: "teamListKeys",
65
+ description: "List all API keys for a team",
66
+ action: "List team keys",
67
+ },
68
+ {
69
+ name: "List Team Members",
70
+ value: "teamListMembers",
71
+ description: "List all members of a team",
72
+ action: "List team members",
73
+ },
74
+ {
75
+ name: "Add Team Member",
76
+ value: "teamAddMember",
77
+ description: "Add a user to a team",
78
+ action: "Add team member",
79
+ },
80
+ {
81
+ name: "Remove Team Member",
82
+ value: "teamRemoveMember",
83
+ description: "Remove a user from a team",
84
+ action: "Remove team member",
85
+ },
86
+ {
87
+ name: "Invite Team Member",
88
+ value: "teamInviteMember",
89
+ description: "Send an email invitation to join a team",
90
+ action: "Invite team member",
91
+ },
92
+ {
93
+ name: "List Team Invites",
94
+ value: "teamListInvites",
95
+ description: "List pending invitations for a team",
96
+ action: "List team invites",
97
+ },
98
+ {
99
+ name: "Cancel Team Invite",
100
+ value: "teamCancelInvite",
101
+ description: "Cancel a pending team invitation",
102
+ action: "Cancel team invite",
103
+ },
104
+ ],
105
+ default: "teamListMembers",
106
+ },
107
+ // --- Team ID (shared) ---
108
+ {
109
+ displayName: "Team ID",
110
+ name: "teamId",
111
+ type: "string",
112
+ default: "",
113
+ required: true,
114
+ description: "Team UUID",
115
+ displayOptions: {
116
+ show: {
117
+ operation: [
118
+ "teamDelete",
119
+ "teamRevokeKey",
120
+ "teamListKeys",
121
+ "teamListMembers",
122
+ "teamAddMember",
123
+ "teamRemoveMember",
124
+ "teamInviteMember",
125
+ "teamListInvites",
126
+ "teamCancelInvite",
127
+ ],
128
+ },
129
+ },
130
+ },
131
+ // --- Key ID for revoke ---
132
+ {
133
+ displayName: "Key ID",
134
+ name: "keyId",
135
+ type: "string",
136
+ default: "",
137
+ required: true,
138
+ description: "UUID of the team API key to revoke",
139
+ displayOptions: { show: { operation: ["teamRevokeKey"] } },
140
+ },
141
+ // --- User ID for add/remove member ---
142
+ {
143
+ displayName: "User ID",
144
+ name: "userId",
145
+ type: "string",
146
+ default: "",
147
+ required: true,
148
+ description: "UUID of the user to add or remove",
149
+ displayOptions: {
150
+ show: { operation: ["teamAddMember", "teamRemoveMember"] },
151
+ },
152
+ },
153
+ // --- Role for add member / invite ---
154
+ {
155
+ displayName: "Role",
156
+ name: "role",
157
+ type: "options",
158
+ options: [
159
+ { name: "Admin", value: "admin" },
160
+ { name: "Member", value: "member" },
161
+ ],
162
+ default: "member",
163
+ description: "Role for the team member",
164
+ displayOptions: {
165
+ show: { operation: ["teamAddMember", "teamInviteMember"] },
166
+ },
167
+ },
168
+ // --- Invite email ---
169
+ {
170
+ displayName: "Email",
171
+ name: "inviteEmail",
172
+ type: "string",
173
+ default: "",
174
+ required: true,
175
+ description: "Email address to send the invitation to",
176
+ displayOptions: { show: { operation: ["teamInviteMember"] } },
177
+ },
178
+ // --- Invite ID for cancel ---
179
+ {
180
+ displayName: "Invite ID",
181
+ name: "inviteId",
182
+ type: "string",
183
+ default: "",
184
+ required: true,
185
+ description: "UUID of the invitation to cancel",
186
+ displayOptions: { show: { operation: ["teamCancelInvite"] } },
187
+ },
188
+ ],
189
+ };
190
+ async execute() {
191
+ const items = this.getInputData();
192
+ const returnData = [];
193
+ const credentials = await this.getCredentials("dominusNodeApi");
194
+ const apiKey = credentials.apiKey;
195
+ const baseUrl = credentials.baseUrl || "https://api.dominusnode.com";
196
+ if (!apiKey) {
197
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "API Key is required");
198
+ }
199
+ const agentSecret = credentials.agentSecret || undefined;
200
+ const auth = new auth_1.DominusNodeAuth(apiKey, baseUrl, 30000, agentSecret);
201
+ const operation = this.getNodeParameter("operation", 0);
202
+ for (let i = 0; i < items.length; i++) {
203
+ try {
204
+ let result;
205
+ // All operations require teamId
206
+ const teamId = this.getNodeParameter("teamId", i);
207
+ validateUuid(this, teamId, "teamId", i);
208
+ switch (operation) {
209
+ case "teamDelete": {
210
+ result = await auth.apiRequest("DELETE", `/api/teams/${encodeURIComponent(teamId)}`);
211
+ break;
212
+ }
213
+ case "teamRevokeKey": {
214
+ const keyId = this.getNodeParameter("keyId", i);
215
+ validateUuid(this, keyId, "keyId", i);
216
+ result = await auth.apiRequest("DELETE", `/api/teams/${encodeURIComponent(teamId)}/keys/${encodeURIComponent(keyId)}`);
217
+ break;
218
+ }
219
+ case "teamListKeys": {
220
+ result = await auth.apiRequest("GET", `/api/teams/${encodeURIComponent(teamId)}/keys`);
221
+ break;
222
+ }
223
+ case "teamListMembers": {
224
+ result = await auth.apiRequest("GET", `/api/teams/${encodeURIComponent(teamId)}/members`);
225
+ break;
226
+ }
227
+ case "teamAddMember": {
228
+ const userId = this.getNodeParameter("userId", i);
229
+ const role = this.getNodeParameter("role", i, "member");
230
+ validateUuid(this, userId, "userId", i);
231
+ if (role !== "member" && role !== "admin") {
232
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Role must be 'member' or 'admin'", { itemIndex: i });
233
+ }
234
+ result = await auth.apiRequest("POST", `/api/teams/${encodeURIComponent(teamId)}/members`, { userId, role });
235
+ break;
236
+ }
237
+ case "teamRemoveMember": {
238
+ const userId = this.getNodeParameter("userId", i);
239
+ validateUuid(this, userId, "userId", i);
240
+ result = await auth.apiRequest("DELETE", `/api/teams/${encodeURIComponent(teamId)}/members/${encodeURIComponent(userId)}`);
241
+ break;
242
+ }
243
+ case "teamInviteMember": {
244
+ const email = this.getNodeParameter("inviteEmail", i);
245
+ const role = this.getNodeParameter("role", i, "member");
246
+ const safeEmail = validateEmail(this, email, i);
247
+ if (role !== "member" && role !== "admin") {
248
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Role must be 'member' or 'admin'", { itemIndex: i });
249
+ }
250
+ result = await auth.apiRequest("POST", `/api/teams/${encodeURIComponent(teamId)}/invites`, { email: safeEmail, role });
251
+ break;
252
+ }
253
+ case "teamListInvites": {
254
+ result = await auth.apiRequest("GET", `/api/teams/${encodeURIComponent(teamId)}/invites`);
255
+ break;
256
+ }
257
+ case "teamCancelInvite": {
258
+ const inviteId = this.getNodeParameter("inviteId", i);
259
+ validateUuid(this, inviteId, "inviteId", i);
260
+ result = await auth.apiRequest("DELETE", `/api/teams/${encodeURIComponent(teamId)}/invites/${encodeURIComponent(inviteId)}`);
261
+ break;
262
+ }
263
+ default:
264
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown operation: ${operation}`, { itemIndex: i });
265
+ }
266
+ returnData.push({ json: (result ?? {}) });
267
+ }
268
+ catch (err) {
269
+ if (this.continueOnFail()) {
270
+ returnData.push({
271
+ json: {
272
+ error: (0, auth_1.sanitizeError)(err instanceof Error ? err.message : String(err)),
273
+ },
274
+ });
275
+ continue;
276
+ }
277
+ if (err instanceof n8n_workflow_1.NodeOperationError)
278
+ throw err;
279
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), (0, auth_1.sanitizeError)(err instanceof Error ? err.message : String(err)), { itemIndex: i });
280
+ }
281
+ }
282
+ return [returnData];
283
+ }
284
+ }
285
+ exports.DominusNodeTeams = DominusNodeTeams;
286
+ // ---------------------------------------------------------------------------
287
+ // Validation helpers
288
+ // ---------------------------------------------------------------------------
289
+ function validateUuid(ctx, value, fieldName, itemIndex) {
290
+ if (!value || typeof value !== "string") {
291
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `${fieldName} is required`, {
292
+ itemIndex,
293
+ });
294
+ }
295
+ if (!UUID_RE.test(value)) {
296
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `${fieldName} must be a valid UUID`, { itemIndex });
297
+ }
298
+ }
299
+ function validateEmail(ctx, email, itemIndex) {
300
+ const trimmed = (email ?? "").trim();
301
+ if (!trimmed || !EMAIL_RE.test(trimmed)) {
302
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), "A valid email address is required", { itemIndex });
303
+ }
304
+ if (trimmed.length > 254) {
305
+ throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), "Email address too long (max 254 characters)", { itemIndex });
306
+ }
307
+ return trimmed;
308
+ }
309
+ //# sourceMappingURL=DominusNodeTeams.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DominusNodeTeams.node.js","sourceRoot":"","sources":["../../../src/nodes/DominusNodeTeams/DominusNodeTeams.node.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * Dominus Node Usage n8n community node.
3
3
  *
4
- * Operations:
4
+ * Operations (3 tools):
5
5
  * - Check Usage: Get proxy usage statistics for a given period
6
+ * - Get Daily Usage: Get daily usage breakdown for the last N days
7
+ * - Get Top Hosts: Get top accessed hosts by bandwidth
6
8
  *
7
9
  * @module
8
10
  */
@@ -2,8 +2,10 @@
2
2
  /**
3
3
  * Dominus Node Usage n8n community node.
4
4
  *
5
- * Operations:
5
+ * Operations (3 tools):
6
6
  * - Check Usage: Get proxy usage statistics for a given period
7
+ * - Get Daily Usage: Get daily usage breakdown for the last N days
8
+ * - Get Top Hosts: Get top accessed hosts by bandwidth
7
9
  *
8
10
  * @module
9
11
  */
@@ -38,6 +40,18 @@ class DominusNodeUsage {
38
40
  description: "Get proxy usage statistics for a given period",
39
41
  action: "Check usage",
40
42
  },
43
+ {
44
+ name: "Get Daily Usage",
45
+ value: "getDailyUsage",
46
+ description: "Get daily usage breakdown for the last N days",
47
+ action: "Get daily usage",
48
+ },
49
+ {
50
+ name: "Get Top Hosts",
51
+ value: "getTopHosts",
52
+ description: "Get top accessed hosts by bandwidth",
53
+ action: "Get top hosts",
54
+ },
41
55
  ],
42
56
  default: "checkUsage",
43
57
  },
@@ -54,6 +68,22 @@ class DominusNodeUsage {
54
68
  description: "Time period for usage statistics",
55
69
  displayOptions: { show: { operation: ["checkUsage"] } },
56
70
  },
71
+ {
72
+ displayName: "Days",
73
+ name: "days",
74
+ type: "number",
75
+ default: 7,
76
+ description: "Number of days of daily usage to return (1-365)",
77
+ displayOptions: { show: { operation: ["getDailyUsage"] } },
78
+ },
79
+ {
80
+ displayName: "Limit",
81
+ name: "topHostsLimit",
82
+ type: "number",
83
+ default: 10,
84
+ description: "Number of top hosts to return (1-100)",
85
+ displayOptions: { show: { operation: ["getTopHosts"] } },
86
+ },
57
87
  ],
58
88
  };
59
89
  async execute() {
@@ -81,6 +111,22 @@ class DominusNodeUsage {
81
111
  const result = await auth.apiRequest("GET", `/api/usage?${params.toString()}`);
82
112
  returnData.push({ json: (result ?? {}) });
83
113
  }
114
+ else if (operation === "getDailyUsage") {
115
+ const days = this.getNodeParameter("days", i, 7);
116
+ if (!Number.isInteger(days) || days < 1 || days > 365) {
117
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Days must be an integer between 1 and 365", { itemIndex: i });
118
+ }
119
+ const result = await auth.apiRequest("GET", `/api/usage/daily?days=${days}`);
120
+ returnData.push({ json: (result ?? {}) });
121
+ }
122
+ else if (operation === "getTopHosts") {
123
+ const limit = this.getNodeParameter("topHostsLimit", i, 10);
124
+ if (!Number.isInteger(limit) || limit < 1 || limit > 100) {
125
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "Limit must be an integer between 1 and 100", { itemIndex: i });
126
+ }
127
+ const result = await auth.apiRequest("GET", `/api/usage/top-hosts?limit=${limit}`);
128
+ returnData.push({ json: (result ?? {}) });
129
+ }
84
130
  else {
85
131
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown operation: ${operation}`, { itemIndex: i });
86
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DominusNodeUsage.node.js","sourceRoot":"","sources":["../../../src/nodes/DominusNodeUsage/DominusNodeUsage.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DominusNodeUsage.node.js","sourceRoot":"","sources":["../../../src/nodes/DominusNodeUsage/DominusNodeUsage.node.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * Dominus Node Wallet n8n community node.
3
3
  *
4
- * Operations:
4
+ * Operations (25 tools):
5
5
  * - Check Balance: Get current wallet balance
6
6
  * - Top Up (Stripe): Create a Stripe checkout session
7
7
  * - Top Up (Crypto): Create a crypto payment invoice
8
8
  * - Top Up (PayPal): Create a PayPal checkout session via Stripe
9
+ * - Get Transactions: Get wallet transaction history
10
+ * - Get Forecast: Get wallet spend forecast
11
+ * - Check Payment: Check crypto payment invoice status
9
12
  * - Create Agentic Wallet: Create a sub-wallet with spending limits
10
13
  * - Fund Agentic Wallet: Transfer funds to an agentic wallet
11
14
  * - Get Agentic Wallet Balance: Check an agentic wallet's balance
@@ -23,6 +26,7 @@
23
26
  * - Team Usage: Get team wallet transaction history
24
27
  * - Update Team: Update team name/max members
25
28
  * - Update Team Member Role: Update a team member's role
29
+ * - x402 Info: Get x402 micropayment protocol information
26
30
  *
27
31
  * @module
28
32
  */