@undesirables/plugin-tcg-oracle 1.0.0 → 2.0.0

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.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/environment.ts","../src/services.ts","../src/index.ts"],"sourcesContent":["import type { IAgentRuntime } from \"@elizaos/core\";\n\n/**\n * Validates that the TCG Oracle plugin has all required configuration.\n * Called during plugin init and before each action.\n */\nexport function validateTcgOracleConfig(\n runtime: IAgentRuntime\n): { valid: boolean; error?: string } {\n const url =\n (runtime.getSetting?.(\"TCG_ORACLE_URL\") as string) ||\n process.env.TCG_ORACLE_URL ||\n \"\";\n\n if (!url) {\n return {\n valid: false,\n error:\n \"TCG_ORACLE_URL is required. Set it in your character.json settings \" +\n \"or as an environment variable. Example: https://oracle.the-undesirables.com\",\n };\n }\n\n try {\n new URL(url);\n } catch {\n return {\n valid: false,\n error: `TCG_ORACLE_URL is not a valid URL: \"${url}\"`,\n };\n }\n\n return { valid: true };\n}\n","import { Service, IAgentRuntime } from \"@elizaos/core\";\n\nexport class MarketMonitorService extends Service {\n // Use a string getter to satisfy ElizaOS ServiceType constraints if needed,\n // or define static serviceType depending on the core version.\n static serviceType = \"TCG_MARKET_MONITOR\";\n\n get capabilityDescription(): string {\n return \"Monitors TCG market data for price spikes and trending cards\";\n }\n\n static async start(runtime: IAgentRuntime): Promise<MarketMonitorService> {\n const service = new MarketMonitorService();\n await service.initialize(runtime);\n return service;\n }\n\n private monitorInterval: NodeJS.Timeout | null = null;\n\n async initialize(_runtime: IAgentRuntime): Promise<void> {\n console.log(\"[TCG Oracle Service] Market Monitor Service initialized.\");\n // Example: Start background polling for market spikes every hour\n // this.monitorInterval = setInterval(() => this.pollMarket(), 1000 * 60 * 60);\n }\n\n async stop(): Promise<void> {\n if (this.monitorInterval) {\n clearInterval(this.monitorInterval);\n }\n console.log(\"[TCG Oracle Service] Market Monitor Service stopped.\");\n }\n\n private pollMarket() {\n console.log(\"[TCG Oracle Service] Background task: Polling TCG market for price spikes...\");\n }\n}\n","/**\n * TCG Oracle — ElizaOS Plugin v1.0.0\n * ====================================\n * AI-powered trading card market intelligence for ElizaOS agents.\n * Native TypeScript rewrite of the Python G.A.M.E. SDK version.\n *\n * Features:\n * - Search 446K+ TCG products across 25+ games (Pokemon, MTG, Yu-Gi-Oh, etc.)\n * - AI Vision card grading (PSA/Beckett prediction via Qwen VL)\n * - Conformal-calibrated risk forecasts (honest VaR + Safe-Hold/Momentum grades);\n * Monte Carlo (GBM/Merton) opt-in via the model parameter\n * - Real-time market snapshots from TCGCSV daily data\n * - License key purchase & verification (Ethereum NFT)\n *\n * @see https://the-undesirables.com\n * @see https://github.com/sailorpepe/elizaos-tcg-oracle-plugin\n */\n\nimport { validateTcgOracleConfig } from \"./environment.js\";\nimport { MarketMonitorService } from \"./services.js\";\n\nimport type {\n Plugin,\n Action,\n Provider,\n IAgentRuntime,\n Memory,\n State,\n HandlerCallback,\n ActionExample,\n ActionResult,\n ProviderResult,\n} from \"@elizaos/core\";\n\n// ============================================================\n// Configuration\n// ============================================================\n\nconst SUPPORTED_GAMES = [\n \"Pokemon\",\n \"Magic: The Gathering\",\n \"Yu-Gi-Oh!\",\n \"Lorcana\",\n \"One Piece\",\n \"Flesh and Blood\",\n \"Star Wars: Unlimited\",\n \"Dragon Ball Super\",\n \"Digimon\",\n \"MetaZoo\",\n \"Union Arena\",\n \"Gundam Card Game\",\n \"LoL Riftbound\",\n] as const;\n\nconst SIMULATION_MODELS = [\"conformal\", \"merton\", \"gbm\"] as const;\n\n// ============================================================\n// API Client\n// ============================================================\n\nfunction getBaseUrl(runtime: IAgentRuntime): string {\n return (\n (runtime.getSetting?.(\"TCG_ORACLE_URL\") as string) ||\n process.env.TCG_ORACLE_URL ||\n \"\"\n );\n}\n\nasync function callApi(\n baseUrl: string,\n endpoint: string,\n params: Record<string, string | number>\n): Promise<{ data?: any; error?: string }> {\n if (!baseUrl) {\n return {\n error:\n \"TCG_ORACLE_URL not set. Set it in your character.json settings or as an environment variable. Install the server: pip install undesirables-mcp-server\",\n };\n }\n\n const url = new URL(`${baseUrl}${endpoint}`);\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== null && value !== \"\") {\n url.searchParams.set(key, String(value));\n }\n }\n\n try {\n const controller = new AbortController();\n const timeout = setTimeout(() => controller.abort(), 30_000);\n\n const response = await fetch(url.toString(), {\n signal: controller.signal,\n headers: { \"User-Agent\": \"elizaos-tcg-oracle-plugin/1.0.0\" },\n });\n clearTimeout(timeout);\n\n if (!response.ok) {\n return { error: `API returned HTTP ${response.status}` };\n }\n\n const json = (await response.json()) as Record<string, any>;\n return { data: json.data || json };\n } catch (err: any) {\n if (err.name === \"AbortError\") {\n return { error: \"TCG Oracle API timed out (30s)\" };\n }\n return {\n error: \"Failed to connect to TCG Oracle API. Is the server running?\",\n };\n }\n}\n\n// ============================================================\n// Helper: Truncate data safely before JSON.stringify\n// ============================================================\n\nfunction safeStringify(data: any, maxItems = 10): string {\n if (Array.isArray(data)) {\n return JSON.stringify(data.slice(0, maxItems), null, 2);\n }\n return JSON.stringify(data, null, 2).slice(0, 2000);\n}\n\n// ============================================================\n// ACTION 1: Search TCG Products\n// ============================================================\n\nconst searchAction: Action = {\n name: \"TCG_ORACLE_SEARCH\",\n description:\n \"Search for trading card products across 25+ games including Pokemon, Magic: The Gathering, Yu-Gi-Oh, Lorcana, One Piece, and more. Returns product names, set info, and current market prices from 446K+ real products sourced from TCGCSV daily.\",\n similes: [\n \"SEARCH_CARDS\",\n \"FIND_CARD\",\n \"CARD_LOOKUP\",\n \"CARD_SEARCH\",\n \"TCG_SEARCH\",\n \"FIND_POKEMON\",\n \"SEARCH_MTG\",\n ],\n parameters: [\n {\n name: \"query\",\n description: \"The card name, set name, or keyword to search for (e.g., 'Charizard', 'Base Set', 'Pikachu VMAX')\",\n required: true,\n schema: { type: \"string\" },\n },\n {\n name: \"limit\",\n description: \"Maximum number of results to return (default: 10, max: 50)\",\n required: false,\n schema: { type: \"number\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"Search for Charizard cards\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Searching TCG Oracle for Charizard...\", action: \"TCG_ORACLE_SEARCH\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"What Pikachu VMAX cards are available?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Looking up Pikachu VMAX products...\", action: \"TCG_ORACLE_SEARCH\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Find me Base Set holographic cards\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Searching for Base Set holographic cards...\", action: \"TCG_ORACLE_SEARCH\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => {\n return !!getBaseUrl(runtime);\n },\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content.text || \"\";\n\n // Extract search query — strip common prefixes\n const query = text\n .replace(/^(search|find|look up|lookup|what|show me)\\s+(for\\s+)?/i, \"\")\n .replace(/\\s+cards?\\s*$/i, \"\")\n .trim();\n\n if (!query) {\n if (callback) await callback({ text: \"What card would you like me to search for?\" });\n return { success: false, error: \"No search query provided\" };\n }\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/search\", {\n query,\n limit: 10,\n });\n\n if (result.error) {\n if (callback) await callback({ text: `Search failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const summary = safeStringify(result.data);\n const responseText = `Found products matching \"${query}\":\\n\\n${summary}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_SEARCH\");\n return { success: true, text: responseText, data: { search_results: result.data } };\n },\n};\n\n// ============================================================\n// ACTION 2: AI Card Grading\n// ============================================================\n\nconst gradeAction: Action = {\n name: \"TCG_ORACLE_GRADE\",\n description:\n \"Grade a TCG card image using AI vision (Qwen VL model running locally). Predicts PSA and Beckett grading scores by analyzing centering, corners, edges, surface condition, and print quality. Works with Pokemon, MTG, Yu-Gi-Oh, and other TCG cards.\",\n similes: [\n \"GRADE_CARD\",\n \"CARD_GRADING\",\n \"PSA_GRADE\",\n \"BECKETT_GRADE\",\n \"RATE_CARD\",\n \"EVALUATE_CARD\",\n ],\n parameters: [\n {\n name: \"image_url\",\n description: \"Direct URL to the card image (PNG, JPG, or WebP)\",\n required: true,\n schema: { type: \"string\" },\n },\n {\n name: \"game\",\n description: \"The TCG game this card belongs to (default: Pokemon)\",\n required: false,\n schema: { type: \"string\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"Grade this card: https://example.com/charizard.jpg\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Analyzing card image for grading...\", action: \"TCG_ORACLE_GRADE\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"What PSA grade would this get? https://i.imgur.com/card.png\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Running AI vision grading analysis...\", action: \"TCG_ORACLE_GRADE\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Rate the condition of this Magic card https://example.com/mtg.jpg\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Evaluating card condition for Beckett grading...\", action: \"TCG_ORACLE_GRADE\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => !!getBaseUrl(runtime),\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content.text || \"\";\n\n // Extract URL from message\n const urlMatch = text.match(/https?:\\/\\/[^\\s]+/);\n if (!urlMatch) {\n if (callback) await callback({ text: \"Please provide a card image URL to grade.\" });\n return { success: false, error: \"No image URL found in message\" };\n }\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/grade\", {\n image_url: urlMatch[0],\n game: \"Pokemon\",\n });\n\n if (result.error) {\n if (callback) await callback({ text: `Grading failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const summary = safeStringify(result.data);\n const responseText = `Card grading complete:\\n\\n${summary}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_GRADE\");\n return { success: true, text: responseText, data: { grade_result: result.data } };\n },\n};\n\n// ============================================================\n// ACTION 3: Conformal-Calibrated Price Forecast (Monte Carlo opt-in)\n// ============================================================\n\nconst simulateAction: Action = {\n name: \"TCG_ORACLE_SIMULATE\",\n description:\n \"Forecast a TCG card's future value with a conformal-calibrated risk model — honest VaR plus Safe-Hold/Momentum letter grades. Monte Carlo (GBM/Merton) is opt-in via the model parameter. Uses real drift and volatility computed from TCGCSV historical data. Monte Carlo models available opt-in: merton (jump-diffusion) and gbm. Returns percentile bands (5th, 25th, 50th, 75th, 95th) for the forecast period.\",\n similes: [\n \"SIMULATE_PRICE\",\n \"PRICE_PREDICTION\",\n \"FORECAST_PRICE\",\n \"MONTE_CARLO\",\n \"PRICE_FORECAST\",\n \"WHAT_WILL_THIS_BE_WORTH\",\n ],\n parameters: [\n {\n name: \"card_name\",\n description: \"Name of the card to simulate\",\n required: true,\n schema: { type: \"string\" },\n },\n {\n name: \"current_price\",\n description: \"Current price in USD\",\n required: true,\n schema: { type: \"number\" },\n },\n {\n name: \"model\",\n description: \"Forecast model (default 'conformal'): 'conformal' (regime-aware split-conformal bands, honest calibrated VaR), or opt into Monte Carlo with 'merton' (jump-diffusion) or 'gbm'\",\n required: false,\n schema: { type: \"string\", enumValues: [\"conformal\", \"merton\", \"gbm\"] },\n },\n {\n name: \"days\",\n description: \"Forecast horizon in days (default: 30)\",\n required: false,\n schema: { type: \"number\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"Simulate the price of Charizard VMAX at $350 for 60 days\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Running Monte Carlo simulation on Charizard VMAX...\", action: \"TCG_ORACLE_SIMULATE\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"What will a PSA 10 Base Set Blastoise worth $800 be in 90 days using merton model?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Running Merton jump-diffusion simulation for Blastoise...\", action: \"TCG_ORACLE_SIMULATE\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Forecast Lorcana Elsa at $25 for 30 days\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Simulating Lorcana Elsa price trajectory...\", action: \"TCG_ORACLE_SIMULATE\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => !!getBaseUrl(runtime),\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content.text || \"\";\n\n // Try to extract parameters from text\n const priceMatch = text.match(/\\$?([\\d,]+(?:\\.\\d{2})?)/);\n const daysMatch = text.match(/(\\d+)\\s*days?/i);\n const modelMatch = text.match(/\\b(conformal|merton|gbm)\\b/i);\n\n const cardName =\n text\n .replace(/simulate|price|forecast|monte carlo|at|\\$[\\d,.]+|\\d+\\s*days?|conformal|merton|gbm/gi, \"\")\n .replace(/\\s+/g, \" \")\n .trim() || \"Unknown Card\";\n\n const currentPrice = priceMatch ? parseFloat(priceMatch[1].replace(\",\", \"\")) : 0;\n const days = daysMatch ? parseInt(daysMatch[1]) : 30;\n const model = modelMatch ? modelMatch[1].toLowerCase() : \"conformal\";\n\n if (currentPrice <= 0) {\n if (callback) await callback({ text: \"Please provide a current price for the simulation. Example: 'Simulate Charizard VMAX at $350 for 60 days'\" });\n return { success: false, error: \"Invalid or missing current price\" };\n }\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/simulate\", {\n card_name: cardName,\n current_price: currentPrice,\n model,\n days,\n simulations: 10000,\n });\n\n if (result.error) {\n if (callback) await callback({ text: `Simulation failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const summary = safeStringify(result.data);\n const responseText = `Monte Carlo simulation for ${cardName} ($${currentPrice}, ${model} model, ${days} days):\\n\\n${summary}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_SIMULATE\");\n return { success: true, text: responseText, data: { simulation_result: result.data } };\n },\n};\n\n// ============================================================\n// ACTION 4: Market Snapshot\n// ============================================================\n\nconst marketAction: Action = {\n name: \"TCG_ORACLE_MARKET\",\n description:\n \"Retrieve the latest daily market data snapshot from TCGCSV for a specific game. Returns top movers, price changes, volume data, and market trends. Data is refreshed daily via automated pipeline.\",\n similes: [\n \"MARKET_SNAPSHOT\",\n \"MARKET_DATA\",\n \"TCG_MARKET\",\n \"CARD_MARKET\",\n \"TOP_MOVERS\",\n \"PRICE_CHANGES\",\n ],\n parameters: [\n {\n name: \"game\",\n description: \"Game name: Pokemon, Magic: The Gathering, Yu-Gi-Oh, Lorcana, One Piece, etc\",\n required: false,\n schema: { type: \"string\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"Show me the Pokemon market snapshot\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Pulling the latest Pokemon market data...\", action: \"TCG_ORACLE_MARKET\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"What's happening in the Yu-Gi-Oh market today?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Fetching Yu-Gi-Oh market snapshot...\", action: \"TCG_ORACLE_MARKET\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Top movers in Magic: The Gathering\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Pulling Magic: The Gathering market data...\", action: \"TCG_ORACLE_MARKET\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => !!getBaseUrl(runtime),\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content.text?.toLowerCase() || \"\";\n\n // Detect game from message\n let game = \"Pokemon\";\n for (const g of SUPPORTED_GAMES) {\n if (text.includes(g.toLowerCase())) {\n game = g;\n break;\n }\n }\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/market\", { game });\n\n if (result.error) {\n if (callback) await callback({ text: `Market data failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const summary = safeStringify(result.data, 25);\n const responseText = `Market snapshot for ${game}:\\n\\n${summary}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_MARKET\");\n return { success: true, text: responseText, data: { market_data: result.data } };\n },\n};\n\n// ============================================================\n// ACTION 5: Grade-or-Not Decision Engine\n// ============================================================\n\nconst gradeOrNotAction: Action = {\n name: \"TCG_ORACLE_GRADE_OR_NOT\",\n description:\n \"Answers 'will grading this card make me money?' by combining AI grade prediction with PSA fee schedules, shipping costs, and graded market values. Returns a GO/NO-GO verdict with expected ROI and profit scenarios (best case, predicted, worst case).\",\n similes: [\n \"SHOULD_I_GRADE\",\n \"GRADE_ROI\",\n \"GRADING_PROFIT\",\n \"IS_IT_WORTH_GRADING\",\n \"GRADE_OR_NOT\",\n ],\n parameters: [\n {\n name: \"card_name\",\n description: \"Name of the card to evaluate (e.g., 'Base Set Charizard Holo')\",\n required: true,\n schema: { type: \"string\" },\n },\n {\n name: \"predicted_grade\",\n description: \"Your predicted PSA grade (0 = auto-estimate)\",\n required: false,\n schema: { type: \"number\" },\n },\n {\n name: \"raw_price\",\n description: \"Current raw card value in USD (0 = auto-lookup)\",\n required: false,\n schema: { type: \"number\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"Should I grade my Base Set Charizard?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Running Grade-or-Not analysis...\", action: \"TCG_ORACLE_GRADE_OR_NOT\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Is it worth grading a PSA 8 Pikachu VMAX worth $45?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Calculating grading ROI for Pikachu VMAX...\", action: \"TCG_ORACLE_GRADE_OR_NOT\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => !!getBaseUrl(runtime),\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content.text || \"\";\n\n // Extract card name\n const cardName = text\n .replace(/^(should i|is it worth|grade or not|grading roi|will grading)\\s*/i, \"\")\n .replace(/\\s*(make me money|be profitable|worth it)\\s*\\??$/i, \"\")\n .replace(/^(grade|grading)\\s*/i, \"\")\n .replace(/\\bmy\\b/i, \"\")\n .trim() || \"Unknown Card\";\n\n // Extract price and grade if mentioned\n const priceMatch = text.match(/\\$?([\\d,]+(?:\\.\\d{2})?)/);\n const gradeMatch = text.match(/\\bpsa\\s*(\\d+(?:\\.\\d)?)\\b/i) || text.match(/\\bgrade\\s*(\\d+(?:\\.\\d)?)\\b/i);\n\n const params: Record<string, string | number> = { card_name: cardName };\n if (priceMatch) params.raw_price = parseFloat(priceMatch[1].replace(\",\", \"\"));\n if (gradeMatch) params.predicted_grade = parseFloat(gradeMatch[1]);\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/grade-or-not\", params);\n\n if (result.error) {\n if (callback) await callback({ text: `Grade-or-Not analysis failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const data = result.data;\n const verdict = data?.verdict || \"Unknown\";\n const explanation = data?.explanation || \"\";\n const responseText = `Grade-or-Not verdict for ${cardName}:\\n\\n${verdict}\\n${explanation}\\n\\nFull analysis:\\n${safeStringify(data)}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_GRADE_OR_NOT\");\n return { success: true, text: responseText, data: { grade_or_not: data } };\n },\n};\n\n// ============================================================\n// ACTION 6: Trending Cards\n// ============================================================\n\nconst trendingAction: Action = {\n name: \"TCG_ORACLE_TRENDING\",\n description:\n \"Returns the top trending trading cards by market activity (30-day sales volume, views, and price velocity). Covers all 25 supported TCG games. Useful for spotting market momentum and emerging opportunities.\",\n similes: [\n \"TRENDING_CARDS\",\n \"HOT_CARDS\",\n \"TOP_MOVERS\",\n \"WHATS_TRENDING\",\n \"POPULAR_CARDS\",\n \"MARKET_TRENDS\",\n ],\n parameters: [\n {\n name: \"game\",\n description: \"Filter by game name (empty = all games)\",\n required: false,\n schema: { type: \"string\" },\n },\n {\n name: \"limit\",\n description: \"Number of results (default: 25, max: 100)\",\n required: false,\n schema: { type: \"number\" },\n },\n ],\n examples: [\n [\n { name: \"{{user1}}\", content: { text: \"What Pokemon cards are trending right now?\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Pulling trending Pokemon cards...\", action: \"TCG_ORACLE_TRENDING\" } } as ActionExample,\n ],\n [\n { name: \"{{user1}}\", content: { text: \"Show me the hottest cards across all games\" } } as ActionExample,\n { name: \"{{agentName}}\", content: { text: \"Fetching trending cards across all TCG games...\", action: \"TCG_ORACLE_TRENDING\" } } as ActionExample,\n ],\n ],\n validate: async (runtime: IAgentRuntime) => !!getBaseUrl(runtime),\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n _state?: State,\n _options?: Record<string, unknown>,\n callback?: HandlerCallback\n ): Promise<ActionResult | undefined> => {\n const text = message.content?.text?.toLowerCase() || \"\";\n\n // Detect game from message\n let game = \"\";\n for (const g of SUPPORTED_GAMES) {\n if (text.includes(g.toLowerCase())) {\n game = g;\n break;\n }\n }\n\n const params: Record<string, string | number> = { limit: 25 };\n if (game) params.game = game;\n\n const result = await callApi(getBaseUrl(runtime), \"/api/v1/trending\", params);\n\n if (result.error) {\n if (callback) await callback({ text: `Trending cards failed: ${result.error}` });\n return { success: false, error: result.error };\n }\n\n const summary = safeStringify(result.data, 15);\n const responseText = `Trending cards${game ? ` for ${game}` : \" across all games\"}:\\n\\n${summary}`;\n\n if (callback) await callback({ text: responseText }, \"TCG_ORACLE_TRENDING\");\n return { success: true, text: responseText, data: { trending: result.data } };\n },\n};\n\n// ============================================================\n// PROVIDER: TCG Oracle Context\n// ============================================================\n\nconst tcgOracleProvider: Provider = {\n name: \"tcg-oracle\",\n description: \"Provides TCG Oracle market intelligence context to the agent\",\n get: async (\n runtime: IAgentRuntime,\n _message: Memory,\n _state: State\n ): Promise<ProviderResult> => {\n const baseUrl = getBaseUrl(runtime);\n const status = baseUrl ? \"connected\" : \"not configured\";\n\n return {\n text: `[TCG Oracle v1.1.0]\nStatus: ${status}\nDatabase: 446K+ products across 25+ games\nData source: TCGCSV daily snapshots\nModels: conformal (default — regime-aware split-conformal bands, honest VaR), merton (jump-diffusion), gbm — Monte Carlo is opt-in\nActions: search, grade, simulate, market, grade-or-not, trending\nSupported games: ${SUPPORTED_GAMES.join(\", \")}\nAPI: ${baseUrl || \"TCG_ORACLE_URL not set\"}\n\nThe agent can search cards, grade card images, simulate prices via Monte Carlo, pull market snapshots, check grading ROI, view trending cards, and scan for grading arbitrage opportunities.`,\n values: {\n tcgOracleStatus: status,\n tcgOracleUrl: baseUrl || \"not set\",\n totalProducts: 370158,\n },\n };\n },\n};\n\n// ============================================================\n// PLUGIN EXPORT\n// ============================================================\n\nconst tcgOraclePlugin: Plugin = {\n name: \"@undesirables/plugin-tcg-oracle\",\n description:\n \"TCG Oracle — AI-powered trading card market intelligence for ElizaOS agents. \" +\n \"Covers 446K+ products across 25+ games with conformal-calibrated risk \" +\n \"forecasts — honest VaR plus Safe-Hold/Momentum letter grades, with Monte \" +\n \"Carlo (GBM/Merton) available opt-in — AI vision card grading with ROI analysis, \" +\n \"trending cards feed, and real-time market snapshots. \" +\n \"Powered by TCGCSV daily data pipeline.\",\n init: async (config: Record<string, string>, runtime: IAgentRuntime) => {\n const validation = validateTcgOracleConfig(runtime);\n if (!validation.valid) {\n console.warn(`⚠️ TCG Oracle: ${validation.error}`);\n } else {\n console.log(`✅ TCG Oracle v1.1.0 connected to ${runtime.getSetting?.(\"TCG_ORACLE_URL\")}`);\n }\n },\n actions: [searchAction, gradeAction, simulateAction, marketAction, gradeOrNotAction, trendingAction],\n providers: [tcgOracleProvider],\n evaluators: [],\n services: [MarketMonitorService],\n};\n\nexport default tcgOraclePlugin;\nexport { SUPPORTED_GAMES, SIMULATION_MODELS };\n\n"],"mappings":"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","names":[]}
package/images/banner.jpg CHANGED
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@undesirables/plugin-tcg-oracle",
3
- "version": "1.0.0",
4
- "description": "ElizaOS plugin for TCG Oracle — AI-powered trading card market intelligence. Covers 370K+ products across 25 games with Monte Carlo price simulation (Heston/Merton/Kou), AI vision card grading, and real-time market snapshots.",
3
+ "version": "2.0.0",
4
+ "description": "ElizaOS plugin for TCG Oracle \u2014 AI-powered trading card market intelligence. 6 actions: search, grade, simulate, market, grade-or-not ROI engine, and trending cards. Covers 446K+ products across 25+ games with conformal-calibrated risk forecasts.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
@@ -13,7 +13,7 @@
13
13
  "LICENSE"
