@oomol-lab/open-connector 1.6.3 → 1.6.5

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 (108) hide show
  1. package/assets/open-connector/catalog/apps/aisa.json +568 -0
  2. package/assets/open-connector/catalog/apps/bilibili.json +2586 -0
  3. package/assets/open-connector/catalog/apps/bitwarden.json +1423 -0
  4. package/assets/open-connector/catalog/apps/cronfree.json +303 -0
  5. package/assets/open-connector/catalog/apps/cufinder.json +368 -0
  6. package/assets/open-connector/catalog/apps/feishu_app_bot.json +2 -2
  7. package/assets/open-connector/catalog/apps/gmail.json +73 -0
  8. package/assets/open-connector/catalog/apps/investoday_mcp.json +22228 -197
  9. package/assets/open-connector/catalog/apps/ixspy.json +2274 -0
  10. package/assets/open-connector/catalog/apps/jin10.json +1 -1
  11. package/assets/open-connector/catalog/apps/osv.json +663 -0
  12. package/assets/open-connector/catalog/apps/pdf_vector.json +329 -0
  13. package/assets/open-connector/catalog/apps/pulsetic.json +406 -0
  14. package/assets/open-connector/catalog/apps/shopee.json +1785 -0
  15. package/assets/open-connector/catalog/apps/slack.json +81 -0
  16. package/assets/open-connector/catalog/apps/slackbot.json +81 -0
  17. package/assets/open-connector/catalog/apps/speak_ai.json +360 -0
  18. package/assets/open-connector/catalog/apps/tongdaxin.json +11 -440
  19. package/assets/open-connector/catalog/apps/zyhub.json +1585 -0
  20. package/assets/open-connector/catalog/apps-index.json +1 -1
  21. package/package.json +1 -1
  22. package/src/core/json-schema.d.ts +5 -1
  23. package/src/core/json-schema.js +14 -2
  24. package/src/core/types.d.ts +9 -0
  25. package/src/oauth/oauth-credential-refresh-service.js +3 -1
  26. package/src/oauth/oauth-flow-service.js +17 -2
  27. package/src/oauth/oauth-token.d.ts +13 -0
  28. package/src/providers/action-contracts.generated.d.ts +16 -4
  29. package/src/providers/aisa/executors.d.ts +4 -0
  30. package/src/providers/aisa/executors.js +176 -0
  31. package/src/providers/bilibili/articles.d.ts +3 -0
  32. package/src/providers/bilibili/articles.js +369 -0
  33. package/src/providers/bilibili/executors.d.ts +8 -0
  34. package/src/providers/bilibili/executors.js +262 -0
  35. package/src/providers/bilibili/runtime.d.ts +95 -0
  36. package/src/providers/bilibili/runtime.js +238 -0
  37. package/src/providers/bilibili/upload.d.ts +14 -0
  38. package/src/providers/bilibili/upload.js +105 -0
  39. package/src/providers/bitwarden/executors.d.ts +3 -0
  40. package/src/providers/bitwarden/executors.js +146 -0
  41. package/src/providers/cronfree/executors.d.ts +4 -0
  42. package/src/providers/cronfree/executors.js +89 -0
  43. package/src/providers/cufinder/executors.d.ts +4 -0
  44. package/src/providers/cufinder/executors.js +105 -0
  45. package/src/providers/dropbox/executors.js +21 -3
  46. package/src/providers/elevenreader/runtime.js +6 -5
  47. package/src/providers/feishu_app_bot/scopes.js +1 -1
  48. package/src/providers/gmail/attachment-stream.d.ts +2 -0
  49. package/src/providers/gmail/attachment-stream.js +162 -0
  50. package/src/providers/gmail/executors.d.ts +3 -1
  51. package/src/providers/gmail/executors.js +53 -25
  52. package/src/providers/investoday_mcp/official-actions.js +19 -372
  53. package/src/providers/investoday_mcp/official-tool-types.d.ts +10 -0
  54. package/src/providers/investoday_mcp/official-tool-types.js +4 -0
  55. package/src/providers/investoday_mcp/official-tools/charts.d.ts +2 -0
  56. package/src/providers/investoday_mcp/official-tools/charts.js +32 -0
  57. package/src/providers/investoday_mcp/official-tools/fixed-income.d.ts +2 -0
  58. package/src/providers/investoday_mcp/official-tools/fixed-income.js +326 -0
  59. package/src/providers/investoday_mcp/official-tools/funds.d.ts +2 -0
  60. package/src/providers/investoday_mcp/official-tools/funds.js +1085 -0
  61. package/src/providers/investoday_mcp/official-tools/hong-kong.d.ts +2 -0
  62. package/src/providers/investoday_mcp/official-tools/hong-kong.js +275 -0
  63. package/src/providers/investoday_mcp/official-tools/indices-industries.d.ts +2 -0
  64. package/src/providers/investoday_mcp/official-tools/indices-industries.js +642 -0
  65. package/src/providers/investoday_mcp/official-tools/macro-calendar.d.ts +2 -0
  66. package/src/providers/investoday_mcp/official-tools/macro-calendar.js +398 -0
  67. package/src/providers/investoday_mcp/official-tools/other.d.ts +2 -0
  68. package/src/providers/investoday_mcp/official-tools/other.js +131 -0
  69. package/src/providers/investoday_mcp/official-tools/research-news.d.ts +2 -0
  70. package/src/providers/investoday_mcp/official-tools/research-news.js +302 -0
  71. package/src/providers/investoday_mcp/official-tools/stocks.d.ts +2 -0
  72. package/src/providers/investoday_mcp/official-tools/stocks.js +2829 -0
  73. package/src/providers/ixspy/executors.d.ts +3 -0
  74. package/src/providers/ixspy/executors.js +220 -0
  75. package/src/providers/mcp-client.d.ts +1 -0
  76. package/src/providers/mcp-client.js +41 -27
  77. package/src/providers/osv/executors.d.ts +2 -0
  78. package/src/providers/osv/executors.js +11 -0
  79. package/src/providers/osv/runtime.d.ts +9 -0
  80. package/src/providers/osv/runtime.js +66 -0
  81. package/src/providers/pdf_vector/executors.d.ts +4 -0
  82. package/src/providers/pdf_vector/executors.js +108 -0
  83. package/src/providers/provider-runtime.d.ts +3 -0
  84. package/src/providers/provider-runtime.js +4 -1
  85. package/src/providers/pulsetic/executors.d.ts +4 -0
  86. package/src/providers/pulsetic/executors.js +126 -0
  87. package/src/providers/registry.generated.js +12 -0
  88. package/src/providers/sellersprite_mcp/executors.js +2 -1
  89. package/src/providers/shopee/actions.d.ts +2 -0
  90. package/src/providers/shopee/actions.js +474 -0
  91. package/src/providers/shopee/executors.d.ts +3 -0
  92. package/src/providers/shopee/executors.js +85 -0
  93. package/src/providers/shopee/runtime.d.ts +79 -0
  94. package/src/providers/shopee/runtime.js +693 -0
  95. package/src/providers/slack/actions.js +17 -0
  96. package/src/providers/slack/runtime.js +62 -4
  97. package/src/providers/speak_ai/executors.d.ts +3 -0
  98. package/src/providers/speak_ai/executors.js +187 -0
  99. package/src/providers/tongdaxin/executors.js +5 -4
  100. package/src/providers/tongdaxin/named-action-output.js +3 -9
  101. package/src/providers/tongdaxin/named-action-routing.js +1 -1
  102. package/src/providers/tongdaxin/named-actions.js +1 -6
  103. package/src/providers/tushare/runtime.js +22 -9
  104. package/src/providers/twenty_crm/runtime.js +4 -2
  105. package/src/providers/zyhub/executors.d.ts +3 -0
  106. package/src/providers/zyhub/executors.js +240 -0
  107. package/src/server/files/transit-files.d.ts +3 -2
  108. package/src/server/files/transit-files.js +31 -35
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oomol-lab/open-connector",
3
- "version": "1.6.3",
3
+ "version": "1.6.5",
4
4
  "description": "Embeddable Open Connector runtime for Node.js and Bun.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -53,7 +53,7 @@ export declare const jsonSchema: {
