@credal/actions 0.2.197 → 0.2.199

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 (175) hide show
  1. package/dist/actions/actionMapper.js +8 -1
  2. package/dist/actions/autogen/templates.d.ts +1 -0
  3. package/dist/actions/autogen/templates.js +79 -18
  4. package/dist/actions/autogen/types.d.ts +39 -0
  5. package/dist/actions/autogen/types.js +43 -8
  6. package/dist/actions/groups.js +4 -1
  7. package/dist/actions/invoke.js +11 -22
  8. package/dist/actions/parse.js +231 -244
  9. package/dist/actions/providers/asana/commentAsanaTask.js +8 -15
  10. package/dist/actions/providers/asana/createAsanaTask.js +20 -21
  11. package/dist/actions/providers/asana/getTasksDetails.js +18 -34
  12. package/dist/actions/providers/asana/listAsanaTasksByProject.js +62 -79
  13. package/dist/actions/providers/asana/searchAsanaTasks.js +6 -16
  14. package/dist/actions/providers/asana/updateAsanaTask.js +16 -15
  15. package/dist/actions/providers/asana/utils.js +47 -64
  16. package/dist/actions/providers/bing/getTopNSearchResultUrls.js +4 -14
  17. package/dist/actions/providers/confluence/fetchPageContent.js +5 -15
  18. package/dist/actions/providers/confluence/overwritePage.js +5 -14
  19. package/dist/actions/providers/finnhub/getBasicFinancials.js +7 -19
  20. package/dist/actions/providers/finnhub/symbolLookup.js +3 -12
  21. package/dist/actions/providers/firecrawl/deepResearch.js +11 -21
  22. package/dist/actions/providers/firecrawl/getTopNSearchResultUrls.js +8 -21
  23. package/dist/actions/providers/firecrawl/scrapeTweetDataWithNitter.js +4 -13
  24. package/dist/actions/providers/firecrawl/scrapeUrl.js +16 -21
  25. package/dist/actions/providers/firecrawl/searchAndScrape.js +6 -17
  26. package/dist/actions/providers/generic/fillTemplate.js +2 -11
  27. package/dist/actions/providers/github/createBranch.js +9 -18
  28. package/dist/actions/providers/github/createOrUpdateFile.js +6 -15
  29. package/dist/actions/providers/github/createPullRequest.js +5 -14
  30. package/dist/actions/providers/github/fetchFile.d.ts +3 -0
  31. package/dist/actions/providers/github/fetchFile.js +131 -0
  32. package/dist/actions/providers/github/getBranch.js +4 -13
  33. package/dist/actions/providers/github/getContents.d.ts +3 -0
  34. package/dist/actions/providers/github/getContents.js +41 -0
  35. package/dist/actions/providers/github/getFileContent.js +6 -16
  36. package/dist/actions/providers/github/getPullRequestDetails.js +39 -18
  37. package/dist/actions/providers/github/listCommits.js +17 -15
  38. package/dist/actions/providers/github/listDirectory.js +13 -25
  39. package/dist/actions/providers/github/listPullRequests.js +4 -13
  40. package/dist/actions/providers/github/searchOrganization.js +29 -49
  41. package/dist/actions/providers/github/utils.js +5 -16
  42. package/dist/actions/providers/gitlab/getFileContent.js +13 -24
  43. package/dist/actions/providers/gitlab/getMergeRequest.js +18 -30
  44. package/dist/actions/providers/gitlab/listDirectory.js +15 -27
  45. package/dist/actions/providers/gitlab/searchGroup.js +45 -52
  46. package/dist/actions/providers/gitlab/utils.js +19 -32
  47. package/dist/actions/providers/google-oauth/addGroupMember.js +3 -12
  48. package/dist/actions/providers/google-oauth/addTextToTopOfDoc.js +3 -12
  49. package/dist/actions/providers/google-oauth/appendRowsToSpreadsheet.js +4 -13
  50. package/dist/actions/providers/google-oauth/createNewGoogleDoc.js +7 -17
  51. package/dist/actions/providers/google-oauth/createPresentation.js +7 -13
  52. package/dist/actions/providers/google-oauth/createSpreadsheet.js +7 -13
  53. package/dist/actions/providers/google-oauth/deleteCalendarEvent.js +3 -12
  54. package/dist/actions/providers/google-oauth/deleteGroupMember.js +3 -12
  55. package/dist/actions/providers/google-oauth/deleteRowFromSpreadsheet.js +3 -12
  56. package/dist/actions/providers/google-oauth/editAGoogleCalendarEvent.js +4 -14
  57. package/dist/actions/providers/google-oauth/getDriveFileContentById.js +23 -33
  58. package/dist/actions/providers/google-oauth/getGroup.js +3 -12
  59. package/dist/actions/providers/google-oauth/getPresentation.js +23 -37
  60. package/dist/actions/providers/google-oauth/hasGroupMember.js +3 -12
  61. package/dist/actions/providers/google-oauth/listCalendarEvents.js +27 -21
  62. package/dist/actions/providers/google-oauth/listCalendars.js +4 -14
  63. package/dist/actions/providers/google-oauth/listGroupMembers.js +4 -13
  64. package/dist/actions/providers/google-oauth/listGroups.js +4 -14
  65. package/dist/actions/providers/google-oauth/queryGoogleBigQuery.js +10 -21
  66. package/dist/actions/providers/google-oauth/scheduleCalendarMeeting.js +11 -14
  67. package/dist/actions/providers/google-oauth/searchDriveByKeywords.js +3 -12
  68. package/dist/actions/providers/google-oauth/searchDriveByKeywordsAndGetFileContent.js +12 -23
  69. package/dist/actions/providers/google-oauth/searchDriveByQuery.js +30 -42
  70. package/dist/actions/providers/google-oauth/searchDriveByQueryAndGetFileContent.js +9 -20
  71. package/dist/actions/providers/google-oauth/updateCalendarEvent.js +3 -12
  72. package/dist/actions/providers/google-oauth/updateDoc.js +3 -12
  73. package/dist/actions/providers/google-oauth/updatePresentation.js +3 -12
  74. package/dist/actions/providers/google-oauth/updateRowsInSpreadsheet.js +4 -13
  75. package/dist/actions/providers/google-oauth/updateSpreadsheet.js +3 -12
  76. package/dist/actions/providers/google-oauth/utils/decodeMessage.js +7 -8
  77. package/dist/actions/providers/googleSearch/customSearch.js +18 -36
  78. package/dist/actions/providers/googlemail/listGmailThreads.js +7 -16
  79. package/dist/actions/providers/googlemail/replyToGmail.d.ts +3 -0
  80. package/dist/actions/providers/googlemail/replyToGmail.js +89 -0
  81. package/dist/actions/providers/googlemail/searchGmailMessages.js +10 -20
  82. package/dist/actions/providers/googlemail/sendGmail.js +7 -17
  83. package/dist/actions/providers/googlemaps/nearbysearchRestaurants.js +13 -25
  84. package/dist/actions/providers/googlemaps/validateAddress.js +3 -12
  85. package/dist/actions/providers/hubspot/getCompanies.js +4 -14
  86. package/dist/actions/providers/hubspot/getCompanyDetails.js +3 -12
  87. package/dist/actions/providers/hubspot/getContactDetails.js +3 -12
  88. package/dist/actions/providers/hubspot/getContacts.js +4 -14
  89. package/dist/actions/providers/hubspot/getDealDetails.js +3 -12
  90. package/dist/actions/providers/hubspot/getDeals.js +3 -12
  91. package/dist/actions/providers/hubspot/getTicketDetails.js +3 -12
  92. package/dist/actions/providers/hubspot/getTickets.js +3 -12
  93. package/dist/actions/providers/jira/assignJiraTicket.js +4 -13
  94. package/dist/actions/providers/jira/commentJiraTicket.js +3 -12
  95. package/dist/actions/providers/jira/createJiraTicket.js +22 -18
  96. package/dist/actions/providers/jira/createServiceDeskRequest.js +3 -12
  97. package/dist/actions/providers/jira/getJiraDCIssuesByQuery.js +5 -14
  98. package/dist/actions/providers/jira/getJiraIssuesByQuery.js +19 -29
  99. package/dist/actions/providers/jira/getJiraTicketDetails.js +3 -12
  100. package/dist/actions/providers/jira/getJiraTicketHistory.js +3 -12
  101. package/dist/actions/providers/jira/moveJiraTicketToProject.js +11 -21
  102. package/dist/actions/providers/jira/publicCommentOnServiceDeskRequest.js +3 -12
  103. package/dist/actions/providers/jira/updateJiraTicketDetails.js +15 -15
  104. package/dist/actions/providers/jira/updateJiraTicketStatus.js +4 -13
  105. package/dist/actions/providers/jira/utils.js +104 -126
  106. package/dist/actions/providers/linear/getIssueDetails.js +10 -20
  107. package/dist/actions/providers/linear/getIssues.js +11 -21
  108. package/dist/actions/providers/linear/getProjectDetails.js +10 -20
  109. package/dist/actions/providers/linear/getProjects.js +6 -16
  110. package/dist/actions/providers/linear/getTeamDetails.js +7 -17
  111. package/dist/actions/providers/linear/getTeams.js +5 -15
  112. package/dist/actions/providers/looker/enableUserByEmail.js +5 -14
  113. package/dist/actions/providers/math/add.js +2 -11
  114. package/dist/actions/providers/microsoft/createDocument.js +4 -13
  115. package/dist/actions/providers/microsoft/getDocument.js +4 -13
  116. package/dist/actions/providers/microsoft/messageTeamsChannel.js +4 -13
  117. package/dist/actions/providers/microsoft/messageTeamsChat.js +4 -13
  118. package/dist/actions/providers/microsoft/updateDocument.js +4 -13
  119. package/dist/actions/providers/microsoft/updateSpreadsheet.js +4 -13
  120. package/dist/actions/providers/microsoft/utils.js +9 -20
  121. package/dist/actions/providers/mongodb/insertMongoDoc.js +5 -14
  122. package/dist/actions/providers/notion/searchByTitle.js +3 -12
  123. package/dist/actions/providers/nws/getForecastForLocation.js +4 -13
  124. package/dist/actions/providers/oktaOrg/getOktaUserByName.js +3 -12
  125. package/dist/actions/providers/openstreetmap/getLatitudeLongitudeFromLocation.js +3 -12
  126. package/dist/actions/providers/perplexity/perplexityDeepResearch.js +11 -21
  127. package/dist/actions/providers/resend/sendEmail.js +3 -12
  128. package/dist/actions/providers/resend/sendEmailHtml.js +3 -12
  129. package/dist/actions/providers/salesforce/createCase.js +10 -13
  130. package/dist/actions/providers/salesforce/createRecord.js +3 -12
  131. package/dist/actions/providers/salesforce/executeReport.js +3 -12
  132. package/dist/actions/providers/salesforce/generateSalesReport.js +3 -12
  133. package/dist/actions/providers/salesforce/getRecord.js +3 -12
  134. package/dist/actions/providers/salesforce/getReportMetadata.js +11 -21
  135. package/dist/actions/providers/salesforce/getSalesforceRecordsByQuery.js +7 -17
  136. package/dist/actions/providers/salesforce/listReports.js +3 -12
  137. package/dist/actions/providers/salesforce/searchAllSalesforceRecords.js +3 -12
  138. package/dist/actions/providers/salesforce/searchSalesforceRecords.js +3 -12
  139. package/dist/actions/providers/salesforce/updateRecord.js +3 -12
  140. package/dist/actions/providers/slack/archiveChannel.js +9 -2
  141. package/dist/actions/providers/slack/createChannel.js +7 -17
  142. package/dist/actions/providers/slack/getChannelMembers.js +8 -18
  143. package/dist/actions/providers/slack/getChannelMessages.js +8 -18
  144. package/dist/actions/providers/slack/helpers.js +16 -47
  145. package/dist/actions/providers/slack/messageTransformers.js +10 -13
  146. package/dist/actions/providers/slack/sendDmFromBot.js +9 -19
  147. package/dist/actions/providers/slack/sendMessage.js +7 -17
  148. package/dist/actions/providers/slackUser/searchSlack.js +179 -212
  149. package/dist/actions/providers/slackUser/searchSlackRTS.js +20 -33
  150. package/dist/actions/providers/slackUser/utils.js +1 -1
  151. package/dist/actions/providers/snowflake/auth/getSnowflakeConnection.js +23 -34
  152. package/dist/actions/providers/snowflake/getRowByFieldValue.js +4 -13
  153. package/dist/actions/providers/snowflake/runSnowflakeQuery.js +9 -19
  154. package/dist/actions/providers/zendesk/addCommentToTicket.js +5 -14
  155. package/dist/actions/providers/zendesk/assignTicket.js +3 -12
  156. package/dist/actions/providers/zendesk/createZendeskTicket.js +3 -12
  157. package/dist/actions/providers/zendesk/getTicketDetails.js +3 -12
  158. package/dist/actions/providers/zendesk/listTickets.js +3 -12
  159. package/dist/actions/providers/zendesk/searchZendeskByQuery.js +3 -12
  160. package/dist/actions/providers/zendesk/updateTicketStatus.js +3 -12
  161. package/dist/actions/util/axiosClient.js +5 -5
  162. package/dist/app.js +14 -25
  163. package/dist/utils/google.js +122 -143
  164. package/dist/utils/pdf.js +10 -21
  165. package/package.json +10 -9
  166. package/dist/actions/providers/credal/callCopilot.d.ts +0 -3
  167. package/dist/actions/providers/credal/callCopilot.js +0 -36
  168. package/dist/actions/providers/math/index.d.ts +0 -1
  169. package/dist/actions/providers/math/index.js +0 -37
  170. package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.d.ts +0 -3
  171. package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.js +0 -43
  172. package/dist/actions/providers/slack/index.d.ts +0 -1
  173. package/dist/actions/providers/slack/index.js +0 -37
  174. package/dist/actions/providers/slack/listConversations.d.ts +0 -3
  175. package/dist/actions/providers/slack/listConversations.js +0 -41