14
14
  ],
15
15
  "scripts": {
16
- "build": "tsc",
16
+ "build": "tsup",
17
17
  "clean": "rm -rf dist",
18
18
  "test": "vitest run"
19
19
  },
@@ -26,7 +26,7 @@
26
26
  "pokemon",
27
27
  "magic-the-gathering",
28
28
  "yugioh",
29
- "monte-carlo",
29
+ "risk-forecasting",
30
30
  "card-grading",
31
31
  "market-intelligence",
32
32
  "price-prediction"
@@ -43,6 +43,7 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@elizaos/core": "2.0.0-alpha.77",
46
+ "tsup": "^8.5.1",
46
47
  "typescript": "^5.4.0",
47
48
  "vitest": "^3.2.4"
48
49
  }
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@undesirables/plugin-tcg-oracle",
3
3
  "version": "1.0.0",
4
- "description": "ElizaOS plugin for TCG Oracle — AI-powered trading card market intelligence with Monte Carlo simulation and AI vision grading for 370K+ products across 25 games.",
4
+ "description": "ElizaOS plugin for TCG Oracle — AI-powered trading card market intelligence with calibrated risk forecasts and AI vision grading for 370K+ products across 25 games.",
5
5
  "author": "The Undesirables LLC",
6
6
  "license": "BUSL-1.1",
