@credal/actions 0.1.31 → 0.1.34

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 (112) hide show
  1. package/dist/actions/actionMapper.js +238 -0
  2. package/dist/actions/autogen/definitions.d.ts +5 -0
  3. package/dist/actions/autogen/definitions.js +132 -0
  4. package/dist/actions/autogen/templates.d.ts +38 -0
  5. package/dist/actions/autogen/templates.js +4570 -178
  6. package/dist/actions/autogen/types.d.ts +1414 -33
  7. package/dist/actions/autogen/types.js +1812 -1
  8. package/dist/actions/definitions.js +35 -0
  9. package/dist/actions/groups.js +44 -4
  10. package/dist/actions/invoke.js +3 -0
  11. package/dist/actions/invokeMapper.d.ts +9 -0
  12. package/dist/actions/invokeMapper.js +33 -0
  13. package/dist/actions/parse.js +3 -0
  14. package/dist/actions/providers/asana/commentAsanaTask.d.ts +3 -0
  15. package/dist/actions/providers/asana/commentAsanaTask.js +44 -0
  16. package/dist/actions/providers/asana/createAsanaTask.d.ts +3 -0
  17. package/dist/actions/providers/asana/createAsanaTask.js +93 -0
  18. package/dist/actions/providers/asana/updateAsanaTask.d.ts +3 -0
  19. package/dist/actions/providers/asana/updateAsanaTask.js +50 -0
  20. package/dist/actions/providers/asana/utils.d.ts +6 -0
  21. package/dist/actions/providers/asana/utils.js +73 -0
  22. package/dist/actions/providers/ashby/addCandidateToProject.d.ts +3 -0
  23. package/dist/actions/providers/ashby/addCandidateToProject.js +32 -0
  24. package/dist/actions/providers/ashby/createCandidate.d.ts +3 -0
  25. package/dist/actions/providers/ashby/createCandidate.js +42 -0
  26. package/dist/actions/providers/ashby/createNote.d.ts +3 -0
  27. package/dist/actions/providers/ashby/createNote.js +32 -0
  28. package/dist/actions/providers/ashby/getCandidateInfo.d.ts +3 -0
  29. package/dist/actions/providers/ashby/getCandidateInfo.js +34 -0
  30. package/dist/actions/providers/ashby/listCandidateNotes.d.ts +3 -0
  31. package/dist/actions/providers/ashby/listCandidateNotes.js +34 -0
  32. package/dist/actions/providers/ashby/listCandidates.d.ts +3 -0
  33. package/dist/actions/providers/ashby/listCandidates.js +31 -0
  34. package/dist/actions/providers/ashby/searchCandidates.d.ts +3 -0
  35. package/dist/actions/providers/ashby/searchCandidates.js +35 -0
  36. package/dist/actions/providers/ashby/updateCandidate.d.ts +3 -0
  37. package/dist/actions/providers/ashby/updateCandidate.js +60 -0
  38. package/dist/actions/providers/confluence/updatePage.js +2 -5
  39. package/dist/actions/providers/github/createBranch.d.ts +6 -0
  40. package/dist/actions/providers/github/createBranch.js +68 -0
  41. package/dist/actions/providers/github/createOrUpdateFile.d.ts +6 -0
  42. package/dist/actions/providers/github/createOrUpdateFile.js +75 -0
  43. package/dist/actions/providers/github/createPullRequest.d.ts +6 -0
  44. package/dist/actions/providers/github/createPullRequest.js +48 -0
  45. package/dist/actions/providers/google-oauth/createPresentation.d.ts +6 -0
  46. package/dist/actions/providers/google-oauth/createPresentation.js +52 -0
  47. package/dist/actions/providers/google-oauth/createSpreadsheet.d.ts +6 -0
  48. package/dist/actions/providers/google-oauth/createSpreadsheet.js +62 -0
  49. package/dist/actions/providers/google-oauth/scheduleCalendarMeeting.d.ts +6 -0
  50. package/dist/actions/providers/google-oauth/scheduleCalendarMeeting.js +74 -0
  51. package/dist/actions/providers/google-oauth/updateDoc.d.ts +7 -0
  52. package/dist/actions/providers/google-oauth/updateDoc.js +69 -0
  53. package/dist/actions/providers/google-oauth/updatePresentation.d.ts +7 -0
  54. package/dist/actions/providers/google-oauth/updatePresentation.js +64 -0
  55. package/dist/actions/providers/google-oauth/updateSpreadsheet.d.ts +7 -0
  56. package/dist/actions/providers/google-oauth/updateSpreadsheet.js +51 -0
  57. package/dist/actions/providers/googlemaps/nearbysearch.js +31 -31
  58. package/dist/actions/providers/jira/assignJiraTicket.d.ts +3 -0
  59. package/dist/actions/providers/jira/assignJiraTicket.js +52 -0
  60. package/dist/actions/providers/jira/commentJiraTicket.d.ts +3 -0
  61. package/dist/actions/providers/jira/commentJiraTicket.js +56 -0
  62. package/dist/actions/providers/jira/createJiraTicket.js +3 -24
  63. package/dist/actions/providers/jira/createTicket.d.ts +3 -0
  64. package/dist/actions/providers/jira/createTicket.js +34 -0
  65. package/dist/actions/providers/jira/getJiraTicketDetails.d.ts +3 -0
  66. package/dist/actions/providers/jira/getJiraTicketDetails.js +40 -0
  67. package/dist/actions/providers/jira/getJiraTicketHistory.d.ts +3 -0
  68. package/dist/actions/providers/jira/getJiraTicketHistory.js +41 -0
  69. package/dist/actions/providers/jira/updateJiraTicketDetails.d.ts +3 -0
  70. package/dist/actions/providers/jira/updateJiraTicketDetails.js +56 -0
  71. package/dist/actions/providers/jira/updateJiraTicketStatus.d.ts +3 -0
  72. package/dist/actions/providers/jira/updateJiraTicketStatus.js +57 -0
  73. package/dist/actions/providers/jira/utils.d.ts +1 -0
  74. package/dist/actions/providers/jira/utils.js +34 -0
  75. package/dist/actions/providers/microsoft/messageTeamsChannel.d.ts +3 -0
  76. package/dist/actions/providers/microsoft/messageTeamsChannel.js +45 -0
  77. package/dist/actions/providers/microsoft/messageTeamsChat.d.ts +3 -0
  78. package/dist/actions/providers/microsoft/messageTeamsChat.js +42 -0
  79. package/dist/actions/providers/microsoft/utils.d.ts +4 -0
  80. package/dist/actions/providers/microsoft/utils.js +55 -0
  81. package/dist/actions/providers/salesforce/createCase.d.ts +3 -0
  82. package/dist/actions/providers/salesforce/createCase.js +44 -0
  83. package/dist/actions/providers/salesforce/generateSalesReport.d.ts +3 -0
  84. package/dist/actions/providers/salesforce/generateSalesReport.js +52 -0
  85. package/dist/actions/providers/salesforce/getRecord.d.ts +3 -0
  86. package/dist/actions/providers/salesforce/getRecord.js +42 -0
  87. package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.d.ts +3 -0
  88. package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.js +43 -0
  89. package/dist/actions/providers/salesforce/updateRecord.d.ts +3 -0
  90. package/dist/actions/providers/salesforce/updateRecord.js +42 -0
  91. package/dist/actions/providers/slack/getChannelMessages.d.ts +3 -0
  92. package/dist/actions/providers/slack/getChannelMessages.js +33 -0
  93. package/dist/actions/providers/slack/list_conversations.d.ts +3 -0
  94. package/dist/actions/providers/slack/list_conversations.js +60 -0
  95. package/dist/actions/providers/slack/summarizeChannel.d.ts +3 -0
  96. package/dist/actions/providers/slack/summarizeChannel.js +51 -0
  97. package/dist/actions/providers/zendesk/addCommentToTicket.d.ts +3 -0
  98. package/dist/actions/providers/zendesk/addCommentToTicket.js +37 -0
  99. package/dist/actions/providers/zendesk/assignTicket.d.ts +3 -0
  100. package/dist/actions/providers/zendesk/assignTicket.js +37 -0
  101. package/dist/actions/providers/zendesk/getTicketDetails.d.ts +3 -0
  102. package/dist/actions/providers/zendesk/getTicketDetails.js +35 -0
  103. package/dist/actions/providers/zendesk/updateTicketStatus.d.ts +3 -0
  104. package/dist/actions/providers/zendesk/updateTicketStatus.js +37 -0
  105. package/dist/actions/schema.js +6 -0
  106. package/dist/actions/types.js +2 -0
  107. package/dist/main.js +11 -0
  108. package/package.json +7 -1
  109. package/dist/actions/providers/snowflake/runSnowflakeQueryWriteResultsToS3.d.ts +0 -3
  110. package/dist/actions/providers/snowflake/runSnowflakeQueryWriteResultsToS3.js +0 -154
  111. package/dist/actions/providers/x/scrapeTweetDataWithNitter.d.ts +0 -3
  112. package/dist/actions/providers/x/scrapeTweetDataWithNitter.js +0 -45
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ /**
17
+ * Updates an existing Google Docs document using OAuth authentication with batch requests
18
+ * https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/batchUpdate
19
+ */
20
+ const updateDoc = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
21
+ if (!authParams.authToken) {
22
+ return {
23
+ success: false,
24
+ documentId: params.documentId,
25
+ error: "No auth token provided",
26
+ };
27
+ }
28
+ const { documentId, requests } = params;
29
+ const baseApiUrl = "https://docs.googleapis.com/v1/documents";
30
+ try {
31
+ // If requests are provided, send them as a batch update
32
+ if (requests && requests.length > 0) {
33
+ const response = yield axios_1.default.post(`${baseApiUrl}/${documentId}:batchUpdate`, {
34
+ requests,
35
+ }, {
36
+ headers: {
37
+ Authorization: `Bearer ${authParams.authToken}`,
38
+ },
39
+ });
40
+ if (response.status < 200 || response.status >= 300) {
41
+ return {
42
+ success: false,
43
+ error: `${response.statusText}: ${JSON.stringify(response.data)}`,
44
+ };
45
+ }
46
+ const documentUrl = `https://docs.google.com/document/d/${documentId}/edit`;
47
+ return {
48
+ success: true,
49
+ documentId,
50
+ documentUrl,
51
+ };
52
+ }
53
+ else {
54
+ return {
55
+ success: false,
56
+ error: "No requests provided",
57
+ };
58
+ }
59
+ }
60
+ catch (error) {
61
+ console.error("Error updating document:", error);
62
+ return {
63
+ success: false,
64
+ documentId,
65
+ error: error instanceof Error ? error.message : "Unknown error",
66
+ };
67
+ }
68
+ });
69
+ exports.default = updateDoc;
@@ -0,0 +1,7 @@
1
+ import { googleOauthUpdatePresentationFunction } from "../../autogen/types";
2
+ /**
3
+ * Updates an existing Google Slides presentation using OAuth authentication with batch requests
4
+ * https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate
5
+ */
6
+ declare const updatePresentation: googleOauthUpdatePresentationFunction;
7
+ export default updatePresentation;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ /**
14
+ * Updates an existing Google Slides presentation using OAuth authentication with batch requests
15
+ * https://developers.google.com/slides/api/reference/rest/v1/presentations/batchUpdate
16
+ */
17
+ const updatePresentation = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
18
+ if (!authParams.authToken) {
19
+ return {
20
+ success: false,
21
+ error: "authToken is required for Google Slides API",
22
+ };
23
+ }
24
+ const { presentationId, requests } = params;
25
+ const baseApiUrl = "https://slides.googleapis.com/v1/presentations";
26
+ try {
27
+ // If requests are provided, send them as a batch update
28
+ if (requests && requests.length > 0) {
29
+ const response = yield axiosClient_1.axiosClient.post(`${baseApiUrl}/${presentationId}:batchUpdate`, {
30
+ requests,
31
+ }, {
32
+ headers: {
33
+ Authorization: `Bearer ${authParams.authToken}`,
34
+ "Content-Type": "application/json",
35
+ },
36
+ });
37
+ if (response.status < 200 || response.status >= 300) {
38
+ return {
39
+ success: false,
40
+ error: `${response.statusText}: ${JSON.stringify(response.data)}`,
41
+ };
42
+ }
43
+ const presentationUrl = `https://docs.google.com/presentation/d/${presentationId}/edit`;
44
+ return {
45
+ success: true,
46
+ presentationUrl,
47
+ };
48
+ }
49
+ else {
50
+ return {
51
+ success: false,
52
+ error: "No requests provided",
53
+ };
54
+ }
55
+ }
56
+ catch (error) {
57
+ console.error("Error updating presentation:", error);
58
+ return {
59
+ success: false,
60
+ error: error instanceof Error ? error.message : "Unknown error",
61
+ };
62
+ }
63
+ });
64
+ exports.default = updatePresentation;
@@ -0,0 +1,7 @@
1
+ import { googleOauthUpdateSpreadsheetFunction } from "../../autogen/types";
2
+ /**
3
+ * Update a Google Spreadsheet using OAuth authentication
4
+ * https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
5
+ */
6
+ declare const updateSpreadsheet: googleOauthUpdateSpreadsheetFunction;
7
+ export default updateSpreadsheet;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ /**
14
+ * Update a Google Spreadsheet using OAuth authentication
15
+ * https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
16
+ */
17
+ const updateSpreadsheet = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
18
+ if (!authParams.authToken) {
19
+ throw new Error("authToken is required for Google Spreadsheets API");
20
+ }
21
+ const { spreadsheetId, requests } = params;
22
+ const batchUpdateUrl = `https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}:batchUpdate`;
23
+ try {
24
+ // Update the spreadsheet with the given requests
25
+ const response = yield axiosClient_1.axiosClient.post(batchUpdateUrl, { requests, includeSpreadsheetInResponse: true }, {
26
+ headers: {
27
+ Authorization: `Bearer ${authParams.authToken}`,
28
+ "Content-Type": "application/json",
29
+ },
30
+ });
31
+ if (response.status < 200 || response.status >= 300) {
32
+ return {
33
+ success: false,
34
+ error: response.data.error,
35
+ };
36
+ }
37
+ return {
38
+ success: true,
39
+ spreadsheetUrl: response.data.updatedSpreadsheet.spreadsheetUrl,
40
+ replies: response.data.replies,
41
+ };
42
+ }
43
+ catch (error) {
44
+ console.error("Error updating spreadsheet", error);
45
+ return {
46
+ success: false,
47
+ error: error instanceof Error ? error.message : "Unknown error",
48
+ };
49
+ }
50
+ });
51
+ exports.default = updateSpreadsheet;
@@ -15,38 +15,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const axios_1 = __importDefault(require("axios"));
16
16
  const types_1 = require("../../autogen/types");
