nexus-agents 3.6.12 → 3.6.13

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.
@@ -22,7 +22,7 @@ import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  DEFAULT_TOOL_RATE_LIMITS,
24
24
  clampTaskTtl
25
- } from "./chunk-OZCQONLD.js";
25
+ } from "./chunk-SQOTLTGX.js";
26
26
  import {
27
27
  executeExpert
28
28
  } from "./chunk-ZCHQS3KU.js";
@@ -43791,7 +43791,13 @@ var GREENFIELD_PIPELINE_TEMPLATE = {
43791
43791
  var GENERAL_PIPELINE_TEMPLATE = {
43792
43792
  id: "general",
43793
43793
  name: "General Pipeline",
43794
- stages: ["research", "plan", "vote", "implement", "qa", "security"],
43794
+ // #4580: `decompose` was missing. Both `implement` and `qa` read
43795
+ // `state[TASKS]`, which only `decompose` writes — so this template
43796
+ // implemented nothing and reviewed nothing, and the QA stage reported
43797
+ // success over an empty review set (`[].every()` is true). Surfaced by
43798
+ // making that verdict honest; a template with implement+qa stages that
43799
+ // cannot receive tasks is the bug, not the honest verdict.
43800
+ stages: ["research", "plan", "vote", "decompose", "implement", "qa", "security"],
43795
43801
  dryRunStopAfter: "vote"
43796
43802
  };
43797
43803
  var PIPELINE_TEMPLATES = /* @__PURE__ */ new Map([
@@ -46173,6 +46179,12 @@ function extractIssues(text) {
46173
46179
  return text.split("\n").filter((l) => /^\s*[-*]/.test(l)).map((l) => l.trim().replace(/^[-*]\s*/, "")).filter((l) => l.length > 5).slice(0, 10);
46174
46180
  }
46175
46181
 
46182
+ // src/utils/verdict-aggregation.ts
46183
+ function allOf(items, predicate, whenEmpty) {
46184
+ if (items.length === 0) return whenEmpty;
46185
+ return items.every(predicate);
46186
+ }
46187
+
46176
46188
  // src/pipeline/stage-wrappers.ts
46177
46189
  function output(key, value, durationMs, success) {
46178
46190
  return { stateKey: key, value, durationMs, success };
@@ -46318,7 +46330,7 @@ function createQaStageWrapper(stages) {
46318
46330
  const impls = Array.isArray(ctx.state[PIPELINE_STATE_KEYS.IMPLEMENTATIONS]) ? ctx.state[PIPELINE_STATE_KEYS.IMPLEMENTATIONS] : [];
46319
46331
  try {
46320
46332
  const reviews = await Promise.all(tasks.map((t, i) => stages.qaReview(t, impls[i] ?? "")));
46321
- const allPass = reviews.every((r) => r.verdict === "pass");
46333
+ const allPass = allOf(reviews, (r) => r.verdict === "pass", false);
46322
46334
  return output(PIPELINE_STATE_KEYS.QA_ITERATIONS, reviews, getTimeProvider().now() - start, allPass);
46323
46335
  } catch (e) {
46324
46336
  return failOutput(PIPELINE_STATE_KEYS.QA_ITERATIONS, getErrorMessage(e), getTimeProvider().now() - start);
@@ -54315,4 +54327,4 @@ export {
54315
54327
  shutdownFeedbackSubscriber,
54316
54328
  createEventBusBridge
54317
54329
  };
54318
- //# sourceMappingURL=chunk-OD4P45SD.js.map
54330
+ //# sourceMappingURL=chunk-G45DZK5W.js.map