nexus-agents 2.173.3 → 2.173.5

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.
@@ -46,7 +46,7 @@ import {
46
46
  } from "./chunk-DHVMSIT5.js";
47
47
 
48
48
  // src/version.ts
49
- var VERSION = true ? "2.173.3" : "dev";
49
+ var VERSION = true ? "2.173.5" : "dev";
50
50
 
51
51
  // src/config/schemas-core.ts
52
52
  import { z } from "zod";
@@ -2182,7 +2182,7 @@ async function runDoctorFix(result) {
2182
2182
  writeLine2("\u2500".repeat(40));
2183
2183
  let fixCount = 0;
2184
2184
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2185
- const { runSetup } = await import("./setup-command-EGDBEPM5.js");
2185
+ const { runSetup } = await import("./setup-command-X4SUSCJL.js");
2186
2186
  const setupResult = runSetup({
2187
2187
  skipMcp: true,
2188
2188
  skipRules: true,
@@ -2295,4 +2295,4 @@ export {
2295
2295
  startStdioServer,
2296
2296
  closeServer
2297
2297
  };
2298
- //# sourceMappingURL=chunk-WJHTVYP6.js.map
2298
+ //# sourceMappingURL=chunk-7GIRIDHH.js.map
@@ -8,7 +8,7 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-WJHTVYP6.js";
11
+ } from "./chunk-7GIRIDHH.js";
12
12
  import {
13
13
  BUILT_IN_EXPERTS
14
14
  } from "./chunk-ZM4O442V.js";
@@ -2001,4 +2001,4 @@ export {
2001
2001
  setupCommand,
2002
2002
  setupCommandAsync
2003
2003
  };
2004
- //# sourceMappingURL=chunk-QZLISECU.js.map
2004
+ //# sourceMappingURL=chunk-M4BZYEH4.js.map
package/dist/cli.js CHANGED
@@ -18,7 +18,7 @@ import "./chunk-O6VB54QJ.js";
18
18
  import {
19
19
  setupCommandAsync,
20
20
  verifyCommand
21
- } from "./chunk-QZLISECU.js";
21
+ } from "./chunk-M4BZYEH4.js";
22
22
  import "./chunk-4KURMOBY.js";
23
23
  import {
24
24
  AuthHandler,
@@ -139,7 +139,7 @@ import {
139
139
  validateCommand,
140
140
  validateWorkflow,
141
141
  wrapInMarkdownFence
142
- } from "./chunk-GNZ2ZIT3.js";
142
+ } from "./chunk-6YM52YW6.js";
143
143
  import "./chunk-P6POKYSM.js";
144
144
  import "./chunk-HFOQKCD2.js";
145
145
  import "./chunk-YF35FKKD.js";
@@ -166,7 +166,7 @@ import {
166
166
  loadConfig,
167
167
  runDoctor,
168
168
  validateNexusEnv
169
- } from "./chunk-WJHTVYP6.js";
169
+ } from "./chunk-7GIRIDHH.js";
170
170
  import {
171
171
  buildOpenAICompatAdapters,
172
172
  readOpenAICompatEnv
package/dist/index.d.ts CHANGED
@@ -12495,6 +12495,16 @@ type FailureClassification = {
12495
12495
  * See the module header for the ordered decision procedure. `signal` is checked
12496
12496
  * first (mandatory guard): RETRYABLE_ERROR_PATTERNS matches /aborted/i, so
12497
12497
  * without this a cancelled task would otherwise be retried.
12498
+ *
12499
+ * Fails CLOSED on a throwing classifier (#4303): the body reads `error.message`
12500
+ * and walks `.cause` (via getErrorMessage/extractErrorMessage/isRetryableErrorChain)
12501
+ * and calls `detector.detect`. An Error-like object with a throwing `.message` or
12502
+ * `.cause` getter would make any of those throw. `execute()` runs this INSIDE
12503
+ * `withRetry`'s isRetryable predicate and again in annotateExhausted, neither of
12504
+ * which is try-guarded by withRetry (adapters/retry.ts:339-363 catches only
12505
+ * `operation()`), so an escaping throw would reject the `Promise<Result<…>>` and
12506
+ * break the never-throws contract `execute_expert` relies on. This single outer
12507
+ * guard covers BOTH call sites: any throw during classification → permanent.
12498
12508
  */
12499
12509
  declare function classifyExpertFailure(error: unknown, detector: FailureDetector, taskDescription?: string, signal?: AbortSignal): FailureClassification;
12500
12510
  /**
@@ -12511,6 +12521,18 @@ declare class RecoverableExpert extends Expert {
12511
12521
  execute(task: Task$1, options?: {
12512
12522
  signal?: AbortSignal;
12513
12523
  }): Promise<Result<TaskResult, AgentError$1>>;
12524
+ /**
12525
+ * Per-retry callback: logs the attempt and, for a recoverable archetype,
12526
+ * injects archetype-specific guidance into the next attempt's task.
12527
+ *
12528
+ * Returns the (possibly augmented) task. onRetry runs INSIDE withRetry's catch
12529
+ * but is NOT itself try-guarded (adapters/retry.ts:352-359 — the try wraps only
12530
+ * `operation()`), so a throw here would escape withRetry and reject the Promise.
12531
+ * The guidance path re-reads the error (extractErrorMessage) and calls
12532
+ * detector.detect, so a pathological error (#4303 throwing getter) could throw —
12533
+ * guard it: on failure, skip injection and retry with the un-augmented task.
12534
+ */
12535
+ private handleRetry;
12514
12536
  /**
12515
12537
  * Builds the annotated failure returned when recovery is exhausted. withRetry
12516
12538
  * skips isRetryable on the final attempt, so the per-attempt `lastClassification`
@@ -26775,6 +26797,7 @@ declare const PrReviewInputSchema: z.ZodObject<{
26775
26797
  headRef: z.ZodOptional<z.ZodString>;
26776
26798
  prNumber: z.ZodOptional<z.ZodNumber>;
26777
26799
  baseSha: z.ZodOptional<z.ZodString>;
26800
+ repoPath: z.ZodOptional<z.ZodString>;
26778
26801
  simulate: z.ZodDefault<z.ZodBoolean>;
26779
26802
  errorPolicy: z.ZodDefault<z.ZodEnum<{
26780
26803
  standard: "standard";
package/dist/index.js CHANGED
@@ -541,7 +541,7 @@ import {
541
541
  withLogging,
542
542
  withRetry,
543
543
  withRetryWrapper
544
- } from "./chunk-GNZ2ZIT3.js";
544
+ } from "./chunk-6YM52YW6.js";
545
545
  import {
546
546
  FALLBACK_SCANNER_DATA,
547
547
  buildPlanFromAnalysis,
@@ -575,7 +575,7 @@ import {
575
575
  getKnownNexusVarNames,
576
576
  startStdioServer,
577
577
  validateNexusEnv
578
- } from "./chunk-WJHTVYP6.js";
578
+ } from "./chunk-7GIRIDHH.js";
579
579
  import {
580
580
  OPENAI_MODELS,
581
581
  OPENAI_MODEL_ALIASES,
@@ -8,9 +8,9 @@ import {
8
8
  runWizard,
9
9
  setupCommand,
10
10
  setupCommandAsync
11
- } from "./chunk-QZLISECU.js";
11
+ } from "./chunk-M4BZYEH4.js";
12
12
  import "./chunk-4KURMOBY.js";
13
- import "./chunk-WJHTVYP6.js";
13
+ import "./chunk-7GIRIDHH.js";
14
14
  import "./chunk-3DYABC5Y.js";
15
15
  import "./chunk-5IDFZ2PC.js";
16
16
  import "./chunk-NUBSJGQZ.js";
@@ -38,4 +38,4 @@ export {
38
38
  setupCommand,
39
39
  setupCommandAsync
40
40
  };
41
- //# sourceMappingURL=setup-command-EGDBEPM5.js.map
41
+ //# sourceMappingURL=setup-command-X4SUSCJL.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexus-agents",
3
- "version": "2.173.3",
3
+ "version": "2.173.5",
4
4
  "description": "Governance substrate for AI coding agents — adversarial PR review, drift-detected rules, tamper-evident audit, and closed-loop outcome routing for Claude, Codex, Gemini, and OpenCode",
5
5
  "mcpName": "io.github.nexus-substrate/nexus-agents",
6
6
  "license": "MIT",