@kody-ade/kody-engine 0.4.163 → 0.4.165

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
@@ -1061,7 +1061,7 @@ var init_loadPriorArt = __esm({
1061
1061
  // package.json
1062
1062
  var package_default = {
1063
1063
  name: "@kody-ade/kody-engine",
1064
- version: "0.4.163",
1064
+ version: "0.4.165",
1065
1065
  description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
1066
1066
  license: "MIT",
1067
1067
  type: "module",
@@ -2988,7 +2988,11 @@ function autoDispatch(opts) {
2988
2988
  if (eventName === "workflow_dispatch") {
2989
2989
  const n = parseInt(String(event.inputs?.issue_number ?? ""), 10);
2990
2990
  if (!Number.isNaN(n) && n > 0) {
2991
- return { executable: "run", cliArgs: { issue: n }, target: n };
2991
+ const exe = String(event.inputs?.executable ?? "").trim() || "run";
2992
+ const base = String(event.inputs?.base ?? "").trim();
2993
+ const cliArgs = { issue: n };
2994
+ if (base) cliArgs.base = base;
2995
+ return { executable: exe, cliArgs, target: n };
2992
2996
  }
2993
2997
  return null;
2994
2998
  }
@@ -6267,6 +6271,30 @@ function commentOnIssue(issueNumber, body, cwd) {
6267
6271
  return fail(err);
6268
6272
  }
6269
6273
  }
6274
+ var GOAL_TASK_WORKFLOW = "kody.yml";
6275
+ function dispatchTaskRun(issueNumber, base, ref, cwd) {
6276
+ try {
6277
+ gh(
6278
+ [
6279
+ "workflow",
6280
+ "run",
6281
+ GOAL_TASK_WORKFLOW,
6282
+ "--ref",
6283
+ ref,
6284
+ "-f",
6285
+ `issue_number=${issueNumber}`,
6286
+ "-f",
6287
+ "executable=classify",
6288
+ "-f",
6289
+ `base=${base}`
6290
+ ],
6291
+ { cwd }
6292
+ );
6293
+ return { ok: true };
6294
+ } catch (err) {
6295
+ return fail(err);
6296
+ }
6297
+ }
6270
6298
  function closeIssue(issueNumber, options, cwd) {
6271
6299
  try {
6272
6300
  if (options.comment) {
@@ -6930,11 +6958,21 @@ var dispatchClassified = async (ctx) => {
6930
6958
 
6931
6959
  ${stateBody}`;
6932
6960
  try {
6933
- execFileSync11("gh", ["issue", "comment", String(issueNumber), "--body", body], {
6934
- cwd: ctx.cwd,
6935
- timeout: API_TIMEOUT_MS4,
6936
- stdio: ["ignore", "pipe", "pipe"]
6937
- });
6961
+ const existing = findStateComment("issue", issueNumber, ctx.cwd);
6962
+ if (existing) {
6963
+ execFileSync11("gh", ["api", `repos/{owner}/{repo}/issues/comments/${existing.id}`, "-X", "PATCH", "-F", "body=@-"], {
6964
+ cwd: ctx.cwd,
6965
+ timeout: API_TIMEOUT_MS4,
6966
+ input: body,
6967
+ stdio: ["pipe", "pipe", "pipe"]
6968
+ });
6969
+ } else {
6970
+ execFileSync11("gh", ["issue", "comment", String(issueNumber), "--body", body], {
6971
+ cwd: ctx.cwd,
6972
+ timeout: API_TIMEOUT_MS4,
6973
+ stdio: ["ignore", "pipe", "pipe"]
6974
+ });
6975
+ }
6938
6976
  } catch (err) {
6939
6977
  process.stderr.write(
6940
6978
  `[kody dispatchClassified] failed to post state comment for #${issueNumber}: ${err instanceof Error ? err.message : String(err)}
@@ -7604,12 +7642,15 @@ var dispatchNextTask = async (ctx) => {
7604
7642
  return;
7605
7643
  }
7606
7644
  const base = goal.leafPr?.headRefName ?? goal.defaultBranch;
7607
- process.stdout.write(`[goal-tick] dispatching #${next.number} in-process via classify (--base ${base})
7645
+ const ref = goal.defaultBranch;
7646
+ process.stdout.write(`[goal-tick] dispatching #${next.number} via workflow_dispatch (classify, --base ${base})
7608
7647
  `);
7609
- ctx.output.nextDispatch = {
7610
- executable: "classify",
7611
- cliArgs: { issue: next.number, base }
7612
- };
7648
+ const res = dispatchTaskRun(next.number, base, ref, ctx.cwd);
7649
+ if (!res.ok) {
7650
+ process.stderr.write(`[goal-tick] dispatchNextTask: workflow_dispatch on #${next.number} failed: ${res.error}
7651
+ `);
7652
+ return;
7653
+ }
7613
7654
  goal.lastDispatchedIssue = next.number;
7614
7655
  };
7615
7656
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.163",
3
+ "version": "0.4.165",
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",
@@ -43,6 +43,14 @@ on:
43
43
  description: "Dashboard event ingest URL with inline ?token=... (chat mode)"
44
44
  type: string
45
45
  default: ""
46
+ executable:
47
+ description: "Stage to run for issue_number (default: run). goal-tick sets classify."
48
+ type: string
49
+ default: ""
50
+ base:
51
+ description: "Stacked-PR base branch for issue_number (goal-tick stacked dispatch)."
52
+ type: string
53
+ default: ""
46
54
  issue_comment:
47
55
  types: [created]
48
56
  pull_request: