codeharness 0.35.4 → 0.35.6
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.35.
|
|
2898
|
+
var HARNESS_VERSION = true ? "0.35.6" : "0.0.0-dev";
|
|
2899
2899
|
function failResult(opts, error) {
|
|
2900
2900
|
return {
|
|
2901
2901
|
status: "fail",
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
validateDockerfile,
|
|
41
41
|
warn,
|
|
42
42
|
writeState
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-A6L3F4PG.js";
|
|
44
44
|
|
|
45
45
|
// src/index.ts
|
|
46
46
|
import { Command } from "commander";
|
|
@@ -6041,14 +6041,16 @@ function startRenderer(options) {
|
|
|
6041
6041
|
const ctx = [];
|
|
6042
6042
|
const currentStory = currentKey ?? "";
|
|
6043
6043
|
const currentTask = state.currentTaskName ?? "";
|
|
6044
|
-
const epicMatch = currentStory.match(
|
|
6044
|
+
const epicMatch = currentStory.match(/Epic (\d+)/);
|
|
6045
6045
|
if (epicMatch) {
|
|
6046
6046
|
const epicPrefix2 = `${epicMatch[1]}-`;
|
|
6047
6047
|
const epicStories = updatedStories.filter((s) => s.key.startsWith(epicPrefix2));
|
|
6048
|
-
const lastDone = [...epicStories].reverse().find((s) => s.status === "done"
|
|
6048
|
+
const lastDone = [...epicStories].reverse().find((s) => s.status === "done");
|
|
6049
|
+
const firstIp = epicStories.find((s) => s.status === "in-progress");
|
|
6050
|
+
const firstPending = epicStories.find((s) => s.status === "pending");
|
|
6049
6051
|
if (lastDone) ctx.push({ key: lastDone.key, role: "prev" });
|
|
6050
|
-
|
|
6051
|
-
if (
|
|
6052
|
+
if (firstIp) ctx.push({ key: firstIp.key, role: "current" });
|
|
6053
|
+
else if (firstPending) ctx.push({ key: firstPending.key, role: "next" });
|
|
6052
6054
|
} else {
|
|
6053
6055
|
let foundCurrent = false;
|
|
6054
6056
|
let prevKey = null;
|
|
@@ -6278,6 +6280,7 @@ function registerRunCommand(program) {
|
|
|
6278
6280
|
totalCost: totalCostUsd,
|
|
6279
6281
|
elapsed: formatElapsed(Date.now() - sessionStartMs),
|
|
6280
6282
|
epicId: displayEpicId || void 0,
|
|
6283
|
+
epicTitle: epic?.name,
|
|
6281
6284
|
epicStoriesDone: epic?.storiesDone,
|
|
6282
6285
|
epicStoriesTotal: epic?.storiesTotal
|
|
6283
6286
|
});
|
|
@@ -6287,7 +6290,8 @@ function registerRunCommand(program) {
|
|
|
6287
6290
|
if (sprintStateResult.success) {
|
|
6288
6291
|
for (const [epicKey, epic] of Object.entries(sprintStateResult.data.epics ?? {})) {
|
|
6289
6292
|
const epicId = epicKey.replace("epic-", "");
|
|
6290
|
-
|
|
6293
|
+
const e = epic;
|
|
6294
|
+
epicData[epicId] = { name: e.name, storiesDone: e.storiesDone ?? 0, storiesTotal: e.storiesTotal ?? 0 };
|
|
6291
6295
|
}
|
|
6292
6296
|
}
|
|
6293
6297
|
const storyFlowTasks = /* @__PURE__ */ new Set();
|
|
@@ -6344,10 +6348,12 @@ function registerRunCommand(program) {
|
|
|
6344
6348
|
let displayStoryKey;
|
|
6345
6349
|
if (event.storyKey.startsWith("__epic_")) {
|
|
6346
6350
|
epicId = event.storyKey.replace("__epic_", "").replace("__", "");
|
|
6347
|
-
|
|
6351
|
+
const epicName = epicData[epicId]?.name;
|
|
6352
|
+
displayStoryKey = epicName ? `${epicName} \u2014 verification` : `Epic ${epicId} verification`;
|
|
6348
6353
|
} else if (event.storyKey === "__run__") {
|
|
6349
6354
|
epicId = currentStoryKey ? extractEpicId2(currentStoryKey) : "";
|
|
6350
|
-
|
|
6355
|
+
const epicName = epicId ? epicData[epicId]?.name : void 0;
|
|
6356
|
+
displayStoryKey = epicName ?? (epicId ? `Epic ${epicId}` : "Run");
|
|
6351
6357
|
} else {
|
|
6352
6358
|
epicId = extractEpicId2(event.storyKey);
|
|
6353
6359
|
displayStoryKey = event.storyKey;
|
|
@@ -6363,6 +6369,7 @@ function registerRunCommand(program) {
|
|
|
6363
6369
|
totalCost: totalCostUsd,
|
|
6364
6370
|
elapsed: formatElapsed(Date.now() - sessionStartMs),
|
|
6365
6371
|
epicId,
|
|
6372
|
+
epicTitle: epic?.name,
|
|
6366
6373
|
epicStoriesDone: epic?.storiesDone ?? 0,
|
|
6367
6374
|
epicStoriesTotal: epic?.storiesTotal ?? 0
|
|
6368
6375
|
});
|
|
@@ -11217,7 +11224,7 @@ function registerTeardownCommand(program) {
|
|
|
11217
11224
|
} else if (otlpMode === "remote-routed") {
|
|
11218
11225
|
if (!options.keepDocker) {
|
|
11219
11226
|
try {
|
|
11220
|
-
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-
|
|
11227
|
+
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-LXF5I54P.js");
|
|
11221
11228
|
stopCollectorOnly2();
|
|
11222
11229
|
result.docker.stopped = true;
|
|
11223
11230
|
if (!isJson) {
|
|
@@ -11249,7 +11256,7 @@ function registerTeardownCommand(program) {
|
|
|
11249
11256
|
info("Shared stack: kept running (other projects may use it)");
|
|
11250
11257
|
}
|
|
11251
11258
|
} else if (isLegacyStack) {
|
|
11252
|
-
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-
|
|
11259
|
+
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-LXF5I54P.js");
|
|
11253
11260
|
let stackRunning = false;
|
|
11254
11261
|
try {
|
|
11255
11262
|
stackRunning = isStackRunning2(composeFile);
|
|
@@ -14236,7 +14243,7 @@ function registerDriversCommand(program) {
|
|
|
14236
14243
|
}
|
|
14237
14244
|
|
|
14238
14245
|
// src/index.ts
|
|
14239
|
-
var VERSION = true ? "0.35.
|
|
14246
|
+
var VERSION = true ? "0.35.6" : "0.0.0-dev";
|
|
14240
14247
|
function createProgram() {
|
|
14241
14248
|
const program = new Command();
|
|
14242
14249
|
program.name("codeharness").description("Makes autonomous coding agents produce software that actually works").version(VERSION).option("--json", "Output in machine-readable JSON format");
|