@credal/actions 0.1.93 → 0.1.94
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 +3 -3
- package/dist/actions/autogen/types.d.ts +5 -5
- package/dist/actions/autogen/types.js +1 -1
- package/dist/actions/providers/jamf/getComputerInventory.d.ts +3 -0
- package/dist/actions/providers/{salesforce/getSalesforceRecordByQuery.js → jamf/getComputerInventory.js} +16 -14
- package/dist/actions/providers/jamf/getFileVaultRecoveryKey.d.ts +3 -0
- package/dist/actions/providers/jamf/getFileVaultRecoveryKey.js +40 -0
- 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/salesforce/getSalesforceRecordByQuery.d.ts +0 -3
- 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",
|
@@ -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<{
|
@@ -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({
|
@@ -10,34 +10,36 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
10
10
|
};
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
const axiosClient_1 = require("../../util/axiosClient");
|
13
|
-
const
|
13
|
+
const getComputerInventory = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
14
14
|
const { authToken, baseUrl } = authParams;
|
15
|
-
const {
|
16
|
-
if (!
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
15
|
+
const { section } = params;
|
16
|
+
if (!baseUrl) {
|
17
|
+
throw new Error("Base URL is required to fetch computer inventory");
|
18
|
+
}
|
19
|
+
const apiUrl = `${baseUrl}/v1/computer-inventory`;
|
20
|
+
const queryParams = {};
|
21
|
+
if (section) {
|
22
|
+
queryParams.section = section;
|
21
23
|
}
|
22
|
-
// The API limits the maximum number of records returned to 2000, the limit lets the user set a smaller custom limit
|
23
|
-
const url = `${baseUrl}/services/data/v56.0/query/?q=${encodeURIComponent(query + " LIMIT " + (limit != undefined && limit <= 2000 ? limit : 2000))}`;
|
24
24
|
try {
|
25
|
-
const response = yield axiosClient_1.axiosClient.get(
|
25
|
+
const response = yield axiosClient_1.axiosClient.get(apiUrl, {
|
26
26
|
headers: {
|
27
27
|
Authorization: `Bearer ${authToken}`,
|
28
|
+
Accept: "application/json",
|
28
29
|
},
|
30
|
+
params: queryParams,
|
29
31
|
});
|
30
32
|
return {
|
31
33
|
success: true,
|
32
|
-
|
34
|
+
data: response.data,
|
33
35
|
};
|
34
36
|
}
|
35
37
|
catch (error) {
|
36
|
-
console.error("Error retrieving
|
38
|
+
console.error("Error retrieving computer inventory: ", error);
|
37
39
|
return {
|
38
40
|
success: false,
|
39
|
-
error: error instanceof Error ? error.message : "
|
41
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
40
42
|
};
|
41
43
|
}
|
42
44
|
});
|
43
|
-
exports.default =
|
45
|
+
exports.default = getComputerInventory;
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const axiosClient_1 = require("../../util/axiosClient");
|
13
|
+
const getFileVaultRecoveryKey = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
14
|
+
const { authToken, baseUrl } = authParams;
|
15
|
+
const { computerId } = params;
|
16
|
+
if (!baseUrl || !computerId) {
|
17
|
+
throw new Error("Base URL and Computer ID are required to fetch FileVault2 recovery key");
|
18
|
+
}
|
19
|
+
const apiUrl = `${baseUrl}/JSSResource/computers/${computerId}/FileVault2RecoveryKey`;
|
20
|
+
try {
|
21
|
+
const response = yield axiosClient_1.axiosClient.get(apiUrl, {
|
22
|
+
headers: {
|
23
|
+
Authorization: `Bearer ${authToken}`,
|
24
|
+
Accept: "application/json",
|
25
|
+
},
|
26
|
+
});
|
27
|
+
return {
|
28
|
+
success: true,
|
29
|
+
data: response.data,
|
30
|
+
};
|
31
|
+
}
|
32
|
+
catch (error) {
|
33
|
+
console.error("Error retrieving FileVault2 recovery key: ", error);
|
34
|
+
return {
|
35
|
+
success: false,
|
36
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
37
|
+
};
|
38
|
+
}
|
39
|
+
});
|
40
|
+
exports.default = getFileVaultRecoveryKey;
|
@@ -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
|
-
});
|