@triedotdev/mcp 1.0.61 → 1.0.63

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 (56) hide show
  1. package/README.md +591 -52
  2. package/dist/agent-smith-W4HUCFGC.js +14 -0
  3. package/dist/{agent-smith-runner-ZU4R3I2Z.js → agent-smith-runner-QRVOEOBE.js} +13 -7
  4. package/dist/agent-smith-runner-QRVOEOBE.js.map +1 -0
  5. package/dist/chunk-4YSLDGBL.js +674 -0
  6. package/dist/chunk-4YSLDGBL.js.map +1 -0
  7. package/dist/chunk-7KHT2NKR.js +212 -0
  8. package/dist/chunk-7KHT2NKR.js.map +1 -0
  9. package/dist/{chunk-XSPS463E.js → chunk-ALA6733H.js} +492 -14
  10. package/dist/chunk-ALA6733H.js.map +1 -0
  11. package/dist/chunk-AQCAMIQQ.js +139 -0
  12. package/dist/chunk-AQCAMIQQ.js.map +1 -0
  13. package/dist/chunk-D3DMONAJ.js +904 -0
  14. package/dist/chunk-D3DMONAJ.js.map +1 -0
  15. package/dist/{chunk-KB5ZN6K2.js → chunk-GWSNINKX.js} +2 -2
  16. package/dist/{chunk-32WLOG6E.js → chunk-K6BQBKIR.js} +662 -633
  17. package/dist/chunk-K6BQBKIR.js.map +1 -0
  18. package/dist/{chunk-ASGSTVVF.js → chunk-KOFQ47YW.js} +10 -6
  19. package/dist/chunk-KOFQ47YW.js.map +1 -0
  20. package/dist/{chunk-XVGHO2Z5.js → chunk-N2AZH3EQ.js} +7683 -4777
  21. package/dist/chunk-N2AZH3EQ.js.map +1 -0
  22. package/dist/chunk-PBOVCPKE.js +2566 -0
  23. package/dist/chunk-PBOVCPKE.js.map +1 -0
  24. package/dist/{chunk-NUT4G5AY.js → chunk-R7Z7OHTJ.js} +493 -650
  25. package/dist/chunk-R7Z7OHTJ.js.map +1 -0
  26. package/dist/chunk-TSHZQKCM.js +933 -0
  27. package/dist/chunk-TSHZQKCM.js.map +1 -0
  28. package/dist/{chunk-S4VGGLXF.js → chunk-X2PABPBH.js} +461 -892
  29. package/dist/chunk-X2PABPBH.js.map +1 -0
  30. package/dist/cli/create-agent.js +3 -2
  31. package/dist/cli/create-agent.js.map +1 -1
  32. package/dist/cli/main.js +1120 -70
  33. package/dist/cli/main.js.map +1 -1
  34. package/dist/cli/yolo-daemon.js +151 -41
  35. package/dist/cli/yolo-daemon.js.map +1 -1
  36. package/dist/goal-manager-KFBOAP4X.js +20 -0
  37. package/dist/goal-manager-KFBOAP4X.js.map +1 -0
  38. package/dist/guardian-agent-PULK546O.js +17 -0
  39. package/dist/guardian-agent-PULK546O.js.map +1 -0
  40. package/dist/index.js +173 -39
  41. package/dist/index.js.map +1 -1
  42. package/dist/issue-store-QRDF3X55.js +22 -0
  43. package/dist/issue-store-QRDF3X55.js.map +1 -0
  44. package/dist/workers/agent-worker.js +6 -3
  45. package/dist/workers/agent-worker.js.map +1 -1
  46. package/package.json +1 -1
  47. package/dist/agent-smith-57MKX5QC.js +0 -13
  48. package/dist/agent-smith-runner-ZU4R3I2Z.js.map +0 -1
  49. package/dist/chunk-32WLOG6E.js.map +0 -1
  50. package/dist/chunk-ASGSTVVF.js.map +0 -1
  51. package/dist/chunk-NUT4G5AY.js.map +0 -1
  52. package/dist/chunk-S4VGGLXF.js.map +0 -1
  53. package/dist/chunk-XSPS463E.js.map +0 -1
  54. package/dist/chunk-XVGHO2Z5.js.map +0 -1
  55. /package/dist/{agent-smith-57MKX5QC.js.map → agent-smith-W4HUCFGC.js.map} +0 -0
  56. /package/dist/{chunk-KB5ZN6K2.js.map → chunk-GWSNINKX.js.map} +0 -0
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  buildAgentFromDocument
4
- } from "../chunk-KB5ZN6K2.js";
5
- import "../chunk-ASGSTVVF.js";
4
+ } from "../chunk-GWSNINKX.js";
5
+ import "../chunk-KOFQ47YW.js";
6
+ import "../chunk-RAZUNSBI.js";
6
7
  import "../chunk-DGUM43GV.js";
