relaycode
Version:
A developer assistant that automates applying code changes from LLMs.
2 lines • 1 kB
JavaScript
import {promises}from'fs';import f from'path';import {loadConfigOrExit}from'../core/config';import {parseLLMResponse}from'relaycode-core';import {processPatch}from'../core/transaction';import {logger}from'../utils/logger';import t from'chalk';const A=async(n,c={},e=process.cwd())=>{const a=await loadConfigOrExit(e);logger.setLevel(a.core.logLevel);let i;const r=f.resolve(e,n);try{i=await promises.readFile(r,"utf-8"),logger.info(`Reading patch from file: ${t.cyan(r)}`);}catch{logger.error(`Failed to read patch file at '${t.cyan(r)}'. Aborting.`);return}logger.info("Attempting to parse patch file...");const s=parseLLMResponse(i);if(!s){logger.error("The content of the file is not a valid relaycode patch. Aborting.");return}logger.success("Valid patch format detected. Processing..."),await processPatch(a,s,{cwd:e,yes:c.yes}),logger.info(t.gray("--------------------------------------------------"));};export{A as applyCommand};//# sourceMappingURL=apply.js.map
//# sourceMappingURL=apply.js.map