@credal/actions 0.2.190 → 0.2.191
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/actions/autogen/templates.js +4 -0
- package/dist/actions/autogen/types.d.ts +2 -2
- package/dist/actions/autogen/types.js +2 -2
- package/dist/actions/parse.js +1 -0
- package/dist/actions/providers/github/searchRepository.js +7 -7
- package/dist/actions/providers/jira/updateServiceDeskRequest.d.ts +3 -0
- package/dist/actions/providers/jira/updateServiceDeskRequest.js +72 -0
- package/dist/actions/providers/microsoft/sendOutlookEmail.d.ts +3 -0
- package/dist/actions/providers/microsoft/sendOutlookEmail.js +48 -0
- package/package.json +1 -1
- package/dist/actions/groups.d.ts +0 -6
- package/dist/actions/groups.js +0 -248
- package/dist/actions/providers/credal/callCopilot.d.ts +0 -3
- package/dist/actions/providers/credal/callCopilot.js +0 -36
- package/dist/actions/providers/math/index.d.ts +0 -1
- package/dist/actions/providers/math/index.js +0 -37
- package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.d.ts +0 -3
- package/dist/actions/providers/salesforce/getSalesforceRecordByQuery.js +0 -43
- package/dist/actions/providers/slack/archiveChannel.d.ts +0 -3
- package/dist/actions/providers/slack/archiveChannel.js +0 -35
- package/dist/actions/providers/slack/index.d.ts +0 -1
- package/dist/actions/providers/slack/index.js +0 -37
- package/dist/actions/providers/slack/listConversations.d.ts +0 -3
- package/dist/actions/providers/slack/listConversations.js +0 -41
|
@@ -708,6 +708,7 @@ export const slackSendMessageDefinition = {
|
|
|
708
708
|
channelName: {
|
|
709
709
|
type: "string",
|
|
710
710
|
description: "The name of the Slack channel to send the message to (e.g. general, alerts)",
|
|
711
|
+
tags: ["recommend-enum"],
|
|
711
712
|
},
|
|
712
713
|
message: {
|
|
713
714
|
type: "string",
|
|
@@ -752,6 +753,7 @@ export const slackGetChannelMessagesDefinition = {
|
|
|
752
753
|
channelName: {
|
|
753
754
|
type: "string",
|
|
754
755
|
description: "Name of the channel to summarize. Either the channelId or channelName must be provided.",
|
|
756
|
+
tags: ["recommend-enum"],
|
|
755
757
|
},
|
|
756
758
|
oldest: {
|
|
757
759
|
type: "string",
|
|
@@ -830,6 +832,7 @@ export const slackGetChannelMembersDefinition = {
|
|
|
830
832
|
channelName: {
|
|
831
833
|
type: "string",
|
|
832
834
|
description: "The name of the channel to get members from",
|
|
835
|
+
tags: ["recommend-enum"],
|
|
833
836
|
},
|
|
834
837
|
},
|
|
835
838
|
},
|
|
@@ -897,6 +900,7 @@ export const slackUserSearchSlackDefinition = {
|
|
|
897
900
|
channel: {
|
|
898
901
|
type: "string",
|
|
899
902
|
description: 'Channel name or ID. Examples - "#eng-updates", "eng-updates", "C01234567".',
|
|
903
|
+
tags: ["recommend-enum"],
|
|
900
904
|
},
|
|
901
905
|
topic: {
|
|
902
906
|
type: "string",
|
|
@@ -237,9 +237,9 @@ export type AuthParamsType = z.infer<typeof AuthParamsSchema>;
|
|
|
237
237
|
export declare const ActionTagSchema: z.ZodEnum<["read", "write"]>;
|
|
238
238
|
export type ActionTag = z.infer<typeof ActionTagSchema>;
|
|
239
239
|
export declare const ACTION_TAGS: readonly ["read", "write"];
|
|
240
|
-
export declare const ParameterTagSchema: z.ZodEnum<["recommend-predefined"]>;
|
|
240
|
+
export declare const ParameterTagSchema: z.ZodEnum<["recommend-predefined", "recommend-enum"]>;
|
|
241
241
|
export type ParameterTag = z.infer<typeof ParameterTagSchema>;
|
|
242
|
-
export declare const PARAMETER_TAGS: readonly ["recommend-predefined"];
|
|
242
|
+
export declare const PARAMETER_TAGS: readonly ["recommend-predefined", "recommend-enum"];
|
|
243
243
|
export declare const genericFillTemplateParamsSchema: z.ZodObject<{
|
|
244
244
|
template: z.ZodString;
|
|
245
245
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -193,8 +193,8 @@ export const AuthParamsSchema = z.object({
|
|
|
193
193
|
});
|
|
194
194
|
export const ActionTagSchema = z.enum(["read", "write"]);
|
|
195
195
|
export const ACTION_TAGS = ["read", "write"];
|
|
196
|
-
export const ParameterTagSchema = z.enum(["recommend-predefined"]);
|
|
197
|
-
export const PARAMETER_TAGS = ["recommend-predefined"];
|
|
196
|
+
export const ParameterTagSchema = z.enum(["recommend-predefined", "recommend-enum"]);
|
|
197
|
+
export const PARAMETER_TAGS = ["recommend-predefined", "recommend-enum"];
|
|
198
198
|
export const genericFillTemplateParamsSchema = z.object({
|
|
199
199
|
template: z.string().describe("The template string to be processed and returned"),
|
|
200
200
|
});
|
package/dist/actions/parse.js
CHANGED
|
@@ -22,6 +22,7 @@ const actionTagValues = [
|
|
|
22
22
|
];
|
|
23
23
|
const parameterTagValues = [
|
|
24
24
|
"recommend-predefined", // we recommend that this parameter is predefined by the user versus AI generated at runtime
|
|
25
|
+
"recommend-enum", // we recommend that this parameter is an enum
|
|
25
26
|
];
|
|
26
27
|
const jsonObjectSchema = z.object({
|
|
27
28
|
type: z.string(),
|
|
@@ -47,7 +47,7 @@ const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
|
|
|
47
47
|
name: item.name,
|
|
48
48
|
path: item.path,
|
|
49
49
|
sha: item.sha.slice(0, 7),
|
|
50
|
-
url: item.
|
|
50
|
+
url: item.url,
|
|
51
51
|
score: item.score,
|
|
52
52
|
textMatches: item.text_matches
|
|
53
53
|
? item.text_matches.map(match => {
|
|
@@ -68,7 +68,7 @@ const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
|
|
|
68
68
|
const full = commitDetails.find(c => c.data.sha === item.sha);
|
|
69
69
|
return {
|
|
70
70
|
sha: item.sha,
|
|
71
|
-
url: item.
|
|
71
|
+
url: item.url,
|
|
72
72
|
commit: {
|
|
73
73
|
message: item.commit.message,
|
|
74
74
|
author: item.commit.author,
|
|
@@ -76,11 +76,11 @@ const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
|
|
|
76
76
|
score: item.score,
|
|
77
77
|
author: (_a = item.author) !== null && _a !== void 0 ? _a : undefined,
|
|
78
78
|
files: ((_b = full === null || full === void 0 ? void 0 : full.data.files) === null || _b === void 0 ? void 0 : _b.slice(0, MAX_FILES_PER_COMMIT).map(f => {
|
|
79
|
-
var _a
|
|
79
|
+
var _a;
|
|
80
80
|
return ({
|
|
81
81
|
filename: f.filename,
|
|
82
82
|
status: f.status,
|
|
83
|
-
patch: (
|
|
83
|
+
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
84
84
|
});
|
|
85
85
|
})) || [],
|
|
86
86
|
};
|
|
@@ -104,18 +104,18 @@ const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
|
|
|
104
104
|
const prIndex = prNumbers.indexOf(item.number);
|
|
105
105
|
const files = isPR && prIndex !== -1
|
|
106
106
|
? prFiles[prIndex].data.slice(0, MAX_FILES_PER_PR).map(f => {
|
|
107
|
-
var _a
|
|
107
|
+
var _a;
|
|
108
108
|
return ({
|
|
109
109
|
filename: f.filename,
|
|
110
110
|
status: f.status,
|
|
111
|
-
patch: (
|
|
111
|
+
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
112
112
|
});
|
|
113
113
|
})
|
|
114
114
|
: undefined;
|
|
115
115
|
return {
|
|
116
116
|
number: item.number,
|
|
117
117
|
title: item.title,
|
|
118
|
-
|
|
118
|
+
html_url: item.html_url,
|
|
119
119
|
state: item.state,
|
|
120
120
|
isPullRequest: isPR,
|
|
121
121
|
body: item.body,
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
import { axiosClient } from "../../util/axiosClient.js";
|
|
11
|
+
const updateServiceDeskRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
12
|
+
const { issueId, requestTypeId, summary, description, priority, customFields } = params;
|
|
13
|
+
const { authToken, cloudId, baseUrl } = authParams;
|
|
14
|
+
if (!cloudId || !authToken) {
|
|
15
|
+
throw new Error("Valid Cloud ID and auth token are required to update service desk request");
|
|
16
|
+
}
|
|
17
|
+
// Use the regular Jira API for updating service desk requests as they are still Jira issues
|
|
18
|
+
const apiUrl = `https://api.atlassian.com/ex/jira/${cloudId}/rest/api/3/issue/${issueId}`;
|
|
19
|
+
const formattedDescription = description
|
|
20
|
+
? {
|
|
21
|
+
type: "doc",
|
|
22
|
+
version: 1,
|
|
23
|
+
content: [
|
|
24
|
+
{
|
|
25
|
+
type: "paragraph",
|
|
26
|
+
content: [
|
|
27
|
+
{
|
|
28
|
+
type: "text",
|
|
29
|
+
text: description,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
}
|
|
35
|
+
: undefined;
|
|
36
|
+
const payload = {
|
|
37
|
+
fields: Object.assign(Object.assign(Object.assign(Object.assign({}, (summary && { summary })), (formattedDescription && { description: formattedDescription })), (priority && { priority: { name: priority } })), (customFields && Object.assign({}, customFields))),
|
|
38
|
+
};
|
|
39
|
+
try {
|
|
40
|
+
yield axiosClient.put(apiUrl, payload, {
|
|
41
|
+
headers: {
|
|
42
|
+
Authorization: `Bearer ${authToken}`,
|
|
43
|
+
Accept: "application/json",
|
|
44
|
+
"Content-Type": "application/json",
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
// Get the updated issue details to return current status and web link
|
|
48
|
+
const getResponse = yield axiosClient.get(apiUrl, {
|
|
49
|
+
headers: {
|
|
50
|
+
Authorization: `Bearer ${authToken}`,
|
|
51
|
+
Accept: "application/json",
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
const issueKey = getResponse.data.key;
|
|
55
|
+
const currentStatus = getResponse.data.fields.status.name;
|
|
56
|
+
const webLink = `${baseUrl}/browse/${issueKey}`;
|
|
57
|
+
return {
|
|
58
|
+
success: true,
|
|
59
|
+
issueKey,
|
|
60
|
+
webLink,
|
|
61
|
+
currentStatus,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
console.error("Error updating service desk request:", error);
|
|
66
|
+
return {
|
|
67
|
+
success: false,
|
|
68
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
export default updateServiceDeskRequest;
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
import { getGraphClient } from "./utils.js";
|
|
11
|
+
const sendEmail = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
12
|
+
const { toRecipients, subject, body, ccRecipients, bccRecipients } = params;
|
|
13
|
+
let client = undefined;
|
|
14
|
+
try {
|
|
15
|
+
client = yield getGraphClient(authParams);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return {
|
|
19
|
+
success: false,
|
|
20
|
+
error: "Error while authorizing: " + (error instanceof Error ? error.message : "Unknown error"),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const message = {
|
|
25
|
+
message: Object.assign(Object.assign({ subject, body: {
|
|
26
|
+
contentType: "HTML",
|
|
27
|
+
content: body,
|
|
28
|
+
}, toRecipients: toRecipients.map(email => ({ emailAddress: { address: email } })) }, (ccRecipients && ccRecipients.length > 0
|
|
29
|
+
? { ccRecipients: ccRecipients.map(email => ({ emailAddress: { address: email } })) }
|
|
30
|
+
: {})), (bccRecipients && bccRecipients.length > 0
|
|
31
|
+
? { bccRecipients: bccRecipients.map(email => ({ emailAddress: { address: email } })) }
|
|
32
|
+
: {})),
|
|
33
|
+
saveToSentItems: true,
|
|
34
|
+
};
|
|
35
|
+
yield client.api("/me/sendMail").post(message);
|
|
36
|
+
return {
|
|
37
|
+
success: true,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.error(error);
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
error: "Error sending email: " + (error instanceof Error ? error.message : "Unknown error"),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
export default sendEmail;
|
package/package.json
CHANGED
package/dist/actions/groups.d.ts
DELETED
package/dist/actions/groups.js
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
import { genericFillTemplateDefinition, confluenceOverwritePageDefinition, googlemapsValidateAddressDefinition, mathAddDefinition, mongoInsertMongoDocDefinition, slackSendMessageDefinition, slackGetChannelMessagesDefinition, slackCreateChannelDefinition, slackArchiveChannelDefinition, snowflakeGetRowByFieldValueDefinition, zendeskCreateZendeskTicketDefinition, zendeskListZendeskTicketsDefinition, zendeskGetTicketDetailsDefinition, zendeskUpdateTicketStatusDefinition, zendeskAddCommentToTicketDefinition, zendeskAssignTicketDefinition, openstreetmapGetLatitudeLongitudeFromLocationDefinition, nwsGetForecastForLocationDefinition, jiraAssignJiraTicketDefinition, jiraCommentJiraTicketDefinition, jiraCreateJiraTicketDefinition, jiraGetJiraTicketDetailsDefinition, jiraGetJiraTicketHistoryDefinition, jiraUpdateJiraTicketDetailsDefinition, jiraUpdateJiraTicketStatusDefinition, jiraGetServiceDesksDefinition, jiraCreateServiceDeskRequestDefinition, googlemapsNearbysearchRestaurantsDefinition, firecrawlScrapeUrlDefinition, resendSendEmailDefinition, linkedinCreateShareLinkedinPostUrlDefinition, googleOauthCreateNewGoogleDocDefinition, xCreateShareXPostUrlDefinition, firecrawlScrapeTweetDataWithNitterDefinition, finnhubSymbolLookupDefinition, finnhubGetBasicFinancialsDefinition, confluenceFetchPageContentDefinition, snowflakeRunSnowflakeQueryDefinition, lookerEnableUserByEmailDefinition, googleOauthUpdateDocDefinition, googleOauthScheduleCalendarMeetingDefinition, googleOauthListCalendarsDefinition, googleOauthListCalendarEventsDefinition, googleOauthUpdateCalendarEventDefinition, googleOauthDeleteCalendarEventDefinition, googleOauthCreateSpreadsheetDefinition, googleOauthUpdateSpreadsheetDefinition, googleOauthCreatePresentationDefinition, googleOauthUpdatePresentationDefinition, googleOauthSearchDriveByKeywordsDefinition, googlemailSearchGmailMessagesDefinition, googlemailListGmailThreadsDefinition, googleOauthListGroupsDefinition, googleOauthGetGroupDefinition, googleOauthListGroupMembersDefinition, googleOauthHasGroupMemberDefinition, googleOauthAddGroupMemberDefinition, googleOauthDeleteGroupMemberDefinition, salesforceUpdateRecordDefinition, salesforceCreateCaseDefinition, salesforceGenerateSalesReportDefinition, salesforceGetRecordDefinition, salesforceGetSalesforceRecordsByQueryDefinition, microsoftMessageTeamsChatDefinition, microsoftMessageTeamsChannelDefinition, asanaCommentTaskDefinition, asanaCreateTaskDefinition, asanaUpdateTaskDefinition, asanaSearchTasksDefinition, githubCreateOrUpdateFileDefinition, githubCreateBranchDefinition, githubCreatePullRequestDefinition, microsoftUpdateSpreadsheetDefinition, microsoftUpdateDocumentDefinition, microsoftCreateDocumentDefinition, microsoftGetDocumentDefinition, salesforceFetchSalesforceSchemaByObjectDefinition, firecrawlDeepResearchDefinition, jiraGetJiraIssuesByQueryDefinition, githubListPullRequestsDefinition, salesforceCreateRecordDefinition, ashbyCreateNoteDefinition, ashbyGetCandidateInfoDefinition, ashbyListCandidatesDefinition, ashbyListCandidateNotesDefinition, ashbySearchCandidatesDefinition, ashbyCreateCandidateDefinition, ashbyUpdateCandidateDefinition, ashbyAddCandidateToProjectDefinition, bingGetTopNSearchResultUrlsDefinition, gongGetGongTranscriptsDefinition, kandjiGetFVRecoveryKeyForDeviceDefinition, asanaListAsanaTasksByProjectDefinition, notionSearchByTitleDefinition, asanaGetTasksDetailsDefinition, jamfGetJamfComputerInventoryDefinition, jamfGetJamfFileVaultRecoveryKeyDefinition, oktaListOktaUsersDefinition, oktaGetOktaUserDefinition, oktaListOktaUserGroupsDefinition, oktaListOktaGroupsDefinition, oktaGetOktaGroupDefinition, oktaListOktaGroupMembersDefinition, oktaRemoveUserFromGroupDefinition, oktaAddUserToGroupDefinition, oktaResetPasswordDefinition, oktaResetMFADefinition, oktaListMFADefinition, jamfGetJamfUserComputerIdDefinition, jamfLockJamfComputerByIdDefinition, oktaTriggerOktaWorkflowDefinition, jiraOrgAssignJiraTicketDefinition, jiraOrgCreateJiraTicketDefinition, jiraOrgCommentJiraTicketDefinition, jiraOrgGetJiraTicketDetailsDefinition, jiraOrgGetJiraTicketHistoryDefinition, jiraOrgUpdateJiraTicketDetailsDefinition, jiraOrgUpdateJiraTicketStatusDefinition, jiraOrgGetJiraIssuesByQueryDefinition, googleOauthGetDriveFileContentByIdDefinition, googleOauthSearchDriveByQueryDefinition, } from "./autogen/templates.js";
|
|
2
|
-
export const ACTION_GROUPS = {
|
|
3
|
-
GENERIC: {
|
|
4
|
-
description: "Generic utility actions",
|
|
5
|
-
actions: [genericFillTemplateDefinition],
|
|
6
|
-
},
|
|
7
|
-
ASANA: {
|
|
8
|
-
description: "Actions for interacting with Asana",
|
|
9
|
-
actions: [
|
|
10
|
-
asanaCommentTaskDefinition,
|
|
11
|
-
asanaCreateTaskDefinition,
|
|
12
|
-
asanaUpdateTaskDefinition,
|
|
13
|
-
asanaSearchTasksDefinition,
|
|
14
|
-
asanaListAsanaTasksByProjectDefinition,
|
|
15
|
-
asanaGetTasksDetailsDefinition,
|
|
16
|
-
],
|
|
17
|
-
},
|
|
18
|
-
SLACK_LIST_CONVERSATIONS: {
|
|
19
|
-
description: "Actions for interacting with Slack",
|
|
20
|
-
actions: [
|
|
21
|
-
slackSendMessageDefinition,
|
|
22
|
-
slackGetChannelMessagesDefinition,
|
|
23
|
-
slackCreateChannelDefinition,
|
|
24
|
-
slackArchiveChannelDefinition,
|
|
25
|
-
],
|
|
26
|
-
},
|
|
27
|
-
CONFLUENCE: {
|
|
28
|
-
description: "Action for interacting with Confluence",
|
|
29
|
-
actions: [confluenceOverwritePageDefinition, confluenceFetchPageContentDefinition],
|
|
30
|
-
},
|
|
31
|
-
MATH_ADD: {
|
|
32
|
-
description: "Action for adding two numbers",
|
|
33
|
-
actions: [mathAddDefinition],
|
|
34
|
-
},
|
|
35
|
-
GOOGLE_MAPS: {
|
|
36
|
-
description: "Action for interacting with Google Maps",
|
|
37
|
-
actions: [googlemapsValidateAddressDefinition, googlemapsNearbysearchRestaurantsDefinition],
|
|
38
|
-
},
|
|
39
|
-
GOOGLE_DRIVE: {
|
|
40
|
-
description: "Action for interacting with Google Drive",
|
|
41
|
-
actions: [
|
|
42
|
-
googleOauthCreateNewGoogleDocDefinition,
|
|
43
|
-
googleOauthUpdateDocDefinition,
|
|
44
|
-
googleOauthCreateSpreadsheetDefinition,
|
|
45
|
-
googleOauthUpdateSpreadsheetDefinition,
|
|
46
|
-
googleOauthCreatePresentationDefinition,
|
|
47
|
-
googleOauthUpdatePresentationDefinition,
|
|
48
|
-
googleOauthSearchDriveByKeywordsDefinition,
|
|
49
|
-
googleOauthSearchDriveByQueryDefinition,
|
|
50
|
-
googleOauthGetDriveFileContentByIdDefinition,
|
|
51
|
-
],
|
|
52
|
-
},
|
|
53
|
-
GOOGLE_CALENDAR: {
|
|
54
|
-
description: "Actions for interacting with Google Calendar",
|
|
55
|
-
actions: [
|
|
56
|
-
googleOauthScheduleCalendarMeetingDefinition,
|
|
57
|
-
googleOauthListCalendarsDefinition,
|
|
58
|
-
googleOauthListCalendarEventsDefinition,
|
|
59
|
-
googleOauthUpdateCalendarEventDefinition,
|
|
60
|
-
googleOauthDeleteCalendarEventDefinition,
|
|
61
|
-
],
|
|
62
|
-
},
|
|
63
|
-
GMAIL: {
|
|
64
|
-
description: "Actions for interacting with Gmail",
|
|
65
|
-
actions: [googlemailSearchGmailMessagesDefinition, googlemailListGmailThreadsDefinition],
|
|
66
|
-
},
|
|
67
|
-
LINKEDIN_SHARE_POST: {
|
|
68
|
-
description: "Action for creating a share post url on linkedin",
|
|
69
|
-
actions: [linkedinCreateShareLinkedinPostUrlDefinition],
|
|
70
|
-
},
|
|
71
|
-
ZENDESK_ACTIONS: {
|
|
72
|
-
description: "Actions for interacting with Zendesk",
|
|
73
|
-
actions: [
|
|
74
|
-
zendeskCreateZendeskTicketDefinition,
|
|
75
|
-
zendeskListZendeskTicketsDefinition,
|
|
76
|
-
zendeskGetTicketDetailsDefinition,
|
|
77
|
-
zendeskUpdateTicketStatusDefinition,
|
|
78
|
-
zendeskAddCommentToTicketDefinition,
|
|
79
|
-
zendeskAssignTicketDefinition,
|
|
80
|
-
],
|
|
81
|
-
},
|
|
82
|
-
BING_SEARCH: {
|
|
83
|
-
description: "Action for searching Bing",
|
|
84
|
-
actions: [bingGetTopNSearchResultUrlsDefinition],
|
|
85
|
-
},
|
|
86
|
-
MONGO_INSERT_DOC: {
|
|
87
|
-
description: "Action for inserting a document into a MongoDB collection",
|
|
88
|
-
actions: [mongoInsertMongoDocDefinition],
|
|
89
|
-
},
|
|
90
|
-
SNOWFLAKE_ACTIONS: {
|
|
91
|
-
description: "Action for getting content from a Snowflake table",
|
|
92
|
-
actions: [snowflakeGetRowByFieldValueDefinition, snowflakeRunSnowflakeQueryDefinition],
|
|
93
|
-
},
|
|
94
|
-
JIRA_ACTIONS: {
|
|
95
|
-
description: "Action for interacting with Jira tickets",
|
|
96
|
-
actions: [
|
|
97
|
-
jiraAssignJiraTicketDefinition,
|
|
98
|
-
jiraCreateJiraTicketDefinition,
|
|
99
|
-
jiraCommentJiraTicketDefinition,
|
|
100
|
-
jiraGetJiraTicketDetailsDefinition,
|
|
101
|
-
jiraGetJiraTicketHistoryDefinition,
|
|
102
|
-
jiraUpdateJiraTicketDetailsDefinition,
|
|
103
|
-
jiraUpdateJiraTicketStatusDefinition,
|
|
104
|
-
jiraGetJiraIssuesByQueryDefinition,
|
|
105
|
-
jiraGetServiceDesksDefinition,
|
|
106
|
-
jiraCreateServiceDeskRequestDefinition,
|
|
107
|
-
],
|
|
108
|
-
},
|
|
109
|
-
JIRA_ORG_ACTIONS: {
|
|
110
|
-
description: "Action for interacting with Jira tickets",
|
|
111
|
-
actions: [
|
|
112
|
-
jiraOrgAssignJiraTicketDefinition,
|
|
113
|
-
jiraOrgCreateJiraTicketDefinition,
|
|
114
|
-
jiraOrgCommentJiraTicketDefinition,
|
|
115
|
-
jiraOrgGetJiraTicketDetailsDefinition,
|
|
116
|
-
jiraOrgGetJiraTicketHistoryDefinition,
|
|
117
|
-
jiraOrgUpdateJiraTicketDetailsDefinition,
|
|
118
|
-
jiraOrgUpdateJiraTicketStatusDefinition,
|
|
119
|
-
jiraOrgGetJiraIssuesByQueryDefinition,
|
|
120
|
-
],
|
|
121
|
-
},
|
|
122
|
-
OPENSTREETMAP_GET_LATITUDE_LONGITUDE_FROM_LOCATION: {
|
|
123
|
-
description: "Action for getting the latitude and longitude of a location",
|
|
124
|
-
actions: [openstreetmapGetLatitudeLongitudeFromLocationDefinition],
|
|
125
|
-
},
|
|
126
|
-
NWS_GET_FORECAST_FOR_LOCATION: {
|
|
127
|
-
description: "Action for getting the weather forecast for a location",
|
|
128
|
-
actions: [nwsGetForecastForLocationDefinition],
|
|
129
|
-
},
|
|
130
|
-
FIRECRAWL: {
|
|
131
|
-
description: "Actions for interacting with Firecrawl",
|
|
132
|
-
actions: [
|
|
133
|
-
firecrawlScrapeUrlDefinition,
|
|
134
|
-
firecrawlScrapeTweetDataWithNitterDefinition,
|
|
135
|
-
firecrawlDeepResearchDefinition,
|
|
136
|
-
],
|
|
137
|
-
},
|
|
138
|
-
RESEND: {
|
|
139
|
-
description: "Action for sending an email",
|
|
140
|
-
actions: [resendSendEmailDefinition],
|
|
141
|
-
},
|
|
142
|
-
X: {
|
|
143
|
-
description: "Actions for interacting with X(formerly twitter)",
|
|
144
|
-
actions: [xCreateShareXPostUrlDefinition],
|
|
145
|
-
},
|
|
146
|
-
GONG: {
|
|
147
|
-
description: "Actions for interacting with Gong",
|
|
148
|
-
actions: [gongGetGongTranscriptsDefinition],
|
|
149
|
-
},
|
|
150
|
-
FINNHUB: {
|
|
151
|
-
description: "Action for interacting with Finnhub for stock market data",
|
|
152
|
-
actions: [finnhubSymbolLookupDefinition, finnhubGetBasicFinancialsDefinition],
|
|
153
|
-
},
|
|
154
|
-
JAMF: {
|
|
155
|
-
description: "Actions for interacting with Jamf",
|
|
156
|
-
actions: [
|
|
157
|
-
jamfGetJamfComputerInventoryDefinition,
|
|
158
|
-
jamfGetJamfFileVaultRecoveryKeyDefinition,
|
|
159
|
-
jamfGetJamfUserComputerIdDefinition,
|
|
160
|
-
jamfLockJamfComputerByIdDefinition,
|
|
161
|
-
],
|
|
162
|
-
},
|
|
163
|
-
LOOKER: {
|
|
164
|
-
description: "Actions for interacting with Looker",
|
|
165
|
-
actions: [lookerEnableUserByEmailDefinition],
|
|
166
|
-
},
|
|
167
|
-
SALESFORCE: {
|
|
168
|
-
description: "Actions for interacting with Salesforce",
|
|
169
|
-
actions: [
|
|
170
|
-
salesforceUpdateRecordDefinition,
|
|
171
|
-
salesforceCreateRecordDefinition,
|
|
172
|
-
salesforceCreateCaseDefinition,
|
|
173
|
-
salesforceGenerateSalesReportDefinition,
|
|
174
|
-
salesforceGetRecordDefinition,
|
|
175
|
-
salesforceGetSalesforceRecordsByQueryDefinition,
|
|
176
|
-
salesforceFetchSalesforceSchemaByObjectDefinition,
|
|
177
|
-
],
|
|
178
|
-
},
|
|
179
|
-
MICROSOFT: {
|
|
180
|
-
description: "Actions for interacting with Microsoft 365",
|
|
181
|
-
actions: [
|
|
182
|
-
microsoftMessageTeamsChatDefinition,
|
|
183
|
-
microsoftMessageTeamsChannelDefinition,
|
|
184
|
-
microsoftUpdateSpreadsheetDefinition,
|
|
185
|
-
microsoftUpdateDocumentDefinition,
|
|
186
|
-
microsoftCreateDocumentDefinition,
|
|
187
|
-
microsoftGetDocumentDefinition,
|
|
188
|
-
],
|
|
189
|
-
},
|
|
190
|
-
KANDJI: {
|
|
191
|
-
description: "Actions for interacting with Kandji",
|
|
192
|
-
actions: [kandjiGetFVRecoveryKeyForDeviceDefinition],
|
|
193
|
-
},
|
|
194
|
-
GITHUB: {
|
|
195
|
-
description: "Actions for interacting with GitHub",
|
|
196
|
-
actions: [
|
|
197
|
-
githubCreateOrUpdateFileDefinition,
|
|
198
|
-
githubCreateBranchDefinition,
|
|
199
|
-
githubCreatePullRequestDefinition,
|
|
200
|
-
githubListPullRequestsDefinition,
|
|
201
|
-
],
|
|
202
|
-
},
|
|
203
|
-
ASHBY: {
|
|
204
|
-
description: "Actions for interacting with Ashby",
|
|
205
|
-
actions: [
|
|
206
|
-
ashbyCreateNoteDefinition,
|
|
207
|
-
ashbyGetCandidateInfoDefinition,
|
|
208
|
-
ashbyListCandidatesDefinition,
|
|
209
|
-
ashbyListCandidateNotesDefinition,
|
|
210
|
-
ashbySearchCandidatesDefinition,
|
|
211
|
-
ashbyCreateCandidateDefinition,
|
|
212
|
-
ashbyUpdateCandidateDefinition,
|
|
213
|
-
ashbyAddCandidateToProjectDefinition,
|
|
214
|
-
],
|
|
215
|
-
},
|
|
216
|
-
NOTION: {
|
|
217
|
-
description: "Actions for interacting with Notion",
|
|
218
|
-
actions: [notionSearchByTitleDefinition],
|
|
219
|
-
},
|
|
220
|
-
GOOGLE_GROUPS: {
|
|
221
|
-
description: "Google Workspace Groups management actions",
|
|
222
|
-
actions: [
|
|
223
|
-
googleOauthListGroupsDefinition,
|
|
224
|
-
googleOauthGetGroupDefinition,
|
|
225
|
-
googleOauthListGroupMembersDefinition,
|
|
226
|
-
googleOauthHasGroupMemberDefinition,
|
|
227
|
-
googleOauthAddGroupMemberDefinition,
|
|
228
|
-
googleOauthDeleteGroupMemberDefinition,
|
|
229
|
-
],
|
|
230
|
-
},
|
|
231
|
-
OKTA: {
|
|
232
|
-
description: "Actions for interacting with Okta",
|
|
233
|
-
actions: [
|
|
234
|
-
oktaListOktaUsersDefinition,
|
|
235
|
-
oktaGetOktaUserDefinition,
|
|
236
|
-
oktaListOktaUserGroupsDefinition,
|
|
237
|
-
oktaListOktaGroupsDefinition,
|
|
238
|
-
oktaGetOktaGroupDefinition,
|
|
239
|
-
oktaListOktaGroupMembersDefinition,
|
|
240
|
-
oktaRemoveUserFromGroupDefinition,
|
|
241
|
-
oktaAddUserToGroupDefinition,
|
|
242
|
-
oktaResetPasswordDefinition,
|
|
243
|
-
oktaResetMFADefinition,
|
|
244
|
-
oktaListMFADefinition,
|
|
245
|
-
oktaTriggerOktaWorkflowDefinition,
|
|
246
|
-
],
|
|
247
|
-
},
|
|
248
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
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 sdk_1 = require("@credal/sdk");
|
|
13
|
-
const callCopilot = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
14
|
-
var _b;
|
|
15
|
-
const requestBody = {
|
|
16
|
-
agentId: params.agentId,
|
|
17
|
-
query: params.query,
|
|
18
|
-
userEmail: params.userEmail,
|
|
19
|
-
};
|
|
20
|
-
const baseUrl = (_b = authParams.baseUrl) !== null && _b !== void 0 ? _b : "https://app.credal.ai/api";
|
|
21
|
-
const client = new sdk_1.CredalClient({ environment: baseUrl, apiKey: authParams.apiKey });
|
|
22
|
-
const response = yield client.copilots.sendMessage({
|
|
23
|
-
agentId: requestBody.agentId,
|
|
24
|
-
message: requestBody.query,
|
|
25
|
-
userEmail: requestBody.userEmail,
|
|
26
|
-
});
|
|
27
|
-
return {
|
|
28
|
-
response: response.sendChatResult.type === "ai_response_result"
|
|
29
|
-
? response.sendChatResult.response.message
|
|
30
|
-
: "Error getting response",
|
|
31
|
-
referencedSources: response.sendChatResult.type === "ai_response_result" ? response.sendChatResult.referencedSources : [],
|
|
32
|
-
sourcesInDataContext: response.sendChatResult.type === "ai_response_result" ? response.sendChatResult.sourcesInDataContext : [],
|
|
33
|
-
webSearchResults: response.sendChatResult.type === "ai_response_result" ? response.sendChatResult.webSearchResults : [],
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
exports.default = callCopilot;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as add from "./add";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.add = void 0;
|
|
37
|
-
exports.add = __importStar(require("./add"));
|
|
@@ -1,43 +0,0 @@
|
|
|
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 getSalesforceRecordByQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
14
|
-
const { authToken, baseUrl } = authParams;
|
|
15
|
-
const { query, limit } = params;
|
|
16
|
-
if (!authToken || !baseUrl) {
|
|
17
|
-
return {
|
|
18
|
-
success: false,
|
|
19
|
-
error: "authToken and baseUrl are required for Salesforce API",
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
// The API limits the maximum number of records returned to 2000, the limit lets the user set a smaller custom limit
|
|
23
|
-
const url = `${baseUrl}/services/data/v56.0/query/?q=${encodeURIComponent(query + " LIMIT " + (limit != undefined && limit <= 2000 ? limit : 2000))}`;
|
|
24
|
-
try {
|
|
25
|
-
const response = yield axiosClient_1.axiosClient.get(url, {
|
|
26
|
-
headers: {
|
|
27
|
-
Authorization: `Bearer ${authToken}`,
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
return {
|
|
31
|
-
success: true,
|
|
32
|
-
records: response.data,
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.error("Error retrieving Salesforce record:", error);
|
|
37
|
-
return {
|
|
38
|
-
success: false,
|
|
39
|
-
error: error instanceof Error ? error.message : "An unknown error occurred",
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
exports.default = getSalesforceRecordByQuery;
|
|
@@ -1,35 +0,0 @@
|
|
|
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
|
-
import { WebClient } from "@slack/web-api";
|
|
11
|
-
import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
12
|
-
const archiveChannel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
13
|
-
if (!authParams.authToken) {
|
|
14
|
-
throw new Error(MISSING_AUTH_TOKEN);
|
|
15
|
-
}
|
|
16
|
-
try {
|
|
17
|
-
const client = new WebClient(authParams.authToken);
|
|
18
|
-
const { channelId } = params;
|
|
19
|
-
const result = yield client.conversations.archive({ channel: channelId });
|
|
20
|
-
if (!result.ok) {
|
|
21
|
-
return {
|
|
22
|
-
success: false,
|
|
23
|
-
error: result.error || "Unknown error archiving channel",
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
return { success: true };
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
return {
|
|
30
|
-
success: false,
|
|
31
|
-
error: error instanceof Error ? error.message : "Unknown error archiving channel",
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
export default archiveChannel;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * as listConversations from "./listConversations";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.listConversations = void 0;
|
|
37
|
-
exports.listConversations = __importStar(require("./listConversations"));
|
|
@@ -1,41 +0,0 @@
|
|
|
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 web_api_1 = require("@slack/web-api");
|
|
13
|
-
const helpers_1 = require("./helpers");
|
|
14
|
-
const slackListConversations = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, }) {
|
|
15
|
-
const client = new web_api_1.WebClient(authParams.authToken);
|
|
16
|
-
try {
|
|
17
|
-
const allChannels = yield (0, helpers_1.getSlackChannels)(client);
|
|
18
|
-
const filteredChannels = [];
|
|
19
|
-
for (const channel of allChannels) {
|
|
20
|
-
if (channel.name && channel.topic && channel.topic.value && channel.purpose && channel.purpose.value) {
|
|
21
|
-
const purpose = channel.purpose.value;
|
|
22
|
-
const topic = channel.topic.value;
|
|
23
|
-
const name = channel.name;
|
|
24
|
-
filteredChannels.push(Object.assign(Object.assign({}, channel), { purpose, topic, name }));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
channels: filteredChannels,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
if (error instanceof Error) {
|
|
33
|
-
// Enhance error with more context
|
|
34
|
-
throw new Error(`Failed to list Slack conversations: ${error.message}`);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
exports.default = slackListConversations;
|