@tool-bridge/server 0.21.1 → 0.22.1
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-ML2GIGCH.js +790 -0
- package/dist/{alt_text_generator_ai-W7O34SNG.js → alt_text_generator_ai-FGYQAF2A.js} +12 -11
- package/dist/{amap-VOX4T2AW.js → amap-G7V65NGK.js} +221 -220
- package/dist/anthropic-6ZK24TBB.js +203 -0
- package/dist/apify-VDGYHP6W.js +248 -0
- package/dist/brave_search-TAATLZOS.js +302 -0
- package/dist/chunk-2IAI3XQM.js +302 -0
- package/dist/chunk-7ISGFRC6.js +161 -0
- package/dist/{chunk-E6JCVKW6.js → chunk-BNMLA2RC.js} +3 -3
- package/dist/chunk-HA4BGL6C.js +8429 -0
- package/dist/{chunk-KMTT3I6D.js → chunk-RMAWSG7E.js} +19172 -25717
- package/dist/{chunk-XYBU3WZH.js → chunk-RTW5VRTK.js} +3 -3
- package/dist/chunk-U7PTOA3U.js +7320 -0
- package/dist/chunk-UY6ANCOY.js +378 -0
- package/dist/{chunk-ATK45BXV.js → chunk-X7ZUTKHR.js} +4 -2
- package/dist/circleci-BQ2UWXL2.js +389 -0
- package/dist/clerk-2JYWQNOI.js +1019 -0
- package/dist/cohere-6MI7AQM4.js +185 -0
- package/dist/{confluence-B3EWPZVE.js → confluence-6Y6GDETF.js} +105 -104
- package/dist/{convertapi-EUWSQYPF.js → convertapi-HBZCSWOX.js} +32 -31
- package/dist/{currencyapi-KVTIK3GL.js → currencyapi-337U5TGI.js} +71 -71
- package/dist/deepseek-OSPASO7O.js +210 -0
- package/dist/docker_hub-3ATQOY5L.js +933 -0
- package/dist/dropbox-LSA4GM2Y.js +1305 -0
- package/dist/dub-VZPJSPI6.js +680 -0
- package/dist/e2b-6SDYQZL2.js +278 -0
- package/dist/exa-B6EUYDVP.js +332 -0
- package/dist/{fal_ai-23E7JPNT.js → fal_ai-K4Q27IME.js} +81 -80
- package/dist/{feishu-7QRIDUV6.js → feishu-4TKXG4SU.js} +528 -572
- package/dist/{feishu_custom_bot-TJ4K7QNJ.js → feishu_custom_bot-7CTEAKRB.js} +57 -53
- package/dist/figma-OUKSZLD5.js +777 -0
- package/dist/firehydrant-7MOYL7QH.js +563 -0
- package/dist/{fixer-BWON27UO.js → fixer-H2BV2NO4.js} +34 -33
- package/dist/fly-PXKY6PNH.js +469 -0
- package/dist/{front-QCGXYEDJ.js → front-UZYIV5DW.js} +104 -104
- package/dist/geocodio-NSYO7TFP.js +213 -0
- package/dist/ghost-QBKKQQMF.js +338 -0
- package/dist/github-ENLSJ4CL.js +5421 -0
- package/dist/gmail-KQSDEB47.js +1887 -0
- package/dist/googlecalendar-5YCX4SZF.js +2524 -0
- package/dist/{googledocs-BUHL4J2H.js → googledocs-SSWIVFKA.js} +341 -340
- package/dist/{grafana-GLU2DWF2.js → grafana-TF2LXDQA.js} +221 -220
- package/dist/graphhopper-CURBVHYK.js +325 -0
- package/dist/index.d.ts +1132 -332
- package/dist/index.js +31 -14
- package/dist/{ip2proxy-EZ64Y4ZH.js → ip2proxy-YNVMTZEM.js} +28 -27
- package/dist/ipgeolocation_io-NAU7VJ4J.js +315 -0
- package/dist/ipqualityscore-OT63L4TI.js +279 -0
- package/dist/{jina_ai-EFBHTBXL.js → jina_ai-6WBMBGWM.js} +23 -23
- package/dist/{jira-HQSHAA5K.js → jira-DVDVTHNO.js} +118 -117
- package/dist/langsmith-IM5N4YAU.js +593 -0
- package/dist/lemlist-277SHUQF.js +289 -0
- package/dist/{linear-K7RYFYAD.js → linear-AEPH7B5V.js} +327 -326
- package/dist/logsnag-VEWRAGBG.js +150 -0
- package/dist/main.js +57 -280
- package/dist/{mattermost-S2BRCWLQ.js → mattermost-Q3A2BIZA.js} +59 -58
- package/dist/mem0-AXS7GZGI.js +544 -0
- package/dist/memos-7TXG4ZTU.js +744 -0
- package/dist/{metabase-MMSEPCOF.js → metabase-NSVACWQM.js} +90 -89
- package/dist/mistral_ai-YZ52RGD4.js +1196 -0
- package/dist/{mother_duck-H7PCQNZ2.js → mother_duck-XLLL6FVL.js} +94 -93
- package/dist/ngrok-4O4W3WZW.js +356 -0
- package/dist/{notes-PFMKRO33.js → notes-YTB3TJOO.js} +11 -9
- package/dist/notion-4W4O7J7V.js +940 -0
- package/dist/open_exchange_rates-23QJXVO5.js +215 -0
- package/dist/openai-ZS7GLSLH.js +800 -0
- package/dist/opengraph_io-PMVH7OYI.js +362 -0
- package/dist/openrouter-ONRGFNB6.js +441 -0
- package/dist/outline-UCUYZZ7J.js +599 -0
- package/dist/paddle-35HTKTUL.js +454 -0
- package/dist/perplexity-NVOBYN24.js +220 -0
- package/dist/pinecone-55CJY73C.js +571 -0
- package/dist/{pipedrive-Y2O7QGFF.js → pipedrive-WMCAKS72.js} +99 -98
- package/dist/polar-SM4ZM53B.js +395 -0
- package/dist/posthog-NWCXVXNJ.js +3464 -0
- package/dist/postmark-QJV5PHUQ.js +427 -0
- package/dist/{prerender-MENYM2TY.js → prerender-2W7UT4SC.js} +31 -30
- package/dist/{pubmed-GOXUVVH5.js → pubmed-VVV7XYLU.js} +239 -238
- package/dist/{railway-V2SID4WV.js → railway-KGI57S3O.js} +118 -117
- package/dist/readwise-AGHTQB42.js +470 -0
- package/dist/render-O4HBROCK.js +461 -0
- package/dist/{replicate-756MXPYX.js → replicate-KWBOMX7D.js} +81 -80
- package/dist/{resend-ZKH3BTBI.js → resend-DRH6Y6I4.js} +20 -16
- package/dist/rootly-XGCUDW6X.js +336 -0
- package/dist/{scrapfly-NSRHFDIQ.js → scrapfly-OIQ3OY6L.js} +62 -61
- package/dist/{scrapingbee-OQHLAVEY.js → scrapingbee-OCZO4FHX.js} +56 -56
- package/dist/{screenshot_fyi-DVWG3AXC.js → screenshot_fyi-CUNGFZOC.js} +16 -16
- package/dist/semantic_scholar-3UJRLKES.js +611 -0
- package/dist/{sentry-546MNDJG.js → sentry-5BWVZFJV.js} +208 -207
- package/dist/{shodan-C3OON3Z3.js → shodan-HI37CTEW.js} +62 -61
- package/dist/shopify-LJ2EV2HH.js +610 -0
- package/dist/stripe-3LHMV55K.js +585 -0
- package/dist/{supabase-U2SL4D63.js → supabase-H2KPX3Q2.js} +245 -244
- package/dist/tavily-FBEWGH3Z.js +326 -0
- package/dist/telegram-MYYO3JND.js +1767 -0
- package/dist/{telnyx-CXQ4EZUX.js → telnyx-H4ALEGAX.js} +57 -56
- package/dist/todoist-OBWICA5Q.js +664 -0
- package/dist/trello-GUFUJRWO.js +1080 -0
- package/dist/turso-NIAK4UMS.js +416 -0
- package/dist/{twilio-4PDBJKWX.js → twilio-K6SLK2CX.js} +70 -69
- package/dist/umami-42RS2EPS.js +389 -0
- package/dist/unsplash-V7TOTETT.js +351 -0
- package/dist/{upstash_redis-G4LQBYHA.js → upstash_redis-AWQMB6Y3.js} +51 -50
- package/dist/uptimerobot-AZC2DHOT.js +483 -0
- package/dist/v2ex-4TVRNMLS.js +667 -0
- package/dist/vercel-DPHTJ3XR.js +1076 -0
- package/dist/{wolfram_alpha_api-3G4PUJWB.js → wolfram_alpha_api-XAG7IXBW.js} +36 -35
- package/dist/wordpress-KMPKVGUX.js +812 -0
- package/dist/workos-PKB2YR7S.js +664 -0
- package/dist/zhihu-Y4H4XYPB.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
package/dist/zhihu-AGK4HILK.js
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createAuthedClient
|
|
3
|
-
} from "./chunk-XYBU3WZH.js";
|
|
4
|
-
import "./chunk-E6JCVKW6.js";
|
|
5
|
-
import {
|
|
6
|
-
asJsonObject,
|
|
7
|
-
trimmedText
|
|
8
|
-
} from "./chunk-JXHMDBAY.js";
|
|
9
|
-
import {
|
|
10
|
-
createProviderPlugin,
|
|
11
|
-
upstreamError
|
|
12
|
-
} from "./chunk-ATK45BXV.js";
|
|
13
|
-
import "./chunk-U7B6DS2O.js";
|
|
14
|
-
import {
|
|
15
|
-
TBError,
|
|
16
|
-
external_exports
|
|
17
|
-
} from "./chunk-UZM2RXZH.js";
|
|
18
|
-
import "./chunk-U67V476Y.js";
|
|
19
|
-
|
|
20
|
-
// ../plugins/src/zhihu/api.ts
|
|
21
|
-
var SERVICE = "zhihu";
|
|
22
|
-
var API_BASE = "https://developer.zhihu.com";
|
|
23
|
-
var CODE_STATUS = {
|
|
24
|
-
10001: 400,
|
|
25
|
-
20001: 401,
|
|
26
|
-
30001: 429
|
|
27
|
-
};
|
|
28
|
-
function errorMessage(payload) {
|
|
29
|
-
const direct = trimmedText(payload);
|
|
30
|
-
if (direct !== void 0) return direct;
|
|
31
|
-
const record = asJsonObject(payload);
|
|
32
|
-
if (record === void 0) return void 0;
|
|
33
|
-
const nested = asJsonObject(record.error);
|
|
34
|
-
return trimmedText(record.Message) ?? trimmedText(record.msg) ?? trimmedText(record.message) ?? trimmedText(nested?.message);
|
|
35
|
-
}
|
|
36
|
-
var http = createAuthedClient({
|
|
37
|
-
baseUrl: `${API_BASE}/`,
|
|
38
|
-
service: SERVICE,
|
|
39
|
-
auth: { kind: "bearer" },
|
|
40
|
-
// 上游对 GET 也发 content-type。无 body 时它没有意义,但照搬以免改变打给上游的请求形状。
|
|
41
|
-
headers: { "content-type": "application/json" },
|
|
42
|
-
mapError: ({ bodyKind, data, status }) => bodyKind === "invalid-json" ? upstreamError(502, "\u77E5\u4E4E\u8FD4\u56DE\u4E86\u975E\u6CD5 JSON") : upstreamError(status, errorMessage(data) ?? `\u77E5\u4E4E\u8BF7\u6C42\u5931\u8D25(HTTP ${status})`),
|
|
43
|
-
mapTransportError: ({ message }) => upstreamError(
|
|
44
|
-
502,
|
|
45
|
-
message === void 0 ? "\u77E5\u4E4E\u8BF7\u6C42\u5931\u8D25" : `\u77E5\u4E4E\u8BF7\u6C42\u5931\u8D25: ${message}`
|
|
46
|
-
)
|
|
47
|
-
});
|
|
48
|
-
async function request(ctx, input) {
|
|
49
|
-
const response = await http.request(ctx, {
|
|
50
|
-
method: input.method ?? "GET",
|
|
51
|
-
path: input.path,
|
|
52
|
-
query: Object.entries(input.query ?? {}).map(([key, value]) => [key, value === void 0 ? void 0 : String(value)]),
|
|
53
|
-
headers: { "x-request-timestamp": String(Math.floor(Date.now() / 1e3)) },
|
|
54
|
-
...input.body === void 0 ? {} : { json: input.body },
|
|
55
|
-
invalidJsonMessage: "\u77E5\u4E4E\u8FD4\u56DE\u4E86\u975E\u6CD5 JSON"
|
|
56
|
-
});
|
|
57
|
-
const payload = response.bodyKind === "empty" ? {} : response.data;
|
|
58
|
-
const code = asJsonObject(payload)?.Code;
|
|
59
|
-
if (typeof code === "number" && Number.isFinite(code) && code !== 0) {
|
|
60
|
-
throw upstreamError(
|
|
61
|
-
CODE_STATUS[code] ?? 502,
|
|
62
|
-
errorMessage(payload) ?? `\u77E5\u4E4E\u8FD4\u56DE\u4E1A\u52A1\u7801 ${code}`
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
return payload;
|
|
66
|
-
}
|
|
67
|
-
async function zhihuSearch(input, ctx) {
|
|
68
|
-
return request(ctx, {
|
|
69
|
-
path: "/api/v1/content/zhihu_search",
|
|
70
|
-
query: { Query: input.query, Count: input.count }
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async function globalSearch(input, ctx) {
|
|
74
|
-
return request(ctx, {
|
|
75
|
-
path: "/api/v1/content/global_search",
|
|
76
|
-
query: {
|
|
77
|
-
Query: input.query,
|
|
78
|
-
Count: input.count,
|
|
79
|
-
Filter: input.filter,
|
|
80
|
-
SearchDB: input.searchDB
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
async function hotList(input, ctx) {
|
|
85
|
-
return request(ctx, {
|
|
86
|
-
path: "/api/v1/content/hot_list",
|
|
87
|
-
query: { Limit: input.limit }
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
async function zhida(input, ctx) {
|
|
91
|
-
if (input.model === void 0) {
|
|
92
|
-
throw new TBError("invalid_argument", "zhida \u9700\u8981 model");
|
|
93
|
-
}
|
|
94
|
-
if (input.messages === void 0 || input.messages.length === 0) {
|
|
95
|
-
throw new TBError("invalid_argument", "zhida \u9700\u8981\u81F3\u5C11\u4E00\u6761 messages");
|
|
96
|
-
}
|
|
97
|
-
return request(ctx, {
|
|
98
|
-
method: "POST",
|
|
99
|
-
path: "/v1/chat/completions",
|
|
100
|
-
// stream 恒为 false:本 action 的出参契约是一次性返回完整 completion,
|
|
101
|
-
// 平台侧也没有把 SSE 流透出去的通道。
|
|
102
|
-
body: { ...input, stream: false }
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// ../plugins/src/zhihu/schema.ts
|
|
107
|
-
var zhihuSearchInput = external_exports.strictObject({
|
|
108
|
-
query: external_exports.string().min(1).describe("The search query keyword."),
|
|
109
|
-
count: external_exports.int().min(1).max(10).describe("The number of Zhihu search results to return, up to 10.").optional()
|
|
110
|
-
}).describe("Input parameters for a Zhihu site search request.");
|
|
111
|
-
var zhihuSearchOutput = external_exports.looseObject({
|
|
112
|
-
Code: external_exports.int().describe("The upstream response code.").optional(),
|
|
113
|
-
Message: external_exports.string().describe("The upstream response message.").optional(),
|
|
114
|
-
Data: external_exports.looseObject({
|
|
115
|
-
HasMore: external_exports.boolean().describe("Whether more results are available. Zhihu currently returns false.").optional(),
|
|
116
|
-
SearchHashId: external_exports.string().describe("The search request identifier.").optional(),
|
|
117
|
-
Items: external_exports.array(external_exports.looseObject({
|
|
118
|
-
Title: external_exports.string().describe("The content title.").optional(),
|
|
119
|
-
ContentType: external_exports.string().describe("The content type, such as Answer or Article.").optional(),
|
|
120
|
-
ContentID: external_exports.string().describe("The content identifier.").optional(),
|
|
121
|
-
ContentText: external_exports.string().describe("The content excerpt. Highlighted fragments may include em tags.").optional(),
|
|
122
|
-
Url: external_exports.url().describe("The source URL with Zhihu Open Platform attribution parameters.").optional(),
|
|
123
|
-
CommentCount: external_exports.int().describe("The number of comments.").optional(),
|
|
124
|
-
VoteUpCount: external_exports.int().describe("The number of upvotes.").optional(),
|
|
125
|
-
AuthorName: external_exports.string().describe("The author display name.").optional(),
|
|
126
|
-
AuthorAvatar: external_exports.string().describe("The author avatar URL.").optional(),
|
|
127
|
-
AuthorBadge: external_exports.string().describe("The author certification badge image URL.").optional(),
|
|
128
|
-
AuthorBadgeText: external_exports.string().describe("The author certification badge text.").optional(),
|
|
129
|
-
EditTime: external_exports.int().describe("The published or last edited Unix timestamp in seconds.").optional(),
|
|
130
|
-
CommentInfoList: external_exports.array(external_exports.looseObject({
|
|
131
|
-
Content: external_exports.string().describe("The comment content.").optional()
|
|
132
|
-
}).describe("A selected comment returned with a content item.")).describe("Selected comments returned for this content item.").optional(),
|
|
133
|
-
AuthorityLevel: external_exports.string().describe("The content authority level from 1 to 4.").optional(),
|
|
134
|
-
RankingScore: external_exports.number().describe("The ranking score returned by Zhihu Search.").optional()
|
|
135
|
-
}).describe("A Zhihu content search result item.")).describe("Search result items.").optional(),
|
|
136
|
-
EmptyReason: external_exports.string().describe("The reason returned when the result set is empty.").optional()
|
|
137
|
-
}).describe("The Zhihu site search response data.").optional()
|
|
138
|
-
}).describe("A Zhihu site search response.");
|
|
139
|
-
var globalSearchInput = external_exports.strictObject({
|
|
140
|
-
query: external_exports.string().min(1).describe("The search query keyword."),
|
|
141
|
-
count: external_exports.int().min(1).max(20).describe("The number of global search results to return, up to 20.").optional(),
|
|
142
|
-
filter: external_exports.string().min(1).describe("Advanced filter expression for host or publish_time constraints.").optional(),
|
|
143
|
-
searchDB: external_exports.enum(["all", "realtime", "static"]).describe("The search index database to query.").optional()
|
|
144
|
-
}).describe("Input parameters for a Zhihu global search request.");
|
|
145
|
-
var globalSearchOutput = external_exports.looseObject({
|
|
146
|
-
Code: external_exports.int().describe("The upstream response code.").optional(),
|
|
147
|
-
Message: external_exports.string().describe("The upstream response message.").optional(),
|
|
148
|
-
Data: external_exports.looseObject({
|
|
149
|
-
HasMore: external_exports.boolean().describe("Whether more results are available.").optional(),
|
|
150
|
-
Items: external_exports.array(external_exports.looseObject({
|
|
151
|
-
Title: external_exports.string().describe("The content title.").optional(),
|
|
152
|
-
ContentType: external_exports.string().describe("The content type, such as Answer or Article.").optional(),
|
|
153
|
-
ContentID: external_exports.string().describe("The content identifier.").optional(),
|
|
154
|
-
ContentText: external_exports.string().describe("The content excerpt. Highlighted fragments may include em tags.").optional(),
|
|
155
|
-
Url: external_exports.url().describe("The source URL with Zhihu Open Platform attribution parameters.").optional(),
|
|
156
|
-
CommentCount: external_exports.int().describe("The number of comments.").optional(),
|
|
157
|
-
VoteUpCount: external_exports.int().describe("The number of upvotes.").optional(),
|
|
158
|
-
AuthorName: external_exports.string().describe("The author display name.").optional(),
|
|
159
|
-
AuthorAvatar: external_exports.string().describe("The author avatar URL.").optional(),
|
|
160
|
-
AuthorBadge: external_exports.string().describe("The author certification badge image URL.").optional(),
|
|
161
|
-
AuthorBadgeText: external_exports.string().describe("The author certification badge text.").optional(),
|
|
162
|
-
EditTime: external_exports.int().describe("The published or last edited Unix timestamp in seconds.").optional(),
|
|
163
|
-
CommentInfoList: external_exports.array(external_exports.looseObject({
|
|
164
|
-
Content: external_exports.string().describe("The comment content.").optional()
|
|
165
|
-
}).describe("A selected comment returned with a content item.")).describe("Selected comments returned for this content item.").optional(),
|
|
166
|
-
AuthorityLevel: external_exports.string().describe("The content authority level from 1 to 4.").optional(),
|
|
167
|
-
RankingScore: external_exports.number().describe("The ranking score returned by Zhihu Search.").optional()
|
|
168
|
-
}).describe("A Zhihu content search result item.")).describe("Search result items.").optional()
|
|
169
|
-
}).describe("The Zhihu global search response data.").optional()
|
|
170
|
-
}).describe("A Zhihu global search response.");
|
|
171
|
-
var hotListInput = external_exports.strictObject({
|
|
172
|
-
limit: external_exports.int().min(1).max(30).describe("The number of hot list items to return, up to 30.").optional()
|
|
173
|
-
}).describe("Input parameters for a Zhihu hot list request.");
|
|
174
|
-
var hotListOutput = external_exports.looseObject({
|
|
175
|
-
Code: external_exports.int().describe("The upstream response code.").optional(),
|
|
176
|
-
Message: external_exports.string().describe("The upstream response message.").optional(),
|
|
177
|
-
Data: external_exports.looseObject({
|
|
178
|
-
Total: external_exports.int().describe("The number of returned hot list items.").optional(),
|
|
179
|
-
Items: external_exports.array(external_exports.looseObject({
|
|
180
|
-
Title: external_exports.string().describe("The hot list title.").optional(),
|
|
181
|
-
Url: external_exports.url().describe("The Zhihu URL for the hot list item.").optional(),
|
|
182
|
-
ThumbnailUrl: external_exports.string().describe("The thumbnail image URL, or an empty string when no image is available.").optional(),
|
|
183
|
-
Summary: external_exports.string().describe("The item summary, or an empty string when no summary is available.").optional()
|
|
184
|
-
}).describe("A Zhihu hot list item.")).describe("Hot list items.").optional()
|
|
185
|
-
}).describe("The Zhihu hot list response data.").optional()
|
|
186
|
-
}).describe("A Zhihu hot list response.");
|
|
187
|
-
var zhidaInput = external_exports.strictObject({
|
|
188
|
-
model: external_exports.enum(["zhida-fast-1p5", "zhida-thinking-1p5", "zhida-agent"]).describe("The Zhida model tier.").optional(),
|
|
189
|
-
messages: external_exports.array(external_exports.strictObject({
|
|
190
|
-
role: external_exports.enum(["system", "user", "assistant"]).describe("The message role.").optional(),
|
|
191
|
-
content: external_exports.string().min(1).describe("The message content.").optional()
|
|
192
|
-
}).describe("A message in a Zhida chat completion request.")).min(1).describe("Conversation messages to send to Zhida.").optional()
|
|
193
|
-
}).describe("Input parameters for a non-streaming Zhida chat completion request.");
|
|
194
|
-
var zhidaOutput = external_exports.looseObject({
|
|
195
|
-
id: external_exports.string().describe("The completion identifier.").optional(),
|
|
196
|
-
object: external_exports.string().describe("The response object type.").optional(),
|
|
197
|
-
created: external_exports.int().describe("The creation Unix timestamp in seconds.").optional(),
|
|
198
|
-
model: external_exports.string().describe("The model that produced the response.").optional(),
|
|
199
|
-
choices: external_exports.array(external_exports.looseObject({
|
|
200
|
-
index: external_exports.int().describe("The choice index.").optional(),
|
|
201
|
-
message: external_exports.looseObject({
|
|
202
|
-
role: external_exports.string().describe("The returned message role.").optional(),
|
|
203
|
-
reasoning_content: external_exports.string().describe("The model reasoning content when returned.").optional(),
|
|
204
|
-
content: external_exports.string().describe("The final answer content.").optional()
|
|
205
|
-
}).describe("The assistant message returned by Zhida.").optional(),
|
|
206
|
-
finish_reason: external_exports.string().describe("The reason the choice finished.").optional()
|
|
207
|
-
}).describe("A Zhida completion choice.")).describe("Completion choices.").optional()
|
|
208
|
-
}).describe("A non-streaming Zhida chat completion response.");
|
|
209
|
-
var zhihuActions = {
|
|
210
|
-
zhihu_search: {
|
|
211
|
-
description: "Search Zhihu content and return matching questions, answers, and articles.",
|
|
212
|
-
effect: "write",
|
|
213
|
-
inputSchema: zhihuSearchInput,
|
|
214
|
-
outputSchema: external_exports.toJSONSchema(zhihuSearchOutput, { io: "output", unrepresentable: "any" })
|
|
215
|
-
},
|
|
216
|
-
global_search: {
|
|
217
|
-
description: "Search the global web index exposed by Zhihu Open Platform.",
|
|
218
|
-
effect: "write",
|
|
219
|
-
inputSchema: globalSearchInput,
|
|
220
|
-
outputSchema: external_exports.toJSONSchema(globalSearchOutput, { io: "output", unrepresentable: "any" })
|
|
221
|
-
},
|
|
222
|
-
hot_list: {
|
|
223
|
-
description: "Get the current Zhihu hot list with titles, links, thumbnails, and summaries.",
|
|
224
|
-
effect: "write",
|
|
225
|
-
inputSchema: hotListInput,
|
|
226
|
-
outputSchema: external_exports.toJSONSchema(hotListOutput, { io: "output", unrepresentable: "any" })
|
|
227
|
-
},
|
|
228
|
-
zhida: {
|
|
229
|
-
description: "Create a non-streaming Zhihu Zhida chat completion.",
|
|
230
|
-
effect: "write",
|
|
231
|
-
inputSchema: zhidaInput,
|
|
232
|
-
outputSchema: external_exports.toJSONSchema(zhidaOutput, { io: "output", unrepresentable: "any" })
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// ../plugins/src/zhihu/index.ts
|
|
237
|
-
function createZhihuPlugin() {
|
|
238
|
-
return createProviderPlugin({
|
|
239
|
-
description: "Zhihu",
|
|
240
|
-
actions: zhihuActions,
|
|
241
|
-
handlers: {
|
|
242
|
-
zhihu_search: zhihuSearch,
|
|
243
|
-
global_search: globalSearch,
|
|
244
|
-
hot_list: hotList,
|
|
245
|
-
zhida
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
var zhihu_default = createZhihuPlugin();
|
|
250
|
-
export {
|
|
251
|
-
createZhihuPlugin,
|
|
252
|
-
zhihu_default as default
|
|
253
|
-
};
|