codeharness 0.31.0 → 0.31.1

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.
@@ -2895,7 +2895,7 @@ function generateDockerfileTemplate(projectDir, stackOrDetections) {
2895
2895
  }
2896
2896
 
2897
2897
  // src/modules/infra/init-project.ts
2898
- var HARNESS_VERSION = true ? "0.31.0" : "0.0.0-dev";
2898
+ var HARNESS_VERSION = true ? "0.31.1" : "0.0.0-dev";
2899
2899
  function failResult(opts, error) {
2900
2900
  return {
2901
2901
  status: "fail",
@@ -16,7 +16,7 @@ import {
16
16
  stopCollectorOnly,
17
17
  stopSharedStack,
18
18
  stopStack
19
- } from "./chunk-ITPLJVAB.js";
19
+ } from "./chunk-INMK5DZS.js";
20
20
  export {
21
21
  checkRemoteEndpoint,
22
22
  cleanupOrphanedContainers,
package/dist/index.js CHANGED
@@ -40,7 +40,7 @@ import {
40
40
  validateDockerfile,
41
41
  warn,
42
42
  writeState
43
- } from "./chunk-ITPLJVAB.js";
43
+ } from "./chunk-INMK5DZS.js";
44
44
 
45
45
  // src/index.ts
46
46
  import { Command } from "commander";
@@ -5523,10 +5523,6 @@ function Separator() {
5523
5523
  const width = process.stdout.columns || 60;
5524
5524
  return /* @__PURE__ */ jsx8(Text8, { children: "\u2501".repeat(width) });
5525
5525
  }
5526
- function shortKey(key) {
5527
- const m = key.match(/^(\d+-\d+)/);
5528
- return m ? m[1] : key;
5529
- }
5530
5526
  function formatCost2(cost) {
5531
5527
  return `$${cost.toFixed(2)}`;
5532
5528
  }
@@ -5571,9 +5567,9 @@ function EpicInfo({ info: info3 }) {
5571
5567
  function StoryContext({ entries }) {
5572
5568
  if (entries.length === 0) return null;
5573
5569
  return /* @__PURE__ */ jsx8(Box8, { flexDirection: "column", children: entries.map((e, i) => {
5574
- if (e.role === "prev") return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { color: "green", children: ` Prev: ${shortKey(e.key)} \u2713` }) }, i);
5575
- if (e.role === "current") return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { color: "cyan", children: ` This: ${shortKey(e.key)} \u25C6 ${e.task ?? ""}` }) }, i);
5576
- return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { dimColor: true, children: ` Next: ${shortKey(e.key)}` }) }, i);
5570
+ if (e.role === "prev") return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { color: "green", children: ` Prev: ${e.key} \u2713` }) }, i);
5571
+ if (e.role === "current") return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { color: "cyan", children: ` This: ${e.key} \u25C6 ${e.task ?? ""}` }) }, i);
5572
+ return /* @__PURE__ */ jsx8(Text8, { children: /* @__PURE__ */ jsx8(Text8, { dimColor: true, children: ` Next: ${e.key}` }) }, i);
5577
5573
  }) });
5578
5574
  }
5579
5575
 
@@ -11173,7 +11169,7 @@ function registerTeardownCommand(program) {
11173
11169
  } else if (otlpMode === "remote-routed") {
11174
11170
  if (!options.keepDocker) {
11175
11171
  try {
11176
- const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-TANMGEDO.js");
11172
+ const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-2Z4EIH3U.js");
11177
11173
  stopCollectorOnly2();
11178
11174
  result.docker.stopped = true;
11179
11175
  if (!isJson) {
@@ -11205,7 +11201,7 @@ function registerTeardownCommand(program) {
11205
11201
  info("Shared stack: kept running (other projects may use it)");
11206
11202
  }
11207
11203
  } else if (isLegacyStack) {
11208
- const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-TANMGEDO.js");
11204
+ const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-2Z4EIH3U.js");
11209
11205
  let stackRunning = false;
11210
11206
  try {
11211
11207
  stackRunning = isStackRunning2(composeFile);
@@ -13658,6 +13654,36 @@ function parseLine(line) {
13658
13654
  return null;
13659
13655
  }
13660
13656
  const type = parsed.type;
13657
+ const item = parsed.item;
13658
+ if (type === "item.started" && item) {
13659
+ const itemType = item.type;
13660
+ if (itemType === "command_execution") {
13661
+ const cmd = item.command;
13662
+ return { type: "tool-start", name: "Bash", id: item.id ?? "" };
13663
+ }
13664
+ if (itemType === "file_edit") {
13665
+ return { type: "tool-start", name: "Edit", id: item.id ?? "" };
13666
+ }
13667
+ if (itemType === "file_read") {
13668
+ return { type: "tool-start", name: "Read", id: item.id ?? "" };
13669
+ }
13670
+ return null;
13671
+ }
13672
+ if (type === "item.completed" && item) {
13673
+ const itemType = item.type;
13674
+ if (itemType === "command_execution") {
13675
+ const cmd = item.command;
13676
+ return { type: "tool-complete" };
13677
+ }
13678
+ if (itemType === "agent_message") {
13679
+ const text = item.text;
13680
+ if (text) return { type: "text", text };
13681
+ }
13682
+ if (itemType === "file_edit" || itemType === "file_read") {
13683
+ return { type: "tool-complete" };
13684
+ }
13685
+ return null;
13686
+ }
13661
13687
  if (type === "tool_call") {
13662
13688
  const name = parsed.name;
13663
13689
  const callId = parsed.call_id;
@@ -13746,9 +13772,10 @@ var CodexDriver = class {
13746
13772
  opts.plugins
13747
13773
  );
13748
13774
  }
13749
- const args = ["exec"];
13750
- if (opts.model) {
13751
- args.push("--model", opts.model);
13775
+ const args = ["exec", "--json"];
13776
+ const model = opts.model && !opts.model.startsWith("claude-") ? opts.model : void 0;
13777
+ if (model) {
13778
+ args.push("--model", model);
13752
13779
  }
13753
13780
  if (opts.cwd) {
13754
13781
  args.push("--cd", opts.cwd);
@@ -14101,7 +14128,7 @@ function registerDriversCommand(program) {
14101
14128
  }
14102
14129
 
14103
14130
  // src/index.ts
14104
- var VERSION = true ? "0.31.0" : "0.0.0-dev";
14131
+ var VERSION = true ? "0.31.1" : "0.0.0-dev";
14105
14132
  function createProgram() {
14106
14133
  const program = new Command();
14107
14134
  program.name("codeharness").description("Makes autonomous coding agents produce software that actually works").version(VERSION).option("--json", "Output in machine-readable JSON format");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codeharness",
3
- "version": "0.31.0",
3
+ "version": "0.31.1",
4
4
  "type": "module",
5
5
  "description": "CLI for codeharness — makes autonomous coding agents produce software that actually works",
6
6
  "bin": {