@credal/actions 0.1.10 → 0.1.12

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.
@@ -20,6 +20,7 @@ const getForecastForLocation_1 = __importDefault(require("./providers/nws/getFor
20
20
  const nearbysearchRestaurants_1 = __importDefault(require("./providers/googlemaps/nearbysearchRestaurants"));
21
21
  const scrapeUrl_1 = __importDefault(require("./providers/firecrawl/scrapeUrl"));
22
22
  const sendEmail_1 = __importDefault(require("./providers/resend/sendEmail"));
23
+ const createSharePostLinkedinUrl_1 = __importDefault(require("./providers/linkedin/createSharePostLinkedinUrl"));
23
24
  exports.ActionMapper = {
24
25
  math: {
25
26
  add: {
@@ -87,6 +88,13 @@ exports.ActionMapper = {
87
88
  outputSchema: types_1.snowflakeGetRowByFieldValueOutputSchema,
88
89
  },
89
90
  },
91
+ linkedin: {
92
+ createShareLinkedinPostUrl: {
93
+ fn: createSharePostLinkedinUrl_1.default,
94
+ paramsSchema: types_1.linkedinCreateShareLinkedinPostUrlParamsSchema,
95
+ outputSchema: types_1.linkedinCreateShareLinkedinPostUrlOutputSchema,
96
+ },
97
+ },
90
98
  jira: {
91
99
  createJiraTicket: {
92
100
  fn: createJiraTicket_1.default,
@@ -8,6 +8,7 @@ export declare const googlemapsValidateAddressDefinition: ActionTemplate;
8
8
  export declare const googlemapsNearbysearchRestaurantsDefinition: ActionTemplate;
9
9
  export declare const credalCallCopilotDefinition: ActionTemplate;
10
10
  export declare const zendeskCreateZendeskTicketDefinition: ActionTemplate;
11
+ export declare const linkedinCreateShareLinkedinPostUrlDefinition: ActionTemplate;
11
12
  export declare const mongoInsertMongoDocDefinition: ActionTemplate;
12
13
  export declare const snowflakeGetRowByFieldValueDefinition: ActionTemplate;
13
14
  export declare const openstreetmapGetLatitudeLongitudeFromLocationDefinition: ActionTemplate;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resendSendEmailDefinition = exports.firecrawlScrapeUrlDefinition = exports.nwsGetForecastForLocationDefinition = exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = exports.snowflakeGetRowByFieldValueDefinition = exports.mongoInsertMongoDocDefinition = exports.zendeskCreateZendeskTicketDefinition = exports.credalCallCopilotDefinition = exports.googlemapsNearbysearchRestaurantsDefinition = exports.googlemapsValidateAddressDefinition = exports.jiraCreateJiraTicketDefinition = exports.confluenceUpdatePageDefinition = exports.mathAddDefinition = exports.slackListConversationsDefinition = exports.slackSendMessageDefinition = void 0;
3
+ exports.resendSendEmailDefinition = exports.firecrawlScrapeUrlDefinition = exports.nwsGetForecastForLocationDefinition = exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = exports.snowflakeGetRowByFieldValueDefinition = exports.mongoInsertMongoDocDefinition = exports.linkedinCreateShareLinkedinPostUrlDefinition = exports.zendeskCreateZendeskTicketDefinition = exports.credalCallCopilotDefinition = exports.googlemapsNearbysearchRestaurantsDefinition = exports.googlemapsValidateAddressDefinition = exports.jiraCreateJiraTicketDefinition = exports.confluenceUpdatePageDefinition = 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"],
@@ -123,7 +123,7 @@ exports.jiraCreateJiraTicketDefinition = {
123
123
  scopes: [],
124
124
  parameters: {
125
125
  type: "object",
126
- required: ["projectKey", "summary", "description", "issueType", "username"],
126
+ required: ["projectKey", "summary", "description", "issueType"],
127
127
  properties: {
128
128
  projectKey: {
129
129
  type: "string",
@@ -149,10 +149,6 @@ exports.jiraCreateJiraTicketDefinition = {
149
149
  type: "string",
150
150
  description: "The assignee for the new ticket creation",
151
151
  },
152
- username: {
153
- type: "string",
154
- description: "The username of the person creating the ticket",
155
- },
156
152
  },
157
153
  },
158
154
  output: {
@@ -478,6 +474,36 @@ exports.zendeskCreateZendeskTicketDefinition = {
478
474
  name: "createZendeskTicket",
479
475
  provider: "zendesk",
480
476
  };
477
+ exports.linkedinCreateShareLinkedinPostUrlDefinition = {
478
+ description: "Create a share linkedin post link",
479
+ scopes: [],
480
+ parameters: {
481
+ type: "object",
482
+ required: [],
483
+ properties: {
484
+ text: {
485
+ type: "string",
486
+ description: "The text for the linkedin post",
487
+ },
488
+ url: {
489
+ type: "string",
490
+ description: "The url for the linkedin post",
491
+ },
492
+ },
493
+ },
494
+ output: {
495
+ type: "object",
496
+ required: ["linkedinUrl"],
497
+ properties: {
498
+ linkedinUrl: {
499
+ type: "string",
500
+ description: "The share post linkedin URL",
501
+ },
502
+ },
503
+ },
504
+ name: "createShareLinkedinPostUrl",
505
+ provider: "linkedin",
506
+ };
481
507
  exports.mongoInsertMongoDocDefinition = {
482
508
  description: "Insert a document into a MongoDB collection",
483
509
  scopes: [],
@@ -7,10 +7,12 @@ export declare const AuthParamsSchema: z.ZodObject<{
7
7
  authToken: z.ZodOptional<z.ZodString>;
8
8
  baseUrl: z.ZodOptional<z.ZodString>;
9
9
  apiKey: z.ZodOptional<z.ZodString>;
10
+ username: z.ZodOptional<z.ZodString>;
10
11
  userAgent: z.ZodOptional<z.ZodString>;
11
12
  emailFrom: z.ZodOptional<z.ZodString>;
12
13
  emailReplyTo: z.ZodOptional<z.ZodString>;
13
14
  }, "strip", z.ZodTypeAny, {
15
+ username?: string | undefined;
14
16
  authToken?: string | undefined;
15
17
  baseUrl?: string | undefined;
16
18
  apiKey?: string | undefined;
@@ -18,6 +20,7 @@ export declare const AuthParamsSchema: z.ZodObject<{
18
20
  emailFrom?: string | undefined;
19
21
  emailReplyTo?: string | undefined;
20
22
  }, {
23
+ username?: string | undefined;
21
24
  authToken?: string | undefined;
22
25
  baseUrl?: string | undefined;
23
26
  apiKey?: string | undefined;
@@ -123,10 +126,8 @@ export declare const jiraCreateJiraTicketParamsSchema: z.ZodObject<{
123
126
  issueType: z.ZodString;
124
127
  reporter: z.ZodOptional<z.ZodString>;
125
128
  assignee: z.ZodOptional<z.ZodString>;
126
- username: z.ZodString;
127
129
  }, "strip", z.ZodTypeAny, {
128
130
  description: string;
129
- username: string;
130
131
  projectKey: string;
131
132
  summary: string;
132
133
  issueType: string;
@@ -134,7 +135,6 @@ export declare const jiraCreateJiraTicketParamsSchema: z.ZodObject<{
134
135
  assignee?: string | undefined;
135
136
  }, {
136
137
  description: string;
137
- username: string;
138
138
  projectKey: string;
139
139
  summary: string;
140
140
  issueType: string;
@@ -490,6 +490,26 @@ export declare const zendeskCreateZendeskTicketOutputSchema: z.ZodObject<{
490
490
  }>;
491
491
  export type zendeskCreateZendeskTicketOutputType = z.infer<typeof zendeskCreateZendeskTicketOutputSchema>;
492
492
  export type zendeskCreateZendeskTicketFunction = ActionFunction<zendeskCreateZendeskTicketParamsType, AuthParamsType, zendeskCreateZendeskTicketOutputType>;
493
+ export declare const linkedinCreateShareLinkedinPostUrlParamsSchema: z.ZodObject<{
494
+ text: z.ZodOptional<z.ZodString>;
495
+ url: z.ZodOptional<z.ZodString>;
496
+ }, "strip", z.ZodTypeAny, {
497
+ text?: string | undefined;
498
+ url?: string | undefined;
499
+ }, {
500
+ text?: string | undefined;
501
+ url?: string | undefined;
502
+ }>;
503
+ export type linkedinCreateShareLinkedinPostUrlParamsType = z.infer<typeof linkedinCreateShareLinkedinPostUrlParamsSchema>;
504
+ export declare const linkedinCreateShareLinkedinPostUrlOutputSchema: z.ZodObject<{
505
+ linkedinUrl: z.ZodString;
506
+ }, "strip", z.ZodTypeAny, {
507
+ linkedinUrl: string;
508
+ }, {
509
+ linkedinUrl: string;
510
+ }>;
511
+ export type linkedinCreateShareLinkedinPostUrlOutputType = z.infer<typeof linkedinCreateShareLinkedinPostUrlOutputSchema>;
512
+ export type linkedinCreateShareLinkedinPostUrlFunction = ActionFunction<linkedinCreateShareLinkedinPostUrlParamsType, AuthParamsType, linkedinCreateShareLinkedinPostUrlOutputType>;
493
513
  export declare const mongoInsertMongoDocParamsSchema: z.ZodObject<{
494
514
  databaseName: z.ZodString;
495
515
  collectionName: z.ZodString;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resendSendEmailOutputSchema = exports.resendSendEmailParamsSchema = exports.firecrawlScrapeUrlOutputSchema = exports.firecrawlScrapeUrlParamsSchema = exports.nwsGetForecastForLocationOutputSchema = exports.nwsGetForecastForLocationParamsSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationOutputSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationParamsSchema = exports.snowflakeGetRowByFieldValueOutputSchema = exports.snowflakeGetRowByFieldValueParamsSchema = exports.mongoInsertMongoDocOutputSchema = exports.mongoInsertMongoDocParamsSchema = exports.zendeskCreateZendeskTicketOutputSchema = exports.zendeskCreateZendeskTicketParamsSchema = exports.credalCallCopilotOutputSchema = exports.credalCallCopilotParamsSchema = exports.googlemapsNearbysearchRestaurantsOutputSchema = exports.googlemapsNearbysearchRestaurantsParamsSchema = exports.googlemapsValidateAddressOutputSchema = exports.googlemapsValidateAddressParamsSchema = exports.jiraCreateJiraTicketOutputSchema = exports.jiraCreateJiraTicketParamsSchema = exports.confluenceUpdatePageOutputSchema = exports.confluenceUpdatePageParamsSchema = exports.mathAddOutputSchema = exports.mathAddParamsSchema = exports.slackListConversationsOutputSchema = exports.slackListConversationsParamsSchema = exports.slackSendMessageOutputSchema = exports.slackSendMessageParamsSchema = exports.AuthParamsSchema = void 0;
3
+ exports.resendSendEmailOutputSchema = exports.resendSendEmailParamsSchema = exports.firecrawlScrapeUrlOutputSchema = exports.firecrawlScrapeUrlParamsSchema = exports.nwsGetForecastForLocationOutputSchema = exports.nwsGetForecastForLocationParamsSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationOutputSchema = exports.openstreetmapGetLatitudeLongitudeFromLocationParamsSchema = exports.snowflakeGetRowByFieldValueOutputSchema = exports.snowflakeGetRowByFieldValueParamsSchema = exports.mongoInsertMongoDocOutputSchema = exports.mongoInsertMongoDocParamsSchema = 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.confluenceUpdatePageOutputSchema = exports.confluenceUpdatePageParamsSchema = 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(),
7
7
  baseUrl: zod_1.z.string().optional(),
8
8
  apiKey: zod_1.z.string().optional(),
9
+ username: zod_1.z.string().optional(),
9
10
  userAgent: zod_1.z.string().optional(),
10
11
  emailFrom: zod_1.z.string().optional(),
11
12
  emailReplyTo: zod_1.z.string().optional(),
@@ -47,7 +48,6 @@ exports.jiraCreateJiraTicketParamsSchema = zod_1.z.object({
47
48
  issueType: zod_1.z.string().describe("The issue type of the new ticket"),
48
49
  reporter: zod_1.z.string().describe("The reporter for the new ticket creation").optional(),
49
50
  assignee: zod_1.z.string().describe("The assignee for the new ticket creation").optional(),
50
- username: zod_1.z.string().describe("The username of the person creating the ticket"),
51
51
  });
52
52
  exports.jiraCreateJiraTicketOutputSchema = zod_1.z.object({
53
53
  ticketUrl: zod_1.z.string().describe("The url to the created Jira Ticket"),
@@ -150,6 +150,13 @@ exports.zendeskCreateZendeskTicketOutputSchema = zod_1.z.object({
150
150
  ticketId: zod_1.z.string().describe("The ID of the ticket created"),
151
151
  ticketUrl: zod_1.z.string().describe("The URL of the ticket created").optional(),
152
152
  });
153
+ exports.linkedinCreateShareLinkedinPostUrlParamsSchema = zod_1.z.object({
154
+ text: zod_1.z.string().describe("The text for the linkedin post").optional(),
155
+ url: zod_1.z.string().describe("The url for the linkedin post").optional(),
156
+ });
157
+ exports.linkedinCreateShareLinkedinPostUrlOutputSchema = zod_1.z.object({
158
+ linkedinUrl: zod_1.z.string().describe("The share post linkedin URL"),
159
+ });
153
160
  exports.mongoInsertMongoDocParamsSchema = zod_1.z.object({
154
161
  databaseName: zod_1.z.string().describe("Database to connect to"),
155
162
  collectionName: zod_1.z.string().describe("Collection to insert the document into"),
@@ -23,6 +23,10 @@ exports.ACTION_GROUPS = {
23
23
  description: "Action for calling a Credal Copilot",
24
24
  actions: [templates_1.credalCallCopilotDefinition],
25
25
  },
26
+ LINKEDIN_SHARE_POST: {
27
+ description: "Action for creating a share post url on linkedin",
28
+ actions: [templates_1.linkedinCreateShareLinkedinPostUrlDefinition],
29
+ },
26
30
  ZENDESK_CREATE_TICKET: {
27
31
  description: "Action for creating a Zendesk ticket",
28
32
  actions: [templates_1.zendeskCreateZendeskTicketDefinition],
@@ -43,6 +43,7 @@ z.object({
43
43
  authToken: z.string().optional(),
44
44
  baseUrl: z.string().optional(),
45
45
  apiKey: z.string().optional(),
46
+ username: z.string().optional(),
46
47
  userAgent: z.string().optional(),
47
48
  emailFrom: z.string().optional(),
48
49
  emailReplyTo: z.string().optional(),
@@ -15,38 +15,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const axios_1 = __importDefault(require("axios"));
16
16
  const types_1 = require("../../autogen/types");
17
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",
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
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",
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
50
  ];
51
51
  const nearbysearch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
52
52
  const url = `https://places.googleapis.com/v1/places:searchNearby`;
@@ -35,17 +35,27 @@ function getUserAccountId(email, baseUrl, authToken, username) {
35
35
  });
36
36
  }
37
37
  const createJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
38
- const { authToken, baseUrl } = authParams;
38
+ const { authToken, baseUrl, username } = authParams;
39
39
  const url = `${baseUrl}/rest/api/3/issue`;
40
40
  // If assignee is an email, look up the account ID
41
41
  let reporterId = null;
42
- if (params.reporter && typeof params.reporter === "string" && params.reporter.includes("@") && baseUrl && authToken) {
43
- reporterId = yield getUserAccountId(params.reporter, baseUrl, authToken, params.username);
42
+ if (params.reporter &&
43
+ typeof params.reporter === "string" &&
44
+ params.reporter.includes("@") &&
45
+ baseUrl &&
46
+ authToken &&
47
+ username) {
48
+ reporterId = yield getUserAccountId(params.reporter, baseUrl, authToken, username);
44
49
  }
45
50
  // If assignee is an email, look up the account ID
46
51
  let assigneeId = null;
47
- if (params.assignee && typeof params.assignee === "string" && params.assignee.includes("@") && baseUrl && authToken) {
48
- assigneeId = yield getUserAccountId(params.assignee, baseUrl, authToken, params.username);
52
+ if (params.assignee &&
53
+ typeof params.assignee === "string" &&
54
+ params.assignee.includes("@") &&
55
+ baseUrl &&
56
+ authToken &&
57
+ username) {
58
+ assigneeId = yield getUserAccountId(params.assignee, baseUrl, authToken, username);
49
59
  }
50
60
  const description = typeof params.description === "string"
51
61
  ? {
@@ -73,7 +83,7 @@ const createJiraTicket = (_a) => __awaiter(void 0, [_a], void 0, function* ({ pa
73
83
  };
74
84
  const response = yield axios_1.default.post(url, payload, {
75
85
  headers: {
76
- Authorization: `Basic ${Buffer.from(`${params.username}:${authToken}`).toString("base64")}`,
86
+ Authorization: `Basic ${Buffer.from(`${username}:${authToken}`).toString("base64")}`,
77
87
  "Content-Type": "application/json",
78
88
  },
79
89
  });
@@ -0,0 +1,3 @@
1
+ import { linkedinCreateShareLinkedinPostUrlFunction } from "../../autogen/types";
2
+ declare const createShareLinkedinPostUrl: linkedinCreateShareLinkedinPostUrlFunction;
3
+ export default createShareLinkedinPostUrl;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createShareLinkedinPostUrl = ({ params, }) => {
4
+ const baseUrl = "https://www.linkedin.com/feed/?shareActive=true";
5
+ let shareUrl = baseUrl;
6
+ // Only add text parameter if it exists
7
+ if (params.text) {
8
+ const encodedText = encodeURIComponent(params.text);
9
+ shareUrl += `&text=${encodedText}`;
10
+ }
11
+ // Only add url parameter if it exists
12
+ if (params.url) {
13
+ const encodedUrl = encodeURIComponent(params.url);
14
+ shareUrl += `&shareUrl=${encodedUrl}`;
15
+ }
16
+ return Promise.resolve({
17
+ linkedinUrl: shareUrl,
18
+ });
19
+ };
20
+ exports.default = createShareLinkedinPostUrl;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@credal/actions",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "AI Actions by Credal AI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -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,3 +0,0 @@
1
- import { jiraCreateTicketFunction } from "../../autogen/types";
2
- declare const createTicket: jiraCreateTicketFunction;
3
- export default createTicket;
@@ -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,3 +0,0 @@
1
- import { slackListConversationsFunction } from "../../../actions/autogen/types";
2
- declare const slackListConversations: slackListConversationsFunction;
3
- export default slackListConversations;
@@ -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,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
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
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
- });