@kody-ade/kody-engine 0.4.482 → 0.4.484
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 +24 -2
- package/dist/runtime-services/goal-scheduler/scheduler.sh +0 -0
- package/package.json +26 -25
- package/templates/kody.yml +17 -17
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.484",
|
|
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",
|
|
@@ -15566,6 +15566,25 @@ var init_loadQaContext = __esm({
|
|
|
15566
15566
|
// src/scripts/loadSimpleCapability.ts
|
|
15567
15567
|
import * as fs43 from "fs";
|
|
15568
15568
|
import * as path40 from "path";
|
|
15569
|
+
function registerCapabilitySubagents(profile, toolRoot, toolFiles) {
|
|
15570
|
+
const subagentFiles = toolFiles.flatMap((file) => {
|
|
15571
|
+
const match = /^agents\/([a-z][a-z0-9-]{0,63})\.md$/.exec(file);
|
|
15572
|
+
return match ? [{ name: match[1], file }] : [];
|
|
15573
|
+
});
|
|
15574
|
+
if (subagentFiles.length === 0) return;
|
|
15575
|
+
profile.claudeCode.subagents = [
|
|
15576
|
+
.../* @__PURE__ */ new Set([...profile.claudeCode.subagents, ...subagentFiles.map(({ name }) => name)])
|
|
15577
|
+
];
|
|
15578
|
+
profile.subagentTemplates = {
|
|
15579
|
+
...profile.subagentTemplates ?? {},
|
|
15580
|
+
...Object.fromEntries(
|
|
15581
|
+
subagentFiles.map(({ name, file }) => [name, fs43.readFileSync(path40.join(toolRoot, file), "utf-8")])
|
|
15582
|
+
)
|
|
15583
|
+
};
|
|
15584
|
+
if (!profile.claudeCode.tools.includes("Agent")) {
|
|
15585
|
+
profile.claudeCode.tools = [...profile.claudeCode.tools, "Agent"];
|
|
15586
|
+
}
|
|
15587
|
+
}
|
|
15569
15588
|
function parseInput(supplied) {
|
|
15570
15589
|
if (typeof supplied !== "string") return supplied;
|
|
15571
15590
|
try {
|
|
@@ -15621,7 +15640,7 @@ var init_loadSimpleCapability = __esm({
|
|
|
15621
15640
|
init_capabilityFolders();
|
|
15622
15641
|
init_definition_paths();
|
|
15623
15642
|
init_capabilityExecutionEnvironment();
|
|
15624
|
-
loadSimpleCapability = async (ctx) => {
|
|
15643
|
+
loadSimpleCapability = async (ctx, profile) => {
|
|
15625
15644
|
const slug = typeof ctx.args.capability === "string" ? ctx.args.capability.trim() : "";
|
|
15626
15645
|
if (!/^[a-z][a-z0-9-]*$/.test(slug)) {
|
|
15627
15646
|
throw new Error("capability-run requires a valid capability slug");
|
|
@@ -15641,6 +15660,9 @@ var init_loadSimpleCapability = __esm({
|
|
|
15641
15660
|
ctx.data.jobCapability = slug;
|
|
15642
15661
|
ctx.data.capabilityInput = input;
|
|
15643
15662
|
ctx.data.capabilityExecution = capability.contract?.execution ?? "agent";
|
|
15663
|
+
if (ctx.data.capabilityExecution === "agent") {
|
|
15664
|
+
registerCapabilitySubagents(profile, toolRoot, toolFiles);
|
|
15665
|
+
}
|
|
15644
15666
|
if (capability.contract?.execution === "script") {
|
|
15645
15667
|
ctx.data.capabilityScriptPath = path40.join(capability.dir, "tools", "run.sh");
|
|
15646
15668
|
ctx.data.capabilitySecretNames = capability.contract.secrets ?? [];
|
|
File without changes
|
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.484",
|
|
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",
|
|
@@ -12,6 +12,29 @@
|
|
|
12
12
|
"templates",
|
|
13
13
|
"kody.config.schema.json"
|
|
14
14
|
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"kody:run": "tsx bin/kody.ts",
|
|
17
|
+
"serve": "tsx bin/kody.ts serve",
|
|
18
|
+
"serve:vscode": "tsx bin/kody.ts serve vscode",
|
|
19
|
+
"serve:claude": "tsx bin/kody.ts serve claude",
|
|
20
|
+
"clean:dist": "node scripts/clean-dist.cjs",
|
|
21
|
+
"build": "pnpm clean:dist && tsup && node scripts/copy-assets.cjs",
|
|
22
|
+
"check:modularity": "tsx scripts/check-script-modularity.ts",
|
|
23
|
+
"pretest": "pnpm check:modularity",
|
|
24
|
+
"test": "vitest run tests/unit tests/int --coverage",
|
|
25
|
+
"posttest": "tsx scripts/check-coverage-floor.ts",
|
|
26
|
+
"test:smoke": "vitest run tests/smoke --no-coverage",
|
|
27
|
+
"test:e2e": "vitest run tests/e2e --no-coverage",
|
|
28
|
+
"test:runtime-services": "node --test \"tests/runtime-services/*.test.mjs\"",
|
|
29
|
+
"test:all": "vitest run tests --no-coverage",
|
|
30
|
+
"typecheck": "tsc --noEmit",
|
|
31
|
+
"lint": "biome check",
|
|
32
|
+
"lint:fix": "biome check --write",
|
|
33
|
+
"format": "biome format --write",
|
|
34
|
+
"verify:package": "node scripts/verify-package-tarball.cjs",
|
|
35
|
+
"brain:publish": "docker buildx build --platform linux/amd64 -f runner/Dockerfile.brain --build-arg KODY_ENGINE_REF=$(git rev-parse HEAD) -t ghcr.io/${KODY_BRAIN_GHCR_OWNER:-aharonyaircohen}/kody-brain:latest --push runner",
|
|
36
|
+
"prepublishOnly": "pnpm typecheck && vitest run tests/unit tests/int --no-coverage && pnpm test:runtime-services && pnpm build && pnpm verify:package"
|
|
37
|
+
},
|
|
15
38
|
"dependencies": {
|
|
16
39
|
"@actions/cache": "^6.0.0",
|
|
17
40
|
"@anthropic-ai/claude-agent-sdk": "0.2.119",
|
|
@@ -38,27 +61,5 @@
|
|
|
38
61
|
"url": "git+https://github.com/aharonyaircohen/kody-engine.git"
|
|
39
62
|
},
|
|
40
63
|
"homepage": "https://github.com/aharonyaircohen/kody-engine",
|
|
41
|
-
"bugs": "https://github.com/aharonyaircohen/kody-engine/issues"
|
|
42
|
-
|
|
43
|
-
"kody:run": "tsx bin/kody.ts",
|
|
44
|
-
"serve": "tsx bin/kody.ts serve",
|
|
45
|
-
"serve:vscode": "tsx bin/kody.ts serve vscode",
|
|
46
|
-
"serve:claude": "tsx bin/kody.ts serve claude",
|
|
47
|
-
"clean:dist": "node scripts/clean-dist.cjs",
|
|
48
|
-
"build": "pnpm clean:dist && tsup && node scripts/copy-assets.cjs",
|
|
49
|
-
"check:modularity": "tsx scripts/check-script-modularity.ts",
|
|
50
|
-
"pretest": "pnpm check:modularity",
|
|
51
|
-
"test": "vitest run tests/unit tests/int --coverage",
|
|
52
|
-
"posttest": "tsx scripts/check-coverage-floor.ts",
|
|
53
|
-
"test:smoke": "vitest run tests/smoke --no-coverage",
|
|
54
|
-
"test:e2e": "vitest run tests/e2e --no-coverage",
|
|
55
|
-
"test:runtime-services": "node --test \"tests/runtime-services/*.test.mjs\"",
|
|
56
|
-
"test:all": "vitest run tests --no-coverage",
|
|
57
|
-
"typecheck": "tsc --noEmit",
|
|
58
|
-
"lint": "biome check",
|
|
59
|
-
"lint:fix": "biome check --write",
|
|
60
|
-
"format": "biome format --write",
|
|
61
|
-
"verify:package": "node scripts/verify-package-tarball.cjs",
|
|
62
|
-
"brain:publish": "docker buildx build --platform linux/amd64 -f runner/Dockerfile.brain --build-arg KODY_ENGINE_REF=$(git rev-parse HEAD) -t ghcr.io/${KODY_BRAIN_GHCR_OWNER:-aharonyaircohen}/kody-brain:latest --push runner"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
64
|
+
"bugs": "https://github.com/aharonyaircohen/kody-engine/issues"
|
|
65
|
+
}
|
package/templates/kody.yml
CHANGED
|
@@ -11,43 +11,43 @@ on:
|
|
|
11
11
|
workflow_dispatch:
|
|
12
12
|
inputs:
|
|
13
13
|
issue_number:
|
|
14
|
-
description:
|
|
14
|
+
description: 'GitHub issue number (agent mode)'
|
|
15
15
|
type: string
|
|
16
|
-
default:
|
|
16
|
+
default: ''
|
|
17
17
|
sessionId:
|
|
18
|
-
description:
|
|
18
|
+
description: 'Chat session ID (chat mode, from Kody Dashboard)'
|
|
19
19
|
type: string
|
|
20
|
-
default:
|
|
20
|
+
default: ''
|
|
21
21
|
message:
|
|
22
|
-
description:
|
|
22
|
+
description: 'Initial chat message (optional)'
|
|
23
23
|
type: string
|
|
24
|
-
default:
|
|
24
|
+
default: ''
|
|
25
25
|
model:
|
|
26
|
-
description:
|
|
26
|
+
description: 'Model override (optional)'
|
|
27
27
|
type: string
|
|
28
|
-
default:
|
|
28
|
+
default: ''
|
|
29
29
|
dashboardUrl:
|
|
30
|
-
description:
|
|
30
|
+
description: 'Dashboard event ingest URL (chat mode)'
|
|
31
31
|
type: string
|
|
32
|
-
default:
|
|
32
|
+
default: ''
|
|
33
33
|
capability:
|
|
34
|
-
description:
|
|
34
|
+
description: 'Capability action to run'
|
|
35
35
|
type: string
|
|
36
|
-
default:
|
|
36
|
+
default: ''
|
|
37
37
|
base:
|
|
38
|
-
description:
|
|
38
|
+
description: 'Optional base branch'
|
|
39
39
|
type: string
|
|
40
|
-
default:
|
|
40
|
+
default: ''
|
|
41
41
|
runRequest:
|
|
42
|
-
description:
|
|
42
|
+
description: 'Canonical Kody execution request JSON'
|
|
43
43
|
type: string
|
|
44
|
-
default:
|
|
44
|
+
default: ''
|
|
45
45
|
issue_comment:
|
|
46
46
|
types: [created]
|
|
47
47
|
pull_request:
|
|
48
48
|
types: [opened, synchronize, closed]
|
|
49
49
|
schedule:
|
|
50
|
-
- cron:
|
|
50
|
+
- cron: '7/15 * * * *'
|
|
51
51
|
|
|
52
52
|
jobs:
|
|
53
53
|
run:
|