17
17
  const INCLUDED_TYPES = [
18
- "monument",
19
- "museum",
20
- "art_gallery",
21
- "sculpture",
22
- "cultural_landmark",
23
- "historical_place",
24
- "performing_arts_theater",
25
- "university",
26
- "aquarium",
27
- "botanical_garden",
28
- "comedy_club",
29
- "park",
30
- "movie_theater",
31
- "national_park",
32
- "garden",
33
- "night_club",
34
- "tourist_attraction",
35
- "water_park",
36
- "zoo",
37
- "bar",
18
+ // "monument",
19
+ // "museum",
20
+ // "art_gallery",
21
+ // "sculpture",
22
+ // "cultural_landmark",
23
+ // "historical_place",
24
+ // "performing_arts_theater",
25
+ // "university",
26
+ // "aquarium",
27
+ // "botanical_garden",
28
+ // "comedy_club",
29
+ // "park",
30
+ // "movie_theater",
31
+ // "national_park",
32
+ // "garden",
33
+ // "night_club",
34
+ // "tourist_attraction",
35
+ // "water_park",
36
+ // "zoo",
37
+ // "bar",
38
38
  "restaurant",
39
- "food_court",
40
- "bakery",
41
- "cafe",
42
- "coffee_shop",
43
- "pub",
44
- "wine_bar",
45
- "spa",
46
- "beach",
47
- "market",
48
- "shopping_mall",
49
- "stadium",
39
+ // "food_court",
40
+ // "bakery",
41
+ // "cafe",
42
+ // "coffee_shop",
43
+ // "pub",
44
+ // "wine_bar",
45
+ // "spa",
46
+ // "beach",
47
+ // "market",
48
+ // "shopping_mall",
49
+ // "stadium",
50
50
  ];
