@credal/actions 0.1.9 → 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.
@@ -17,9 +17,10 @@ const createZendeskTicket_1 = __importDefault(require("./providers/zendesk/creat
17
17
  const createJiraTicket_1 = __importDefault(require("./providers/jira/createJiraTicket"));
18
18
  const getLatitudeLongitudeFromLocation_1 = __importDefault(require("./providers/openstreetmap/getLatitudeLongitudeFromLocation"));
19
19
  const getForecastForLocation_1 = __importDefault(require("./providers/nws/getForecastForLocation"));
20
- const nearbysearch_1 = __importDefault(require("./providers/googlemaps/nearbysearch"));
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: {
@@ -54,9 +55,9 @@ exports.ActionMapper = {
54
55
  outputSchema: types_1.googlemapsValidateAddressOutputSchema,
55
56
  },
56
57
  nearbysearch: {
57
- fn: nearbysearch_1.default,
58
- paramsSchema: types_1.googlemapsNearbysearchParamsSchema,
59
- outputSchema: types_1.googlemapsNearbysearchOutputSchema,
58
+ fn: nearbysearchRestaurants_1.default,
59
+ paramsSchema: types_1.googlemapsNearbysearchRestaurantsParamsSchema,
60
+ outputSchema: types_1.googlemapsNearbysearchRestaurantsOutputSchema,
60
61
  },
61
62
  },
62
63
  credal: {
@@ -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,
@@ -5,9 +5,10 @@ export declare const mathAddDefinition: ActionTemplate;
5
5
  export declare const confluenceUpdatePageDefinition: ActionTemplate;
6
6
  export declare const jiraCreateJiraTicketDefinition: ActionTemplate;
7
7
  export declare const googlemapsValidateAddressDefinition: ActionTemplate;
8
- export declare const googlemapsNearbysearchDefinition: ActionTemplate;
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.googlemapsNearbysearchDefinition = 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: {
@@ -335,7 +331,7 @@ exports.googlemapsValidateAddressDefinition = {
335
331
  name: "validateAddress",
336
332
  provider: "googlemaps",
337
333
  };
338
- exports.googlemapsNearbysearchDefinition = {
334
+ exports.googlemapsNearbysearchRestaurantsDefinition = {
339
335
  description: "Search for nearby places using Google Maps",
340
336
  scopes: [],
341
337
  parameters: {
@@ -390,12 +386,16 @@ exports.googlemapsNearbysearchDefinition = {
390
386
  type: "string",
391
387
  description: "The editorial summary of the place",
392
388
  },
389
+ websiteUri: {
390
+ type: "string",
391
+ description: "The website URI of the place",
392
+ },
393
393
  },
394
394
  },
395
395
  },
396
396
  },
397
397
  },
398
- name: "nearbysearch",
398
+ name: "nearbysearchRestaurants",
399
399
  provider: "googlemaps",
400
400
  };
401
401
  exports.credalCallCopilotDefinition = {
@@ -474,6 +474,36 @@ exports.zendeskCreateZendeskTicketDefinition = {
474
474
  name: "createZendeskTicket",
475
475
  provider: "zendesk",
476
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
+ };
477
507
  exports.mongoInsertMongoDocDefinition = {
478
508
  description: "Insert a document into a MongoDB collection",
479
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;
@@ -373,7 +373,7 @@ export declare const googlemapsValidateAddressOutputSchema: z.ZodObject<{
373
373
  }>;
374
374
  export type googlemapsValidateAddressOutputType = z.infer<typeof googlemapsValidateAddressOutputSchema>;
375
375
  export type googlemapsValidateAddressFunction = ActionFunction<googlemapsValidateAddressParamsType, AuthParamsType, googlemapsValidateAddressOutputType>;
376
- export declare const googlemapsNearbysearchParamsSchema: z.ZodObject<{
376
+ export declare const googlemapsNearbysearchRestaurantsParamsSchema: z.ZodObject<{
377
377
  latitude: z.ZodNumber;
378
378
  longitude: z.ZodNumber;
379
379
  }, "strip", z.ZodTypeAny, {
@@ -383,8 +383,8 @@ export declare const googlemapsNearbysearchParamsSchema: z.ZodObject<{
383
383
  latitude: number;
384
384
  longitude: number;
385
385
  }>;
386
- export type googlemapsNearbysearchParamsType = z.infer<typeof googlemapsNearbysearchParamsSchema>;
387
- export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
386
+ export type googlemapsNearbysearchRestaurantsParamsType = z.infer<typeof googlemapsNearbysearchRestaurantsParamsSchema>;
387
+ export declare const googlemapsNearbysearchRestaurantsOutputSchema: z.ZodObject<{
388
388
  results: z.ZodArray<z.ZodObject<{
389
389
  name: z.ZodOptional<z.ZodString>;
390
390
  address: z.ZodOptional<z.ZodString>;
@@ -393,6 +393,7 @@ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
393
393
  openingHours: z.ZodOptional<z.ZodString>;
394
394
  primaryType: z.ZodOptional<z.ZodString>;
395
395
  editorialSummary: z.ZodOptional<z.ZodString>;
396
+ websiteUri: z.ZodOptional<z.ZodString>;
396
397
  }, "strip", z.ZodTypeAny, {
397
398
  name?: string | undefined;
398
399
  address?: string | undefined;
@@ -401,6 +402,7 @@ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
401
402
  openingHours?: string | undefined;
402
403
  primaryType?: string | undefined;
403
404
  editorialSummary?: string | undefined;
405
+ websiteUri?: string | undefined;
404
406
  }, {
405
407
  name?: string | undefined;
406
408
  address?: string | undefined;
@@ -409,6 +411,7 @@ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
409
411
  openingHours?: string | undefined;
410
412
  primaryType?: string | undefined;
411
413
  editorialSummary?: string | undefined;
414
+ websiteUri?: string | undefined;
412
415
  }>, "many">;
413
416
  }, "strip", z.ZodTypeAny, {
414
417
  results: {
@@ -419,6 +422,7 @@ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
419
422
  openingHours?: string | undefined;
420
423
  primaryType?: string | undefined;
421
424
  editorialSummary?: string | undefined;
425
+ websiteUri?: string | undefined;
422
426
  }[];
423
427
  }, {
424
428
  results: {
@@ -429,10 +433,11 @@ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
429
433
  openingHours?: string | undefined;
430
434
  primaryType?: string | undefined;
431
435
  editorialSummary?: string | undefined;
436
+ websiteUri?: string | undefined;
432
437
  }[];
433
438
  }>;
434
- export type googlemapsNearbysearchOutputType = z.infer<typeof googlemapsNearbysearchOutputSchema>;
435
- export type googlemapsNearbysearchFunction = ActionFunction<googlemapsNearbysearchParamsType, AuthParamsType, googlemapsNearbysearchOutputType>;
439
+ export type googlemapsNearbysearchRestaurantsOutputType = z.infer<typeof googlemapsNearbysearchRestaurantsOutputSchema>;
440
+ export type googlemapsNearbysearchRestaurantsFunction = ActionFunction<googlemapsNearbysearchRestaurantsParamsType, AuthParamsType, googlemapsNearbysearchRestaurantsOutputType>;
436
441
  export declare const credalCallCopilotParamsSchema: z.ZodObject<{
437
442
  agentId: z.ZodString;
438
443
  query: z.ZodString;
@@ -485,6 +490,26 @@ export declare const zendeskCreateZendeskTicketOutputSchema: z.ZodObject<{
485
490
  }>;
486
491
  export type zendeskCreateZendeskTicketOutputType = z.infer<typeof zendeskCreateZendeskTicketOutputSchema>;
487
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>;
488
513
  export declare const mongoInsertMongoDocParamsSchema: z.ZodObject<{
489
514
  databaseName: z.ZodString;
490
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.googlemapsNearbysearchOutputSchema = exports.googlemapsNearbysearchParamsSchema = 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"),
@@ -114,11 +114,11 @@ exports.googlemapsValidateAddressOutputSchema = zod_1.z.object({
114
114
  .describe("USPS-specific validation details.")
115
115
  .optional(),
116
116
  });
117
- exports.googlemapsNearbysearchParamsSchema = zod_1.z.object({
117
+ exports.googlemapsNearbysearchRestaurantsParamsSchema = zod_1.z.object({
118
118
  latitude: zod_1.z.number().describe("The latitude of the location to search nearby"),
119
119
  longitude: zod_1.z.number().describe("The longitude of the location to search nearby"),
120
120
  });
121
- exports.googlemapsNearbysearchOutputSchema = zod_1.z.object({
121
+ exports.googlemapsNearbysearchRestaurantsOutputSchema = zod_1.z.object({
122
122
  results: zod_1.z
123
123
  .array(zod_1.z.object({
124
124
  name: zod_1.z.string().describe("The name of the place").optional(),
@@ -128,6 +128,7 @@ exports.googlemapsNearbysearchOutputSchema = zod_1.z.object({
128
128
  openingHours: zod_1.z.string().describe("The opening hours of the place").optional(),
129
129
  primaryType: zod_1.z.string().describe("The primary type of the place").optional(),
130
130
  editorialSummary: zod_1.z.string().describe("The editorial summary of the place").optional(),
131
+ websiteUri: zod_1.z.string().describe("The website URI of the place").optional(),
131
132
  }))
132
133
  .describe("The results of the nearby search"),
133
134
  });
@@ -149,6 +150,13 @@ exports.zendeskCreateZendeskTicketOutputSchema = zod_1.z.object({
149
150
  ticketId: zod_1.z.string().describe("The ID of the ticket created"),
150
151
  ticketUrl: zod_1.z.string().describe("The URL of the ticket created").optional(),
151
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
+ });
152
160
  exports.mongoInsertMongoDocParamsSchema = zod_1.z.object({
153
161
  databaseName: zod_1.z.string().describe("Database to connect to"),
154
162
  collectionName: zod_1.z.string().describe("Collection to insert the document into"),
@@ -17,12 +17,16 @@ exports.ACTION_GROUPS = {
17
17
  },
18
18
  GOOGLE_MAPS: {
19
19
  description: "Action for interacting with Google Maps",
20
- actions: [templates_1.googlemapsValidateAddressDefinition, templates_1.googlemapsNearbysearchDefinition],
20
+ actions: [templates_1.googlemapsValidateAddressDefinition, templates_1.googlemapsNearbysearchRestaurantsDefinition],
21
21
  },
22
22
  CREDAL_CALL_COPILOT: {
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(),
@@ -0,0 +1,3 @@
1
+ import { googlemapsNearbysearchRestaurantsFunction } from "../../autogen/types";
2
+ declare const nearbysearchRestaurants: googlemapsNearbysearchRestaurantsFunction;
3
+ export default nearbysearchRestaurants;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const axios_1 = __importDefault(require("axios"));
16
+ const types_1 = require("../../autogen/types");
17
+ const INCLUDED_TYPES = ["restaurant"];
18
+ const nearbysearchRestaurants = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
19
+ const url = `https://places.googleapis.com/v1/places:searchNearby`;
20
+ const fieldMask = [
21
+ "places.displayName",
22
+ "places.formattedAddress",
23
+ "places.priceLevel",
24
+ "places.rating",
25
+ "places.primaryTypeDisplayName",
26
+ "places.editorialSummary",
27
+ "places.regularOpeningHours",
28
+ "places.websiteUri",
29
+ ].join(",");
30
+ const response = yield axios_1.default.post(url, {
31
+ maxResultCount: 20,
32
+ includedTypes: INCLUDED_TYPES,
33
+ locationRestriction: {
34
+ circle: {
35
+ center: {
36
+ latitude: params.latitude,
37
+ longitude: params.longitude,
38
+ },
39
+ radius: 5000,
40
+ },
41
+ },
42
+ }, {
43
+ headers: {
44
+ "X-Goog-Api-Key": authParams.apiKey,
45
+ "X-Goog-FieldMask": fieldMask,
46
+ "Content-Type": "application/json",
47
+ },
48
+ });
49
+ return types_1.googlemapsNearbysearchRestaurantsOutputSchema.parse({
50
+ results: response.data.places.map((place) => {
51
+ var _a, _b;
52
+ return ({
53
+ name: place.displayName.text,
54
+ address: place.formattedAddress,
55
+ priceLevel: place.priceLevel,
56
+ rating: place.rating,
57
+ primaryType: place.primaryTypeDisplayName.text,
58
+ editorialSummary: ((_a = place.editorialSummary) === null || _a === void 0 ? void 0 : _a.text) || "",
59
+ openingHours: ((_b = place.regularOpeningHours) === null || _b === void 0 ? void 0 : _b.weekdayDescriptions.join("\n")) || "",
60
+ websiteUri: place.websiteUri,
61
+ });
62
+ }),
63
+ });
64
+ });
65
+ exports.default = nearbysearchRestaurants;
@@ -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.9",
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
- });