@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
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAuthedClient
|
|
3
|
+
} from "./chunk-TDAWLMDE.js";
|
|
4
|
+
import "./chunk-VWRUGUSU.js";
|
|
5
|
+
import {
|
|
6
|
+
asJsonObject,
|
|
7
|
+
trimmedText
|
|
8
|
+
} from "./chunk-JXHMDBAY.js";
|
|
9
|
+
import {
|
|
10
|
+
createProviderPlugin,
|
|
11
|
+
upstreamError
|
|
12
|
+
} from "./chunk-WJHG6OK7.js";
|
|
13
|
+
import "./chunk-2JNAI4OC.js";
|
|
14
|
+
import "./chunk-BADVCN6K.js";
|
|
15
|
+
import "./chunk-5ICRY3VU.js";
|
|
16
|
+
import "./chunk-U67V476Y.js";
|
|
17
|
+
|
|
18
|
+
// ../plugins/src/ngrok/api.ts
|
|
19
|
+
var SERVICE = "ngrok";
|
|
20
|
+
var http = createAuthedClient({
|
|
21
|
+
baseUrl: "https://api.ngrok.com/",
|
|
22
|
+
service: SERVICE,
|
|
23
|
+
auth: { kind: "bearer" },
|
|
24
|
+
headers: { "accept": "application/json", "ngrok-version": "2" },
|
|
25
|
+
errorMessage: {
|
|
26
|
+
keys: ["msg", "message", "error"],
|
|
27
|
+
fallback: (status) => `ngrok request failed with ${status}`
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
async function request(ctx, path, query) {
|
|
31
|
+
const { data } = await http.request(ctx, { path, query, invalidJson: "text" });
|
|
32
|
+
const result = asJsonObject(data);
|
|
33
|
+
if (result === void 0) throw upstreamError(502, "ngrok response was not a JSON object");
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
function listQuery(input) {
|
|
37
|
+
return [
|
|
38
|
+
["limit", input.limit],
|
|
39
|
+
["before_id", trimmedText(input.before_id)],
|
|
40
|
+
["filter", trimmedText(input.filter)]
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
function listEndpoints(input, ctx) {
|
|
44
|
+
return request(ctx, "endpoints", listQuery(input));
|
|
45
|
+
}
|
|
46
|
+
function getEndpoint(input, ctx) {
|
|
47
|
+
return request(ctx, `endpoints/${encodeURIComponent(input.endpoint_id)}`);
|
|
48
|
+
}
|
|
49
|
+
function listTunnels(input, ctx) {
|
|
50
|
+
return request(ctx, "tunnels", listQuery(input));
|
|
51
|
+
}
|
|
52
|
+
function listTunnelSessions(input, ctx) {
|
|
53
|
+
return request(ctx, "tunnel_sessions", listQuery(input));
|
|
54
|
+
}
|
|
55
|
+
function listReservedDomains(input, ctx) {
|
|
56
|
+
return request(ctx, "reserved_domains", listQuery(input));
|
|
57
|
+
}
|
|
58
|
+
function getReservedDomain(input, ctx) {
|
|
59
|
+
return request(ctx, `reserved_domains/${encodeURIComponent(input.reserved_domain_id)}`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// ../plugins/src/ngrok/schema.ts
|
|
63
|
+
import { z } from "zod/v4";
|
|
64
|
+
var listEndpointsInput = z.strictObject({
|
|
65
|
+
limit: z.int().min(1).max(100).describe("Maximum number of results to return. ngrok accepts values from 1 to 100.").optional(),
|
|
66
|
+
before_id: z.string().min(1).describe("Pagination cursor that requests results created before this resource ID.").optional(),
|
|
67
|
+
filter: z.string().min(1).describe("CEL filter expression used by ngrok to filter the returned resources.").optional()
|
|
68
|
+
}).describe("Input payload for listing ngrok endpoints.");
|
|
69
|
+
var listEndpointsOutput = z.looseObject({
|
|
70
|
+
uri: z.string().describe("Canonical ngrok API URI for the endpoints collection.").optional(),
|
|
71
|
+
endpoints: z.array(z.looseObject({
|
|
72
|
+
id: z.string().describe("Unique endpoint resource identifier.").optional(),
|
|
73
|
+
created_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
74
|
+
updated_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
75
|
+
type: z.string().describe("Endpoint type returned by ngrok, such as edge or cloud.").optional(),
|
|
76
|
+
proto: z.string().describe("Protocol served by this endpoint.").optional(),
|
|
77
|
+
public_url: z.string().describe("Public URL currently serving this endpoint.").optional(),
|
|
78
|
+
url: z.string().describe("API URL or frontend URL returned by ngrok for this endpoint.").optional(),
|
|
79
|
+
description: z.string().describe("Human-readable description configured on this endpoint.").optional(),
|
|
80
|
+
metadata: z.string().describe("User-defined metadata attached to this endpoint.").optional(),
|
|
81
|
+
host: z.string().describe("Host portion returned by ngrok for this endpoint.").optional(),
|
|
82
|
+
name: z.string().describe("User-defined endpoint name returned by ngrok.").optional(),
|
|
83
|
+
port: z.int().describe("Port returned by ngrok for this endpoint.").optional(),
|
|
84
|
+
region: z.string().describe("Region identifier returned by ngrok for this endpoint.").optional(),
|
|
85
|
+
scheme: z.string().describe("Scheme returned by ngrok for this endpoint.").optional(),
|
|
86
|
+
bindings: z.array(z.string().describe("Binding value returned by ngrok.")).describe("Bindings configured on this endpoint.").optional(),
|
|
87
|
+
hostport: z.string().describe("Hostport returned by ngrok for this endpoint.").optional(),
|
|
88
|
+
tcp_addr: z.looseObject({
|
|
89
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
90
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
91
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
92
|
+
principal: z.looseObject({
|
|
93
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
94
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
95
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
96
|
+
edge: z.looseObject({
|
|
97
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
98
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
99
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
100
|
+
domain: z.looseObject({
|
|
101
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
102
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
103
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
104
|
+
tunnel: z.looseObject({
|
|
105
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
106
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
107
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
108
|
+
tunnel_session: z.looseObject({
|
|
109
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
110
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
111
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
112
|
+
upstream_url: z.string().describe("Upstream URL forwarded to by this endpoint, when returned.").optional(),
|
|
113
|
+
upstream_protocol: z.string().describe("Upstream protocol used by the ngrok agent, when returned.").optional(),
|
|
114
|
+
traffic_policy: z.string().describe("Traffic policy attached to this endpoint, when returned.").optional(),
|
|
115
|
+
pooling_enabled: z.boolean().describe("Whether pooling is enabled for this endpoint.").optional()
|
|
116
|
+
}).describe("ngrok endpoint object.")).describe("Resources returned by ngrok for this page.").optional(),
|
|
117
|
+
next_page_uri: z.string().describe("URI of the next page, or null when there is no next page.").nullable().optional()
|
|
118
|
+
}).describe("Paginated ngrok endpoints response.");
|
|
119
|
+
var getEndpointInput = z.strictObject({
|
|
120
|
+
endpoint_id: z.string().min(1).describe("Unique identifier of the ngrok endpoint.")
|
|
121
|
+
}).describe("Input payload for fetching one ngrok endpoint by ID.");
|
|
122
|
+
var getEndpointOutput = z.looseObject({
|
|
123
|
+
id: z.string().describe("Unique endpoint resource identifier.").optional(),
|
|
124
|
+
created_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
125
|
+
updated_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
126
|
+
type: z.string().describe("Endpoint type returned by ngrok, such as edge or cloud.").optional(),
|
|
127
|
+
proto: z.string().describe("Protocol served by this endpoint.").optional(),
|
|
128
|
+
public_url: z.string().describe("Public URL currently serving this endpoint.").optional(),
|
|
129
|
+
url: z.string().describe("API URL or frontend URL returned by ngrok for this endpoint.").optional(),
|
|
130
|
+
description: z.string().describe("Human-readable description configured on this endpoint.").optional(),
|
|
131
|
+
metadata: z.string().describe("User-defined metadata attached to this endpoint.").optional(),
|
|
132
|
+
host: z.string().describe("Host portion returned by ngrok for this endpoint.").optional(),
|
|
133
|
+
name: z.string().describe("User-defined endpoint name returned by ngrok.").optional(),
|
|
134
|
+
port: z.int().describe("Port returned by ngrok for this endpoint.").optional(),
|
|
135
|
+
region: z.string().describe("Region identifier returned by ngrok for this endpoint.").optional(),
|
|
136
|
+
scheme: z.string().describe("Scheme returned by ngrok for this endpoint.").optional(),
|
|
137
|
+
bindings: z.array(z.string().describe("Binding value returned by ngrok.")).describe("Bindings configured on this endpoint.").optional(),
|
|
138
|
+
hostport: z.string().describe("Hostport returned by ngrok for this endpoint.").optional(),
|
|
139
|
+
tcp_addr: z.looseObject({
|
|
140
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
141
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
142
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
143
|
+
principal: z.looseObject({
|
|
144
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
145
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
146
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
147
|
+
edge: z.looseObject({
|
|
148
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
149
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
150
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
151
|
+
domain: z.looseObject({
|
|
152
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
153
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
154
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
155
|
+
tunnel: z.looseObject({
|
|
156
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
157
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
158
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
159
|
+
tunnel_session: z.looseObject({
|
|
160
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
161
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
162
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
163
|
+
upstream_url: z.string().describe("Upstream URL forwarded to by this endpoint, when returned.").optional(),
|
|
164
|
+
upstream_protocol: z.string().describe("Upstream protocol used by the ngrok agent, when returned.").optional(),
|
|
165
|
+
traffic_policy: z.string().describe("Traffic policy attached to this endpoint, when returned.").optional(),
|
|
166
|
+
pooling_enabled: z.boolean().describe("Whether pooling is enabled for this endpoint.").optional()
|
|
167
|
+
}).describe("ngrok endpoint object.");
|
|
168
|
+
var listTunnelsInput = z.strictObject({
|
|
169
|
+
limit: z.int().min(1).max(100).describe("Maximum number of results to return. ngrok accepts values from 1 to 100.").optional(),
|
|
170
|
+
before_id: z.string().min(1).describe("Pagination cursor that requests results created before this resource ID.").optional()
|
|
171
|
+
}).describe("Input payload for listing ngrok tunnels.");
|
|
172
|
+
var listTunnelsOutput = z.looseObject({
|
|
173
|
+
uri: z.string().describe("Canonical ngrok API URI for the tunnels collection.").optional(),
|
|
174
|
+
tunnels: z.array(z.looseObject({
|
|
175
|
+
id: z.string().describe("Unique tunnel resource identifier.").optional(),
|
|
176
|
+
started_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
177
|
+
region: z.string().describe("Region where this tunnel is running.").optional(),
|
|
178
|
+
forwards_to: z.string().describe("Upstream address that this tunnel forwards traffic to.").optional(),
|
|
179
|
+
proto: z.string().describe("Tunnel protocol returned by ngrok.").optional(),
|
|
180
|
+
public_url: z.string().describe("Public URL currently serving this tunnel.").optional(),
|
|
181
|
+
metadata: z.string().describe("User-defined metadata attached to this tunnel.").optional(),
|
|
182
|
+
endpoint: z.looseObject({
|
|
183
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
184
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
185
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
186
|
+
tunnel_session: z.looseObject({
|
|
187
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
188
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
189
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
190
|
+
backends: z.array(z.looseObject({
|
|
191
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
192
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
193
|
+
}).describe("Reference to another ngrok API resource.")).describe("Backends attached to this tunnel group, when returned.").optional(),
|
|
194
|
+
labels: z.record(z.string(), z.string().describe("Label value returned by ngrok.")).describe("Label map returned by ngrok for this tunnel.").optional()
|
|
195
|
+
}).describe("ngrok tunnel object.")).describe("Resources returned by ngrok for this page.").optional(),
|
|
196
|
+
next_page_uri: z.string().describe("URI of the next page, or null when there is no next page.").nullable().optional()
|
|
197
|
+
}).describe("Paginated ngrok tunnels response.");
|
|
198
|
+
var listTunnelSessionsInput = z.strictObject({
|
|
199
|
+
limit: z.int().min(1).max(100).describe("Maximum number of results to return. ngrok accepts values from 1 to 100.").optional(),
|
|
200
|
+
before_id: z.string().min(1).describe("Pagination cursor that requests results created before this resource ID.").optional(),
|
|
201
|
+
filter: z.string().min(1).describe("CEL filter expression used by ngrok to filter the returned resources.").optional()
|
|
202
|
+
}).describe("Input payload for listing ngrok tunnel sessions.");
|
|
203
|
+
var listTunnelSessionsOutput = z.looseObject({
|
|
204
|
+
uri: z.string().describe("Canonical ngrok API URI for the tunnel_sessions collection.").optional(),
|
|
205
|
+
tunnel_sessions: z.array(z.looseObject({
|
|
206
|
+
id: z.string().describe("Unique tunnel session resource identifier.").optional(),
|
|
207
|
+
uri: z.string().describe("Canonical ngrok API URI for this tunnel session.").optional(),
|
|
208
|
+
agent_version: z.string().describe("ngrok agent version serving this session.").optional(),
|
|
209
|
+
credential: z.looseObject({
|
|
210
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
211
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
212
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
213
|
+
ip: z.string().describe("Source IP address of the tunnel session.").optional(),
|
|
214
|
+
os: z.string().describe("Operating system reported by the ngrok agent.").optional(),
|
|
215
|
+
region: z.string().describe("ngrok region where this session is connected.").optional(),
|
|
216
|
+
started_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
217
|
+
transport: z.string().describe("Transport protocol used by this tunnel session.").optional(),
|
|
218
|
+
metadata: z.string().describe("User-defined metadata attached to this session.").optional()
|
|
219
|
+
}).describe("ngrok tunnel session object.")).describe("Resources returned by ngrok for this page.").optional(),
|
|
220
|
+
next_page_uri: z.string().describe("URI of the next page, or null when there is no next page.").nullable().optional()
|
|
221
|
+
}).describe("Paginated ngrok tunnel sessions response.");
|
|
222
|
+
var listReservedDomainsInput = z.strictObject({
|
|
223
|
+
limit: z.int().min(1).max(100).describe("Maximum number of results to return. ngrok accepts values from 1 to 100.").optional(),
|
|
224
|
+
before_id: z.string().min(1).describe("Pagination cursor that requests results created before this resource ID.").optional(),
|
|
225
|
+
filter: z.string().min(1).describe("CEL filter expression used by ngrok to filter the returned resources.").optional()
|
|
226
|
+
}).describe("Input payload for listing ngrok reserved domains.");
|
|
227
|
+
var listReservedDomainsOutput = z.looseObject({
|
|
228
|
+
uri: z.string().describe("Canonical ngrok API URI for the reserved_domains collection.").optional(),
|
|
229
|
+
reserved_domains: z.array(z.looseObject({
|
|
230
|
+
id: z.string().describe("Unique reserved domain resource identifier.").optional(),
|
|
231
|
+
uri: z.string().describe("Canonical ngrok API URI for this reserved domain.").optional(),
|
|
232
|
+
created_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
233
|
+
domain: z.string().describe("Hostname reserved on the ngrok account.").optional(),
|
|
234
|
+
region: z.string().describe("Deprecated region field returned by ngrok, when present.").optional(),
|
|
235
|
+
metadata: z.string().describe("User-defined metadata attached to this reserved domain.").optional(),
|
|
236
|
+
description: z.string().describe("Human-readable description configured on this reserved domain.").optional(),
|
|
237
|
+
certificate: z.looseObject({
|
|
238
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
239
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
240
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
241
|
+
cname_target: z.string().describe("DNS CNAME target for this reserved domain.").optional(),
|
|
242
|
+
acme_challenge_cname_target: z.string().describe("DNS CNAME target used for ACME validation, when returned.").optional(),
|
|
243
|
+
resolves_to: z.array(z.looseObject({
|
|
244
|
+
value: z.string().describe("Resolver target value returned by ngrok.").optional()
|
|
245
|
+
}).describe("ngrok reserved domain resolve target.")).describe("Resolver targets configured on this reserved domain, when returned.").optional(),
|
|
246
|
+
certificate_management_policy: z.looseObject({
|
|
247
|
+
authority: z.string().describe("Certificate authority used by automatic management.").optional(),
|
|
248
|
+
private_key_type: z.string().describe("Private key type used by automatic management.").optional()
|
|
249
|
+
}).describe("ngrok reserved domain certificate management policy.").optional(),
|
|
250
|
+
certificate_management_status: z.looseObject({
|
|
251
|
+
renews_at: z.string().describe("Timestamp when the managed certificate renews, when returned.").optional(),
|
|
252
|
+
provisioning_job: z.looseObject({
|
|
253
|
+
msg: z.string().describe("Status or error message returned for the certificate job.").optional(),
|
|
254
|
+
error_code: z.string().describe("Certificate job error code returned by ngrok, when present.").optional(),
|
|
255
|
+
retries_at: z.string().describe("Timestamp when ngrok will retry the certificate job, when present.").optional(),
|
|
256
|
+
started_at: z.string().describe("Timestamp in RFC 3339 format.").optional()
|
|
257
|
+
}).describe("ngrok reserved domain certificate provisioning job.").optional()
|
|
258
|
+
}).describe("ngrok reserved domain certificate management status.").optional()
|
|
259
|
+
}).describe("ngrok reserved domain object.")).describe("Resources returned by ngrok for this page.").optional(),
|
|
260
|
+
next_page_uri: z.string().describe("URI of the next page, or null when there is no next page.").nullable().optional()
|
|
261
|
+
}).describe("Paginated ngrok reserved domains response.");
|
|
262
|
+
var getReservedDomainInput = z.strictObject({
|
|
263
|
+
reserved_domain_id: z.string().min(1).describe("Unique identifier of the ngrok reserved domain.")
|
|
264
|
+
}).describe("Input payload for fetching one ngrok reserved domain by ID.");
|
|
265
|
+
var getReservedDomainOutput = z.looseObject({
|
|
266
|
+
id: z.string().describe("Unique reserved domain resource identifier.").optional(),
|
|
267
|
+
uri: z.string().describe("Canonical ngrok API URI for this reserved domain.").optional(),
|
|
268
|
+
created_at: z.string().describe("Timestamp in RFC 3339 format.").optional(),
|
|
269
|
+
domain: z.string().describe("Hostname reserved on the ngrok account.").optional(),
|
|
270
|
+
region: z.string().describe("Deprecated region field returned by ngrok, when present.").optional(),
|
|
271
|
+
metadata: z.string().describe("User-defined metadata attached to this reserved domain.").optional(),
|
|
272
|
+
description: z.string().describe("Human-readable description configured on this reserved domain.").optional(),
|
|
273
|
+
certificate: z.looseObject({
|
|
274
|
+
id: z.string().describe("ngrok resource identifier.").optional(),
|
|
275
|
+
uri: z.string().describe("Canonical ngrok API URI for this resource.").optional()
|
|
276
|
+
}).describe("Reference to another ngrok API resource.").optional(),
|
|
277
|
+
cname_target: z.string().describe("DNS CNAME target for this reserved domain.").optional(),
|
|
278
|
+
acme_challenge_cname_target: z.string().describe("DNS CNAME target used for ACME validation, when returned.").optional(),
|
|
279
|
+
resolves_to: z.array(z.looseObject({
|
|
280
|
+
value: z.string().describe("Resolver target value returned by ngrok.").optional()
|
|
281
|
+
}).describe("ngrok reserved domain resolve target.")).describe("Resolver targets configured on this reserved domain, when returned.").optional(),
|
|
282
|
+
certificate_management_policy: z.looseObject({
|
|
283
|
+
authority: z.string().describe("Certificate authority used by automatic management.").optional(),
|
|
284
|
+
private_key_type: z.string().describe("Private key type used by automatic management.").optional()
|
|
285
|
+
}).describe("ngrok reserved domain certificate management policy.").optional(),
|
|
286
|
+
certificate_management_status: z.looseObject({
|
|
287
|
+
renews_at: z.string().describe("Timestamp when the managed certificate renews, when returned.").optional(),
|
|
288
|
+
provisioning_job: z.looseObject({
|
|
289
|
+
msg: z.string().describe("Status or error message returned for the certificate job.").optional(),
|
|
290
|
+
error_code: z.string().describe("Certificate job error code returned by ngrok, when present.").optional(),
|
|
291
|
+
retries_at: z.string().describe("Timestamp when ngrok will retry the certificate job, when present.").optional(),
|
|
292
|
+
started_at: z.string().describe("Timestamp in RFC 3339 format.").optional()
|
|
293
|
+
}).describe("ngrok reserved domain certificate provisioning job.").optional()
|
|
294
|
+
}).describe("ngrok reserved domain certificate management status.").optional()
|
|
295
|
+
}).describe("ngrok reserved domain object.");
|
|
296
|
+
var ngrokActions = {
|
|
297
|
+
list_endpoints: {
|
|
298
|
+
description: "List active ngrok endpoints for the current account, with optional pagination and CEL filtering.",
|
|
299
|
+
effect: "read",
|
|
300
|
+
inputSchema: listEndpointsInput,
|
|
301
|
+
outputSchema: z.toJSONSchema(listEndpointsOutput, { io: "output", unrepresentable: "any" })
|
|
302
|
+
},
|
|
303
|
+
get_endpoint: {
|
|
304
|
+
description: "Fetch one ngrok endpoint by ID and return the upstream endpoint object.",
|
|
305
|
+
effect: "read",
|
|
306
|
+
inputSchema: getEndpointInput,
|
|
307
|
+
outputSchema: z.toJSONSchema(getEndpointOutput, { io: "output", unrepresentable: "any" })
|
|
308
|
+
},
|
|
309
|
+
list_tunnels: {
|
|
310
|
+
description: "List online ngrok tunnels for the current account with pagination support.",
|
|
311
|
+
effect: "read",
|
|
312
|
+
inputSchema: listTunnelsInput,
|
|
313
|
+
outputSchema: z.toJSONSchema(listTunnelsOutput, { io: "output", unrepresentable: "any" })
|
|
314
|
+
},
|
|
315
|
+
list_tunnel_sessions: {
|
|
316
|
+
description: "List online ngrok tunnel sessions for the current account with pagination and CEL filtering.",
|
|
317
|
+
effect: "read",
|
|
318
|
+
inputSchema: listTunnelSessionsInput,
|
|
319
|
+
outputSchema: z.toJSONSchema(listTunnelSessionsOutput, { io: "output", unrepresentable: "any" })
|
|
320
|
+
},
|
|
321
|
+
list_reserved_domains: {
|
|
322
|
+
description: "List reserved ngrok domains for the current account with pagination and CEL filtering.",
|
|
323
|
+
effect: "read",
|
|
324
|
+
inputSchema: listReservedDomainsInput,
|
|
325
|
+
outputSchema: z.toJSONSchema(listReservedDomainsOutput, { io: "output", unrepresentable: "any" })
|
|
326
|
+
},
|
|
327
|
+
get_reserved_domain: {
|
|
328
|
+
description: "Fetch one ngrok reserved domain by ID and return the upstream domain object.",
|
|
329
|
+
effect: "read",
|
|
330
|
+
inputSchema: getReservedDomainInput,
|
|
331
|
+
outputSchema: z.toJSONSchema(getReservedDomainOutput, { io: "output", unrepresentable: "any" })
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
|
|
335
|
+
// ../plugins/src/ngrok/index.ts
|
|
336
|
+
function createNgrokPlugin() {
|
|
337
|
+
return createProviderPlugin({
|
|
338
|
+
description: "ngrok",
|
|
339
|
+
actions: ngrokActions,
|
|
340
|
+
// 上游的 credentialValidators 打的就是 /endpoints?limit=1,对应 list_endpoints。
|
|
341
|
+
credentialProbe: "list_endpoints",
|
|
342
|
+
handlers: {
|
|
343
|
+
list_endpoints: listEndpoints,
|
|
344
|
+
get_endpoint: getEndpoint,
|
|
345
|
+
list_tunnels: listTunnels,
|
|
346
|
+
list_tunnel_sessions: listTunnelSessions,
|
|
347
|
+
list_reserved_domains: listReservedDomains,
|
|
348
|
+
get_reserved_domain: getReservedDomain
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
var ngrok_default = createNgrokPlugin();
|
|
353
|
+
export {
|
|
354
|
+
createNgrokPlugin,
|
|
355
|
+
ngrok_default as default
|
|
356
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
createPlugin
|
|
3
|
+
} from "./chunk-BADVCN6K.js";
|
|
4
|
+
import {
|
|
5
|
+
TBError
|
|
6
|
+
} from "./chunk-5ICRY3VU.js";
|
|
6
7
|
import "./chunk-U67V476Y.js";
|
|
7
8
|
|
|
8
9
|
// ../plugins/src/notes/index.ts
|
|
10
|
+
import { z } from "zod/v4";
|
|
9
11
|
function uriOf(mountPath, path) {
|
|
10
12
|
return `node://${mountPath ?? "notes"}/${path}`;
|
|
11
13
|
}
|
|
@@ -41,10 +43,10 @@ function createNotesPlugin() {
|
|
|
41
43
|
"create_note",
|
|
42
44
|
{
|
|
43
45
|
description: "\u65B0\u5EFA\u4E00\u6761\u7B14\u8BB0,\u8FD4\u56DE\u5B83\u5728 context export \u91CC\u7684\u8DEF\u5F84",
|
|
44
|
-
inputSchema:
|
|
45
|
-
title:
|
|
46
|
-
body:
|
|
47
|
-
tags:
|
|
46
|
+
inputSchema: z.object({
|
|
47
|
+
title: z.string().min(1).describe("\u7B14\u8BB0\u6807\u9898"),
|
|
48
|
+
body: z.string().describe("Markdown \u6B63\u6587"),
|
|
49
|
+
tags: z.array(z.string()).optional().describe("\u6807\u7B7E")
|
|
48
50
|
}),
|
|
49
51
|
effect: "write"
|
|
50
52
|
},
|
|
@@ -66,7 +68,7 @@ function createNotesPlugin() {
|
|
|
66
68
|
"count_notes",
|
|
67
69
|
{
|
|
68
70
|
description: "\u7EDF\u8BA1\u7B14\u8BB0\u6761\u6570(\u53EF\u6309\u6807\u7B7E\u8FC7\u6EE4)",
|
|
69
|
-
inputSchema:
|
|
71
|
+
inputSchema: z.object({ tag: z.string().optional().describe("\u53EA\u6570\u5E26\u6B64\u6807\u7B7E\u7684") }),
|
|
70
72
|
effect: "read"
|
|
71
73
|
},
|
|
72
74
|
({ tag }, ctx) => ({
|