@kody-ade/kody-engine 0.4.184 → 0.4.186
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/dist/bin/kody.js +19 -9
- package/package.json +1 -1
package/dist/bin/kody.js
CHANGED
|
@@ -1309,7 +1309,7 @@ var init_loadPriorArt = __esm({
|
|
|
1309
1309
|
// package.json
|
|
1310
1310
|
var package_default = {
|
|
1311
1311
|
name: "@kody-ade/kody-engine",
|
|
1312
|
-
version: "0.4.
|
|
1312
|
+
version: "0.4.186",
|
|
1313
1313
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
1314
1314
|
license: "MIT",
|
|
1315
1315
|
type: "module",
|
|
@@ -1656,11 +1656,7 @@ function loadConfig(projectDir = process.cwd()) {
|
|
|
1656
1656
|
issueContext: parseIssueContext(raw.issueContext),
|
|
1657
1657
|
testRequirements: parseTestRequirements(raw.testRequirements),
|
|
1658
1658
|
defaultExecutable: typeof raw.defaultExecutable === "string" && raw.defaultExecutable.length > 0 ? raw.defaultExecutable : "run",
|
|
1659
|
-
|
|
1660
|
-
// so leave this unset unless a consumer configures a real one. Dispatch
|
|
1661
|
-
// treats a missing/unknown default as "unrecognized" rather than routing
|
|
1662
|
-
// to a phantom executable that would crash the executor at load time.
|
|
1663
|
-
defaultPrExecutable: typeof raw.defaultPrExecutable === "string" && raw.defaultPrExecutable.length > 0 ? raw.defaultPrExecutable : void 0,
|
|
1659
|
+
defaultPrExecutable: typeof raw.defaultPrExecutable === "string" && raw.defaultPrExecutable.length > 0 ? raw.defaultPrExecutable : "fix",
|
|
1664
1660
|
aliases: mergeAliases(raw.aliases),
|
|
1665
1661
|
classify: parseClassifyConfig(raw.classify),
|
|
1666
1662
|
release: parseReleaseConfig(raw.release),
|
|
@@ -1723,7 +1719,9 @@ function parseJobsConfig(raw) {
|
|
|
1723
1719
|
return Object.keys(out).length > 0 ? out : void 0;
|
|
1724
1720
|
}
|
|
1725
1721
|
var BUILTIN_ALIASES = {
|
|
1726
|
-
build: "run"
|
|
1722
|
+
build: "run",
|
|
1723
|
+
orchestrate: "bug",
|
|
1724
|
+
orchestrator: "bug"
|
|
1727
1725
|
};
|
|
1728
1726
|
function mergeAliases(raw) {
|
|
1729
1727
|
const out = { ...BUILTIN_ALIASES };
|
|
@@ -1974,6 +1972,7 @@ async function runAgent(opts) {
|
|
|
1974
1972
|
let ndjsonWriteError;
|
|
1975
1973
|
let sawMutatingTool = false;
|
|
1976
1974
|
let sawTerminalSuccess = false;
|
|
1975
|
+
let noWorkSuccess = false;
|
|
1977
1976
|
try {
|
|
1978
1977
|
const queryOptions = {
|
|
1979
1978
|
model: opts.model.model,
|
|
@@ -2216,7 +2215,13 @@ async function runAgent(opts) {
|
|
|
2216
2215
|
);
|
|
2217
2216
|
}
|
|
2218
2217
|
finalText = resultTexts.join("\n\n---\n\n");
|
|
2219
|
-
|
|
2218
|
+
if (outcome === "completed" && !sawMutatingTool && tokens.output === 0 && finalText === "") {
|
|
2219
|
+
outcome = "failed";
|
|
2220
|
+
outcomeKind = "model_error";
|
|
2221
|
+
noWorkSuccess = true;
|
|
2222
|
+
errorMessage = errorMessage ?? "session reported success but produced no model output (0 output tokens) \u2014 backend likely unreachable";
|
|
2223
|
+
}
|
|
2224
|
+
const shouldRetry = outcome === "failed" && attempt < MAX_CONNECTION_RETRIES && !sawMutatingTool && (isTransientConnectionError(errorMessage) || noWorkSuccess);
|
|
2220
2225
|
if (!shouldRetry) break;
|
|
2221
2226
|
const delayMs = CONNECTION_RETRY_BASE_MS * 2 ** attempt;
|
|
2222
2227
|
process.stderr.write(
|
|
@@ -3306,7 +3311,7 @@ function autoDispatch(opts) {
|
|
|
3306
3311
|
}
|
|
3307
3312
|
}
|
|
3308
3313
|
if (!executable && !firstToken) {
|
|
3309
|
-
executable = isPr ? opts?.config?.defaultPrExecutable ??
|
|
3314
|
+
executable = isPr ? opts?.config?.defaultPrExecutable ?? "fix" : opts?.config?.defaultExecutable ?? null;
|
|
3310
3315
|
}
|
|
3311
3316
|
if (isBotAuthor && !consumedFirstToken) {
|
|
3312
3317
|
process.stderr.write(
|
|
@@ -4538,6 +4543,11 @@ var FORBIDDEN_PATH_PREFIXES = [
|
|
|
4538
4543
|
".kody/",
|
|
4539
4544
|
".kody-lean/",
|
|
4540
4545
|
// back-compat: stale runtime dir from kody-lean v0.5.x
|
|
4546
|
+
".codegraph/",
|
|
4547
|
+
// codegraph repo-map tool's runtime scratch (daemon.pid, sock,
|
|
4548
|
+
// db, its own .gitignore) — machine-local, must never be committed. Without
|
|
4549
|
+
// this, a run that does no real work still commits codegraph's startup litter
|
|
4550
|
+
// and opens an empty PR.
|
|
4541
4551
|
"node_modules/",
|
|
4542
4552
|
"dist/",
|
|
4543
4553
|
"build/"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kody-ade/kody-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.186",
|
|
4
4
|
"description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|