{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-BETBSVXN.cjs","../src/cli/commands/chat.command.ts"],"names":["createChatCommand","chatCommand","Command","chalk","chatCommandOptions","option","options","dbManager","DatabaseManager","startChatSession","error"],"mappings":"AAAA;AACA,wDAAwC,wDAAyC,wDAAyC,4ECDxG,sCACI,IAKTA,CAAAA,CAAoB,CAAA,CAAA,EAAe,CAC9C,IAAMC,CAAAA,CAAc,IAAIC,uBAAAA,CAAQ,MAAM,CAAA,CAEtC,OAAAD,CAAAA,CAAY,WAAA,CACV,CACEE,eAAAA,CAAM,IAAA,CAAK,4CAA4C,CAAA,CACvD,EAAA,CACAA,eAAAA,CAAM,IAAA,CAAK,wDAAwD,CAAA,CACnEA,eAAAA,CAAM,IAAA,CAAK,mDAAmD,CAAA,CAC9DA,eAAAA,CAAM,IAAA,CAAK,8CAA8C,CAAA,CACzD,QAAA,CAAI,MAAA,CAAO,EAAE,CACf,CAAA,CAAE,IAAA,CAAK,CAAA;AAAA,CAAI,CACb,CAAA,CAEAC,mBAAAA,CAAmB,OAAA,CAASC,CAAAA,EAAW,CACjC,cAAA,GAAkBA,CAAAA,EAAUA,CAAAA,CAAO,YAAA,GAAiB,KAAA,CAAA,CACtDJ,CAAAA,CAAY,MAAA,CAAOI,CAAAA,CAAO,KAAA,CAAOA,CAAAA,CAAO,WAAA,CAAaA,CAAAA,CAAO,YAAY,CAAA,CAExEJ,CAAAA,CAAY,MAAA,CAAOI,CAAAA,CAAO,KAAA,CAAOA,CAAAA,CAAO,WAAW,CAEvD,CAAC,CAAA,CAEDJ,CAAAA,CAAY,MAAA,CAAO,MAAOK,CAAAA,EAAyB,CACjD,IAAIC,CAAAA,CAAoC,IAAA,CAExC,GAAI,CACED,CAAAA,CAAQ,OAAA,EACV,OAAA,CAAQ,GAAA,CAAIH,eAAAA,CAAM,GAAA,CAAI,oCAA6B,CAAC,CAAA,CAGtDI,CAAAA,CAAY,IAAIC,mBAAAA,CAChB,MAAMC,iCAAAA,CAAiBF,CAAWD,CAAO,CAC3C,CAAA,KAAA,CAASI,CAAAA,CAAO,CACVJ,CAAAA,CAAQ,OAAA,EACV,OAAA,CAAQ,KAAA,CAAM,wBAAA,CAA0BI,CAAK,CAAA,CAE/C,OAAA,CAAQ,IAAA,CAAK,CAAC,CAChB,CAAA,OAAE,CACIH,CAAAA,EACFA,CAAAA,CAAU,KAAA,CAAM,CAEpB,CACF,CAAC,CAAA,CAEMN,CACT,CAAA,CAAA,cAAA;ADhDA","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-BETBSVXN.cjs","sourcesContent":[null,"import chalk from 'chalk';\nimport {Command} from 'commander';\nimport {DatabaseManager} from '../../core/database/manager.js';\nimport {chatCommandOptions, startChatSession} from './chat/index.js';\nimport type {ChatOptions} from './chat/types.js';\n\nexport const createChatCommand = (): Command => {\n  const chatCommand = new Command('chat');\n\n  chatCommand.description(\n    [\n      chalk.bold('Start an interactive chat session with AI.'),\n      '',\n      chalk.gray('Engage in back-and-forth conversations with AI models.'),\n      chalk.gray('Use --act <template> for expert prompt templates.'),\n      chalk.gray('Type /quit or /exit to end the chat session.'),\n      '─'.repeat(80),\n    ].join('\\n'),\n  );\n\n  chatCommandOptions.forEach((option) => {\n    if ('defaultValue' in option && option.defaultValue !== undefined) {\n      chatCommand.option(option.flags, option.description, option.defaultValue);\n    } else {\n      chatCommand.option(option.flags, option.description);\n    }\n  });\n\n  chatCommand.action(async (options: ChatOptions) => {\n    let dbManager: DatabaseManager | null = null;\n\n    try {\n      if (options.verbose) {\n        console.log(chalk.dim('🚀 Starting chat session...'));\n      }\n\n      dbManager = new DatabaseManager();\n      await startChatSession(dbManager, options);\n    } catch (error) {\n      if (options.verbose) {\n        console.error('Error in chat session:', error);\n      }\n      process.exit(1);\n    } finally {\n      if (dbManager) {\n        dbManager.close();\n      }\n    }\n  });\n\n  return chatCommand;\n};\n"]}