@kody-ade/kody-engine 0.4.365 → 0.4.367
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 +31 -2
- package/package.json +1 -1
package/dist/bin/kody.js
CHANGED
|
@@ -15,7 +15,7 @@ var init_package = __esm({
|
|
|
15
15
|
"package.json"() {
|
|
16
16
|
package_default = {
|
|
17
17
|
name: "@kody-ade/kody-engine",
|
|
18
|
-
version: "0.4.
|
|
18
|
+
version: "0.4.367",
|
|
19
19
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
|
|
20
20
|
license: "MIT",
|
|
21
21
|
type: "module",
|
|
@@ -2666,10 +2666,34 @@ function readCheckRuns(repoSlug, ref, ignoreNames) {
|
|
|
2666
2666
|
],
|
|
2667
2667
|
ghOptions
|
|
2668
2668
|
);
|
|
2669
|
+
let rawStatuses = "";
|
|
2670
|
+
try {
|
|
2671
|
+
rawStatuses = gh(
|
|
2672
|
+
[
|
|
2673
|
+
"api",
|
|
2674
|
+
`repos/${repoSlug}/commits/${sha}/status`,
|
|
2675
|
+
"--jq",
|
|
2676
|
+
".statuses[] | {context, state, target_url}"
|
|
2677
|
+
],
|
|
2678
|
+
ghOptions
|
|
2679
|
+
);
|
|
2680
|
+
} catch {
|
|
2681
|
+
}
|
|
2669
2682
|
const ignore = new Set(ignoreNames.map((n) => n.toLowerCase()));
|
|
2670
2683
|
const checks = raw.split("\n").map((l) => l.trim()).filter(Boolean).map((l) => JSON.parse(l)).filter((c) => !ignore.has(String(c.name).toLowerCase()));
|
|
2684
|
+
const statuses = rawStatuses.split("\n").map((l) => l.trim()).filter(Boolean).map((l) => JSON.parse(l)).filter((status) => !ignore.has(String(status.context).toLowerCase()));
|
|
2671
2685
|
const failing = checks.filter((c) => CHECK_FAIL_CONCLUSIONS.has(String(c.conclusion ?? "").toUpperCase())).map((c) => ({ name: c.name, conclusion: String(c.conclusion), detailsUrl: c.details_url }));
|
|
2686
|
+
failing.push(
|
|
2687
|
+
...statuses.filter((status) => ["error", "failure"].includes(String(status.state).toLowerCase())).map((status) => ({
|
|
2688
|
+
name: status.context,
|
|
2689
|
+
conclusion: status.state,
|
|
2690
|
+
detailsUrl: status.target_url ?? ""
|
|
2691
|
+
}))
|
|
2692
|
+
);
|
|
2672
2693
|
const pending = checks.filter((c) => String(c.status).toLowerCase() !== "completed").map((c) => ({ name: c.name, status: c.status }));
|
|
2694
|
+
pending.push(
|
|
2695
|
+
...statuses.filter((status) => String(status.state).toLowerCase() === "pending").map((status) => ({ name: status.context, status: status.state }))
|
|
2696
|
+
);
|
|
2673
2697
|
const state = failing.length > 0 ? "RED" : pending.length > 0 ? "PENDING" : "GREEN";
|
|
2674
2698
|
return { sha, state, failing, pending };
|
|
2675
2699
|
}
|
|
@@ -6860,6 +6884,10 @@ var init_pushWithRetry = __esm({
|
|
|
6860
6884
|
import { execFileSync as execFileSync7 } from "child_process";
|
|
6861
6885
|
import * as fs24 from "fs";
|
|
6862
6886
|
import * as path23 from "path";
|
|
6887
|
+
function isGitHubYamlPath(filePath) {
|
|
6888
|
+
const normalized = filePath.replace(/^\.\/+/, "");
|
|
6889
|
+
return normalized.startsWith(".github/") && /\.ya?ml$/i.test(normalized);
|
|
6890
|
+
}
|
|
6863
6891
|
function git(args, cwd) {
|
|
6864
6892
|
try {
|
|
6865
6893
|
return execFileSync7("git", args, {
|
|
@@ -6923,13 +6951,14 @@ function abortUnfinishedGitOps(cwd) {
|
|
|
6923
6951
|
}
|
|
6924
6952
|
function isForbiddenPath(p) {
|
|
6925
6953
|
if (FORBIDDEN_PATH_EXACT.has(p)) return true;
|
|
6954
|
+
if (isGitHubYamlPath(p)) return true;
|
|
6926
6955
|
for (const pre of ALLOWED_PATH_PREFIXES) if (p.startsWith(pre)) return false;
|
|
6927
6956
|
for (const pre of FORBIDDEN_PATH_PREFIXES) if (p.startsWith(pre)) return true;
|
|
6928
6957
|
for (const suf of FORBIDDEN_PATH_SUFFIXES) if (p.endsWith(suf)) return true;
|
|
6929
6958
|
return false;
|
|
6930
6959
|
}
|
|
6931
6960
|
function listChangedFiles(cwd) {
|
|
6932
|
-
const raw = execFileSync7("git", ["status", "--porcelain=v1", "-z"], {
|
|
6961
|
+
const raw = execFileSync7("git", ["status", "--porcelain=v1", "-z", "--untracked-files=all"], {
|
|
6933
6962
|
encoding: "utf-8",
|
|
6934
6963
|
cwd,
|
|
6935
6964
|
env: { ...process.env, HUSKY: "0", SKIP_HOOKS: "1" },
|
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.367",
|
|
4
4
|
"description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|