nexus-agents 2.128.4 → 2.128.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.
@@ -28,9 +28,10 @@ import {
28
28
  resolveIdempotency,
29
29
  runAsJob,
30
30
  runConsensusForGoal,
31
+ toJobSummary,
31
32
  warnIfSimulatedOutsideTests,
32
33
  writeJobCancelled
33
- } from "./chunk-SH6JG7GE.js";
34
+ } from "./chunk-6CDAMT2O.js";
34
35
  import {
35
36
  normalizeTopicToCanonical,
36
37
  synthesizeResearch
@@ -122,7 +123,7 @@ import {
122
123
  DEFAULT_TASK_TTL_MS,
123
124
  DEFAULT_TOOL_RATE_LIMITS,
124
125
  clampTaskTtl
125
- } from "./chunk-IKWTX7PW.js";
126
+ } from "./chunk-RQLFGWST.js";
126
127
  import {
127
128
  resolveInsideRoot
128
129
  } from "./chunk-NUBSJGQZ.js";
@@ -32726,6 +32727,26 @@ function getTasksDir(customDir) {
32726
32727
  function getLogPath(taskId, customDir) {
32727
32728
  return path3.join(getTasksDir(customDir), `state-${taskId}.jsonl`);
32728
32729
  }
32730
+ function listTaskStateIds(customDir) {
32731
+ const dir = getTasksDir(customDir);
32732
+ if (!fs4.existsSync(dir)) return [];
32733
+ let entries;
32734
+ try {
32735
+ entries = fs4.readdirSync(dir);
32736
+ } catch (cause) {
32737
+ logger30.warn("tasks directory unreadable", {
32738
+ dir,
32739
+ error: cause instanceof Error ? cause.message : String(cause)
32740
+ });
32741
+ return [];
32742
+ }
32743
+ const ids = [];
32744
+ for (const entry of entries) {
32745
+ const match = /^state-(.+)\.jsonl$/.exec(entry);
32746
+ if (match?.[1] !== void 0) ids.push(match[1]);
32747
+ }
32748
+ return ids;
32749
+ }
32729
32750
  function validateTaskId(taskId) {
32730
32751
  if (taskId.includes("..") || taskId.includes("/") || taskId.includes("\\")) {
32731
32752
  return err(new Error("Invalid task ID: contains path traversal characters"));
@@ -37711,7 +37732,7 @@ async function handleRunGraphWorkflow(input, logger57) {
37711
37732
  checkpointCount
37712
37733
  };
37713
37734
  }
37714
- var GRAPH_WORKFLOW_DESCRIPTION = "Run a DAG-shaped workflow with per-node checkpoints, event streaming, and an audit trail. Use for multi-step pipelines where intermediate state must survive failures (checkpoints persist per node for inspection/restart). For straight linear templates, use `run_workflow` instead.";
37735
+ var GRAPH_WORKFLOW_DESCRIPTION = "Run a DAG-shaped workflow with per-node checkpoints, event streaming, and an audit trail. Checkpoints drive the executor in-process recovery (crash-resume + selective node retry) and inspection \u2014 the MCP call is fire-and-forget with NO caller resume input, and the checkpoint store is in-memory (not durable across process restarts). For straight linear templates, use `run_workflow` instead.";
37715
37736
  var GRAPH_WORKFLOW_SCHEMA = {
37716
37737
  workflow: z67.string().min(1).max(100).describe(
37717
37738
  'Workflow name: echo, pipeline, code-review, security-scan. Use "list" for available workflows.'
@@ -39699,6 +39720,22 @@ function resolveJobResult(jobId, customDir) {
39699
39720
  }
39700
39721
  return readJobResult(jobId);
39701
39722
  }
39723
+ function listJobsFromTaskState(customDir) {
39724
+ const summaries = [];
39725
+ for (const taskId of listTaskStateIds(customDir)) {
39726
+ const record = readJobResultFromTaskState(taskId, customDir);
39727
+ if (record !== null) summaries.push(toJobSummary(record));
39728
+ }
39729
+ return summaries;
39730
+ }
39731
+ function resolveJobList(customDir) {
39732
+ const sidecar = listJobs();
39733
+ if (!isTaskStateJobSource()) return sidecar;
39734
+ const byId = /* @__PURE__ */ new Map();
39735
+ for (const summary of sidecar) byId.set(summary.jobId, summary);
39736
+ for (const summary of listJobsFromTaskState(customDir)) byId.set(summary.jobId, summary);
39737
+ return [...byId.values()].sort((a, b) => b.createdAt.localeCompare(a.createdAt));
39738
+ }
39702
39739
 
39703
39740
  // src/mcp/tools/get-job-result-tool.ts
39704
39741
  var GetJobResultInputSchema = z82.object({
@@ -39788,7 +39825,7 @@ function listJobsHandler(args) {
39788
39825
  );
39789
39826
  }
39790
39827
  const { toolName, status, limit } = parsed.data;
39791
- const all = listJobs();
39828
+ const all = resolveJobList();
39792
39829
  const filtered = all.filter((j) => {
39793
39830
  if (toolName !== void 0 && j.toolName !== toolName) return false;
39794
39831
  if (status !== void 0 && j.status !== status) return false;
@@ -43150,7 +43187,7 @@ ${contextBlock}`;
43150
43187
  const strategy = config.votingStrategy ?? "higher_order";
43151
43188
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43152
43189
  try {
43153
- const { executeVoting } = await import("./consensus-vote-NXBPAPFW.js");
43190
+ const { executeVoting } = await import("./consensus-vote-RT3DJYEI.js");
43154
43191
  const votingResult = await executeVoting(
43155
43192
  {
43156
43193
  proposal: buildVoteProposal(plan, research),
@@ -50489,4 +50526,4 @@ export {
50489
50526
  shutdownFeedbackSubscriber,
50490
50527
  createEventBusBridge
50491
50528
  };
50492
- //# sourceMappingURL=chunk-IFJQPEOV.js.map
50529
+ //# sourceMappingURL=chunk-CZ6BQVFR.js.map