@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.
@@ -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 runSnowflakeQueryWriteResultsToS3_1 = __importDefault(require("./providers/snowflake/runSnowflakeQueryWriteResultsToS3"));
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
- runSnowflakeQueryWriteResultsToS3: {
103
- fn: runSnowflakeQueryWriteResultsToS3_1.default,
104
- paramsSchema: types_1.snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema,
105
- outputSchema: types_1.snowflakeRunSnowflakeQueryWriteResultsToS3OutputSchema,
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 snowflakeRunSnowflakeQueryWriteResultsToS3Definition: ActionTemplate;
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.snowflakeRunSnowflakeQueryWriteResultsToS3Definition = 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;
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.snowflakeRunSnowflakeQueryWriteResultsToS3Definition = {
777
- description: "Execute a Snowflake query and write results to an S3 bucket",
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", "s3BucketName", "s3Region"],
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: "Format for the output file (json or csv, defaults to json)",
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: ["bucketUrl", "message", "rowCount"],
812
+ required: ["content", "rowCount"],
821
813
  properties: {
822
- bucketUrl: {
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: "A message describing the result or error",
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: "runSnowflakeQueryWriteResultsToS3",
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 snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema: z.ZodObject<{
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 snowflakeRunSnowflakeQueryWriteResultsToS3ParamsType = z.infer<typeof snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema>;
801
- export declare const snowflakeRunSnowflakeQueryWriteResultsToS3OutputSchema: z.ZodObject<{
802
- bucketUrl: z.ZodString;
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
- message: string;
807
- bucketUrl: string;
799
+ content: string;
808
800
  rowCount: number;
809
801
  }, {
810
- message: string;
811
- bucketUrl: string;
802
+ content: string;
812
803
  rowCount: number;
813
804
  }>;
814
- export type snowflakeRunSnowflakeQueryWriteResultsToS3OutputType = z.infer<typeof snowflakeRunSnowflakeQueryWriteResultsToS3OutputSchema>;
815
- export type snowflakeRunSnowflakeQueryWriteResultsToS3Function = ActionFunction<snowflakeRunSnowflakeQueryWriteResultsToS3ParamsType, AuthParamsType, snowflakeRunSnowflakeQueryWriteResultsToS3OutputType>;
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.snowflakeRunSnowflakeQueryWriteResultsToS3OutputSchema = exports.snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema = 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;
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.snowflakeRunSnowflakeQueryWriteResultsToS3ParamsSchema = zod_1.z.object({
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
- s3BucketName: zod_1.z.string().describe("The name of the S3 bucket to write results to"),
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.snowflakeRunSnowflakeQueryWriteResultsToS3OutputSchema = zod_1.z.object({
266
- bucketUrl: zod_1.z.string().describe("The URL of the S3 bucket where the results are stored"),
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({
@@ -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.snowflakeRunSnowflakeQueryWriteResultsToS3Definition],
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,3 @@
1
+ import { snowflakeRunSnowflakeQueryFunction } from "../../autogen/types";
2
+ declare const runSnowflakeQuery: snowflakeRunSnowflakeQueryFunction;
3
+ export default runSnowflakeQuery;
@@ -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.25",
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
  }