@kody-ade/kody-engine 0.4.133 → 0.4.134
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 +22 -11
- package/package.json +1 -1
package/dist/bin/kody.js
CHANGED
|
@@ -880,7 +880,7 @@ var init_loadPriorArt = __esm({
|
|
|
880
880
|
// package.json
|
|
881
881
|
var package_default = {
|
|
882
882
|
name: "@kody-ade/kody-engine",
|
|
883
|
-
version: "0.4.
|
|
883
|
+
version: "0.4.134",
|
|
884
884
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
885
885
|
license: "MIT",
|
|
886
886
|
type: "module",
|
|
@@ -8624,23 +8624,34 @@ function readKodyVariables(cwd) {
|
|
|
8624
8624
|
|
|
8625
8625
|
// src/scripts/loadQaContext.ts
|
|
8626
8626
|
var PROFILE_DIR_REL_PATH = ".kody/profile";
|
|
8627
|
+
var QA_STAFF = "qa-engineer";
|
|
8628
|
+
var ALL_STAFF = "*";
|
|
8629
|
+
var LEGACY_AUDIENCE_TO_STAFF = { chat: "kody", qa: QA_STAFF };
|
|
8627
8630
|
var FRONTMATTER_RE2 = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;
|
|
8628
|
-
function
|
|
8631
|
+
function parseSlugList(value) {
|
|
8632
|
+
const inner = value.startsWith("[") && value.endsWith("]") ? value.slice(1, -1) : value;
|
|
8633
|
+
return inner.split(",").map((s) => s.trim().replace(/^["']|["']$/g, "").toLowerCase()).filter(Boolean);
|
|
8634
|
+
}
|
|
8635
|
+
function readProfileStaff(raw) {
|
|
8629
8636
|
const m = FRONTMATTER_RE2.exec(raw);
|
|
8630
|
-
if (!m) return {
|
|
8637
|
+
if (!m) return { staff: ["kody"], body: raw };
|
|
8631
8638
|
const body = raw.slice(m[0].length);
|
|
8639
|
+
let staff = null;
|
|
8640
|
+
let legacy = null;
|
|
8632
8641
|
for (const line of (m[1] ?? "").split(/\r?\n/)) {
|
|
8633
8642
|
const t = line.trim();
|
|
8634
8643
|
const c = t.indexOf(":");
|
|
8635
8644
|
if (c < 0) continue;
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8645
|
+
const key = t.slice(0, c).trim();
|
|
8646
|
+
const value = t.slice(c + 1).trim();
|
|
8647
|
+
if (key === "staff") {
|
|
8648
|
+
staff = parseSlugList(value);
|
|
8649
|
+
} else if (key === "audience" || key === "for") {
|
|
8650
|
+
const mapped = parseSlugList(value).map((tok) => LEGACY_AUDIENCE_TO_STAFF[tok]).filter(Boolean);
|
|
8651
|
+
if (mapped.length > 0) legacy = mapped;
|
|
8641
8652
|
}
|
|
8642
8653
|
}
|
|
8643
|
-
return {
|
|
8654
|
+
return { staff: staff ?? legacy ?? ["kody"], body };
|
|
8644
8655
|
}
|
|
8645
8656
|
function readProfile(cwd) {
|
|
8646
8657
|
const dir = path33.join(cwd, PROFILE_DIR_REL_PATH);
|
|
@@ -8655,8 +8666,8 @@ function readProfile(cwd) {
|
|
|
8655
8666
|
for (const file of entries) {
|
|
8656
8667
|
try {
|
|
8657
8668
|
const raw = fs34.readFileSync(path33.join(dir, file), "utf-8");
|
|
8658
|
-
const {
|
|
8659
|
-
if (!
|
|
8669
|
+
const { staff, body } = readProfileStaff(raw);
|
|
8670
|
+
if (!staff.includes(QA_STAFF) && !staff.includes(ALL_STAFF)) continue;
|
|
8660
8671
|
blocks.push(`## ${file}
|
|
8661
8672
|
|
|
8662
8673
|
${body.trim()}`);
|
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.134",
|
|
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",
|