@kody-ade/kody-engine 0.4.1 → 0.4.3

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
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@kody-ade/kody-engine",
6
- version: "0.4.1",
6
+ version: "0.4.3",
7
7
  description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
8
8
  license: "MIT",
9
9
  type: "module",
@@ -8086,11 +8086,18 @@ function isOnPath(bin) {
8086
8086
  return false;
8087
8087
  }
8088
8088
  }
8089
+ var PM_BOOTSTRAP_VERSION = {
8090
+ pnpm: "10",
8091
+ yarn: "1",
8092
+ bun: "1",
8093
+ npm: "latest"
8094
+ };
8089
8095
  function ensurePackageManagerInstalled(pm, cwd) {
8090
8096
  if (pm === "npm" || isOnPath(pm)) return 0;
8091
- process.stdout.write(`\u2192 kody: ${pm} not on PATH \u2014 installing via npm install -g ${pm}
8097
+ const spec = `${pm}@${PM_BOOTSTRAP_VERSION[pm]}`;
8098
+ process.stdout.write(`\u2192 kody: ${pm} not on PATH \u2014 installing via npm install -g ${spec}
8092
8099
  `);
8093
- return shellOut("npm", ["install", "-g", pm], cwd);
8100
+ return shellOut("npm", ["install", "-g", spec], cwd);
8094
8101
  }
8095
8102
  function installDeps(pm, cwd) {
8096
8103
  const ensureCode = ensurePackageManagerInstalled(pm, cwd);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chore",
3
- "role": "orchestrator",
4
- "describe": "Sub-orchestrator for chore / docs / dep-bump issues — run → review (→ fix on concerns/fail). Skips planning entirely. No agent.",
3
+ "role": "container",
4
+ "describe": "Chore / docs / dep-bump flow — run → review (→ fix on concerns/fail). Skips planning entirely. Children run sequentially in one process via the container loop.",
5
5
  "inputs": [
6
6
  {
7
7
  "name": "issue",
@@ -45,30 +45,21 @@
45
45
  }
46
46
  },
47
47
  { "script": "loadIssueContext" },
48
- { "script": "loadTaskState" },
49
- { "script": "skipAgent" }
48
+ { "script": "loadTaskState" }
50
49
  ],
51
50
  "postflight": [
52
- { "script": "startFlow", "with": { "entry": "run", "target": "issue" } },
53
-
54
- { "script": "dispatch", "with": { "next": "review", "target": "pr" },
55
- "runWhen": { "data.taskState.core.lastOutcome.type": "RUN_COMPLETED" } },
56
-
57
51
  { "script": "finishFlow",
58
52
  "with": { "reason": "review-passed", "label": "kody:done", "color": "0e8a16", "description": "kody: PR ready for human review/merge" },
59
53
  "runWhen": { "data.taskState.core.lastOutcome.type": "REVIEW_PASS" } },
60
54
 
61
- { "script": "dispatch", "with": { "next": "fix", "target": "pr" },
62
- "runWhen": { "data.taskState.core.lastOutcome.type": ["REVIEW_CONCERNS", "REVIEW_FAIL"] } },
55
+ { "script": "finishFlow",
56
+ "with": { "reason": "fix-applied", "label": "kody:done", "color": "0e8a16", "description": "kody: PR ready for human review/merge" },
57
+ "runWhen": { "data.taskState.core.lastOutcome.type": "FIX_COMPLETED" } },
63
58
 
64
59
  { "script": "finishFlow",
65
60
  "with": { "reason": "review-failed", "label": "kody:failed", "color": "e11d21", "description": "kody: flow failed" },
66
61
  "runWhen": { "data.taskState.core.lastOutcome.type": "REVIEW_FAILED" } },
67
62
 
68
- { "script": "finishFlow",
69
- "with": { "reason": "fix-applied", "label": "kody:done", "color": "0e8a16", "description": "kody: PR ready for human review/merge" },
70
- "runWhen": { "data.taskState.core.lastOutcome.type": "FIX_COMPLETED" } },
71
-
72
63
  { "script": "finishFlow",
73
64
  "with": { "reason": "aborted", "label": "kody:failed", "color": "e11d21", "description": "kody: flow failed" },
74
65
  "runWhen": { "data.taskState.core.lastOutcome.type": ["RUN_FAILED", "FIX_FAILED", "AGENT_NOT_RUN"] } },
@@ -76,9 +67,36 @@
76
67
  { "script": "persistFlowState" }
77
68
  ]
78
69
  },
70
+ "children": [
71
+ {
72
+ "exec": "run",
73
+ "target": "issue",
74
+ "next": {
75
+ "RUN_COMPLETED": "review",
76
+ "*": "abort"
77
+ }
78
+ },
79
+ {
80
+ "exec": "review",
81
+ "target": "pr",
82
+ "next": {
83
+ "REVIEW_PASS": "done",
84
+ "REVIEW_CONCERNS": "fix",
85
+ "REVIEW_FAIL": "fix",
86
+ "*": "abort"
87
+ }
88
+ },
89
+ {
90
+ "exec": "fix",
91
+ "target": "pr",
92
+ "next": {
93
+ "FIX_COMPLETED": "done",
94
+ "*": "abort"
95
+ }
96
+ }
97
+ ],
79
98
  "output": {
80
99
  "actionTypes": [
81
- "FLOW_STARTED",
82
100
  "FLOW_COMPLETED",
83
101
  "FLOW_ABORTED"
84
102
  ]
@@ -1,5 +1,6 @@
1
1
  <!--
2
- Placeholder. The chore sub-orchestrator runs with maxTurns: 0 and a
3
- `skipAgent` preflight, so this prompt is never sent to Claude. The
4
- transition logic lives entirely in profile.json's postflight entries.
2
+ Container role: no agent runs. The transition logic lives entirely in
3
+ profile.json's `children[].next` map (driven by the container loop in
4
+ src/executor.ts:runContainerLoop). This file exists only because the
5
+ profile loader expects a prompt.md sibling.
5
6
  -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.1",
3
+ "version": "0.4.3",
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",