@oomol-lab/open-connector 1.6.2 → 1.6.3

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 (168) hide show
  1. package/README.md +27 -0
  2. package/assets/open-connector/catalog/apps/assured_platform.json +218 -0
  3. package/assets/open-connector/catalog/apps/baixiao.json +1080 -0
  4. package/assets/open-connector/catalog/apps/benchmarkone.json +956 -0
  5. package/assets/open-connector/catalog/apps/bing_webmaster.json +3097 -0
  6. package/assets/open-connector/catalog/apps/buzzsprout.json +1979 -0
  7. package/assets/open-connector/catalog/apps/feishu.json +13 -19
  8. package/assets/open-connector/catalog/apps/feishu_app_bot.json +10 -17
  9. package/assets/open-connector/catalog/apps/linkfox.json +836 -0
  10. package/assets/open-connector/catalog/apps/metatraderapi.json +1077 -0
  11. package/assets/open-connector/catalog/apps/mktindex.json +2411 -0
  12. package/assets/open-connector/catalog/apps/mojo_helpdesk.json +660 -0
  13. package/assets/open-connector/catalog/apps/mumble.json +446 -0
  14. package/assets/open-connector/catalog/apps/notion.json +112 -3
  15. package/assets/open-connector/catalog/apps/omise.json +438 -0
  16. package/assets/open-connector/catalog/apps/panjiva.json +2858 -0
  17. package/assets/open-connector/catalog/apps/papertrail.json +449 -0
  18. package/assets/open-connector/catalog/apps/peec.json +747 -0
  19. package/assets/open-connector/catalog/apps/polygon_io.json +5156 -584
  20. package/assets/open-connector/catalog/apps/quant_data.json +1928 -0
  21. package/assets/open-connector/catalog/apps/riddle_quiz_maker.json +621 -0
  22. package/assets/open-connector/catalog/apps/slack.json +327 -4
  23. package/assets/open-connector/catalog/apps/slackbot.json +280 -3
  24. package/assets/open-connector/catalog/apps/templatedocs.json +438 -0
  25. package/assets/open-connector/catalog/apps/terminus_app.json +510 -0
  26. package/assets/open-connector/catalog/apps/ticket_tailor.json +584 -0
  27. package/assets/open-connector/catalog/apps/tongdaxin.json +2612 -79
  28. package/assets/open-connector/catalog/apps/veremark.json +514 -0
  29. package/assets/open-connector/catalog/apps/walletap.json +549 -0
  30. package/assets/open-connector/catalog/apps/xiaohongshu_store.json +955 -39
  31. package/assets/open-connector/catalog/apps-index.json +1 -1
  32. package/package.json +5 -1
  33. package/src/connection-service.d.ts +2 -0
  34. package/src/connection-service.js +8 -1
  35. package/src/core/provider-id.d.ts +5 -0
  36. package/src/core/provider-id.js +12 -0
  37. package/src/oauth/oauth-credential-refresh-service.js +2 -0
  38. package/src/oauth/oauth-flow-service.js +2 -0
  39. package/src/providers/action-contracts.generated.d.ts +27 -7
  40. package/src/providers/assured_platform/executors.d.ts +4 -0
  41. package/src/providers/assured_platform/executors.js +18 -0
  42. package/src/providers/assured_platform/runtime.d.ts +7 -0
  43. package/src/providers/assured_platform/runtime.js +108 -0
  44. package/src/providers/baixiao/actions.d.ts +2 -0
  45. package/src/providers/baixiao/actions.js +377 -0
  46. package/src/providers/baixiao/executors.d.ts +4 -0
  47. package/src/providers/baixiao/executors.js +106 -0
  48. package/src/providers/benchmarkone/executors.d.ts +4 -0
  49. package/src/providers/benchmarkone/executors.js +26 -0
  50. package/src/providers/benchmarkone/runtime.d.ts +12 -0
  51. package/src/providers/benchmarkone/runtime.js +113 -0
  52. package/src/providers/bing_webmaster/actions.d.ts +2 -0
  53. package/src/providers/bing_webmaster/actions.js +113 -0
  54. package/src/providers/bing_webmaster/executors.d.ts +4 -0
  55. package/src/providers/bing_webmaster/executors.js +104 -0
  56. package/src/providers/bing_webmaster/management-actions.d.ts +2 -0
  57. package/src/providers/bing_webmaster/management-actions.js +241 -0
  58. package/src/providers/bing_webmaster/reporting-actions.d.ts +2 -0
  59. package/src/providers/bing_webmaster/reporting-actions.js +300 -0
  60. package/src/providers/bing_webmaster/schemas.d.ts +33 -0
  61. package/src/providers/bing_webmaster/schemas.js +313 -0
  62. package/src/providers/buzzsprout/executors.d.ts +4 -0
  63. package/src/providers/buzzsprout/executors.js +21 -0
  64. package/src/providers/buzzsprout/runtime.d.ts +12 -0
  65. package/src/providers/buzzsprout/runtime.js +237 -0
  66. package/src/providers/feishu/shared/drive-actions.d.ts +1 -0
  67. package/src/providers/feishu/shared/drive-actions.js +13 -9
  68. package/src/providers/feishu/shared/drive-runtime.js +15 -3
  69. package/src/providers/feishu/shared/wiki-actions.js +4 -2
  70. package/src/providers/hithink_finance/runtime.js +39 -60
  71. package/src/providers/linkfox/actions.js +2 -0
  72. package/src/providers/linkfox/runtime.js +70 -1
  73. package/src/providers/linkfox/sif-actions.d.ts +10 -0
  74. package/src/providers/linkfox/sif-actions.js +193 -0
  75. package/src/providers/metatraderapi/executors.d.ts +4 -0
  76. package/src/providers/metatraderapi/executors.js +18 -0
  77. package/src/providers/metatraderapi/runtime.d.ts +7 -0
  78. package/src/providers/metatraderapi/runtime.js +216 -0
  79. package/src/providers/mktindex/actions-mmi.d.ts +2 -0
  80. package/src/providers/mktindex/actions-mmi.js +510 -0
  81. package/src/providers/mktindex/actions.d.ts +2 -0
  82. package/src/providers/mktindex/actions.js +2 -0
  83. package/src/providers/mktindex/executors.d.ts +4 -0
  84. package/src/providers/mktindex/executors.js +27 -0
  85. package/src/providers/mktindex/request.d.ts +17 -0
  86. package/src/providers/mktindex/request.js +48 -0
  87. package/src/providers/mktindex/runtime.d.ts +9 -0
  88. package/src/providers/mktindex/runtime.js +492 -0
  89. package/src/providers/mojo_helpdesk/executors.d.ts +4 -0
  90. package/src/providers/mojo_helpdesk/executors.js +18 -0
  91. package/src/providers/mojo_helpdesk/runtime.d.ts +7 -0
  92. package/src/providers/mojo_helpdesk/runtime.js +173 -0
  93. package/src/providers/mumble/executors.d.ts +4 -0
  94. package/src/providers/mumble/executors.js +99 -0
  95. package/src/providers/notion/executors.d.ts +9 -0
  96. package/src/providers/notion/executors.js +161 -6
  97. package/src/providers/omise/executors.d.ts +4 -0
  98. package/src/providers/omise/executors.js +120 -0
  99. package/src/providers/panjiva/actions.d.ts +14 -0
  100. package/src/providers/panjiva/actions.js +389 -0
  101. package/src/providers/panjiva/executors.d.ts +4 -0
  102. package/src/providers/panjiva/executors.js +136 -0
  103. package/src/providers/papertrail/executors.d.ts +4 -0
  104. package/src/providers/papertrail/executors.js +15 -0
  105. package/src/providers/papertrail/runtime.d.ts +7 -0
  106. package/src/providers/papertrail/runtime.js +167 -0
  107. package/src/providers/peec/executors.d.ts +4 -0
  108. package/src/providers/peec/executors.js +15 -0
  109. package/src/providers/peec/runtime.d.ts +7 -0
  110. package/src/providers/peec/runtime.js +128 -0
  111. package/src/providers/polygon_io/actions.d.ts +2 -0
  112. package/src/providers/polygon_io/actions.js +282 -0
  113. package/src/providers/polygon_io/expanded-actions.d.ts +2 -0
  114. package/src/providers/polygon_io/expanded-actions.js +375 -0
  115. package/src/providers/polygon_io/expanded-runtime.d.ts +16 -0
  116. package/src/providers/polygon_io/expanded-runtime.js +277 -0
  117. package/src/providers/polygon_io/runtime.js +21 -2
  118. package/src/providers/quant_data/executors.d.ts +4 -0
  119. package/src/providers/quant_data/executors.js +15 -0
  120. package/src/providers/quant_data/runtime.d.ts +7 -0
  121. package/src/providers/quant_data/runtime.js +118 -0
  122. package/src/providers/registry.generated.js +20 -0
  123. package/src/providers/riddle_quiz_maker/executors.d.ts +4 -0
  124. package/src/providers/riddle_quiz_maker/executors.js +15 -0
  125. package/src/providers/riddle_quiz_maker/runtime.d.ts +7 -0
  126. package/src/providers/riddle_quiz_maker/runtime.js +145 -0
  127. package/src/providers/slack/actions.js +106 -3
  128. package/src/providers/slack/runtime.js +260 -36
  129. package/src/providers/slackbot/actions.js +1 -1
  130. package/src/providers/templatedocs/executors.d.ts +4 -0
  131. package/src/providers/templatedocs/executors.js +18 -0
  132. package/src/providers/templatedocs/runtime.d.ts +13 -0
  133. package/src/providers/templatedocs/runtime.js +151 -0
  134. package/src/providers/terminus_app/executors.d.ts +4 -0
  135. package/src/providers/terminus_app/executors.js +15 -0
  136. package/src/providers/terminus_app/runtime.d.ts +7 -0
  137. package/src/providers/terminus_app/runtime.js +172 -0
  138. package/src/providers/ticket_tailor/executors.d.ts +4 -0
  139. package/src/providers/ticket_tailor/executors.js +15 -0
  140. package/src/providers/ticket_tailor/runtime.d.ts +7 -0
  141. package/src/providers/ticket_tailor/runtime.js +152 -0
  142. package/src/providers/tongdaxin/actions.d.ts +1 -0
  143. package/src/providers/tongdaxin/actions.js +6 -3
  144. package/src/providers/tongdaxin/executors.js +51 -10
  145. package/src/providers/tongdaxin/named-action-output.d.ts +1 -0
  146. package/src/providers/tongdaxin/named-action-output.js +149 -0
  147. package/src/providers/tongdaxin/named-action-routing.d.ts +9 -0
  148. package/src/providers/tongdaxin/named-action-routing.js +417 -0
  149. package/src/providers/tongdaxin/named-actions.d.ts +2 -0
  150. package/src/providers/tongdaxin/named-actions.js +378 -0
  151. package/src/providers/veremark/executors.d.ts +4 -0
  152. package/src/providers/veremark/executors.js +129 -0
  153. package/src/providers/walletap/executors.d.ts +4 -0
  154. package/src/providers/walletap/executors.js +15 -0
  155. package/src/providers/walletap/runtime.d.ts +7 -0
  156. package/src/providers/walletap/runtime.js +147 -0
  157. package/src/providers/weixin_official_account/access-token.js +31 -7
  158. package/src/providers/weixin_store/access-token.js +33 -7
  159. package/src/providers/xiaohongshu_store/executors.js +152 -3
  160. package/src/server/api/openapi.js +3 -0
  161. package/src/server/connector-assets.d.ts +4 -0
  162. package/src/server/connector-assets.js +12 -0
  163. package/src/server/connector-build.d.ts +33 -0
  164. package/src/server/connector-build.js +73 -0
  165. package/src/server/connector-runtime.d.ts +1 -2
  166. package/src/server/connector-runtime.js +2 -8
  167. package/src/server/server-assets.d.ts +0 -28
  168. package/src/server/server-assets.js +0 -50
