@credal/actions 0.1.5 → 0.1.7

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,6 +17,7 @@ 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
21
  exports.ActionMapper = {
21
22
  math: {
22
23
  add: {
@@ -50,6 +51,11 @@ exports.ActionMapper = {
50
51
  paramsSchema: types_1.googlemapsValidateAddressParamsSchema,
51
52
  outputSchema: types_1.googlemapsValidateAddressOutputSchema,
52
53
  },
54
+ nearbysearch: {
55
+ fn: nearbysearch_1.default,
56
+ paramsSchema: types_1.googlemapsNearbysearchParamsSchema,
57
+ outputSchema: types_1.googlemapsNearbysearchOutputSchema,
58
+ },
53
59
  },
54
60
  credal: {
55
61
  callCopilot: {
@@ -5,6 +5,7 @@ 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
9
  export declare const credalCallCopilotDefinition: ActionTemplate;
9
10
  export declare const zendeskCreateZendeskTicketDefinition: ActionTemplate;
10
11
  export declare const mongoInsertMongoDocDefinition: ActionTemplate;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nwsGetForecastForLocationDefinition = exports.openstreetmapGetLatitudeLongitudeFromLocationDefinition = exports.snowflakeGetRowByFieldValueDefinition = exports.mongoInsertMongoDocDefinition = exports.zendeskCreateZendeskTicketDefinition = exports.credalCallCopilotDefinition = exports.googlemapsValidateAddressDefinition = exports.jiraCreateJiraTicketDefinition = exports.confluenceUpdatePageDefinition = exports.mathAddDefinition = exports.slackListConversationsDefinition = exports.slackSendMessageDefinition = void 0;
3
+ 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;
4
4
  exports.slackSendMessageDefinition = {
5
5
  description: "Sends a message to a Slack channel",
6
6
  scopes: ["chat:write"],
@@ -335,6 +335,69 @@ exports.googlemapsValidateAddressDefinition = {
335
335
  name: "validateAddress",
336
336
  provider: "googlemaps",
337
337
  };
338
+ exports.googlemapsNearbysearchDefinition = {
339
+ description: "Search for nearby places using Google Maps",
340
+ scopes: [],
341
+ parameters: {
342
+ type: "object",
343
+ required: ["latitude", "longitude"],
344
+ properties: {
345
+ latitude: {
346
+ type: "number",
347
+ description: "The latitude of the location to search nearby",
348
+ },
349
+ longitude: {
350
+ type: "number",
351
+ description: "The longitude of the location to search nearby",
352
+ },
353
+ },
354
+ },
355
+ output: {
356
+ type: "object",
357
+ required: ["results"],
358
+ properties: {
359
+ results: {
360
+ type: "array",
361
+ description: "The results of the nearby search",
362
+ items: {
363
+ type: "object",
364
+ properties: {
365
+ name: {
366
+ type: "string",
367
+ description: "The name of the place",
368
+ },
369
+ address: {
370
+ type: "string",
371
+ description: "The address of the place",
372
+ },
373
+ rating: {
374
+ type: "number",
375
+ description: "The rating of the place",
376
+ },
377
+ priceLevel: {
378
+ type: "string",
379
+ description: "The price level of the place",
380
+ },
381
+ openingHours: {
382
+ type: "string",
383
+ description: "The opening hours of the place",
384
+ },
385
+ primaryType: {
386
+ type: "string",
387
+ description: "The primary type of the place",
388
+ },
389
+ editorialSummary: {
390
+ type: "string",
391
+ description: "The editorial summary of the place",
392
+ },
393
+ },
394
+ },
395
+ },
396
+ },
397
+ },
398
+ name: "nearbysearch",
399
+ provider: "googlemaps",
400
+ };
338
401
  exports.credalCallCopilotDefinition = {
339
402
  description: "Call Credal Copilot for response on a given query",
340
403
  scopes: [],
@@ -367,6 +367,66 @@ export declare const googlemapsValidateAddressOutputSchema: z.ZodObject<{
367
367
  }>;
368
368
  export type googlemapsValidateAddressOutputType = z.infer<typeof googlemapsValidateAddressOutputSchema>;
369
369
  export type googlemapsValidateAddressFunction = ActionFunction<googlemapsValidateAddressParamsType, AuthParamsType, googlemapsValidateAddressOutputType>;
370
+ export declare const googlemapsNearbysearchParamsSchema: z.ZodObject<{
371
+ latitude: z.ZodNumber;
372
+ longitude: z.ZodNumber;
373
+ }, "strip", z.ZodTypeAny, {
374
+ latitude: number;
375
+ longitude: number;
376
+ }, {
377
+ latitude: number;
378
+ longitude: number;
379
+ }>;
380
+ export type googlemapsNearbysearchParamsType = z.infer<typeof googlemapsNearbysearchParamsSchema>;
381
+ export declare const googlemapsNearbysearchOutputSchema: z.ZodObject<{
382
+ results: z.ZodArray<z.ZodObject<{
383
+ name: z.ZodOptional<z.ZodString>;
384
+ address: z.ZodOptional<z.ZodString>;
385
+ rating: z.ZodOptional<z.ZodNumber>;
386
+ priceLevel: z.ZodOptional<z.ZodString>;
387
+ openingHours: z.ZodOptional<z.ZodString>;
388
+ primaryType: z.ZodOptional<z.ZodString>;
389
+ editorialSummary: z.ZodOptional<z.ZodString>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ name?: string | undefined;
392
+ address?: string | undefined;
393
+ rating?: number | undefined;
394
+ priceLevel?: string | undefined;
395
+ openingHours?: string | undefined;
396
+ primaryType?: string | undefined;
397
+ editorialSummary?: string | undefined;
398
+ }, {
399
+ name?: string | undefined;
400
+ address?: string | undefined;
401
+ rating?: number | undefined;
402
+ priceLevel?: string | undefined;
403
+ openingHours?: string | undefined;
404
+ primaryType?: string | undefined;
405
+ editorialSummary?: string | undefined;
406
+ }>, "many">;
407
+ }, "strip", z.ZodTypeAny, {
408
+ results: {
409
+ name?: string | undefined;
410
+ address?: string | undefined;
411
+ rating?: number | undefined;
412
+ priceLevel?: string | undefined;
413
+ openingHours?: string | undefined;
414
+ primaryType?: string | undefined;
415
+ editorialSummary?: string | undefined;
416
+ }[];
417
+ }, {
418
+ results: {
419
+ name?: string | undefined;
420
+ address?: string | undefined;
421
+ rating?: number | undefined;
422
+ priceLevel?: string | undefined;
423
+ openingHours?: string | undefined;
424
+ primaryType?: string | undefined;
425
+ editorialSummary?: string | undefined;
426
+ }[];
427
+ }>;
428
+ export type googlemapsNearbysearchOutputType = z.infer<typeof googlemapsNearbysearchOutputSchema>;
429
+ export type googlemapsNearbysearchFunction = ActionFunction<googlemapsNearbysearchParamsType, AuthParamsType, googlemapsNearbysearchOutputType>;
370
430
  export declare const credalCallCopilotParamsSchema: z.ZodObject<{
371
431
  agentId: z.ZodString;
372
432
  query: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.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.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;
4
4
  const zod_1 = require("zod");
5
5
  exports.AuthParamsSchema = zod_1.z.object({
6
6
  authToken: zod_1.z.string().optional(),
@@ -112,6 +112,23 @@ exports.googlemapsValidateAddressOutputSchema = zod_1.z.object({
112
112
  .describe("USPS-specific validation details.")
113
113
  .optional(),
114
114
  });
115
+ exports.googlemapsNearbysearchParamsSchema = zod_1.z.object({
116
+ latitude: zod_1.z.number().describe("The latitude of the location to search nearby"),
117
+ longitude: zod_1.z.number().describe("The longitude of the location to search nearby"),
118
+ });
119
+ exports.googlemapsNearbysearchOutputSchema = zod_1.z.object({
120
+ results: zod_1.z
121
+ .array(zod_1.z.object({
122
+ name: zod_1.z.string().describe("The name of the place").optional(),
123
+ address: zod_1.z.string().describe("The address of the place").optional(),
124
+ rating: zod_1.z.number().describe("The rating of the place").optional(),
125
+ priceLevel: zod_1.z.string().describe("The price level of the place").optional(),
126
+ openingHours: zod_1.z.string().describe("The opening hours of the place").optional(),
127
+ primaryType: zod_1.z.string().describe("The primary type of the place").optional(),
128
+ editorialSummary: zod_1.z.string().describe("The editorial summary of the place").optional(),
129
+ }))
130
+ .describe("The results of the nearby search"),
131
+ });
115
132
  exports.credalCallCopilotParamsSchema = zod_1.z.object({
116
133
  agentId: zod_1.z.string().describe("The ID of the copilot to call"),
117
134
  query: zod_1.z.string().describe("The query to ask Credal Copilot"),
@@ -15,9 +15,9 @@ exports.ACTION_GROUPS = {
15
15
  description: "Action for adding two numbers",
16
16
  actions: [templates_1.mathAddDefinition],
17
17
  },
18
- MAPS_VALIDATE: {
19
- description: "Action for validating a Google maps address",
20
- actions: [templates_1.googlemapsValidateAddressDefinition],
18
+ GOOGLE_MAPS: {
19
+ description: "Action for interacting with Google Maps",
20
+ actions: [templates_1.googlemapsValidateAddressDefinition, templates_1.googlemapsNearbysearchDefinition],
21
21
  },
22
22
  CREDAL_CALL_COPILOT: {
23
23
  description: "Action for calling a Credal Copilot",
@@ -35,6 +35,10 @@ exports.ACTION_GROUPS = {
35
35
  description: "Action for getting a row from a Snowflake table by field value",
36
36
  actions: [templates_1.snowflakeGetRowByFieldValueDefinition],
37
37
  },
38
+ JIRA_CREATE_TICKET: {
39
+ description: "Action for creating a Jira ticket",
40
+ actions: [templates_1.jiraCreateJiraTicketDefinition],
41
+ },
38
42
  OPENSTREETMAP_GET_LATITUDE_LONGITUDE_FROM_LOCATION: {
39
43
  description: "Action for getting the latitude and longitude of a location",
40
44
  actions: [templates_1.openstreetmapGetLatitudeLongitudeFromLocationDefinition],
@@ -0,0 +1,3 @@
1
+ import { googlemapsNearbysearchFunction } from "../../autogen/types";
2
+ declare const nearbysearch: googlemapsNearbysearchFunction;
3
+ export default nearbysearch;
@@ -0,0 +1,96 @@
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 = [
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
+ "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",
50
+ ];
51
+ const nearbysearch = (_a) => __awaiter(void 0, [_a], void 0, function* ({ params, authParams, }) {
52
+ const url = `https://places.googleapis.com/v1/places:searchNearby`;
53
+ const fieldMask = [
54
+ "places.displayName",
55
+ "places.formattedAddress",
56
+ "places.priceLevel",
57
+ "places.rating",
58
+ "places.primaryTypeDisplayName",
59
+ "places.editorialSummary",
60
+ "places.regularOpeningHours",
61
+ ].join(",");
62
+ const response = yield axios_1.default.post(url, {
63
+ maxResultCount: 20,
64
+ includedTypes: INCLUDED_TYPES,
65
+ locationRestriction: {
66
+ circle: {
67
+ center: {
68
+ latitude: params.latitude,
69
+ longitude: params.longitude,
70
+ },
71
+ radius: 10000,
72
+ },
73
+ },
74
+ }, {
75
+ headers: {
76
+ "X-Goog-Api-Key": authParams.apiKey,
77
+ "X-Goog-FieldMask": fieldMask,
78
+ "Content-Type": "application/json",
79
+ },
80
+ });
81
+ return types_1.googlemapsNearbysearchOutputSchema.parse({
82
+ results: response.data.places.map((place) => {
83
+ var _a, _b;
84
+ return ({
85
+ name: place.displayName.text,
86
+ address: place.formattedAddress,
87
+ priceLevel: place.priceLevel,
88
+ rating: place.rating,
89
+ primaryType: place.primaryTypeDisplayName.text,
90
+ editorialSummary: ((_a = place.editorialSummary) === null || _a === void 0 ? void 0 : _a.text) || "",
91
+ openingHours: ((_b = place.regularOpeningHours) === null || _b === void 0 ? void 0 : _b.weekdayDescriptions.join("\n")) || "",
92
+ });
93
+ }),
94
+ });
95
+ });
96
+ exports.default = nearbysearch;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@credal/actions",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "AI Actions by Credal AI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",