@credal/actions 0.1.25 → 0.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/actionMapper.js +5 -5
- package/dist/actions/autogen/templates.d.ts +1 -1
- package/dist/actions/autogen/templates.js +9 -21
- package/dist/actions/autogen/types.d.ts +8 -17
- package/dist/actions/autogen/types.js +5 -11
- package/dist/actions/groups.js +1 -1
- package/dist/actions/providers/snowflake/runSnowflakeQuery.d.ts +3 -0
- package/dist/actions/providers/snowflake/runSnowflakeQuery.js +118 -0
- package/package.json +1 -3
@@ -27,7 +27,7 @@ const symbolLookup_1 = __importDefault(require("./providers/finnhub/symbolLookup
|
|
27
27
|
const getBasicFinancials_1 = __importDefault(require("./providers/finnhub/getBasicFinancials"));
|
28
28
|
const overwritePage_1 = __importDefault(require("./providers/confluence/overwritePage"));
|
29
29
|
const fetchPageContent_1 = __importDefault(require("./providers/confluence/fetchPageContent"));
|
30
|
-
const
|
30
|
+
const runSnowflakeQuery_1 = __importDefault(require("./providers/snowflake/runSnowflakeQuery"));
|
31
31
|
exports.ActionMapper = {
|
32
32
|
math: {
|
33
33
|
add: {
|
@@ -99,10 +99,10 @@ exports.ActionMapper = {
|
|
99
99
|
paramsSchema: types_1.snowflakeGetRowByFieldValueParamsSchema,
|
100
100
|
outputSchema: types_1.snowflakeGetRowByFieldValueOutputSchema,
|
101
101
|
},
|
102
|
-
|
103
|
-
fn:
|
104
|
-
paramsSchema: types_1.
|
105
|
-
outputSchema: types_1.
|
102
|
+
runSnowflakeQuery: {
|
103
|
+
fn: runSnowflakeQuery_1.default,
|
104
|
+
paramsSchema: types_1.snowflakeRunSnowflakeQueryParamsSchema,
|
105
|
+
outputSchema: types_1.snowflakeRunSnowflakeQueryOutputSchema,
|
106
106
|
},
|
107
107
|
},
|
108
108
|
linkedin: {
|
@@ -13,7 +13,7 @@ export declare const linkedinCreateShareLinkedinPostUrlDefinition: ActionTemplat
|
|
13
13
|
export declare const xCreateShareXPostUrlDefinition: ActionTemplate;
|
14
14
|
export declare const mongoInsertMongoDocDefinition: ActionTemplate;
|
15
15
|
export declare const snowflakeGetRowByFieldValueDefinition: ActionTemplate;
|
16
|
-
export declare const
|
16
|
+
export declare const snowflakeRunSnowflakeQueryDefinition: ActionTemplate;
|
17
17
|
export declare const openstreetmapGetLatitudeLongitudeFromLocationDefinition: ActionTemplate;
|
18
18
|
export declare const nwsGetForecastForLocationDefinition: ActionTemplate;
|
19
19
|
export declare const firecrawlScrapeUrlDefinition: ActionTemplate;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.finnhubGetBasicFinancialsDefinition = exports.finnhubSymbolLookupDefinition = exports.googleOauthCreateNewGoogleDocDefinition = exports.resendSendEmailDefinition = exports.firecrawlScrapeTweetDataWithNitterDefinition = exports.firecrawlScrapeUrlDefinition = exports.nwsGetForecastForLocationDefinition = exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = exports.
|
3
|
+
exports.finnhubGetBasicFinancialsDefinition = exports.finnhubSymbolLookupDefinition = exports.googleOauthCreateNewGoogleDocDefinition = exports.resendSendEmailDefinition = exports.firecrawlScrapeTweetDataWithNitterDefinition = exports.firecrawlScrapeUrlDefinition = exports.nwsGetForecastForLocationDefinition = exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = exports.snowflakeRunSnowflakeQueryDefinition = exports.snowflakeGetRowByFieldValueDefinition = exports.mongoInsertMongoDocDefinition = exports.xCreateShareXPostUrlDefinition = exports.linkedinCreateShareLinkedinPostUrlDefinition = exports.zendeskCreateZendeskTicketDefinition = exports.credalCallCopilotDefinition = exports.googlemapsNearbysearchRestaurantsDefinition = exports.googlemapsValidateAddressDefinition = exports.jiraCreateJiraTicketDefinition = exports.confluenceFetchPageContentDefinition = exports.confluenceOverwritePageDefinition = exports.mathAddDefinition = exports.slackListConversationsDefinition = exports.slackSendMessageDefinition = void 0;
|
4
4
|
exports.slackSendMessageDefinition = {
|
5
5
|
description: "Sends a message to a Slack channel",
|
6
6
|
scopes: ["chat:write"],
|
@@ -773,12 +773,12 @@ exports.snowflakeGetRowByFieldValueDefinition = {
|
|
773
773
|
name: "getRowByFieldValue",
|
774
774
|
provider: "snowflake",
|
775
775
|
};
|
776
|
-
exports.
|
777
|
-
description: "Execute a Snowflake query and
|
776
|
+
exports.snowflakeRunSnowflakeQueryDefinition = {
|
777
|
+
description: "Execute a Snowflake query and return output.",
|
778
778
|
scopes: [],
|
779
779
|
parameters: {
|
780
780
|
type: "object",
|
781
|
-
required: ["databaseName", "warehouse", "query", "user", "accountName"
|
781
|
+
required: ["databaseName", "warehouse", "query", "user", "accountName"],
|
782
782
|
properties: {
|
783
783
|
databaseName: {
|
784
784
|
type: "string",
|
@@ -800,32 +800,20 @@ exports.snowflakeRunSnowflakeQueryWriteResultsToS3Definition = {
|
|
800
800
|
type: "string",
|
801
801
|
description: "The name of the Snowflake account",
|
802
802
|
},
|
803
|
-
s3BucketName: {
|
804
|
-
type: "string",
|
805
|
-
description: "The name of the S3 bucket to write results to",
|
806
|
-
},
|
807
|
-
s3Region: {
|
808
|
-
type: "string",
|
809
|
-
description: "The AWS region where the S3 bucket is located",
|
810
|
-
},
|
811
803
|
outputFormat: {
|
812
804
|
type: "string",
|
813
|
-
description: "
|
805
|
+
description: "The format of the output",
|
814
806
|
enum: ["json", "csv"],
|
815
807
|
},
|
816
808
|
},
|
817
809
|
},
|
818
810
|
output: {
|
819
811
|
type: "object",
|
820
|
-
required: ["
|
812
|
+
required: ["content", "rowCount"],
|
821
813
|
properties: {
|
822
|
-
|
823
|
-
type: "string",
|
824
|
-
description: "The URL of the S3 bucket where the results are stored",
|
825
|
-
},
|
826
|
-
message: {
|
814
|
+
content: {
|
827
815
|
type: "string",
|
828
|
-
description: "
|
816
|
+
description: "The content of the query result (json)",
|
829
817
|
},
|
830
818
|
rowCount: {
|
831
819
|
type: "number",
|
@@ -833,7 +821,7 @@ exports.snowflakeRunSnowflakeQueryWriteResultsToS3Definition = {
|
|
833
821
|
},
|
834
822
|
},
|
835
823
|
},
|
836
|
-
name: "
|
824
|
+
name: "runSnowflakeQuery",
|
837
825
|
provider: "snowflake",
|
838
826
|
};
|
839
827
|
exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = {
|
@@ -769,14 +769,12 @@ export declare const snowflakeGetRowByFieldValueOutputSchema: z.ZodObject<{
|
|
769
769
|
}>;
|
770
770
|
export type snowflakeGetRowByFieldValueOutputType = z.infer<typeof snowflakeGetRowByFieldValueOutputSchema>;
|
771
771
|
export type snowflakeGetRowByFieldValueFunction = ActionFunction<snowflakeGetRowByFieldValueParamsType, AuthParamsType, snowflakeGetRowByFieldValueOutputType>;
|
772
|
-
export declare const
|
772
|
+
export declare const snowflakeRunSnowflakeQueryParamsSchema: z.ZodObject<{
|
773
773
|
databaseName: z.ZodString;
|
774
774
|
warehouse: z.ZodString;
|
775
775
|
query: z.ZodString;
|
776
776
|
user: z.ZodString;
|
777
777
|
accountName: z.ZodString;
|
778
|
-
s3BucketName: z.ZodString;
|
779
|
-
s3Region: z.ZodString;
|
780
778
|
outputFormat: z.ZodOptional<z.ZodEnum<["json", "csv"]>>;
|
781
779
|
}, "strip", z.ZodTypeAny, {
|
782
780
|
query: string;
|
@@ -784,8 +782,6 @@ export declare const snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema: z.Z
|
|
784
782
|
accountName: string;
|
785
783
|
user: string;
|
786
784
|
warehouse: string;
|
787
|
-
s3BucketName: string;
|
788
|
-
s3Region: string;
|
789
785
|
outputFormat?: "json" | "csv" | undefined;
|
790
786
|
}, {
|
791
787
|
query: string;
|
@@ -793,26 +789,21 @@ export declare const snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema: z.Z
|
|
793
789
|
accountName: string;
|
794
790
|
user: string;
|
795
791
|
warehouse: string;
|
796
|
-
s3BucketName: string;
|
797
|
-
s3Region: string;
|
798
792
|
outputFormat?: "json" | "csv" | undefined;
|
799
793
|
}>;
|
800
|
-
export type
|
801
|
-
export declare const
|
802
|
-
|
803
|
-
message: z.ZodString;
|
794
|
+
export type snowflakeRunSnowflakeQueryParamsType = z.infer<typeof snowflakeRunSnowflakeQueryParamsSchema>;
|
795
|
+
export declare const snowflakeRunSnowflakeQueryOutputSchema: z.ZodObject<{
|
796
|
+
content: z.ZodString;
|
804
797
|
rowCount: z.ZodNumber;
|
805
798
|
}, "strip", z.ZodTypeAny, {
|
806
|
-
|
807
|
-
bucketUrl: string;
|
799
|
+
content: string;
|
808
800
|
rowCount: number;
|
809
801
|
}, {
|
810
|
-
|
811
|
-
bucketUrl: string;
|
802
|
+
content: string;
|
812
803
|
rowCount: number;
|
813
804
|
}>;
|
814
|
-
export type
|
815
|
-
export type
|
805
|
+
export type snowflakeRunSnowflakeQueryOutputType = z.infer<typeof snowflakeRunSnowflakeQueryOutputSchema>;
|
806
|
+
export type snowflakeRunSnowflakeQueryFunction = ActionFunction<snowflakeRunSnowflakeQueryParamsType, AuthParamsType, snowflakeRunSnowflakeQueryOutputType>;
|
816
807
|
export declare const openstreetmapGetLatitudeLongitudeFromLocationParamsSchema: z.ZodObject<{
|
817
808
|
location: z.ZodString;
|
818
809
|
}, "strip", z.ZodTypeAny, {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.finnhubGetBasicFinancialsOutputSchema = exports.finnhubGetBasicFinancialsParamsSchema = exports.finnhubSymbolLookupOutputSchema = exports.finnhubSymbolLookupParamsSchema = exports.googleOauthCreateNewGoogleDocOutputSchema = exports.googleOauthCreateNewGoogleDocParamsSchema = exports.resendSendEmailOutputSchema = exports.resendSendEmailParamsSchema = exports.firecrawlScrapeTweetDataWithNitterOutputSchema = exports.firecrawlScrapeTweetDataWithNitterParamsSchema = exports.firecrawlScrapeUrlOutputSchema = exports.firecrawlScrapeUrlParamsSchema = exports.nwsGetForecastForLocationOutputSchema = exports.nwsGetForecastForLocationParamsSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationOutputSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationParamsSchema = exports.
|
3
|
+
exports.finnhubGetBasicFinancialsOutputSchema = exports.finnhubGetBasicFinancialsParamsSchema = exports.finnhubSymbolLookupOutputSchema = exports.finnhubSymbolLookupParamsSchema = exports.googleOauthCreateNewGoogleDocOutputSchema = exports.googleOauthCreateNewGoogleDocParamsSchema = exports.resendSendEmailOutputSchema = exports.resendSendEmailParamsSchema = exports.firecrawlScrapeTweetDataWithNitterOutputSchema = exports.firecrawlScrapeTweetDataWithNitterParamsSchema = exports.firecrawlScrapeUrlOutputSchema = exports.firecrawlScrapeUrlParamsSchema = exports.nwsGetForecastForLocationOutputSchema = exports.nwsGetForecastForLocationParamsSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationOutputSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationParamsSchema = exports.snowflakeRunSnowflakeQueryOutputSchema = exports.snowflakeRunSnowflakeQueryParamsSchema = exports.snowflakeGetRowByFieldValueOutputSchema = exports.snowflakeGetRowByFieldValueParamsSchema = exports.mongoInsertMongoDocOutputSchema = exports.mongoInsertMongoDocParamsSchema = exports.xCreateShareXPostUrlOutputSchema = exports.xCreateShareXPostUrlParamsSchema = exports.linkedinCreateShareLinkedinPostUrlOutputSchema = exports.linkedinCreateShareLinkedinPostUrlParamsSchema = exports.zendeskCreateZendeskTicketOutputSchema = exports.zendeskCreateZendeskTicketParamsSchema = exports.credalCallCopilotOutputSchema = exports.credalCallCopilotParamsSchema = exports.googlemapsNearbysearchRestaurantsOutputSchema = exports.googlemapsNearbysearchRestaurantsParamsSchema = exports.googlemapsValidateAddressOutputSchema = exports.googlemapsValidateAddressParamsSchema = exports.jiraCreateJiraTicketOutputSchema = exports.jiraCreateJiraTicketParamsSchema = exports.confluenceFetchPageContentOutputSchema = exports.confluenceFetchPageContentParamsSchema = exports.confluenceOverwritePageOutputSchema = exports.confluenceOverwritePageParamsSchema = exports.mathAddOutputSchema = exports.mathAddParamsSchema = exports.slackListConversationsOutputSchema = exports.slackListConversationsParamsSchema = exports.slackSendMessageOutputSchema = exports.slackSendMessageParamsSchema = exports.AuthParamsSchema = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
5
|
exports.AuthParamsSchema = zod_1.z.object({
|
6
6
|
authToken: zod_1.z.string().optional(),
|
@@ -249,22 +249,16 @@ exports.snowflakeGetRowByFieldValueOutputSchema = zod_1.z.object({
|
|
249
249
|
})
|
250
250
|
.describe("The row from the Snowflake table"),
|
251
251
|
});
|
252
|
-
exports.
|
252
|
+
exports.snowflakeRunSnowflakeQueryParamsSchema = zod_1.z.object({
|
253
253
|
databaseName: zod_1.z.string().describe("The name of the database to query"),
|
254
254
|
warehouse: zod_1.z.string().describe("The warehouse to use for executing the query"),
|
255
255
|
query: zod_1.z.string().describe("The SQL query to execute"),
|
256
256
|
user: zod_1.z.string().describe("The username to authenticate with"),
|
257
257
|
accountName: zod_1.z.string().describe("The name of the Snowflake account"),
|
258
|
-
|
259
|
-
s3Region: zod_1.z.string().describe("The AWS region where the S3 bucket is located"),
|
260
|
-
outputFormat: zod_1.z
|
261
|
-
.enum(["json", "csv"])
|
262
|
-
.describe("Format for the output file (json or csv, defaults to json)")
|
263
|
-
.optional(),
|
258
|
+
outputFormat: zod_1.z.enum(["json", "csv"]).describe("The format of the output").optional(),
|
264
259
|
});
|
265
|
-
exports.
|
266
|
-
|
267
|
-
message: zod_1.z.string().describe("A message describing the result or error"),
|
260
|
+
exports.snowflakeRunSnowflakeQueryOutputSchema = zod_1.z.object({
|
261
|
+
content: zod_1.z.string().describe("The content of the query result (json)"),
|
268
262
|
rowCount: zod_1.z.number().describe("The number of rows returned by the query"),
|
269
263
|
});
|
270
264
|
exports.openstreetmapGetLatitudeLongitudeFromLocationParamsSchema = zod_1.z.object({
|
package/dist/actions/groups.js
CHANGED
@@ -41,7 +41,7 @@ exports.ACTION_GROUPS = {
|
|
41
41
|
},
|
42
42
|
SNOWFLAKE_ACTIONS: {
|
43
43
|
description: "Action for getting content from a Snowflake table",
|
44
|
-
actions: [templates_1.snowflakeGetRowByFieldValueDefinition, templates_1.
|
44
|
+
actions: [templates_1.snowflakeGetRowByFieldValueDefinition, templates_1.snowflakeRunSnowflakeQueryDefinition],
|
45
45
|
},
|
46
46
|
JIRA_CREATE_TICKET: {
|
47
47
|
description: "Action for creating a Jira ticket",
|
@@ -0,0 +1,118 @@
|
|
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
|
+
// Only log errors.
|
18
|
+
snowflake_sdk_1.default.configure({ logLevel: "ERROR" });
|
19
|
+
const runSnowflakeQuery = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
|
20
|
+
const { databaseName, warehouse, query, user, accountName, outputFormat = "json" } = params;
|
21
|
+
const { apiKey: privateKey } = authParams;
|
22
|
+
if (!privateKey) {
|
23
|
+
throw new Error("Snowflake private key is required");
|
24
|
+
}
|
25
|
+
if (!accountName || !user || !databaseName || !warehouse || !query) {
|
26
|
+
throw new Error("Missing required parameters for Snowflake query");
|
27
|
+
}
|
28
|
+
const getPrivateKeyCorrectFormat = (privateKey) => {
|
29
|
+
const buffer = Buffer.from(privateKey);
|
30
|
+
const privateKeyObject = crypto_1.default.createPrivateKey({
|
31
|
+
key: buffer,
|
32
|
+
format: "pem",
|
33
|
+
passphrase: "password",
|
34
|
+
});
|
35
|
+
const privateKeyCorrectFormat = privateKeyObject.export({
|
36
|
+
format: "pem",
|
37
|
+
type: "pkcs8",
|
38
|
+
});
|
39
|
+
return privateKeyCorrectFormat.toString();
|
40
|
+
};
|
41
|
+
const executeQueryAndFormatData = () => __awaiter(void 0, void 0, void 0, function* () {
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
43
|
+
const queryResults = yield new Promise((resolve, reject) => {
|
44
|
+
connection.execute({
|
45
|
+
sqlText: query,
|
46
|
+
complete: (err, stmt, rows) => {
|
47
|
+
if (err) {
|
48
|
+
return reject(err);
|
49
|
+
}
|
50
|
+
return resolve(rows || []);
|
51
|
+
},
|
52
|
+
});
|
53
|
+
});
|
54
|
+
// Format the results based on the output format
|
55
|
+
let formattedData;
|
56
|
+
if (outputFormat.toLowerCase() === "csv") {
|
57
|
+
if (queryResults.length === 0) {
|
58
|
+
formattedData = "";
|
59
|
+
}
|
60
|
+
else {
|
61
|
+
const headers = Object.keys(queryResults[0]).join(",");
|
62
|
+
const rows = queryResults.map(row => Object.values(row)
|
63
|
+
.map(value => (typeof value === "object" && value !== null ? JSON.stringify(value) : value))
|
64
|
+
.join(","));
|
65
|
+
formattedData = [headers, ...rows].join("\n");
|
66
|
+
}
|
67
|
+
}
|
68
|
+
else {
|
69
|
+
// Default to JSON
|
70
|
+
formattedData = JSON.stringify(queryResults).replace(/\s+/g, "");
|
71
|
+
}
|
72
|
+
return { formattedData, resultsLength: queryResults.length };
|
73
|
+
});
|
74
|
+
// Process the private key
|
75
|
+
const privateKeyCorrectFormatString = getPrivateKeyCorrectFormat(privateKey);
|
76
|
+
// Set up a connection using snowflake-sdk
|
77
|
+
const connection = snowflake_sdk_1.default.createConnection({
|
78
|
+
account: accountName,
|
79
|
+
username: user,
|
80
|
+
privateKey: privateKeyCorrectFormatString,
|
81
|
+
authenticator: "SNOWFLAKE_JWT",
|
82
|
+
role: "ACCOUNTADMIN",
|
83
|
+
warehouse: warehouse,
|
84
|
+
database: databaseName,
|
85
|
+
});
|
86
|
+
try {
|
87
|
+
// Connect to Snowflake
|
88
|
+
yield new Promise((resolve, reject) => {
|
89
|
+
connection.connect((err, conn) => {
|
90
|
+
if (err) {
|
91
|
+
console.error("Unable to connect to Snowflake:", err.message);
|
92
|
+
return reject(err);
|
93
|
+
}
|
94
|
+
resolve(conn);
|
95
|
+
});
|
96
|
+
});
|
97
|
+
const { formattedData, resultsLength } = yield executeQueryAndFormatData();
|
98
|
+
// Return fields to match schema definition
|
99
|
+
connection.destroy(err => {
|
100
|
+
if (err) {
|
101
|
+
console.log("Failed to disconnect from Snowflake:", err);
|
102
|
+
}
|
103
|
+
});
|
104
|
+
return {
|
105
|
+
rowCount: resultsLength,
|
106
|
+
content: formattedData,
|
107
|
+
};
|
108
|
+
}
|
109
|
+
catch (error) {
|
110
|
+
connection.destroy(err => {
|
111
|
+
if (err) {
|
112
|
+
console.log("Failed to disconnect from Snowflake:", err);
|
113
|
+
}
|
114
|
+
});
|
115
|
+
throw Error(`An error occurred: ${error}`);
|
116
|
+
}
|
117
|
+
});
|
118
|
+
exports.default = runSnowflakeQuery;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@credal/actions",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.26",
|
4
4
|
"description": "AI Actions by Credal AI",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"types": "dist/index.d.ts",
|
@@ -38,7 +38,6 @@
|
|
38
38
|
"typescript-eslint": "^8.18.0"
|
39
39
|
},
|
40
40
|
"dependencies": {
|
41
|
-
"@aws-sdk/s3-request-presigner": "^3.758.0",
|
42
41
|
"@credal/sdk": "^0.0.21",
|
43
42
|
"@mendable/firecrawl-js": "^1.19.0",
|
44
43
|
"@slack/web-api": "^7.8.0",
|
@@ -50,7 +49,6 @@
|
|
50
49
|
"resend": "^4.1.2",
|
51
50
|
"snowflake-sdk": "^2.0.2",
|
52
51
|
"ts-node": "^10.9.2",
|
53
|
-
"uuid": "^11.1.0",
|
54
52
|
"zod": "^3.24.1"
|
55
53
|
}
|
56
54
|
}
|