diff --git a/src/plugins/contracts/plugin-registration.anthropic.contract.test.ts b/src/plugins/contracts/plugin-registration.anthropic.contract.test.ts new file mode 100644 index 00000000000..59f39827e91 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.anthropic.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.anthropic); diff --git a/src/plugins/contracts/plugin-registration.brave.contract.test.ts b/src/plugins/contracts/plugin-registration.brave.contract.test.ts new file mode 100644 index 00000000000..fbce19063e6 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.brave.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.brave); diff --git a/src/plugins/contracts/plugin-registration.deepgram.contract.test.ts b/src/plugins/contracts/plugin-registration.deepgram.contract.test.ts new file mode 100644 index 00000000000..2381206afd9 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.deepgram.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.deepgram); diff --git a/src/plugins/contracts/plugin-registration.duckduckgo.contract.test.ts b/src/plugins/contracts/plugin-registration.duckduckgo.contract.test.ts new file mode 100644 index 00000000000..3dbcc0b05df --- /dev/null +++ b/src/plugins/contracts/plugin-registration.duckduckgo.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.duckduckgo); diff --git a/src/plugins/contracts/plugin-registration.elevenlabs.contract.test.ts b/src/plugins/contracts/plugin-registration.elevenlabs.contract.test.ts new file mode 100644 index 00000000000..0dd1c95737b --- /dev/null +++ b/src/plugins/contracts/plugin-registration.elevenlabs.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.elevenlabs); diff --git a/src/plugins/contracts/plugin-registration.exa.contract.test.ts b/src/plugins/contracts/plugin-registration.exa.contract.test.ts new file mode 100644 index 00000000000..6b720324603 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.exa.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.exa); diff --git a/src/plugins/contracts/plugin-registration.fal.contract.test.ts b/src/plugins/contracts/plugin-registration.fal.contract.test.ts new file mode 100644 index 00000000000..8f55c37eb07 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.fal.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.fal); diff --git a/src/plugins/contracts/plugin-registration.firecrawl.contract.test.ts b/src/plugins/contracts/plugin-registration.firecrawl.contract.test.ts new file mode 100644 index 00000000000..b48ea63c7b3 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.firecrawl.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.firecrawl); diff --git a/src/plugins/contracts/plugin-registration.google.contract.test.ts b/src/plugins/contracts/plugin-registration.google.contract.test.ts new file mode 100644 index 00000000000..02fc00124a3 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.google.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.google); diff --git a/src/plugins/contracts/plugin-registration.groq.contract.test.ts b/src/plugins/contracts/plugin-registration.groq.contract.test.ts new file mode 100644 index 00000000000..92662f35688 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.groq.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.groq); diff --git a/src/plugins/contracts/plugin-registration.microsoft.contract.test.ts b/src/plugins/contracts/plugin-registration.microsoft.contract.test.ts new file mode 100644 index 00000000000..325d11bcdb7 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.microsoft.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.microsoft); diff --git a/src/plugins/contracts/plugin-registration.minimax.contract.test.ts b/src/plugins/contracts/plugin-registration.minimax.contract.test.ts new file mode 100644 index 00000000000..4908c109c14 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.minimax.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.minimax); diff --git a/src/plugins/contracts/plugin-registration.mistral.contract.test.ts b/src/plugins/contracts/plugin-registration.mistral.contract.test.ts new file mode 100644 index 00000000000..43669c67593 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.mistral.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.mistral); diff --git a/src/plugins/contracts/plugin-registration.moonshot.contract.test.ts b/src/plugins/contracts/plugin-registration.moonshot.contract.test.ts new file mode 100644 index 00000000000..748b721e757 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.moonshot.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.moonshot); diff --git a/src/plugins/contracts/plugin-registration.openai.contract.test.ts b/src/plugins/contracts/plugin-registration.openai.contract.test.ts new file mode 100644 index 00000000000..88afb2e7883 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.openai.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.openai); diff --git a/src/plugins/contracts/plugin-registration.openrouter.contract.test.ts b/src/plugins/contracts/plugin-registration.openrouter.contract.test.ts new file mode 100644 index 00000000000..311763d4e47 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.openrouter.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.openrouter); diff --git a/src/plugins/contracts/plugin-registration.perplexity.contract.test.ts b/src/plugins/contracts/plugin-registration.perplexity.contract.test.ts new file mode 100644 index 00000000000..5eb2d816119 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.perplexity.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.perplexity); diff --git a/src/plugins/contracts/plugin-registration.tavily.contract.test.ts b/src/plugins/contracts/plugin-registration.tavily.contract.test.ts new file mode 100644 index 00000000000..3eb8981efa2 --- /dev/null +++ b/src/plugins/contracts/plugin-registration.tavily.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.tavily); diff --git a/src/plugins/contracts/plugin-registration.xai.contract.test.ts b/src/plugins/contracts/plugin-registration.xai.contract.test.ts new file mode 100644 index 00000000000..7ab504ea57a --- /dev/null +++ b/src/plugins/contracts/plugin-registration.xai.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.xai); diff --git a/src/plugins/contracts/plugin-registration.zai.contract.test.ts b/src/plugins/contracts/plugin-registration.zai.contract.test.ts new file mode 100644 index 00000000000..3450e901bdf --- /dev/null +++ b/src/plugins/contracts/plugin-registration.zai.contract.test.ts @@ -0,0 +1,4 @@ +import { pluginRegistrationContractCases } from "../../../test/helpers/plugins/plugin-registration-contract-cases.js"; +import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; + +describePluginRegistrationContract(pluginRegistrationContractCases.zai); diff --git a/src/plugins/contracts/plugin-registration.contract.test.ts b/test/helpers/plugins/plugin-registration-contract-cases.ts similarity index 87% rename from src/plugins/contracts/plugin-registration.contract.test.ts rename to test/helpers/plugins/plugin-registration-contract-cases.ts index bfd90eaef0d..07005c44cf7 100644 --- a/src/plugins/contracts/plugin-registration.contract.test.ts +++ b/test/helpers/plugins/plugin-registration-contract-cases.ts @@ -1,48 +1,48 @@ -import { describePluginRegistrationContract } from "../../../test/helpers/plugins/plugin-registration-contract.js"; +import { describePluginRegistrationContract } from "./plugin-registration-contract.js"; type PluginRegistrationContractParams = Parameters[0]; -const pluginRegistrationContractTests: PluginRegistrationContractParams[] = [ - { +export const pluginRegistrationContractCases = { + anthropic: { pluginId: "anthropic", providerIds: ["anthropic"], mediaUnderstandingProviderIds: ["anthropic"], cliBackendIds: ["claude-cli"], requireDescribeImages: true, }, - { + brave: { pluginId: "brave", webSearchProviderIds: ["brave"], }, - { + deepgram: { pluginId: "deepgram", mediaUnderstandingProviderIds: ["deepgram"], }, - { + duckduckgo: { pluginId: "duckduckgo", webSearchProviderIds: ["duckduckgo"], }, - { + elevenlabs: { pluginId: "elevenlabs", speechProviderIds: ["elevenlabs"], requireSpeechVoices: true, }, - { + exa: { pluginId: "exa", webSearchProviderIds: ["exa"], }, - { + fal: { pluginId: "fal", providerIds: ["fal"], imageGenerationProviderIds: ["fal"], }, - { + firecrawl: { pluginId: "firecrawl", webFetchProviderIds: ["firecrawl"], webSearchProviderIds: ["firecrawl"], toolNames: ["firecrawl_search", "firecrawl_scrape"], }, - { + google: { pluginId: "google", providerIds: ["google", "google-gemini-cli"], webSearchProviderIds: ["gemini"], @@ -52,16 +52,16 @@ const pluginRegistrationContractTests: PluginRegistrationContractParams[] = [ requireDescribeImages: true, requireGenerateImage: true, }, - { + groq: { pluginId: "groq", mediaUnderstandingProviderIds: ["groq"], }, - { + microsoft: { pluginId: "microsoft", speechProviderIds: ["microsoft"], requireSpeechVoices: true, }, - { + minimax: { pluginId: "minimax", providerIds: ["minimax", "minimax-portal"], mediaUnderstandingProviderIds: ["minimax", "minimax-portal"], @@ -69,11 +69,11 @@ const pluginRegistrationContractTests: PluginRegistrationContractParams[] = [ requireDescribeImages: true, requireGenerateImage: true, }, - { + mistral: { pluginId: "mistral", mediaUnderstandingProviderIds: ["mistral"], }, - { + moonshot: { pluginId: "moonshot", providerIds: ["moonshot"], webSearchProviderIds: ["kimi"], @@ -88,7 +88,7 @@ const pluginRegistrationContractTests: PluginRegistrationContractParams[] = [ groupHint: "Kimi K2.5", }, }, - { + openai: { pluginId: "openai", providerIds: ["openai", "openai-codex"], speechProviderIds: ["openai"], @@ -99,33 +99,29 @@ const pluginRegistrationContractTests: PluginRegistrationContractParams[] = [ requireDescribeImages: true, requireGenerateImage: true, }, - { + openrouter: { pluginId: "openrouter", providerIds: ["openrouter"], mediaUnderstandingProviderIds: ["openrouter"], requireDescribeImages: true, }, - { + perplexity: { pluginId: "perplexity", webSearchProviderIds: ["perplexity"], }, - { + tavily: { pluginId: "tavily", webSearchProviderIds: ["tavily"], toolNames: ["tavily_search", "tavily_extract"], }, - { + xai: { pluginId: "xai", providerIds: ["xai"], webSearchProviderIds: ["grok"], }, - { + zai: { pluginId: "zai", mediaUnderstandingProviderIds: ["zai"], requireDescribeImages: true, }, -]; - -for (const params of pluginRegistrationContractTests) { - describePluginRegistrationContract(params); -} +} satisfies Record;