import { defineExecutorConfig } from "@executor-js/sdk";import type { ConfigFileSink } from "@executor-js/config";import { openApiHttpPlugin } from "@executor-js/plugin-openapi/api";import { mcpHttpPlugin } from "@executor-js/plugin-mcp/api";import { googleDiscoveryHttpPlugin } from "@executor-js/plugin-google-discovery/api";import { graphqlHttpPlugin } from "@executor-js/plugin-graphql/api";import { keychainPlugin } from "@executor-js/plugin-keychain";import { fileSecretsPlugin } from "@executor-js/plugin-file-secrets";import { onepasswordHttpPlugin } from "@executor-js/plugin-onepassword/api";// ---------------------------------------------------------------------------// Single source of truth for the local app's plugin list.//// Consumed by:// - the schema-gen CLI (reads `plugin.schema` only; calls `plugins({})`)// - the host runtime (calls `plugins({ configFile })` with a real sink)//// `TDeps` is inferred from the factory parameter annotation directly.// First-party and third-party plugins use the same import-and-call flow.// ---------------------------------------------------------------------------interface LocalPluginDeps { readonly configFile?: ConfigFileSink;}export default defineExecutorConfig({ dialect: "sqlite", plugins: ({ configFile }: LocalPluginDeps = {}) => [ openApiHttpPlugin({ configFile }), mcpHttpPlugin({ dangerouslyAllowStdioMCP: true, configFile }), googleDiscoveryHttpPlugin(), graphqlHttpPlugin({ configFile }), keychainPlugin(), fileSecretsPlugin(), onepasswordHttpPlugin(), ] as const,});
import { defineExecutorConfig } from "@executor-js/sdk";
import type { ConfigFileSink } from "@executor-js/config";
import { openApiHttpPlugin } from "@executor-js/plugin-openapi/api";
import { mcpHttpPlugin } from "@executor-js/plugin-mcp/api";
import { googleDiscoveryHttpPlugin } from "@executor-js/plugin-google-discovery/api";
import { graphqlHttpPlugin } from "@executor-js/plugin-graphql/api";
import { keychainPlugin } from "@executor-js/plugin-keychain";
import { fileSecretsPlugin } from "@executor-js/plugin-file-secrets";
import { onepasswordHttpPlugin } from "@executor-js/plugin-onepassword/api";
// ---------------------------------------------------------------------------
// Single source of truth for the local app's plugin list.
//
// Consumed by:
// - the schema-gen CLI (reads `plugin.schema` only; calls `plugins({})`)
// - the host runtime (calls `plugins({ configFile })` with a real sink)
//
// `TDeps` is inferred from the factory parameter annotation directly.
// First-party and third-party plugins use the same import-and-call flow.
// ---------------------------------------------------------------------------
interface LocalPluginDeps {
readonly configFile?: ConfigFileSink;
}
export default defineExecutorConfig({
dialect: "sqlite",
plugins: ({ configFile }: LocalPluginDeps = {}) =>
[
openApiHttpPlugin({ configFile }),
mcpHttpPlugin({ dangerouslyAllowStdioMCP: true, configFile }),
googleDiscoveryHttpPlugin(),
graphqlHttpPlugin({ configFile }),
keychainPlugin(),
fileSecretsPlugin(),
onepasswordHttpPlugin(),
] as const,
});