@@ -4,7 +4,7 @@ export function normalizeChannelOperand(raw) {
4
4
  return;
5
5
  // Accept inputs like "C123", "#C123", "<#C123>", "<#C123|name>", "general", or "#general"
6
6
  const m = s.match(/<#(C[A-Z0-9]+)(?:\|[^>]+)?>/i);
7
- if (m === null || m === void 0 ? void 0 : m[1])
7
+ if (m?.[1])
8
8
  return `<#${m[1]}>`;
9
9
  const stripped = s.replace(/^#/, "");
10
10
  if (/^C[A-Z0-9]+$/i.test(stripped))
@@ -1,12 +1,3 @@
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
1
  import snowflake from "snowflake-sdk";
11
2
  import forge from "node-forge";
12
3
  const getPrivateKeyCorrectFormat = (privateKey) => {
@@ -18,7 +9,7 @@ const getPrivateKeyCorrectFormat = (privateKey) => {
18
9
  }
19
10
  catch (error) {
20
11
  console.error("Error processing private key:", error);
21
- throw new Error("Invalid private key format. Please check the key format and try again.");
12
+ throw new Error("Invalid private key format. Please check the key format and try again.", { cause: error });
22
13
  }
23
14
  };
24
15
  export function getSnowflakeConnection(snowflakeData, authParams) {
@@ -51,30 +42,28 @@ export function getSnowflakeConnection(snowflakeData, authParams) {
51
42
  throw new Error("Snowflake authToken or apiKey is required");
52
43
  }
53
44
  }
54
- export function connectToSnowflakeAndWarehouse(connection, warehouse) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- yield new Promise((resolve, reject) => {
57
- connection.connect((err, conn) => {
58
- if (err) {
59
- console.error("Unable to connect to Snowflake:", err.message);
60
- return reject(err);
61
- }
62
- resolve(conn);
63
- });
45
+ export async function connectToSnowflakeAndWarehouse(connection, warehouse) {
46
+ await new Promise((resolve, reject) => {
47
+ connection.connect((err, conn) => {
48
+ if (err) {
49
+ console.error("Unable to connect to Snowflake:", err.message);
50
+ return reject(err);
51
+ }
52
+ resolve(conn);
64
53
  });
65
- if (warehouse) {
66
- yield new Promise((resolve, reject) => {
67
- connection.execute({
68
- sqlText: `USE WAREHOUSE ${warehouse}`,
69
- complete: (err, stmt, rows) => {
70
- if (err) {
71
- console.error("Unable to use warehouse:", err.message);
72
- return reject(err);
73
- }
74
- resolve(rows);
75
- },
76
- });
77
- });
78
- }
79
54
  });
55
+ if (warehouse) {
56
+ await new Promise((resolve, reject) => {
57
+ connection.execute({
58
+ sqlText: `USE WAREHOUSE ${warehouse}`,
59
+ complete: (err, stmt, rows) => {
60
+ if (err) {
61
+ console.error("Unable to use warehouse:", err.message);
62
+ return reject(err);
63
+ }
64
+ resolve(rows);
65
+ },
66
+ });
67
+ });
68
+ }
80
69
  }
@@ -1,14 +1,5 @@
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
1
  import { getSnowflakeConnection } from "./auth/getSnowflakeConnection.js";
11
- const getRowByFieldValue = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
2
+ const getRowByFieldValue = async ({ params, authParams, }) => {
12
3
  const { databaseName, tableName, fieldName, warehouse, fieldValue, accountName } = params;
13
4
  if (!accountName || !databaseName || !warehouse) {
14
5
  // TODO: Move these to required params
@@ -25,7 +16,7 @@ const getRowByFieldValue = (_a) => __awaiter(void 0, [_a], void 0, function* ({
25
16
  apiKey: authParams.apiKey,
26
17
  });
27
18
  try {
28
- yield new Promise((resolve, reject) => {
19
+ await new Promise((resolve, reject) => {
29
20
  connection.connect((err, conn) => {
30
21
  if (err) {
31
22
  console.error("Unable to connect:", err.message);
@@ -37,7 +28,7 @@ const getRowByFieldValue = (_a) => __awaiter(void 0, [_a], void 0, function* ({
37
28
  });
38
29
  const query = `SELECT * FROM ${databaseName}.PUBLIC.${tableName} WHERE ${fieldName} = ?`;
39
30
  const binds = [fieldValue];
40
- return yield new Promise((resolve, reject) => {
31
+ return await new Promise((resolve, reject) => {
41
32
  connection.execute({
42
33
  sqlText: query,
43
34
  binds: binds,
@@ -75,5 +66,5 @@ const getRowByFieldValue = (_a) => __awaiter(void 0, [_a], void 0, function* ({
75
66
  }
76
67
  });
77
68
  }
78
- });
69
+ };
79
70
  export default getRowByFieldValue;
@@ -1,23 +1,13 @@
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
1
  import snowflake from "snowflake-sdk";
11
2
  import { connectToSnowflakeAndWarehouse, getSnowflakeConnection } from "./auth/getSnowflakeConnection.js";
12
3
  import { formatDataForCodeInterpreter } from "../../util/formatDataForCodeInterpreter.js";
13
4
  snowflake.configure({ logLevel: "ERROR" });
14
- const runSnowflakeQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
15
- var _b;
5
+ const runSnowflakeQuery = async ({ params, authParams, }) => {
16
6
  const { databaseName, warehouse, query, accountName, outputFormat = "json", limit, role, username } = params;
17
- const executeQueryAndFormatData = () => __awaiter(void 0, void 0, void 0, function* () {
7
+ const executeQueryAndFormatData = async () => {
18
8
  const formattedQuery = query.trim().replace(/\s+/g, " "); // Normalize all whitespace to single spaces
19
9
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- const queryResults = yield new Promise((resolve, reject) => {
10
+ const queryResults = await new Promise((resolve, reject) => {
21
11
  connection.execute({
22
12
  sqlText: formattedQuery,
23
13
  complete: (err, stmt, rows) => {
@@ -35,8 +25,8 @@ const runSnowflakeQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ p
35
25
  }
36
26
  const formattedData = formatDataForCodeInterpreter(queryResults, outputFormat);
37
27
  return { formattedData: formattedData, resultsLength: fullResultLength };
38
- });
39
- const snowflakeUsername = (_b = authParams.username) !== null && _b !== void 0 ? _b : username;
28
+ };
29
+ const snowflakeUsername = authParams.username ?? username;
40
30
  if (!snowflakeUsername) {
41
31
  throw new Error("Snowflake username is required in authParams or as a action parameter.");
42
32
  }
@@ -50,8 +40,8 @@ const runSnowflakeQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ p
50
40
  }, { authToken: authParams.authToken, apiKey: authParams.apiKey });
51
41
  try {
52
42
  // Connect to Snowflake
53
- yield connectToSnowflakeAndWarehouse(connection, warehouse);
54
- const { formattedData, resultsLength } = yield executeQueryAndFormatData();
43
+ await connectToSnowflakeAndWarehouse(connection, warehouse);
44
+ const { formattedData, resultsLength } = await executeQueryAndFormatData();
55
45
  // Return fields to match schema definition
56
46
  connection.destroy(err => {
57
47
  if (err) {
@@ -71,7 +61,7 @@ const runSnowflakeQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ p
71
61
  console.log("Failed to disconnect from Snowflake:", err);
72
62
  }
73
63
  });
74
- throw Error(`An error occurred: ${error}`);
64
+ throw Error(`An error occurred: ${error}`, { cause: error });
75
65
  }
76
- });
66
+ };
77
67
  export default runSnowflakeQuery;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const addCommentToTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const addCommentToTicket = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, ticketId, body, public: isPublic } = params;
15
6
  const url = `https://${subdomain}.zendesk.com/api/v2/tickets/${ticketId}.json`;
@@ -18,7 +9,7 @@ const addCommentToTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({
18
9
  }
19
10
  const axiosClient = createAxiosClientWithRetries({ timeout: 20000, retryCount: 5 });
20
11
  try {
21
- yield axiosClient.request({
12
+ await axiosClient.request({
22
13
  url: url,
23
14
  method: "PUT",
24
15
  headers: {
@@ -29,7 +20,7 @@ const addCommentToTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({
29
20
  ticket: {
30
21
  comment: {
31
22
  body: body,
32
- public: isPublic !== null && isPublic !== void 0 ? isPublic : true,
23
+ public: isPublic ?? true,
33
24
  },
34
25
  },
35
26
  },
@@ -41,7 +32,7 @@ const addCommentToTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({
41
32
  }
42
33
  catch (error) {
43
34
  console.error("Failed to add comment to Zendesk ticket:", error);
44
- throw new Error(`Failed to add comment to ticket ${ticketId}: ${error instanceof Error ? error.message : "Unknown error"}`);
35
+ throw new Error(`Failed to add comment to ticket ${ticketId}: ${error instanceof Error ? error.message : "Unknown error"}`, { cause: error });
45
36
  }
46
- });
37
+ };
47
38
  export default addCommentToTicket;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const updateTicketStatus = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, ticketId, assigneeEmail } = params;
15
6
  const url = `https://${subdomain}.zendesk.com/api/v2/tickets/${ticketId}.json`;
@@ -17,7 +8,7 @@ const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({
17
8
  throw new Error(MISSING_AUTH_TOKEN);
18
9
  }
19
10
  const axiosClient = createAxiosClientWithRetries({ timeout: 10000, retryCount: 4 });
20
- yield axiosClient.request({
11
+ await axiosClient.request({
21
12
  url: url,
22
13
  method: "PUT",
23
14
  headers: {
@@ -30,5 +21,5 @@ const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({
30
21
  },
31
22
  },
32
23
  });
33
- });
24
+ };
34
25
  export default updateTicketStatus;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const createZendeskTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const createZendeskTicket = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, subject, body, groupId } = params;
15
6
  const url = `https://${subdomain}.zendesk.com/api/v2/tickets.json`;
@@ -26,7 +17,7 @@ const createZendeskTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({
26
17
  throw new Error(MISSING_AUTH_TOKEN);
27
18
  }
28
19
  const axiosClient = createAxiosClientWithRetries({ timeout: 10000, retryCount: 4 });
29
- const response = yield axiosClient.post(url, payload, {
20
+ const response = await axiosClient.post(url, payload, {
30
21
  headers: {
31
22
  "Content-Type": "application/json",
32
23
  Authorization: `Bearer ${authToken}`,
@@ -36,5 +27,5 @@ const createZendeskTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({
36
27
  ticketId: response.data.ticket.id,
37
28
  ticketUrl: `https://${subdomain}.zendesk.com/requests/${response.data.ticket.id}`,
38
29
  };
39
- });
30
+ };
40
31
  export default createZendeskTicket;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const getZendeskTicketDetails = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const getZendeskTicketDetails = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, ticketId } = params;
15
6
  const url = `https://${subdomain}.zendesk.com/api/v2/tickets/${ticketId}.json`;
@@ -17,7 +8,7 @@ const getZendeskTicketDetails = (_a) => __awaiter(void 0, [_a], void 0, function
17
8
  throw new Error(MISSING_AUTH_TOKEN);
18
9
  }
19
10
  const axiosClient = createAxiosClientWithRetries({ timeout: 10000, retryCount: 4 });
20
- const response = yield axiosClient.request({
11
+ const response = await axiosClient.request({
21
12
  url: url,
22
13
  method: "GET",
23
14
  headers: {
@@ -28,5 +19,5 @@ const getZendeskTicketDetails = (_a) => __awaiter(void 0, [_a], void 0, function
28
19
  return {
29
20
  ticket: response.data.ticket,
30
21
  };
31
- });
22
+ };
32
23
  export default getZendeskTicketDetails;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const listZendeskTickets = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const listZendeskTickets = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, status } = params;
15
6
  // Calculate date 3 months ago from now
@@ -28,7 +19,7 @@ const listZendeskTickets = (_a) => __awaiter(void 0, [_a], void 0, function* ({
28
19
  if (status) {
29
20
  queryParams.append("status", status);
30
21
  }
31
- const response = yield axiosClient.get(`${url}?${queryParams.toString()}`, {
22
+ const response = await axiosClient.get(`${url}?${queryParams.toString()}`, {
32
23
  headers: {
33
24
  "Content-Type": "application/json",
34
25
  Authorization: `Bearer ${authToken}`,
@@ -38,5 +29,5 @@ const listZendeskTickets = (_a) => __awaiter(void 0, [_a], void 0, function* ({
38
29
  tickets: response.data.tickets,
39
30
  count: response.data.count,
40
31
  };
41
- });
32
+ };
42
33
  export default listZendeskTickets;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const searchZendeskByQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const searchZendeskByQuery = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, query, objectType = "ticket", limit = 100 } = params;
15
6
  // Endpoint for searching Zendesk objects
@@ -22,7 +13,7 @@ const searchZendeskByQuery = (_a) => __awaiter(void 0, [_a], void 0, function* (
22
13
  const queryParams = new URLSearchParams();
23
14
  queryParams.append("query", `type:${objectType} ${query}`);
24
15
  queryParams.append("per_page", limit.toString());
25
- const response = yield axiosClient.get(`${url}?${queryParams.toString()}`, {
16
+ const response = await axiosClient.get(`${url}?${queryParams.toString()}`, {
26
17
  headers: {
27
18
  "Content-Type": "application/json",
28
19
  Authorization: `Bearer ${authToken}`,
@@ -32,5 +23,5 @@ const searchZendeskByQuery = (_a) => __awaiter(void 0, [_a], void 0, function* (
32
23
  results: response.data.results,
33
24
  count: response.data.count,
34
25
  };
35
- });
26
+ };
36
27
  export default searchZendeskByQuery;
@@ -1,15 +1,6 @@
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
1
  import { createAxiosClientWithRetries } from "../../util/axiosClient.js";
11
2
  import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
12
- const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
3
+ const updateTicketStatus = async ({ params, authParams, }) => {
13
4
  const { authToken } = authParams;
14
5
  const { subdomain, ticketId, status } = params;
15
6
  const url = `https://${subdomain}.zendesk.com/api/v2/tickets/${ticketId}.json`;
@@ -17,7 +8,7 @@ const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({
17
8
  throw new Error(MISSING_AUTH_TOKEN);
18
9
  }
19
10
  const axiosClient = createAxiosClientWithRetries({ timeout: 10000, retryCount: 4 });
20
- yield axiosClient.request({
11
+ await axiosClient.request({
21
12
  url: url,
22
13
  method: "PUT",
23
14
  headers: {
@@ -30,5 +21,5 @@ const updateTicketStatus = (_a) => __awaiter(void 0, [_a], void 0, function* ({
30
21
  },
31
22
  },
32
23
  });
33
- });
24
+ };
34
25
  export default updateTicketStatus;
@@ -1,6 +1,8 @@
1
1
  import axios from "axios";
2
2
  import axiosRetry from "axios-retry";
3
3
  export class ApiError extends Error {
4
+ status;
5
+ data;
4
6
  constructor(message, status, data) {
5
7
  super(message);
6
8
  this.name = "ApiError";
@@ -25,14 +27,13 @@ function createAxiosClient(timeout) {
25
27
  instance.interceptors.response.use((response) => {
26
28
  return response;
27
29
  }, (error) => {
28
- var _a, _b;
29
30
  if (error.response) {
30
31
  console.error(`API error:`, error.response.status, error.response.data);
31
32
  return Promise.reject(new ApiError(`Request failed with status ${error.response.status}`, error.response.status, error.response.data));
32
33
  }
33
34
  else if (error.request) {
34
- console.error(`No response received:`, (_a = error.config) === null || _a === void 0 ? void 0 : _a.url);
35
- return Promise.reject(new ApiError(`No response received from server for ${((_b = error.config) === null || _b === void 0 ? void 0 : _b.url) || "unknown endpoint"}`));
35
+ console.error(`No response received:`, error.config?.url);
36
+ return Promise.reject(new ApiError(`No response received from server for ${error.config?.url || "unknown endpoint"}`));
36
37
  }
37
38
  else {
38
39
  console.error(`Request setup error:`, error.message);
@@ -58,8 +59,7 @@ export function createAxiosClientWithRetries(args) {
58
59
  return status === 408 || status === 429 || status >= 500;
59
60
  },
60
61
  onRetry: (retryCount, error) => {
61
- var _a, _b;
62
- console.log(`Retry ${retryCount}: ${((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) || "Network Error"} - ${(_b = error.config) === null || _b === void 0 ? void 0 : _b.url}`);
62
+ console.log(`Retry ${retryCount}: ${error.response?.status || "Network Error"} - ${error.config?.url}`);
63
63
  },
64
64
  });
65
65
  return instance;
package/dist/app.js CHANGED
@@ -1,33 +1,22 @@
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
1
  import * as templates from "./actions/autogen/templates.js";
11
2
  import { invokeAction } from "./actions/invoke.js";
12
- export function runAction(name, provider, authentication,
3
+ export async function runAction(name, provider, authentication,
13
4
  // eslint-disable-next-line
14
5
  parameters) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- if (!parameters || !name || !provider) {
17
- throw Error("Missing params");
18
- }
19
- const actionTemplate = getActionByProviderAndName(provider, name);
20
- if (!actionTemplate) {
21
- throw Error(`Action template with name ${name} does not exist`);
22
- }
23
- const result = yield invokeAction({
24
- provider: actionTemplate.provider,
25
- name: actionTemplate.name,
26
- parameters: parameters,
27
- authParams: authentication,
28
- });
29
- return result;
6
+ if (!parameters || !name || !provider) {
7
+ throw Error("Missing params");
8
+ }
9
+ const actionTemplate = getActionByProviderAndName(provider, name);
10
+ if (!actionTemplate) {
11
+ throw Error(`Action template with name ${name} does not exist`);
12
+ }
13
+ const result = await invokeAction({
14
+ provider: actionTemplate.provider,
15
+ name: actionTemplate.name,
16
+ parameters: parameters,
17
+ authParams: authentication,
30
18
  });
19
+ return result;
31
20
  }
32
21
  /**
33
22
  * HELPER FUNCTIONS