@kody-ade/kody-engine 0.4.581 → 0.4.583
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
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.583",
|
|
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",
|
|
@@ -8711,11 +8711,19 @@ function isSafeConfigActivationChange(before, after) {
|
|
|
8711
8711
|
if (!isRecord(before) || !isRecord(after)) return false;
|
|
8712
8712
|
const beforeRest = { ...before };
|
|
8713
8713
|
const afterRest = { ...after };
|
|
8714
|
+
const beforeCompany = before.company;
|
|
8715
|
+
const afterCompany = after.company;
|
|
8716
|
+
if (!isRecord(beforeCompany) || !isRecord(afterCompany)) return false;
|
|
8717
|
+
delete beforeRest.company;
|
|
8718
|
+
delete afterRest.company;
|
|
8719
|
+
if (!isDeepStrictEqual(beforeRest, afterRest)) return false;
|
|
8720
|
+
const beforeCompanyRest = { ...beforeCompany };
|
|
8721
|
+
const afterCompanyRest = { ...afterCompany };
|
|
8714
8722
|
for (const field of ACTIVATION_FIELDS) {
|
|
8715
|
-
const previous =
|
|
8716
|
-
const next =
|
|
8717
|
-
delete
|
|
8718
|
-
delete
|
|
8723
|
+
const previous = beforeCompany[field];
|
|
8724
|
+
const next = afterCompany[field];
|
|
8725
|
+
delete beforeCompanyRest[field];
|
|
8726
|
+
delete afterCompanyRest[field];
|
|
8719
8727
|
if (previous === void 0 && next === void 0) continue;
|
|
8720
8728
|
if (!Array.isArray(previous ?? []) || !Array.isArray(next)) return false;
|
|
8721
8729
|
if (!next.every((value) => typeof value === "string")) return false;
|
|
@@ -8723,7 +8731,7 @@ function isSafeConfigActivationChange(before, after) {
|
|
|
8723
8731
|
const nextValues = new Set(next);
|
|
8724
8732
|
if (!previous.every((value) => nextValues.has(value))) return false;
|
|
8725
8733
|
}
|
|
8726
|
-
return isDeepStrictEqual(
|
|
8734
|
+
return isDeepStrictEqual(beforeCompanyRest, afterCompanyRest);
|
|
8727
8735
|
}
|
|
8728
8736
|
function isTrustedConfigActivationChange(filePath, deliveryPathAllowlist, cwd) {
|
|
8729
8737
|
if (filePath !== "kody.config.json" || !deliveryPathAllowlist.includes(filePath)) return false;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"hooks": [
|
|
8
8
|
{
|
|
9
9
|
"type": "command",
|
|
10
|
-
"command": "node -e 'let s=\"\";process.stdin.on(\"data\",c=>s+=c).on(\"end\",()=>{try{const d=JSON.parse(s);const cmd=(d.tool_input&&d.tool_input.command)||\"\";const wrap=new Set([\"command\",\"exec\",\"xargs\",\"env\",\"nohup\",\"time\",\"nice\",\"sudo\",\"doas\"]);const readGit=new Set([\"status\",\"log\",\"diff\",\"show\",\"rev-parse\",\"ls-files\"]);const blocked=cmd.split(/[;&|\\n]+/).some(p=>{const t=p.trim().split(/\\s+/).filter(Boolean);let i=0;while(i<t.length&&(wrap.has(t[i])||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[i])))i++;const tool=(t[i]||\"\").split(\"/\").pop();if(tool===\"gh\")return true;if(tool!==\"git\")return false;return !readGit.has(t[i+1])});const shc=/\\b(?:ba|z|da|k)?sh\\s+[^;|&]*-c\\s*[\"\\x27`]+\\s*(?:\\S*\\/)?(?:git|gh)\\b/.test(cmd);const sub=/[$`]\\(?\\s*(?:\\S*\\/)?(?:git|gh)\\s/.test(cmd);if(blocked||shc||sub){process.stderr.write(\"kody blocks Git and GitHub writes — the delivery wrapper owns VCS mutations
|
|
10
|
+
"command": "node -e 'let s=\"\";process.stdin.on(\"data\",c=>s+=c).on(\"end\",()=>{try{const d=JSON.parse(s);const cmd=(d.tool_input&&d.tool_input.command)||\"\";const wrap=new Set([\"command\",\"exec\",\"xargs\",\"env\",\"nohup\",\"time\",\"nice\",\"sudo\",\"doas\"]);const readGit=new Set([\"status\",\"log\",\"diff\",\"show\",\"rev-parse\",\"ls-files\"]);const blocked=cmd.split(/[;&|\\n]+/).some(p=>{const t=p.trim().split(/\\s+/).filter(Boolean);let i=0;while(i<t.length&&(wrap.has(t[i])||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[i])))i++;const tool=(t[i]||\"\").split(\"/\").pop();if(tool===\"gh\")return true;if(tool!==\"git\")return false;return !readGit.has(t[i+1])});const shc=/\\b(?:ba|z|da|k)?sh\\s+[^;|&]*-c\\s*[\"\\x27`]+\\s*(?:\\S*\\/)?(?:git|gh)\\b/.test(cmd);const sub=/[$`]\\(?\\s*(?:\\S*\\/)?(?:git|gh)\\s/.test(cmd);if(blocked||shc||sub){process.stderr.write(\"kody blocks Git and GitHub writes — the delivery wrapper owns VCS mutations. Do not treat this expected block as a task failure; the delivery wrapper will commit and create the pull request. Continue verification and finish your result normally.\\n\");process.exit(2)}}catch{}})'"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
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.583",
|
|
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",
|