@tool-bridge/server 0.21.1 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin.js +170 -0
- package/dist/airtable-VMQVXLHK.js +790 -0
- package/dist/{alt_text_generator_ai-W7O34SNG.js → alt_text_generator_ai-FTWY4RU4.js} +12 -11
- package/dist/{amap-VOX4T2AW.js → amap-OK5VBHYC.js} +221 -220
- package/dist/anthropic-S67AZFZ3.js +203 -0
- package/dist/apify-ZE6MYQI3.js +248 -0
- package/dist/brave_search-TG2M2KOD.js +302 -0
- package/dist/chunk-2JNAI4OC.js +161 -0
- package/dist/{chunk-KMTT3I6D.js → chunk-4XJPN3DY.js} +19392 -26136
- package/dist/chunk-5ICRY3VU.js +8432 -0
- package/dist/chunk-7CTWGTDU.js +302 -0
- package/dist/chunk-BADVCN6K.js +378 -0
- package/dist/{chunk-XYBU3WZH.js → chunk-TDAWLMDE.js} +3 -3
- package/dist/chunk-U7PTOA3U.js +7320 -0
- package/dist/{chunk-E6JCVKW6.js → chunk-VWRUGUSU.js} +3 -3
- package/dist/{chunk-ATK45BXV.js → chunk-WJHG6OK7.js} +4 -2
- package/dist/circleci-3L3WJVSK.js +389 -0
- package/dist/clerk-EZPF2V7T.js +1019 -0
- package/dist/cohere-U27DPO64.js +185 -0
- package/dist/{confluence-B3EWPZVE.js → confluence-G2KL6ERH.js} +105 -104
- package/dist/{convertapi-EUWSQYPF.js → convertapi-L4CLJ2M3.js} +32 -31
- package/dist/{currencyapi-KVTIK3GL.js → currencyapi-YPYXG7YY.js} +71 -71
- package/dist/deepseek-6HT6WF3M.js +210 -0
- package/dist/docker_hub-LPE3PCVB.js +933 -0
- package/dist/dropbox-V56ABHTA.js +1305 -0
- package/dist/dub-6OKQ7MHT.js +680 -0
- package/dist/e2b-JS2U2QFU.js +278 -0
- package/dist/exa-DPWVYXSP.js +332 -0
- package/dist/{fal_ai-23E7JPNT.js → fal_ai-DK6Y27ZF.js} +81 -80
- package/dist/{feishu-7QRIDUV6.js → feishu-K7EGSRF3.js} +528 -572
- package/dist/{feishu_custom_bot-TJ4K7QNJ.js → feishu_custom_bot-2JUGFYNG.js} +57 -53
- package/dist/figma-FT5I7ITD.js +777 -0
- package/dist/firehydrant-EIKLKHX2.js +563 -0
- package/dist/{fixer-BWON27UO.js → fixer-U5QXIAKD.js} +34 -33
- package/dist/fly-T3JYFZ2M.js +469 -0
- package/dist/{front-QCGXYEDJ.js → front-D72MGVOR.js} +104 -104
- package/dist/geocodio-BOTD5TI5.js +213 -0
- package/dist/ghost-KYP7SZGB.js +338 -0
- package/dist/github-AGMZT3VY.js +5421 -0
- package/dist/gmail-BLJNJOBG.js +1887 -0
- package/dist/googlecalendar-GTHWNCF6.js +2524 -0
- package/dist/{googledocs-BUHL4J2H.js → googledocs-6EEDMEBQ.js} +341 -340
- package/dist/{grafana-GLU2DWF2.js → grafana-GMW6EKSQ.js} +221 -220
- package/dist/graphhopper-6OLGBDGB.js +325 -0
- package/dist/index.d.ts +1132 -332
- package/dist/index.js +31 -14
- package/dist/{ip2proxy-EZ64Y4ZH.js → ip2proxy-4QN42E6T.js} +28 -27
- package/dist/ipgeolocation_io-SK4XKDA2.js +315 -0
- package/dist/ipqualityscore-6ANBPXKT.js +279 -0
- package/dist/{jina_ai-EFBHTBXL.js → jina_ai-IHPSVRM5.js} +23 -23
- package/dist/{jira-HQSHAA5K.js → jira-46KKM4LC.js} +118 -117
- package/dist/langsmith-JZA345I5.js +593 -0
- package/dist/lemlist-43IV7DK6.js +289 -0
- package/dist/{linear-K7RYFYAD.js → linear-5LFH7XNL.js} +327 -326
- package/dist/logsnag-5RMYAHIL.js +150 -0
- package/dist/main.js +57 -280
- package/dist/{mattermost-S2BRCWLQ.js → mattermost-XFL6SHGG.js} +59 -58
- package/dist/mem0-NYO4DTP6.js +544 -0
- package/dist/memos-37MPQOLV.js +744 -0
- package/dist/{metabase-MMSEPCOF.js → metabase-KYBKZFMG.js} +90 -89
- package/dist/mistral_ai-6PL3K4PM.js +1196 -0
- package/dist/{mother_duck-H7PCQNZ2.js → mother_duck-2NH7W5M5.js} +94 -93
- package/dist/ngrok-UO6CDYCA.js +356 -0
- package/dist/{notes-PFMKRO33.js → notes-I3P32WP4.js} +11 -9
- package/dist/notion-BEAJFUOE.js +940 -0
- package/dist/open_exchange_rates-CMF62JB4.js +215 -0
- package/dist/openai-IHOMKVND.js +800 -0
- package/dist/opengraph_io-ZQ2FGLHX.js +362 -0
- package/dist/openrouter-HXLW3NR5.js +441 -0
- package/dist/outline-ELCP4NEU.js +599 -0
- package/dist/paddle-O77LALVN.js +454 -0
- package/dist/perplexity-JCU654QV.js +220 -0
- package/dist/pinecone-W5W4LRKL.js +571 -0
- package/dist/{pipedrive-Y2O7QGFF.js → pipedrive-ITMJLLPZ.js} +99 -98
- package/dist/polar-R33XU4L3.js +395 -0
- package/dist/posthog-JVNTOLTV.js +3464 -0
- package/dist/postmark-6SBG7HWV.js +427 -0
- package/dist/{prerender-MENYM2TY.js → prerender-GPNKTNFC.js} +31 -30
- package/dist/{pubmed-GOXUVVH5.js → pubmed-UP6ZEEIH.js} +239 -238
- package/dist/{railway-V2SID4WV.js → railway-KWEWXHTY.js} +118 -117
- package/dist/readwise-BLATSMC3.js +470 -0
- package/dist/render-QYRVIXII.js +461 -0
- package/dist/{replicate-756MXPYX.js → replicate-JYTWH4NF.js} +81 -80
- package/dist/{resend-ZKH3BTBI.js → resend-L5N75SZM.js} +20 -16
- package/dist/rootly-MHCPEQ26.js +336 -0
- package/dist/{scrapfly-NSRHFDIQ.js → scrapfly-PTPGYSJM.js} +62 -61
- package/dist/{scrapingbee-OQHLAVEY.js → scrapingbee-JN6UH5PY.js} +56 -56
- package/dist/{screenshot_fyi-DVWG3AXC.js → screenshot_fyi-4QRVSV55.js} +16 -16
- package/dist/semantic_scholar-LRSWA2GE.js +611 -0
- package/dist/{sentry-546MNDJG.js → sentry-2G6PF5W6.js} +208 -207
- package/dist/{shodan-C3OON3Z3.js → shodan-WKKPP5C6.js} +62 -61
- package/dist/shopify-64YDK5T2.js +610 -0
- package/dist/stripe-QAIGGOTF.js +585 -0
- package/dist/{supabase-U2SL4D63.js → supabase-WHTGR6ND.js} +245 -244
- package/dist/tavily-QIXCDDWO.js +326 -0
- package/dist/telegram-E6G7CWI6.js +1767 -0
- package/dist/{telnyx-CXQ4EZUX.js → telnyx-ZDVVS7PK.js} +57 -56
- package/dist/todoist-DMYF3G7J.js +664 -0
- package/dist/trello-HY2RYIRP.js +1080 -0
- package/dist/turso-HAQWMGRP.js +416 -0
- package/dist/{twilio-4PDBJKWX.js → twilio-MLXYPHJE.js} +70 -69
- package/dist/umami-DZHBLPVG.js +389 -0
- package/dist/unsplash-GS2OPXKE.js +351 -0
- package/dist/{upstash_redis-G4LQBYHA.js → upstash_redis-XMXWTNAJ.js} +51 -50
- package/dist/uptimerobot-TF5WRZ4G.js +483 -0
- package/dist/v2ex-2BVXAPDF.js +667 -0
- package/dist/vercel-YMJGQYJE.js +1076 -0
- package/dist/{wolfram_alpha_api-3G4PUJWB.js → wolfram_alpha_api-I56SXWFZ.js} +36 -35
- package/dist/wordpress-R7TDFZ2P.js +812 -0
- package/dist/workos-HDNHWVMS.js +664 -0
- package/dist/zhihu-LX6AGGDS.js +254 -0
- package/package.json +18 -9
- package/dist/airtable-LLZDFN7M.js +0 -789
- package/dist/anthropic-G23NN3X5.js +0 -202
- package/dist/apify-Y3SS734K.js +0 -247
- package/dist/brave_search-ZC7OAPSZ.js +0 -301
- package/dist/chunk-R6P4XAE5.js +0 -248
- package/dist/chunk-U7B6DS2O.js +0 -977
- package/dist/chunk-UZM2RXZH.js +0 -23436
- package/dist/circleci-3BAX5FCG.js +0 -388
- package/dist/clerk-6LEM6TNU.js +0 -1019
- package/dist/cloudflare_dns-KINYTJUD.js +0 -588
- package/dist/cohere-XCJ5AJ6B.js +0 -185
- package/dist/deepseek-PC5YGNC5.js +0 -209
- package/dist/docker_hub-C3MA5FU6.js +0 -932
- package/dist/dropbox-XBV7Z2IR.js +0 -1304
- package/dist/dub-LDOFG3HC.js +0 -679
- package/dist/e2b-JMCPSVBW.js +0 -277
- package/dist/exa-RAK7O7RD.js +0 -331
- package/dist/figma-E6IX5DTH.js +0 -773
- package/dist/firehydrant-ZBLPQREE.js +0 -562
- package/dist/fly-ZH3HFCZJ.js +0 -468
- package/dist/geocodio-YGNI7DA4.js +0 -212
- package/dist/ghost-EVSGKH2Q.js +0 -337
- package/dist/github-MA2BGRCJ.js +0 -5420
- package/dist/gmail-E5E6AADE.js +0 -1886
- package/dist/googlecalendar-BTLFPXTD.js +0 -2523
- package/dist/graphhopper-WSMB3TCD.js +0 -324
- package/dist/ipgeolocation_io-AA7HAS22.js +0 -315
- package/dist/ipqualityscore-BHJXVTJT.js +0 -277
- package/dist/langsmith-5W6SCT6F.js +0 -592
- package/dist/lemlist-HJWH6UMK.js +0 -288
- package/dist/logsnag-4KFOHL37.js +0 -150
- package/dist/mem0-CAW43CIC.js +0 -543
- package/dist/memos-TWEGPKFM.js +0 -740
- package/dist/mistral_ai-64BGZQHP.js +0 -1195
- package/dist/ngrok-GQCUGZKJ.js +0 -356
- package/dist/notion-DQWZWP4N.js +0 -936
- package/dist/open_exchange_rates-QMMD735E.js +0 -214
- package/dist/openai-W6PX32NZ.js +0 -799
- package/dist/opengraph_io-HNDBXYNW.js +0 -361
- package/dist/openrouter-JJYMEAUL.js +0 -437
- package/dist/outline-MCBNQZYY.js +0 -595
- package/dist/paddle-D2SKLUDN.js +0 -453
- package/dist/perplexity-XIFMKUAE.js +0 -219
- package/dist/pinecone-HUFTALV2.js +0 -570
- package/dist/polar-TYTOMOSR.js +0 -394
- package/dist/posthog-43JAR3VW.js +0 -3463
- package/dist/postmark-KL2QJYSG.js +0 -426
- package/dist/readwise-CI4GIMMJ.js +0 -469
- package/dist/render-SUBJ6YRZ.js +0 -460
- package/dist/rootly-CD2LJHPI.js +0 -336
- package/dist/semantic_scholar-T4A252KW.js +0 -610
- package/dist/shopify-Y2HN2MCQ.js +0 -609
- package/dist/stripe-VE3CD3AY.js +0 -584
- package/dist/tavily-KCZHK6HE.js +0 -326
- package/dist/telegram-3URFBCMY.js +0 -1766
- package/dist/todoist-HNPWNYTD.js +0 -663
- package/dist/trello-3W2MIXRP.js +0 -1079
- package/dist/turso-2EQF7C2Z.js +0 -415
- package/dist/umami-5REN7TGP.js +0 -388
- package/dist/unsplash-EIXL424F.js +0 -350
- package/dist/uptimerobot-KNJ3EYLY.js +0 -482
- package/dist/v2ex-RHJ234PZ.js +0 -666
- package/dist/vercel-AS6NCIC7.js +0 -1075
- package/dist/wordpress-KNDAAUV7.js +0 -811
- package/dist/workos-R6UITSJ7.js +0 -663
- package/dist/zhihu-AGK4HILK.js +0 -253
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createAuthedClient
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-TDAWLMDE.js";
|
|
4
|
+
import "./chunk-VWRUGUSU.js";
|
|
5
5
|
import {
|
|
6
6
|
asJsonObject,
|
|
7
7
|
trimmedText
|
|
@@ -9,11 +9,10 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
createProviderPlugin,
|
|
11
11
|
upstreamError
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import
|
|
15
|
-
|
|
16
|
-
} from "./chunk-UZM2RXZH.js";
|
|
12
|
+
} from "./chunk-WJHG6OK7.js";
|
|
13
|
+
import "./chunk-2JNAI4OC.js";
|
|
14
|
+
import "./chunk-BADVCN6K.js";
|
|
15
|
+
import "./chunk-5ICRY3VU.js";
|
|
17
16
|
import "./chunk-U67V476Y.js";
|
|
18
17
|
|
|
19
18
|
// ../plugins/src/front/api.ts
|
|
@@ -184,119 +183,120 @@ async function listTeammates(_input, ctx) {
|
|
|
184
183
|
}
|
|
185
184
|
|
|
186
185
|
// ../plugins/src/front/schema.ts
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
186
|
+
import { z } from "zod/v4";
|
|
187
|
+
var listContactsInput = z.strictObject({
|
|
188
|
+
query: z.string().min(1).describe("Optional Front contact query object string for updated_after and updated_before filters.").optional(),
|
|
189
|
+
limit: z.int().min(1).max(100).describe("Maximum number of contacts per page.").optional(),
|
|
190
|
+
pageToken: z.string().min(1).describe("Front page token returned by a previous list_contacts call.").optional(),
|
|
191
|
+
sortBy: z.enum(["created_at", "updated_at"]).describe("Field used to sort contacts.").optional(),
|
|
192
|
+
sortOrder: z.enum(["asc", "desc"]).describe("Order by which contacts should be sorted.").optional()
|
|
193
193
|
}).describe("Input for listing Front contacts.");
|
|
194
|
-
var listContactsOutput =
|
|
195
|
-
contacts:
|
|
196
|
-
id:
|
|
197
|
-
name:
|
|
198
|
-
description:
|
|
199
|
-
avatarUrl:
|
|
200
|
-
links:
|
|
201
|
-
lists:
|
|
202
|
-
id:
|
|
203
|
-
name:
|
|
204
|
-
isPrivate:
|
|
194
|
+
var listContactsOutput = z.strictObject({
|
|
195
|
+
contacts: z.array(z.strictObject({
|
|
196
|
+
id: z.string().describe("Unique identifier of the contact."),
|
|
197
|
+
name: z.string().describe("Contact name.").nullable(),
|
|
198
|
+
description: z.string().describe("Contact description.").nullable(),
|
|
199
|
+
avatarUrl: z.string().describe("URL of the contact avatar when Front returns one.").nullable(),
|
|
200
|
+
links: z.array(z.string().describe("A contact link URL.")).describe("Links associated with the contact."),
|
|
201
|
+
lists: z.array(z.strictObject({
|
|
202
|
+
id: z.string().describe("Unique identifier of the contact list."),
|
|
203
|
+
name: z.string().describe("Name of the contact list."),
|
|
204
|
+
isPrivate: z.boolean().describe("Whether the contact list is private.")
|
|
205
205
|
}).describe("A Front contact list summary.")).describe("Contact lists that contain the contact."),
|
|
206
|
-
handles:
|
|
207
|
-
handle:
|
|
208
|
-
source:
|
|
206
|
+
handles: z.array(z.strictObject({
|
|
207
|
+
handle: z.string().min(1).describe("The handle value, such as an email address or phone number."),
|
|
208
|
+
source: z.enum(["twitter", "email", "phone", "facebook", "intercom", "front_chat", "custom"]).describe("The Front contact handle source.")
|
|
209
209
|
}).describe("A handle with which a Front contact can be reached.")).describe("Handles with which the contact is reachable."),
|
|
210
|
-
customFields:
|
|
211
|
-
isPrivate:
|
|
210
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional(),
|
|
211
|
+
isPrivate: z.boolean().describe("Whether the contact is private.")
|
|
212
212
|
}).describe("A normalized Front contact.")).describe("Contacts returned by Front."),
|
|
213
|
-
pagination:
|
|
214
|
-
next:
|
|
215
|
-
nextPageToken:
|
|
213
|
+
pagination: z.strictObject({
|
|
214
|
+
next: z.string().describe("Link to the next page of results when Front returns one.").nullable(),
|
|
215
|
+
nextPageToken: z.string().describe("Token extracted from the next page link for the next connector call.").nullable()
|
|
216
216
|
}).describe("Front cursor pagination metadata.")
|
|
217
217
|
}).describe("The Front contacts page.");
|
|
218
|
-
var getContactInput =
|
|
219
|
-
contactId:
|
|
218
|
+
var getContactInput = z.strictObject({
|
|
219
|
+
contactId: z.string().min(1).describe("The Front contact ID, or a documented resource alias such as source:handle.")
|
|
220
220
|
}).describe("Input for fetching one Front contact.");
|
|
221
|
-
var getContactOutput =
|
|
222
|
-
contact:
|
|
223
|
-
id:
|
|
224
|
-
name:
|
|
225
|
-
description:
|
|
226
|
-
avatarUrl:
|
|
227
|
-
links:
|
|
228
|
-
lists:
|
|
229
|
-
id:
|
|
230
|
-
name:
|
|
231
|
-
isPrivate:
|
|
221
|
+
var getContactOutput = z.strictObject({
|
|
222
|
+
contact: z.strictObject({
|
|
223
|
+
id: z.string().describe("Unique identifier of the contact."),
|
|
224
|
+
name: z.string().describe("Contact name.").nullable(),
|
|
225
|
+
description: z.string().describe("Contact description.").nullable(),
|
|
226
|
+
avatarUrl: z.string().describe("URL of the contact avatar when Front returns one.").nullable(),
|
|
227
|
+
links: z.array(z.string().describe("A contact link URL.")).describe("Links associated with the contact."),
|
|
228
|
+
lists: z.array(z.strictObject({
|
|
229
|
+
id: z.string().describe("Unique identifier of the contact list."),
|
|
230
|
+
name: z.string().describe("Name of the contact list."),
|
|
231
|
+
isPrivate: z.boolean().describe("Whether the contact list is private.")
|
|
232
232
|
}).describe("A Front contact list summary.")).describe("Contact lists that contain the contact."),
|
|
233
|
-
handles:
|
|
234
|
-
handle:
|
|
235
|
-
source:
|
|
233
|
+
handles: z.array(z.strictObject({
|
|
234
|
+
handle: z.string().min(1).describe("The handle value, such as an email address or phone number."),
|
|
235
|
+
source: z.enum(["twitter", "email", "phone", "facebook", "intercom", "front_chat", "custom"]).describe("The Front contact handle source.")
|
|
236
236
|
}).describe("A handle with which a Front contact can be reached.")).describe("Handles with which the contact is reachable."),
|
|
237
|
-
customFields:
|
|
238
|
-
isPrivate:
|
|
237
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional(),
|
|
238
|
+
isPrivate: z.boolean().describe("Whether the contact is private.")
|
|
239
239
|
}).describe("A normalized Front contact.")
|
|
240
240
|
}).describe("The Front contact response.");
|
|
241
|
-
var createContactInput =
|
|
242
|
-
handles:
|
|
243
|
-
handle:
|
|
244
|
-
source:
|
|
241
|
+
var createContactInput = z.strictObject({
|
|
242
|
+
handles: z.array(z.strictObject({
|
|
243
|
+
handle: z.string().min(1).describe("The handle value, such as an email address or phone number."),
|
|
244
|
+
source: z.enum(["twitter", "email", "phone", "facebook", "intercom", "front_chat", "custom"]).describe("The Front contact handle source.")
|
|
245
245
|
}).describe("A handle with which a Front contact can be reached.")).min(1).describe("Handles with which the contact is reachable."),
|
|
246
|
-
contact:
|
|
247
|
-
name:
|
|
248
|
-
description:
|
|
249
|
-
links:
|
|
250
|
-
listNames:
|
|
251
|
-
customFields:
|
|
246
|
+
contact: z.strictObject({
|
|
247
|
+
name: z.string().min(1).describe("Contact name.").optional(),
|
|
248
|
+
description: z.string().min(1).describe("Contact description.").optional(),
|
|
249
|
+
links: z.array(z.string().min(1).describe("A contact link URL.")).describe("Links associated with the contact.").optional(),
|
|
250
|
+
listNames: z.array(z.string().min(1).describe("A contact list name.")).describe("Contact list names the contact belongs to. Front creates missing lists automatically.").optional(),
|
|
251
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional()
|
|
252
252
|
}).describe("JSON fields accepted by Front for contact create and update requests.")
|
|
253
253
|
}).describe("Input for creating a Front company contact.");
|
|
254
|
-
var createContactOutput =
|
|
255
|
-
contact:
|
|
256
|
-
id:
|
|
257
|
-
name:
|
|
258
|
-
description:
|
|
259
|
-
avatarUrl:
|
|
260
|
-
links:
|
|
261
|
-
lists:
|
|
262
|
-
id:
|
|
263
|
-
name:
|
|
264
|
-
isPrivate:
|
|
254
|
+
var createContactOutput = z.strictObject({
|
|
255
|
+
contact: z.strictObject({
|
|
256
|
+
id: z.string().describe("Unique identifier of the contact."),
|
|
257
|
+
name: z.string().describe("Contact name.").nullable(),
|
|
258
|
+
description: z.string().describe("Contact description.").nullable(),
|
|
259
|
+
avatarUrl: z.string().describe("URL of the contact avatar when Front returns one.").nullable(),
|
|
260
|
+
links: z.array(z.string().describe("A contact link URL.")).describe("Links associated with the contact."),
|
|
261
|
+
lists: z.array(z.strictObject({
|
|
262
|
+
id: z.string().describe("Unique identifier of the contact list."),
|
|
263
|
+
name: z.string().describe("Name of the contact list."),
|
|
264
|
+
isPrivate: z.boolean().describe("Whether the contact list is private.")
|
|
265
265
|
}).describe("A Front contact list summary.")).describe("Contact lists that contain the contact."),
|
|
266
|
-
handles:
|
|
267
|
-
handle:
|
|
268
|
-
source:
|
|
266
|
+
handles: z.array(z.strictObject({
|
|
267
|
+
handle: z.string().min(1).describe("The handle value, such as an email address or phone number."),
|
|
268
|
+
source: z.enum(["twitter", "email", "phone", "facebook", "intercom", "front_chat", "custom"]).describe("The Front contact handle source.")
|
|
269
269
|
}).describe("A handle with which a Front contact can be reached.")).describe("Handles with which the contact is reachable."),
|
|
270
|
-
customFields:
|
|
271
|
-
isPrivate:
|
|
270
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional(),
|
|
271
|
+
isPrivate: z.boolean().describe("Whether the contact is private.")
|
|
272
272
|
}).describe("A normalized Front contact.")
|
|
273
273
|
}).describe("The Front contact created by the API.");
|
|
274
|
-
var updateContactInput =
|
|
275
|
-
contactId:
|
|
276
|
-
contact:
|
|
277
|
-
name:
|
|
278
|
-
description:
|
|
279
|
-
links:
|
|
280
|
-
listNames:
|
|
281
|
-
customFields:
|
|
274
|
+
var updateContactInput = z.strictObject({
|
|
275
|
+
contactId: z.string().min(1).describe("The Front contact ID, or a documented resource alias such as source:handle."),
|
|
276
|
+
contact: z.strictObject({
|
|
277
|
+
name: z.string().min(1).describe("Contact name.").optional(),
|
|
278
|
+
description: z.string().min(1).describe("Contact description.").optional(),
|
|
279
|
+
links: z.array(z.string().min(1).describe("A contact link URL.")).describe("Links associated with the contact.").optional(),
|
|
280
|
+
listNames: z.array(z.string().min(1).describe("A contact list name.")).describe("Contact list names the contact belongs to. Front creates missing lists automatically.").optional(),
|
|
281
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional()
|
|
282
282
|
}).describe("JSON fields accepted by Front for contact create and update requests.")
|
|
283
283
|
}).describe("Input for updating a Front contact.");
|
|
284
|
-
var updateContactOutput =
|
|
285
|
-
success:
|
|
284
|
+
var updateContactOutput = z.strictObject({
|
|
285
|
+
success: z.boolean().describe("Whether Front accepted the update request.")
|
|
286
286
|
}).describe("The result of updating a Front contact.");
|
|
287
|
-
var listTeammatesInput =
|
|
288
|
-
var listTeammatesOutput =
|
|
289
|
-
teammates:
|
|
290
|
-
id:
|
|
291
|
-
email:
|
|
292
|
-
username:
|
|
293
|
-
firstName:
|
|
294
|
-
lastName:
|
|
295
|
-
isAdmin:
|
|
296
|
-
isAvailable:
|
|
297
|
-
isBlocked:
|
|
298
|
-
type:
|
|
299
|
-
customFields:
|
|
287
|
+
var listTeammatesInput = z.strictObject({}).describe("Input for listing Front teammates.");
|
|
288
|
+
var listTeammatesOutput = z.strictObject({
|
|
289
|
+
teammates: z.array(z.strictObject({
|
|
290
|
+
id: z.string().describe("Unique identifier of the teammate."),
|
|
291
|
+
email: z.string().describe("Email address of the teammate."),
|
|
292
|
+
username: z.string().describe("Username of the teammate."),
|
|
293
|
+
firstName: z.string().describe("First name of the teammate."),
|
|
294
|
+
lastName: z.string().describe("Last name of the teammate."),
|
|
295
|
+
isAdmin: z.boolean().describe("Whether the teammate is a company admin."),
|
|
296
|
+
isAvailable: z.boolean().describe("Whether the teammate is available."),
|
|
297
|
+
isBlocked: z.boolean().describe("Whether the teammate account has been blocked."),
|
|
298
|
+
type: z.string().describe("Type of teammate returned by Front."),
|
|
299
|
+
customFields: z.looseObject({}).describe("Custom fields keyed by the custom field name configured in Front.").optional()
|
|
300
300
|
}).describe("A normalized Front teammate.")).describe("Teammates returned by Front.")
|
|
301
301
|
}).describe("The Front teammates response.");
|
|
302
302
|
var frontActions = {
|
|
@@ -304,31 +304,31 @@ var frontActions = {
|
|
|
304
304
|
description: "List Front company contacts with optional cursor pagination and sorting.",
|
|
305
305
|
effect: "read",
|
|
306
306
|
inputSchema: listContactsInput,
|
|
307
|
-
outputSchema:
|
|
307
|
+
outputSchema: z.toJSONSchema(listContactsOutput, { io: "output", unrepresentable: "any" })
|
|
308
308
|
},
|
|
309
309
|
get_contact: {
|
|
310
310
|
description: "Fetch one Front contact by contact ID or documented resource alias.",
|
|
311
311
|
effect: "read",
|
|
312
312
|
inputSchema: getContactInput,
|
|
313
|
-
outputSchema:
|
|
313
|
+
outputSchema: z.toJSONSchema(getContactOutput, { io: "output", unrepresentable: "any" })
|
|
314
314
|
},
|
|
315
315
|
create_contact: {
|
|
316
316
|
description: "Create a Front company contact with JSON fields and one or more reachable handles.",
|
|
317
317
|
effect: "write",
|
|
318
318
|
inputSchema: createContactInput,
|
|
319
|
-
outputSchema:
|
|
319
|
+
outputSchema: z.toJSONSchema(createContactOutput, { io: "output", unrepresentable: "any" })
|
|
320
320
|
},
|
|
321
321
|
update_contact: {
|
|
322
322
|
description: "Update JSON fields on a Front contact. Avatar uploads are intentionally not exposed.",
|
|
323
323
|
effect: "write",
|
|
324
324
|
inputSchema: updateContactInput,
|
|
325
|
-
outputSchema:
|
|
325
|
+
outputSchema: z.toJSONSchema(updateContactOutput, { io: "output", unrepresentable: "any" })
|
|
326
326
|
},
|
|
327
327
|
list_teammates: {
|
|
328
328
|
description: "List Front teammates in the company.",
|
|
329
329
|
effect: "read",
|
|
330
330
|
inputSchema: listTeammatesInput,
|
|
331
|
-
outputSchema:
|
|
331
|
+
outputSchema: z.toJSONSchema(listTeammatesOutput, { io: "output", unrepresentable: "any" })
|
|
332
332
|
}
|
|
333
333
|
};
|
|
334
334
|
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createProviderHttpClient
|
|
3
|
+
} from "./chunk-VWRUGUSU.js";
|
|
4
|
+
import {
|
|
5
|
+
messageFrom
|
|
6
|
+
} from "./chunk-JXHMDBAY.js";
|
|
7
|
+
import {
|
|
8
|
+
createProviderPlugin,
|
|
9
|
+
requireApiKey,
|
|
10
|
+
upstreamError
|
|
11
|
+
} from "./chunk-WJHG6OK7.js";
|
|
12
|
+
import "./chunk-2JNAI4OC.js";
|
|
13
|
+
import "./chunk-BADVCN6K.js";
|
|
14
|
+
import {
|
|
15
|
+
TBError
|
|
16
|
+
} from "./chunk-5ICRY3VU.js";
|
|
17
|
+
import "./chunk-U67V476Y.js";
|
|
18
|
+
|
|
19
|
+
// ../plugins/src/geocodio/api.ts
|
|
20
|
+
var SERVICE = "geocodio";
|
|
21
|
+
var http = createProviderHttpClient({ baseUrl: "https://api.geocod.io/v1.12/", service: SERVICE });
|
|
22
|
+
async function request(ctx, path, query, body) {
|
|
23
|
+
const apiKey = requireApiKey(ctx, SERVICE);
|
|
24
|
+
const pairs = [
|
|
25
|
+
...Object.entries(query),
|
|
26
|
+
["api_key", apiKey]
|
|
27
|
+
];
|
|
28
|
+
const { data } = await http.request({
|
|
29
|
+
path,
|
|
30
|
+
query: pairs,
|
|
31
|
+
...body === void 0 ? {} : { method: "POST", json: body },
|
|
32
|
+
invalidJson: "text",
|
|
33
|
+
mapError: ({ data: payload, status }) => upstreamError(
|
|
34
|
+
status === 0 ? 502 : status,
|
|
35
|
+
messageFrom(payload, ["error", "message"], "Geocodio request failed")
|
|
36
|
+
),
|
|
37
|
+
mapTransportError: ({ message }) => upstreamError(
|
|
38
|
+
502,
|
|
39
|
+
message === void 0 ? "Geocodio request failed" : `Geocodio request failed: ${message}`
|
|
40
|
+
)
|
|
41
|
+
});
|
|
42
|
+
return data ?? null;
|
|
43
|
+
}
|
|
44
|
+
function singleGeocode(input, ctx) {
|
|
45
|
+
const hasAny = [
|
|
46
|
+
input.q,
|
|
47
|
+
input.street,
|
|
48
|
+
input.street2,
|
|
49
|
+
input.city,
|
|
50
|
+
input.state,
|
|
51
|
+
input.postal_code,
|
|
52
|
+
input.country,
|
|
53
|
+
input.county
|
|
54
|
+
].some((value) => value !== void 0 && value.trim() !== "");
|
|
55
|
+
if (!hasAny) throw new TBError("invalid_argument", "q or at least one address component is required");
|
|
56
|
+
return request(ctx, "geocode", {
|
|
57
|
+
q: input.q,
|
|
58
|
+
street: input.street,
|
|
59
|
+
street2: input.street2,
|
|
60
|
+
city: input.city,
|
|
61
|
+
state: input.state,
|
|
62
|
+
postal_code: input.postal_code,
|
|
63
|
+
country: input.country,
|
|
64
|
+
county: input.county,
|
|
65
|
+
fields: input.fields,
|
|
66
|
+
limit: input.limit,
|
|
67
|
+
format: input.format
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function geocodeBatch(input, ctx) {
|
|
71
|
+
return request(ctx, "geocode", { fields: input.fields, limit: input.limit }, input.addresses);
|
|
72
|
+
}
|
|
73
|
+
function singleReverseGeocode(input, ctx) {
|
|
74
|
+
return request(ctx, "reverse", {
|
|
75
|
+
q: `${input.lat},${input.lng}`,
|
|
76
|
+
fields: input.fields,
|
|
77
|
+
limit: input.limit,
|
|
78
|
+
format: input.format
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function batchReverseGeocode(input, ctx) {
|
|
82
|
+
return request(ctx, "reverse", { fields: input.fields, limit: input.limit }, input.coordinates);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// ../plugins/src/geocodio/schema.ts
|
|
86
|
+
import { z } from "zod/v4";
|
|
87
|
+
var singleGeocodeInput = z.strictObject({
|
|
88
|
+
q: z.string().min(1).describe("The full address string to geocode.").optional(),
|
|
89
|
+
street: z.string().min(1).describe("The street address component.").optional(),
|
|
90
|
+
street2: z.string().min(1).describe("The secondary street address component.").optional(),
|
|
91
|
+
city: z.string().min(1).describe("The city name used for the lookup.").optional(),
|
|
92
|
+
state: z.string().min(1).describe("The state or province code used for the lookup.").optional(),
|
|
93
|
+
postal_code: z.string().min(1).describe("The postal or ZIP code used for the lookup.").optional(),
|
|
94
|
+
country: z.string().min(1).describe("The country context for the lookup.").optional(),
|
|
95
|
+
county: z.string().min(1).describe("The county name used for the lookup.").optional(),
|
|
96
|
+
fields: z.string().min(1).describe("A comma-separated list of Geocodio data append codes.").optional(),
|
|
97
|
+
limit: z.int().min(0).describe("The maximum number of results to return.").optional(),
|
|
98
|
+
format: z.literal("simple").describe("Return Geocodio's simplified single-result response format.").optional()
|
|
99
|
+
}).describe("The input payload for geocoding a single address with Geocodio.");
|
|
100
|
+
var singleGeocodeOutput = z.looseObject({
|
|
101
|
+
input: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional(),
|
|
102
|
+
results: z.array(z.looseObject({
|
|
103
|
+
formatted_address: z.string().describe("The full formatted address.").optional(),
|
|
104
|
+
location: z.looseObject({
|
|
105
|
+
lat: z.number().describe("The latitude coordinate."),
|
|
106
|
+
lng: z.number().describe("The longitude coordinate.")
|
|
107
|
+
}).describe("Latitude and longitude returned by Geocodio.").optional(),
|
|
108
|
+
accuracy: z.number().describe("The match accuracy score from 0.0 to 1.0.").optional(),
|
|
109
|
+
accuracy_type: z.string().describe("The Geocodio accuracy type for the match.").optional(),
|
|
110
|
+
source: z.string().describe("The source dataset for the match.").optional(),
|
|
111
|
+
address_components: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional(),
|
|
112
|
+
address_lines: z.array(z.string().describe("One formatted address line.")).describe("Formatted address lines.").optional(),
|
|
113
|
+
fields: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional()
|
|
114
|
+
}).describe("A single Geocodio geocoding result.")).describe("The ordered geocoding match results.").optional(),
|
|
115
|
+
lat: z.number().describe("The latitude returned by Geocodio simple format.").optional(),
|
|
116
|
+
lng: z.number().describe("The longitude returned by Geocodio simple format.").optional(),
|
|
117
|
+
address: z.string().describe("The address returned by Geocodio simple format.").optional(),
|
|
118
|
+
source: z.string().describe("The source returned by Geocodio simple format.").optional()
|
|
119
|
+
}).describe("The Geocodio response for a single geocode or reverse geocode request.");
|
|
120
|
+
var geocodeBatchInput = z.strictObject({
|
|
121
|
+
addresses: z.array(z.string().min(1).describe("One address string to geocode.")).min(1).max(1e4).describe("The address strings to geocode in one batch request."),
|
|
122
|
+
fields: z.string().min(1).describe("A comma-separated list of Geocodio data append codes.").optional(),
|
|
123
|
+
limit: z.int().min(0).describe("The maximum number of results per address.").optional()
|
|
124
|
+
}).describe("The input payload for batch geocoding addresses with Geocodio.");
|
|
125
|
+
var geocodeBatchOutput = z.strictObject({
|
|
126
|
+
results: z.array(z.looseObject({
|
|
127
|
+
query: z.string().describe("The original query string from the batch request."),
|
|
128
|
+
response: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.")
|
|
129
|
+
}).describe("One batch geocoding or reverse geocoding result.")).describe("The ordered batch response items.")
|
|
130
|
+
}).describe("The Geocodio response for a batch geocoding request.");
|
|
131
|
+
var singleReverseGeocodeInput = z.strictObject({
|
|
132
|
+
lat: z.number().min(-90).max(90).describe("The latitude to reverse geocode."),
|
|
133
|
+
lng: z.number().min(-180).max(180).describe("The longitude to reverse geocode."),
|
|
134
|
+
fields: z.string().min(1).describe("A comma-separated list of Geocodio data append codes.").optional(),
|
|
135
|
+
limit: z.int().min(0).describe("The maximum number of results to return.").optional(),
|
|
136
|
+
format: z.literal("simple").describe("Return Geocodio's simplified single-result response format.").optional()
|
|
137
|
+
}).describe("The input payload for reverse geocoding a single latitude and longitude pair.");
|
|
138
|
+
var singleReverseGeocodeOutput = z.looseObject({
|
|
139
|
+
input: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional(),
|
|
140
|
+
results: z.array(z.looseObject({
|
|
141
|
+
formatted_address: z.string().describe("The full formatted address.").optional(),
|
|
142
|
+
location: z.looseObject({
|
|
143
|
+
lat: z.number().describe("The latitude coordinate."),
|
|
144
|
+
lng: z.number().describe("The longitude coordinate.")
|
|
145
|
+
}).describe("Latitude and longitude returned by Geocodio.").optional(),
|
|
146
|
+
accuracy: z.number().describe("The match accuracy score from 0.0 to 1.0.").optional(),
|
|
147
|
+
accuracy_type: z.string().describe("The Geocodio accuracy type for the match.").optional(),
|
|
148
|
+
source: z.string().describe("The source dataset for the match.").optional(),
|
|
149
|
+
address_components: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional(),
|
|
150
|
+
address_lines: z.array(z.string().describe("One formatted address line.")).describe("Formatted address lines.").optional(),
|
|
151
|
+
fields: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.").optional()
|
|
152
|
+
}).describe("A single Geocodio geocoding result.")).describe("The ordered geocoding match results.").optional(),
|
|
153
|
+
lat: z.number().describe("The latitude returned by Geocodio simple format.").optional(),
|
|
154
|
+
lng: z.number().describe("The longitude returned by Geocodio simple format.").optional(),
|
|
155
|
+
address: z.string().describe("The address returned by Geocodio simple format.").optional(),
|
|
156
|
+
source: z.string().describe("The source returned by Geocodio simple format.").optional()
|
|
157
|
+
}).describe("The Geocodio response for a single geocode or reverse geocode request.");
|
|
158
|
+
var batchReverseGeocodeInput = z.strictObject({
|
|
159
|
+
coordinates: z.array(z.string().min(1).describe("One `latitude,longitude` coordinate string.")).min(1).max(1e4).describe("The coordinate strings to reverse geocode in one batch request."),
|
|
160
|
+
fields: z.string().min(1).describe("A comma-separated list of Geocodio data append codes.").optional(),
|
|
161
|
+
limit: z.int().min(0).describe("The maximum number of results per coordinate.").optional()
|
|
162
|
+
}).describe("The input payload for batch reverse geocoding coordinate pairs with Geocodio.");
|
|
163
|
+
var batchReverseGeocodeOutput = z.strictObject({
|
|
164
|
+
results: z.array(z.looseObject({
|
|
165
|
+
query: z.string().describe("The original query string from the batch request."),
|
|
166
|
+
response: z.record(z.string(), z.unknown().describe("A property value in a JSON-like object.")).describe("A JSON-like object with arbitrary string keys.")
|
|
167
|
+
}).describe("One batch geocoding or reverse geocoding result.")).describe("The ordered batch response items.")
|
|
168
|
+
}).describe("The Geocodio response for a batch geocoding request.");
|
|
169
|
+
var geocodioActions = {
|
|
170
|
+
single_geocode: {
|
|
171
|
+
description: "Geocode a single address and return the official Geocodio response payload.",
|
|
172
|
+
effect: "write",
|
|
173
|
+
inputSchema: singleGeocodeInput,
|
|
174
|
+
outputSchema: z.toJSONSchema(singleGeocodeOutput, { io: "output", unrepresentable: "any" })
|
|
175
|
+
},
|
|
176
|
+
geocode_batch: {
|
|
177
|
+
description: "Geocode multiple addresses in one batch request and return Geocodio batch results.",
|
|
178
|
+
effect: "write",
|
|
179
|
+
inputSchema: geocodeBatchInput,
|
|
180
|
+
outputSchema: z.toJSONSchema(geocodeBatchOutput, { io: "output", unrepresentable: "any" })
|
|
181
|
+
},
|
|
182
|
+
single_reverse_geocode: {
|
|
183
|
+
description: "Reverse geocode a single latitude and longitude pair and return the official Geocodio response payload.",
|
|
184
|
+
effect: "write",
|
|
185
|
+
inputSchema: singleReverseGeocodeInput,
|
|
186
|
+
outputSchema: z.toJSONSchema(singleReverseGeocodeOutput, { io: "output", unrepresentable: "any" })
|
|
187
|
+
},
|
|
188
|
+
batch_reverse_geocode: {
|
|
189
|
+
description: "Reverse geocode multiple coordinate pairs in one batch request and return Geocodio batch results.",
|
|
190
|
+
effect: "write",
|
|
191
|
+
inputSchema: batchReverseGeocodeInput,
|
|
192
|
+
outputSchema: z.toJSONSchema(batchReverseGeocodeOutput, { io: "output", unrepresentable: "any" })
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
// ../plugins/src/geocodio/index.ts
|
|
197
|
+
function createGeocodioPlugin() {
|
|
198
|
+
return createProviderPlugin({
|
|
199
|
+
description: "Geocodio",
|
|
200
|
+
actions: geocodioActions,
|
|
201
|
+
handlers: {
|
|
202
|
+
single_geocode: singleGeocode,
|
|
203
|
+
geocode_batch: geocodeBatch,
|
|
204
|
+
single_reverse_geocode: singleReverseGeocode,
|
|
205
|
+
batch_reverse_geocode: batchReverseGeocode
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
var geocodio_default = createGeocodioPlugin();
|
|
210
|
+
export {
|
|
211
|
+
createGeocodioPlugin,
|
|
212
|
+
geocodio_default as default
|
|
213
|
+
};
|