@credal/actions 0.2.208 → 0.2.209
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/actionMapper.js +8 -1
- package/dist/actions/autogen/templates.d.ts +1 -0
- package/dist/actions/autogen/templates.js +70 -0
- package/dist/actions/autogen/types.d.ts +58 -0
- package/dist/actions/autogen/types.js +23 -0
- package/dist/actions/groups.d.ts +6 -0
- package/dist/actions/groups.js +251 -0
- package/dist/actions/providers/github/fetchFile.d.ts +3 -0
- package/dist/actions/providers/github/fetchFile.js +131 -0
- package/dist/actions/providers/github/getContents.d.ts +3 -0
- package/dist/actions/providers/github/getContents.js +41 -0
- package/dist/actions/providers/github/searchRepository.js +7 -7
- package/dist/actions/providers/google-oauth/getDriveFileContentById.js +2 -18
- package/dist/actions/providers/google-oauth/getSpreadsheetMetadata.d.ts +15 -0
- package/dist/actions/providers/google-oauth/getSpreadsheetMetadata.js +49 -0
- package/dist/actions/providers/slack/archiveChannel.d.ts +3 -0
- package/dist/actions/providers/slack/archiveChannel.js +42 -0
- package/dist/actions/providers/slack/sendMessage.js +3 -1
- package/dist/utils/google.d.ts +1 -0
- package/dist/utils/google.js +48 -22
- package/package.json +1 -1
- package/dist/actions/providers/jira/updateServiceDeskRequest.d.ts +0 -3
- package/dist/actions/providers/jira/updateServiceDeskRequest.js +0 -72
- package/dist/actions/providers/microsoft/sendOutlookEmail.d.ts +0 -3
- package/dist/actions/providers/microsoft/sendOutlookEmail.js +0 -48
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { genericFillTemplateParamsSchema, genericFillTemplateOutputSchema, confluenceOverwritePageParamsSchema, confluenceOverwritePageOutputSchema, googlemapsValidateAddressOutputSchema, googlemapsValidateAddressParamsSchema, googleOauthCreateNewGoogleDocParamsSchema, googleOauthCreateNewGoogleDocOutputSchema, mathAddOutputSchema, mathAddParamsSchema, mongoInsertMongoDocOutputSchema, mongoInsertMongoDocParamsSchema, slackSendMessageOutputSchema, slackSendMessageParamsSchema, slackGetChannelMessagesOutputSchema, slackGetChannelMessagesParamsSchema, slackCreateChannelParamsSchema, slackCreateChannelOutputSchema, snowflakeGetRowByFieldValueOutputSchema, snowflakeGetRowByFieldValueParamsSchema, zendeskCreateZendeskTicketOutputSchema, zendeskCreateZendeskTicketParamsSchema, zendeskGetTicketDetailsOutputSchema, zendeskGetTicketDetailsParamsSchema, zendeskUpdateTicketStatusOutputSchema, zendeskUpdateTicketStatusParamsSchema, zendeskAddCommentToTicketOutputSchema, zendeskAddCommentToTicketParamsSchema, zendeskAssignTicketOutputSchema, zendeskAssignTicketParamsSchema, zendeskListZendeskTicketsOutputSchema, zendeskListZendeskTicketsParamsSchema, zendeskSearchZendeskByQueryOutputSchema, zendeskSearchZendeskByQueryParamsSchema, jiraAssignJiraTicketParamsSchema, jiraAssignJiraTicketOutputSchema, jiraCommentJiraTicketParamsSchema, jiraCommentJiraTicketOutputSchema, jiraCommentJiraTicketWithMentionsParamsSchema, jiraCommentJiraTicketWithMentionsOutputSchema, jiraCreateJiraTicketParamsSchema, jiraCreateJiraTicketOutputSchema, jiraGetJiraTicketDetailsParamsSchema, jiraGetJiraTicketDetailsOutputSchema, jiraGetJiraTicketHistoryParamsSchema, jiraGetJiraTicketHistoryOutputSchema, jiraMoveJiraTicketToProjectParamsSchema, jiraMoveJiraTicketToProjectOutputSchema, jiraUpdateJiraTicketDetailsParamsSchema, jiraUpdateJiraTicketDetailsOutputSchema, jiraUpdateJiraTicketStatusParamsSchema, jiraUpdateJiraTicketStatusOutputSchema, jiraCreateServiceDeskRequestParamsSchema, jiraCreateServiceDeskRequestOutputSchema, jiraLinkJiraIssuesParamsSchema, jiraLinkJiraIssuesOutputSchema, jiraLinkAndAssignJiraIssuesParamsSchema, jiraLinkAndAssignJiraIssuesOutputSchema, openstreetmapGetLatitudeLongitudeFromLocationParamsSchema, openstreetmapGetLatitudeLongitudeFromLocationOutputSchema, nwsGetForecastForLocationParamsSchema, nwsGetForecastForLocationOutputSchema, googlemapsNearbysearchRestaurantsOutputSchema, googlemapsNearbysearchRestaurantsParamsSchema, firecrawlScrapeUrlOutputSchema, firecrawlScrapeUrlParamsSchema, resendSendEmailOutputSchema, resendSendEmailHtmlParamsSchema, resendSendEmailHtmlOutputSchema, firecrawlScrapeTweetDataWithNitterParamsSchema, firecrawlScrapeTweetDataWithNitterOutputSchema, resendSendEmailParamsSchema, linkedinCreateShareLinkedinPostUrlParamsSchema, linkedinCreateShareLinkedinPostUrlOutputSchema, xCreateShareXPostUrlParamsSchema, xCreateShareXPostUrlOutputSchema, finnhubSymbolLookupParamsSchema, finnhubSymbolLookupOutputSchema, finnhubGetBasicFinancialsParamsSchema, finnhubGetBasicFinancialsOutputSchema, confluenceFetchPageContentParamsSchema, confluenceFetchPageContentOutputSchema, snowflakeRunSnowflakeQueryParamsSchema, snowflakeRunSnowflakeQueryOutputSchema, lookerEnableUserByEmailParamsSchema, lookerEnableUserByEmailOutputSchema, googleOauthUpdateDocParamsSchema, googleOauthUpdateDocOutputSchema, googleOauthAddTextToTopOfDocParamsSchema, googleOauthAddTextToTopOfDocOutputSchema, googleOauthCreateSpreadsheetParamsSchema, googleOauthCreateSpreadsheetOutputSchema, googleOauthUpdateSpreadsheetParamsSchema, googleOauthUpdateSpreadsheetOutputSchema, googleOauthAppendRowsToSpreadsheetParamsSchema, googleOauthAppendRowsToSpreadsheetOutputSchema, googleOauthDeleteRowFromSpreadsheetParamsSchema, googleOauthDeleteRowFromSpreadsheetOutputSchema, googleOauthScheduleCalendarMeetingParamsSchema, googleOauthScheduleCalendarMeetingOutputSchema, googleOauthListCalendarsParamsSchema, googleOauthListCalendarsOutputSchema, googleOauthListCalendarEventsParamsSchema, googleOauthListCalendarEventsOutputSchema, googleOauthUpdateCalendarEventParamsSchema, googleOauthUpdateCalendarEventOutputSchema, googleOauthDeleteCalendarEventParamsSchema, googleOauthDeleteCalendarEventOutputSchema, googleOauthEditAGoogleCalendarEventParamsSchema, googleOauthEditAGoogleCalendarEventOutputSchema, googleOauthCreatePresentationParamsSchema, googleOauthCreatePresentationOutputSchema, googleOauthUpdatePresentationParamsSchema, googleOauthUpdatePresentationOutputSchema, googleOauthGetPresentationParamsSchema, googleOauthGetPresentationOutputSchema, googleOauthSearchDriveByKeywordsParamsSchema, googleOauthSearchDriveByKeywordsOutputSchema, googleOauthListGroupsOutputSchema, googleOauthListGroupsParamsSchema, googleOauthGetGroupOutputSchema, googleOauthGetGroupParamsSchema, googleOauthListGroupMembersOutputSchema, googleOauthListGroupMembersParamsSchema, googleOauthHasGroupMemberOutputSchema, googleOauthHasGroupMemberParamsSchema, googleOauthAddGroupMemberOutputSchema, googleOauthAddGroupMemberParamsSchema, googleOauthDeleteGroupMemberOutputSchema, googleOauthDeleteGroupMemberParamsSchema, salesforceUpdateRecordParamsSchema, salesforceUpdateRecordOutputSchema, salesforceCreateCaseParamsSchema, salesforceCreateCaseOutputSchema, salesforceGenerateSalesReportParamsSchema, salesforceGenerateSalesReportOutputSchema, salesforceGetRecordParamsSchema, salesforceGetRecordOutputSchema, microsoftMessageTeamsChatParamsSchema, microsoftMessageTeamsChatOutputSchema, microsoftMessageTeamsChannelParamsSchema, microsoftMessageTeamsChannelOutputSchema, salesforceGetSalesforceRecordsByQueryParamsSchema, salesforceGetSalesforceRecordsByQueryOutputSchema, asanaCommentTaskParamsSchema, asanaCommentTaskOutputSchema, asanaCreateTaskParamsSchema, asanaCreateTaskOutputSchema, asanaUpdateTaskParamsSchema, asanaUpdateTaskOutputSchema, githubCreateOrUpdateFileParamsSchema, githubCreateOrUpdateFileOutputSchema, githubCreateBranchParamsSchema, githubCreateBranchOutputSchema, githubCreatePullRequestParamsSchema, githubCreatePullRequestOutputSchema, microsoftUpdateSpreadsheetParamsSchema, microsoftUpdateSpreadsheetOutputSchema, microsoftUpdateDocumentParamsSchema, microsoftUpdateDocumentOutputSchema, microsoftGetDocumentParamsSchema, microsoftGetDocumentOutputSchema, githubListPullRequestsParamsSchema, githubListPullRequestsOutputSchema, jiraGetJiraIssuesByQueryOutputSchema, jiraGetJiraIssuesByQueryParamsSchema, salesforceCreateRecordParamsSchema, salesforceCreateRecordOutputSchema, firecrawlDeepResearchParamsSchema, firecrawlDeepResearchOutputSchema, bingGetTopNSearchResultUrlsParamsSchema, bingGetTopNSearchResultUrlsOutputSchema, microsoftCreateDocumentParamsSchema, microsoftCreateDocumentOutputSchema, asanaListAsanaTasksByProjectParamsSchema, asanaListAsanaTasksByProjectOutputSchema, asanaSearchTasksParamsSchema, asanaSearchTasksOutputSchema, asanaGetTasksDetailsParamsSchema, asanaGetTasksDetailsOutputSchema, notionSearchByTitleParamsSchema, notionSearchByTitleOutputSchema, googlemailSearchGmailMessagesOutputSchema, googlemailSearchGmailMessagesParamsSchema, googlemailListGmailThreadsOutputSchema, googlemailListGmailThreadsParamsSchema, gitlabSearchGroupOutputSchema, gitlabSearchGroupParamsSchema, githubSearchOrganizationOutputSchema, githubSearchOrganizationParamsSchema, salesforceSearchSalesforceRecordsParamsSchema, salesforceSearchSalesforceRecordsOutputSchema, googleOauthGetDriveFileContentByIdOutputSchema, googleOauthGetDriveFileContentByIdParamsSchema, googleOauthSearchDriveByQueryOutputSchema, googleOauthSearchDriveByQueryParamsSchema, googleOauthSearchDriveByQueryAndGetFileContentParamsSchema, googleOauthSearchDriveByQueryAndGetFileContentOutputSchema, googleOauthQueryGoogleBigQueryParamsSchema, googleOauthQueryGoogleBigQueryOutputSchema, githubGetFileContentParamsSchema, githubGetFileContentOutputSchema, githubListDirectoryOutputSchema, githubListDirectoryParamsSchema, githubGetBranchParamsSchema, githubGetBranchOutputSchema, githubListCommitsParamsSchema, githubListCommitsOutputSchema, githubGetPullRequestDetailsParamsSchema, githubGetPullRequestDetailsOutputSchema, linearGetIssuesParamsSchema, linearGetIssuesOutputSchema, linearGetIssueDetailsParamsSchema, linearGetIssueDetailsOutputSchema, linearGetProjectDetailsParamsSchema, linearGetProjectDetailsOutputSchema, linearGetTeamDetailsParamsSchema, linearGetTeamDetailsOutputSchema, linearGetProjectsParamsSchema, linearGetProjectsOutputSchema, linearGetTeamsParamsSchema, linearGetTeamsOutputSchema, linearCreateIssueParamsSchema, linearCreateIssueOutputSchema, hubspotGetContactsParamsSchema, hubspotGetContactsOutputSchema, hubspotGetContactDetailsParamsSchema, hubspotGetContactDetailsOutputSchema, hubspotGetCompaniesParamsSchema, hubspotGetCompaniesOutputSchema, hubspotGetCompanyDetailsParamsSchema, hubspotGetCompanyDetailsOutputSchema, hubspotGetDealsParamsSchema, hubspotGetDealsOutputSchema, hubspotGetDealDetailsParamsSchema, hubspotGetDealDetailsOutputSchema, hubspotGetTicketsParamsSchema, hubspotGetTicketsOutputSchema, hubspotGetTicketDetailsParamsSchema, hubspotGetTicketDetailsOutputSchema, gitlabGetFileContentParamsSchema, gitlabGetFileContentOutputSchema, gitlabGetMergeRequestParamsSchema, gitlabGetMergeRequestOutputSchema, jiraPublicCommentOnServiceDeskRequestParamsSchema, jiraPublicCommentOnServiceDeskRequestOutputSchema, googlemailSendGmailParamsSchema, googlemailSendGmailOutputSchema, googlemailReplyToGmailParamsSchema, googlemailReplyToGmailOutputSchema, gitlabListDirectoryParamsSchema, gitlabListDirectoryOutputSchema, firecrawlSearchAndScrapeOutputSchema, firecrawlSearchAndScrapeParamsSchema, firecrawlGetTopNSearchResultUrlsParamsSchema, firecrawlGetTopNSearchResultUrlsOutputSchema, googleOauthSearchDriveByKeywordsAndGetFileContentParamsSchema, googleOauthSearchDriveByKeywordsAndGetFileContentOutputSchema, perplexityPerplexityDeepResearchParamsSchema, perplexityPerplexityDeepResearchOutputSchema, slackUserSearchSlackParamsSchema, slackUserSearchSlackOutputSchema, slackUserSearchSlackRTSParamsSchema, slackUserSearchSlackRTSOutputSchema, oktaOrgGetOktaUserByNameParamsSchema, oktaOrgGetOktaUserByNameOutputSchema, googleSearchCustomSearchParamsSchema, googleSearchCustomSearchOutputSchema, salesforceSearchAllSalesforceRecordsParamsSchema, salesforceSearchAllSalesforceRecordsOutputSchema, salesforceListReportsParamsSchema, salesforceListReportsOutputSchema, salesforceExecuteReportParamsSchema, salesforceExecuteReportOutputSchema, slackSendDmFromBotParamsSchema, slackSendDmFromBotOutputSchema, slackGetChannelMembersParamsSchema, slackGetChannelMembersOutputSchema, salesforceGetReportMetadataParamsSchema, salesforceGetReportMetadataOutputSchema, googleOauthUpdateRowsInSpreadsheetParamsSchema, googleOauthUpdateRowsInSpreadsheetOutputSchema, } from "./autogen/types.js";
|
|
1
|
+
import { genericFillTemplateParamsSchema, genericFillTemplateOutputSchema, confluenceOverwritePageParamsSchema, confluenceOverwritePageOutputSchema, googlemapsValidateAddressOutputSchema, googlemapsValidateAddressParamsSchema, googleOauthCreateNewGoogleDocParamsSchema, googleOauthCreateNewGoogleDocOutputSchema, mathAddOutputSchema, mathAddParamsSchema, mongoInsertMongoDocOutputSchema, mongoInsertMongoDocParamsSchema, slackSendMessageOutputSchema, slackSendMessageParamsSchema, slackGetChannelMessagesOutputSchema, slackGetChannelMessagesParamsSchema, slackCreateChannelParamsSchema, slackCreateChannelOutputSchema, snowflakeGetRowByFieldValueOutputSchema, snowflakeGetRowByFieldValueParamsSchema, zendeskCreateZendeskTicketOutputSchema, zendeskCreateZendeskTicketParamsSchema, zendeskGetTicketDetailsOutputSchema, zendeskGetTicketDetailsParamsSchema, zendeskUpdateTicketStatusOutputSchema, zendeskUpdateTicketStatusParamsSchema, zendeskAddCommentToTicketOutputSchema, zendeskAddCommentToTicketParamsSchema, zendeskAssignTicketOutputSchema, zendeskAssignTicketParamsSchema, zendeskListZendeskTicketsOutputSchema, zendeskListZendeskTicketsParamsSchema, zendeskSearchZendeskByQueryOutputSchema, zendeskSearchZendeskByQueryParamsSchema, jiraAssignJiraTicketParamsSchema, jiraAssignJiraTicketOutputSchema, jiraCommentJiraTicketParamsSchema, jiraCommentJiraTicketOutputSchema, jiraCommentJiraTicketWithMentionsParamsSchema, jiraCommentJiraTicketWithMentionsOutputSchema, jiraCreateJiraTicketParamsSchema, jiraCreateJiraTicketOutputSchema, jiraGetJiraTicketDetailsParamsSchema, jiraGetJiraTicketDetailsOutputSchema, jiraGetJiraTicketHistoryParamsSchema, jiraGetJiraTicketHistoryOutputSchema, jiraMoveJiraTicketToProjectParamsSchema, jiraMoveJiraTicketToProjectOutputSchema, jiraUpdateJiraTicketDetailsParamsSchema, jiraUpdateJiraTicketDetailsOutputSchema, jiraUpdateJiraTicketStatusParamsSchema, jiraUpdateJiraTicketStatusOutputSchema, jiraCreateServiceDeskRequestParamsSchema, jiraCreateServiceDeskRequestOutputSchema, jiraLinkJiraIssuesParamsSchema, jiraLinkJiraIssuesOutputSchema, jiraLinkAndAssignJiraIssuesParamsSchema, jiraLinkAndAssignJiraIssuesOutputSchema, openstreetmapGetLatitudeLongitudeFromLocationParamsSchema, openstreetmapGetLatitudeLongitudeFromLocationOutputSchema, nwsGetForecastForLocationParamsSchema, nwsGetForecastForLocationOutputSchema, googlemapsNearbysearchRestaurantsOutputSchema, googlemapsNearbysearchRestaurantsParamsSchema, firecrawlScrapeUrlOutputSchema, firecrawlScrapeUrlParamsSchema, resendSendEmailOutputSchema, resendSendEmailHtmlParamsSchema, resendSendEmailHtmlOutputSchema, firecrawlScrapeTweetDataWithNitterParamsSchema, firecrawlScrapeTweetDataWithNitterOutputSchema, resendSendEmailParamsSchema, linkedinCreateShareLinkedinPostUrlParamsSchema, linkedinCreateShareLinkedinPostUrlOutputSchema, xCreateShareXPostUrlParamsSchema, xCreateShareXPostUrlOutputSchema, finnhubSymbolLookupParamsSchema, finnhubSymbolLookupOutputSchema, finnhubGetBasicFinancialsParamsSchema, finnhubGetBasicFinancialsOutputSchema, confluenceFetchPageContentParamsSchema, confluenceFetchPageContentOutputSchema, snowflakeRunSnowflakeQueryParamsSchema, snowflakeRunSnowflakeQueryOutputSchema, lookerEnableUserByEmailParamsSchema, lookerEnableUserByEmailOutputSchema, googleOauthUpdateDocParamsSchema, googleOauthUpdateDocOutputSchema, googleOauthAddTextToTopOfDocParamsSchema, googleOauthAddTextToTopOfDocOutputSchema, googleOauthCreateSpreadsheetParamsSchema, googleOauthCreateSpreadsheetOutputSchema, googleOauthGetSpreadsheetMetadataParamsSchema, googleOauthGetSpreadsheetMetadataOutputSchema, googleOauthUpdateSpreadsheetParamsSchema, googleOauthUpdateSpreadsheetOutputSchema, googleOauthAppendRowsToSpreadsheetParamsSchema, googleOauthAppendRowsToSpreadsheetOutputSchema, googleOauthDeleteRowFromSpreadsheetParamsSchema, googleOauthDeleteRowFromSpreadsheetOutputSchema, googleOauthScheduleCalendarMeetingParamsSchema, googleOauthScheduleCalendarMeetingOutputSchema, googleOauthListCalendarsParamsSchema, googleOauthListCalendarsOutputSchema, googleOauthListCalendarEventsParamsSchema, googleOauthListCalendarEventsOutputSchema, googleOauthUpdateCalendarEventParamsSchema, googleOauthUpdateCalendarEventOutputSchema, googleOauthDeleteCalendarEventParamsSchema, googleOauthDeleteCalendarEventOutputSchema, googleOauthEditAGoogleCalendarEventParamsSchema, googleOauthEditAGoogleCalendarEventOutputSchema, googleOauthCreatePresentationParamsSchema, googleOauthCreatePresentationOutputSchema, googleOauthUpdatePresentationParamsSchema, googleOauthUpdatePresentationOutputSchema, googleOauthGetPresentationParamsSchema, googleOauthGetPresentationOutputSchema, googleOauthSearchDriveByKeywordsParamsSchema, googleOauthSearchDriveByKeywordsOutputSchema, googleOauthListGroupsOutputSchema, googleOauthListGroupsParamsSchema, googleOauthGetGroupOutputSchema, googleOauthGetGroupParamsSchema, googleOauthListGroupMembersOutputSchema, googleOauthListGroupMembersParamsSchema, googleOauthHasGroupMemberOutputSchema, googleOauthHasGroupMemberParamsSchema, googleOauthAddGroupMemberOutputSchema, googleOauthAddGroupMemberParamsSchema, googleOauthDeleteGroupMemberOutputSchema, googleOauthDeleteGroupMemberParamsSchema, salesforceUpdateRecordParamsSchema, salesforceUpdateRecordOutputSchema, salesforceCreateCaseParamsSchema, salesforceCreateCaseOutputSchema, salesforceGenerateSalesReportParamsSchema, salesforceGenerateSalesReportOutputSchema, salesforceGetRecordParamsSchema, salesforceGetRecordOutputSchema, microsoftMessageTeamsChatParamsSchema, microsoftMessageTeamsChatOutputSchema, microsoftMessageTeamsChannelParamsSchema, microsoftMessageTeamsChannelOutputSchema, salesforceGetSalesforceRecordsByQueryParamsSchema, salesforceGetSalesforceRecordsByQueryOutputSchema, asanaCommentTaskParamsSchema, asanaCommentTaskOutputSchema, asanaCreateTaskParamsSchema, asanaCreateTaskOutputSchema, asanaUpdateTaskParamsSchema, asanaUpdateTaskOutputSchema, githubCreateOrUpdateFileParamsSchema, githubCreateOrUpdateFileOutputSchema, githubCreateBranchParamsSchema, githubCreateBranchOutputSchema, githubCreatePullRequestParamsSchema, githubCreatePullRequestOutputSchema, microsoftUpdateSpreadsheetParamsSchema, microsoftUpdateSpreadsheetOutputSchema, microsoftUpdateDocumentParamsSchema, microsoftUpdateDocumentOutputSchema, microsoftGetDocumentParamsSchema, microsoftGetDocumentOutputSchema, githubListPullRequestsParamsSchema, githubListPullRequestsOutputSchema, jiraGetJiraIssuesByQueryOutputSchema, jiraGetJiraIssuesByQueryParamsSchema, salesforceCreateRecordParamsSchema, salesforceCreateRecordOutputSchema, firecrawlDeepResearchParamsSchema, firecrawlDeepResearchOutputSchema, bingGetTopNSearchResultUrlsParamsSchema, bingGetTopNSearchResultUrlsOutputSchema, microsoftCreateDocumentParamsSchema, microsoftCreateDocumentOutputSchema, asanaListAsanaTasksByProjectParamsSchema, asanaListAsanaTasksByProjectOutputSchema, asanaSearchTasksParamsSchema, asanaSearchTasksOutputSchema, asanaGetTasksDetailsParamsSchema, asanaGetTasksDetailsOutputSchema, notionSearchByTitleParamsSchema, notionSearchByTitleOutputSchema, googlemailSearchGmailMessagesOutputSchema, googlemailSearchGmailMessagesParamsSchema, googlemailListGmailThreadsOutputSchema, googlemailListGmailThreadsParamsSchema, gitlabSearchGroupOutputSchema, gitlabSearchGroupParamsSchema, githubSearchOrganizationOutputSchema, githubSearchOrganizationParamsSchema, salesforceSearchSalesforceRecordsParamsSchema, salesforceSearchSalesforceRecordsOutputSchema, googleOauthGetDriveFileContentByIdOutputSchema, googleOauthGetDriveFileContentByIdParamsSchema, googleOauthSearchDriveByQueryOutputSchema, googleOauthSearchDriveByQueryParamsSchema, googleOauthSearchDriveByQueryAndGetFileContentParamsSchema, googleOauthSearchDriveByQueryAndGetFileContentOutputSchema, googleOauthQueryGoogleBigQueryParamsSchema, googleOauthQueryGoogleBigQueryOutputSchema, githubGetFileContentParamsSchema, githubGetFileContentOutputSchema, githubListDirectoryOutputSchema, githubListDirectoryParamsSchema, githubGetBranchParamsSchema, githubGetBranchOutputSchema, githubListCommitsParamsSchema, githubListCommitsOutputSchema, githubGetPullRequestDetailsParamsSchema, githubGetPullRequestDetailsOutputSchema, linearGetIssuesParamsSchema, linearGetIssuesOutputSchema, linearGetIssueDetailsParamsSchema, linearGetIssueDetailsOutputSchema, linearGetProjectDetailsParamsSchema, linearGetProjectDetailsOutputSchema, linearGetTeamDetailsParamsSchema, linearGetTeamDetailsOutputSchema, linearGetProjectsParamsSchema, linearGetProjectsOutputSchema, linearGetTeamsParamsSchema, linearGetTeamsOutputSchema, linearCreateIssueParamsSchema, linearCreateIssueOutputSchema, hubspotGetContactsParamsSchema, hubspotGetContactsOutputSchema, hubspotGetContactDetailsParamsSchema, hubspotGetContactDetailsOutputSchema, hubspotGetCompaniesParamsSchema, hubspotGetCompaniesOutputSchema, hubspotGetCompanyDetailsParamsSchema, hubspotGetCompanyDetailsOutputSchema, hubspotGetDealsParamsSchema, hubspotGetDealsOutputSchema, hubspotGetDealDetailsParamsSchema, hubspotGetDealDetailsOutputSchema, hubspotGetTicketsParamsSchema, hubspotGetTicketsOutputSchema, hubspotGetTicketDetailsParamsSchema, hubspotGetTicketDetailsOutputSchema, gitlabGetFileContentParamsSchema, gitlabGetFileContentOutputSchema, gitlabGetMergeRequestParamsSchema, gitlabGetMergeRequestOutputSchema, jiraPublicCommentOnServiceDeskRequestParamsSchema, jiraPublicCommentOnServiceDeskRequestOutputSchema, googlemailSendGmailParamsSchema, googlemailSendGmailOutputSchema, googlemailReplyToGmailParamsSchema, googlemailReplyToGmailOutputSchema, gitlabListDirectoryParamsSchema, gitlabListDirectoryOutputSchema, firecrawlSearchAndScrapeOutputSchema, firecrawlSearchAndScrapeParamsSchema, firecrawlGetTopNSearchResultUrlsParamsSchema, firecrawlGetTopNSearchResultUrlsOutputSchema, googleOauthSearchDriveByKeywordsAndGetFileContentParamsSchema, googleOauthSearchDriveByKeywordsAndGetFileContentOutputSchema, perplexityPerplexityDeepResearchParamsSchema, perplexityPerplexityDeepResearchOutputSchema, slackUserSearchSlackParamsSchema, slackUserSearchSlackOutputSchema, slackUserSearchSlackRTSParamsSchema, slackUserSearchSlackRTSOutputSchema, oktaOrgGetOktaUserByNameParamsSchema, oktaOrgGetOktaUserByNameOutputSchema, googleSearchCustomSearchParamsSchema, googleSearchCustomSearchOutputSchema, salesforceSearchAllSalesforceRecordsParamsSchema, salesforceSearchAllSalesforceRecordsOutputSchema, salesforceListReportsParamsSchema, salesforceListReportsOutputSchema, salesforceExecuteReportParamsSchema, salesforceExecuteReportOutputSchema, slackSendDmFromBotParamsSchema, slackSendDmFromBotOutputSchema, slackGetChannelMembersParamsSchema, slackGetChannelMembersOutputSchema, salesforceGetReportMetadataParamsSchema, salesforceGetReportMetadataOutputSchema, googleOauthUpdateRowsInSpreadsheetParamsSchema, googleOauthUpdateRowsInSpreadsheetOutputSchema, } from "./autogen/types.js";
|
|
2
2
|
import validateAddress from "./providers/googlemaps/validateAddress.js";
|
|
3
3
|
import add from "./providers/math/add.js";
|
|
4
4
|
import fillTemplate from "./providers/generic/fillTemplate.js";
|
|
@@ -53,6 +53,7 @@ import updateCalendarEvent from "./providers/google-oauth/updateCalendarEvent.js
|
|
|
53
53
|
import deleteCalendarEvent from "./providers/google-oauth/deleteCalendarEvent.js";
|
|
54
54
|
import editAGoogleCalendarEvent from "./providers/google-oauth/editAGoogleCalendarEvent.js";
|
|
55
55
|
import createSpreadsheet from "./providers/google-oauth/createSpreadsheet.js";
|
|
56
|
+
import getSpreadsheetMetadata from "./providers/google-oauth/getSpreadsheetMetadata.js";
|
|
56
57
|
import updateSpreadsheet from "./providers/google-oauth/updateSpreadsheet.js";
|
|
57
58
|
import appendRowsToSpreadsheet from "./providers/google-oauth/appendRowsToSpreadsheet.js";
|
|
58
59
|
import deleteRowFromSpreadsheet from "./providers/google-oauth/deleteRowFromSpreadsheet.js";
|
|
@@ -590,6 +591,12 @@ export const ActionMapper = {
|
|
|
590
591
|
outputSchema: googleOauthCreateSpreadsheetOutputSchema,
|
|
591
592
|
actionType: "write",
|
|
592
593
|
},
|
|
594
|
+
getSpreadsheetMetadata: {
|
|
595
|
+
fn: getSpreadsheetMetadata,
|
|
596
|
+
paramsSchema: googleOauthGetSpreadsheetMetadataParamsSchema,
|
|
597
|
+
outputSchema: googleOauthGetSpreadsheetMetadataOutputSchema,
|
|
598
|
+
actionType: "read",
|
|
599
|
+
},
|
|
593
600
|
updateSpreadsheet: {
|
|
594
601
|
fn: updateSpreadsheet,
|
|
595
602
|
paramsSchema: googleOauthUpdateSpreadsheetParamsSchema,
|
|
@@ -93,6 +93,7 @@ export declare const googleOauthUpdateCalendarEventDefinition: ActionTemplate;
|
|
|
93
93
|
export declare const googleOauthEditAGoogleCalendarEventDefinition: ActionTemplate;
|
|
94
94
|
export declare const googleOauthDeleteCalendarEventDefinition: ActionTemplate;
|
|
95
95
|
export declare const googleOauthCreateSpreadsheetDefinition: ActionTemplate;
|
|
96
|
+
export declare const googleOauthGetSpreadsheetMetadataDefinition: ActionTemplate;
|
|
96
97
|
export declare const googleOauthUpdateSpreadsheetDefinition: ActionTemplate;
|
|
97
98
|
export declare const googleOauthAppendRowsToSpreadsheetDefinition: ActionTemplate;
|
|
98
99
|
export declare const googleOauthDeleteRowFromSpreadsheetDefinition: ActionTemplate;
|
|
@@ -714,6 +714,10 @@ export const slackSendMessageDefinition = {
|
|
|
714
714
|
type: "string",
|
|
715
715
|
description: "The message content to send to Slack. Can include markdown formatting.",
|
|
716
716
|
},
|
|
717
|
+
unfurlLinks: {
|
|
718
|
+
type: "boolean",
|
|
719
|
+
description: "Whether to enable unfurling of links in the message (defaults to true)",
|
|
720
|
+
},
|
|
717
721
|
},
|
|
718
722
|
},
|
|
719
723
|
output: {
|
|
@@ -7063,6 +7067,72 @@ export const googleOauthCreateSpreadsheetDefinition = {
|
|
|
7063
7067
|
name: "createSpreadsheet",
|
|
7064
7068
|
provider: "googleOauth",
|
|
7065
7069
|
};
|
|
7070
|
+
export const googleOauthGetSpreadsheetMetadataDefinition = {
|
|
7071
|
+
displayName: "Get spreadsheet metadata",
|
|
7072
|
+
description: "Get lightweight metadata for an existing Google Spreadsheet including sheet IDs and titles",
|
|
7073
|
+
scopes: [],
|
|
7074
|
+
tags: [],
|
|
7075
|
+
parameters: {
|
|
7076
|
+
type: "object",
|
|
7077
|
+
required: ["spreadsheetId"],
|
|
7078
|
+
properties: {
|
|
7079
|
+
spreadsheetId: {
|
|
7080
|
+
type: "string",
|
|
7081
|
+
description: "The ID of the Google Spreadsheet to fetch metadata for",
|
|
7082
|
+
tags: ["recommend-predefined"],
|
|
7083
|
+
},
|
|
7084
|
+
},
|
|
7085
|
+
},
|
|
7086
|
+
output: {
|
|
7087
|
+
type: "object",
|
|
7088
|
+
required: ["success"],
|
|
7089
|
+
properties: {
|
|
7090
|
+
success: {
|
|
7091
|
+
type: "boolean",
|
|
7092
|
+
description: "Whether spreadsheet metadata was fetched successfully",
|
|
7093
|
+
},
|
|
7094
|
+
spreadsheetId: {
|
|
7095
|
+
type: "string",
|
|
7096
|
+
description: "The spreadsheet ID",
|
|
7097
|
+
},
|
|
7098
|
+
spreadsheetTitle: {
|
|
7099
|
+
type: "string",
|
|
7100
|
+
description: "The spreadsheet title",
|
|
7101
|
+
},
|
|
7102
|
+
sheets: {
|
|
7103
|
+
type: "array",
|
|
7104
|
+
description: "The list of sheets in the spreadsheet",
|
|
7105
|
+
items: {
|
|
7106
|
+
type: "object",
|
|
7107
|
+
properties: {
|
|
7108
|
+
sheetId: {
|
|
7109
|
+
type: "number",
|
|
7110
|
+
description: "The ID of the sheet",
|
|
7111
|
+
},
|
|
7112
|
+
title: {
|
|
7113
|
+
type: "string",
|
|
7114
|
+
description: "The sheet title",
|
|
7115
|
+
},
|
|
7116
|
+
index: {
|
|
7117
|
+
type: "number",
|
|
7118
|
+
description: "The sheet index",
|
|
7119
|
+
},
|
|
7120
|
+
gid: {
|
|
7121
|
+
type: "number",
|
|
7122
|
+
description: "The gid used in Google Sheets URLs (same value as sheetId)",
|
|
7123
|
+
},
|
|
7124
|
+
},
|
|
7125
|
+
},
|
|
7126
|
+
},
|
|
7127
|
+
error: {
|
|
7128
|
+
type: "string",
|
|
7129
|
+
description: "The error that occurred if metadata retrieval failed",
|
|
7130
|
+
},
|
|
7131
|
+
},
|
|
7132
|
+
},
|
|
7133
|
+
name: "getSpreadsheetMetadata",
|
|
7134
|
+
provider: "googleOauth",
|
|
7135
|
+
};
|
|
7066
7136
|
export const googleOauthUpdateSpreadsheetDefinition = {
|
|
7067
7137
|
displayName: "Update a spreadsheet",
|
|
7068
7138
|
description: "Update a Google Spreadsheet with new content specified",
|
|
@@ -102,6 +102,7 @@ export declare enum ActionName {
|
|
|
102
102
|
EDITAGOOGLECALENDAREVENT = "editAGoogleCalendarEvent",
|
|
103
103
|
DELETECALENDAREVENT = "deleteCalendarEvent",
|
|
104
104
|
CREATESPREADSHEET = "createSpreadsheet",
|
|
105
|
+
GETSPREADSHEETMETADATA = "getSpreadsheetMetadata",
|
|
105
106
|
UPDATESPREADSHEET = "updateSpreadsheet",
|
|
106
107
|
APPENDROWSTOSPREADSHEET = "appendRowsToSpreadsheet",
|
|
107
108
|
DELETEROWFROMSPREADSHEET = "deleteRowFromSpreadsheet",
|
|
@@ -968,14 +969,17 @@ export declare const slackSendMessageParamsSchema: z.ZodObject<{
|
|
|
968
969
|
channelId: z.ZodOptional<z.ZodString>;
|
|
969
970
|
channelName: z.ZodOptional<z.ZodString>;
|
|
970
971
|
message: z.ZodString;
|
|
972
|
+
unfurlLinks: z.ZodOptional<z.ZodBoolean>;
|
|
971
973
|
}, "strip", z.ZodTypeAny, {
|
|
972
974
|
message: string;
|
|
973
975
|
channelId?: string | undefined;
|
|
974
976
|
channelName?: string | undefined;
|
|
977
|
+
unfurlLinks?: boolean | undefined;
|
|
975
978
|
}, {
|
|
976
979
|
message: string;
|
|
977
980
|
channelId?: string | undefined;
|
|
978
981
|
channelName?: string | undefined;
|
|
982
|
+
unfurlLinks?: boolean | undefined;
|
|
979
983
|
}>;
|
|
980
984
|
export type slackSendMessageParamsType = z.infer<typeof slackSendMessageParamsSchema>;
|
|
981
985
|
export declare const slackSendMessageOutputSchema: z.ZodObject<{
|
|
@@ -5742,6 +5746,60 @@ export declare const googleOauthCreateSpreadsheetOutputSchema: z.ZodObject<{
|
|
|
5742
5746
|
}>;
|
|
5743
5747
|
export type googleOauthCreateSpreadsheetOutputType = z.infer<typeof googleOauthCreateSpreadsheetOutputSchema>;
|
|
5744
5748
|
export type googleOauthCreateSpreadsheetFunction = ActionFunction<googleOauthCreateSpreadsheetParamsType, AuthParamsType, googleOauthCreateSpreadsheetOutputType>;
|
|
5749
|
+
export declare const googleOauthGetSpreadsheetMetadataParamsSchema: z.ZodObject<{
|
|
5750
|
+
spreadsheetId: z.ZodString;
|
|
5751
|
+
}, "strip", z.ZodTypeAny, {
|
|
5752
|
+
spreadsheetId: string;
|
|
5753
|
+
}, {
|
|
5754
|
+
spreadsheetId: string;
|
|
5755
|
+
}>;
|
|
5756
|
+
export type googleOauthGetSpreadsheetMetadataParamsType = z.infer<typeof googleOauthGetSpreadsheetMetadataParamsSchema>;
|
|
5757
|
+
export declare const googleOauthGetSpreadsheetMetadataOutputSchema: z.ZodObject<{
|
|
5758
|
+
success: z.ZodBoolean;
|
|
5759
|
+
spreadsheetId: z.ZodOptional<z.ZodString>;
|
|
5760
|
+
spreadsheetTitle: z.ZodOptional<z.ZodString>;
|
|
5761
|
+
sheets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5762
|
+
sheetId: z.ZodOptional<z.ZodNumber>;
|
|
5763
|
+
title: z.ZodOptional<z.ZodString>;
|
|
5764
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
5765
|
+
gid: z.ZodOptional<z.ZodNumber>;
|
|
5766
|
+
}, "strip", z.ZodTypeAny, {
|
|
5767
|
+
title?: string | undefined;
|
|
5768
|
+
index?: number | undefined;
|
|
5769
|
+
sheetId?: number | undefined;
|
|
5770
|
+
gid?: number | undefined;
|
|
5771
|
+
}, {
|
|
5772
|
+
title?: string | undefined;
|
|
5773
|
+
index?: number | undefined;
|
|
5774
|
+
sheetId?: number | undefined;
|
|
5775
|
+
gid?: number | undefined;
|
|
5776
|
+
}>, "many">>;
|
|
5777
|
+
error: z.ZodOptional<z.ZodString>;
|
|
5778
|
+
}, "strip", z.ZodTypeAny, {
|
|
5779
|
+
success: boolean;
|
|
5780
|
+
error?: string | undefined;
|
|
5781
|
+
sheets?: {
|
|
5782
|
+
title?: string | undefined;
|
|
5783
|
+
index?: number | undefined;
|
|
5784
|
+
sheetId?: number | undefined;
|
|
5785
|
+
gid?: number | undefined;
|
|
5786
|
+
}[] | undefined;
|
|
5787
|
+
spreadsheetId?: string | undefined;
|
|
5788
|
+
spreadsheetTitle?: string | undefined;
|
|
5789
|
+
}, {
|
|
5790
|
+
success: boolean;
|
|
5791
|
+
error?: string | undefined;
|
|
5792
|
+
sheets?: {
|
|
5793
|
+
title?: string | undefined;
|
|
5794
|
+
index?: number | undefined;
|
|
5795
|
+
sheetId?: number | undefined;
|
|
5796
|
+
gid?: number | undefined;
|
|
5797
|
+
}[] | undefined;
|
|
5798
|
+
spreadsheetId?: string | undefined;
|
|
5799
|
+
spreadsheetTitle?: string | undefined;
|
|
5800
|
+
}>;
|
|
5801
|
+
export type googleOauthGetSpreadsheetMetadataOutputType = z.infer<typeof googleOauthGetSpreadsheetMetadataOutputSchema>;
|
|
5802
|
+
export type googleOauthGetSpreadsheetMetadataFunction = ActionFunction<googleOauthGetSpreadsheetMetadataParamsType, AuthParamsType, googleOauthGetSpreadsheetMetadataOutputType>;
|
|
5745
5803
|
export declare const googleOauthUpdateSpreadsheetParamsSchema: z.ZodObject<{
|
|
5746
5804
|
spreadsheetId: z.ZodString;
|
|
5747
5805
|
requests: z.ZodArray<z.ZodIntersection<z.ZodObject<{}, "strip", z.ZodAny, z.objectOutputType<{}, z.ZodAny, "strip">, z.objectInputType<{}, z.ZodAny, "strip">>, z.ZodEffects<z.ZodAny, any, any>>, "many">;
|
|
@@ -104,6 +104,7 @@ export var ActionName;
|
|
|
104
104
|
ActionName["EDITAGOOGLECALENDAREVENT"] = "editAGoogleCalendarEvent";
|
|
105
105
|
ActionName["DELETECALENDAREVENT"] = "deleteCalendarEvent";
|
|
106
106
|
ActionName["CREATESPREADSHEET"] = "createSpreadsheet";
|
|
107
|
+
ActionName["GETSPREADSHEETMETADATA"] = "getSpreadsheetMetadata";
|
|
107
108
|
ActionName["UPDATESPREADSHEET"] = "updateSpreadsheet";
|
|
108
109
|
ActionName["APPENDROWSTOSPREADSHEET"] = "appendRowsToSpreadsheet";
|
|
109
110
|
ActionName["DELETEROWFROMSPREADSHEET"] = "deleteRowFromSpreadsheet";
|
|
@@ -400,6 +401,10 @@ export const slackSendMessageParamsSchema = z.object({
|
|
|
400
401
|
.describe("The name of the Slack channel to send the message to (e.g. general, alerts)")
|
|
401
402
|
.optional(),
|
|
402
403
|
message: z.string().describe("The message content to send to Slack. Can include markdown formatting."),
|
|
404
|
+
unfurlLinks: z
|
|
405
|
+
.boolean()
|
|
406
|
+
.describe("Whether to enable unfurling of links in the message (defaults to true)")
|
|
407
|
+
.optional(),
|
|
403
408
|
});
|
|
404
409
|
export const slackSendMessageOutputSchema = z.object({
|
|
405
410
|
success: z.boolean().describe("Whether the message was sent successfully"),
|
|
@@ -2538,6 +2543,24 @@ export const googleOauthCreateSpreadsheetOutputSchema = z.object({
|
|
|
2538
2543
|
.optional(),
|
|
2539
2544
|
error: z.string().describe("The error that occurred if the spreadsheet was not created successfully").optional(),
|
|
2540
2545
|
});
|
|
2546
|
+
export const googleOauthGetSpreadsheetMetadataParamsSchema = z.object({
|
|
2547
|
+
spreadsheetId: z.string().describe("The ID of the Google Spreadsheet to fetch metadata for"),
|
|
2548
|
+
});
|
|
2549
|
+
export const googleOauthGetSpreadsheetMetadataOutputSchema = z.object({
|
|
2550
|
+
success: z.boolean().describe("Whether spreadsheet metadata was fetched successfully"),
|
|
2551
|
+
spreadsheetId: z.string().describe("The spreadsheet ID").optional(),
|
|
2552
|
+
spreadsheetTitle: z.string().describe("The spreadsheet title").optional(),
|
|
2553
|
+
sheets: z
|
|
2554
|
+
.array(z.object({
|
|
2555
|
+
sheetId: z.number().describe("The ID of the sheet").optional(),
|
|
2556
|
+
title: z.string().describe("The sheet title").optional(),
|
|
2557
|
+
index: z.number().describe("The sheet index").optional(),
|
|
2558
|
+
gid: z.number().describe("The gid used in Google Sheets URLs (same value as sheetId)").optional(),
|
|
2559
|
+
}))
|
|
2560
|
+
.describe("The list of sheets in the spreadsheet")
|
|
2561
|
+
.optional(),
|
|
2562
|
+
error: z.string().describe("The error that occurred if metadata retrieval failed").optional(),
|
|
2563
|
+
});
|
|
2541
2564
|
export const googleOauthUpdateSpreadsheetParamsSchema = z.object({
|
|
2542
2565
|
spreadsheetId: z.string().describe("The ID of the Google Spreadsheet to update"),
|
|
2543
2566
|
requests: z
|
|
@@ -0,0 +1,251 @@
|
|
|
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, googleOauthSearchDriveByQueryAndGetFileContentDefinition, githubGetFileContentDefinition, githubListDirectoryDefinition, } 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
|
+
googleOauthSearchDriveByQueryAndGetFileContentDefinition,
|
|
51
|
+
googleOauthGetDriveFileContentByIdDefinition,
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
GOOGLE_CALENDAR: {
|
|
55
|
+
description: "Actions for interacting with Google Calendar",
|
|
56
|
+
actions: [
|
|
57
|
+
googleOauthScheduleCalendarMeetingDefinition,
|
|
58
|
+
googleOauthListCalendarsDefinition,
|
|
59
|
+
googleOauthListCalendarEventsDefinition,
|
|
60
|
+
googleOauthUpdateCalendarEventDefinition,
|
|
61
|
+
googleOauthDeleteCalendarEventDefinition,
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
GMAIL: {
|
|
65
|
+
description: "Actions for interacting with Gmail",
|
|
66
|
+
actions: [googlemailSearchGmailMessagesDefinition, googlemailListGmailThreadsDefinition],
|
|
67
|
+
},
|
|
68
|
+
LINKEDIN_SHARE_POST: {
|
|
69
|
+
description: "Action for creating a share post url on linkedin",
|
|
70
|
+
actions: [linkedinCreateShareLinkedinPostUrlDefinition],
|
|
71
|
+
},
|
|
72
|
+
ZENDESK_ACTIONS: {
|
|
73
|
+
description: "Actions for interacting with Zendesk",
|
|
74
|
+
actions: [
|
|
75
|
+
zendeskCreateZendeskTicketDefinition,
|
|
76
|
+
zendeskListZendeskTicketsDefinition,
|
|
77
|
+
zendeskGetTicketDetailsDefinition,
|
|
78
|
+
zendeskUpdateTicketStatusDefinition,
|
|
79
|
+
zendeskAddCommentToTicketDefinition,
|
|
80
|
+
zendeskAssignTicketDefinition,
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
BING_SEARCH: {
|
|
84
|
+
description: "Action for searching Bing",
|
|
85
|
+
actions: [bingGetTopNSearchResultUrlsDefinition],
|
|
86
|
+
},
|
|
87
|
+
MONGO_INSERT_DOC: {
|
|
88
|
+
description: "Action for inserting a document into a MongoDB collection",
|
|
89
|
+
actions: [mongoInsertMongoDocDefinition],
|
|
90
|
+
},
|
|
91
|
+
SNOWFLAKE_ACTIONS: {
|
|
92
|
+
description: "Action for getting content from a Snowflake table",
|
|
93
|
+
actions: [snowflakeGetRowByFieldValueDefinition, snowflakeRunSnowflakeQueryDefinition],
|
|
94
|
+
},
|
|
95
|
+
JIRA_ACTIONS: {
|
|
96
|
+
description: "Action for interacting with Jira tickets",
|
|
97
|
+
actions: [
|
|
98
|
+
jiraAssignJiraTicketDefinition,
|
|
99
|
+
jiraCreateJiraTicketDefinition,
|
|
100
|
+
jiraCommentJiraTicketDefinition,
|
|
101
|
+
jiraGetJiraTicketDetailsDefinition,
|
|
102
|
+
jiraGetJiraTicketHistoryDefinition,
|
|
103
|
+
jiraUpdateJiraTicketDetailsDefinition,
|
|
104
|
+
jiraUpdateJiraTicketStatusDefinition,
|
|
105
|
+
jiraGetJiraIssuesByQueryDefinition,
|
|
106
|
+
jiraGetServiceDesksDefinition,
|
|
107
|
+
jiraCreateServiceDeskRequestDefinition,
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
JIRA_ORG_ACTIONS: {
|
|
111
|
+
description: "Action for interacting with Jira tickets",
|
|
112
|
+
actions: [
|
|
113
|
+
jiraOrgAssignJiraTicketDefinition,
|
|
114
|
+
jiraOrgCreateJiraTicketDefinition,
|
|
115
|
+
jiraOrgCommentJiraTicketDefinition,
|
|
116
|
+
jiraOrgGetJiraTicketDetailsDefinition,
|
|
117
|
+
jiraOrgGetJiraTicketHistoryDefinition,
|
|
118
|
+
jiraOrgUpdateJiraTicketDetailsDefinition,
|
|
119
|
+
jiraOrgUpdateJiraTicketStatusDefinition,
|
|
120
|
+
jiraOrgGetJiraIssuesByQueryDefinition,
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
OPENSTREETMAP_GET_LATITUDE_LONGITUDE_FROM_LOCATION: {
|
|
124
|
+
description: "Action for getting the latitude and longitude of a location",
|
|
125
|
+
actions: [openstreetmapGetLatitudeLongitudeFromLocationDefinition],
|
|
126
|
+
},
|
|
127
|
+
NWS_GET_FORECAST_FOR_LOCATION: {
|
|
128
|
+
description: "Action for getting the weather forecast for a location",
|
|
129
|
+
actions: [nwsGetForecastForLocationDefinition],
|
|
130
|
+
},
|
|
131
|
+
FIRECRAWL: {
|
|
132
|
+
description: "Actions for interacting with Firecrawl",
|
|
133
|
+
actions: [
|
|
134
|
+
firecrawlScrapeUrlDefinition,
|
|
135
|
+
firecrawlScrapeTweetDataWithNitterDefinition,
|
|
136
|
+
firecrawlDeepResearchDefinition,
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
RESEND: {
|
|
140
|
+
description: "Action for sending an email",
|
|
141
|
+
actions: [resendSendEmailDefinition],
|
|
142
|
+
},
|
|
143
|
+
X: {
|
|
144
|
+
description: "Actions for interacting with X(formerly twitter)",
|
|
145
|
+
actions: [xCreateShareXPostUrlDefinition],
|
|
146
|
+
},
|
|
147
|
+
GONG: {
|
|
148
|
+
description: "Actions for interacting with Gong",
|
|
149
|
+
actions: [gongGetGongTranscriptsDefinition],
|
|
150
|
+
},
|
|
151
|
+
FINNHUB: {
|
|
152
|
+
description: "Action for interacting with Finnhub for stock market data",
|
|
153
|
+
actions: [finnhubSymbolLookupDefinition, finnhubGetBasicFinancialsDefinition],
|
|
154
|
+
},
|
|
155
|
+
JAMF: {
|
|
156
|
+
description: "Actions for interacting with Jamf",
|
|
157
|
+
actions: [
|
|
158
|
+
jamfGetJamfComputerInventoryDefinition,
|
|
159
|
+
jamfGetJamfFileVaultRecoveryKeyDefinition,
|
|
160
|
+
jamfGetJamfUserComputerIdDefinition,
|
|
161
|
+
jamfLockJamfComputerByIdDefinition,
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
LOOKER: {
|
|
165
|
+
description: "Actions for interacting with Looker",
|
|
166
|
+
actions: [lookerEnableUserByEmailDefinition],
|
|
167
|
+
},
|
|
168
|
+
SALESFORCE: {
|
|
169
|
+
description: "Actions for interacting with Salesforce",
|
|
170
|
+
actions: [
|
|
171
|
+
salesforceUpdateRecordDefinition,
|
|
172
|
+
salesforceCreateRecordDefinition,
|
|
173
|
+
salesforceCreateCaseDefinition,
|
|
174
|
+
salesforceGenerateSalesReportDefinition,
|
|
175
|
+
salesforceGetRecordDefinition,
|
|
176
|
+
salesforceGetSalesforceRecordsByQueryDefinition,
|
|
177
|
+
salesforceFetchSalesforceSchemaByObjectDefinition,
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
MICROSOFT: {
|
|
181
|
+
description: "Actions for interacting with Microsoft 365",
|
|
182
|
+
actions: [
|
|
183
|
+
microsoftMessageTeamsChatDefinition,
|
|
184
|
+
microsoftMessageTeamsChannelDefinition,
|
|
185
|
+
microsoftUpdateSpreadsheetDefinition,
|
|
186
|
+
microsoftUpdateDocumentDefinition,
|
|
187
|
+
microsoftCreateDocumentDefinition,
|
|
188
|
+
microsoftGetDocumentDefinition,
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
KANDJI: {
|
|
192
|
+
description: "Actions for interacting with Kandji",
|
|
193
|
+
actions: [kandjiGetFVRecoveryKeyForDeviceDefinition],
|
|
194
|
+
},
|
|
195
|
+
GITHUB: {
|
|
196
|
+
description: "Actions for interacting with GitHub",
|
|
197
|
+
actions: [
|
|
198
|
+
githubCreateOrUpdateFileDefinition,
|
|
199
|
+
githubCreateBranchDefinition,
|
|
200
|
+
githubCreatePullRequestDefinition,
|
|
201
|
+
githubListPullRequestsDefinition,
|
|
202
|
+
githubGetFileContentDefinition,
|
|
203
|
+
githubListDirectoryDefinition,
|
|
204
|
+
],
|
|
205
|
+
},
|
|
206
|
+
ASHBY: {
|
|
207
|
+
description: "Actions for interacting with Ashby",
|
|
208
|
+
actions: [
|
|
209
|
+
ashbyCreateNoteDefinition,
|
|
210
|
+
ashbyGetCandidateInfoDefinition,
|
|
211
|
+
ashbyListCandidatesDefinition,
|
|
212
|
+
ashbyListCandidateNotesDefinition,
|
|
213
|
+
ashbySearchCandidatesDefinition,
|
|
214
|
+
ashbyCreateCandidateDefinition,
|
|
215
|
+
ashbyUpdateCandidateDefinition,
|
|
216
|
+
ashbyAddCandidateToProjectDefinition,
|
|
217
|
+
],
|
|
218
|
+
},
|
|
219
|
+
NOTION: {
|
|
220
|
+
description: "Actions for interacting with Notion",
|
|
221
|
+
actions: [notionSearchByTitleDefinition],
|
|
222
|
+
},
|
|
223
|
+
GOOGLE_GROUPS: {
|
|
224
|
+
description: "Google Workspace Groups management actions",
|
|
225
|
+
actions: [
|
|
226
|
+
googleOauthListGroupsDefinition,
|
|
227
|
+
googleOauthGetGroupDefinition,
|
|
228
|
+
googleOauthListGroupMembersDefinition,
|
|
229
|
+
googleOauthHasGroupMemberDefinition,
|
|
230
|
+
googleOauthAddGroupMemberDefinition,
|
|
231
|
+
googleOauthDeleteGroupMemberDefinition,
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
OKTA: {
|
|
235
|
+
description: "Actions for interacting with Okta",
|
|
236
|
+
actions: [
|
|
237
|
+
oktaListOktaUsersDefinition,
|
|
238
|
+
oktaGetOktaUserDefinition,
|
|
239
|
+
oktaListOktaUserGroupsDefinition,
|
|
240
|
+
oktaListOktaGroupsDefinition,
|
|
241
|
+
oktaGetOktaGroupDefinition,
|
|
242
|
+
oktaListOktaGroupMembersDefinition,
|
|
243
|
+
oktaRemoveUserFromGroupDefinition,
|
|
244
|
+
oktaAddUserToGroupDefinition,
|
|
245
|
+
oktaResetPasswordDefinition,
|
|
246
|
+
oktaResetMFADefinition,
|
|
247
|
+
oktaListMFADefinition,
|
|
248
|
+
oktaTriggerOktaWorkflowDefinition,
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
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 { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
11
|
+
// Limits on the number of results to return
|
|
12
|
+
const MAX_CODE_RESULTS = 15;
|
|
13
|
+
const MAX_COMMITS = 10;
|
|
14
|
+
const MAX_FILES_PER_COMMIT = 5;
|
|
15
|
+
const MAX_ISSUES_OR_PRS = 10;
|
|
16
|
+
const MAX_FILES_PER_PR = 5;
|
|
17
|
+
const MAX_PATCH_LINES = 20;
|
|
18
|
+
const MAX_FRAGMENT_LINES = 20;
|
|
19
|
+
const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
20
|
+
const { Octokit } = yield import("octokit");
|
|
21
|
+
if (!authParams.authToken) {
|
|
22
|
+
throw new Error(MISSING_AUTH_TOKEN);
|
|
23
|
+
}
|
|
24
|
+
const octokit = new Octokit({ auth: authParams.authToken });
|
|
25
|
+
const { organization, repository, query } = params;
|
|
26
|
+
// Search CODE with text match metadata
|
|
27
|
+
const codeResultsResponse = yield octokit.rest.search.code({
|
|
28
|
+
q: `${query} in:file,path repo:${organization}/${repository}`,
|
|
29
|
+
text_match: true,
|
|
30
|
+
headers: {
|
|
31
|
+
accept: "application/vnd.github.v3.text-match+json",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const codeResults = codeResultsResponse.data.items.slice(0, MAX_CODE_RESULTS).map(item => ({
|
|
35
|
+
name: item.name,
|
|
36
|
+
path: item.path,
|
|
37
|
+
sha: item.sha,
|
|
38
|
+
url: item.url,
|
|
39
|
+
repository: {
|
|
40
|
+
full_name: item.repository.full_name,
|
|
41
|
+
html_url: item.repository.html_url,
|
|
42
|
+
},
|
|
43
|
+
score: item.score,
|
|
44
|
+
textMatches: item.text_matches
|
|
45
|
+
? item.text_matches.map(match => {
|
|
46
|
+
var _a, _b, _c, _d;
|
|
47
|
+
return ({
|
|
48
|
+
object_url: (_a = match.object_url) !== null && _a !== void 0 ? _a : undefined,
|
|
49
|
+
object_type: (_b = match.object_type) !== null && _b !== void 0 ? _b : undefined,
|
|
50
|
+
fragment: (_c = match.fragment) === null || _c === void 0 ? void 0 : _c.split("\n").slice(0, MAX_FRAGMENT_LINES).join("\n"),
|
|
51
|
+
matches: (_d = match.matches) !== null && _d !== void 0 ? _d : [],
|
|
52
|
+
});
|
|
53
|
+
})
|
|
54
|
+
: [],
|
|
55
|
+
}));
|
|
56
|
+
// Search COMMITS
|
|
57
|
+
const commitResults = yield octokit.rest.search.commits({
|
|
58
|
+
q: `${query} repo:${organization}/${repository}`,
|
|
59
|
+
headers: {
|
|
60
|
+
accept: "application/vnd.github.cloak-preview+json",
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
const commitSHAs = commitResults.data.items.slice(0, MAX_COMMITS).map(item => item.sha);
|
|
64
|
+
const commitDetails = yield Promise.all(commitSHAs.map(sha => octokit.rest.repos.getCommit({ owner: organization, repo: repository, ref: sha })));
|
|
65
|
+
const enrichedCommits = commitResults.data.items.slice(0, MAX_COMMITS).map(item => {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
const full = commitDetails.find(c => c.data.sha === item.sha);
|
|
68
|
+
return {
|
|
69
|
+
sha: item.sha,
|
|
70
|
+
url: item.url,
|
|
71
|
+
commit: {
|
|
72
|
+
message: item.commit.message,
|
|
73
|
+
author: item.commit.author,
|
|
74
|
+
},
|
|
75
|
+
score: item.score,
|
|
76
|
+
author: (_a = item.author) !== null && _a !== void 0 ? _a : undefined,
|
|
77
|
+
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 => {
|
|
78
|
+
var _a;
|
|
79
|
+
return ({
|
|
80
|
+
filename: f.filename,
|
|
81
|
+
status: f.status,
|
|
82
|
+
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
83
|
+
});
|
|
84
|
+
})) || [],
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
// Search ISSUES & PRs
|
|
88
|
+
const issueResults = yield octokit.rest.search.issuesAndPullRequests({
|
|
89
|
+
q: `${query} repo:${organization}/${repository}`,
|
|
90
|
+
});
|
|
91
|
+
const prItems = issueResults.data.items.filter(item => item.pull_request).slice(0, MAX_ISSUES_OR_PRS);
|
|
92
|
+
const prNumbers = prItems.map(item => item.number);
|
|
93
|
+
const prFiles = yield Promise.all(prNumbers.map(number => octokit.rest.pulls.listFiles({ owner: organization, repo: repository, pull_number: number })));
|
|
94
|
+
const issuesAndPRs = issueResults.data.items
|
|
95
|
+
.slice(0, MAX_ISSUES_OR_PRS)
|
|
96
|
+
.map(item => {
|
|
97
|
+
var _a, _b, _c, _d;
|
|
98
|
+
const isPR = !!item.pull_request;
|
|
99
|
+
const prIndex = prNumbers.indexOf(item.number);
|
|
100
|
+
const files = isPR && prIndex !== -1
|
|
101
|
+
? prFiles[prIndex].data.slice(0, MAX_FILES_PER_PR).map(f => {
|
|
102
|
+
var _a;
|
|
103
|
+
return ({
|
|
104
|
+
filename: f.filename,
|
|
105
|
+
status: f.status,
|
|
106
|
+
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
107
|
+
});
|
|
108
|
+
})
|
|
109
|
+
: undefined;
|
|
110
|
+
return {
|
|
111
|
+
number: item.number,
|
|
112
|
+
title: item.title,
|
|
113
|
+
html_url: item.html_url,
|
|
114
|
+
state: item.state,
|
|
115
|
+
isPullRequest: isPR,
|
|
116
|
+
body: item.body,
|
|
117
|
+
user: {
|
|
118
|
+
email: (_b = (_a = item.user) === null || _a === void 0 ? void 0 : _a.email) !== null && _b !== void 0 ? _b : undefined,
|
|
119
|
+
name: (_d = (_c = item.user) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : undefined,
|
|
120
|
+
},
|
|
121
|
+
score: item.score,
|
|
122
|
+
files,
|
|
123
|
+
};
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
code: codeResults,
|
|
127
|
+
commits: enrichedCommits,
|
|
128
|
+
issuesAndPullRequests: issuesAndPRs,
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
export default searchRepository;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
11
|
+
// Limits on the number of results to return
|
|
12
|
+
const MAX_CODE_RESULTS = 15;
|
|
13
|
+
const MAX_COMMITS = 10;
|
|
14
|
+
const MAX_FILES_PER_COMMIT = 5;
|
|
15
|
+
const MAX_ISSUES_OR_PRS = 10;
|
|
16
|
+
const MAX_FILES_PER_PR = 5;
|
|
17
|
+
const MAX_PATCH_LINES = 20;
|
|
18
|
+
const MAX_FRAGMENT_LINES = 20;
|
|
19
|
+
const searchRepository = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
20
|
+
const { Octokit } = yield import("octokit");
|
|
21
|
+
if (!authParams.authToken) {
|
|
22
|
+
throw new Error(MISSING_AUTH_TOKEN);
|
|
23
|
+
}
|
|
24
|
+
const octokit = new Octokit({ auth: authParams.authToken });
|
|
25
|
+
const { organization, repository, query } = params;
|
|
26
|
+
// Search CODE with text match metadata
|
|
27
|
+
const codeResultsResponse = yield octokit.rest.search.code({
|
|
28
|
+
q: `${query} in:file,path repo:${organization}/${repository}`,
|
|
29
|
+
text_match: true,
|
|
30
|
+
headers: {
|
|
31
|
+
accept: "application/vnd.github.v3.text-match+json",
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const commitResults = yield octokit.rest.repos.getCommit({ owner: organization, repo: repository, ref: sha });
|
|
35
|
+
return {
|
|
36
|
+
code: codeResults,
|
|
37
|
+
commits: enrichedCommits,
|
|
38
|
+
issuesAndPullRequests: issuesAndPRs,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
export default searchRepository;
|
|
@@ -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.html_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.html_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, _b, _c;
|
|
80
80
|
return ({
|
|
81
81
|
filename: f.filename,
|
|
82
82
|
status: f.status,
|
|
83
|
-
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
83
|
+
patch: (_c = (_b = (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n")) === null || _b === void 0 ? void 0 : _b.slice(0, MAX_PATCH_LINES)) === null || _c === void 0 ? void 0 : _c.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, _b, _c;
|
|
108
108
|
return ({
|
|
109
109
|
filename: f.filename,
|
|
110
110
|
status: f.status,
|
|
111
|
-
patch: (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n").slice(0, MAX_PATCH_LINES).join("\n"),
|
|
111
|
+
patch: (_c = (_b = (_a = f.patch) === null || _a === void 0 ? void 0 : _a.split("\n")) === null || _b === void 0 ? void 0 : _b.slice(0, MAX_PATCH_LINES)) === null || _c === void 0 ? void 0 : _c.join("\n"),
|
|
112
112
|
});
|
|
113
113
|
})
|
|
114
114
|
: undefined;
|
|
115
115
|
return {
|
|
116
116
|
number: item.number,
|
|
117
117
|
title: item.title,
|
|
118
|
-
|
|
118
|
+
url: item.html_url,
|
|
119
119
|
state: item.state,
|
|
120
120
|
isPullRequest: isPR,
|
|
121
121
|
body: item.body,
|
|
@@ -2,8 +2,7 @@ import { createAxiosClientWithTimeout } from "../../util/axiosClient.js";
|
|
|
2
2
|
import mammoth from "mammoth";
|
|
3
3
|
import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
4
4
|
import { extractTextFromPdf } from "../../../utils/pdf.js";
|
|
5
|
-
import { getGoogleDocContent, getGoogleSheetContent, getGoogleSlidesContent } from "../../../utils/google.js";
|
|
6
|
-
import { read, utils } from "xlsx";
|
|
5
|
+
import { getGoogleDocContent, getGoogleSheetContent, getGoogleSlidesContent, parseWorkbookBufferToPlainText, } from "../../../utils/google.js";
|
|
7
6
|
import officeParser from "officeparser";
|
|
8
7
|
const BASE_WEB_URL = "https://drive.google.com/file/d/";
|
|
9
8
|
const BASE_API_URL = "https://www.googleapis.com/drive/v3/files/";
|
|
@@ -112,22 +111,7 @@ const getDriveFileContentById = async ({ params, authParams, }) => {
|
|
|
112
111
|
headers,
|
|
113
112
|
responseType: "arraybuffer",
|
|
114
113
|
});
|
|
115
|
-
|
|
116
|
-
const workbook = read(downloadRes.data, { type: "buffer", sheetStubs: false });
|
|
117
|
-
// Convert sheets to CSV with early termination if charLimit is set
|
|
118
|
-
const sheetTexts = [];
|
|
119
|
-
let totalLength = 0;
|
|
120
|
-
const effectiveLimit = charLimit ? charLimit * 1.5 : 100000; // Process 1.5x limit for safety
|
|
121
|
-
// 2. Convert all sheets to plain text (CSV-style)
|
|
122
|
-
for (const sheetName of workbook.SheetNames) {
|
|
123
|
-
if (totalLength >= effectiveLimit)
|
|
124
|
-
break; // Early termination
|
|
125
|
-
const sheet = workbook.Sheets[sheetName];
|
|
126
|
-
const csv = utils.sheet_to_csv(sheet);
|
|
127
|
-
sheetTexts.push(`--- Sheet: ${sheetName} ---\n${csv}`);
|
|
128
|
-
totalLength += csv.length;
|
|
129
|
-
}
|
|
130
|
-
content = sheetTexts.join("\n").trim();
|
|
114
|
+
content = parseWorkbookBufferToPlainText(downloadRes.data, charLimit);
|
|
131
115
|
}
|
|
132
116
|
else if (mimeType === "application/vnd.openxmlformats-officedocument.presentationml.presentation") {
|
|
133
117
|
// Handle modern PowerPoint files (.pptx only)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { googleOauthGetSpreadsheetMetadataFunction } from "../../autogen/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fetches metadata for a Google Sheets spreadsheet — title and the list of
|
|
4
|
+
* sheets (name, sheetId, and tab index) — without downloading any cell data.
|
|
5
|
+
*
|
|
6
|
+
* Use this action to discover sheet names and their numeric sheetId values
|
|
7
|
+
* before performing targeted reads or writes. The `sheetId` returned for each
|
|
8
|
+
* sheet is the same integer that appears as `#gid=<n>` in the spreadsheet URL.
|
|
9
|
+
*
|
|
10
|
+
* @param params.spreadsheetId - The ID of the spreadsheet (from its URL)
|
|
11
|
+
* @param authParams.authToken - OAuth2 bearer token with Sheets read scope
|
|
12
|
+
* @returns Spreadsheet title and an array of sheet descriptors, or an error
|
|
13
|
+
*/
|
|
14
|
+
declare const getSpreadsheetMetadata: googleOauthGetSpreadsheetMetadataFunction;
|
|
15
|
+
export default getSpreadsheetMetadata;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { MISSING_AUTH_TOKEN } from "../../util/missingAuthConstants.js";
|
|
2
|
+
import { createAxiosClientWithTimeout } from "../../util/axiosClient.js";
|
|
3
|
+
/**
|
|
4
|
+
* Fetches metadata for a Google Sheets spreadsheet — title and the list of
|
|
5
|
+
* sheets (name, sheetId, and tab index) — without downloading any cell data.
|
|
6
|
+
*
|
|
7
|
+
* Use this action to discover sheet names and their numeric sheetId values
|
|
8
|
+
* before performing targeted reads or writes. The `sheetId` returned for each
|
|
9
|
+
* sheet is the same integer that appears as `#gid=<n>` in the spreadsheet URL.
|
|
10
|
+
*
|
|
11
|
+
* @param params.spreadsheetId - The ID of the spreadsheet (from its URL)
|
|
12
|
+
* @param authParams.authToken - OAuth2 bearer token with Sheets read scope
|
|
13
|
+
* @returns Spreadsheet title and an array of sheet descriptors, or an error
|
|
14
|
+
*/
|
|
15
|
+
const getSpreadsheetMetadata = async ({ params, authParams, }) => {
|
|
16
|
+
if (!authParams.authToken) {
|
|
17
|
+
return { success: false, error: MISSING_AUTH_TOKEN };
|
|
18
|
+
}
|
|
19
|
+
const { spreadsheetId } = params;
|
|
20
|
+
const axiosClient = createAxiosClientWithTimeout(15_000);
|
|
21
|
+
try {
|
|
22
|
+
const response = await axiosClient.get(`https://sheets.googleapis.com/v4/spreadsheets/${spreadsheetId}`, {
|
|
23
|
+
headers: { Authorization: `Bearer ${authParams.authToken}` },
|
|
24
|
+
params: {
|
|
25
|
+
fields: "spreadsheetId,properties/title,sheets/properties(sheetId,title,index)",
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
success: true,
|
|
30
|
+
spreadsheetId: response.data.spreadsheetId,
|
|
31
|
+
spreadsheetTitle: response.data.properties?.title,
|
|
32
|
+
sheets: (response.data.sheets || []).map((sheet) => ({
|
|
33
|
+
sheetId: sheet.properties?.sheetId,
|
|
34
|
+
title: sheet.properties?.title,
|
|
35
|
+
/** 0-based position of this sheet in the spreadsheet tab order */
|
|
36
|
+
index: sheet.properties?.index,
|
|
37
|
+
/** Same integer used in Google Sheets URL fragments like #gid=<n>. */
|
|
38
|
+
gid: sheet.properties?.sheetId,
|
|
39
|
+
})),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
return {
|
|
44
|
+
success: false,
|
|
45
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export default getSpreadsheetMetadata;
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
import { getSlackChannels } from "./helpers.js";
|
|
13
|
+
const archiveChannel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
|
14
|
+
if (!authParams.authToken) {
|
|
15
|
+
throw new Error(MISSING_AUTH_TOKEN);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
const client = new WebClient(authParams.authToken);
|
|
19
|
+
const { channelName } = params;
|
|
20
|
+
const allChannels = yield getSlackChannels(client);
|
|
21
|
+
const channel = allChannels.find(channel => channel.name == channelName);
|
|
22
|
+
if (!channel || !channel.id) {
|
|
23
|
+
throw Error(`Channel with name ${channelName} not found`);
|
|
24
|
+
}
|
|
25
|
+
yield client.conversations.join({ channel: channel.id });
|
|
26
|
+
const result = yield client.conversations.archive({ channel: channel.id });
|
|
27
|
+
if (!result.ok) {
|
|
28
|
+
return {
|
|
29
|
+
success: false,
|
|
30
|
+
error: result.error || "Unknown error archiving channel",
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return { success: true };
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return {
|
|
37
|
+
success: false,
|
|
38
|
+
error: error instanceof Error ? error.message : "Unknown error archiving channel",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
export default archiveChannel;
|
|
@@ -6,7 +6,7 @@ const sendMessage = async ({ params, authParams, }) => {
|
|
|
6
6
|
if (!authParams.authToken) {
|
|
7
7
|
throw new Error(MISSING_AUTH_TOKEN);
|
|
8
8
|
}
|
|
9
|
-
const { channelId: inputChannelId, channelName, message } = params;
|
|
9
|
+
const { channelId: inputChannelId, channelName, message, unfurlLinks } = params;
|
|
10
10
|
if (!inputChannelId && !channelName) {
|
|
11
11
|
throw Error("Either channelId or channelName must be provided");
|
|
12
12
|
}
|
|
@@ -24,6 +24,7 @@ const sendMessage = async ({ params, authParams, }) => {
|
|
|
24
24
|
await client.chat.postMessage({
|
|
25
25
|
channel: channelId,
|
|
26
26
|
text: message, // Fallback text for notifications/clients that don't render blocks
|
|
27
|
+
unfurl_links: unfurlLinks,
|
|
27
28
|
blocks: [
|
|
28
29
|
{
|
|
29
30
|
type: "section",
|
|
@@ -44,6 +45,7 @@ const sendMessage = async ({ params, authParams, }) => {
|
|
|
44
45
|
await client.chat.postMessage({
|
|
45
46
|
channel: channelId,
|
|
46
47
|
text: message,
|
|
48
|
+
unfurl_links: unfurlLinks,
|
|
47
49
|
});
|
|
48
50
|
return slackSendMessageOutputSchema.parse({ success: true });
|
|
49
51
|
}
|
package/dist/utils/google.d.ts
CHANGED
|
@@ -128,6 +128,7 @@ interface GoogleSlidesPresentation {
|
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
export declare function parseGoogleDocFromRawContentToPlainText(snapshotRawContent: GoogleDocsDocument): string;
|
|
131
|
+
export declare function parseWorkbookBufferToPlainText(data: ArrayBuffer | Buffer, charLimit?: number): string;
|
|
131
132
|
export declare function parseGoogleSheetsFromRawContentToPlainText(snapshotRawContent: GoogleSheetsSpreadsheet): string;
|
|
132
133
|
export declare function parseGoogleSlidesFromRawContentToPlainText(snapshotRawContent: GoogleSlidesPresentation): string;
|
|
133
134
|
export declare function getGoogleDocContent(fileId: string, authToken: string, axiosClient: AxiosInstance, sharedDriveParams: string): Promise<string>;
|
package/dist/utils/google.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Papa from "papaparse";
|
|
2
|
+
import { read, utils } from "xlsx";
|
|
2
3
|
import { isAxiosTimeoutError } from "../actions/util/axiosClient.js";
|
|
3
4
|
// Helper function to parse Google Docs content to plain text
|
|
4
5
|
export function parseGoogleDocFromRawContentToPlainText(snapshotRawContent) {
|
|
@@ -138,6 +139,23 @@ function parseCSVToSheetJson(csvData, sheetName = "Sheet1") {
|
|
|
138
139
|
});
|
|
139
140
|
return JSON.stringify([{ sheetName, headers, rows }]);
|
|
140
141
|
}
|
|
142
|
+
export function parseWorkbookBufferToPlainText(data, charLimit) {
|
|
143
|
+
const workbook = read(data, { type: "buffer", sheetStubs: false });
|
|
144
|
+
const sheetTexts = [];
|
|
145
|
+
let totalLength = 0;
|
|
146
|
+
// charLimit here is a soft parsing budget; downstream callers may still apply a hard final slice.
|
|
147
|
+
const effectiveLimit = charLimit ? charLimit * 1.5 : 100_000;
|
|
148
|
+
for (const sheetName of workbook.SheetNames) {
|
|
149
|
+
if (totalLength >= effectiveLimit) {
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
const sheet = workbook.Sheets[sheetName];
|
|
153
|
+
const csv = utils.sheet_to_csv(sheet);
|
|
154
|
+
sheetTexts.push(`--- Sheet: ${sheetName} ---\n${csv}`);
|
|
155
|
+
totalLength += csv.length;
|
|
156
|
+
}
|
|
157
|
+
return sheetTexts.join("\n").trim();
|
|
158
|
+
}
|
|
141
159
|
export function parseGoogleSheetsFromRawContentToPlainText(snapshotRawContent) {
|
|
142
160
|
if (!snapshotRawContent.sheets)
|
|
143
161
|
return "[]";
|
|
@@ -317,21 +335,14 @@ export async function getGoogleDocContent(fileId, authToken, axiosClient, shared
|
|
|
317
335
|
}
|
|
318
336
|
}
|
|
319
337
|
export async function getGoogleSheetContent(fileId, authToken, axiosClient, sharedDriveParams) {
|
|
320
|
-
//
|
|
321
|
-
// The Sheets API with includeGridData can timeout on large spreadsheets
|
|
338
|
+
// Prefer XLSX export so native Google Sheets follow the same workbook parsing path as uploaded Excel files.
|
|
322
339
|
try {
|
|
323
|
-
const exportUrl = `${GDRIVE_BASE_URL}${encodeURIComponent(fileId)}/export?mimeType=
|
|
340
|
+
const exportUrl = `${GDRIVE_BASE_URL}${encodeURIComponent(fileId)}/export?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet${sharedDriveParams}`;
|
|
324
341
|
const exportRes = await axiosClient.get(exportUrl, {
|
|
325
342
|
headers: { Authorization: `Bearer ${authToken}` },
|
|
326
|
-
responseType: "
|
|
343
|
+
responseType: "arraybuffer",
|
|
327
344
|
});
|
|
328
|
-
|
|
329
|
-
const cleanedCsv = exportRes.data
|
|
330
|
-
.split("\n")
|
|
331
|
-
.map((line) => line.replace(/,+$/, ""))
|
|
332
|
-
.map((line) => line.replace(/,{2,}/g, ","))
|
|
333
|
-
.join("\n");
|
|
334
|
-
return parseCSVToSheetJson(cleanedCsv);
|
|
345
|
+
return parseWorkbookBufferToPlainText(exportRes.data);
|
|
335
346
|
}
|
|
336
347
|
catch (exportError) {
|
|
337
348
|
// Check if it's a 404 or permission error
|
|
@@ -342,21 +353,36 @@ export async function getGoogleSheetContent(fileId, authToken, axiosClient, shar
|
|
|
342
353
|
throw new Error(`Spreadsheet not accessible (${status}): ${fileId}`, { cause: exportError });
|
|
343
354
|
}
|
|
344
355
|
}
|
|
345
|
-
// If
|
|
356
|
+
// If XLSX export fails, fall back to the prior CSV-first behavior.
|
|
346
357
|
try {
|
|
347
|
-
const
|
|
348
|
-
const
|
|
349
|
-
headers: {
|
|
350
|
-
|
|
351
|
-
},
|
|
358
|
+
const csvExportUrl = `${GDRIVE_BASE_URL}${encodeURIComponent(fileId)}/export?mimeType=text/csv${sharedDriveParams}`;
|
|
359
|
+
const csvExportRes = await axiosClient.get(csvExportUrl, {
|
|
360
|
+
headers: { Authorization: `Bearer ${authToken}` },
|
|
361
|
+
responseType: "text",
|
|
352
362
|
});
|
|
353
|
-
|
|
363
|
+
const cleanedCsv = csvExportRes.data
|
|
364
|
+
.split("\n")
|
|
365
|
+
.map((line) => line.replace(/,+$/, ""))
|
|
366
|
+
.map((line) => line.replace(/,{2,}/g, ","))
|
|
367
|
+
.join("\n");
|
|
368
|
+
return parseCSVToSheetJson(cleanedCsv);
|
|
354
369
|
}
|
|
355
|
-
catch
|
|
356
|
-
|
|
357
|
-
|
|
370
|
+
catch {
|
|
371
|
+
try {
|
|
372
|
+
const sheetsUrl = `https://sheets.googleapis.com/v4/spreadsheets/${fileId}?includeGridData=true`;
|
|
373
|
+
const sheetsRes = await axiosClient.get(sheetsUrl, {
|
|
374
|
+
headers: {
|
|
375
|
+
Authorization: `Bearer ${authToken}`,
|
|
376
|
+
},
|
|
377
|
+
});
|
|
378
|
+
return parseGoogleSheetsFromRawContentToPlainText(sheetsRes.data);
|
|
379
|
+
}
|
|
380
|
+
catch (sheetsError) {
|
|
381
|
+
if (isAxiosTimeoutError(sheetsError)) {
|
|
382
|
+
throw new Error("Request timed out using Google Sheets API", { cause: sheetsError });
|
|
383
|
+
}
|
|
384
|
+
throw new Error(`Unable to access spreadsheet content: ${fileId}`, { cause: sheetsError });
|
|
358
385
|
}
|
|
359
|
-
throw new Error(`Unable to access spreadsheet content: ${fileId}`, { cause: sheetsError });
|
|
360
386
|
}
|
|
361
387
|
}
|
|
362
388
|
}
|
package/package.json
CHANGED
|
@@ -1,72 +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 { 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;
|
|
@@ -1,48 +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 { 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;
|