@odla-ai/harness 0.11.16 → 0.11.18

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.
@@ -7,7 +7,7 @@ import {
7
7
  createCodeRuntimeControlClient,
8
8
  createCodeRuntimeSessionSkillLoader,
9
9
  runCodeRuntimeHeartbeatLoop
10
- } from "./chunk-BOYUPB3P.js";
10
+ } from "./chunk-O47JCUGI.js";
11
11
  import "./chunk-6T26HEWI.js";
12
12
  import {
13
13
  assertPinnedImage,
package/dist/node.cjs CHANGED
@@ -28,6 +28,7 @@ __export(node_exports, {
28
28
  DEPENDENCY_INSTALL_TIMEOUT_MS: () => DEPENDENCY_INSTALL_TIMEOUT_MS,
29
29
  DecompositionError: () => DecompositionError,
30
30
  MAX_MEMORY_BODY: () => MAX_MEMORY_BODY,
31
+ MAX_TAP_FAILURES: () => MAX_TAP_FAILURES,
31
32
  MEASURED_PREMIUM: () => MEASURED_PREMIUM,
32
33
  PROOF_RECIPE_PREFIX: () => PROOF_RECIPE_PREFIX,
33
34
  REPOSITORY_RECIPES_FILE: () => REPOSITORY_RECIPES_FILE,
@@ -60,7 +61,9 @@ __export(node_exports, {
60
61
  describeCodeRecipes: () => describeCodeRecipes,
61
62
  describeGateFailure: () => describeGateFailure,
62
63
  describePatchFailure: () => describePatchFailure,
64
+ describeTapFailures: () => describeTapFailures,
63
65
  digestStagedWorkspace: () => digestStagedWorkspace,
66
+ extractTapFailingTests: () => extractTapFailingTests,
64
67
  feedbackIsActionable: () => feedbackIsActionable,
65
68
  hasContextFreeHunk: () => hasContextFreeHunk,
66
69
  hazardFromAttempt: () => hazardFromAttempt,
@@ -1443,7 +1446,7 @@ var CodeRuntimeReconciler = class {
1443
1446
  };
1444
1447
 
1445
1448
  // src/code-runtime.ts
1446
- var CODE_RUNTIME_PROTOCOL_VERSION = 3;
1449
+ var CODE_RUNTIME_PROTOCOL_VERSION = 4;
1447
1450
  async function runCodeRuntimeHeartbeatLoop(options) {
1448
1451
  const heartbeatMs = options.heartbeatMs ?? 15e3;
1449
1452
  if (!Number.isSafeInteger(heartbeatMs) || heartbeatMs < 1e3 || heartbeatMs > 3e5) {
@@ -2268,8 +2271,8 @@ function describeGateFailure(evidence) {
2268
2271
  const output = `${log?.stdout ?? ""}
2269
2272
  ${log?.stderr ?? ""}`.trim();
2270
2273
  const named = describeTapFailures(output);
2271
- return `${recipe2.recipeId}=${recipe2.status}${named ? `
2272
- ${named}` : ""}${output ? `
2274
+ return `${named ? `${named}
2275
+ ` : ""}${recipe2.recipeId}=${recipe2.status}${output ? `
2273
2276
  ${gateOutput(output)}` : ""}`;
2274
2277
  }).join("\n\n");
2275
2278
  return `Clean verification failed. Fix this and checkpoint again:
@@ -2331,13 +2334,13 @@ function codeCommandMetadata(payload, resume) {
2331
2334
  const title = payload.title;
2332
2335
  const prompt = payload.prompt;
2333
2336
  const maxTokensPerInteraction = payload.maxTokensPerInteraction ?? 32e3;
2334
- if (role !== "coding" && role !== "review" || typeof title !== "string" || typeof prompt !== "string") {
2337
+ if (role !== "coding" && role !== "review" && role !== "planning" || typeof title !== "string" || typeof prompt !== "string") {
2335
2338
  throw new TypeError(`invalid Code ${resume ? "resume" : "start"} metadata`);
2336
2339
  }
2337
2340
  if (payload.readOnly !== void 0 && typeof payload.readOnly !== "boolean") {
2338
2341
  throw new TypeError(`invalid Code ${resume ? "resume" : "start"} read-only capability`);
2339
2342
  }
2340
- const readOnly = role === "review" || payload.readOnly === true;
2343
+ const readOnly = role !== "coding" || payload.readOnly === true;
2341
2344
  const planning = trusted?.planningInputDigest;
2342
2345
  const attestation = trusted?.attestationDigest;
2343
2346
  const repository = trusted?.repository;
@@ -4432,7 +4435,7 @@ function createCodeRuntimeToolBroker(input, lease, role) {
4432
4435
  "sandbox.who_touches",
4433
4436
  "sandbox.run_recipe"
4434
4437
  ]);
4435
- return role === "coding" ? broker : { execute: (context, request) => reviewTools.has(request.tool) ? broker.execute(context, request) : Promise.resolve({ requestId: request.requestId, ok: false, content: "review sessions are read-only" }) };
4438
+ return role !== "review" ? broker : { execute: (context, request) => reviewTools.has(request.tool) ? broker.execute(context, request) : Promise.resolve({ requestId: request.requestId, ok: false, content: "review sessions are read-only" }) };
4436
4439
  }
4437
4440
 
4438
4441
  // src/code-runtime-events.ts
@@ -5648,6 +5651,7 @@ async function hostBuildProducts(repoRoot) {
5648
5651
  DEPENDENCY_INSTALL_TIMEOUT_MS,
5649
5652
  DecompositionError,
5650
5653
  MAX_MEMORY_BODY,
5654
+ MAX_TAP_FAILURES,
5651
5655
  MEASURED_PREMIUM,
5652
5656
  PROOF_RECIPE_PREFIX,
5653
5657
  REPOSITORY_RECIPES_FILE,
@@ -5680,7 +5684,9 @@ async function hostBuildProducts(repoRoot) {
5680
5684
  describeCodeRecipes,
5681
5685
  describeGateFailure,
5682
5686
  describePatchFailure,
5687
+ describeTapFailures,
5683
5688
  digestStagedWorkspace,
5689
+ extractTapFailingTests,
5684
5690
  feedbackIsActionable,
5685
5691
  hasContextFreeHunk,
5686
5692
  hazardFromAttempt,