@@ -0,0 +1,300 @@
1
+ import { jsonSchema as s } from "../../core/json-schema.js";
2
+ import { defineProviderAction } from "../../core/provider-definition.js";
3
+ import { blockedUrlOutput, countrySettingsOutput, crawlSettingsOutput, detailedQueryOutput, feedSchema, fetchedDetailsOutput, fetchedOutput, filterInput, keywordStatsOutput, linkCountsOutput, linkDetailsOutput, queryParameterOutput, querySchema, quotaSchema, siteMoveOutput, siteRoleOutput, siteUrl, trafficSchema, urlInfoOutput, urlTrafficOutput, } from "./schemas.js";
4
+ export const reportingActions = [
5
+ defineProviderAction("bing_webmaster", {
6
+ name: "get_page_query_stats",
7
+ description: "Get search queries and traffic for a specific page.",
8
+ operationType: "read",
9
+ inputSchema: s.object("The input for GetPageQueryStats.", {
10
+ siteUrl: siteUrl,
11
+ page: s.string("The page URL.", { format: "uri" }),
12
+ }),
13
+ outputSchema: s.object("The result of GetPageQueryStats.", {
14
+ stats: s.array("The records returned by Bing.", querySchema),
15
+ }),
16
+ }),
17
+ defineProviderAction("bing_webmaster", {
18
+ name: "get_query_page_stats",
19
+ description: "Get page statistics for a search query.",
20
+ operationType: "read",
21
+ inputSchema: s.object("The input for GetQueryPageStats.", {
22
+ siteUrl: siteUrl,
23
+ query: s.nonEmptyString("The search query."),
24
+ }),
25
+ outputSchema: s.object("The result of GetQueryPageStats.", {
26
+ stats: s.array("The records returned by Bing.", querySchema),
27
+ }),
28
+ }),
29
+ defineProviderAction("bing_webmaster", {
30
+ name: "get_query_page_detail_stats",
31
+ description: "Get detailed statistics for a search query and page.",
32
+ operationType: "read",
33
+ inputSchema: s.object("The input for GetQueryPageDetailStats.", {
34
+ siteUrl: siteUrl,
35
+ query: s.nonEmptyString("The search query."),
36
+ page: s.string("The page URL.", { format: "uri" }),
37
+ }),
38
+ outputSchema: s.object("The result of GetQueryPageDetailStats.", {
39
+ stats: s.array("The records returned by Bing.", detailedQueryOutput),
40
+ }),
41
+ }),
42
+ defineProviderAction("bing_webmaster", {
43
+ name: "get_query_traffic_stats",
44
+ description: "Get traffic statistics for a search query.",
45
+ operationType: "read",
46
+ inputSchema: s.object("The input for GetQueryTrafficStats.", {
47
+ siteUrl: siteUrl,
48
+ query: s.nonEmptyString("The search query."),
49
+ }),
50
+ outputSchema: s.object("The result of GetQueryTrafficStats.", {
51
+ stats: s.array("The records returned by Bing.", trafficSchema),
52
+ }),
53
+ }),
54
+ defineProviderAction("bing_webmaster", {
55
+ name: "get_url_info",
56
+ description: "Get index and crawl information for a page or directory.",
57
+ operationType: "read",
58
+ inputSchema: s.object("The input for GetUrlInfo.", {
59
+ siteUrl: siteUrl,
60
+ url: s.nonEmptyString("A Bing URL or directory identifier, including values such as example.com or domain:example.com."),
61
+ }),
62
+ outputSchema: s.object("The result of GetUrlInfo.", {
63
+ info: urlInfoOutput,
64
+ }),
65
+ }),
66
+ defineProviderAction("bing_webmaster", {
67
+ name: "get_url_traffic_info",
68
+ description: "Get traffic information for a page or directory.",
69
+ operationType: "read",
70
+ inputSchema: s.object("The input for GetUrlTrafficInfo.", {
71
+ siteUrl: siteUrl,
72
+ url: s.nonEmptyString("A Bing URL or directory identifier, including values such as example.com or domain:example.com."),
73
+ }),
74
+ outputSchema: s.object("The result of GetUrlTrafficInfo.", {
75
+ traffic: urlTrafficOutput,
76
+ }),
77
+ }),
78
+ defineProviderAction("bing_webmaster", {
79
+ name: "list_child_url_info",
80
+ description: "List child URLs with filters. This read operation uses POST.",
81
+ operationType: "read",
82
+ inputSchema: s.object("The input for GetChildrenUrlInfo.", {
83
+ siteUrl: siteUrl,
84
+ url: s.nonEmptyString("A Bing URL or directory identifier, including values such as example.com or domain:example.com."),
85
+ page: s.integer("Zero-based result page. Request successive pages until no records remain.", {
86
+ minimum: 0,
87
+ }),
88
+ filterProperties: filterInput,
89
+ }),
90
+ outputSchema: s.object("The result of GetChildrenUrlInfo.", {
91
+ urls: s.array("The records returned by Bing.", urlInfoOutput),
92
+ }),
93
+ }),
94
+ defineProviderAction("bing_webmaster", {
95
+ name: "list_child_url_traffic_info",
96
+ description: "List traffic information for child URLs.",
97
+ operationType: "read",
98
+ inputSchema: s.object("The input for GetChildrenUrlTrafficInfo.", {
99
+ siteUrl: siteUrl,
100
+ url: s.nonEmptyString("A Bing URL or directory identifier, including values such as example.com or domain:example.com."),
101
+ page: s.integer("Zero-based result page. Request successive pages until no records remain.", {
102
+ minimum: 0,
103
+ }),
104
+ }),
105
+ outputSchema: s.object("The result of GetChildrenUrlTrafficInfo.", {
106
+ urls: s.array("The records returned by Bing.", urlTrafficOutput),
107
+ }),
108
+ }),
109
+ defineProviderAction("bing_webmaster", {
110
+ name: "get_crawl_settings",
111
+ description: "Read the current crawl settings.",
112
+ operationType: "read",
113
+ inputSchema: s.object("The input for GetCrawlSettings.", {
114
+ siteUrl: siteUrl,
115
+ }),
116
+ outputSchema: s.object("The result of GetCrawlSettings.", {
117
+ settings: crawlSettingsOutput,
118
+ }),
119
+ }),
120
+ defineProviderAction("bing_webmaster", {
121
+ name: "list_fetched_urls",
122
+ description: "List URL fetch records, including fetched and expired flags.",
123
+ operationType: "read",
124
+ inputSchema: s.object("The input for GetFetchedUrls.", {
125
+ siteUrl: siteUrl,
126
+ }),
127
+ outputSchema: s.object("The result of GetFetchedUrls.", {
128
+ urls: s.array("The records returned by Bing.", fetchedOutput),
129
+ }),
130
+ }),
131
+ defineProviderAction("bing_webmaster", {
132
+ name: "get_fetched_url_details",
133
+ description: "Read the document, headers and status of a fetched URL.",
134
+ operationType: "read",
135
+ inputSchema: s.object("The input for GetFetchedUrlDetails.", {
136
+ siteUrl: siteUrl,
137
+ url: s.string("The fetched page URL.", { format: "uri" }),
138
+ }),
139
+ outputSchema: s.object("The result of GetFetchedUrlDetails.", {
140
+ details: fetchedDetailsOutput,
141
+ }),
142
+ }),
143
+ defineProviderAction("bing_webmaster", {
144
+ name: "list_link_counts",
145
+ description: "List page inbound link counts with pagination.",
146
+ operationType: "read",
147
+ inputSchema: s.object("The input for GetLinkCounts.", {
148
+ siteUrl: siteUrl,
149
+ page: s.integer("Zero-based result page. Request successive pages until no records remain.", {
150
+ minimum: 0,
151
+ }),
152
+ }),
153
+ outputSchema: s.object("The result of GetLinkCounts.", {
154
+ links: linkCountsOutput,
155
+ }),
156
+ }),
157
+ defineProviderAction("bing_webmaster", {
158
+ name: "list_url_links",
159
+ description: "List inbound links and anchor text for a page.",
160
+ operationType: "read",
161
+ inputSchema: s.object("The input for GetUrlLinks.", {
162
+ siteUrl: siteUrl,
163
+ link: s.string("The page URL whose inbound links are requested.", { format: "uri" }),
164
+ page: s.integer("Zero-based result page. Request successive pages until no records remain.", {
165
+ minimum: 0,
166
+ }),
167
+ }),
168
+ outputSchema: s.object("The result of GetUrlLinks.", {
169
+ links: linkDetailsOutput,
170
+ }),
171
+ }),
172
+ defineProviderAction("bing_webmaster", {
173
+ name: "list_connected_pages",
174
+ description: "List pages connected to the site.",
175
+ operationType: "read",
176
+ inputSchema: s.object("The input for GetConnectedPages.", {
177
+ siteUrl: siteUrl,
178
+ }),
179
+ outputSchema: s.object("The result of GetConnectedPages.", {
180
+ pages: s.array("The records returned by Bing.", s.looseObject("An upstream Bing record. All returned fields are preserved.")),
181
+ }),
182
+ }),
183
+ defineProviderAction("bing_webmaster", {
184
+ name: "get_sitemap_details",
185
+ description: "List feed details within a sitemap index.",
186
+ operationType: "read",
187
+ inputSchema: s.object("The input for GetFeedDetails.", {
188
+ siteUrl: siteUrl,
189
+ feedUrl: s.string("The sitemap index URL.", { format: "uri" }),
190
+ }),
191
+ outputSchema: s.object("The result of GetFeedDetails.", {
192
+ sitemaps: s.array("The records returned by Bing.", feedSchema),
193
+ }),
194
+ }),
195
+ defineProviderAction("bing_webmaster", {
196
+ name: "get_content_submission_quota",
197
+ description: "Get the remaining content submission quota.",
198
+ operationType: "read",
199
+ inputSchema: s.object("The input for GetContentSubmissionQuota.", {
200
+ siteUrl: siteUrl,
201
+ }),
202
+ outputSchema: s.object("The result of GetContentSubmissionQuota.", {
203
+ quota: {
204
+ ...quotaSchema,
205
+ description: "The remaining content submission quota. Additional Bing fields are preserved.",
206
+ },
207
+ }),
208
+ }),
209
+ defineProviderAction("bing_webmaster", {
210
+ name: "list_blocked_urls",
211
+ description: "List blocked pages and directories.",
212
+ operationType: "read",
213
+ inputSchema: s.object("The input for GetBlockedUrls.", {
214
+ siteUrl: siteUrl,
215
+ }),
216
+ outputSchema: s.object("The result of GetBlockedUrls.", {
217
+ blocks: s.array("The records returned by Bing.", blockedUrlOutput),
218
+ }),
219
+ }),
220
+ defineProviderAction("bing_webmaster", {
221
+ name: "list_page_preview_blocks",
222
+ description: "List active page preview blocks.",
223
+ operationType: "read",
224
+ inputSchema: s.object("The input for GetActivePagePreviewBlocks.", {
225
+ siteUrl: siteUrl,
226
+ }),
227
+ outputSchema: s.object("The result of GetActivePagePreviewBlocks.", {
228
+ blocks: s.array("The records returned by Bing.", s.looseObject("An upstream Bing record. All returned fields are preserved.")),
229
+ }),
230
+ }),
231
+ defineProviderAction("bing_webmaster", {
232
+ name: "list_deep_link_blocks",
233
+ description: "List deep link blocking rules.",
234
+ operationType: "read",
235
+ inputSchema: s.object("The input for GetDeepLinkBlocks.", {
236
+ siteUrl: siteUrl,
237
+ }),
238
+ outputSchema: s.object("The result of GetDeepLinkBlocks.", {
239
+ blocks: s.array("The records returned by Bing.", s.looseObject("An upstream Bing record. All returned fields are preserved.")),
240
+ }),
241
+ }),
242
+ defineProviderAction("bing_webmaster", {
243
+ name: "list_query_parameters",
244
+ description: "List URL query parameter normalization rules.",
245
+ operationType: "read",
246
+ inputSchema: s.object("The input for GetQueryParameters.", {
247
+ siteUrl: siteUrl,
248
+ }),
249
+ outputSchema: s.object("The result of GetQueryParameters.", {
250
+ parameters: s.array("The records returned by Bing.", queryParameterOutput),
251
+ }),
252
+ }),
253
+ defineProviderAction("bing_webmaster", {
254
+ name: "list_country_region_settings",
255
+ description: "List country and region targeting settings.",
256
+ operationType: "read",
257
+ inputSchema: s.object("The input for GetCountryRegionSettings.", {
258
+ siteUrl: siteUrl,
259
+ }),
260
+ outputSchema: s.object("The result of GetCountryRegionSettings.", {
261
+ settings: s.array("The records returned by Bing.", countrySettingsOutput),
262
+ }),
263
+ }),
264
+ defineProviderAction("bing_webmaster", {
265
+ name: "list_site_moves",
266
+ description: "List site move records.",
267
+ operationType: "read",
268
+ inputSchema: s.object("The input for GetSiteMoves.", {
269
+ siteUrl: siteUrl,
270
+ }),
271
+ outputSchema: s.object("The result of GetSiteMoves.", {
272
+ moves: s.array("The records returned by Bing.", siteMoveOutput),
273
+ }),
274
+ }),
275
+ defineProviderAction("bing_webmaster", {
276
+ name: "get_keyword_stats",
277
+ description: "Get historical keyword statistics for a country and language.",
278
+ operationType: "read",
279
+ inputSchema: s.object("The input for GetKeywordStats.", {
280
+ q: s.nonEmptyString("The keyword to research."),
281
+ country: s.string("The country code used by Bing keyword research."),
282
+ language: s.string("The language code used by Bing keyword research."),
283
+ }),
284
+ outputSchema: s.object("The result of GetKeywordStats.", {
285
+ stats: s.array("The records returned by Bing.", keywordStatsOutput),
286
+ }),
287
+ }),
288
+ defineProviderAction("bing_webmaster", {
289
+ name: "list_site_roles",
290
+ description: "List delegated site roles, optionally including subdomains.",
291
+ operationType: "read",
292
+ inputSchema: s.object("The input for GetSiteRoles.", {
293
+ siteUrl: siteUrl,
294
+ includeAllSubdomains: s.boolean("Whether to include roles for all subdomains."),
295
+ }),
296
+ outputSchema: s.object("The result of GetSiteRoles.", {
297
+ roles: s.array("The records returned by Bing.", siteRoleOutput),
298
+ }),
299
+ }),
300
+ ];
@@ -0,0 +1,33 @@
1
+ import type { JsonSchema } from "../../core/types.ts";
2
+ export declare const siteUrl: JsonSchema;
3
+ export declare const siteInput: JsonSchema;
4
+ export declare const siteSchema: JsonSchema;
5
+ export declare const trafficSchema: JsonSchema;
6
+ export declare const querySchema: JsonSchema;
7
+ export declare const crawlSchema: JsonSchema;
8
+ export declare const issueSchema: JsonSchema;
9
+ export declare const feedSchema: JsonSchema;
10
+ export declare const quotaSchema: JsonSchema;
11
+ export declare const submittedSchema: JsonSchema;
12
+ export declare const siteRoleInput: JsonSchema;
13
+ export declare const siteRoleOutput: JsonSchema;
14
+ export declare const filterInput: JsonSchema;
15
+ export declare const urlInfoOutput: JsonSchema;
16
+ export declare const urlTrafficOutput: JsonSchema;
17
+ export declare const crawlSettingsInput: JsonSchema;
18
+ export declare const crawlSettingsOutput: JsonSchema;
19
+ export declare const fetchedOutput: JsonSchema;
20
+ export declare const fetchedDetailsOutput: JsonSchema;
21
+ export declare const keywordStatsOutput: JsonSchema;
22
+ export declare const linkCountOutput: JsonSchema;
23
+ export declare const linkDetailOutput: JsonSchema;
24
+ export declare const linkCountsOutput: JsonSchema;
25
+ export declare const linkDetailsOutput: JsonSchema;
26
+ export declare const blockedUrlInput: JsonSchema;
27
+ export declare const blockedUrlOutput: JsonSchema;
28
+ export declare const queryParameterOutput: JsonSchema;
29
+ export declare const countrySettingsInput: JsonSchema;
30
+ export declare const countrySettingsOutput: JsonSchema;
31
+ export declare const siteMoveInput: JsonSchema;
32
+ export declare const siteMoveOutput: JsonSchema;
33
+ export declare const detailedQueryOutput: JsonSchema;
@@ -0,0 +1,313 @@
1
+ import { jsonSchema as s } from "../../core/json-schema.js";
2
+ export const siteUrl = s.string("The exact site URL registered in Bing Webmaster Tools, including its scheme.", { format: "uri" });
3
+ export const siteInput = s.object("The registered site to query.", {
4
+ siteUrl: siteUrl,
5
+ });
6
+ export const siteSchema = s.object("A registered site. Additional Bing fields are preserved.", {
7
+ Url: s.string("The registered site URL."),
8
+ IsVerified: s.boolean("Whether ownership of the site is verified."),
9
+ AuthenticationCode: s.string("The site ownership verification code."),
10
+ DnsVerificationCode: s.string("The DNS record used to verify site ownership."),
11
+ }, {
12
+ optional: ["Url", "IsVerified", "AuthenticationCode", "DnsVerificationCode"],
13
+ additionalProperties: true,
14
+ });
15
+ export const trafficSchema = s.object("A traffic statistics record. Additional Bing fields are preserved.", {
16
+ Date: s.string("The upstream date string, typically /Date(milliseconds-offset)/ in WCF JSON format."),
17
+ Clicks: s.integer("The number of clicks."),
18
+ Impressions: s.integer("The number of impressions."),
19
+ }, { optional: ["Date", "Clicks", "Impressions"], additionalProperties: true });
20
+ export const querySchema = s.object("A query or page statistics record. Additional Bing fields are preserved.", {
21
+ Date: s.string("The upstream date string, typically /Date(milliseconds-offset)/ in WCF JSON format."),
22
+ Clicks: s.integer("The number of clicks."),
23
+ Impressions: s.integer("The number of impressions."),
24
+ AvgClickPosition: s.number("The average position of clicked results."),
25
+ AvgImpressionPosition: s.number("The average position of displayed results."),
26
+ Query: s.string("The search query, or the page URL for page statistics."),
27
+ }, {
28
+ optional: ["Date", "Clicks", "Impressions", "AvgClickPosition", "AvgImpressionPosition", "Query"],
29
+ additionalProperties: true,
30
+ });
31
+ export const crawlSchema = s.object("A crawl statistics record. Additional Bing fields are preserved.", {
32
+ Date: s.string("The upstream date string, typically /Date(milliseconds-offset)/ in WCF JSON format."),
33
+ AllOtherCodes: s.integer("Responses with other HTTP codes."),
34
+ BlockedByRobotsTxt: s.integer("URLs blocked by robots.txt."),
35
+ Code2xx: s.integer("Responses with 2xx codes."),
36
+ Code301: s.integer("Responses with HTTP 301."),
37
+ Code302: s.integer("Responses with HTTP 302."),
38
+ Code4xx: s.integer("Responses with 4xx codes."),
39
+ Code5xx: s.integer("Responses with 5xx codes."),
40
+ ContainsMalware: s.integer("URLs reported to contain malware."),
41
+ CrawlErrors: s.integer("The number of crawl errors."),
42
+ CrawledPages: s.integer("The number of crawled pages."),
43
+ InIndex: s.integer("The number of indexed pages."),
44
+ InLinks: s.integer("The number of inbound links."),
45
+ }, {
46
+ optional: [
47
+ "Date",
48
+ "AllOtherCodes",
49
+ "BlockedByRobotsTxt",
50
+ "Code2xx",
51
+ "Code301",
52
+ "Code302",
53
+ "Code4xx",
54
+ "Code5xx",
55
+ "ContainsMalware",
56
+ "CrawlErrors",
57
+ "CrawledPages",
58
+ "InIndex",
59
+ "InLinks",
60
+ ],
61
+ additionalProperties: true,
62
+ });
63
+ export const issueSchema = s.object("A URL with crawl issues. Additional Bing fields are preserved.", {
64
+ Url: s.string("The affected page URL."),
65
+ HttpCode: s.integer("The HTTP response code."),
66
+ Issues: s.integer("The Bing CrawlIssues flags bitmask."),
67
+ InLinks: s.integer("The number of inbound links."),
68
+ }, { optional: ["Url", "HttpCode", "Issues", "InLinks"], additionalProperties: true });
69
+ export const feedSchema = s.object("A sitemap or feed record. Additional Bing fields are preserved.", {
70
+ Url: s.string("The sitemap or feed URL."),
71
+ Compressed: s.boolean("Whether the feed is compressed."),
72
+ FileSize: s.integer("The feed file size in bytes."),
73
+ LastCrawled: s.string("The upstream date string, typically /Date(milliseconds-offset)/ in WCF JSON format."),
74
+ Submitted: s.string("The upstream date string, typically /Date(milliseconds-offset)/ in WCF JSON format."),
75
+ Status: s.string("The feed processing status."),
76
+ Type: s.string("The feed format reported by Bing."),
77
+ UrlCount: s.integer("The number of URLs in the feed."),
78
+ }, {
79
+ optional: ["Url", "Compressed", "FileSize", "LastCrawled", "Submitted", "Status", "Type", "UrlCount"],
80
+ additionalProperties: true,
81
+ });
82
+ export const quotaSchema = s.object("The remaining URL submission quota. Additional Bing fields are preserved.", {
83
+ DailyQuota: s.integer("The remaining daily submission quota."),
84
+ MonthlyQuota: s.integer("The remaining monthly submission quota."),
85
+ }, { optional: ["DailyQuota", "MonthlyQuota"], additionalProperties: true });
86
+ export const submittedSchema = s.object("The submission result.", {
87
+ submitted: s.boolean("Whether Bing accepted the submission. This does not guarantee indexing."),
88
+ });
89
+ export const siteRoleInput = s.object("The site role record to remove, obtained from list_site_roles.", {
90
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
91
+ DelegatedCode: s.string("The delegated site verification code."),
92
+ DelegatedCodeOwnerEmail: s.string("The owner email of the delegated verification code."),
93
+ DelegatorEmail: s.string("The delegating user email."),
94
+ Email: s.string("The user receiving site access."),
95
+ Expired: s.boolean("Whether the delegated access has expired."),
96
+ Role: {
97
+ type: "integer",
98
+ enum: [0, 1, 2],
99
+ description: "User role: 0 administrator, 1 read-only, 2 read-write.",
100
+ },
101
+ Site: s.string("The URL reported by Bing."),
102
+ VerificationSite: s.string("The site used for ownership verification."),
103
+ }, { optional: ["Date", "DelegatedCodeOwnerEmail", "DelegatorEmail", "Expired"] });
104
+ export const siteRoleOutput = s.object("A delegated site role.", {
105
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
106
+ DelegatedCode: s.string("The delegated site verification code."),
107
+ DelegatedCodeOwnerEmail: s.string("The owner email of the delegated verification code."),
108
+ DelegatorEmail: s.string("The delegating user email."),
109
+ Email: s.string("The user receiving site access."),
110
+ Expired: s.boolean("Whether the delegated access has expired."),
111
+ Role: {
112
+ type: "integer",
113
+ enum: [0, 1, 2],
114
+ description: "User role: 0 administrator, 1 read-only, 2 read-write.",
115
+ },
116
+ Site: s.string("The URL reported by Bing."),
117
+ VerificationSite: s.string("The site used for ownership verification."),
118
+ }, {
119
+ optional: [
120
+ "Date",
121
+ "DelegatedCode",
122
+ "DelegatedCodeOwnerEmail",
123
+ "DelegatorEmail",
124
+ "Email",
125
+ "Expired",
126
+ "Role",
127
+ "Site",
128
+ "VerificationSite",
129
+ ],
130
+ additionalProperties: true,
131
+ });
132
+ export const filterInput = s.object("Filters for URLs in a directory. Omitted flags use the upstream default.", {
133
+ CrawlDateFilter: {
134
+ type: "integer",
135
+ enum: [0, 1, 2, 4],
136
+ description: "Crawl date filter: 0 any, 1 last week, 2 last two weeks, 4 last three weeks.",
137
+ },
138
+ DiscoveredDateFilter: {
139
+ type: "integer",
140
+ enum: [0, 1, 2],
141
+ description: "Discovery date filter: 0 any, 1 last week, 2 last month.",
142
+ },
143
+ DocFlagsFilters: s.integer("Document flags bitmask: 0 any, 1 blocked by robots.txt, 2 malware. Flags may be combined.", { minimum: 0, maximum: 3 }),
144
+ HttpCodeFilters: s.integer("HTTP code flags bitmask: 1 2xx, 2 3xx, 4 301, 8 302, 16 4xx, 32 5xx, 64 other; 0 means any.", { minimum: 0, maximum: 127 }),
145
+ }, { optional: ["CrawlDateFilter", "DiscoveredDateFilter", "DocFlagsFilters", "HttpCodeFilters"] });
146
+ export const urlInfoOutput = s.object("Index information for a URL or directory.", {
147
+ Url: s.string("The URL reported by Bing."),
148
+ AnchorCount: s.integer("The number of anchors."),
149
+ DiscoveryDate: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
150
+ DocumentSize: s.integer("The document size reported by Bing."),
151
+ HttpStatus: s.integer("The HTTP status reported by Bing."),
152
+ IsPage: s.boolean("Whether this entry represents a page."),
153
+ LastCrawledDate: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
154
+ TotalChildUrlCount: s.integer("The number of child URLs."),
155
+ }, {
156
+ optional: [
157
+ "Url",
158
+ "AnchorCount",
159
+ "DiscoveryDate",
160
+ "DocumentSize",
161
+ "HttpStatus",
162
+ "IsPage",
163
+ "LastCrawledDate",
164
+ "TotalChildUrlCount",
165
+ ],
166
+ additionalProperties: true,
167
+ });
168
+ export const urlTrafficOutput = s.object("Traffic information for a URL or directory.", {
169
+ Url: s.string("The URL reported by Bing."),
170
+ Clicks: s.integer("The number of clicks."),
171
+ Impressions: s.integer("The number of impressions."),
172
+ IsPage: s.boolean("Whether this entry represents a page."),
173
+ }, { optional: ["Url", "Clicks", "Impressions", "IsPage"], additionalProperties: true });
174
+ export const crawlSettingsInput = s.object("Crawl settings to save. Read current settings first to avoid overwriting unintended values.", {
175
+ CrawlRate: s.array("Hourly crawl rates, in the upstream order.", s.integer("The crawl rate byte value.", { minimum: 0, maximum: 255 })),
176
+ AjaxEnabled: s.boolean("Whether AJAX crawling is enabled, as exposed by the endpoint example."),
177
+ CrawlBoostAvailable: s.boolean("Whether crawl boost is available."),
178
+ CrawlBoostEnabled: s.boolean("Whether crawl boost is enabled."),
179
+ }, { optional: ["AjaxEnabled", "CrawlBoostAvailable", "CrawlBoostEnabled"] });
180
+ export const crawlSettingsOutput = s.object("The current crawl settings.", {
181
+ CrawlRate: s.array("Hourly crawl rates, in the upstream order.", s.integer("The crawl rate byte value.", { minimum: 0, maximum: 255 })),
182
+ AjaxEnabled: s.boolean("Whether AJAX crawling is enabled, as exposed by the endpoint example."),
183
+ CrawlBoostAvailable: s.boolean("Whether crawl boost is available."),
184
+ CrawlBoostEnabled: s.boolean("Whether crawl boost is enabled."),
185
+ }, {
186
+ optional: ["CrawlRate", "AjaxEnabled", "CrawlBoostAvailable", "CrawlBoostEnabled"],
187
+ additionalProperties: true,
188
+ });
189
+ export const fetchedOutput = s.object("A URL fetch record.", {
190
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
191
+ Expired: s.boolean("Whether this fetch entry has expired."),
192
+ Fetched: s.boolean("Whether the URL has been fetched."),
193
+ Url: s.string("The URL reported by Bing."),
194
+ }, { optional: ["Date", "Expired", "Fetched", "Url"], additionalProperties: true });
195
+ export const fetchedDetailsOutput = s.object("Details of a fetched URL.", {
196
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
197
+ Document: s.string("The fetched document returned by Bing."),
198
+ Headers: s.string("The fetched response headers returned by Bing."),
199
+ Status: s.string("The upstream fetch status string; no undocumented terminal states are inferred."),
200
+ Url: s.string("The URL reported by Bing."),
201
+ }, { optional: ["Date", "Document", "Headers", "Status", "Url"], additionalProperties: true });
202
+ export const keywordStatsOutput = s.object("A keyword history record.", {
203
+ BroadImpressions: s.integer("Broad-match keyword impressions."),
204
+ Impressions: s.integer("Keyword impressions."),
205
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
206
+ Query: s.string("The keyword text."),
207
+ }, { optional: ["BroadImpressions", "Impressions", "Date", "Query"], additionalProperties: true });
208
+ export const linkCountOutput = s.object("An inbound link count for a page.", {
209
+ Count: s.integer("The number of inbound links."),
210
+ Url: s.string("The URL reported by Bing."),
211
+ }, { optional: ["Count", "Url"], additionalProperties: true });
212
+ export const linkDetailOutput = s.object("An inbound link and its anchor text.", {
213
+ AnchorText: s.string("The anchor text of the inbound link."),
214
+ Url: s.string("The URL reported by Bing."),
215
+ }, { optional: ["AnchorText", "Url"], additionalProperties: true });
216
+ export const linkCountsOutput = s.object("A page of inbound link counts.", {
217
+ Links: s.array("The page link counts.", linkCountOutput),
218
+ TotalPages: s.integer("The total number of result pages."),
219
+ }, { optional: ["Links", "TotalPages"], additionalProperties: true });
220
+ export const linkDetailsOutput = s.object("A page of inbound link details.", {
221
+ Details: s.array("The inbound links.", linkDetailOutput),
222
+ TotalPages: s.integer("The total number of result pages."),
223
+ }, { optional: ["Details", "TotalPages"], additionalProperties: true });
224
+ export const blockedUrlInput = s.object("The URL block record. Preserve returned metadata when removing an existing block.", {
225
+ Url: s.string("The URL reported by Bing."),
226
+ EntityType: {
227
+ type: "integer",
228
+ enum: [0, 1],
229
+ description: "Blocked entity: 0 page, 1 directory.",
230
+ },
231
+ RequestType: {
232
+ type: "integer",
233
+ enum: [0, 1],
234
+ description: "Removal request: 0 cached copy only, 1 full removal.",
235
+ },
236
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
237
+ DaysToExpire: s.integer("Days until the block expires, as supplied by Bing."),
238
+ }, { optional: ["Date", "DaysToExpire"] });
239
+ export const blockedUrlOutput = s.object("A blocked URL record.", {
240
+ Url: s.string("The URL reported by Bing."),
241
+ EntityType: {
242
+ type: "integer",
243
+ enum: [0, 1],
244
+ description: "Blocked entity: 0 page, 1 directory.",
245
+ },
246
+ RequestType: {
247
+ type: "integer",
248
+ enum: [0, 1],
249
+ description: "Removal request: 0 cached copy only, 1 full removal.",
250
+ },
251
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
252
+ DaysToExpire: s.integer("Days until the block expires, as supplied by Bing."),
253
+ }, {
254
+ optional: ["Url", "EntityType", "RequestType", "Date", "DaysToExpire"],
255
+ additionalProperties: true,
256
+ });
257
+ export const queryParameterOutput = s.object("A URL normalization parameter.", {
258
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
259
+ IsEnabled: s.boolean("Whether this normalization rule is enabled."),
260
+ Parameter: s.string("The URL query parameter name."),
261
+ Source: s.integer("The rule source reported by Bing."),
262
+ }, { optional: ["Date", "IsEnabled", "Parameter", "Source"], additionalProperties: true });
263
+ export const countrySettingsInput = s.object("Country or region targeting settings.", {
264
+ Url: s.string("The URL reported by Bing."),
265
+ TwoLetterIsoCountryCode: s.string("The two-letter ISO country code."),
266
+ Type: {
267
+ type: "integer",
268
+ enum: [0, 1, 2, 3],
269
+ description: "Target scope: 0 page, 1 directory, 2 domain, 3 subdomain.",
270
+ },
271
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
272
+ }, { optional: ["Date"] });
273
+ export const countrySettingsOutput = s.object("A country or region targeting record.", {
274
+ Url: s.string("The URL reported by Bing."),
275
+ TwoLetterIsoCountryCode: s.string("The two-letter ISO country code."),
276
+ Type: {
277
+ type: "integer",
278
+ enum: [0, 1, 2, 3],
279
+ description: "Target scope: 0 page, 1 directory, 2 domain, 3 subdomain.",
280
+ },
281
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
282
+ }, { optional: ["Url", "TwoLetterIsoCountryCode", "Type", "Date"], additionalProperties: true });
283
+ export const siteMoveInput = s.object("Settings for a site move.", {
284
+ SourceUrl: s.string("The source URL of the site move."),
285
+ TargetUrl: s.string("The destination URL of the site move."),
286
+ MoveScope: {
287
+ type: "integer",
288
+ enum: [0, 1, 2],
289
+ description: "Move scope: 0 domain, 1 host, 2 directory.",
290
+ },
291
+ MoveType: { type: "integer", enum: [0, 1], description: "Move type: 0 local, 1 global." },
292
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
293
+ }, { optional: ["Date"] });
294
+ export const siteMoveOutput = s.object("A site move record.", {
295
+ SourceUrl: s.string("The source URL of the site move."),
296
+ TargetUrl: s.string("The destination URL of the site move."),
297
+ MoveScope: {
298
+ type: "integer",
299
+ enum: [0, 1, 2],
300
+ description: "Move scope: 0 domain, 1 host, 2 directory.",
301
+ },
302
+ MoveType: { type: "integer", enum: [0, 1], description: "Move type: 0 local, 1 global." },
303
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
304
+ }, {
305
+ optional: ["SourceUrl", "TargetUrl", "MoveScope", "MoveType", "Date"],
306
+ additionalProperties: true,
307
+ });
308
+ export const detailedQueryOutput = s.object("Statistics for a specific query and page.", {
309
+ Clicks: s.integer("The number of clicks."),
310
+ Impressions: s.integer("The number of impressions."),
311
+ Date: s.string("The date string in the upstream WCF /Date(milliseconds-offset)/ format."),
312
+ Position: s.integer("The search result position."),
313
+ }, { optional: ["Clicks", "Impressions", "Date", "Position"], additionalProperties: true });
@@ -0,0 +1,4 @@
1
+ import type { CredentialValidators, ProviderExecutors, ProviderProxyExecutor } from "../../core/types.ts";
2
+ export declare const executors: ProviderExecutors;
3
+ export declare const proxy: ProviderProxyExecutor;
4
+ export declare const credentialValidators: CredentialValidators;