53
53
  nullableNumber(description: string, options?: Omit<NumberOptions, "description">): JsonSchema;
54
54
  nullableBoolean(description: string, options?: Omit<JsonSchemaOptions, "description">): JsonSchema;
55
55
  dateTime(description: string): JsonSchema;
56
- date(description: string): JsonSchema;
56
+ date(description: string, options?: Omit<StringOptions, "description" | "format">): JsonSchema;
57
57
  uuid(description: string): JsonSchema;
58
58
  stringPattern(pattern: string, options?: JsonSchemaOptions): JsonSchema;
59
59
  stringEnum(valuesOrDescription: readonly string[] | string, optionsOrValues?: JsonSchemaOptions | readonly string[]): JsonSchema;
@@ -66,8 +66,12 @@ export declare const jsonSchema: {
66
66
  optional(schema: JsonSchema): JsonSchema;
67
67
  describe(schema: JsonSchema, description: string): JsonSchema;
68
68
  withDefault(schema: JsonSchema, defaultValue: unknown): JsonSchema;
69
+ withExamples(schema: JsonSchema, examples: readonly unknown[]): JsonSchema;
70
+ withEnum(schema: JsonSchema, values: readonly unknown[]): JsonSchema;
69
71
  /** Require at least one named property while preserving the base object schema. */
70
72
  requireAnyProperty(schema: JsonSchema, propertyNames: readonly [string, ...string[]]): JsonSchema;
73
+ /** Require exactly one named property while preserving the base object schema. */
74
+ requireExactlyOneProperty(schema: JsonSchema, propertyNames: readonly [string, ...string[]]): JsonSchema;
71
75
  tuple(items: JsonSchema[], options?: JsonSchemaOptions): JsonSchema;
72
76
  anyOf(schemasOrDescription: JsonSchema[] | string, optionsOrSchemas?: JsonSchemaOptions | JsonSchema[]): JsonSchema;
73
77
  union(schemas: JsonSchema[], options?: JsonSchemaOptions): JsonSchema;
@@ -101,8 +101,8 @@ export const jsonSchema = {
101
101
  dateTime(description) {
102
102
  return this.string({ format: "date-time", description });
103
103
  },
104
- date(description) {
105
- return this.string({ format: "date", description });
104
+ date(description, options = {}) {
105
+ return this.string({ ...options, format: "date", description });
106
106
  },
107
107
  uuid(description) {
108
108
  return this.string({ format: "uuid", description });
@@ -167,12 +167,24 @@ export const jsonSchema = {
167
167
  withDefault(schema, defaultValue) {
168
168
  return cloneSchema(schema, { default: defaultValue });
169
169
  },
170
+ withExamples(schema, examples) {
171
+ return cloneSchema(schema, { examples: [...examples] });
172
+ },
173
+ withEnum(schema, values) {
174
+ return cloneSchema(schema, { enum: [...values] });
175
+ },
170
176
  /** Require at least one named property while preserving the base object schema. */
171
177
  requireAnyProperty(schema, propertyNames) {
172
178
  return cloneSchema(schema, {
173
179
  anyOf: propertyNames.map((propertyName) => ({ required: [propertyName] })),
174
180
  });
175
181
  },
182
+ /** Require exactly one named property while preserving the base object schema. */
183
+ requireExactlyOneProperty(schema, propertyNames) {
184
+ return cloneSchema(schema, {
185
+ oneOf: propertyNames.map((propertyName) => ({ required: [propertyName] })),
186
+ });
187
+ },
176
188
  tuple(items, options = {}) {
177
189
  return withOptions({
178
190
  type: "array",
@@ -305,9 +305,18 @@ export interface TransitFileRead {
305
305
  name: string;
306
306
  mimeType: string;
307
307
  }
308
+ /** A byte stream consumed with backpressure; failed or cancelled writes must leave no file behind. */
309
+ export interface TransitFileStream {
310
+ body: ReadableStream<Uint8Array>;
311
+ name: string;
312
+ mimeType: string;
313
+ signal?: AbortSignal;
314
+ }
308
315
  export interface TransitFileStore {
309
316
  readonly maxBytes: number;
310
317
  create(file: File): Promise<TransitFileUpload>;
318
+ /** Available only on backends that can store unknown-length streams without buffering the file. */
319
+ createFromStream?(file: TransitFileStream): Promise<TransitFileUpload>;
311
320
  read(fileId: string): Promise<TransitFileRead>;
312
321
  delete(fileId: string): Promise<boolean>;
313
322
  }
@@ -27,6 +27,8 @@ export class OAuthCredentialRefreshService {
27
27
  refreshed = await providerOAuth.refreshAccessToken({
28
28
  refreshToken,
29
29
  clientConfig: config,
30
+ metadata: credential.metadata,
31
+ providerSecret: credential.providerSecret,
30
32
  fetcher: providerFetch,
31
33
  createError,
32
34
  });
@@ -57,7 +59,7 @@ export class OAuthCredentialRefreshService {
57
59
  // not an option: a refresh only runs once that timestamp is already past, so
58
60
  // the stored token would look expired immediately and refresh on every call.
59
61
  expiresAt: refreshed.expiresAt ?? expiresAtFromLifetime(expiresIn),
60
- providerSecret: credential.providerSecret,
62
+ providerSecret: refreshed.providerSecret ?? credential.providerSecret,
61
63
  profile: credential.profile,
62
64
  metadata: {
63
65
  ...credential.metadata,
@@ -130,8 +130,12 @@ export class OAuthFlowService {
130
130
  authorizationUrl.searchParams.set("code_challenge", createPkceCodeChallenge(pkceCodeVerifier));
131
131
  authorizationUrl.searchParams.set("code_challenge_method", auth.pkce?.method ?? "S256");
132
132
  }
133
+ const providerOAuth = await this.providerLoader.loadProviderOAuthRuntime?.(service);
134
+ const resolvedAuthorizationUrl = providerOAuth?.buildAuthorizationUrl
135
+ ? await providerOAuth.buildAuthorizationUrl({ authorizationUrl, clientConfig: config, now })
136
+ : authorizationUrl.toString();
133
137
  return {
134
- authorizationUrl: authorizationUrl.toString(),
138
+ authorizationUrl: resolvedAuthorizationUrl,
135
139
  pending,
136
140
  };
137
141
  }
@@ -158,6 +162,7 @@ export class OAuthFlowService {
158
162
  if (providerOAuth?.exchangeCode) {
159
163
  tokenResponse = await providerOAuth.exchangeCode({
160
164
  code: input.code,
165
+ callbackParameters: input.callbackParameters,
161
166
  clientConfig: config,
162
167
  redirectUri,
163
168
  tokenUrl,
@@ -184,6 +189,7 @@ export class OAuthFlowService {
184
189
  });
185
190
  }
186
191
  const refreshParameters = readCallbackParameters(auth.tokenRequestCallbackParameters, input.callbackParameters);
192
+ const providerSecret = mergeOAuthProviderSecret(tokenResponse.providerSecret, refreshParameters);
187
193
  const oauthCredential = {
188
194
  authType: "oauth2",
189
195
  ...tokenResponse,
@@ -192,7 +198,7 @@ export class OAuthFlowService {
192
198
  displayName: "OAuth Credential",
193
199
  grantedScopes: request ? [] : (pending.authorizationScopes ?? []),
194
200
  },
195
- providerSecret: Object.keys(refreshParameters).length > 0 ? { oauthRefreshParameters: refreshParameters } : undefined,
201
+ providerSecret,
196
202
  metadata: {
197
203
  ...tokenResponse.metadata,
198
204
  // Bind the stored credential to the callback that completed this consent.
@@ -257,6 +263,15 @@ export class OAuthFlowService {
257
263
  return this.clientConfigs.normalizeConfig(service, input);
258
264
  }
259
265
  }
266
+ function mergeOAuthProviderSecret(providerSecret, refreshParameters) {
267
+ if (Object.keys(refreshParameters).length === 0) {
268
+ return providerSecret;
269
+ }
270
+ return {
271
+ ...providerSecret,
272
+ oauthRefreshParameters: refreshParameters,
273
+ };
274
+ }
260
275
  function setAuthorizationParam(url, fieldName, defaultFieldName, value) {
261
276
  if (fieldName !== false) {
262
277
  url.searchParams.set(fieldName ?? defaultFieldName, value);
@@ -6,10 +6,14 @@ export interface OAuthTokenResult {
6
6
  refreshToken?: string;
7
7
  tokenType: string;
8
8
  expiresAt?: string;
9
+ /** Provider-owned secret state that must follow token rotation. */
10
+ providerSecret?: Record<string, unknown>;
9
11
  metadata: Record<string, unknown>;
10
12
  }
11
13
  export interface OAuthCodeExchangeInput {
12
14
  code: string;
15
+ /** Provider callback parameters other than code and state. */
16
+ callbackParameters?: Record<string, string>;
13
17
  clientConfig: OAuthClientConfig;
14
18
  redirectUri: string;
15
19
  tokenUrl: string;
@@ -20,11 +24,20 @@ export interface OAuthCodeExchangeInput {
20
24
  export interface OAuthAccessTokenRefreshInput {
21
25
  refreshToken: string;
22
26
  clientConfig: OAuthClientConfig;
27
+ /** Metadata stored with the existing connection. */
28
+ metadata: Record<string, unknown>;
29
+ /** Provider-owned secret state stored with the existing connection. */
30
+ providerSecret?: Record<string, unknown>;
23
31
  fetcher: typeof fetch;
24
32
  createError(message: string): Error;
25
33
  }
26
34
  /** Provider-local overrides for token protocols that do not follow the standard OAuth request shape. */
27
35
  export interface ProviderOAuthRuntime {
36
+ buildAuthorizationUrl?(input: {
37
+ authorizationUrl: URL;
38
+ clientConfig: OAuthClientConfig;
39
+ now: Date;
40
+ }): string | Promise<string>;
28
41
  exchangeCode?(input: OAuthCodeExchangeInput): Promise<OAuthTokenResult>;
29
42
  refreshAccessToken?(input: OAuthAccessTokenRefreshInput): Promise<OAuthTokenResult>;
30
43
  }
@@ -40,6 +40,7 @@ export interface ProviderActionNames {
40
40
  airfocus: "get_profile" | "search_workspaces" | "get_workspace" | "search_items" | "get_item" | "create_item" | "update_item" | "delete_item";
41
41
  airmeet: "list_airmeets" | "list_sessions" | "list_booths" | "list_tracks" | "list_custom_registration_fields";
42
42
  airtable: "list_bases" | "get_base_collaborators" | "get_base_schema" | "create_base" | "delete_base" | "create_table" | "update_table" | "create_field" | "update_field" | "list_records" | "get_record" | "create_records" | "update_records" | "delete_records";
43
+ aisa: "get_credits_balance" | "get_usage" | "get_kalshi_markets" | "get_kalshi_trades" | "get_polymarket_markets" | "get_polymarket_events" | "get_polymarket_activity";
43
44
  aitable_ai: "list_spaces" | "list_nodes" | "list_fields" | "list_views" | "list_records" | "create_records" | "update_records" | "delete_records";
44
45
  aivoov: "list_voices" | "create_audio";
45
46
  alchemy: "get_token_balances" | "get_token_metadata" | "get_asset_transfers" | "get_nfts_for_owner" | "get_nft_metadata";
@@ -146,6 +147,7 @@ export interface ProviderActionNames {
146
147
  bigmailer: "list_brands" | "get_brand" | "list_lists" | "create_list" | "get_list" | "update_list" | "delete_list" | "list_contacts" | "create_contact" | "get_contact" | "update_contact" | "upsert_contact" | "delete_contact";
147
148
  bigml: "list_models" | "get_model" | "create_prediction" | "get_prediction" | "list_predictions" | "delete_prediction";
148
149
  bigpicture_io: "find_company_by_domain" | "find_company_by_ip";
150
+ bilibili: "get_user_info" | "get_user_scopes" | "get_user_union_id" | "get_user_stat" | "list_archive_types" | "upload_video" | "list_archives" | "get_archive" | "edit_archive" | "delete_archive" | "get_archive_stat" | "get_archive_inc_stats" | "list_article_categories" | "upload_article_image" | "submit_article" | "edit_article" | "delete_articles" | "get_article" | "list_articles" | "get_article_card_snippet" | "create_anthology" | "edit_anthology" | "delete_anthology" | "list_anthologies" | "get_anthology" | "set_anthology_articles" | "get_article_stats" | "get_article_inc_stats";
149
151
  bing_webmaster: "get_page_query_stats" | "get_query_page_stats" | "get_query_page_detail_stats" | "get_query_traffic_stats" | "get_url_info" | "get_url_traffic_info" | "list_child_url_info" | "list_child_url_traffic_info" | "get_crawl_settings" | "list_fetched_urls" | "get_fetched_url_details" | "list_link_counts" | "list_url_links" | "list_connected_pages" | "get_sitemap_details" | "get_content_submission_quota" | "list_blocked_urls" | "list_page_preview_blocks" | "list_deep_link_blocks" | "list_query_parameters" | "list_country_region_settings" | "list_site_moves" | "get_keyword_stats" | "list_site_roles" | "add_site" | "remove_site" | "save_crawl_settings" | "add_connected_page" | "remove_sitemap" | "add_blocked_url" | "remove_blocked_url" | "remove_page_preview_block" | "add_deep_link_block" | "remove_deep_link_block" | "add_query_parameter" | "set_query_parameter_enabled" | "remove_query_parameter" | "add_country_region_settings" | "remove_country_region_settings" | "submit_site_move" | "verify_site" | "add_site_roles" | "remove_site_role" | "list_sites" | "get_rank_and_traffic_stats" | "get_query_stats" | "get_page_stats" | "get_crawl_stats" | "get_crawl_issues" | "list_sitemaps" | "get_url_submission_quota" | "submit_sitemap" | "submit_url" | "submit_url_batch";
150
152
  biorxiv_medrxiv: "list_preprints" | "get_preprint" | "list_published_articles" | "list_publisher_articles" | "get_content_statistics" | "get_usage_statistics";
151
153
  bird: "list_channels" | "get_channel" | "get_message" | "list_message_interactions" | "send_message" | "send_batch_messages" | "list_contacts" | "get_contact" | "search_contact_by_identifier" | "create_contact" | "update_contact" | "delete_contact";
@@ -153,6 +155,7 @@ export interface ProviderActionNames {
153
155
  bitly: "get_user" | "list_groups" | "get_group" | "shorten_link" | "get_bitlink" | "update_bitlink";
154
156
  bitquery: "run_query";
155
157
  bitrise: "list_apps" | "list_builds" | "get_build" | "trigger_build";
158
+ bitwarden: "list_collections" | "get_collection" | "list_events" | "list_groups" | "get_group" | "get_group_member_ids" | "list_members" | "get_member" | "get_member_group_ids" | "list_policies" | "get_policy" | "get_subscription";
156
159
  bland_ai: "get_account" | "list_calls" | "get_call" | "list_voices" | "get_voice";
157
160
  blaze_meter_functional: "list_multi_tests" | "get_multi_test" | "get_active_sessions";
158
161
  blaze_meter_performance: "get_user" | "list_accounts" | "list_workspaces" | "list_projects" | "list_tests" | "get_test";
@@ -315,6 +318,7 @@ export interface ProviderActionNames {
315
318
  cratedb_cloud: "get_current_user" | "list_organizations" | "get_organization" | "list_projects" | "get_project" | "list_clusters" | "get_cluster" | "list_regions" | "list_products";
316
319
  credit_repair_cloud: "insert_lead_client" | "update_lead_client" | "delete_lead_client" | "view_lead_client" | "insert_affiliate" | "update_affiliate" | "delete_affiliate" | "view_affiliate";
317
320
  crisp: "get_website" | "list_conversations" | "get_conversation" | "list_conversation_messages" | "send_text_message";
321
+ cronfree: "create_schedule" | "delete_schedule";
318
322
  cronitor: "list_monitors" | "get_monitor" | "create_monitor" | "update_monitor" | "delete_monitor";
319
323
  cronly: "list_projects" | "get_project" | "create_project" | "delete_project" | "list_monitors" | "get_monitor" | "create_monitor" | "delete_monitor";
320
324
  crossref: "get_work" | "get_work_agency" | "list_works" | "match_reference" | "list_changed_works" | "list_scoped_works" | "get_resource" | "list_resources" | "export_work_citation" | "list_citation_styles" | "list_citation_locales";
@@ -323,6 +327,7 @@ export interface ProviderActionNames {
323
327
  crustdata: "identify_companies" | "enrich_companies" | "search_companies" | "autocomplete_companies";
324
328
  crypto_apis: "list_supported_assets" | "get_exchange_rate_by_symbols" | "get_exchange_rate_by_asset_ids" | "get_asset_details_by_symbol" | "get_asset_details_by_id";
325
329
  cubox: "save_url";
330
+ cufinder: "find_company_domain" | "find_company_name" | "enrich_company" | "enrich_person" | "enrich_person_by_email";
326
331
  currencyapi: "get_api_status" | "get_supported_currencies" | "get_latest_rates" | "get_historical_rates" | "convert_currency";
327
332
  currencyscoop: "get_currencies" | "get_latest_rates" | "get_historical_rates" | "get_timeseries_rates" | "convert_currency";
328
333
  currents_api: "get_latest_news" | "search_news" | "list_available_languages" | "list_available_regions" | "list_available_categories";
@@ -553,7 +558,7 @@ export interface ProviderActionNames {
553
558
  gleap: "get_current_user" | "list_contacts" | "get_contact_by_user_id" | "create_contact" | "update_contact" | "list_tickets" | "get_ticket" | "create_ticket" | "create_ticket_with_message" | "update_ticket" | "delete_ticket";
554
559
  globalping: "get_limits" | "list_probes" | "create_measurement" | "get_measurement";
555
560
  glyphic: "list_calls" | "get_call" | "get_call_media" | "get_call_snippets" | "list_call_tags" | "list_playbooks" | "get_playbook" | "list_playbook_versions" | "get_playbook_version";
556
- gmail: "search_threads" | "list_threads" | "fetch_emails" | "get_message" | "fetch_message_by_message_id" | "fetch_message_by_thread_id" | "get_profile" | "send_email" | "reply_email" | "reply_to_thread" | "create_draft" | "create_email_draft" | "list_drafts" | "get_draft" | "update_draft" | "send_draft" | "delete_draft" | "list_labels" | "get_label" | "create_label" | "patch_label" | "update_label" | "delete_label" | "add_label_to_email" | "batch_modify_messages" | "move_to_trash" | "untrash_message" | "modify_thread_labels" | "move_thread_to_trash" | "untrash_thread" | "list_history" | "list_filters" | "get_filter" | "create_filter" | "delete_filter" | "get_language_settings" | "update_language_settings" | "get_vacation_settings" | "update_vacation_settings" | "get_auto_forwarding" | "list_forwarding_addresses" | "settings_get_imap" | "settings_get_pop" | "stop_watch" | "update_imap_settings" | "update_pop_settings";
561
+ gmail: "download_attachment" | "search_threads" | "list_threads" | "fetch_emails" | "get_message" | "fetch_message_by_message_id" | "fetch_message_by_thread_id" | "get_profile" | "send_email" | "reply_email" | "reply_to_thread" | "create_draft" | "create_email_draft" | "list_drafts" | "get_draft" | "update_draft" | "send_draft" | "delete_draft" | "list_labels" | "get_label" | "create_label" | "patch_label" | "update_label" | "delete_label" | "add_label_to_email" | "batch_modify_messages" | "move_to_trash" | "untrash_message" | "modify_thread_labels" | "move_thread_to_trash" | "untrash_thread" | "list_history" | "list_filters" | "get_filter" | "create_filter" | "delete_filter" | "get_language_settings" | "update_language_settings" | "get_vacation_settings" | "update_vacation_settings" | "get_auto_forwarding" | "list_forwarding_addresses" | "settings_get_imap" | "settings_get_pop" | "stop_watch" | "update_imap_settings" | "update_pop_settings";
557
562
  godial: "list_accounts" | "list_lists" | "list_contacts_in_list" | "get_contact" | "create_contact";
558
563
  gong: "list_users" | "get_user" | "list_calls" | "get_call" | "get_call_transcripts" | "list_call_outcomes";
559
564
  goody: "get_current_user" | "list_products" | "get_product" | "list_orders" | "get_order" | "list_payment_methods" | "list_workspaces";
@@ -665,7 +670,7 @@ export interface ProviderActionNames {
665
670
  interzoid: "get_company_match_key" | "get_full_name_match_key" | "get_full_name_match_score" | "standardize_organization_name" | "get_email_info" | "get_ip_profile" | "get_remaining_credits";
666
671
  intrinio: "search_companies" | "lookup_company" | "lookup_security" | "get_security_stock_prices";
667
672
  intuiface: "list_available_experiences" | "send_message";
668
- investoday_mcp: "search" | "get_stock_basic_info" | "get_stock_quote_realtime" | "list_stock_adjusted_quotes" | "get_stock_val_indicators" | "list_report_research" | "search_announcements" | "get_market_change_ratio_status" | "list_tools" | "call_tool";
673
+ investoday_mcp: "generate_chart" | "generate_nex_chart" | "list_bonds_basic" | "list_cb_basic" | "list_bonds_coupons" | "list_bonds_ratings" | "list_bonds_yield_curve" | "list_cb_daily" | "list_cb_plans" | "list_cb_valuation" | "get_chain_bond_issuers" | "list_chain_com_main_pro" | "get_chain_industry_info" | "list_chain_pro_ind_maps" | "get_chain_pro_relation" | "get_chain_product_info" | "get_chain_sec_basic_info" | "list_futures_kline_minute" | "get_fund_manager_basic_info" | "list_fund_adj_navs" | "list_fund_adj_quotes" | "list_fund_all" | "get_fund_award_records" | "get_fund_basic_info" | "get_fund_categories" | "get_fund_code_assoc" | "list_currency_yield_history" | "list_fund_daily_quotes" | "list_fund_dividend_distributions" | "list_etf_constituent_stks" | "list_etf_sub_red_lists" | "list_fund_fee_structures" | "list_fund_fin_inds" | "list_fund_fin_inds_q" | "list_fund_hold_industry" | "list_fund_hold_structures" | "list_industry_hold_fund" | "list_fund_invest_targets" | "get_fund_listings_record" | "list_fund_nav_history" | "list_perf_benchmark_quote" | "list_fund_perf_benchmarks" | "list_fund_portfolio_asset_holdings" | "list_fund_portfolio_bond_holdings" | "list_portfolio_fund_holdings" | "list_fund_portfolio_stock_holdings" | "list_fund_return_rate" | "list_fund_shares" | "list_subscription_redemption_status" | "list_fund_share_splits" | "get_fund_company_evals" | "list_fund_mgr_hist_per" | "list_fund_mgr_returns" | "list_fund_mgr_perf" | "list_concept_hold_fund" | "list_concept_hold_fund_batch" | "list_fund_current_manager_returns" | "get_fund_peer_avg_metric" | "list_fund_flow" | "list_fund_holdings_perf" | "list_fund_idx_ret_corr" | "list_industry_hold_fund_batch" | "list_fund_margin_trade" | "list_fund_oscillator_indicators" | "get_fund_performance_attribution" | "list_fund_price_volume_indicators" | "list_fund_strength_trend_indicators" | "list_fund_tech_indicators" | "list_fund_announcements" | "list_hk_stock_dividends" | "list_hk_stock_adjusted_quotes" | "list_hk_stock_balance_sheet" | "get_hk_stock_basic_info" | "list_hk_stock_capital_changes" | "list_hk_stock_cash_flows" | "list_hk_stock_income_statements" | "get_hk_stock_name_change" | "list_hk_stock_oscillator_indicators" | "list_hk_stock_price_volume_indicators" | "get_hk_stock_range_change" | "list_hk_stock_strength_trend_indicators" | "get_hk_stock_transfers" | "get_hk_stock_turnrate" | "get_hk_stock_valuations" | "list_concepts" | "get_index_basic_info" | "list_index_quote_barch" | "list_index_sample" | "list_industries" | "list_industry_quote" | "list_concept_etf_mapping" | "list_index_finance" | "list_idx_idu_exposure" | "list_index_oscillator_indicators" | "list_index_price_volume_indicators" | "get_index_range_gains" | "list_index_strength_trend_indicators" | "list_index_technical_indicators" | "get_index_valuation" | "list_idu_concept_mappings" | "list_industry_etf_mapping" | "list_industry_excess_alph" | "list__idu_fin_ind_sol_avg" | "list_industry_fin_ttm" | "get_industry_financial_overview" | "list_industry_forecasts" | "get_industry_market_stats" | "list_industry_pros_idx" | "list_industry_prosperity_index" | "list_industry_rotation" | "list_idu_turnover_rates" | "list_industry_val_ind" | "get_concept_realtime_quote" | "list_concept_real_quote" | "get_concept_stock_realtime_quote" | "get_index_realtime_quotes" | "list_economic_cn_cpi" | "list_economic_cn_ppi" | "list_gover_bond_yield" | "list_money_market_repo_in" | "list_money_supplies" | "list_social_financing_sto" | "list_macro_equity_val" | "list_macro_exch_rates" | "list_macro_fiscal_exp" | "list_macro_fixed_asset" | "list_macro_goods_trade" | "list_macro_re_invest" | "list_macro_retail_area" | "list_macro_rmb_credit" | "list_macro_soc_fin" | "list_macro_spot_quotes" | "is_trade_date" | "get_trade_special_date" | "get_cn_trade_calender_list" | "search" | "get_market_change_ratio_status" | "get_fund_quote_realtime" | "get_industry_realtime_quote" | "list_ind_real_quote_v2" | "get_industry_stock_realtime_quote" | "get_stk_unwind_sig_stat" | "list_stk_unwind_signal_de" | "list_report_institutions" | "search_announcements" | "list_announcements" | "get_announcement_content" | "list_news" | "list_entity_related_news" | "get_report_earnings_forecast_rating" | "list_report_research" | "list_report_stock_forecast_ratings" | "list_report_vector-search" | "list_research_sentiment" | "entity_recognition" | "list_stock_absorption_mergers" | "list_stock_adjusted_quotes" | "list_stock_share_adj_factors" | "list_stock_all" | "list_stock_balance_sheet" | "list_stk_balan_sheet_pit" | "get_stock_basic_info" | "list_stock_capital_changes" | "list_stock_cash_flows" | "list_stock_cash_flows_pit" | "get_company_profiles" | "list_stock_core_mgmt_changes" | "list_stocks_dividends" | "list_stock_earnings_bulletins" | "list_stock_executive_shareholding_change" | "get_stock_former_names" | "list_stock_freeze_details" | "list_stock_holder_cnt" | "list_stock_income_statements" | "list_stk_income_state_pit" | "get_stock_industries" | "list_stock_institutional_holdings_stats" | "list_stock_major_contracts" | "get_stock_margin_securities" | "list_stock_management_dirs" | "list_stock_offerings" | "list_stock_pledge_details" | "list_stocks_public_offering_place" | "list_stock_related_transactions" | "list_stock_report_schema" | "list_stock_repurchase_plans" | "list_stocks_rights_issue_res" | "get_stock_rights_issues" | "list_stock_special_notices" | "list_stock_tender_offers" | "list_stock_top10_circulating_shareh" | "list_stock_unadjusted_quotes" | "list_stock_audit_opinion" | "list_stock_balance_sheet_q" | "list_stk_balance_sht_ttm" | "list_stock_block_trades" | "list_stock_cash_flows_q" | "list_stock_cash_flows_ttm" | "list_stock_concept_classifications" | "list_stock_daily_fund_flows" | "list_stk_dragon_tiger_broke_details" | "list_stock_dragon_tiger_details" | "list_stk_dupont_analysis" | "list_stock_fin_derivative_inds" | "list_stock_fin_derivative_inds_q" | "list_stock_fin_derivative_inds_ttm" | "list_stk_fin_ind_sw_rnk_q" | "list_fin_ind_cash_coll_q" | "list_fin_ind_operating_q" | "list_fin_ind_profit_q" | "list_fin_ind_profit_ttm" | "list_fin_ind_solvency_q" | "list_fin_ind_solvency_ttm" | "get_stock_finance_strength" | "get_fin_health_history" | "get_stock_finance_growth_ability" | "get_stock_finance_growth_ability_hist" | "get_stock_finance_industry_compare" | "get_stock_finance_profit_ability" | "get_stock_finance_profit_ability_hist" | "get_stock_finance_valuation" | "get_stock_finance_valuation_hist" | "list_fin_ind_cash_collect" | "list_stock_fin_ind_grow_q" | "list_stock_fin_ind_growth" | "list_fin_ind_operating" | "list_fin_ind_profit" | "list_fin_ind_solvency" | "get_stock_financial_strength_ext_hist" | "get_stock_fin_subitem_score" | "list_stock_growth_op_revs" | "list_stock_income_statement_q" | "list_stock_income_statement_ttm" | "list_stock_limit_up_down" | "list_stock_major_sup_cust" | "get_stock_margin_requirement" | "list_stock_margin_trade" | "list_stock_margin_trade_totals" | "list_stock_oscillator_indicators" | "list_per_share_indicators" | "list_per_share_indicators_q" | "list_stock_performance_metrics" | "list_stock_price_volume_indicators" | "list_soctk_strength_trend_indicators" | "list_stock_strength_trend_indicators" | "get_stk_sw_idu_returns" | "list_stock_turnover_rates" | "list_stock_up_down_list" | "get_stock_val_indicators" | "list_stock_vol_indicators" | "get_stock_realtime_fund_flow" | "get_stock_quote_realtime" | "get_stock_quote_rt_ext" | "get_stock_realtime_quote_merge" | "list_stock_arbitration_cases" | "list_stk_consultations" | "list_stock_inst_research" | "list_stock_op_reviews" | "list_stock_violation_penalt" | "get_stock_business_themes" | "list_stock_dcf_result" | "list_stock_esg_rating" | "list_stock_fund_flow_s" | "get_stk_fundamentals" | "get_stk_investment_risks" | "list_stock_market_ind_dm" | "list_stock_price_pattern" | "get_stock_prospects" | "get_stock_score" | "list_stk_tech_signals" | "list_stk_trend_structure" | "list_stock_val_factors" | "list_stock_volume_price" | "list_tools" | "call_tool";
669
674
  invoice_ninja: "list_clients" | "get_client" | "create_client" | "update_client" | "list_invoices" | "get_invoice" | "create_invoice" | "update_invoice" | "list_payments" | "get_payment" | "create_payment";
670
675
  ip2location: "get_ip_geolocation" | "get_domain_whois" | "list_hosted_domains";
671
676
  ip2proxy: "lookup_ip";
@@ -680,6 +685,7 @@ export interface ProviderActionNames {
680
685
  iqair_airvisual: "list_supported_countries" | "list_supported_states" | "list_supported_cities" | "get_nearest_city" | "get_city_data";
681
686
  it_glue: "list_organizations" | "get_organization" | "list_users" | "get_user" | "list_configurations" | "get_configuration" | "list_contacts" | "get_contact";
682
687
  itunes_search: "search_store" | "lookup_store";
688
+ ixspy: "get_category_resource" | "list_category_children" | "search_categories" | "search_products" | "get_product_details" | "search_stores" | "get_store_details" | "get_product_sku_sales" | "get_product_shipping_stats" | "get_product_region_sales" | "get_product_trends" | "get_store_category_distribution" | "get_store_region_sales" | "get_store_trends" | "get_product_rank" | "get_region_product_rank" | "get_store_rank" | "get_keyword_rank" | "list_rank_dates" | "research_categories" | "get_market_insights";
683
689
  iyunbiao: "list_templates" | "get_template_structure" | "query_forms" | "get_form" | "save_form" | "batch_save_forms" | "query_detail_rows" | "query_template_interface" | "query_global_interface" | "upload_attachment" | "download_attachment" | "list_users" | "get_user" | "save_user" | "list_roles" | "get_role" | "save_role" | "upload_cloud_file" | "download_cloud_file";
684
690
  jamie: "list_meetings" | "get_meeting" | "list_tasks" | "search_meetings" | "list_tags";
685
691
  jazzhr: "list_jobs" | "get_job" | "list_applicants" | "get_applicant" | "list_users" | "get_user";
@@ -963,6 +969,7 @@ export interface ProviderActionNames {
963
969
  orimon: "send_message";
964
970
  ortto: "list_people" | "get_people_by_ids" | "merge_people";
965
971
  ossinsight: "list_collections" | "list_hot_collections" | "list_collection_repos" | "rank_collection_repos_by_stars" | "rank_collection_repos_by_pull_requests" | "rank_collection_repos_by_issues" | "list_trending_repos" | "list_issue_creators" | "list_issue_creator_countries" | "list_issue_creator_organizations" | "get_issue_creators_history" | "list_pull_request_creators" | "list_pull_request_creator_countries" | "list_pull_request_creator_organizations" | "get_pull_request_creators_history" | "list_stargazer_countries" | "list_stargazer_organizations" | "get_stargazers_history";
972
+ osv: "query_vulnerabilities" | "get_vulnerability";
966
973
  otter_ai: "get_workspace" | "list_channels" | "list_channel_members" | "list_conversations" | "get_conversation" | "get_conversation_audio";
967
974
  oura: "get_personal_info" | "list_daily_activity" | "get_daily_activity" | "list_daily_cardiovascular_age" | "get_daily_cardiovascular_age" | "list_daily_readiness" | "get_daily_readiness" | "list_daily_resilience" | "get_daily_resilience" | "list_daily_sleep" | "get_daily_sleep" | "list_daily_spo2" | "get_daily_spo2" | "list_daily_stress" | "get_daily_stress" | "list_enhanced_tag" | "get_enhanced_tag" | "list_heartrate" | "list_rest_mode_period" | "get_rest_mode_period" | "list_ring_battery_level" | "list_ring_configuration" | "get_ring_configuration" | "list_session" | "get_session" | "list_sleep" | "get_sleep" | "list_sleep_time" | "get_sleep_time" | "list_tag" | "get_tag" | "list_vo2_max" | "get_vo2_max" | "list_workout" | "get_workout";
968
975
  outline: "list_collections" | "get_collection" | "list_collection_documents" | "list_documents" | "search_documents" | "get_document";
@@ -995,6 +1002,7 @@ export interface ProviderActionNames {
995
1002
  paystack: "create_customer" | "list_customers" | "get_customer" | "update_customer" | "initialize_transaction" | "list_transactions" | "get_transaction" | "verify_transaction";
996
1003
  pdf_api_io: "list_templates" | "get_template" | "render_pdf";
997
1004
  pdf_co: "get_account_balance" | "html_to_pdf" | "url_to_pdf" | "get_pdf_info" | "merge_pdfs" | "split_pdf" | "compress_pdf" | "pdf_to_text";
1005
+ pdf_vector: "parse_document" | "ask_document" | "extract_document";
998
1006
  pdfless: "get_workspace" | "list_document_templates";
999
1007
  pdfmonkey: "get_current_user" | "create_document" | "get_document_card" | "list_document_cards" | "get_document" | "list_document_template_cards" | "get_document_template";
1000
1008
  peec: "list_projects" | "get_brands_report" | "get_domains_report" | "get_urls_report";
@@ -1067,6 +1075,7 @@ export interface ProviderActionNames {
1067
1075
  proxiedmail: "list_proxy_bindings" | "create_proxy_binding" | "update_proxy_binding" | "list_received_email_links" | "get_received_email";
1068
1076
  prtg_classic: "list_sensors" | "list_devices";
1069
1077
  pubmed: "search_articles" | "match_citation" | "get_article" | "get_articles" | "find_related_articles" | "get_citing_articles" | "get_article_references" | "convert_article_ids";
1078
+ pulsetic: "list_monitors" | "get_monitor" | "list_monitor_snapshots" | "list_monitor_checks" | "list_monitor_events" | "get_monitor_stats" | "get_monitor_downtime";
1070
1079
  push_by_techulus: "send_notification" | "send_group_notification";
1071
1080
  pushbullet: "get_current_user" | "list_devices" | "create_device" | "update_device" | "delete_device" | "list_pushes" | "create_push" | "update_push" | "delete_push" | "delete_all_pushes" | "list_chats" | "create_chat" | "update_chat" | "delete_chat";
1072
1081
  pushover: "send_message" | "validate_user_or_group" | "get_app_limits" | "get_app_token" | "get_team_api_token" | "store_team_api_token" | "get_app_icon_image" | "get_receipt_status" | "cancel_receipt_retries" | "cancel_retries_by_tag" | "update_glances" | "create_group" | "list_groups" | "get_group" | "add_group_user" | "remove_group_user" | "disable_group_user" | "enable_group_user" | "rename_group" | "assign_license" | "check_license_credits" | "subscription_flow" | "add_team_user" | "remove_team_user" | "client_login" | "register_client_device" | "fetch_client_messages" | "ack_delete_messages_up_to_id" | "listen_client_websocket";
@@ -1206,6 +1215,7 @@ export interface ProviderActionNames {
1206
1215
  shipengine: "validate_addresses" | "parse_address" | "list_carriers" | "get_rate" | "calculate_rates" | "estimate_rates";
1207
1216
  shippo: "list_addresses" | "create_address" | "get_address" | "validate_address" | "list_parcels" | "create_parcel" | "get_parcel" | "get_tracking_status";
1208
1217
  shodan: "get_api_info" | "search_hosts" | "count_search_results" | "get_host" | "get_domain_info" | "resolve_hostnames" | "reverse_dns_lookup";
1218
+ shopee: "get_merchant_info" | "list_global_categories" | "get_global_attribute_tree" | "list_global_brands" | "upload_product_image" | "create_global_item" | "list_merchant_shops" | "get_shop_info" | "list_global_items" | "get_global_items" | "list_shop_items" | "get_shop_items" | "get_item_models" | "update_item_prices" | "update_item_stocks" | "list_orders" | "get_orders" | "get_shipping_parameters" | "ship_order" | "get_tracking_number" | "get_tracking_info" | "list_returns" | "get_return" | "get_order_escrow";
1209
1219
  shopify: "get_shop" | "list_blogs" | "get_blog" | "count_blogs" | "list_pages" | "get_page" | "count_pages" | "list_articles" | "get_article" | "count_articles" | "list_article_tags" | "list_blog_article_tags" | "list_article_authors";
1210
1220
  shopify_admin: "get_shop" | "list_products" | "get_product" | "list_product_variants" | "list_order_fulfillment_orders" | "get_fulfillment_order" | "list_orders" | "get_order" | "list_customers" | "get_customer" | "list_inventory_items" | "get_inventory_item" | "get_inventory_quantities" | "list_locations" | "get_location" | "list_collections" | "get_collection" | "create_product" | "update_product" | "adjust_inventory_quantities" | "set_inventory_quantities" | "create_fulfillment" | "submit_bulk_query" | "get_bulk_operation" | "download_bulk_result" | "execute_graphql";
1211
1221
  shopify_partner: "get_app" | "list_app_events" | "list_partner_events" | "list_transactions" | "execute_graphql";
@@ -1232,8 +1242,8 @@ export interface ProviderActionNames {
1232
1242
  skyfire: "get_all_services" | "get_service" | "get_services_by_agent" | "create_token";
1233
1243
  skyvern: "run_task" | "get_run" | "list_runs" | "cancel_run";
1234
1244
  slab: "get_organization" | "list_users" | "get_user" | "get_post" | "get_posts" | "create_post" | "update_post" | "sync_post" | "delete_post" | "get_topic" | "get_topics" | "create_topic" | "update_topic" | "delete_topic" | "add_topic_to_post" | "remove_topic_from_post" | "search";
1235
- slack: "get_current_user" | "list_channels" | "get_channel_messages" | "conversations_members" | "search_messages" | "search_context" | "post_message" | "reply_message" | "get_thread" | "list_conversations" | "get_conversation" | "open_conversation" | "list_users" | "get_user" | "post_ephemeral_message" | "get_message_permalink" | "update_message" | "delete_message" | "schedule_message" | "add_reaction" | "remove_reaction" | "get_reactions" | "upload_file" | "list_files" | "get_file" | "delete_file";
1236
- slackbot: "list_channels" | "get_channel_messages" | "conversations_members" | "post_message" | "reply_message" | "get_thread" | "list_conversations" | "get_conversation" | "open_conversation" | "list_users" | "get_user" | "post_ephemeral_message" | "get_message_permalink" | "update_message" | "delete_message" | "schedule_message" | "add_reaction" | "remove_reaction" | "get_reactions" | "upload_file" | "list_files" | "get_file" | "delete_file";
1245
+ slack: "get_current_user" | "list_channels" | "get_channel_messages" | "conversations_members" | "search_messages" | "search_context" | "post_message" | "reply_message" | "get_thread" | "list_conversations" | "get_conversation" | "open_conversation" | "list_users" | "get_user" | "post_ephemeral_message" | "get_message_permalink" | "update_message" | "delete_message" | "schedule_message" | "add_reaction" | "remove_reaction" | "get_reactions" | "upload_file" | "list_files" | "get_file" | "download_file" | "delete_file";
1246
+ slackbot: "list_channels" | "get_channel_messages" | "conversations_members" | "post_message" | "reply_message" | "get_thread" | "list_conversations" | "get_conversation" | "open_conversation" | "list_users" | "get_user" | "post_ephemeral_message" | "get_message_permalink" | "update_message" | "delete_message" | "schedule_message" | "add_reaction" | "remove_reaction" | "get_reactions" | "upload_file" | "list_files" | "get_file" | "download_file" | "delete_file";
1237
1247
  slickdeals: "list_articles" | "list_brands" | "list_categories" | "list_coupons" | "list_deals" | "list_stores" | "list_types";
1238
1248
  slicktext: "get_brand" | "list_contacts" | "get_contact" | "create_contact" | "update_contact" | "delete_contact";
1239
1249
  sling: "get_current_session" | "list_users" | "get_user" | "list_groups" | "get_group" | "list_calendar_events" | "get_shift" | "get_detailed_shift" | "list_shift_coworkers" | "get_current_shift" | "get_next_shift" | "list_working_users" | "list_tasks" | "get_task";
@@ -1254,6 +1264,7 @@ export interface ProviderActionNames {
1254
1264
  sonarcloud: "list_projects" | "search_issues" | "get_component_measures";
1255
1265
  sorftime: "get_product_details" | "search_products_by_name" | "search_categories_by_name" | "get_category_best_sellers" | "get_category_trend" | "get_keyword_details" | "extend_keywords" | "reverse_lookup_asin_keywords" | "get_credit_balance" | "list_credit_usage" | "get_request_usage" | "search_products" | "get_asin_sales_history" | "get_product_variations" | "get_product_review_summary" | "list_product_reviews" | "list_category_products" | "search_keywords" | "get_keyword_search_results" | "get_keyword_search_result_trend" | "reverse_lookup_category_keywords" | "get_keyword_product_rankings" | "get_asin_keyword_rankings" | "get_walmart_category_report" | "get_walmart_product_details" | "get_walmart_product_trend" | "get_walmart_product_sales_history" | "search_walmart_keywords" | "search_walmart_keywords_by_name" | "get_walmart_keyword_search_results" | "get_walmart_keyword_details" | "reverse_lookup_walmart_product_keywords" | "extend_walmart_keywords";
1256
1266
  sorftime_mcp: "list_tools" | "call_tool" | "ali1688_search_products" | "ali1688_get_product" | "ali1688_list_categories" | "amazon_search_products" | "amazon_get_product" | "amazon_get_product_trend" | "amazon_list_categories" | "amazon_get_category_report" | "amazon_list_keywords" | "amazon_get_keyword" | "amazon_find_related_keywords" | "walmart_search_products" | "walmart_get_product" | "walmart_get_product_trend" | "walmart_list_categories" | "walmart_get_category_report" | "walmart_list_keywords" | "walmart_get_keyword" | "walmart_find_related_keywords" | "shopee_search_products" | "shopee_get_product" | "shopee_get_product_trend" | "shopee_list_categories" | "shopee_list_category_products" | "shopee_list_keywords" | "tiktok_search_products" | "tiktok_get_product" | "tiktok_get_product_trend" | "tiktok_list_categories" | "tiktok_get_category_report" | "temu_search_products" | "temu_get_product" | "temu_get_product_trend" | "temu_list_categories" | "temu_list_category_products";
1267
+ speak_ai: "upload_media" | "list_media" | "get_media_status" | "get_transcript" | "get_media_insights" | "list_folders";
1257
1268
  speechmatics: "submit_transcription" | "get_transcription_job" | "get_transcript" | "get_service_capabilities" | "list_deployments";
1258
1269
  speedtest_tracker: "list_results" | "get_result" | "get_latest_result" | "run_speedtest" | "get_stats" | "list_servers" | "check_health";
1259
1270
  spider: "get_credits" | "scrape" | "search" | "get_links";
@@ -1540,6 +1551,7 @@ export interface ProviderActionNames {
1540
1551
  zoom: "get_user" | "list_meetings" | "create_meeting" | "update_meeting";
1541
1552
  zorus: "search_customers" | "search_endpoints" | "search_groups" | "search_policies" | "search_active_unblock_requests";
1542
1553
  zotero: "list_groups" | "list_collections" | "get_collection" | "create_collection" | "update_collection" | "delete_collection" | "list_items" | "get_item" | "create_item" | "update_item" | "delete_item";
1554
+ zyhub: "search_symbols" | "get_stock_quote" | "get_daily_kline" | "get_company_profile" | "get_forex_quote" | "search_news" | "get_intraday_kline" | "list_financial_report_dates" | "get_financial_report" | "get_revenue_composition" | "get_valuation_history" | "get_major_events" | "get_margin_trading" | "get_block_trades" | "list_stock_connect_holdings" | "get_stock_industry" | "list_sector_rankings" | "get_sector_constituents" | "list_strong_sectors" | "list_limit_up_stocks" | "list_consecutive_limit_up_stocks" | "list_hot_stocks" | "get_batch_forex_quotes" | "get_futures_quote" | "search_stock_news" | "search_flash_news" | "list_flash_news" | "get_news_article" | "get_fund_profile" | "get_fund_net_values" | "get_fund_returns" | "get_fund_metrics" | "get_fund_stock_holdings" | "get_fund_industry_allocation" | "get_fund_asset_allocation" | "get_fund_manager";
1543
1555
  zylvie: "get_current_user" | "create_product" | "update_product" | "delete_product" | "create_coupon" | "update_coupon" | "delete_coupon" | "list_coupons" | "verify_license_key" | "redeem_license_key" | "refund_license_key" | "verify_subscriptions";
1544
1556
  zyte_api: "fetch_browser_html" | "extract_product" | "extract_article" | "extract_page_content";
1545
1557
  }
@@ -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;
@@ -0,0 +1,176 @@
1
+ import { optionalRecord, optionalString } from "../../core/cast.js";
2
+ import { defineApiKeyProviderExecutors, defineProviderProxy, providerInputError, ProviderRequestError, providerResponseError, providerUserAgent, readProviderJsonBody, runProviderRequest, } from "../provider-runtime.js";
3
+ const service = "aisa";
4
+ const apiOrigin = "https://api.aisa.one";
5
+ const routes = {
6
+ get_credits_balance: { path: "/v1/credits/balance", query: {} },
7
+ get_usage: { path: "/v1/usage", query: { startTimestamp: "start_time", endTimestamp: "end_time" } },
8
+ get_kalshi_markets: {
9
+ path: "/apis/v1/kalshi/markets",
10
+ query: {
11
+ tickers: "tickers",
12
+ eventTicker: "event_ticker",
13
+ seriesTicker: "series_ticker",
14
+ search: "search",
15
+ status: "status",
16
+ limit: "limit",
17
+ cursor: "cursor",
18
+ minCreatedTimestamp: "min_created_ts",
19
+ maxCreatedTimestamp: "max_created_ts",
20
+ minUpdatedTimestamp: "min_updated_ts",
21
+ minCloseTimestamp: "min_close_ts",
22
+ maxCloseTimestamp: "max_close_ts",
23
+ minSettledTimestamp: "min_settled_ts",
24
+ maxSettledTimestamp: "max_settled_ts",
25
+ multivariateEventFilter: "mve_filter",
26
+ },
27
+ },
28
+ get_kalshi_trades: {
29
+ path: "/apis/v1/kalshi/trades",
30
+ query: {
31
+ limit: "limit",
32
+ cursor: "cursor",
33
+ ticker: "ticker",
34
+ minTimestamp: "min_ts",
35
+ maxTimestamp: "max_ts",
36
+ isBlockTrade: "is_block_trade",
37
+ },
38
+ },
39
+ get_polymarket_markets: {
40
+ path: "/apis/v1/polymarket/markets",
41
+ query: {
42
+ limit: "limit",
43
+ offset: "offset",
44
+ order: "order",
45
+ ascending: "ascending",
46
+ ids: "id",
47
+ slugs: "slug",
48
+ clobTokenIds: "clob_token_ids",
49
+ conditionIds: "condition_ids",
50
+ minVolume: "volume_num_min",
51
+ maxVolume: "volume_num_max",
52
+ minStartDate: "start_date_min",
53
+ maxStartDate: "start_date_max",
54
+ minEndDate: "end_date_min",
55
+ maxEndDate: "end_date_max",
56
+ tagId: "tag_id",
57
+ closed: "closed",
58
+ includeTag: "include_tag",
59
+ },
60
+ },
61
+ get_polymarket_events: {
62
+ path: "/apis/v1/polymarket/events",
63
+ query: {
64
+ limit: "limit",
65
+ offset: "offset",
66
+ order: "order",
67
+ ascending: "ascending",
68
+ ids: "id",
69
+ slugs: "slug",
70
+ tagId: "tag_id",
71
+ tagSlug: "tag_slug",
72
+ active: "active",
73
+ archived: "archived",
74
+ featured: "featured",
75
+ closed: "closed",
76
+ minLiquidity: "liquidity_min",
77
+ maxLiquidity: "liquidity_max",
78
+ minVolume: "volume_min",
79
+ maxVolume: "volume_max",
80
+ minStartDate: "start_date_min",
81
+ maxStartDate: "start_date_max",
82
+ minEndDate: "end_date_min",
83
+ maxEndDate: "end_date_max",
84
+ },
85
+ },
86
+ get_polymarket_activity: {
87
+ path: "/apis/v1/polymarket/activity",
88
+ query: {
89
+ user: "user",
90
+ startTimestamp: "start_time",
91
+ endTimestamp: "end_time",
92
+ marketSlug: "market_slug",
93
+ conditionId: "condition_id",
94
+ limit: "limit",
95
+ paginationKey: "pagination_key",
96
+ },
97
+ },
98
+ };
99
+ const handlers = Object.fromEntries(Object.entries(routes).map(([name, route]) => [
100
+ name,
101
+ (input, context) => requestJson(route.path, buildQuery(input, route.query), context, "execute"),
102
+ ]));
103
+ export const executors = defineApiKeyProviderExecutors(service, handlers, {
104
+ skipDnsValidation: true,
105
+ });
106
+ export const proxy = defineProviderProxy({
107
+ service,
108
+ baseUrl: apiOrigin,
109
+ auth: { type: "bearer" },
110
+ skipDnsValidation: true,
111
+ });
112
+ export const credentialValidators = {
113
+ async apiKey(input, { fetcher, signal }) {
114
+ const payload = await requestJson("/v1/credits/balance", new URLSearchParams(), { apiKey: input.apiKey, fetcher, signal }, "validate");
115
+ if (!optionalRecord(payload))
116
+ throw providerResponseError("AIsa balance response must be an object");
117
+ return {
118
+ profile: { accountId: "aisa-api-key", displayName: "AIsa API Key" },
119
+ grantedScopes: [],
120
+ metadata: { apiOrigin },
121
+ };
122
+ },
123
+ };
124
+ function buildQuery(input, mapping) {
125
+ const query = new URLSearchParams();
126
+ for (const [inputName, queryName] of Object.entries(mapping)) {
127
+ const value = input[inputName];
128
+ if (value == null)
129
+ continue;
130
+ if (Array.isArray(value))
131
+ for (const item of value)
132
+ query.append(queryName, String(item));
133
+ else
134
+ query.set(queryName, String(value));
135
+ }
136
+ return query;
137
+ }
138
+ async function requestJson(path, query, context, phase) {
139
+ return runProviderRequest({ signal: context.signal, label: "AIsa" }, async (signal) => {
140
+ const url = new URL(path, apiOrigin);
141
+ url.search = query.toString();
142
+ const response = await context.fetcher(url, {
143
+ headers: {
144
+ accept: "application/json",
145
+ authorization: `Bearer ${context.apiKey}`,
146
+ "user-agent": providerUserAgent,
147
+ },
148
+ signal,
149
+ });
150
+ const payload = await readProviderJsonBody(response, {
151
+ emptyBody: null,
152
+ invalidJsonMessage: "AIsa returned invalid JSON",
153
+ });
154
+ if (!response.ok)
155
+ throw createError(response.status, payload, phase);
156
+ return payload;
157
+ });
158
+ }
159
+ function createError(status, payload, phase) {
160
+ const record = optionalRecord(payload);
161
+ const error = optionalRecord(record?.error);
162
+ const code = optionalString(error?.code);
163
+ const message = optionalString(error?.message) ?? optionalString(record?.message) ?? `AIsa request failed with status ${status}`;
164
+ if (status === 429)
165
+ return new ProviderRequestError(429, message, payload);
166
+ if (status === 402)
167
+ return new ProviderRequestError(402, message, payload);
168
+ if (isCredentialError(code))
169
+ return phase === "validate" ? providerInputError(message) : new ProviderRequestError(409, message, payload);
170
+ if ([400, 422].includes(status))
171
+ return providerInputError(message);
172
+ return new ProviderRequestError(status || 502, message, payload);
173
+ }
174
+ function isCredentialError(code) {
175
+ return code === "missing_api_key" || code === "invalid_api_key" || code === "revoked_api_key";
176
+ }
@@ -0,0 +1,3 @@
1
+ import type { ProviderActionHandlerSubset } from "../provider-runtime.ts";
2
+ import type { BilibiliActionHandler } from "./runtime.ts";
3
+ export declare const bilibiliArticleActionHandlers: ProviderActionHandlerSubset<"bilibili", BilibiliActionHandler>;