7
7
  "type": "module",
@@ -17,7 +17,7 @@
17
17
  "elizaos-plugins",
18
18
  "tcg",
19
19
  "trading-cards",
20
- "monte-carlo",
20
+ "risk-forecasting",
21
21
  "card-grading",
22
22
  "market-intelligence"
23
23
  ],
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":""}
@@ -1,184 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
2
- // Mock fetch globally
3
- const mockFetch = vi.fn();
4
- vi.stubGlobal("fetch", mockFetch);
5
- describe("plugin-tcg-oracle", () => {
6
- beforeEach(() => {
7
- vi.clearAllMocks();
8
- });
9
- describe("Plugin Structure", () => {
10
- it("should export a valid ElizaOS v2 plugin", async () => {
11
- const plugin = (await import("./index.js")).default;
12
- expect(plugin.name).toBe("@undesirables/plugin-tcg-oracle");
13
- expect(plugin.description).toBeTruthy();
14
- expect(plugin.actions).toHaveLength(4);
15
- expect(plugin.providers).toHaveLength(1);
16
- expect(plugin.evaluators).toEqual([]);
17
- });
18
- it("should have correct action names", async () => {
19
- const plugin = (await import("./index.js")).default;
20
- const names = plugin.actions.map((a) => a.name);
21
- expect(names).toContain("TCG_ORACLE_SEARCH");
22
- expect(names).toContain("TCG_ORACLE_GRADE");
23
- expect(names).toContain("TCG_ORACLE_SIMULATE");
24
- expect(names).toContain("TCG_ORACLE_MARKET");
25
- });
26
- it("should have a named provider", async () => {
27
- const plugin = (await import("./index.js")).default;
28
- const provider = plugin.providers[0];
29
- expect(provider.name).toBe("tcg-oracle");
30
- expect(provider.description).toBeTruthy();
31
- expect(typeof provider.get).toBe("function");
32
- });
33
- it("actions should have examples with v2 format (name + content)", async () => {
34
- const plugin = (await import("./index.js")).default;
35
- for (const action of plugin.actions) {
36
- expect(action.examples).toBeDefined();
37
- expect(action.examples.length).toBeGreaterThanOrEqual(1);
38
- for (const exampleGroup of action.examples) {
39
- for (const example of exampleGroup) {
40
- expect(example).toHaveProperty("name");
41
- expect(example).toHaveProperty("content");
42
- }
43
- }
44
- }
45
- });
46
- it("all actions should have structured parameters", async () => {
47
- const plugin = (await import("./index.js")).default;
48
- for (const action of plugin.actions) {
49
- expect(action.parameters).toBeDefined();
50
- expect(action.parameters.length).toBeGreaterThanOrEqual(1);
51
- for (const param of action.parameters) {
52
- expect(param).toHaveProperty("name");
53
- expect(param).toHaveProperty("description");
54
- expect(param).toHaveProperty("schema");
55
- }
56
- }
57
- });
58
- it("all actions should have similes for discoverability", async () => {
59
- const plugin = (await import("./index.js")).default;
60
- for (const action of plugin.actions) {
61
- expect(action.similes).toBeDefined();
62
- expect(action.similes.length).toBeGreaterThanOrEqual(3);
63
- }
64
- });
65
- });
66
- describe("Action Validation", () => {
67
- it("search action should reject when TCG_ORACLE_URL is not set", async () => {
68
- const plugin = (await import("./index.js")).default;
69
- const searchAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_SEARCH");
70
- const mockRuntime = {
71
- getSetting: vi.fn().mockReturnValue(""),
72
- agentId: "test-agent",
73
- };
74
- const isValid = await searchAction.validate(mockRuntime);
75
- expect(isValid).toBe(false);
76
- });
77
- it("search action should accept when TCG_ORACLE_URL is set", async () => {
78
- const plugin = (await import("./index.js")).default;
79
- const searchAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_SEARCH");
80
- const mockRuntime = {
81
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
82
- agentId: "test-agent",
83
- };
84
- const isValid = await searchAction.validate(mockRuntime);
85
- expect(isValid).toBe(true);
86
- });
87
- });
88
- describe("API Client Error Handling", () => {
89
- it("search handler should return error when API is unreachable", async () => {
90
- const plugin = (await import("./index.js")).default;
91
- const searchAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_SEARCH");
92
- mockFetch.mockRejectedValueOnce(new Error("ECONNREFUSED"));
93
- const mockRuntime = {
94
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
95
- agentId: "test-agent",
96
- };
97
- const mockMessage = {
98
- content: { text: "Search for Charizard" },
99
- };
100
- let callbackText = "";
101
- const mockCallback = vi.fn(async (response) => {
102
- callbackText = response.text;
103
- });
104
- const result = await searchAction.handler(mockRuntime, mockMessage, undefined, undefined, mockCallback);
105
- expect(result).toBeDefined();
106
- expect(result.success).toBe(false);
107
- });
108
- it("search handler should handle API timeout (AbortError)", async () => {
109
- const plugin = (await import("./index.js")).default;
110
- const searchAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_SEARCH");
111
- const abortError = new Error("The operation was aborted");
112
- abortError.name = "AbortError";
113
- mockFetch.mockRejectedValueOnce(abortError);
114
- const mockRuntime = {
115
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
116
- agentId: "test-agent",
117
- };
118
- const mockMessage = {
119
- content: { text: "Search for Charizard" },
120
- };
121
- const mockCallback = vi.fn();
122
- const result = await searchAction.handler(mockRuntime, mockMessage, undefined, undefined, mockCallback);
123
- expect(result).toBeDefined();
124
- expect(result.success).toBe(false);
125
- expect(result.error).toContain("timed out");
126
- });
127
- it("grade handler should reject messages without image URLs", async () => {
128
- const plugin = (await import("./index.js")).default;
129
- const gradeAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_GRADE");
130
- const mockRuntime = {
131
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
132
- agentId: "test-agent",
133
- };
134
- const mockMessage = {
135
- content: { text: "Grade my card please" },
136
- };
137
- const mockCallback = vi.fn();
138
- const result = await gradeAction.handler(mockRuntime, mockMessage, undefined, undefined, mockCallback);
139
- expect(result).toBeDefined();
140
- expect(result.success).toBe(false);
141
- expect(result.error).toContain("No image URL");
142
- });
143
- it("simulate handler should reject when no price is provided", async () => {
144
- const plugin = (await import("./index.js")).default;
145
- const simAction = plugin.actions.find((a) => a.name === "TCG_ORACLE_SIMULATE");
146
- const mockRuntime = {
147
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
148
- agentId: "test-agent",
149
- };
150
- const mockMessage = {
151
- content: { text: "Simulate Charizard price" },
152
- };
153
- const mockCallback = vi.fn();
154
- const result = await simAction.handler(mockRuntime, mockMessage, undefined, undefined, mockCallback);
155
- expect(result).toBeDefined();
156
- expect(result.success).toBe(false);
157
- });
158
- });
159
- describe("Provider", () => {
160
- it("should return connected status when URL is configured", async () => {
161
- const plugin = (await import("./index.js")).default;
162
- const provider = plugin.providers[0];
163
- const mockRuntime = {
164
- getSetting: vi.fn().mockReturnValue("https://oracle.the-undesirables.com"),
165
- agentId: "test-agent",
166
- };
167
- const result = await provider.get(mockRuntime, {}, {});
168
- expect(result.text).toContain("connected");
169
- expect(result.values?.tcgOracleStatus).toBe("connected");
170
- });
171
- it("should return not configured status when URL is missing", async () => {
172
- const plugin = (await import("./index.js")).default;
173
- const provider = plugin.providers[0];
174
- const mockRuntime = {
175
- getSetting: vi.fn().mockReturnValue(""),
176
- agentId: "test-agent",
177
- };
178
- const result = await provider.get(mockRuntime, {}, {});
179
- expect(result.text).toContain("not configured");
180
- expect(result.values?.tcgOracleStatus).toBe("not configured");
181
- });
182
- });
183
- });
184
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { IAgentRuntime } from "@elizaos/core";
2
- /**
3
- * Validates that the TCG Oracle plugin has all required configuration.
4
- * Called during plugin init and before each action.
5
- */
6
- export declare function validateTcgOracleConfig(runtime: IAgentRuntime): {
7
- valid: boolean;
8
- error?: string;
9
- };
10
- //# sourceMappingURL=environment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,GACrB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyBpC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Validates that the TCG Oracle plugin has all required configuration.
3
- * Called during plugin init and before each action.
4
- */
5
- export function validateTcgOracleConfig(runtime) {
6
- const url = runtime.getSetting?.("TCG_ORACLE_URL") ||
7
- process.env.TCG_ORACLE_URL ||
8
- "";
9
- if (!url) {
10
- return {
11
- valid: false,
12
- error: "TCG_ORACLE_URL is required. Set it in your character.json settings " +
13
- "or as an environment variable. Example: https://oracle.the-undesirables.com",
14
- };
15
- }
16
- try {
17
- new URL(url);
18
- }
19
- catch {
20
- return {
21
- valid: false,
22
- error: `TCG_ORACLE_URL is not a valid URL: "${url}"`,
23
- };
24
- }
25
- return { valid: true };
26
- }
27
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAsB;IAEtB,MAAM,GAAG,GACN,OAAO,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAY;QAClD,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,EAAE,CAAC;IAEL,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EACH,qEAAqE;gBACrE,6EAA6E;SAChF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,uCAAuC,GAAG,GAAG;SACrD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EACV,MAAM,EAUP,MAAM,eAAe,CAAC;AAMvB,QAAA,MAAM,eAAe,6NAcX,CAAC;AAEX,QAAA,MAAM,iBAAiB,sCAAuC,CAAC;AAoc/D,QAAA,MAAM,eAAe,EAAE,MAkBtB,CAAC;AAEF,eAAe,eAAe,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}