@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,453 +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/paddle/api.ts
21
- var SERVICE = "paddle";
22
- var API_BASE = "https://api.paddle.com";
23
- function pathSegment(value, field) {
24
- if (value === void 0) throw new TBError("invalid_argument", `${field} \u4E0D\u80FD\u4E3A\u7A7A`);
25
- return encodeURIComponent(value);
26
- }
27
- function setOptional(params, key, value) {
28
- const stringValue = typeof value === "boolean" || typeof value === "number" ? String(value) : trimmedText(value);
29
- if (stringValue !== void 0) params.set(key, stringValue);
30
- }
31
- function setJoined(params, key, value) {
32
- if (value === void 0 || value.length === 0) return;
33
- params.set(key, value.map(String).join(","));
34
- }
35
- function errorMessage(payload, context) {
36
- const data = asJsonObject(payload);
37
- if (data === void 0) {
38
- return typeof payload === "string" && payload !== "" ? payload : context.statusText || `Paddle \u8FD4\u56DE HTTP ${context.status}`;
39
- }
40
- const error = asJsonObject(data.error);
41
- const message = trimmedText(error?.detail) ?? trimmedText(error?.message) ?? trimmedText(data.message) ?? trimmedText(data.error);
42
- return message ?? (context.statusText || `Paddle \u8FD4\u56DE HTTP ${context.status}`);
43
- }
44
- var http = createAuthedClient({
45
- baseUrl: API_BASE,
46
- service: SERVICE,
47
- auth: { kind: "bearer" },
48
- headers: { accept: "application/json" },
49
- // string 错误体原样透出且**不 trim** —— 与标准提取的 trim 语义不同,整段覆写。
50
- mapError: (context) => upstreamError(context.status, errorMessage(context.data, context))
51
- });
52
- async function request(ctx, input) {
53
- const result = await http.request(ctx, {
54
- path: input.path,
55
- method: input.method,
56
- query: [...input.searchParams ?? []],
57
- ...input.skipCount === true ? { headers: { "skip-count": "true" } } : {},
58
- ...input.body === void 0 ? {} : { json: input.body },
59
- invalidJsonMessage: "Paddle returned malformed JSON"
60
- });
61
- return result.data === void 0 ? null : result.data;
62
- }
63
- function readMeta(payload) {
64
- return asJsonObject(asJsonObject(payload)?.meta) ?? {};
65
- }
66
- function listResult(payload) {
67
- const data = asJsonObject(payload)?.data;
68
- return { data: Array.isArray(data) ? data : [], meta: readMeta(payload) };
69
- }
70
- function entityResult(key, payload) {
71
- return { [key]: asJsonObject(asJsonObject(payload)?.data) ?? null, meta: readMeta(payload) };
72
- }
73
- function paginationParams(input) {
74
- const params = new URLSearchParams();
75
- setOptional(params, "after", input.after);
76
- setOptional(params, "per_page", input.perPage);
77
- setOptional(params, "order_by", input.orderBy);
78
- return params;
79
- }
80
- function writeBody(input) {
81
- return Object.fromEntries(
82
- Object.entries(input).filter(([key, value]) => key !== "id" && value !== void 0)
83
- );
84
- }
85
- async function listProducts(input, ctx) {
86
- const searchParams = paginationParams(input);
87
- setJoined(searchParams, "id", input.ids);
88
- setJoined(searchParams, "include", input.include);
89
- setJoined(searchParams, "status", input.status);
90
- setJoined(searchParams, "tax_category", input.taxCategory);
91
- setOptional(searchParams, "type", input.type);
92
- return listResult(await request(ctx, {
93
- method: "GET",
94
- path: "/products",
95
- searchParams,
96
- skipCount: input.skipCount
97
- }));
98
- }
99
- async function getProduct(input, ctx) {
100
- const path = `/products/${pathSegment(input.id, "id")}`;
101
- return entityResult("product", await request(ctx, { method: "GET", path }));
102
- }
103
- async function createProduct(input, ctx) {
104
- const payload = await request(ctx, { method: "POST", path: "/products", body: writeBody(input) });
105
- return entityResult("product", payload);
106
- }
107
- async function updateProduct(input, ctx) {
108
- const path = `/products/${pathSegment(input.id, "id")}`;
109
- return entityResult("product", await request(ctx, { method: "PATCH", path, body: writeBody(input) }));
110
- }
111
- async function listPrices(input, ctx) {
112
- const searchParams = paginationParams(input);
113
- setJoined(searchParams, "id", input.ids);
114
- setJoined(searchParams, "include", input.include);
115
- setJoined(searchParams, "product_id", input.productIds);
116
- setJoined(searchParams, "status", input.status);
117
- setOptional(searchParams, "recurring", input.recurring);
118
- setOptional(searchParams, "billing_cycle.interval", input.billingCycleInterval);
119
- setOptional(searchParams, "billing_cycle.frequency", input.billingCycleFrequency);
120
- setOptional(searchParams, "type", input.type);
121
- return listResult(await request(ctx, {
122
- method: "GET",
123
- path: "/prices",
124
- searchParams,
125
- skipCount: input.skipCount
126
- }));
127
- }
128
- async function getPrice(input, ctx) {
129
- const path = `/prices/${pathSegment(input.id, "id")}`;
130
- return entityResult("price", await request(ctx, { method: "GET", path }));
131
- }
132
- async function createPrice(input, ctx) {
133
- const payload = await request(ctx, { method: "POST", path: "/prices", body: writeBody(input) });
134
- return entityResult("price", payload);
135
- }
136
- async function updatePrice(input, ctx) {
137
- const path = `/prices/${pathSegment(input.id, "id")}`;
138
- return entityResult("price", await request(ctx, { method: "PATCH", path, body: writeBody(input) }));
139
- }
140
- async function listCustomers(input, ctx) {
141
- const searchParams = paginationParams(input);
142
- setJoined(searchParams, "id", input.ids);
143
- setJoined(searchParams, "email", input.emails);
144
- setJoined(searchParams, "status", input.status);
145
- setOptional(searchParams, "search", input.search);
146
- return listResult(await request(ctx, {
147
- method: "GET",
148
- path: "/customers",
149
- searchParams,
150
- skipCount: input.skipCount
151
- }));
152
- }
153
- async function getCustomer(input, ctx) {
154
- const path = `/customers/${pathSegment(input.id, "id")}`;
155
- return entityResult("customer", await request(ctx, { method: "GET", path }));
156
- }
157
- async function createCustomer(input, ctx) {
158
- const payload = await request(ctx, { method: "POST", path: "/customers", body: writeBody(input) });
159
- return entityResult("customer", payload);
160
- }
161
- async function updateCustomer(input, ctx) {
162
- const path = `/customers/${pathSegment(input.id, "id")}`;
163
- return entityResult("customer", await request(ctx, { method: "PATCH", path, body: writeBody(input) }));
164
- }
165
-
166
- // ../plugins/src/paddle/schema.ts
167
- var listProductsInput = external_exports.strictObject({
168
- after: external_exports.string().min(1).describe("Paddle ID cursor returned in a previous list response.").optional(),
169
- perPage: external_exports.int().min(1).max(200).describe("Maximum number of entities to request from Paddle.").optional(),
170
- orderBy: external_exports.string().min(1).describe("Paddle order_by expression such as `id[DESC]`.").optional(),
171
- skipCount: external_exports.boolean().describe("Whether to send Skip-Count: true to speed up list responses.").optional(),
172
- ids: external_exports.array(external_exports.string().min(1).describe("A Paddle product ID.")).describe("Product IDs to return.").optional(),
173
- include: external_exports.array(external_exports.enum(["prices"]).describe("A supported Paddle product include value.")).describe("Related entities to include in each product.").optional(),
174
- status: external_exports.array(external_exports.enum(["active", "archived"]).describe("Paddle entity status.")).describe("Product statuses to return.").optional(),
175
- taxCategory: external_exports.array(external_exports.enum(["digital-goods", "ebooks", "implementation-services", "professional-services", "saas", "software-programming-services", "standard", "training-services", "website-hosting"]).describe("Paddle product tax category.")).describe("Product tax categories to return.").optional(),
176
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional()
177
- }).describe("Input for listing Paddle products.");
178
- var listProductsOutput = external_exports.strictObject({
179
- data: external_exports.array(external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.")).describe("A Paddle product entity.").optional(),
180
- meta: external_exports.looseObject({}).describe("Paddle response metadata, including pagination for list endpoints.").optional()
181
- }).describe("Products returned by Paddle.");
182
- var getProductInput = external_exports.strictObject({
183
- id: external_exports.string().min(1).describe("Paddle product ID, prefixed with `pro_`.").optional()
184
- }).describe("Input for retrieving a Paddle product.");
185
- var getProductOutput = external_exports.strictObject({
186
- product: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
187
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
188
- }).describe("A Paddle product result.");
189
- var createProductInput = external_exports.strictObject({
190
- name: external_exports.string().min(1).describe("Name of the product."),
191
- description: external_exports.string().min(1).describe("Short description for the product.").optional(),
192
- tax_category: external_exports.enum(["digital-goods", "ebooks", "implementation-services", "professional-services", "saas", "software-programming-services", "standard", "training-services", "website-hosting"]).describe("Paddle product tax category.").optional(),
193
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional(),
194
- image_url: external_exports.url().describe("Image URL for this product.").optional(),
195
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional()
196
- }).describe("Product fields forwarded to Paddle.");
197
- var createProductOutput = external_exports.strictObject({
198
- product: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
199
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
200
- }).describe("A created Paddle product result.");
201
- var updateProductInput = external_exports.strictObject({
202
- id: external_exports.string().min(1).describe("Paddle product ID, prefixed with `pro_`."),
203
- name: external_exports.string().min(1).describe("Name of the product.").optional(),
204
- description: external_exports.string().min(1).describe("Short description for the product.").optional(),
205
- tax_category: external_exports.enum(["digital-goods", "ebooks", "implementation-services", "professional-services", "saas", "software-programming-services", "standard", "training-services", "website-hosting"]).describe("Paddle product tax category.").optional(),
206
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional(),
207
- image_url: external_exports.url().describe("Image URL for this product.").optional(),
208
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional(),
209
- status: external_exports.enum(["active", "archived"]).describe("Paddle entity status.").optional()
210
- }).describe("Input for updating a Paddle product.");
211
- var updateProductOutput = external_exports.strictObject({
212
- product: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
213
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
214
- }).describe("An updated Paddle product result.");
215
- var listPricesInput = external_exports.strictObject({
216
- after: external_exports.string().min(1).describe("Paddle ID cursor returned in a previous list response.").optional(),
217
- perPage: external_exports.int().min(1).max(200).describe("Maximum number of entities to request from Paddle.").optional(),
218
- orderBy: external_exports.string().min(1).describe("Paddle order_by expression such as `id[DESC]`.").optional(),
219
- skipCount: external_exports.boolean().describe("Whether to send Skip-Count: true to speed up list responses.").optional(),
220
- ids: external_exports.array(external_exports.string().min(1).describe("A Paddle price ID.")).describe("Price IDs to return.").optional(),
221
- include: external_exports.array(external_exports.enum(["product"]).describe("A supported Paddle price include value.")).describe("Related entities to include in each price.").optional(),
222
- productIds: external_exports.array(external_exports.string().min(1).describe("A Paddle product ID.")).describe("Product IDs whose prices should be returned.").optional(),
223
- status: external_exports.array(external_exports.enum(["active", "archived"]).describe("Paddle entity status.")).describe("Price statuses to return.").optional(),
224
- recurring: external_exports.boolean().describe("Whether to return recurring prices.").optional(),
225
- billingCycleInterval: external_exports.enum(["day", "week", "month", "year"]).describe("Billing interval unit.").optional(),
226
- billingCycleFrequency: external_exports.int().min(1).describe("Billing cycle frequency to filter by.").optional(),
227
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional()
228
- }).describe("Input for listing Paddle prices.");
229
- var listPricesOutput = external_exports.strictObject({
230
- data: external_exports.array(external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.")).describe("A Paddle price entity.").optional(),
231
- meta: external_exports.looseObject({}).describe("Paddle response metadata, including pagination for list endpoints.").optional()
232
- }).describe("Prices returned by Paddle.");
233
- var getPriceInput = external_exports.strictObject({
234
- id: external_exports.string().min(1).describe("Paddle price ID, prefixed with `pri_`.").optional()
235
- }).describe("Input for retrieving a Paddle price.");
236
- var getPriceOutput = external_exports.strictObject({
237
- price: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
238
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
239
- }).describe("A Paddle price result.");
240
- var createPriceInput = external_exports.strictObject({
241
- product_id: external_exports.string().min(1).describe("Paddle product ID, prefixed with `pro_`."),
242
- description: external_exports.string().min(1).describe("Internal description for this price."),
243
- unit_price: external_exports.strictObject({
244
- amount: external_exports.string().min(1).describe("Amount in the lowest denomination for the currency, represented as a string.").optional(),
245
- currency_code: external_exports.string().min(1).describe("Three-letter ISO 4217 currency code.").optional()
246
- }).describe("Money amount in Paddle's lowest currency denomination."),
247
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional(),
248
- name: external_exports.string().min(1).describe("Name of this price.").optional(),
249
- billing_cycle: external_exports.strictObject({
250
- interval: external_exports.enum(["day", "week", "month", "year"]).describe("Billing interval unit.").optional(),
251
- frequency: external_exports.int().min(1).describe("Number of intervals in the billing cycle.").optional()
252
- }).describe("Recurring billing cycle for a Paddle price, or null for a one-time price.").nullable().optional(),
253
- trial_period: external_exports.strictObject({
254
- interval: external_exports.enum(["day", "week", "month", "year"]).describe("Billing interval unit."),
255
- frequency: external_exports.int().min(1).describe("Number of intervals in the trial period."),
256
- requires_payment_method: external_exports.boolean().describe("Whether a payment method is required for the trial.").optional(),
257
- unit_price: external_exports.strictObject({
258
- amount: external_exports.string().min(1).describe("Amount in the lowest denomination for the currency, represented as a string.").optional(),
259
- currency_code: external_exports.string().min(1).describe("Three-letter ISO 4217 currency code.").optional()
260
- }).describe("Money amount in Paddle's lowest currency denomination.").nullable().optional()
261
- }).describe("Trial period configuration for a Paddle price.").nullable().optional(),
262
- tax_mode: external_exports.enum(["account_setting", "external", "internal", "location"]).describe("How Paddle should calculate tax for this price.").optional(),
263
- quantity: external_exports.strictObject({
264
- minimum: external_exports.int().min(1).describe("Minimum quantity that can be purchased.").optional(),
265
- maximum: external_exports.int().min(1).describe("Maximum quantity that can be purchased.").optional()
266
- }).describe("Quantity limits for the related product at this price.").optional(),
267
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional()
268
- }).describe("Price fields forwarded to Paddle.");
269
- var createPriceOutput = external_exports.strictObject({
270
- price: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
271
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
272
- }).describe("A created Paddle price result.");
273
- var updatePriceInput = external_exports.strictObject({
274
- id: external_exports.string().min(1).describe("Paddle price ID, prefixed with `pri_`."),
275
- product_id: external_exports.string().min(1).describe("Paddle product ID, prefixed with `pro_`.").optional(),
276
- description: external_exports.string().min(1).describe("Internal description for this price.").optional(),
277
- unit_price: external_exports.strictObject({
278
- amount: external_exports.string().min(1).describe("Amount in the lowest denomination for the currency, represented as a string.").optional(),
279
- currency_code: external_exports.string().min(1).describe("Three-letter ISO 4217 currency code.").optional()
280
- }).describe("Money amount in Paddle's lowest currency denomination.").optional(),
281
- type: external_exports.enum(["standard", "custom"]).describe("Paddle entity type.").optional(),
282
- name: external_exports.string().min(1).describe("Name of this price.").optional(),
283
- billing_cycle: external_exports.strictObject({
284
- interval: external_exports.enum(["day", "week", "month", "year"]).describe("Billing interval unit.").optional(),
285
- frequency: external_exports.int().min(1).describe("Number of intervals in the billing cycle.").optional()
286
- }).describe("Recurring billing cycle for a Paddle price, or null for a one-time price.").nullable().optional(),
287
- trial_period: external_exports.strictObject({
288
- interval: external_exports.enum(["day", "week", "month", "year"]).describe("Billing interval unit."),
289
- frequency: external_exports.int().min(1).describe("Number of intervals in the trial period."),
290
- requires_payment_method: external_exports.boolean().describe("Whether a payment method is required for the trial.").optional(),
291
- unit_price: external_exports.strictObject({
292
- amount: external_exports.string().min(1).describe("Amount in the lowest denomination for the currency, represented as a string.").optional(),
293
- currency_code: external_exports.string().min(1).describe("Three-letter ISO 4217 currency code.").optional()
294
- }).describe("Money amount in Paddle's lowest currency denomination.").nullable().optional()
295
- }).describe("Trial period configuration for a Paddle price.").nullable().optional(),
296
- tax_mode: external_exports.enum(["account_setting", "external", "internal", "location"]).describe("How Paddle should calculate tax for this price.").optional(),
297
- quantity: external_exports.strictObject({
298
- minimum: external_exports.int().min(1).describe("Minimum quantity that can be purchased.").optional(),
299
- maximum: external_exports.int().min(1).describe("Maximum quantity that can be purchased.").optional()
300
- }).describe("Quantity limits for the related product at this price.").optional(),
301
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional(),
302
- status: external_exports.enum(["active", "archived"]).describe("Paddle entity status.").optional()
303
- }).describe("Input for updating a Paddle price.");
304
- var updatePriceOutput = external_exports.strictObject({
305
- price: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
306
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
307
- }).describe("An updated Paddle price result.");
308
- var listCustomersInput = external_exports.strictObject({
309
- after: external_exports.string().min(1).describe("Paddle ID cursor returned in a previous list response.").optional(),
310
- perPage: external_exports.int().min(1).max(200).describe("Maximum number of entities to request from Paddle.").optional(),
311
- orderBy: external_exports.string().min(1).describe("Paddle order_by expression such as `id[DESC]`.").optional(),
312
- skipCount: external_exports.boolean().describe("Whether to send Skip-Count: true to speed up list responses.").optional(),
313
- ids: external_exports.array(external_exports.string().min(1).describe("A Paddle customer ID.")).describe("Customer IDs to return.").optional(),
314
- emails: external_exports.array(external_exports.string().min(1).describe("A customer email address.")).describe("Email addresses to match exactly.").optional(),
315
- status: external_exports.array(external_exports.enum(["active", "archived"]).describe("Paddle entity status.")).describe("Customer statuses to return.").optional(),
316
- search: external_exports.string().max(100).describe("Search query matched against customer ID, name, and email.").optional()
317
- }).describe("Input for listing Paddle customers.");
318
- var listCustomersOutput = external_exports.strictObject({
319
- data: external_exports.array(external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.")).describe("A Paddle customer entity.").optional(),
320
- meta: external_exports.looseObject({}).describe("Paddle response metadata, including pagination for list endpoints.").optional()
321
- }).describe("Customers returned by Paddle.");
322
- var getCustomerInput = external_exports.strictObject({
323
- id: external_exports.string().min(1).describe("Paddle customer ID, prefixed with `ctm_`.").optional()
324
- }).describe("Input for retrieving a Paddle customer.");
325
- var getCustomerOutput = external_exports.strictObject({
326
- customer: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
327
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
328
- }).describe("A Paddle customer result.");
329
- var createCustomerInput = external_exports.strictObject({
330
- name: external_exports.string().min(1).describe("Full name for this customer.").optional(),
331
- email: external_exports.email().min(1).describe("Email address for this customer."),
332
- locale: external_exports.string().min(1).describe("IETF BCP 47 locale tag for this customer.").optional(),
333
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional()
334
- }).describe("Customer fields forwarded to Paddle.");
335
- var createCustomerOutput = external_exports.strictObject({
336
- customer: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
337
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
338
- }).describe("A created Paddle customer result.");
339
- var updateCustomerInput = external_exports.strictObject({
340
- id: external_exports.string().min(1).describe("Paddle customer ID, prefixed with `ctm_`."),
341
- name: external_exports.string().min(1).describe("Full name for this customer.").optional(),
342
- email: external_exports.email().min(1).describe("Email address for this customer.").optional(),
343
- locale: external_exports.string().min(1).describe("IETF BCP 47 locale tag for this customer.").optional(),
344
- custom_data: external_exports.record(external_exports.string(), external_exports.unknown().describe("A custom data value.")).describe("Custom data attached to a Paddle entity.").nullable().optional(),
345
- status: external_exports.enum(["active", "archived"]).describe("Paddle entity status.").optional()
346
- }).describe("Input for updating a Paddle customer.");
347
- var updateCustomerOutput = external_exports.strictObject({
348
- customer: external_exports.looseObject({}).describe("Raw Paddle entity returned by the API.").nullable().optional(),
349
- meta: external_exports.looseObject({}).describe("Paddle response metadata when returned by the API.").optional()
350
- }).describe("An updated Paddle customer result.");
351
- var paddleActions = {
352
- list_products: {
353
- description: "List Paddle products with optional filtering, pagination, and price inclusion.",
354
- effect: "read",
355
- inputSchema: listProductsInput,
356
- outputSchema: external_exports.toJSONSchema(listProductsOutput, { io: "output", unrepresentable: "any" })
357
- },
358
- get_product: {
359
- description: "Get one Paddle product by ID.",
360
- effect: "read",
361
- inputSchema: getProductInput,
362
- outputSchema: external_exports.toJSONSchema(getProductOutput, { io: "output", unrepresentable: "any" })
363
- },
364
- create_product: {
365
- description: "Create a Paddle product in the catalog.",
366
- effect: "write",
367
- inputSchema: createProductInput,
368
- outputSchema: external_exports.toJSONSchema(createProductOutput, { io: "output", unrepresentable: "any" })
369
- },
370
- update_product: {
371
- description: "Update a Paddle product, including archiving or reactivating it through status.",
372
- effect: "write",
373
- inputSchema: updateProductInput,
374
- outputSchema: external_exports.toJSONSchema(updateProductOutput, { io: "output", unrepresentable: "any" })
375
- },
376
- list_prices: {
377
- description: "List Paddle prices with optional product, status, recurring, and billing filters.",
378
- effect: "read",
379
- inputSchema: listPricesInput,
380
- outputSchema: external_exports.toJSONSchema(listPricesOutput, { io: "output", unrepresentable: "any" })
381
- },
382
- get_price: {
383
- description: "Get one Paddle price by ID.",
384
- effect: "read",
385
- inputSchema: getPriceInput,
386
- outputSchema: external_exports.toJSONSchema(getPriceOutput, { io: "output", unrepresentable: "any" })
387
- },
388
- create_price: {
389
- description: "Create a Paddle price for a product.",
390
- effect: "write",
391
- inputSchema: createPriceInput,
392
- outputSchema: external_exports.toJSONSchema(createPriceOutput, { io: "output", unrepresentable: "any" })
393
- },
394
- update_price: {
395
- description: "Update a Paddle price, including archiving or reactivating it through status.",
396
- effect: "write",
397
- inputSchema: updatePriceInput,
398
- outputSchema: external_exports.toJSONSchema(updatePriceOutput, { io: "output", unrepresentable: "any" })
399
- },
400
- list_customers: {
401
- description: "List Paddle customers with optional email, status, search, and pagination filters.",
402
- effect: "read",
403
- inputSchema: listCustomersInput,
404
- outputSchema: external_exports.toJSONSchema(listCustomersOutput, { io: "output", unrepresentable: "any" })
405
- },
406
- get_customer: {
407
- description: "Get one Paddle customer by ID.",
408
- effect: "read",
409
- inputSchema: getCustomerInput,
410
- outputSchema: external_exports.toJSONSchema(getCustomerOutput, { io: "output", unrepresentable: "any" })
411
- },
412
- create_customer: {
413
- description: "Create a Paddle customer.",
414
- effect: "write",
415
- inputSchema: createCustomerInput,
416
- outputSchema: external_exports.toJSONSchema(createCustomerOutput, { io: "output", unrepresentable: "any" })
417
- },
418
- update_customer: {
419
- description: "Update a Paddle customer, including archiving or reactivating it through status.",
420
- effect: "write",
421
- inputSchema: updateCustomerInput,
422
- outputSchema: external_exports.toJSONSchema(updateCustomerOutput, { io: "output", unrepresentable: "any" })
423
- }
424
- };
425
-
426
- // ../plugins/src/paddle/index.ts
427
- function createPaddlePlugin() {
428
- return createProviderPlugin({
429
- description: "Paddle",
430
- actions: paddleActions,
431
- // 上游 credentialValidators 打的就是 /products,与 list_products 同一个接口。
432
- credentialProbe: "list_products",
433
- handlers: {
434
- list_products: listProducts,
435
- get_product: getProduct,
436
- create_product: createProduct,
437
- update_product: updateProduct,
438
- list_prices: listPrices,
439
- get_price: getPrice,
440
- create_price: createPrice,
441
- update_price: updatePrice,
442
- list_customers: listCustomers,
443
- get_customer: getCustomer,
444
- create_customer: createCustomer,
445
- update_customer: updateCustomer
446
- }
447
- });
448
- }
449
- var paddle_default = createPaddlePlugin();
450
- export {
451
- createPaddlePlugin,
452
- paddle_default as default
453
- };