@kody-ade/kody-engine 0.4.586 → 0.4.588

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.586",
18
+ version: "0.4.588",
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",
@@ -2231,12 +2231,6 @@ function parseCapabilityContract(raw) {
2231
2231
  }
2232
2232
  const deliveryPathAllowlist = parseDeliveryPathAllowlist(parsed.deliveryPathAllowlist);
2233
2233
  const deliveryConfigAllowlist = parseDeliveryConfigAllowlist(parsed.deliveryConfigAllowlist);
2234
- if (deliveryPathAllowlist && parsed.execution !== "agent") {
2235
- throw new Error('contract.json deliveryPathAllowlist is supported only when execution is "agent"');
2236
- }
2237
- if (deliveryConfigAllowlist && parsed.execution !== "agent") {
2238
- throw new Error('contract.json deliveryConfigAllowlist is supported only when execution is "agent"');
2239
- }
2240
2234
  if (deliveryConfigAllowlist && Object.keys(deliveryConfigAllowlist).some((filePath) => !deliveryPathAllowlist?.includes(filePath))) {
2241
2235
  throw new Error("contract.json deliveryConfigAllowlist files must also be deliveryPathAllowlist entries");
2242
2236
  }
@@ -17537,7 +17531,7 @@ var init_parseReproOutput = __esm({
17537
17531
 
17538
17532
  // src/scripts/parseSimpleCapabilityOutput.ts
17539
17533
  import * as fs47 from "fs";
17540
- function acceptAuthoritativeFileOutput(ctx, profile, output) {
17534
+ function acceptAuthoritativeCapabilityOutput(ctx, profile, output) {
17541
17535
  ctx.data.agentDone = true;
17542
17536
  delete ctx.data.agentFailureReason;
17543
17537
  const summary = isObject2(output) && typeof output.summary === "string" ? output.summary.trim() : "";
@@ -17627,7 +17621,8 @@ var init_parseSimpleCapabilityOutput = __esm({
17627
17621
  }
17628
17622
  const outputPath = typeof ctx.data.capabilityOutputPath === "string" ? ctx.data.capabilityOutputPath : void 0;
17629
17623
  const fileOutput = readOutputFile(outputPath);
17630
- const output = fileOutput.found ? fileOutput.value : Object.hasOwn(ctx.data, "capabilityScriptOutput") ? ctx.data.capabilityScriptOutput : parseOutput(agentResult?.finalText);
17624
+ const hasScriptOutput = Object.hasOwn(ctx.data, "capabilityScriptOutput");
17625
+ const output = fileOutput.found ? fileOutput.value : hasScriptOutput ? ctx.data.capabilityScriptOutput : parseOutput(agentResult?.finalText);
17631
17626
  if (output === void 0) {
17632
17627
  const reason2 = agentResult?.outcomeKind === "out_of_turns" ? "Capability execution limit reached" : "Capability execution ended before returning a result";
17633
17628
  const blocked = {
@@ -17674,7 +17669,7 @@ var init_parseSimpleCapabilityOutput = __esm({
17674
17669
  return;
17675
17670
  }
17676
17671
  }
17677
- if (fileOutput.found) acceptAuthoritativeFileOutput(ctx, profile, output);
17672
+ if (fileOutput.found || hasScriptOutput) acceptAuthoritativeCapabilityOutput(ctx, profile, output);
17678
17673
  ctx.data.capabilityOutput = output;
17679
17674
  const structuredResult = parseCapabilityResult(output);
17680
17675
  if (structuredResult) {
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.586",
3
+ "version": "0.4.588",
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,30 @@
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
+ "verify:live-release": "tsx scripts/live-release-gate.ts",
29
+ "test:runtime-services": "node --test \"tests/runtime-services/*.test.mjs\"",
30
+ "test:all": "vitest run tests --no-coverage",
31
+ "typecheck": "tsc --noEmit",
32
+ "lint": "biome check",
33
+ "lint:fix": "biome check --write",
34
+ "format": "biome format --write",
35
+ "verify:package": "node scripts/verify-package-tarball.cjs",
36
+ "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",
37
+ "prepublishOnly": "pnpm typecheck && pnpm test:runtime-services && pnpm build && pnpm verify:package"
38
+ },
15
39
  "dependencies": {
16
40
  "@actions/cache": "^6.0.0",
17
41
  "@anthropic-ai/claude-agent-sdk": "0.2.119",
@@ -38,28 +62,5 @@
38
62
  "url": "git+https://github.com/aharonyaircohen/kody-engine.git"
39
63
  },
40
64
  "homepage": "https://github.com/aharonyaircohen/kody-engine",
41
- "bugs": "https://github.com/aharonyaircohen/kody-engine/issues",
42
- "scripts": {
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
- "verify:live-release": "tsx scripts/live-release-gate.ts",
56
- "test:runtime-services": "node --test \"tests/runtime-services/*.test.mjs\"",
57
- "test:all": "vitest run tests --no-coverage",
58
- "typecheck": "tsc --noEmit",
59
- "lint": "biome check",
60
- "lint:fix": "biome check --write",
61
- "format": "biome format --write",
62
- "verify:package": "node scripts/verify-package-tarball.cjs",
63
- "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"
64
- }
65
- }
65
+ "bugs": "https://github.com/aharonyaircohen/kody-engine/issues"
66
+ }
@@ -14,6 +14,10 @@ on:
14
14
  description: 'GitHub issue number (agent mode)'
15
15
  type: string
16
16
  default: ''
17
+ requestId:
18
+ description: 'Unique Kody execution request ID'
19
+ type: string
20
+ default: ''
17
21
  sessionId:
18
22
  description: 'Chat session ID (chat mode, from Kody Dashboard)'
19
23
  type: string
@@ -55,7 +59,7 @@ jobs:
55
59
  runs-on: ubuntu-latest
56
60
  timeout-minutes: 360
57
61
  concurrency:
58
- group: kody-${{ inputs.sessionId || inputs.issue_number || github.event.issue.number || github.sha }}
62
+ group: kody-${{ inputs.requestId || inputs.sessionId || inputs.issue_number || github.event.issue.number || github.sha }}
59
63
  cancel-in-progress: false
60
64
  permissions:
61
65
  issues: write