powr-sdk-api 4.3.2 → 4.3.4

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/index.js CHANGED
@@ -19,7 +19,8 @@ const {
19
19
  const {
20
20
  initializeFunctions,
21
21
  initializeTools,
22
- executeTasks
22
+ executeTasks,
23
+ executeTool
23
24
  } = require("./managers");
24
25
  const {
25
26
  verifyToken
@@ -34,5 +35,6 @@ module.exports = {
34
35
  initializeFunctions,
35
36
  initializeTools,
36
37
  verifyToken,
37
- executeTasks
38
+ executeTasks,
39
+ executeTool
38
40
  };
@@ -15,12 +15,18 @@ const initializeTools = async (options = {}) => {
15
15
  // Initialize Tools manager with options
16
16
  await toolsManager.initialize(options);
17
17
  };
18
+ const executeTool = async (options = {}) => {
19
+ // Execute tool action
20
+ await toolsManager.executeToolAction(options);
21
+ };
22
+ const executeTasks = async (options = {}) => {
23
+ // Execute scheduled tasks
24
+ await scheduledTasksManager.executeScheduledTasks(options);
25
+ };
18
26
  module.exports = {
19
- // Managers
20
- functionsManager,
21
- toolsManager,
22
- scheduledTasksManager,
23
27
  // Initialization/Execution methods
24
28
  initializeFunctions,
25
- initializeTools
29
+ initializeTools,
30
+ executeTasks,
31
+ executeTool
26
32
  };
@@ -6,7 +6,7 @@ const {
6
6
  const {
7
7
  ObjectId
8
8
  } = require("mongodb");
9
- class ScheduledTasksManager {
9
+ class TasksManager {
10
10
  // Create a new scheduled task
11
11
  async createTask(taskData) {
12
12
  try {
@@ -309,7 +309,10 @@ class ScheduledTasksManager {
309
309
  }
310
310
 
311
311
  // Execute scheduled tasks (called by MongoDB Atlas Scheduled Trigger)
312
- async executeScheduledTasks(projectId) {
312
+ async executeScheduledTasks(options = {}) {
313
+ const {
314
+ projectId
315
+ } = options;
313
316
  try {
314
317
  const db = await getDb();
315
318
  const query = {
@@ -366,12 +369,10 @@ class ScheduledTasksManager {
366
369
  async executeTaskAction(task) {
367
370
  try {
368
371
  // Import tools manager
369
- const {
370
- toolsManager
371
- } = require('./index');
372
+ const toolsManager = require('./tools');
372
373
 
373
374
  // Execute the tool action
374
- const result = await toolsManager.executeToolAction(task.userId, task.toolId, task.actionId, task.params);
375
+ const result = await toolsManager.executeToolAction(task);
375
376
 
376
377
  // Log execution
377
378
  await this.logTaskExecution(task, result);
@@ -438,5 +439,5 @@ class ScheduledTasksManager {
438
439
  }
439
440
 
440
441
  // Create and export singleton instance
441
- const scheduledTasksManager = new ScheduledTasksManager();
442
- module.exports = scheduledTasksManager;
442
+ const tasksManager = new TasksManager();
443
+ module.exports = tasksManager;
@@ -150,7 +150,13 @@ class ToolsManager {
150
150
  }
151
151
 
152
152
  // Execute tool action
153
- async executeToolAction(userId, toolId, actionId, params) {
153
+ async executeToolAction(options = {}) {
154
+ const {
155
+ userId,
156
+ toolId,
157
+ actionId,
158
+ params
159
+ } = options;
154
160
  if (!this.isEnabled) {
155
161
  return {
156
162
  success: false,
@@ -2,16 +2,14 @@
2
2
 
3
3
  const express = require("express");
4
4
  const router = express.Router();
5
- const {
6
- toolsManager,
7
- scheduledTasksManager
8
- } = require("../managers");
5
+ const tasksManager = require("../managers/tasks");
6
+ const toolsManager = require("../managers/tools");
9
7
 
10
8
  // GET /tasks - Get all tasks
11
9
  router.get("/", async (req, res) => {
12
10
  try {
13
11
  const isAdmin = req.user.access === 100;
14
- const result = await scheduledTasksManager.getUserTasks(req.user.powrId, req.projectId, isAdmin);
12
+ const result = await tasksManager.getUserTasks(req.user.powrId, req.projectId, isAdmin);
15
13
  if (result.success) {
16
14
  return res.status(200).json({
17
15
  success: true,
@@ -36,7 +34,7 @@ router.get("/", async (req, res) => {
36
34
  router.get("/:taskId", async (req, res) => {
37
35
  try {
38
36
  const isAdmin = req.user.access === 100;
39
- const result = await scheduledTasksManager.getTask(req.params.taskId, req.user.powrId, req.projectId, isAdmin);
37
+ const result = await tasksManager.getTask(req.params.taskId, req.user.powrId, req.projectId, isAdmin);
40
38
  if (result.success) {
41
39
  return res.status(200).json({
42
40
  success: true,
@@ -108,7 +106,7 @@ router.post("/", async (req, res) => {
108
106
  projectId: req.projectId,
109
107
  isActive: isActive !== false // Default to true
110
108
  };
111
- const result = await scheduledTasksManager.createTask(taskData);
109
+ const result = await tasksManager.createTask(taskData);
112
110
  if (result.success) {
113
111
  res.status(201).json({
114
112
  success: true,
@@ -174,7 +172,7 @@ router.put("/:taskId", async (req, res) => {
174
172
  if (params !== undefined) updateData.params = params;
175
173
  if (isActive !== undefined) updateData.isActive = isActive;
176
174
  const isAdmin = req.user.access === 100;
177
- const result = await scheduledTasksManager.updateTask(req.params.taskId, req.user.powrId, req.projectId, updateData, isAdmin);
175
+ const result = await tasksManager.updateTask(req.params.taskId, req.user.powrId, req.projectId, updateData, isAdmin);
178
176
  if (result.success) {
179
177
  res.status(200).json({
180
178
  success: true,
@@ -200,7 +198,7 @@ router.post("/:taskId/execute", async (req, res) => {
200
198
  try {
201
199
  const taskId = req.params.taskId;
202
200
  const isAdmin = req.user.access === 100;
203
- const result = await scheduledTasksManager.executeTask(taskId, req.user.powrId, req.projectId, isAdmin);
201
+ const result = await tasksManager.executeTask(taskId, req.user.powrId, req.projectId, isAdmin);
204
202
  if (result.success) {
205
203
  res.json({
206
204
  success: true,
@@ -230,7 +228,7 @@ router.post("/:taskId/toggle", async (req, res) => {
230
228
  isActive
231
229
  } = req.body;
232
230
  const isAdmin = req.user.access === 100;
233
- const result = await scheduledTasksManager.toggleTask(taskId, req.user.powrId, req.projectId, isActive, isAdmin);
231
+ const result = await tasksManager.toggleTask(taskId, req.user.powrId, req.projectId, isActive, isAdmin);
234
232
  if (result.success) {
235
233
  res.json({
236
234
  success: true,
@@ -256,7 +254,7 @@ router.delete("/:taskId", async (req, res) => {
256
254
  try {
257
255
  const taskId = req.params.taskId;
258
256
  const isAdmin = req.user.access === 100;
259
- const result = await scheduledTasksManager.deleteTask(taskId, req.user.powrId, req.projectId, isAdmin);
257
+ const result = await tasksManager.deleteTask(taskId, req.user.powrId, req.projectId, isAdmin);
260
258
  if (result.success) {
261
259
  res.json({
262
260
  success: true,
@@ -284,7 +282,9 @@ router.post("/execute-scheduled", async (req, res) => {
284
282
  console.log(`🔍 API: Executing scheduled tasks for project: ${projectId}`);
285
283
 
286
284
  // Execute all scheduled tasks for this project
287
- const result = await scheduledTasksManager.executeScheduledTasks(projectId);
285
+ const result = await tasksManager.executeScheduledTasks({
286
+ projectId
287
+ });
288
288
  console.log(`✅ API: Scheduled tasks execution completed for project: ${projectId}`);
289
289
  res.json({
290
290
  success: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "powr-sdk-api",
3
- "version": "4.3.2",
3
+ "version": "4.3.4",
4
4
  "description": "Shared API core library for PowrStack projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",