@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.
Files changed (178) hide show
  1. package/dist/admin.js +170 -0
  2. package/dist/airtable-VMQVXLHK.js +790 -0
  3. package/dist/{alt_text_generator_ai-W7O34SNG.js → alt_text_generator_ai-FTWY4RU4.js} +12 -11
  4. package/dist/{amap-VOX4T2AW.js → amap-OK5VBHYC.js} +221 -220
  5. package/dist/anthropic-S67AZFZ3.js +203 -0
  6. package/dist/apify-ZE6MYQI3.js +248 -0
  7. package/dist/brave_search-TG2M2KOD.js +302 -0
  8. package/dist/chunk-2JNAI4OC.js +161 -0
  9. package/dist/{chunk-KMTT3I6D.js → chunk-4XJPN3DY.js} +19392 -26136
  10. package/dist/chunk-5ICRY3VU.js +8432 -0
  11. package/dist/chunk-7CTWGTDU.js +302 -0
  12. package/dist/chunk-BADVCN6K.js +378 -0
  13. package/dist/{chunk-XYBU3WZH.js → chunk-TDAWLMDE.js} +3 -3
  14. package/dist/chunk-U7PTOA3U.js +7320 -0
  15. package/dist/{chunk-E6JCVKW6.js → chunk-VWRUGUSU.js} +3 -3
  16. package/dist/{chunk-ATK45BXV.js → chunk-WJHG6OK7.js} +4 -2
  17. package/dist/circleci-3L3WJVSK.js +389 -0
  18. package/dist/clerk-EZPF2V7T.js +1019 -0
  19. package/dist/cohere-U27DPO64.js +185 -0
  20. package/dist/{confluence-B3EWPZVE.js → confluence-G2KL6ERH.js} +105 -104
  21. package/dist/{convertapi-EUWSQYPF.js → convertapi-L4CLJ2M3.js} +32 -31
  22. package/dist/{currencyapi-KVTIK3GL.js → currencyapi-YPYXG7YY.js} +71 -71
  23. package/dist/deepseek-6HT6WF3M.js +210 -0
  24. package/dist/docker_hub-LPE3PCVB.js +933 -0
  25. package/dist/dropbox-V56ABHTA.js +1305 -0
  26. package/dist/dub-6OKQ7MHT.js +680 -0
  27. package/dist/e2b-JS2U2QFU.js +278 -0
  28. package/dist/exa-DPWVYXSP.js +332 -0
  29. package/dist/{fal_ai-23E7JPNT.js → fal_ai-DK6Y27ZF.js} +81 -80
  30. package/dist/{feishu-7QRIDUV6.js → feishu-K7EGSRF3.js} +528 -572
  31. package/dist/{feishu_custom_bot-TJ4K7QNJ.js → feishu_custom_bot-2JUGFYNG.js} +57 -53
  32. package/dist/figma-FT5I7ITD.js +777 -0
  33. package/dist/firehydrant-EIKLKHX2.js +563 -0
  34. package/dist/{fixer-BWON27UO.js → fixer-U5QXIAKD.js} +34 -33
  35. package/dist/fly-T3JYFZ2M.js +469 -0
  36. package/dist/{front-QCGXYEDJ.js → front-D72MGVOR.js} +104 -104
  37. package/dist/geocodio-BOTD5TI5.js +213 -0
  38. package/dist/ghost-KYP7SZGB.js +338 -0
  39. package/dist/github-AGMZT3VY.js +5421 -0
  40. package/dist/gmail-BLJNJOBG.js +1887 -0
  41. package/dist/googlecalendar-GTHWNCF6.js +2524 -0
  42. package/dist/{googledocs-BUHL4J2H.js → googledocs-6EEDMEBQ.js} +341 -340
  43. package/dist/{grafana-GLU2DWF2.js → grafana-GMW6EKSQ.js} +221 -220
  44. package/dist/graphhopper-6OLGBDGB.js +325 -0
  45. package/dist/index.d.ts +1132 -332
  46. package/dist/index.js +31 -14
  47. package/dist/{ip2proxy-EZ64Y4ZH.js → ip2proxy-4QN42E6T.js} +28 -27
  48. package/dist/ipgeolocation_io-SK4XKDA2.js +315 -0
  49. package/dist/ipqualityscore-6ANBPXKT.js +279 -0
  50. package/dist/{jina_ai-EFBHTBXL.js → jina_ai-IHPSVRM5.js} +23 -23
  51. package/dist/{jira-HQSHAA5K.js → jira-46KKM4LC.js} +118 -117
  52. package/dist/langsmith-JZA345I5.js +593 -0
  53. package/dist/lemlist-43IV7DK6.js +289 -0
  54. package/dist/{linear-K7RYFYAD.js → linear-5LFH7XNL.js} +327 -326
  55. package/dist/logsnag-5RMYAHIL.js +150 -0
  56. package/dist/main.js +57 -280
  57. package/dist/{mattermost-S2BRCWLQ.js → mattermost-XFL6SHGG.js} +59 -58
  58. package/dist/mem0-NYO4DTP6.js +544 -0
  59. package/dist/memos-37MPQOLV.js +744 -0
  60. package/dist/{metabase-MMSEPCOF.js → metabase-KYBKZFMG.js} +90 -89
  61. package/dist/mistral_ai-6PL3K4PM.js +1196 -0
  62. package/dist/{mother_duck-H7PCQNZ2.js → mother_duck-2NH7W5M5.js} +94 -93
  63. package/dist/ngrok-UO6CDYCA.js +356 -0
  64. package/dist/{notes-PFMKRO33.js → notes-I3P32WP4.js} +11 -9
  65. package/dist/notion-BEAJFUOE.js +940 -0
  66. package/dist/open_exchange_rates-CMF62JB4.js +215 -0
  67. package/dist/openai-IHOMKVND.js +800 -0
  68. package/dist/opengraph_io-ZQ2FGLHX.js +362 -0
  69. package/dist/openrouter-HXLW3NR5.js +441 -0
  70. package/dist/outline-ELCP4NEU.js +599 -0
  71. package/dist/paddle-O77LALVN.js +454 -0
  72. package/dist/perplexity-JCU654QV.js +220 -0
  73. package/dist/pinecone-W5W4LRKL.js +571 -0
  74. package/dist/{pipedrive-Y2O7QGFF.js → pipedrive-ITMJLLPZ.js} +99 -98
  75. package/dist/polar-R33XU4L3.js +395 -0
  76. package/dist/posthog-JVNTOLTV.js +3464 -0
  77. package/dist/postmark-6SBG7HWV.js +427 -0
  78. package/dist/{prerender-MENYM2TY.js → prerender-GPNKTNFC.js} +31 -30
  79. package/dist/{pubmed-GOXUVVH5.js → pubmed-UP6ZEEIH.js} +239 -238
  80. package/dist/{railway-V2SID4WV.js → railway-KWEWXHTY.js} +118 -117
  81. package/dist/readwise-BLATSMC3.js +470 -0
  82. package/dist/render-QYRVIXII.js +461 -0
  83. package/dist/{replicate-756MXPYX.js → replicate-JYTWH4NF.js} +81 -80
  84. package/dist/{resend-ZKH3BTBI.js → resend-L5N75SZM.js} +20 -16
  85. package/dist/rootly-MHCPEQ26.js +336 -0
  86. package/dist/{scrapfly-NSRHFDIQ.js → scrapfly-PTPGYSJM.js} +62 -61
  87. package/dist/{scrapingbee-OQHLAVEY.js → scrapingbee-JN6UH5PY.js} +56 -56
  88. package/dist/{screenshot_fyi-DVWG3AXC.js → screenshot_fyi-4QRVSV55.js} +16 -16
  89. package/dist/semantic_scholar-LRSWA2GE.js +611 -0
  90. package/dist/{sentry-546MNDJG.js → sentry-2G6PF5W6.js} +208 -207
  91. package/dist/{shodan-C3OON3Z3.js → shodan-WKKPP5C6.js} +62 -61
  92. package/dist/shopify-64YDK5T2.js +610 -0
  93. package/dist/stripe-QAIGGOTF.js +585 -0
  94. package/dist/{supabase-U2SL4D63.js → supabase-WHTGR6ND.js} +245 -244
  95. package/dist/tavily-QIXCDDWO.js +326 -0
  96. package/dist/telegram-E6G7CWI6.js +1767 -0
  97. package/dist/{telnyx-CXQ4EZUX.js → telnyx-ZDVVS7PK.js} +57 -56
  98. package/dist/todoist-DMYF3G7J.js +664 -0
  99. package/dist/trello-HY2RYIRP.js +1080 -0
  100. package/dist/turso-HAQWMGRP.js +416 -0
  101. package/dist/{twilio-4PDBJKWX.js → twilio-MLXYPHJE.js} +70 -69
  102. package/dist/umami-DZHBLPVG.js +389 -0
  103. package/dist/unsplash-GS2OPXKE.js +351 -0
  104. package/dist/{upstash_redis-G4LQBYHA.js → upstash_redis-XMXWTNAJ.js} +51 -50
  105. package/dist/uptimerobot-TF5WRZ4G.js +483 -0
  106. package/dist/v2ex-2BVXAPDF.js +667 -0
  107. package/dist/vercel-YMJGQYJE.js +1076 -0
  108. package/dist/{wolfram_alpha_api-3G4PUJWB.js → wolfram_alpha_api-I56SXWFZ.js} +36 -35
  109. package/dist/wordpress-R7TDFZ2P.js +812 -0
  110. package/dist/workos-HDNHWVMS.js +664 -0
  111. package/dist/zhihu-LX6AGGDS.js +254 -0
  112. package/package.json +18 -9
  113. package/dist/airtable-LLZDFN7M.js +0 -789
  114. package/dist/anthropic-G23NN3X5.js +0 -202
  115. package/dist/apify-Y3SS734K.js +0 -247
  116. package/dist/brave_search-ZC7OAPSZ.js +0 -301
  117. package/dist/chunk-R6P4XAE5.js +0 -248
  118. package/dist/chunk-U7B6DS2O.js +0 -977
  119. package/dist/chunk-UZM2RXZH.js +0 -23436
  120. package/dist/circleci-3BAX5FCG.js +0 -388
  121. package/dist/clerk-6LEM6TNU.js +0 -1019
  122. package/dist/cloudflare_dns-KINYTJUD.js +0 -588
  123. package/dist/cohere-XCJ5AJ6B.js +0 -185
  124. package/dist/deepseek-PC5YGNC5.js +0 -209
  125. package/dist/docker_hub-C3MA5FU6.js +0 -932
  126. package/dist/dropbox-XBV7Z2IR.js +0 -1304
  127. package/dist/dub-LDOFG3HC.js +0 -679
  128. package/dist/e2b-JMCPSVBW.js +0 -277
  129. package/dist/exa-RAK7O7RD.js +0 -331
  130. package/dist/figma-E6IX5DTH.js +0 -773
  131. package/dist/firehydrant-ZBLPQREE.js +0 -562
  132. package/dist/fly-ZH3HFCZJ.js +0 -468
  133. package/dist/geocodio-YGNI7DA4.js +0 -212
  134. package/dist/ghost-EVSGKH2Q.js +0 -337
  135. package/dist/github-MA2BGRCJ.js +0 -5420
  136. package/dist/gmail-E5E6AADE.js +0 -1886
  137. package/dist/googlecalendar-BTLFPXTD.js +0 -2523
  138. package/dist/graphhopper-WSMB3TCD.js +0 -324
  139. package/dist/ipgeolocation_io-AA7HAS22.js +0 -315
  140. package/dist/ipqualityscore-BHJXVTJT.js +0 -277
  141. package/dist/langsmith-5W6SCT6F.js +0 -592
  142. package/dist/lemlist-HJWH6UMK.js +0 -288
  143. package/dist/logsnag-4KFOHL37.js +0 -150
  144. package/dist/mem0-CAW43CIC.js +0 -543
  145. package/dist/memos-TWEGPKFM.js +0 -740
  146. package/dist/mistral_ai-64BGZQHP.js +0 -1195
  147. package/dist/ngrok-GQCUGZKJ.js +0 -356
  148. package/dist/notion-DQWZWP4N.js +0 -936
  149. package/dist/open_exchange_rates-QMMD735E.js +0 -214
  150. package/dist/openai-W6PX32NZ.js +0 -799
  151. package/dist/opengraph_io-HNDBXYNW.js +0 -361
  152. package/dist/openrouter-JJYMEAUL.js +0 -437
  153. package/dist/outline-MCBNQZYY.js +0 -595
  154. package/dist/paddle-D2SKLUDN.js +0 -453
  155. package/dist/perplexity-XIFMKUAE.js +0 -219
  156. package/dist/pinecone-HUFTALV2.js +0 -570
  157. package/dist/polar-TYTOMOSR.js +0 -394
  158. package/dist/posthog-43JAR3VW.js +0 -3463
  159. package/dist/postmark-KL2QJYSG.js +0 -426
  160. package/dist/readwise-CI4GIMMJ.js +0 -469
  161. package/dist/render-SUBJ6YRZ.js +0 -460
  162. package/dist/rootly-CD2LJHPI.js +0 -336
  163. package/dist/semantic_scholar-T4A252KW.js +0 -610
  164. package/dist/shopify-Y2HN2MCQ.js +0 -609
  165. package/dist/stripe-VE3CD3AY.js +0 -584
  166. package/dist/tavily-KCZHK6HE.js +0 -326
  167. package/dist/telegram-3URFBCMY.js +0 -1766
  168. package/dist/todoist-HNPWNYTD.js +0 -663
  169. package/dist/trello-3W2MIXRP.js +0 -1079
  170. package/dist/turso-2EQF7C2Z.js +0 -415
  171. package/dist/umami-5REN7TGP.js +0 -388
  172. package/dist/unsplash-EIXL424F.js +0 -350
  173. package/dist/uptimerobot-KNJ3EYLY.js +0 -482
  174. package/dist/v2ex-RHJ234PZ.js +0 -666
  175. package/dist/vercel-AS6NCIC7.js +0 -1075
  176. package/dist/wordpress-KNDAAUV7.js +0 -811
  177. package/dist/workos-R6UITSJ7.js +0 -663
  178. package/dist/zhihu-AGK4HILK.js +0 -253
