@credal/actions 0.0.1
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/README.md +32 -0
- package/dist/actions/actionMapper.d.ts +9 -0
- package/dist/actions/actionMapper.js +79 -0
- package/dist/actions/autogen/definitions.d.ts +5 -0
- package/dist/actions/autogen/definitions.js +132 -0
- package/dist/actions/autogen/templates.d.ts +11 -0
- package/dist/actions/autogen/templates.js +493 -0
- package/dist/actions/autogen/types.d.ts +482 -0
- package/dist/actions/autogen/types.js +153 -0
- package/dist/actions/definitions.js +35 -0
- package/dist/actions/groups.d.ts +6 -0
- package/dist/actions/groups.js +38 -0
- package/dist/actions/invoke.d.ts +8 -0
- package/dist/actions/invoke.js +20 -0
- package/dist/actions/invokeMapper.d.ts +9 -0
- package/dist/actions/invokeMapper.js +33 -0
- package/dist/actions/parse.d.ts +66 -0
- package/dist/actions/parse.js +201 -0
- package/dist/actions/providers/confluence/updatePage.d.ts +3 -0
- package/dist/actions/providers/confluence/updatePage.js +47 -0
- package/dist/actions/providers/credal/callCopilot.d.ts +3 -0
- package/dist/actions/providers/credal/callCopilot.js +31 -0
- package/dist/actions/providers/googlemaps/validateAddress.d.ts +3 -0
- package/dist/actions/providers/googlemaps/validateAddress.js +30 -0
- package/dist/actions/providers/jira/createJiraTicket.d.ts +3 -0
- package/dist/actions/providers/jira/createJiraTicket.js +34 -0
- package/dist/actions/providers/jira/createTicket.d.ts +3 -0
- package/dist/actions/providers/jira/createTicket.js +34 -0
- package/dist/actions/providers/math/add.d.ts +3 -0
- package/dist/actions/providers/math/add.js +17 -0
- package/dist/actions/providers/math/index.d.ts +1 -0
- package/dist/actions/providers/math/index.js +37 -0
- package/dist/actions/providers/mongodb/insertMongoDoc.d.ts +3 -0
- package/dist/actions/providers/mongodb/insertMongoDoc.js +36 -0
- package/dist/actions/providers/slack/helpers.d.ts +6 -0
- package/dist/actions/providers/slack/helpers.js +53 -0
- package/dist/actions/providers/slack/index.d.ts +1 -0
- package/dist/actions/providers/slack/index.js +37 -0
- package/dist/actions/providers/slack/listConversations.d.ts +3 -0
- package/dist/actions/providers/slack/listConversations.js +41 -0
- package/dist/actions/providers/slack/list_conversations.d.ts +3 -0
- package/dist/actions/providers/slack/list_conversations.js +60 -0
- package/dist/actions/providers/slack/sendMessage.d.ts +3 -0
- package/dist/actions/providers/slack/sendMessage.js +36 -0
- package/dist/actions/providers/snowflake/getRowByFieldValue.d.ts +3 -0
- package/dist/actions/providers/snowflake/getRowByFieldValue.js +100 -0
- package/dist/actions/providers/zendesk/createZendeskTicket.d.ts +3 -0
- package/dist/actions/providers/zendesk/createZendeskTicket.js +48 -0
- package/dist/actions/schema.js +6 -0
- package/dist/actions/types.js +2 -0
- package/dist/app.d.ts +9 -0
- package/dist/app.js +97 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +27 -0
- package/dist/main.js +11 -0
- package/dist/utils/string.d.ts +1 -0
- package/dist/utils/string.js +10 -0
- package/package.json +51 -0
@@ -0,0 +1,36 @@
|
|
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 mongodb_1 = require("mongodb");
|
13
|
+
const insertMongoDoc = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
14
|
+
const { baseUrl } = authParams;
|
15
|
+
const { collectionName, databaseName, document } = params;
|
16
|
+
if (!baseUrl)
|
17
|
+
throw new Error("baseUrl is required to connect to the mongodb cluster");
|
18
|
+
const client = new mongodb_1.MongoClient(baseUrl);
|
19
|
+
try {
|
20
|
+
yield client.connect();
|
21
|
+
console.log("Connected successfully to MongoDB");
|
22
|
+
const db = client.db(databaseName);
|
23
|
+
const collection = db.collection(collectionName);
|
24
|
+
const insert = yield collection.insertOne(document);
|
25
|
+
const objectId = insert.insertedId.toString();
|
26
|
+
return { objectId };
|
27
|
+
}
|
28
|
+
catch (error) {
|
29
|
+
console.error("Error connecting to MongoDB or performing operations", error);
|
30
|
+
throw error;
|
31
|
+
}
|
32
|
+
finally {
|
33
|
+
yield client.close();
|
34
|
+
}
|
35
|
+
});
|
36
|
+
exports.default = insertMongoDoc;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { WebClient } from "@slack/web-api";
|
2
|
+
import { Channel } from "@slack/web-api/dist/types/response/ConversationsListResponse";
|
3
|
+
export type ChannelWithId = Channel & {
|
4
|
+
id: string;
|
5
|
+
};
|
6
|
+
export declare function getSlackChannels(client: WebClient): Promise<ChannelWithId[]>;
|
@@ -0,0 +1,53 @@
|
|
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 __asyncValues = (this && this.__asyncValues) || function (o) {
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
17
|
+
};
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
19
|
+
exports.getSlackChannels = getSlackChannels;
|
20
|
+
function getSlackChannels(client) {
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
22
|
+
var _a, e_1, _b, _c;
|
23
|
+
const limit = 100;
|
24
|
+
const allChannels = [];
|
25
|
+
const allChannelsIterable = yield client.paginate("conversations.list", {
|
26
|
+
exclude_archived: true,
|
27
|
+
limit,
|
28
|
+
});
|
29
|
+
try {
|
30
|
+
for (var _d = true, _e = __asyncValues(allChannelsIterable), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
|
31
|
+
_c = _f.value;
|
32
|
+
_d = false;
|
33
|
+
const page = _c;
|
34
|
+
if (!page.channels)
|
35
|
+
continue; // Not expected
|
36
|
+
for (const channel of page.channels) {
|
37
|
+
const channelId = channel.id;
|
38
|
+
if (channelId) {
|
39
|
+
allChannels.push(Object.assign(Object.assign({}, channel), { id: channelId }));
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
45
|
+
finally {
|
46
|
+
try {
|
47
|
+
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
|
48
|
+
}
|
49
|
+
finally { if (e_1) throw e_1.error; }
|
50
|
+
}
|
51
|
+
return allChannels;
|
52
|
+
});
|
53
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * as listConversations from "./listConversations";
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.listConversations = void 0;
|
37
|
+
exports.listConversations = __importStar(require("./listConversations"));
|
@@ -0,0 +1,41 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const web_api_1 = require("@slack/web-api");
|
13
|
+
const helpers_1 = require("./helpers");
|
14
|
+
const slackListConversations = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authParams, }) {
|
15
|
+
const client = new web_api_1.WebClient(authParams.authToken);
|
16
|
+
try {
|
17
|
+
const allChannels = yield (0, helpers_1.getSlackChannels)(client);
|
18
|
+
const filteredChannels = [];
|
19
|
+
for (const channel of allChannels) {
|
20
|
+
if (channel.name && channel.topic && channel.topic.value && channel.purpose && channel.purpose.value) {
|
21
|
+
const purpose = channel.purpose.value;
|
22
|
+
const topic = channel.topic.value;
|
23
|
+
const name = channel.name;
|
24
|
+
filteredChannels.push(Object.assign(Object.assign({}, channel), { purpose, topic, name }));
|
25
|
+
}
|
26
|
+
}
|
27
|
+
return {
|
28
|
+
channels: filteredChannels,
|
29
|
+
};
|
30
|
+
}
|
31
|
+
catch (error) {
|
32
|
+
if (error instanceof Error) {
|
33
|
+
// Enhance error with more context
|
34
|
+
throw new Error(`Failed to list Slack conversations: ${error.message}`);
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
throw error;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
});
|
41
|
+
exports.default = slackListConversations;
|
@@ -0,0 +1,60 @@
|
|
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;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
const web_api_1 = require("@slack/web-api");
|
13
|
+
const helpers_1 = require("./helpers");
|
14
|
+
const sendMessage = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
15
|
+
const client = new web_api_1.WebClient(authParams.authToken);
|
16
|
+
const { channelName, message } = params;
|
17
|
+
const allChannels = yield (0, helpers_1.getSlackChannels)(client);
|
18
|
+
const channel = allChannels.find(channel => channel.name == channelName);
|
19
|
+
if (!channel || !channel.id) {
|
20
|
+
throw Error(`Channel with name ${channelName} not found`);
|
21
|
+
}
|
22
|
+
yield client.chat.postMessage({
|
23
|
+
channel: channel.id,
|
24
|
+
blocks: [
|
25
|
+
{
|
26
|
+
type: "section",
|
27
|
+
text: {
|
28
|
+
type: "mrkdwn",
|
29
|
+
text: message,
|
30
|
+
},
|
31
|
+
},
|
32
|
+
],
|
33
|
+
});
|
34
|
+
return;
|
35
|
+
});
|
36
|
+
exports.default = sendMessage;
|
@@ -0,0 +1,100 @@
|
|
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 snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
16
|
+
const crypto_1 = __importDefault(require("crypto"));
|
17
|
+
const getRowByFieldValue = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
18
|
+
const { databaseName, tableName, fieldName, warehouse, fieldValue, user, accountName } = params;
|
19
|
+
const { apiKey: privateKey } = authParams;
|
20
|
+
if (!privateKey) {
|
21
|
+
throw new Error("Private key is required");
|
22
|
+
}
|
23
|
+
const buffer = Buffer.from(privateKey);
|
24
|
+
const privateKeyObject = crypto_1.default.createPrivateKey({
|
25
|
+
key: buffer,
|
26
|
+
format: "pem",
|
27
|
+
passphrase: "password",
|
28
|
+
});
|
29
|
+
const privateKeyCorrectFormat = privateKeyObject.export({
|
30
|
+
format: "pem",
|
31
|
+
type: "pkcs8",
|
32
|
+
});
|
33
|
+
const privateKeyCorrectFormatString = privateKeyCorrectFormat.toString();
|
34
|
+
if (!accountName || !user || !databaseName || !warehouse || !tableName || !fieldName || !fieldValue) {
|
35
|
+
throw new Error("Account name and user are required");
|
36
|
+
}
|
37
|
+
// Set up a connection using snowflake-sdk
|
38
|
+
const connection = snowflake_sdk_1.default.createConnection({
|
39
|
+
account: accountName,
|
40
|
+
username: user,
|
41
|
+
privateKey: privateKeyCorrectFormatString,
|
42
|
+
authenticator: "SNOWFLAKE_JWT",
|
43
|
+
role: "ACCOUNTADMIN", // If you have specific role requirements
|
44
|
+
warehouse: warehouse, // Similarly for warehouse
|
45
|
+
database: databaseName,
|
46
|
+
schema: "PUBLIC",
|
47
|
+
});
|
48
|
+
try {
|
49
|
+
yield new Promise((resolve, reject) => {
|
50
|
+
connection.connect((err, conn) => {
|
51
|
+
if (err) {
|
52
|
+
console.error("Unable to connect:", err.message);
|
53
|
+
return reject(err);
|
54
|
+
}
|
55
|
+
console.log("Successfully connected to Snowflake.");
|
56
|
+
resolve(conn);
|
57
|
+
});
|
58
|
+
});
|
59
|
+
const query = `SELECT * FROM ${databaseName}.PUBLIC.${tableName} WHERE ${fieldName} = ?`;
|
60
|
+
const binds = [fieldValue];
|
61
|
+
return yield new Promise((resolve, reject) => {
|
62
|
+
connection.execute({
|
63
|
+
sqlText: query,
|
64
|
+
binds: binds,
|
65
|
+
complete: (err, stmt, rows) => {
|
66
|
+
if (err) {
|
67
|
+
return reject(err);
|
68
|
+
}
|
69
|
+
if (!rows) {
|
70
|
+
return {
|
71
|
+
row: {
|
72
|
+
rowContents: {},
|
73
|
+
},
|
74
|
+
};
|
75
|
+
}
|
76
|
+
return resolve({
|
77
|
+
row: {
|
78
|
+
rowContents: rows[0],
|
79
|
+
},
|
80
|
+
});
|
81
|
+
},
|
82
|
+
});
|
83
|
+
});
|
84
|
+
}
|
85
|
+
catch (error) {
|
86
|
+
console.error("An error occurred while executing the query:", error);
|
87
|
+
throw error;
|
88
|
+
}
|
89
|
+
finally {
|
90
|
+
connection.destroy(err => {
|
91
|
+
if (err) {
|
92
|
+
console.log("Failed to disconnect:", err);
|
93
|
+
}
|
94
|
+
else {
|
95
|
+
console.log("Disconnected from Snowflake.");
|
96
|
+
}
|
97
|
+
});
|
98
|
+
}
|
99
|
+
});
|
100
|
+
exports.default = getRowByFieldValue;
|
@@ -0,0 +1,48 @@
|
|
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 createZendeskTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
17
|
+
const { apiKey } = authParams;
|
18
|
+
const { subdomain, subject, body, requesterEmail } = params;
|
19
|
+
const url = `https://${subdomain}.zendesk.com/api/v2/tickets.json`;
|
20
|
+
const payload = {
|
21
|
+
ticket: {
|
22
|
+
subject,
|
23
|
+
comment: {
|
24
|
+
body,
|
25
|
+
},
|
26
|
+
},
|
27
|
+
};
|
28
|
+
if (!apiKey) {
|
29
|
+
throw new Error("API key is required");
|
30
|
+
}
|
31
|
+
try {
|
32
|
+
const response = yield axios_1.default.post(url, payload, {
|
33
|
+
auth: {
|
34
|
+
username: `${requesterEmail}/token`,
|
35
|
+
password: apiKey,
|
36
|
+
},
|
37
|
+
headers: {
|
38
|
+
"Content-Type": "application/json",
|
39
|
+
},
|
40
|
+
});
|
41
|
+
return response.data;
|
42
|
+
}
|
43
|
+
catch (error) {
|
44
|
+
console.error("Error creating ticket", error);
|
45
|
+
return { ticketId: "Error" };
|
46
|
+
}
|
47
|
+
});
|
48
|
+
exports.default = createZendeskTicket;
|
@@ -0,0 +1,6 @@
|
|
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/app.d.ts
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
import { ActionTemplate } from "./actions/parse";
|
2
|
+
import { AuthParamsType } from "./actions/autogen/types";
|
3
|
+
export declare function runAction(name: string, provider: string, authentication: AuthParamsType, parameters: Record<string, any>): Promise<any>;
|
4
|
+
export type ActionGroupsReturn = {
|
5
|
+
name: string;
|
6
|
+
description: string;
|
7
|
+
actions: ActionTemplate[];
|
8
|
+
}[];
|
9
|
+
export declare function getActionGroups(): Promise<ActionGroupsReturn>;
|
package/dist/app.js
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
42
|
+
});
|
43
|
+
};
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
45
|
+
exports.runAction = runAction;
|
46
|
+
exports.getActionGroups = getActionGroups;
|
47
|
+
const groups_1 = require("./actions/groups");
|
48
|
+
const templates = __importStar(require("./actions/autogen/templates"));
|
49
|
+
const invoke_1 = require("./actions/invoke");
|
50
|
+
function runAction(name, provider, authentication,
|
51
|
+
// eslint-disable-next-line
|
52
|
+
parameters) {
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
54
|
+
if (!parameters || !name || !provider) {
|
55
|
+
throw Error("Missing params");
|
56
|
+
}
|
57
|
+
const allActions = yield getActions();
|
58
|
+
const actionTemplate = allActions.find(x => x.name == name && x.provider == provider);
|
59
|
+
if (!actionTemplate) {
|
60
|
+
throw Error(`Action with name ${name} does not exist`);
|
61
|
+
}
|
62
|
+
const result = yield (0, invoke_1.invokeAction)({
|
63
|
+
provider: actionTemplate.provider,
|
64
|
+
name: actionTemplate.name,
|
65
|
+
parameters: parameters,
|
66
|
+
authParams: authentication,
|
67
|
+
});
|
68
|
+
return result;
|
69
|
+
});
|
70
|
+
}
|
71
|
+
/**
|
72
|
+
* HELPER FUNCTIONS
|
73
|
+
*/
|
74
|
+
function getActions() {
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
76
|
+
return Object.values(templates);
|
77
|
+
});
|
78
|
+
}
|
79
|
+
function getActionGroups() {
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
81
|
+
const allDefinitions = yield getActions();
|
82
|
+
const result = [];
|
83
|
+
for (const [key, value] of Object.entries(groups_1.ACTION_GROUPS)) {
|
84
|
+
const actionGroupDetails = [];
|
85
|
+
for (const action of value.actions) {
|
86
|
+
const definition = allDefinitions.find(def => def.name === action.name);
|
87
|
+
if (definition) {
|
88
|
+
actionGroupDetails.push(definition);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
if (actionGroupDetails.length > 0) {
|
92
|
+
result.push({ name: key, description: value.description, actions: actionGroupDetails });
|
93
|
+
}
|
94
|
+
}
|
95
|
+
return result;
|
96
|
+
});
|
97
|
+
}
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
export { runAction, getActionGroups, type ActionGroupsReturn } from "./app";
|
2
|
+
export { ACTION_GROUPS, type ActionGroups } from "./actions/groups";
|
3
|
+
export * from "./actions/autogen/templates";
|
4
|
+
export * from "./actions/autogen/types";
|
5
|
+
export * from "./actions/providers/math/index";
|
6
|
+
export * from "./actions/providers/slack/index";
|
package/dist/index.js
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
"use strict";
|
2
|
+
// Do not use "@/" in this file because it won't generate declaration files properly
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
4
|
+
if (k2 === undefined) k2 = k;
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
8
|
+
}
|
9
|
+
Object.defineProperty(o, k2, desc);
|
10
|
+
}) : (function(o, m, k, k2) {
|
11
|
+
if (k2 === undefined) k2 = k;
|
12
|
+
o[k2] = m[k];
|
13
|
+
}));
|
14
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
15
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
16
|
+
};
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
18
|
+
exports.ACTION_GROUPS = exports.getActionGroups = exports.runAction = void 0;
|
19
|
+
var app_1 = require("./app");
|
20
|
+
Object.defineProperty(exports, "runAction", { enumerable: true, get: function () { return app_1.runAction; } });
|
21
|
+
Object.defineProperty(exports, "getActionGroups", { enumerable: true, get: function () { return app_1.getActionGroups; } });
|
22
|
+
var groups_1 = require("./actions/groups");
|
23
|
+
Object.defineProperty(exports, "ACTION_GROUPS", { enumerable: true, get: function () { return groups_1.ACTION_GROUPS; } });
|
24
|
+
__exportStar(require("./actions/autogen/templates"), exports);
|
25
|
+
__exportStar(require("./actions/autogen/types"), exports);
|
26
|
+
__exportStar(require("./actions/providers/math/index"), exports);
|
27
|
+
__exportStar(require("./actions/providers/slack/index"), exports);
|
package/dist/main.js
ADDED
@@ -0,0 +1,11 @@
|
|
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
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare function snakeToPascal(str: string): string;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.snakeToPascal = snakeToPascal;
|
4
|
+
function snakeToPascal(str) {
|
5
|
+
return str
|
6
|
+
.replace(/_/g, " ")
|
7
|
+
.split(" ")
|
8
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
9
|
+
.join("");
|
10
|
+
}
|