7
8
 
8
9
  // src/cli/create-agent.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/create-agent.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Trie Agent Creator CLI\n * \n * Create custom skills from PDF, TXT, MD, or RTF documents.\n * \n * Usage:\n * trie-create <file-path> <agent-name> [options]\n * \n * Examples:\n * trie-create ./react-book.pdf react-fundamentals\n * trie-create ~/Documents/gdpr-guide.pdf gdpr-compliance --category legal\n * \n * Drag & Drop:\n * Just drag a file to terminal and add the agent name:\n * trie-create /path/to/dropped/file.pdf my-agent\n */\n\nimport { buildAgentFromDocument } from '../ingest/agent-builder.js';\nimport { existsSync } from 'fs';\nimport { resolve, basename, extname } from 'path';\n\ninterface CLIOptions {\n filePath: string;\n agentName: string;\n displayName?: string;\n description?: string;\n category?: string;\n}\n\nfunction parseArgs(): CLIOptions | null {\n const args = process.argv.slice(2);\n \n // Show help\n if (args.length === 0 || args.includes('--help') || args.includes('-h')) {\n showHelp();\n return null;\n }\n \n // First arg is file path (handles drag & drop)\n let filePath = args[0];\n if (!filePath) {\n console.error('❌ Error: Please provide a file path');\n showHelp();\n return null;\n }\n \n // Clean up path (remove quotes that might be added by drag & drop)\n filePath = filePath.replace(/^['\"]|['\"]$/g, '').trim();\n filePath = resolve(filePath);\n \n // Second arg is agent name (optional - will auto-generate if not provided)\n let agentName = args[1];\n if (!agentName || agentName.startsWith('--')) {\n // Auto-generate from filename\n const filename = basename(filePath, extname(filePath));\n agentName = filename\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-|-$/g, '');\n console.log(`📝 Auto-generated agent name: ${agentName}`);\n }\n \n // Parse options\n const options: CLIOptions = {\n filePath,\n agentName,\n };\n \n for (let i = 2; i < args.length; i++) {\n const arg = args[i];\n const nextArg = args[i + 1];\n \n switch (arg) {\n case '--display-name':\n case '-n':\n if (nextArg) options.displayName = nextArg;\n i++;\n break;\n case '--description':\n case '-d':\n if (nextArg) options.description = nextArg;\n i++;\n break;\n case '--category':\n case '-c':\n if (nextArg) options.category = nextArg;\n i++;\n break;\n }\n }\n \n return options;\n}\n\nfunction showHelp(): void {\n console.log(`\n📚 Trie Agent Creator\nCreate custom code review agents from documents.\n\nUsage:\n trie-create <file-path> [agent-name] [options]\n\nArguments:\n file-path Path to PDF, TXT, MD, or RTF file (drag & drop supported!)\n agent-name Name for the agent (optional - auto-generated from filename)\n\nOptions:\n --display-name, -n Friendly display name for the agent\n --description, -d Description of what the agent does\n --category, -c Category (react, security, compliance, architecture, etc.)\n --help, -h Show this help message\n\nExamples:\n # Basic usage\n trie-create ./react-book.pdf react-fundamentals\n\n # With options\n trie-create ./gdpr-guide.pdf gdpr-compliance --category legal\n\n # Auto-generate name from filename\n trie-create ./clean-code.pdf\n\n # Drag & drop a file to terminal, then add name\n trie-create /Users/you/Downloads/my-book.pdf my-agent\n\nSupported File Types:\n • PDF (.pdf) - Requires pdf-parse: npm install pdf-parse\n • Text (.txt) - Plain text files\n • Markdown (.md, .markdown)\n • RTF (.rtf) - Rich Text Format\n\nAfter Creation:\n The agent is saved to .trie/agents/<name>.json and will automatically\n activate during scans when it detects relevant code patterns.\n`);\n}\n\nasync function main(): Promise<void> {\n console.log('\\n🔮 Trie Agent Creator\\n');\n \n const options = parseArgs();\n if (!options) {\n process.exit(0);\n }\n \n // Validate file exists\n if (!existsSync(options.filePath)) {\n console.error(`❌ File not found: ${options.filePath}`);\n console.error('\\n💡 Tip: Drag & drop the file directly into the terminal!');\n process.exit(1);\n }\n \n // Validate file type\n const ext = extname(options.filePath).toLowerCase();\n const supportedTypes = ['.pdf', '.txt', '.md', '.markdown', '.rtf'];\n if (!supportedTypes.includes(ext)) {\n console.error(`❌ Unsupported file type: ${ext}`);\n console.error(` Supported types: ${supportedTypes.join(', ')}`);\n process.exit(1);\n }\n \n console.log(`📄 File: ${options.filePath}`);\n console.log(`🏷️ Agent: ${options.agentName}`);\n if (options.category) console.log(`📁 Category: ${options.category}`);\n console.log('');\n \n try {\n const createOptions: Parameters<typeof buildAgentFromDocument>[0] = {\n filePath: options.filePath,\n agentName: options.agentName,\n };\n if (options.displayName) createOptions.displayName = options.displayName;\n if (options.description) createOptions.description = options.description;\n if (options.category) createOptions.category = options.category;\n \n const result = await buildAgentFromDocument(createOptions, true);\n \n if (result.success) {\n console.log('\\n' + '━'.repeat(50));\n console.log('✅ Agent created successfully!');\n console.log('━'.repeat(50));\n console.log(`\\n📍 Config saved to: ${result.configPath}`);\n console.log(`\\n📊 Stats:`);\n console.log(` • Document words: ${result.stats.documentWords.toLocaleString()}`);\n console.log(` • Concepts extracted: ${result.stats.conceptsExtracted}`);\n console.log(` • Detection patterns: ${result.stats.patternsGenerated}`);\n console.log(` • Compression ratio: ${result.stats.compressionRatio}:1`);\n console.log('\\n🚀 The agent will now activate during code scans!');\n console.log(' Run: trie_scan to test it\\n');\n } else {\n console.error(`\\n❌ Failed: ${result.error}`);\n process.exit(1);\n }\n } catch (error) {\n console.error(`\\n❌ Error: ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n }\n}\n\nmain();\n\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/create-agent.ts"],"sourcesContent":["#!/usr/bin/env node\n/**\n * Trie Agent Creator CLI\n * \n * Create custom skills from PDF, TXT, MD, or RTF documents.\n * \n * Usage:\n * trie-create <file-path> <agent-name> [options]\n * \n * Examples:\n * trie-create ./react-book.pdf react-fundamentals\n * trie-create ~/Documents/gdpr-guide.pdf gdpr-compliance --category legal\n * \n * Drag & Drop:\n * Just drag a file to terminal and add the agent name:\n * trie-create /path/to/dropped/file.pdf my-agent\n */\n\nimport { buildAgentFromDocument } from '../ingest/agent-builder.js';\nimport { existsSync } from 'fs';\nimport { resolve, basename, extname } from 'path';\n\ninterface CLIOptions {\n filePath: string;\n agentName: string;\n displayName?: string;\n description?: string;\n category?: string;\n}\n\nfunction parseArgs(): CLIOptions | null {\n const args = process.argv.slice(2);\n \n // Show help\n if (args.length === 0 || args.includes('--help') || args.includes('-h')) {\n showHelp();\n return null;\n }\n \n // First arg is file path (handles drag & drop)\n let filePath = args[0];\n if (!filePath) {\n console.error('❌ Error: Please provide a file path');\n showHelp();\n return null;\n }\n \n // Clean up path (remove quotes that might be added by drag & drop)\n filePath = filePath.replace(/^['\"]|['\"]$/g, '').trim();\n filePath = resolve(filePath);\n \n // Second arg is agent name (optional - will auto-generate if not provided)\n let agentName = args[1];\n if (!agentName || agentName.startsWith('--')) {\n // Auto-generate from filename\n const filename = basename(filePath, extname(filePath));\n agentName = filename\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-|-$/g, '');\n console.log(`📝 Auto-generated agent name: ${agentName}`);\n }\n \n // Parse options\n const options: CLIOptions = {\n filePath,\n agentName,\n };\n \n for (let i = 2; i < args.length; i++) {\n const arg = args[i];\n const nextArg = args[i + 1];\n \n switch (arg) {\n case '--display-name':\n case '-n':\n if (nextArg) options.displayName = nextArg;\n i++;\n break;\n case '--description':\n case '-d':\n if (nextArg) options.description = nextArg;\n i++;\n break;\n case '--category':\n case '-c':\n if (nextArg) options.category = nextArg;\n i++;\n break;\n }\n }\n \n return options;\n}\n\nfunction showHelp(): void {\n console.log(`\n📚 Trie Agent Creator\nCreate custom code review agents from documents.\n\nUsage:\n trie-create <file-path> [agent-name] [options]\n\nArguments:\n file-path Path to PDF, TXT, MD, or RTF file (drag & drop supported!)\n agent-name Name for the agent (optional - auto-generated from filename)\n\nOptions:\n --display-name, -n Friendly display name for the agent\n --description, -d Description of what the agent does\n --category, -c Category (react, security, compliance, architecture, etc.)\n --help, -h Show this help message\n\nExamples:\n # Basic usage\n trie-create ./react-book.pdf react-fundamentals\n\n # With options\n trie-create ./gdpr-guide.pdf gdpr-compliance --category legal\n\n # Auto-generate name from filename\n trie-create ./clean-code.pdf\n\n # Drag & drop a file to terminal, then add name\n trie-create /Users/you/Downloads/my-book.pdf my-agent\n\nSupported File Types:\n • PDF (.pdf) - Requires pdf-parse: npm install pdf-parse\n • Text (.txt) - Plain text files\n • Markdown (.md, .markdown)\n • RTF (.rtf) - Rich Text Format\n\nAfter Creation:\n The agent is saved to .trie/agents/<name>.json and will automatically\n activate during scans when it detects relevant code patterns.\n`);\n}\n\nasync function main(): Promise<void> {\n console.log('\\n🔮 Trie Agent Creator\\n');\n \n const options = parseArgs();\n if (!options) {\n process.exit(0);\n }\n \n // Validate file exists\n if (!existsSync(options.filePath)) {\n console.error(`❌ File not found: ${options.filePath}`);\n console.error('\\n💡 Tip: Drag & drop the file directly into the terminal!');\n process.exit(1);\n }\n \n // Validate file type\n const ext = extname(options.filePath).toLowerCase();\n const supportedTypes = ['.pdf', '.txt', '.md', '.markdown', '.rtf'];\n if (!supportedTypes.includes(ext)) {\n console.error(`❌ Unsupported file type: ${ext}`);\n console.error(` Supported types: ${supportedTypes.join(', ')}`);\n process.exit(1);\n }\n \n console.log(`📄 File: ${options.filePath}`);\n console.log(`🏷️ Agent: ${options.agentName}`);\n if (options.category) console.log(`📁 Category: ${options.category}`);\n console.log('');\n \n try {\n const createOptions: Parameters<typeof buildAgentFromDocument>[0] = {\n filePath: options.filePath,\n agentName: options.agentName,\n };\n if (options.displayName) createOptions.displayName = options.displayName;\n if (options.description) createOptions.description = options.description;\n if (options.category) createOptions.category = options.category;\n \n const result = await buildAgentFromDocument(createOptions, true);\n \n if (result.success) {\n console.log('\\n' + '━'.repeat(50));\n console.log('✅ Agent created successfully!');\n console.log('━'.repeat(50));\n console.log(`\\n📍 Config saved to: ${result.configPath}`);\n console.log(`\\n📊 Stats:`);\n console.log(` • Document words: ${result.stats.documentWords.toLocaleString()}`);\n console.log(` • Concepts extracted: ${result.stats.conceptsExtracted}`);\n console.log(` • Detection patterns: ${result.stats.patternsGenerated}`);\n console.log(` • Compression ratio: ${result.stats.compressionRatio}:1`);\n console.log('\\n🚀 The agent will now activate during code scans!');\n console.log(' Run: trie_scan to test it\\n');\n } else {\n console.error(`\\n❌ Failed: ${result.error}`);\n process.exit(1);\n }\n } catch (error) {\n console.error(`\\n❌ Error: ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n }\n}\n\nmain();\n\n"],"mappings":"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","names":[]}