@kody-ade/kody-engine-lite 0.1.50 → 0.1.51
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.
- package/README.md +1 -1
- package/dist/bin/cli.js +24 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ Most AI coding tools are **autocomplete** (Copilot) or **chat-based** (Cursor, C
|
|
|
23
23
|
| **Incremental codebase improvement** | Step files encode gaps to fix — every task raises quality | No | No | No |
|
|
24
24
|
| **Model flexible** | Any LLM via LiteLLM | GitHub models only | Proprietary | Cursor models |
|
|
25
25
|
| **Open source** | MIT | Proprietary | Proprietary | Proprietary |
|
|
26
|
-
| **Cost** |
|
|
26
|
+
| **Cost** | **Free** with free-tier models (Gemini, etc.) or pay-per-use with any LLM | $10-39/month | $20-500/month | Subscription |
|
|
27
27
|
|
|
28
28
|
[Full comparison →](docs/COMPARISON.md)
|
|
29
29
|
|
package/dist/bin/cli.js
CHANGED
|
@@ -1651,9 +1651,14 @@ function executeShipStage(ctx, _def) {
|
|
|
1651
1651
|
const existingPr = getPRForBranch(head);
|
|
1652
1652
|
if (existingPr) {
|
|
1653
1653
|
updatePR(existingPr.number, body);
|
|
1654
|
-
if (
|
|
1654
|
+
if (!ctx.input.local) {
|
|
1655
|
+
const msg = `\u2705 Fix pushed to PR #${existingPr.number}: ${existingPr.url}`;
|
|
1655
1656
|
try {
|
|
1656
|
-
|
|
1657
|
+
if (ctx.input.prNumber) {
|
|
1658
|
+
postPRComment(ctx.input.prNumber, msg);
|
|
1659
|
+
} else if (ctx.input.issueNumber) {
|
|
1660
|
+
postComment(ctx.input.issueNumber, msg);
|
|
1661
|
+
}
|
|
1657
1662
|
} catch {
|
|
1658
1663
|
}
|
|
1659
1664
|
}
|
|
@@ -2872,7 +2877,8 @@ async function main() {
|
|
|
2872
2877
|
setGhCwd(projectDir);
|
|
2873
2878
|
logger.info(`Working directory: ${projectDir}`);
|
|
2874
2879
|
}
|
|
2875
|
-
|
|
2880
|
+
const isPRFix = input.command === "fix" && !!input.prNumber;
|
|
2881
|
+
if (input.issueNumber && input.command !== "review" && !isPRFix) {
|
|
2876
2882
|
const taskAction = resolveForIssue(input.issueNumber, projectDir);
|
|
2877
2883
|
logger.info(`Task action: ${taskAction.action}`);
|
|
2878
2884
|
if (taskAction.action === "already-completed") {
|
|
@@ -2904,7 +2910,9 @@ async function main() {
|
|
|
2904
2910
|
}
|
|
2905
2911
|
let taskId = input.taskId;
|
|
2906
2912
|
if (!taskId) {
|
|
2907
|
-
if (
|
|
2913
|
+
if (isPRFix) {
|
|
2914
|
+
taskId = `fix-pr-${input.prNumber}-${generateTaskId()}`;
|
|
2915
|
+
} else if (input.issueNumber) {
|
|
2908
2916
|
taskId = `${input.issueNumber}-${generateTaskId()}`;
|
|
2909
2917
|
} else if (input.command === "run" && input.task) {
|
|
2910
2918
|
taskId = generateTaskId();
|
|
@@ -3005,7 +3013,17 @@ async function main() {
|
|
|
3005
3013
|
fs20.writeFileSync(path19.join(taskDir, "task.md"), input.task);
|
|
3006
3014
|
}
|
|
3007
3015
|
const taskMdPath = path19.join(taskDir, "task.md");
|
|
3008
|
-
if (!fs20.existsSync(taskMdPath) && input.
|
|
3016
|
+
if (!fs20.existsSync(taskMdPath) && isPRFix && input.prNumber) {
|
|
3017
|
+
logger.info(`Fetching PR #${input.prNumber} details as task context...`);
|
|
3018
|
+
const prDetails = getPRDetails(input.prNumber);
|
|
3019
|
+
if (prDetails) {
|
|
3020
|
+
const taskContent = `# ${prDetails.title}
|
|
3021
|
+
|
|
3022
|
+
${prDetails.body ?? ""}`;
|
|
3023
|
+
fs20.writeFileSync(taskMdPath, taskContent);
|
|
3024
|
+
logger.info(` Task loaded from PR #${input.prNumber}: ${prDetails.title}`);
|
|
3025
|
+
}
|
|
3026
|
+
} else if (!fs20.existsSync(taskMdPath) && input.issueNumber) {
|
|
3009
3027
|
logger.info(`Fetching issue #${input.issueNumber} body as task...`);
|
|
3010
3028
|
const issue = getIssue(input.issueNumber);
|
|
3011
3029
|
if (issue) {
|
|
@@ -3092,6 +3110,7 @@ ${input.feedback}` : reviewContext;
|
|
|
3092
3110
|
fromStage: input.fromStage,
|
|
3093
3111
|
dryRun: input.dryRun,
|
|
3094
3112
|
issueNumber: input.issueNumber,
|
|
3113
|
+
prNumber: input.prNumber,
|
|
3095
3114
|
feedback: input.feedback,
|
|
3096
3115
|
local: input.local,
|
|
3097
3116
|
complexity: input.complexity
|