51
51
  const nearbysearch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
52
52
  const url = `https://places.googleapis.com/v1/places:searchNearby`;
@@ -0,0 +1,3 @@
1
+ import { jiraAssignJiraTicketFunction } from "../../autogen/types";
2
+ declare const assignJiraTicket: jiraAssignJiraTicketFunction;
3
+ export default assignJiraTicket;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const utils_1 = require("./utils");
17
+ const assignJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
18
+ const { authToken, cloudId, baseUrl } = authParams;
19
+ const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/`;
20
+ if (!cloudId || !authToken) {
21
+ throw new Error("Valid Cloud ID and auth token are required to assign Jira ticket");
22
+ }
23
+ try {
24
+ let assigneeId = params.assignee;
25
+ if (assigneeId && assigneeId.includes("@")) {
26
+ assigneeId = yield (0, utils_1.getUserAccountIdFromEmail)(assigneeId, apiUrl, authToken);
27
+ }
28
+ if (!assigneeId) {
29
+ throw new Error("Unable to get valid assignee account ID.");
30
+ }
31
+ yield axios_1.default.put(`${apiUrl}issue/${params.issueId}/assignee`, { accountId: assigneeId }, {
32
+ headers: {
33
+ Authorization: `Bearer ${authToken}`,
34
+ Accept: "application/json",
35
+ "Content-Type": "application/json",
36
+ },
37
+ });
38
+ return {
39
+ success: true,
40
+ ticketUrl: `${baseUrl}/browse/${params.issueId}`,
41
+ };
42
+ }
43
+ catch (error) {
44
+ const axiosError = error;
45
+ console.error("Error assigning issue:", axiosError);
46
+ return {
47
+ success: false,
48
+ error: axiosError.message,
49
+ };
50
+ }
51
+ });
52
+ exports.default = assignJiraTicket;
@@ -0,0 +1,3 @@
1
+ import { jiraCommentJiraTicketFunction } from "../../autogen/types";
2
+ declare const commentJiraTicket: jiraCommentJiraTicketFunction;
3
+ export default commentJiraTicket;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ const commentJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
14
+ const { authToken, cloudId, baseUrl } = authParams;
15
+ if (!cloudId || !(params === null || params === void 0 ? void 0 : params.issueId)) {
16
+ throw new Error("Cloud ID and Issue ID are required to comment on a Jira ticket");
17
+ }
18
+ const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/issue/${params.issueId}/comment`;
19
+ try {
20
+ const response = yield axiosClient_1.axiosClient.post(apiUrl, {
21
+ body: {
22
+ type: "doc",
23
+ version: 1,
24
+ content: [
25
+ {
26
+ type: "paragraph",
27
+ content: [
28
+ {
29
+ type: "text",
30
+ text: params.comment,
31
+ },
32
+ ],
33
+ },
34
+ ],
35
+ },
36
+ }, {
37
+ headers: {
38
+ Authorization: `Bearer ${authToken}`,
39
+ Accept: "application/json",
40
+ "Content-Type": "application/json",
41
+ },
42
+ });
43
+ return {
44
+ success: true,
45
+ commentUrl: `${baseUrl}/browse/${params.issueId}?focusedCommentId=${response.data.id}`,
46
+ };
47
+ }
48
+ catch (error) {
49
+ console.error("Error commenting on Jira ticket: ", error);
50
+ return {
51
+ success: false,
52
+ error: error instanceof Error ? error.message : "Unknown error",
53
+ };
54
+ }
55
+ });
56
+ exports.default = commentJiraTicket;
@@ -10,28 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const axiosClient_1 = require("../../util/axiosClient");
13
- function getUserAccountId(email, apiUrl, authToken) {
14
- return __awaiter(this, void 0, void 0, function* () {
15
- try {
16
- const response = yield axiosClient_1.axiosClient.get(`${apiUrl}/user/search?query=${encodeURIComponent(email)}`, {
17
- headers: {
18
- Authorization: `Bearer ${authToken}`,
19
- Accept: "application/json",
20
- },
21
- });
22
- if (response.data && response.data.length > 0) {
23
- return response.data[0].accountId;
24
- }
25
- return null;
26
- }
27
- catch (error) {
28
- // Try to complete request without assignee/reporter.
29
- const axiosError = error;
30
- console.error("Error finding user:", axiosError.message);
31
- return null;
32
- }
33
- });
34
- }
13
+ const utils_1 = require("./utils");
35
14
  const createJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
