relaycode
Version:
A developer assistant that automates applying code changes from LLMs.
1 lines • 2.66 kB
Source Map (JSON)
{"version":3,"sources":["../../src/commands/apply.ts"],"names":["applyCommand","filePath","options","cwd","config","loadConfigOrExit","logger","content","absoluteFilePath","path","fs","chalk","parsedResponse","parseLLMResponse","processPatch"],"mappings":"4XAQO,MAAMA,CAAAA,CAAe,MAAOC,EAAkBC,CAAAA,CAA6B,EAAC,CAAGC,CAAAA,CAAc,OAAA,CAAQ,GAAA,EAAI,GAAqB,CACjI,MAAMC,CAAAA,CAAS,MAAMC,uBAAAA,CAAiBF,CAAG,CAAA,CACzCG,aAAAA,CAAO,QAAA,CAASF,EAAO,IAAA,CAAK,QAAQ,CAAA,CAEpC,IAAIG,CAAAA,CACJ,MAAMC,CAAAA,CAAmBC,kBAAAA,CAAK,OAAA,CAAQN,CAAAA,CAAKF,CAAQ,CAAA,CACnD,GAAI,CACAM,CAAAA,CAAU,MAAMG,YAAG,QAAA,CAASF,CAAAA,CAAkB,OAAO,CAAA,CACrDF,aAAAA,CAAO,IAAA,CAAK,CAAA,yBAAA,EAA4BK,kBAAAA,CAAM,IAAA,CAAKH,CAAgB,CAAC,CAAA,CAAE,EAC1E,CAAA,KAAgB,CACZF,aAAAA,CAAO,KAAA,CAAM,CAAA,8BAAA,EAAiCK,kBAAAA,CAAM,IAAA,CAAKH,CAAgB,CAAC,CAAA,YAAA,CAAc,CAAA,CACxF,MACJ,CAEAF,aAAAA,CAAO,IAAA,CAAK,mCAAmC,CAAA,CAC/C,MAAMM,CAAAA,CAAiBC,+BAAiBN,CAAO,CAAA,CAE/C,GAAI,CAACK,CAAAA,CAAgB,CACjBN,aAAAA,CAAO,KAAA,CAAM,mEAAmE,CAAA,CAChF,MACJ,CAEAA,aAAAA,CAAO,OAAA,CAAQ,4CAA4C,CAAA,CAC3D,MAAMQ,wBAAAA,CAAaV,CAAAA,CAAQQ,CAAAA,CAAgB,CAAE,GAAA,CAAAT,CAAAA,CAAK,GAAA,CAAKD,CAAAA,CAAQ,GAAI,CAAC,CAAA,CACpEI,aAAAA,CAAO,IAAA,CAAKK,kBAAAA,CAAM,IAAA,CAAK,oDAAoD,CAAC,EAChF","file":"apply.cjs","sourcesContent":["import { promises as fs } from 'fs';\nimport path from 'path';\nimport { loadConfigOrExit } from '../core/config';\nimport { parseLLMResponse } from 'relaycode-core';\nimport { processPatch } from '../core/transaction';\nimport { logger } from '../utils/logger';\nimport chalk from 'chalk';\n\nexport const applyCommand = async (filePath: string, options: { yes?: boolean } = {}, cwd: string = process.cwd()): Promise<void> => {\n const config = await loadConfigOrExit(cwd);\n logger.setLevel(config.core.logLevel);\n\n let content: string;\n const absoluteFilePath = path.resolve(cwd, filePath);\n try {\n content = await fs.readFile(absoluteFilePath, 'utf-8');\n logger.info(`Reading patch from file: ${chalk.cyan(absoluteFilePath)}`);\n } catch (error) {\n logger.error(`Failed to read patch file at '${chalk.cyan(absoluteFilePath)}'. Aborting.`);\n return;\n }\n\n logger.info('Attempting to parse patch file...');\n const parsedResponse = parseLLMResponse(content);\n\n if (!parsedResponse) {\n logger.error('The content of the file is not a valid relaycode patch. Aborting.');\n return;\n }\n\n logger.success('Valid patch format detected. Processing...');\n await processPatch(config, parsedResponse, { cwd, yes: options.yes });\n logger.info(chalk.gray('--------------------------------------------------'));\n};"]}