{"version":3,"sources":["/home/mkabumattar/work/withrawi/rawi/dist/chunk-K6LPSTUC.cjs","../src/cli/commands/ask/actions/response-handling.ts"],"names":["streamResponse","provider","sessionId","filteredQuery","context","dbManager","credentials","options","spinnerManager","stream","response","isFirstChunk","chunk","chalk","error"],"mappings":"AAAA;AACA,wDAAwC,4ECDtB,IAILA,CAAAA,CAAiB,KAAA,CAC5BC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAAA,EACkB,CACdA,CAAAA,CAAQ,OAAA,EACVC,mBAAAA,CAAe,KAAA,CAAM,OAAA,CAAS,0BAA0B,CAAA,CAG1D,GAAI,CACF,IAAMC,CAAAA,CAAS,MAAMR,CAAAA,CAAS,cAAA,CAAe,CAC3C,OAAA,CAASE,CAAAA,CACT,OAAA,CAASC,CAAAA,EAAW,EACtB,CAAC,CAAA,CAEGM,CAAAA,CAAW,EAAA,CACXC,CAAAA,CAAe,CAAA,CAAA,CAEnB,IAAA,KAAA,CAAA,IAAiBC,EAAAA,GAASH,CAAAA,CACpBE,CAAAA,EAAAA,CACEJ,CAAAA,CAAQ,OAAA,EACVC,mBAAAA,CAAe,IAAA,CAAK,OAAO,CAAA,CAE7BG,CAAAA,CAAe,CAAA,CAAA,CAAA,CAGjB,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAMC,CAAK,CAAA,CAC1BF,CAAAA,EAAYE,CAAAA,CAGTF,CAAAA,CAAS,QAAA,CAAS,CAAA;AAAA,CAAI,CAAA,EACzB,OAAA,CAAQ,MAAA,CAAO,KAAA,CAAM,CAAA;AAAA,CAAI,CAAA,CAG3B,MAAML,CAAAA,CAAU,UAAA,CACdH,CAAAA,CACA,MAAA,CACAC,CAAAA,CACAG,CAAAA,CAAY,QAAA,CACZA,CAAAA,CAAY,KAAA,EAAS,SAAA,CACrBA,CAAAA,CAAY,WAAA,CACZA,CAAAA,CAAY,SACd,CAAA,CAEA,MAAMD,CAAAA,CAAU,UAAA,CACdH,CAAAA,CACA,WAAA,CACAQ,CAAAA,CACAJ,CAAAA,CAAY,QAAA,CACZA,CAAAA,CAAY,KAAA,EAAS,SAAA,CACrBA,CAAAA,CAAY,WAAA,CACZA,CAAAA,CAAY,SACd,CAAA,CAEIC,CAAAA,CAAQ,OAAA,EACV,OAAA,CAAQ,GAAA,CAAIM,eAAAA,CAAM,GAAA,CAAI,CAAA;AAAA,wCAAA,CAAuC,CAAC,CAElE,CAAA,KAAA,CAASC,CAAAA,CAAO,CACVP,CAAAA,CAAQ,OAAA,EACVC,mBAAAA,CAAe,IAAA,CAAK,OAAA,CAAS,yBAAyB,CAAA,CAGxD,OAAA,CAAQ,KAAA,CAAMK,eAAAA,CAAM,GAAA,CAAI,gCAA2B,CAAC,CAAA,CACpD,OAAA,CAAQ,KAAA,CAAMA,eAAAA,CAAM,GAAA,CAAKC,CAAAA,CAAgB,OAAO,CAAC,CAAA,CAE7CP,CAAAA,CAAQ,OAAA,EAAWO,EAAAA,WAAiB,KAAA,EAASA,CAAAA,CAAM,KAAA,EAAA,CACrD,OAAA,CAAQ,KAAA,CAAMD,eAAAA,CAAM,GAAA,CAAI,cAAc,CAAC,CAAA,CACvC,OAAA,CAAQ,KAAA,CAAMA,eAAAA,CAAM,GAAA,CAAIC,CAAAA,CAAM,KAAK,CAAC,CAAA,CAAA,CAGtC,OAAA,CAAQ,IAAA,CAAK,CAAC,CAChB,CACF,CAAA,CAAA,cAAA;AD3EA","file":"/home/mkabumattar/work/withrawi/rawi/dist/chunk-K6LPSTUC.cjs","sourcesContent":[null,"import chalk from 'chalk';\nimport type {DatabaseManager} from '../../../../core/database/manager.js';\nimport {spinnerManager} from '../../../../core/shared/spinner.js';\n\nexport const streamResponse = async (\n  provider: any,\n  sessionId: string,\n  filteredQuery: string,\n  context: string | null,\n  dbManager: DatabaseManager,\n  credentials: any,\n  options: any,\n): Promise<void> => {\n  if (options.verbose) {\n    spinnerManager.start('query', 'Processing your query...');\n  }\n\n  try {\n    const stream = await provider.generateStream({\n      message: filteredQuery,\n      context: context || '',\n    });\n\n    let response = '';\n    let isFirstChunk = true;\n\n    for await (const chunk of stream) {\n      if (isFirstChunk) {\n        if (options.verbose) {\n          spinnerManager.stop('query');\n        }\n        isFirstChunk = false;\n      }\n\n      process.stdout.write(chunk);\n      response += chunk;\n    }\n\n    if (!response.endsWith('\\n')) {\n      process.stdout.write('\\n');\n    }\n\n    await dbManager.addMessage(\n      sessionId,\n      'user',\n      filteredQuery,\n      credentials.provider,\n      credentials.model || 'default',\n      credentials.temperature,\n      credentials.maxTokens,\n    );\n\n    await dbManager.addMessage(\n      sessionId,\n      'assistant',\n      response,\n      credentials.provider,\n      credentials.model || 'default',\n      credentials.temperature,\n      credentials.maxTokens,\n    );\n\n    if (options.verbose) {\n      console.log(chalk.dim('\\n✅ Response saved to session history'));\n    }\n  } catch (error) {\n    if (options.verbose) {\n      spinnerManager.fail('query', 'Failed to process query');\n    }\n\n    console.error(chalk.red('❌ Error processing query:'));\n    console.error(chalk.red((error as Error).message));\n\n    if (options.verbose && error instanceof Error && error.stack) {\n      console.error(chalk.dim('Stack trace:'));\n      console.error(chalk.dim(error.stack));\n    }\n\n    process.exit(1);\n  }\n};\n"]}