36
15
  const { authToken, cloudId, baseUrl } = authParams;
37
16
  const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/`;
@@ -41,12 +20,12 @@ const createJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
41
20
  // If assignee is an email, look up the account ID
42
21
  let reporterId = null;
43
22
  if (params.reporter && typeof params.reporter === "string" && params.reporter.includes("@") && authToken) {
44
- reporterId = yield getUserAccountId(params.reporter, apiUrl, authToken);
23
+ reporterId = yield (0, utils_1.getUserAccountIdFromEmail)(params.reporter, apiUrl, authToken);
45
24
  }
46
25
  // If assignee is an email, look up the account ID
47
26
  let assigneeId = null;
48
27
  if (params.assignee && typeof params.assignee === "string" && params.assignee.includes("@") && authToken) {
49
- assigneeId = yield getUserAccountId(params.assignee, apiUrl, authToken);
28
+ assigneeId = yield (0, utils_1.getUserAccountIdFromEmail)(params.assignee, apiUrl, authToken);
50
29
  }
51
30
  const description = {
52
31
  type: "doc",
@@ -0,0 +1,3 @@
1
+ import { jiraCreateTicketFunction } from "../../autogen/types";
2
+ declare const createTicket: jiraCreateTicketFunction;
3
+ export default createTicket;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const createTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
17
+ const { authToken, baseUrl } = authParams;
18
+ const url = `${baseUrl}/rest/api/3/issue`;
19
+ const payload = {
20
+ fields: Object.assign({ project: {
21
+ key: params.projectKey,
22
+ }, summary: params.summary, description: params.description, issuetype: {
23
+ name: params.issueType,
24
+ } }, (params.reporter ? { reporter: { id: params.reporter } } : {})),
25
+ };
26
+ const response = yield axios_1.default.post(url, payload, {
27
+ headers: {
28
+ Authorization: `Basic ${Buffer.from(`${params.username}:${authToken}`).toString("base64")}`,
29
+ "Content-Type": "application/json",
30
+ },
31
+ });
32
+ return response.data;
33
+ });
34
+ exports.default = createTicket;
@@ -0,0 +1,3 @@
1
+ import { jiraGetJiraTicketDetailsFunction } from "../../autogen/types";
2
+ declare const getJiraTicketDetails: jiraGetJiraTicketDetailsFunction;
3
+ export default getJiraTicketDetails;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ const getJiraTicketDetails = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
14
+ const { authToken, cloudId } = authParams;
15
+ const { issueId } = params;
16
+ if (!cloudId || !issueId) {
17
+ throw new Error("Cloud ID and Issue ID are required to fetch Jira ticket details");
18
+ }
19
+ const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/issue/${issueId}`;
20
+ try {
21
+ const response = yield axiosClient_1.axiosClient.get(apiUrl, {
22
+ headers: {
23
+ Authorization: `Bearer ${authToken}`,
24
+ Accept: "application/json",
25
+ },
26
+ });
27
+ return {
28
+ success: true,
29
+ data: response.data,
30
+ };
31
+ }
32
+ catch (error) {
33
+ console.error("Error retrieving Jira ticket details: ", error);
34
+ return {
35
+ success: false,
36
+ error: error instanceof Error ? error.message : "Unknown error",
37
+ };
38
+ }
39
+ });
40
+ exports.default = getJiraTicketDetails;
@@ -0,0 +1,3 @@
1
+ import { jiraGetJiraTicketHistoryFunction } from "../../autogen/types";
2
+ declare const getJiraTicketHistory: jiraGetJiraTicketHistoryFunction;
3
+ export default getJiraTicketHistory;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ const getJiraTicketHistory = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
14
+ var _b;
15
+ const { authToken, cloudId } = authParams;
16
+ const { issueId } = params;
17
+ if (!cloudId || !issueId) {
18
+ throw new Error("Cloud ID and Issue ID are required to retrieve ticket history");
19
+ }
20
+ const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/issue/${issueId}/changelog`;
21
+ try {
22
+ const response = yield axiosClient_1.axiosClient.get(apiUrl, {
23
+ headers: {
24
+ Authorization: `Bearer ${authToken}`,
25
+ Accept: "application/json",
26
+ },
27
+ });
28
+ return {
29
+ success: true,
30
+ history: (_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.values,
31
+ };
32
+ }
33
+ catch (error) {
34
+ console.error("Error retrieving Jira ticket history: ", error);
35
+ return {
36
+ success: false,
37
+ error: error instanceof Error ? error.message : "Unknown error",
38
+ };
39
+ }
40
+ });
41
+ exports.default = getJiraTicketHistory;
@@ -0,0 +1,3 @@
1
+ import { jiraUpdateJiraTicketDetailsFunction } from "../../autogen/types";
2
+ declare const updateJiraTicketDetails: jiraUpdateJiraTicketDetailsFunction;
3
+ export default updateJiraTicketDetails;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const axiosClient_1 = require("../../util/axiosClient");
13
+ const updateJiraTicketDetails = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
14
+ const { authToken, cloudId, baseUrl } = authParams;
15
+ const { issueId, summary, description, customFields } = params;
16
+ if (!cloudId || !issueId) {
17
+ throw new Error("Cloud ID and Issue ID are required to update a Jira ticket");
18
+ }
19
+ const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/issue/${issueId}`;
20
+ const formattedDescription = description
21
+ ? {
22
+ type: "doc",
23
+ version: 1,
24
+ content: [
25
+ {
26
+ type: "paragraph",
27
+ content: [
28
+ {
29
+ type: "text",
30
+ text: description,
31
+ },
32
+ ],
33
+ },
34
+ ],
35
+ }
36
+ : undefined;
37
+ const payload = {
38
+ fields: Object.assign(Object.assign(Object.assign({}, (summary && { summary })), (formattedDescription && { description: formattedDescription })), (customFields && Object.assign({}, customFields))),
39
+ };
40
+ try {
41
+ yield axiosClient_1.axiosClient.put(apiUrl, payload, {
42
+ headers: {
43
+ Authorization: `Bearer ${authToken}`,
44
+ Accept: "application/json",
45
+ },
46
+ });
47
+ return {
48
+ ticketUrl: `${baseUrl}/browse/${issueId}`,
49
+ };
50
+ }
51
+ catch (error) {
52
+ console.error("Error updating Jira ticket:", error);
53
+ throw new Error(error instanceof Error ? error.message : "Unknown error");
54
+ }
55
+ });
56
+ exports.default = updateJiraTicketDetails;
@@ -0,0 +1,3 @@
1
+ import { jiraUpdateJiraTicketStatusFunction } from "../../autogen/types";
2
+ declare const updateJiraTicketStatus: jiraUpdateJiraTicketStatusFunction;
3
+ export default updateJiraTicketStatus;