@@ -1,219 +0,0 @@
1
- import {
2
- createAuthedClient
3
- } from "./chunk-XYBU3WZH.js";
4
- import "./chunk-E6JCVKW6.js";
5
- import "./chunk-JXHMDBAY.js";
6
- import {
7
- createProviderPlugin,
8
- upstreamError
9
- } from "./chunk-ATK45BXV.js";
10
- import "./chunk-U7B6DS2O.js";
11
- import {
12
- TBError,
13
- external_exports
14
- } from "./chunk-UZM2RXZH.js";
15
- import "./chunk-U67V476Y.js";
16
-
17
- // ../plugins/src/perplexity/api.ts
18
- var SERVICE = "perplexity";
19
- var API_BASE = "https://api.perplexity.ai";
20
- var http = createAuthedClient({
21
- baseUrl: API_BASE,
22
- service: SERVICE,
23
- auth: { kind: "bearer" },
24
- headers: { accept: "application/json" },
25
- errorMessage: {
26
- keys: ["error.message", "error.detail", "message", "detail"],
27
- fallback: (status) => `perplexity request failed with ${status}`
28
- }
29
- });
30
- var EMBEDDING_MIN_DIMENSIONS = 128;
31
- var EMBEDDING_MAX_DIMENSIONS = { "pplx-embed-v1-0.6b": 1024 };
32
- var EMBEDDING_MAX_DIMENSIONS_FALLBACK = 2560;
33
- async function request(ctx, method, path, body) {
34
- const { data } = await http.request(ctx, {
35
- path,
36
- method,
37
- // 上游先过一道 `compactObject`;JSON.stringify 本来就丢 undefined 值,故不再重复一遍。
38
- ...method === "POST" ? { json: body ?? {} } : {},
39
- invalidJsonMessage: "Perplexity \u8FD4\u56DE\u4E86\u975E JSON \u54CD\u5E94",
40
- // 消息里带着本次的 method/path,只能逐请求给,不能挪到 client 级。
41
- mapTransportError: ({ message }) => upstreamError(
42
- 502,
43
- `perplexity ${method} ${path} failed before receiving response: ${message ?? "unknown network error"}`
44
- )
45
- });
46
- return data ?? null;
47
- }
48
- function assertStreamingDisabled(input) {
49
- if (input.stream === true) {
50
- throw new TBError("invalid_argument", "stream=true is not supported by connector actions");
51
- }
52
- }
53
- function assertEmbeddingDimensions(input) {
54
- const dimensions = input.dimensions;
55
- if (dimensions === void 0) return;
56
- const max = EMBEDDING_MAX_DIMENSIONS[input.model] ?? EMBEDDING_MAX_DIMENSIONS_FALLBACK;
57
- if (dimensions < EMBEDDING_MIN_DIMENSIONS || dimensions > max) {
58
- throw new TBError(
59
- "invalid_argument",
60
- `${input.model} dimensions must be between ${EMBEDDING_MIN_DIMENSIONS} and ${max}`
61
- );
62
- }
63
- }
64
- async function listModels(_input, ctx) {
65
- return request(ctx, "GET", "/v1/models");
66
- }
67
- async function search(input, ctx) {
68
- return request(ctx, "POST", "/search", input);
69
- }
70
- async function createChatCompletion(input, ctx) {
71
- assertStreamingDisabled(input);
72
- return request(ctx, "POST", "/v1/sonar", input);
73
- }
74
- async function createEmbeddings(input, ctx) {
75
- assertEmbeddingDimensions(input);
76
- return request(ctx, "POST", "/v1/embeddings", input);
77
- }
78
-
79
- // ../plugins/src/perplexity/schema.ts
80
- var listModelsInput = external_exports.strictObject({}).describe("No input parameters are required for this action.");
81
- var listModelsOutput = external_exports.looseObject({
82
- object: external_exports.string().describe("The top-level object type.").optional(),
83
- data: external_exports.array(external_exports.looseObject({
84
- id: external_exports.string().describe("The model identifier."),
85
- object: external_exports.string().describe("The object type returned by the API.").optional(),
86
- created: external_exports.int().describe("The Unix timestamp when the model metadata was created.").optional(),
87
- owned_by: external_exports.string().describe("The organization or owner that provides the model.").optional(),
88
- type: external_exports.string().describe("The model family or type.").optional()
89
- }).describe("A Perplexity model entry.")).describe("The list of available models.")
90
- }).describe("The response payload for listing Perplexity models.");
91
- var searchInput = external_exports.strictObject({
92
- query: external_exports.union([external_exports.string().min(1).describe("One or more raw web search queries."), external_exports.array(external_exports.string().min(1).describe("One raw web search query.")).min(1).describe("One raw web search query.")]).describe("One or more raw web search queries."),
93
- country: external_exports.string().min(2).max(2).describe("The ISO 3166-1 alpha-2 country code used to localize search results.").optional(),
94
- max_results: external_exports.int().min(1).max(20).describe("The maximum number of search results to return.").optional(),
95
- search_after_date: external_exports.string().describe("Only return content published after this date, for example 01/15/2024.").optional(),
96
- search_before_date: external_exports.string().describe("Only return content published before this date, for example 12/31/2024.").optional(),
97
- max_tokens_per_page: external_exports.int().min(1).describe("The maximum number of tokens to retrieve from each webpage.").optional(),
98
- search_domain_filter: external_exports.array(external_exports.string().min(1).describe("A domain or URL prefix used to filter results.")).max(20).describe("Only return search results from these domains or URL prefixes.").optional()
99
- }).describe("The input payload for the raw Perplexity web search action.");
100
- var searchOutput = external_exports.looseObject({
101
- results: external_exports.array(external_exports.looseObject({
102
- title: external_exports.string().describe("The search result title.").optional(),
103
- url: external_exports.string().describe("The canonical URL of the result.").optional(),
104
- snippet: external_exports.string().describe("A short snippet extracted from the result page.").optional(),
105
- date: external_exports.string().describe("The published date reported for the result.").optional(),
106
- last_updated: external_exports.string().describe("The last updated date reported for the result.").optional()
107
- }).describe("A raw search result returned by Perplexity.")).describe("The ranked raw search results.").optional()
108
- }).describe("The response payload for the raw search action.");
109
- var createChatCompletionInput = external_exports.strictObject({
110
- model: external_exports.string().describe("The Sonar model to use for the chat completion."),
111
- messages: external_exports.array(external_exports.strictObject({
112
- role: external_exports.enum(["system", "user", "assistant"]).describe("The role of the message author.").optional(),
113
- content: external_exports.string().describe("The plain-text message content.").optional()
114
- }).describe("A chat message.")).min(1).describe("The ordered conversation messages."),
115
- max_tokens: external_exports.int().min(1).describe("The maximum number of tokens to generate.").optional(),
116
- temperature: external_exports.number().min(0).max(2).describe("The sampling temperature for generation.").optional(),
117
- top_p: external_exports.number().min(0).max(1).describe("The nucleus sampling threshold.").optional(),
118
- top_k: external_exports.int().min(0).describe("The number of top tokens to consider per step.").optional(),
119
- stream: external_exports.boolean().describe("Whether to stream the response. This connector only accepts false or an omitted value.").optional(),
120
- return_images: external_exports.boolean().describe("Whether to include image references in the response.").optional(),
121
- return_citations: external_exports.boolean().describe("Whether to include citations in the response.").optional(),
122
- disable_search: external_exports.boolean().describe("Whether to disable web search grounding for this request.").optional(),
123
- search_domain_filter: external_exports.array(external_exports.string().min(1).describe("A domain or URL prefix used to limit web search.")).describe("Only search within these domains or URL prefixes.").optional(),
124
- search_recency_filter: external_exports.string().describe("A recency filter such as day, week, month, or year.").optional(),
125
- presence_penalty: external_exports.number().min(-2).max(2).describe("The penalty applied to tokens that have already appeared.").optional(),
126
- frequency_penalty: external_exports.number().min(0).max(2).describe("The penalty applied based on token frequency.").optional()
127
- }).describe("The input payload for the Perplexity chat completion action.");
128
- var createChatCompletionOutput = external_exports.looseObject({
129
- id: external_exports.string().describe("The completion identifier.").optional(),
130
- model: external_exports.string().describe("The model that generated the completion.").optional(),
131
- created: external_exports.int().describe("The Unix timestamp when the completion was created.").optional(),
132
- choices: external_exports.array(external_exports.looseObject({
133
- index: external_exports.int().describe("The choice index.").optional(),
134
- finish_reason: external_exports.string().describe("The reason why generation stopped.").optional(),
135
- message: external_exports.looseObject({
136
- role: external_exports.string().describe("The role of the generated message.").optional(),
137
- content: external_exports.string().describe("The generated message content.").optional()
138
- }).describe("The generated message.").optional()
139
- }).describe("A single generated completion choice.")).describe("The completion choices."),
140
- citations: external_exports.array(external_exports.string().min(1).describe("A citation URL returned with the response.")).describe("The citation URLs referenced by the answer.").optional(),
141
- search_results: external_exports.array(external_exports.looseObject({
142
- title: external_exports.string().describe("The search result title.").optional(),
143
- url: external_exports.string().describe("The canonical URL of the result.").optional(),
144
- snippet: external_exports.string().describe("A short snippet extracted from the result page.").optional(),
145
- date: external_exports.string().describe("The published date reported for the result.").optional(),
146
- last_updated: external_exports.string().describe("The last updated date reported for the result.").optional()
147
- }).describe("A raw search result returned by Perplexity.")).describe("The search results used to ground the response.").optional(),
148
- usage: external_exports.looseObject({
149
- prompt_tokens: external_exports.int().describe("The number of prompt tokens consumed.").optional(),
150
- completion_tokens: external_exports.int().describe("The number of completion tokens generated.").optional(),
151
- total_tokens: external_exports.int().describe("The total number of tokens consumed.").optional()
152
- }).describe("Token usage metadata for the completion.").optional()
153
- }).describe("The response payload for the chat completion action.");
154
- var createEmbeddingsInput = external_exports.strictObject({
155
- model: external_exports.enum(["pplx-embed-v1-0.6b", "pplx-embed-v1-4b"]).describe("The embedding model identifier."),
156
- input: external_exports.union([external_exports.string().min(1).describe("One or more input strings to embed."), external_exports.array(external_exports.string().min(1).describe("One input string to embed.")).min(1).max(512).describe("One input string to embed.")]).describe("One or more input strings to embed."),
157
- dimensions: external_exports.int().describe("The target embedding dimension count.").optional(),
158
- encoding_format: external_exports.enum(["base64_int8", "base64_binary"]).describe("The output encoding format for embeddings.").optional()
159
- }).describe("The input payload for the embeddings action.");
160
- var createEmbeddingsOutput = external_exports.looseObject({
161
- object: external_exports.string().describe("The top-level object type.").optional(),
162
- model: external_exports.string().describe("The embedding model that generated the output.").optional(),
163
- data: external_exports.array(external_exports.looseObject({
164
- object: external_exports.string().describe("The object type for the embedding item.").optional(),
165
- index: external_exports.int().describe("The zero-based embedding index.").optional(),
166
- embedding: external_exports.union([external_exports.array(external_exports.number().describe("One embedding vector value.")).describe("The numeric embedding vector."), external_exports.string().describe("The encoded embedding value.")]).describe("The embedding payload.").optional()
167
- }).describe("A single embedding item.")).describe("The generated embeddings."),
168
- usage: external_exports.looseObject({
169
- prompt_tokens: external_exports.int().describe("The number of prompt tokens consumed.").optional(),
170
- total_tokens: external_exports.int().describe("The total number of tokens consumed.").optional()
171
- }).describe("Usage information for the embeddings request.").optional()
172
- }).describe("The response payload for the embeddings action.");
173
- var perplexityActions = {
174
- list_models: {
175
- description: "List the models currently available from Perplexity.",
176
- effect: "read",
177
- inputSchema: listModelsInput,
178
- outputSchema: external_exports.toJSONSchema(listModelsOutput, { io: "output", unrepresentable: "any" })
179
- },
180
- search: {
181
- description: "Search the web and return ranked raw results from Perplexity without LLM synthesis.",
182
- effect: "write",
183
- inputSchema: searchInput,
184
- outputSchema: external_exports.toJSONSchema(searchOutput, { io: "output", unrepresentable: "any" })
185
- },
186
- create_chat_completion: {
187
- description: "Create a Perplexity Sonar chat completion grounded by web search when enabled.",
188
- effect: "write",
189
- inputSchema: createChatCompletionInput,
190
- outputSchema: external_exports.toJSONSchema(createChatCompletionOutput, { io: "output", unrepresentable: "any" })
191
- },
192
- create_embeddings: {
193
- description: "Generate vector embeddings for one or more input strings with Perplexity.",
194
- effect: "write",
195
- inputSchema: createEmbeddingsInput,
196
- outputSchema: external_exports.toJSONSchema(createEmbeddingsOutput, { io: "output", unrepresentable: "any" })
197
- }
198
- };
199
-
200
- // ../plugins/src/perplexity/index.ts
201
- function createPerplexityPlugin() {
202
- return createProviderPlugin({
203
- description: "Perplexity",
204
- actions: perplexityActions,
205
- // 上游 credentialValidators 也打 /v1/models —— 只读、无必填入参,正好当挂载时的凭证探针。
206
- credentialProbe: "list_models",
207
- handlers: {
208
- list_models: listModels,
209
- search,
210
- create_chat_completion: createChatCompletion,
211
- create_embeddings: createEmbeddings
212
- }
213
- });
214
- }
215
- var perplexity_default = createPerplexityPlugin();
216
- export {
217
- createPerplexityPlugin,
218
- perplexity_default as default
219
- };