{"version":3,"sources":["../src/index.ts"],"names":["createGraphQLClient"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * @mercnet/windmill - Windmill integration adapter for MercNet GraphQL API\n *\n * This package provides a simplified interface for Windmill workflows to interact\n * with the MercNet GraphQL API through a pre-configured client.\n */\n\nimport {\n  createGraphQLClient,\n  type MercNetGraphQLClient,\n  type GraphQLClientConfig,\n  type Market\n} from '@mercnet/core'\n\n/**\n * Configuration options for the Windmill MercNet client\n */\nexport interface WindmillClientConfig {\n  /** GraphQL endpoint URL */\n  endpoint: string\n  /** Authentication token for API access */\n  token?: string\n  /** Additional headers to include in requests */\n  headers?: Record<string, string>\n  /** Number of retry attempts for failed requests */\n  retries?: number\n  /** Enable debug logging */\n  debug?: boolean\n}\n\n/**\n * Default configuration values\n */\nconst DEFAULT_WINDMILL_CONFIG: Partial<WindmillClientConfig> = {\n  retries: 3,\n  debug: false\n}\n\n/**\n * Creates a pre-configured MercNet GraphQL client for use in Windmill workflows\n *\n * @param config - Configuration options for the client\n * @returns Configured MercNetGraphQLClient instance\n *\n * @example\n * ```typescript\n * // Basic usage\n * const client = createClient({\n *   endpoint: 'https://graphql.rocketeer.trade/',\n *   token: 'your-auth-token'\n * })\n *\n * // Get all markets\n * const markets = await client.getAllMarkets()\n *\n * // Get specific market\n * const market = await client.getMarketById(1)\n * ```\n */\nexport function createClient(config: WindmillClientConfig): MercNetGraphQLClient {\n  const mergedConfig: WindmillClientConfig = {\n    ...DEFAULT_WINDMILL_CONFIG,\n    ...config\n  }\n\n  // Build headers with authentication\n  const headers: Record<string, string> = {\n    'Content-Type': 'application/json',\n    ...(mergedConfig.headers || {})\n  }\n\n  // Add authorization header if token is provided\n  if (mergedConfig.token) {\n    headers['Authorization'] = `Bearer ${mergedConfig.token}`\n  }\n\n  // Create GraphQL client configuration\n  const graphqlConfig: GraphQLClientConfig = {\n    endpoint: mergedConfig.endpoint,\n    headers,\n    retries: mergedConfig.retries || 3,\n    debug: mergedConfig.debug || false\n  }\n\n  return createGraphQLClient(graphqlConfig)\n}\n\n/**\n * Convenience function to create a client with default MercNet endpoint\n *\n * @param config - Partial configuration (endpoint is pre-filled)\n * @returns Configured MercNetGraphQLClient instance\n *\n * @example\n * ```typescript\n * const client = createMercNetClient({\n *   token: 'your-auth-token'\n * })\n * ```\n */\nexport function createMercNetClient(\n  config: Omit<WindmillClientConfig, 'endpoint'> & { endpoint?: string }\n): MercNetGraphQLClient {\n  return createClient({\n    endpoint: 'https://graphql.rocketeer.trade/',\n    ...config\n  })\n}\n\n/**\n * Windmill-specific utilities for common trading operations\n */\nexport class WindmillMercNetUtils {\n  constructor(private client: MercNetGraphQLClient) {}\n\n  /**\n   * Get active markets with basic filtering\n   */\n  async getActiveMarkets(): Promise<\n    Array<{\n      id: number\n      name: string\n      ticker: string\n      price: string | null\n      status: string | null\n    }>\n  > {\n    const markets = await this.client.getAllMarkets()\n\n    return markets\n      .filter((market: Market) => market.status === 'active')\n      .map((market: Market) => ({\n        id: market.id,\n        name: market.name || 'Unknown',\n        ticker: market.ticker,\n        price: market.price || null,\n        status: market.status || null\n      }))\n  }\n\n  /**\n   * Get market summary for reporting\n   */\n  async getMarketSummary(marketId: number): Promise<{\n    id: number\n    name: string\n    ticker: string\n    price: string | null\n    sentiment: string | null\n    trend: string | null\n    lastUpdate: string | null\n    activityScore1h: string | null\n    activityScore1d: string | null\n  } | null> {\n    const market = await this.client.getMarketById(marketId)\n\n    if (!market) {\n      return null\n    }\n\n    return {\n      id: market.id,\n      name: market.name || 'Unknown',\n      ticker: market.ticker,\n      price: market.price || null,\n      sentiment: market.sentiment || null,\n      trend: market.trend_status || null,\n      lastUpdate: market.last_update_at || null,\n      activityScore1h: market.market_activity_score_1h || null,\n      activityScore1d: market.market_activity_score_1d || null\n    }\n  }\n\n  /**\n   * Search markets by ticker pattern\n   */\n  async searchMarketsByTicker(tickerPattern: string): Promise<\n    Array<{\n      id: number\n      name: string\n      ticker: string\n      price: string | null\n    }>\n  > {\n    const allMarkets = await this.client.getAllMarkets()\n\n    const pattern = tickerPattern.toLowerCase()\n    return allMarkets\n      .filter((market: Market) => market.ticker.toLowerCase().includes(pattern))\n      .map((market: Market) => ({\n        id: market.id,\n        name: market.name || 'Unknown',\n        ticker: market.ticker,\n        price: market.price || null\n      }))\n  }\n\n  /**\n   * Get markets with sentiment analysis\n   */\n  async getMarketsSentiment(): Promise<\n    Array<{\n      id: number\n      ticker: string\n      sentiment: string | null\n      sentimentUpdateAt: string | null\n      trendStatus: string | null\n    }>\n  > {\n    const allMarkets = await this.client.getAllMarkets()\n\n    return allMarkets\n      .filter((market: Market) => market.sentiment !== null)\n      .map((market: Market) => ({\n        id: market.id,\n        ticker: market.ticker,\n        sentiment: market.sentiment || null,\n        sentimentUpdateAt: market.sentiment_update_at || null,\n        trendStatus: market.trend_status || null\n      }))\n  }\n}\n\n/**\n * Create a WindmillMercNetUtils instance with a pre-configured client\n *\n * @param config - Configuration for the client\n * @returns WindmillMercNetUtils instance\n *\n * @example\n * ```typescript\n * const utils = createUtils({\n *   endpoint: 'https://graphql.rocketeer.trade/',\n *   token: 'your-token'\n * })\n *\n * const activeMarkets = await utils.getActiveMarkets()\n * ```\n */\nexport function createUtils(config: WindmillClientConfig): WindmillMercNetUtils {\n  const client = createClient(config)\n  return new WindmillMercNetUtils(client)\n}\n\n/**\n * Re-export types and utilities from core package for convenience\n */\nexport type {\n  Market,\n  GraphQLResponse,\n  GraphQLError,\n  MercNetGraphQLClient,\n  GraphQLClientConfig\n} from '@mercnet/core'\n\nexport { MercNetError, createGraphQLClient } from '@mercnet/core'\n\n/**\n * Export types specific to this package\n * WindmillClientConfig is already exported as interface above\n */\n"]}