@credal/actions 0.1.93 → 0.1.95
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 +7 -3
- package/dist/actions/autogen/types.d.ts +12 -5
- package/dist/actions/autogen/types.js +2 -1
- package/dist/actions/providers/gong/getGongTranscripts.js +11 -4
- package/dist/actions/providers/kandji/getFVRecoveryKeyForDevice.js +7 -8
- package/dist/actions/providers/slack/listConversations.d.ts +1 -1
- package/package.json +1 -1
- package/dist/actions/autogen/definitions.d.ts +0 -5
- package/dist/actions/autogen/definitions.js +0 -132
- package/dist/actions/definitions.js +0 -35
- package/dist/actions/invokeMapper.d.ts +0 -9
- package/dist/actions/invokeMapper.js +0 -33
- package/dist/actions/providers/confluence/updatePage.d.ts +0 -3
- package/dist/actions/providers/confluence/updatePage.js +0 -43
- package/dist/actions/providers/googlemaps/nearbysearch.d.ts +0 -3
- package/dist/actions/providers/googlemaps/nearbysearch.js +0 -96
- package/dist/actions/providers/jira/createTicket.d.ts +0 -3
- package/dist/actions/providers/jira/createTicket.js +0 -34
- package/dist/actions/providers/slack/list_conversations.d.ts +0 -3
- package/dist/actions/providers/slack/list_conversations.js +0 -60
- package/dist/actions/providers/slack/summarizeChannel.d.ts +0 -3
- package/dist/actions/providers/slack/summarizeChannel.js +0 -51
- package/dist/actions/schema.js +0 -6
- package/dist/actions/types.js +0 -2
- package/dist/main.js +0 -11
@@ -1027,11 +1027,11 @@ exports.kandjiGetFVRecoveryKeyForDeviceDefinition = {
|
|
1027
1027
|
scopes: [],
|
1028
1028
|
parameters: {
|
1029
1029
|
type: "object",
|
1030
|
-
required: ["
|
1030
|
+
required: ["userEmail", "subdomain"],
|
1031
1031
|
properties: {
|
1032
|
-
|
1032
|
+
userEmail: {
|
1033
1033
|
type: "string",
|
1034
|
-
description: "The
|
1034
|
+
description: "The email of the user requesting the recovery key",
|
1035
1035
|
},
|
1036
1036
|
subdomain: {
|
1037
1037
|
type: "string",
|
@@ -5390,6 +5390,10 @@ exports.gongGetGongTranscriptsDefinition = {
|
|
5390
5390
|
type: "string",
|
5391
5391
|
description: "The name of the speaker",
|
5392
5392
|
},
|
5393
|
+
speakerEmail: {
|
5394
|
+
type: "string",
|
5395
|
+
description: "The email of the speaker",
|
5396
|
+
},
|
5393
5397
|
topic: {
|
5394
5398
|
type: "string",
|
5395
5399
|
nullable: true,
|
@@ -1013,13 +1013,13 @@ export declare const jiraGetJiraIssuesByQueryOutputSchema: z.ZodObject<{
|
|
1013
1013
|
export type jiraGetJiraIssuesByQueryOutputType = z.infer<typeof jiraGetJiraIssuesByQueryOutputSchema>;
|
1014
1014
|
export type jiraGetJiraIssuesByQueryFunction = ActionFunction<jiraGetJiraIssuesByQueryParamsType, AuthParamsType, jiraGetJiraIssuesByQueryOutputType>;
|
1015
1015
|
export declare const kandjiGetFVRecoveryKeyForDeviceParamsSchema: z.ZodObject<{
|
1016
|
-
|
1016
|
+
userEmail: z.ZodString;
|
1017
1017
|
subdomain: z.ZodString;
|
1018
1018
|
}, "strip", z.ZodTypeAny, {
|
1019
|
-
|
1019
|
+
userEmail: string;
|
1020
1020
|
subdomain: string;
|
1021
1021
|
}, {
|
1022
|
-
|
1022
|
+
userEmail: string;
|
1023
1023
|
subdomain: string;
|
1024
1024
|
}>;
|
1025
1025
|
export type kandjiGetFVRecoveryKeyForDeviceParamsType = z.infer<typeof kandjiGetFVRecoveryKeyForDeviceParamsSchema>;
|
@@ -1369,12 +1369,12 @@ export declare const credalCallCopilotParamsSchema: z.ZodObject<{
|
|
1369
1369
|
userEmail: z.ZodString;
|
1370
1370
|
}, "strip", z.ZodTypeAny, {
|
1371
1371
|
query: string;
|
1372
|
-
agentId: string;
|
1373
1372
|
userEmail: string;
|
1373
|
+
agentId: string;
|
1374
1374
|
}, {
|
1375
1375
|
query: string;
|
1376
|
-
agentId: string;
|
1377
1376
|
userEmail: string;
|
1377
|
+
agentId: string;
|
1378
1378
|
}>;
|
1379
1379
|
export type credalCallCopilotParamsType = z.infer<typeof credalCallCopilotParamsSchema>;
|
1380
1380
|
export declare const credalCallCopilotOutputSchema: z.ZodObject<{
|
@@ -2552,6 +2552,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2552
2552
|
startTime: z.ZodOptional<z.ZodString>;
|
2553
2553
|
transcript: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
2554
2554
|
speakerName: z.ZodOptional<z.ZodString>;
|
2555
|
+
speakerEmail: z.ZodOptional<z.ZodString>;
|
2555
2556
|
topic: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
2556
2557
|
sentences: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
2557
2558
|
start: z.ZodOptional<z.ZodNumber>;
|
@@ -2568,6 +2569,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2568
2569
|
}>, "many">>;
|
2569
2570
|
}, "strip", z.ZodTypeAny, {
|
2570
2571
|
speakerName?: string | undefined;
|
2572
|
+
speakerEmail?: string | undefined;
|
2571
2573
|
topic?: string | null | undefined;
|
2572
2574
|
sentences?: {
|
2573
2575
|
text?: string | undefined;
|
@@ -2576,6 +2578,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2576
2578
|
}[] | undefined;
|
2577
2579
|
}, {
|
2578
2580
|
speakerName?: string | undefined;
|
2581
|
+
speakerEmail?: string | undefined;
|
2579
2582
|
topic?: string | null | undefined;
|
2580
2583
|
sentences?: {
|
2581
2584
|
text?: string | undefined;
|
@@ -2589,6 +2592,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2589
2592
|
startTime?: string | undefined;
|
2590
2593
|
transcript?: {
|
2591
2594
|
speakerName?: string | undefined;
|
2595
|
+
speakerEmail?: string | undefined;
|
2592
2596
|
topic?: string | null | undefined;
|
2593
2597
|
sentences?: {
|
2594
2598
|
text?: string | undefined;
|
@@ -2602,6 +2606,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2602
2606
|
startTime?: string | undefined;
|
2603
2607
|
transcript?: {
|
2604
2608
|
speakerName?: string | undefined;
|
2609
|
+
speakerEmail?: string | undefined;
|
2605
2610
|
topic?: string | null | undefined;
|
2606
2611
|
sentences?: {
|
2607
2612
|
text?: string | undefined;
|
@@ -2620,6 +2625,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2620
2625
|
startTime?: string | undefined;
|
2621
2626
|
transcript?: {
|
2622
2627
|
speakerName?: string | undefined;
|
2628
|
+
speakerEmail?: string | undefined;
|
2623
2629
|
topic?: string | null | undefined;
|
2624
2630
|
sentences?: {
|
2625
2631
|
text?: string | undefined;
|
@@ -2637,6 +2643,7 @@ export declare const gongGetGongTranscriptsOutputSchema: z.ZodObject<{
|
|
2637
2643
|
startTime?: string | undefined;
|
2638
2644
|
transcript?: {
|
2639
2645
|
speakerName?: string | undefined;
|
2646
|
+
speakerEmail?: string | undefined;
|
2640
2647
|
topic?: string | null | undefined;
|
2641
2648
|
sentences?: {
|
2642
2649
|
text?: string | undefined;
|
@@ -309,7 +309,7 @@ exports.jiraGetJiraIssuesByQueryOutputSchema = zod_1.z.object({
|
|
309
309
|
error: zod_1.z.string().describe("The error that occurred if the records were not successfully retrieved").optional(),
|
310
310
|
});
|
311
311
|
exports.kandjiGetFVRecoveryKeyForDeviceParamsSchema = zod_1.z.object({
|
312
|
-
|
312
|
+
userEmail: zod_1.z.string().describe("The email of the user requesting the recovery key"),
|
313
313
|
subdomain: zod_1.z.string().describe("The subdomain of the Kandji account"),
|
314
314
|
});
|
315
315
|
exports.kandjiGetFVRecoveryKeyForDeviceOutputSchema = zod_1.z.object({
|
@@ -2139,6 +2139,7 @@ exports.gongGetGongTranscriptsOutputSchema = zod_1.z.object({
|
|
2139
2139
|
.array(zod_1.z
|
2140
2140
|
.object({
|
2141
2141
|
speakerName: zod_1.z.string().describe("The name of the speaker").optional(),
|
2142
|
+
speakerEmail: zod_1.z.string().describe("The email of the speaker").optional(),
|
2142
2143
|
topic: zod_1.z.string().nullable().describe("The topic of the transcript").optional(),
|
2143
2144
|
sentences: zod_1.z
|
2144
2145
|
.array(zod_1.z
|
@@ -80,6 +80,7 @@ const CallSchema = zod_1.z
|
|
80
80
|
id: zod_1.z.string(),
|
81
81
|
name: zod_1.z.string(),
|
82
82
|
userId: zod_1.z.string(),
|
83
|
+
emailAddress: zod_1.z.string(),
|
83
84
|
speakerId: zod_1.z.string().nullable(),
|
84
85
|
})
|
85
86
|
.partial()
|
@@ -282,14 +283,20 @@ const getGongTranscripts = (_a) => __awaiter(void 0, [_a], void 0, function* ({
|
|
282
283
|
});
|
283
284
|
// Map speaker IDs to names in the transcripts
|
284
285
|
const userIdToNameMap = {};
|
286
|
+
const userIdToEmailMap = {};
|
285
287
|
publicCalls.forEach(call => {
|
286
288
|
// Check if call has parties array
|
287
289
|
if (call.parties && Array.isArray(call.parties)) {
|
288
290
|
// Iterate through each party in the call
|
289
291
|
call.parties.forEach(party => {
|
290
292
|
// Add the mapping of speakerId to name
|
291
|
-
if (party.speakerId
|
292
|
-
|
293
|
+
if (party.speakerId) {
|
294
|
+
if (party.name) {
|
295
|
+
userIdToNameMap[party.speakerId] = party.name;
|
296
|
+
}
|
297
|
+
if (party.emailAddress) {
|
298
|
+
userIdToEmailMap[party.speakerId] = party.emailAddress;
|
299
|
+
}
|
293
300
|
}
|
294
301
|
});
|
295
302
|
}
|
@@ -298,9 +305,9 @@ const getGongTranscripts = (_a) => __awaiter(void 0, [_a], void 0, function* ({
|
|
298
305
|
var _a, _b, _c, _d, _e, _f, _g;
|
299
306
|
const currTranscript = Object.assign({}, callTranscript);
|
300
307
|
currTranscript.transcript = (_a = callTranscript.transcript) === null || _a === void 0 ? void 0 : _a.map(transcript => {
|
301
|
-
var _a;
|
308
|
+
var _a, _b;
|
302
309
|
const { speakerId } = transcript, rest = __rest(transcript, ["speakerId"]);
|
303
|
-
return Object.assign(Object.assign({}, rest), { speakerName: (_a = userIdToNameMap[speakerId !== null && speakerId !== void 0 ? speakerId : ""]) !== null && _a !== void 0 ? _a : "Unknown" });
|
310
|
+
return Object.assign(Object.assign({}, rest), { speakerName: (_a = userIdToNameMap[speakerId !== null && speakerId !== void 0 ? speakerId : ""]) !== null && _a !== void 0 ? _a : "Unknown", speakerEmail: (_b = userIdToEmailMap[speakerId !== null && speakerId !== void 0 ? speakerId : ""]) !== null && _b !== void 0 ? _b : "Unknown" });
|
304
311
|
});
|
305
312
|
return Object.assign({ callName: (_d = (_c = (_b = publicCalls.find(call => { var _a; return ((_a = call.metaData) === null || _a === void 0 ? void 0 : _a.id) === callTranscript.callId; })) === null || _b === void 0 ? void 0 : _b.metaData) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : "", startTime: (_g = (_f = (_e = publicCalls.find(call => { var _a; return ((_a = call.metaData) === null || _a === void 0 ? void 0 : _a.id) === callTranscript.callId; })) === null || _e === void 0 ? void 0 : _e.metaData) === null || _f === void 0 ? void 0 : _f.started) !== null && _g !== void 0 ? _g : "" }, currTranscript);
|
306
313
|
});
|
@@ -11,16 +11,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
const axiosClient_1 = require("../../util/axiosClient");
|
13
13
|
const getFVRecoveryKeyForDevice = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
14
|
-
const {
|
14
|
+
const { userEmail, subdomain } = params;
|
15
15
|
const { apiKey } = authParams;
|
16
16
|
if (!apiKey) {
|
17
17
|
throw new Error("Missing API key in auth parameters");
|
18
18
|
}
|
19
19
|
try {
|
20
20
|
// First list all devices to get the device for the specific device
|
21
|
-
const device = yield
|
21
|
+
const device = yield getDeviceByEmail({
|
22
22
|
apiKey,
|
23
|
-
|
23
|
+
userEmail,
|
24
24
|
subdomain,
|
25
25
|
});
|
26
26
|
if (!device) {
|
@@ -54,16 +54,15 @@ const getFVRecoveryKeyForDevice = (_a) => __awaiter(void 0, [_a], void 0, functi
|
|
54
54
|
};
|
55
55
|
}
|
56
56
|
});
|
57
|
-
function
|
57
|
+
function getDeviceByEmail(input) {
|
58
58
|
return __awaiter(this, void 0, void 0, function* () {
|
59
59
|
const limit = 300;
|
60
60
|
let offset = 0;
|
61
|
-
const { apiKey,
|
61
|
+
const { apiKey, userEmail, subdomain } = input;
|
62
62
|
while (true) {
|
63
63
|
// Update params
|
64
64
|
const params = { limit, offset };
|
65
65
|
const endpoint = `https://${subdomain}.api.kandji.io/api/v1/devices`;
|
66
|
-
// Check to see if a platform was specified
|
67
66
|
const response = yield axiosClient_1.axiosClient.get(endpoint, {
|
68
67
|
params: Object.assign({}, params),
|
69
68
|
headers: {
|
@@ -72,8 +71,8 @@ function getDeviceBySerialNumber(input) {
|
|
72
71
|
},
|
73
72
|
});
|
74
73
|
for (const device of response.data) {
|
75
|
-
if (device.
|
76
|
-
// If the device
|
74
|
+
if (device.user && device.user.email === userEmail) {
|
75
|
+
// If the device user email matches, return the device
|
77
76
|
return device;
|
78
77
|
}
|
79
78
|
}
|
package/package.json
CHANGED
@@ -1,5 +0,0 @@
|
|
1
|
-
import { ActionTemplate } from "@/actions/parse";
|
2
|
-
export declare const slackSendMessageDefinition: ActionTemplate;
|
3
|
-
export declare const slackListConversationsDefinition: ActionTemplate;
|
4
|
-
export declare const mathAddDefinition: ActionTemplate;
|
5
|
-
export declare const confluenceUpdatePageDefinition: ActionTemplate;
|
@@ -1,132 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.confluenceUpdatePageDefinition = exports.mathAddDefinition = exports.slackListConversationsDefinition = exports.slackSendMessageDefinition = void 0;
|
4
|
-
exports.slackSendMessageDefinition = {
|
5
|
-
provider: "slack",
|
6
|
-
name: "send_message",
|
7
|
-
description: "Sends a message to a Slack channel",
|
8
|
-
scopes: ["chat:write"],
|
9
|
-
parameters: {
|
10
|
-
channel: {
|
11
|
-
type: "string",
|
12
|
-
description: "The Slack channel to send the message to (e.g., \\#general, \\#alerts)",
|
13
|
-
required: true,
|
14
|
-
},
|
15
|
-
message: {
|
16
|
-
type: "string",
|
17
|
-
description: "The message content to send to Slack. Can include markdown formatting.",
|
18
|
-
required: true,
|
19
|
-
},
|
20
|
-
},
|
21
|
-
output: {},
|
22
|
-
};
|
23
|
-
exports.slackListConversationsDefinition = {
|
24
|
-
provider: "slack",
|
25
|
-
name: "list_conversations",
|
26
|
-
description: "Lists all conversations in a Slack workspace",
|
27
|
-
scopes: ["channels:read", "groups:read", "im:read", "mpim:read"],
|
28
|
-
authToken: {
|
29
|
-
type: "string",
|
30
|
-
description: "The Slack access token to use",
|
31
|
-
required: true,
|
32
|
-
},
|
33
|
-
parameters: {},
|
34
|
-
output: {
|
35
|
-
channels: {
|
36
|
-
type: "array",
|
37
|
-
description: "A list of channels in Slack",
|
38
|
-
required: true,
|
39
|
-
items: {
|
40
|
-
type: "object",
|
41
|
-
description: "A channel in Slack",
|
42
|
-
required: true,
|
43
|
-
properties: {
|
44
|
-
id: {
|
45
|
-
type: "string",
|
46
|
-
description: "The ID of the channel",
|
47
|
-
required: true,
|
48
|
-
},
|
49
|
-
name: {
|
50
|
-
type: "string",
|
51
|
-
description: "The name of the channel",
|
52
|
-
required: true,
|
53
|
-
},
|
54
|
-
topic: {
|
55
|
-
type: "string",
|
56
|
-
description: "The topic of the channel",
|
57
|
-
required: true,
|
58
|
-
},
|
59
|
-
purpose: {
|
60
|
-
type: "string",
|
61
|
-
description: "The purpose of the channel",
|
62
|
-
required: true,
|
63
|
-
},
|
64
|
-
},
|
65
|
-
},
|
66
|
-
},
|
67
|
-
},
|
68
|
-
};
|
69
|
-
exports.mathAddDefinition = {
|
70
|
-
provider: "math",
|
71
|
-
name: "add",
|
72
|
-
description: "Adds two numbers together",
|
73
|
-
scopes: [],
|
74
|
-
parameters: {
|
75
|
-
a: {
|
76
|
-
type: "number",
|
77
|
-
description: "The first number to add",
|
78
|
-
required: true,
|
79
|
-
},
|
80
|
-
b: {
|
81
|
-
type: "number",
|
82
|
-
description: "The second number to add",
|
83
|
-
required: true,
|
84
|
-
},
|
85
|
-
},
|
86
|
-
output: {
|
87
|
-
result: {
|
88
|
-
type: "number",
|
89
|
-
description: "The sum of the two numbers",
|
90
|
-
required: true,
|
91
|
-
},
|
92
|
-
},
|
93
|
-
};
|
94
|
-
exports.confluenceUpdatePageDefinition = {
|
95
|
-
provider: "confluence",
|
96
|
-
name: "updatePage",
|
97
|
-
description: "Updates a confluence page with the new content specified",
|
98
|
-
scopes: [],
|
99
|
-
authToken: {
|
100
|
-
type: "string",
|
101
|
-
description: "The access token to use for confluence",
|
102
|
-
required: true,
|
103
|
-
},
|
104
|
-
baseUrl: {
|
105
|
-
type: "string",
|
106
|
-
description: "The base url required to access the confluence instance",
|
107
|
-
required: true,
|
108
|
-
},
|
109
|
-
parameters: {
|
110
|
-
pageId: {
|
111
|
-
type: "string",
|
112
|
-
description: "The page id that should be updated",
|
113
|
-
required: true,
|
114
|
-
},
|
115
|
-
title: {
|
116
|
-
type: "string",
|
117
|
-
description: "The title of the page that should be updated",
|
118
|
-
required: true,
|
119
|
-
},
|
120
|
-
username: {
|
121
|
-
type: "string",
|
122
|
-
description: "The username of the person updating the page",
|
123
|
-
required: true,
|
124
|
-
},
|
125
|
-
content: {
|
126
|
-
type: "string",
|
127
|
-
description: "The new content for the page",
|
128
|
-
required: true,
|
129
|
-
},
|
130
|
-
},
|
131
|
-
output: {},
|
132
|
-
};
|
@@ -1,35 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.mathAddDefinition = exports.slackSendMessageDefinition = void 0;
|
4
|
-
exports.slackSendMessageDefinition = {
|
5
|
-
name: "send_message",
|
6
|
-
description: "Sends a message to a Slack channel",
|
7
|
-
parameters: {
|
8
|
-
"channel": {
|
9
|
-
"type": "string",
|
10
|
-
"description": "The Slack channel to send the message to (e.g., \\#general, \\#alerts)",
|
11
|
-
"required": true
|
12
|
-
},
|
13
|
-
"message": {
|
14
|
-
"type": "string",
|
15
|
-
"description": "The message content to send to Slack. Can include markdown formatting.",
|
16
|
-
"required": true
|
17
|
-
}
|
18
|
-
}
|
19
|
-
};
|
20
|
-
exports.mathAddDefinition = {
|
21
|
-
name: "add",
|
22
|
-
description: "Adds two numbers together",
|
23
|
-
parameters: {
|
24
|
-
"a": {
|
25
|
-
"type": "number",
|
26
|
-
"description": "The first number to add",
|
27
|
-
"required": true
|
28
|
-
},
|
29
|
-
"b": {
|
30
|
-
"type": "number",
|
31
|
-
"description": "The second number to add",
|
32
|
-
"required": true
|
33
|
-
}
|
34
|
-
}
|
35
|
-
};
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { type ActionFunction } from "./autogen/types";
|
2
|
-
import { z } from "zod";
|
3
|
-
interface ActionFunctionComponents {
|
4
|
-
fn: ActionFunction<any, any, any>;
|
5
|
-
paramsSchema: z.ZodSchema;
|
6
|
-
outputSchema: z.ZodSchema;
|
7
|
-
}
|
8
|
-
export declare const FunctionMapper: Record<string, Record<string, ActionFunctionComponents>>;
|
9
|
-
export {};
|
@@ -1,33 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.FunctionMapper = void 0;
|
7
|
-
const add_1 = __importDefault(require("./providers/math/add"));
|
8
|
-
const list_conversations_1 = __importDefault(require("./providers/slack/list_conversations"));
|
9
|
-
const updatePage_1 = __importDefault(require("./providers/confluence/updatePage"));
|
10
|
-
const types_1 = require("./autogen/types");
|
11
|
-
exports.FunctionMapper = {
|
12
|
-
math: {
|
13
|
-
add: {
|
14
|
-
fn: add_1.default,
|
15
|
-
paramsSchema: types_1.mathAddParamsSchema,
|
16
|
-
outputSchema: types_1.mathAddOutputSchema,
|
17
|
-
},
|
18
|
-
},
|
19
|
-
slack: {
|
20
|
-
listConversations: {
|
21
|
-
fn: list_conversations_1.default,
|
22
|
-
paramsSchema: types_1.slackListConversationsParamsSchema,
|
23
|
-
outputSchema: types_1.slackListConversationsOutputSchema,
|
24
|
-
},
|
25
|
-
},
|
26
|
-
confluence: {
|
27
|
-
updatePage: {
|
28
|
-
fn: updatePage_1.default,
|
29
|
-
paramsSchema: types_1.confluenceUpdatePageParamsSchema,
|
30
|
-
outputSchema: types_1.confluenceUpdatePageOutputSchema,
|
31
|
-
},
|
32
|
-
},
|
33
|
-
};
|
@@ -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
|
-
function getConfluenceRequestConfig(baseUrl, username, apiToken) {
|
14
|
-
return {
|
15
|
-
baseURL: baseUrl,
|
16
|
-
headers: {
|
17
|
-
Accept: "application/json",
|
18
|
-
Authorization: `Basic ${Buffer.from(`${username}:${apiToken}`).toString("base64")}`,
|
19
|
-
},
|
20
|
-
};
|
21
|
-
}
|
22
|
-
const confluenceUpdatePage = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
23
|
-
const { pageId, username, content, title } = params;
|
24
|
-
const { baseUrl, authToken } = authParams;
|
25
|
-
const config = getConfluenceRequestConfig(baseUrl, username, authToken);
|
26
|
-
// Get current version number
|
27
|
-
const response = yield axiosClient_1.axiosClient.get(`/api/v2/pages/${pageId}`, config);
|
28
|
-
const currVersion = response.data.version.number;
|
29
|
-
const payload = {
|
30
|
-
id: pageId,
|
31
|
-
status: "current",
|
32
|
-
title,
|
33
|
-
body: {
|
34
|
-
representation: "storage",
|
35
|
-
value: content,
|
36
|
-
},
|
37
|
-
version: {
|
38
|
-
number: currVersion + 1,
|
39
|
-
},
|
40
|
-
};
|
41
|
-
yield axiosClient_1.axiosClient.put(`/api/v2/pages/${pageId}`, payload, config);
|
42
|
-
});
|
43
|
-
exports.default = confluenceUpdatePage;
|
@@ -1,96 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
const axios_1 = __importDefault(require("axios"));
|
16
|
-
const types_1 = require("../../autogen/types");
|
17
|
-
const INCLUDED_TYPES = [
|
18
|
-
// "monument",
|
19
|
-
// "museum",
|
20
|
-
// "art_gallery",
|
21
|
-
// "sculpture",
|
22
|
-
// "cultural_landmark",
|
23
|
-
// "historical_place",
|
24
|
-
// "performing_arts_theater",
|
25
|
-
// "university",
|
26
|
-
// "aquarium",
|
27
|
-
// "botanical_garden",
|
28
|
-
// "comedy_club",
|
29
|
-
// "park",
|
30
|
-
// "movie_theater",
|
31
|
-
// "national_park",
|
32
|
-
// "garden",
|
33
|
-
// "night_club",
|
34
|
-
// "tourist_attraction",
|
35
|
-
// "water_park",
|
36
|
-
// "zoo",
|
37
|
-
// "bar",
|
38
|
-
"restaurant",
|
39
|
-
// "food_court",
|
40
|
-
// "bakery",
|
41
|
-
// "cafe",
|
42
|
-
// "coffee_shop",
|
43
|
-
// "pub",
|
44
|
-
// "wine_bar",
|
45
|
-
// "spa",
|
46
|
-
// "beach",
|
47
|
-
// "market",
|
48
|
-
// "shopping_mall",
|
49
|
-
// "stadium",
|
50
|
-
];
|
51
|
-
const nearbysearch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
52
|
-
const url = `https://places.googleapis.com/v1/places:searchNearby`;
|
53
|
-
const fieldMask = [
|
54
|
-
"places.displayName",
|
55
|
-
"places.formattedAddress",
|
56
|
-
"places.priceLevel",
|
57
|
-
"places.rating",
|
58
|
-
"places.primaryTypeDisplayName",
|
59
|
-
"places.editorialSummary",
|
60
|
-
"places.regularOpeningHours",
|
61
|
-
].join(",");
|
62
|
-
const response = yield axios_1.default.post(url, {
|
63
|
-
maxResultCount: 20,
|
64
|
-
includedTypes: INCLUDED_TYPES,
|
65
|
-
locationRestriction: {
|
66
|
-
circle: {
|
67
|
-
center: {
|
68
|
-
latitude: params.latitude,
|
69
|
-
longitude: params.longitude,
|
70
|
-
},
|
71
|
-
radius: 10000,
|
72
|
-
},
|
73
|
-
},
|
74
|
-
}, {
|
75
|
-
headers: {
|
76
|
-
"X-Goog-Api-Key": authParams.apiKey,
|
77
|
-
"X-Goog-FieldMask": fieldMask,
|
78
|
-
"Content-Type": "application/json",
|
79
|
-
},
|
80
|
-
});
|
81
|
-
return types_1.googlemapsNearbysearchOutputSchema.parse({
|
82
|
-
results: response.data.places.map((place) => {
|
83
|
-
var _a, _b;
|
84
|
-
return ({
|
85
|
-
name: place.displayName.text,
|
86
|
-
address: place.formattedAddress,
|
87
|
-
priceLevel: place.priceLevel,
|
88
|
-
rating: place.rating,
|
89
|
-
primaryType: place.primaryTypeDisplayName.text,
|
90
|
-
editorialSummary: ((_a = place.editorialSummary) === null || _a === void 0 ? void 0 : _a.text) || "",
|
91
|
-
openingHours: ((_b = place.regularOpeningHours) === null || _b === void 0 ? void 0 : _b.weekdayDescriptions.join("\n")) || "",
|
92
|
-
});
|
93
|
-
}),
|
94
|
-
});
|
95
|
-
});
|
96
|
-
exports.default = nearbysearch;
|
@@ -1,34 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
const axios_1 = __importDefault(require("axios"));
|
16
|
-
const createTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
17
|
-
const { authToken, baseUrl } = authParams;
|
18
|
-
const url = `${baseUrl}/rest/api/3/issue`;
|
19
|
-
const payload = {
|
20
|
-
fields: Object.assign({ project: {
|
21
|
-
key: params.projectKey,
|
22
|
-
}, summary: params.summary, description: params.description, issuetype: {
|
23
|
-
name: params.issueType,
|
24
|
-
} }, (params.reporter ? { reporter: { id: params.reporter } } : {})),
|
25
|
-
};
|
26
|
-
const response = yield axios_1.default.post(url, payload, {
|
27
|
-
headers: {
|
28
|
-
Authorization: `Basic ${Buffer.from(`${params.username}:${authToken}`).toString("base64")}`,
|
29
|
-
"Content-Type": "application/json",
|
30
|
-
},
|
31
|
-
});
|
32
|
-
return response.data;
|
33
|
-
});
|
34
|
-
exports.default = createTicket;
|
@@ -1,60 +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 slackListConversations = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, }) {
|
14
|
-
var _b;
|
15
|
-
const client = new web_api_1.WebClient(authParams.authToken);
|
16
|
-
const allChannels = [];
|
17
|
-
let cursor;
|
18
|
-
const limit = 100;
|
19
|
-
try {
|
20
|
-
do {
|
21
|
-
const response = yield client.conversations.list({
|
22
|
-
exclude_archived: true,
|
23
|
-
limit: limit,
|
24
|
-
cursor: cursor,
|
25
|
-
});
|
26
|
-
if (!response.ok) {
|
27
|
-
throw new Error(`Slack API error: ${response.error}`);
|
28
|
-
}
|
29
|
-
// Add channels from this page to our results
|
30
|
-
if (response.channels && Array.isArray(response.channels)) {
|
31
|
-
allChannels.push(...response.channels);
|
32
|
-
}
|
33
|
-
// Get cursor for next page
|
34
|
-
cursor = (_b = response.response_metadata) === null || _b === void 0 ? void 0 : _b.next_cursor;
|
35
|
-
// If user specified a limit and we've hit it, stop paginating
|
36
|
-
if (limit && allChannels.length >= limit) {
|
37
|
-
allChannels.splice(limit); // Trim to exact limit
|
38
|
-
break;
|
39
|
-
}
|
40
|
-
} while (cursor && cursor.length > 0);
|
41
|
-
return {
|
42
|
-
channels: allChannels.map(channel => ({
|
43
|
-
id: channel.id,
|
44
|
-
name: channel.name,
|
45
|
-
topic: channel.topic.value,
|
46
|
-
purpose: channel.purpose.value,
|
47
|
-
})),
|
48
|
-
};
|
49
|
-
}
|
50
|
-
catch (error) {
|
51
|
-
if (error instanceof Error) {
|
52
|
-
// Enhance error with more context
|
53
|
-
throw new Error(`Failed to list Slack conversations: ${error.message}`);
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
throw error;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
});
|
60
|
-
exports.default = slackListConversations;
|
@@ -1,51 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
const web_api_1 = require("@slack/web-api");
|
16
|
-
const helpers_1 = require("./helpers");
|
17
|
-
const openai_1 = __importDefault(require("openai"));
|
18
|
-
const summarizeChannel = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
19
|
-
var _b;
|
20
|
-
const client = new web_api_1.WebClient(authParams.authToken);
|
21
|
-
const { channelName } = params;
|
22
|
-
const allChannels = yield (0, helpers_1.getSlackChannels)(client);
|
23
|
-
const channel = allChannels.find(channel => channel.name === channelName && channel.is_private === false);
|
24
|
-
if (!channel || !channel.id) {
|
25
|
-
throw Error(`Channel with name ${channelName} not found`);
|
26
|
-
}
|
27
|
-
// summarize last 50 messages
|
28
|
-
const messages = yield client.conversations.history({
|
29
|
-
channel: channel.id,
|
30
|
-
limit: 50,
|
31
|
-
});
|
32
|
-
if (!messages.ok) {
|
33
|
-
throw Error(`Failed to fetch messages from channel ${channel.name}`);
|
34
|
-
}
|
35
|
-
const history = ((_b = messages.messages) === null || _b === void 0 ? void 0 : _b.reverse().map(message => message.user + ":" + message.text).join("\n")) || "";
|
36
|
-
const oai = new openai_1.default();
|
37
|
-
const completion = yield oai.chat.completions.create({
|
38
|
-
model: "gpt-4o-mini",
|
39
|
-
messages: [
|
40
|
-
{
|
41
|
-
role: "user",
|
42
|
-
content: "Summarize the following messages in the Slack channel:\n" + history,
|
43
|
-
},
|
44
|
-
],
|
45
|
-
});
|
46
|
-
const summary = completion.choices[0].message.content || "";
|
47
|
-
return {
|
48
|
-
summary: summary,
|
49
|
-
};
|
50
|
-
});
|
51
|
-
exports.default = summarizeChannel;
|
package/dist/actions/schema.js
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.createParametersObject = createParametersObject;
|
4
|
-
function createParametersObject(parameters) {
|
5
|
-
return Object.fromEntries(Object.entries(parameters).map(([key, param]) => [key, param.type]));
|
6
|
-
}
|
package/dist/actions/types.js
DELETED
package/dist/main.js
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
-
};
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const list_conversations_1 = __importDefault(require("./actions/providers/slack/list_conversations"));
|
7
|
-
const result = (0, list_conversations_1.default)({
|
8
|
-
accessToken: "xoxp-4172665288294-8092684180551-8154529379075-89f1f70cc06e5648e8f912ba96f56626"
|
9
|
-
}).then((result) => {
|
10
|
-
console.log(result);
|
11
|
-
});
|