nexus-agents 6.1.4 → 6.2.0

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.
Files changed (125) hide show
  1. package/dist/{child-mcp-config-4DDBRYPA.js → child-mcp-config-MAEPMEMJ.js} +2 -2
  2. package/dist/{chunk-JYOSSAYY.js → chunk-5WVP7C3Z.js} +4 -4
  3. package/dist/{chunk-K3P5KQXZ.js → chunk-6JBCXRWI.js} +2 -2
  4. package/dist/{chunk-JPIEVAVJ.js → chunk-74FMJTGV.js} +7 -7
  5. package/dist/{chunk-ETEKZ4RK.js → chunk-7ANADXHH.js} +2 -2
  6. package/dist/{chunk-OMDOE7TS.js → chunk-AQOUQIIO.js} +16 -11
  7. package/dist/{chunk-OMDOE7TS.js.map → chunk-AQOUQIIO.js.map} +1 -1
  8. package/dist/{chunk-DDCKXILN.js → chunk-B7DESALP.js} +2 -2
  9. package/dist/{chunk-BSUATLSL.js → chunk-BA6LALHG.js} +2 -2
  10. package/dist/{chunk-BIOAMDHR.js → chunk-CJQRCKR4.js} +2 -2
  11. package/dist/{chunk-QNXB6PVL.js → chunk-FCJN757G.js} +2 -2
  12. package/dist/{chunk-2PEHRCZ2.js → chunk-HKP47JNU.js} +3 -3
  13. package/dist/{chunk-5OISEA34.js → chunk-JVQU5EDH.js} +5 -5
  14. package/dist/{chunk-KQYXPAFQ.js → chunk-KUP3YM2J.js} +2 -2
  15. package/dist/{chunk-62JZZXZA.js → chunk-L4BL4UHG.js} +2 -2
  16. package/dist/{chunk-CL4TF6YT.js → chunk-LHDMQAYQ.js} +2 -2
  17. package/dist/{chunk-3N3HTDAK.js → chunk-LJEUEU6B.js} +2 -2
  18. package/dist/{chunk-RPXCZLC7.js → chunk-MPCVF44P.js} +4 -4
  19. package/dist/{chunk-YYCQ5G3K.js → chunk-NDPUIPKN.js} +2 -2
  20. package/dist/{chunk-LQOANCSX.js → chunk-OWPBJIWP.js} +2 -2
  21. package/dist/{chunk-MGXRJZUQ.js → chunk-OYMLM23M.js} +2 -2
  22. package/dist/{chunk-RGK3N3UN.js → chunk-P7URBNEC.js} +3 -3
  23. package/dist/chunk-P7URBNEC.js.map +1 -0
  24. package/dist/{chunk-3NCBSBSA.js → chunk-QKAGRX22.js} +2 -2
  25. package/dist/{chunk-RGLSWWTT.js → chunk-QPGSBGG5.js} +5 -5
  26. package/dist/{chunk-5C5AJ3AK.js → chunk-SEQIGOAF.js} +3 -3
  27. package/dist/{chunk-JPEXSNOX.js → chunk-SJH3ZEKK.js} +52 -9
  28. package/dist/chunk-SJH3ZEKK.js.map +1 -0
  29. package/dist/{chunk-I7VQGYLE.js → chunk-TCKBYC7Z.js} +2 -2
  30. package/dist/{chunk-XZHGPNSB.js → chunk-U443FR6F.js} +4 -4
  31. package/dist/{chunk-GHD3CUV7.js → chunk-V36QXMIL.js} +7 -7
  32. package/dist/{chunk-3B5746AG.js → chunk-VXXA5UN7.js} +2 -2
  33. package/dist/{chunk-TOK5RX5Y.js → chunk-WP4ILUPM.js} +35 -35
  34. package/dist/chunk-WTS6XM5S.js +7 -0
  35. package/dist/{chunk-OBCBF2AI.js → chunk-WZHWX3SA.js} +6 -6
  36. package/dist/{chunk-XKHFPXIP.js → chunk-YAT2GTVH.js} +4 -4
  37. package/dist/{chunk-6U2OC56L.js → chunk-ZQSBNRKS.js} +3 -3
  38. package/dist/{cli-circuit-breaker-EZYSMS5J.js → cli-circuit-breaker-XUP4B3CR.js} +3 -3
  39. package/dist/cli.js +41 -41
  40. package/dist/{composite-router-4MX77KAO.js → composite-router-EY5NIZUY.js} +2 -2
  41. package/dist/{consensus-vote-UXITDP2P.js → consensus-vote-TFCCNC67.js} +17 -17
  42. package/dist/{context-retriever-XQXSR7X2.js → context-retriever-3UYUB2VS.js} +8 -8
  43. package/dist/{doctor-deep-LTNNWX2R.js → doctor-deep-LFUNO5N5.js} +3 -3
  44. package/dist/{doctor-live-S3EP4CDZ.js → doctor-live-PT63BVXI.js} +9 -9
  45. package/dist/{expert-bridge-3EHBG44P.js → expert-bridge-CLYAPS4Q.js} +4 -4
  46. package/dist/{factory-5EQYMH5L.js → factory-OBIKYM7M.js} +5 -5
  47. package/dist/{factory-I7V3JB6F.js → factory-RKYK7SS3.js} +9 -9
  48. package/dist/{improvement-review-KGPFAXTX.js → improvement-review-V4AQIMAI.js} +6 -6
  49. package/dist/index.d.ts +30 -1
  50. package/dist/index.js +31 -31
  51. package/dist/{init-opencode-CX5YQG7X.js → init-opencode-WXD57CGR.js} +6 -6
  52. package/dist/issue-triage-3BMIT32P.js +17 -0
  53. package/dist/{pr-reviewer-helpers-BVQYKJQC.js → pr-reviewer-helpers-GNQAEMFV.js} +4 -4
  54. package/dist/{registry-command-AM4NCHY6.js → registry-command-ZSMUSV6O.js} +2 -2
  55. package/dist/{repo-security-plan-4LB6D3NE.js → repo-security-plan-O6V4POGE.js} +3 -3
  56. package/dist/{research-helpers-synthesize-R3NHYY7G.js → research-helpers-synthesize-AKWLYM53.js} +4 -4
  57. package/dist/{routing-memory-UFJLIHRW.js → routing-memory-6JURKD7X.js} +2 -2
  58. package/dist/{session-memory-47LD45HS.js → session-memory-AOHQ7GFR.js} +3 -3
  59. package/dist/{setup-config-CZ4ATPBX.js → setup-config-YBPHQKMF.js} +3 -3
  60. package/dist/{setup-custom-api-7W5AHZVX.js → setup-custom-api-F24U4TMD.js} +4 -4
  61. package/dist/setup-data-dir-2D6SXQHE.js +29 -0
  62. package/dist/{tool-memory-FTLUCKZI.js → tool-memory-QNOIOXGA.js} +5 -5
  63. package/dist/{unified-registry-GBD77P3U.js → unified-registry-YEKBJ4R4.js} +10 -10
  64. package/dist/{weather-report-C6HWZL3B.js → weather-report-RTKKHFDM.js} +2 -2
  65. package/package.json +1 -1
  66. package/dist/chunk-JPEXSNOX.js.map +0 -1
  67. package/dist/chunk-RGK3N3UN.js.map +0 -1
  68. package/dist/chunk-YDX6SDOB.js +0 -7
  69. package/dist/issue-triage-FQXZ2UCS.js +0 -17
  70. package/dist/setup-data-dir-QH76XJKH.js +0 -29
  71. /package/dist/{child-mcp-config-4DDBRYPA.js.map → child-mcp-config-MAEPMEMJ.js.map} +0 -0
  72. /package/dist/{chunk-JYOSSAYY.js.map → chunk-5WVP7C3Z.js.map} +0 -0
  73. /package/dist/{chunk-K3P5KQXZ.js.map → chunk-6JBCXRWI.js.map} +0 -0
  74. /package/dist/{chunk-JPIEVAVJ.js.map → chunk-74FMJTGV.js.map} +0 -0
  75. /package/dist/{chunk-ETEKZ4RK.js.map → chunk-7ANADXHH.js.map} +0 -0
  76. /package/dist/{chunk-DDCKXILN.js.map → chunk-B7DESALP.js.map} +0 -0
  77. /package/dist/{chunk-BSUATLSL.js.map → chunk-BA6LALHG.js.map} +0 -0
  78. /package/dist/{chunk-BIOAMDHR.js.map → chunk-CJQRCKR4.js.map} +0 -0
  79. /package/dist/{chunk-QNXB6PVL.js.map → chunk-FCJN757G.js.map} +0 -0
  80. /package/dist/{chunk-2PEHRCZ2.js.map → chunk-HKP47JNU.js.map} +0 -0
  81. /package/dist/{chunk-5OISEA34.js.map → chunk-JVQU5EDH.js.map} +0 -0
  82. /package/dist/{chunk-KQYXPAFQ.js.map → chunk-KUP3YM2J.js.map} +0 -0
  83. /package/dist/{chunk-62JZZXZA.js.map → chunk-L4BL4UHG.js.map} +0 -0
  84. /package/dist/{chunk-CL4TF6YT.js.map → chunk-LHDMQAYQ.js.map} +0 -0
  85. /package/dist/{chunk-3N3HTDAK.js.map → chunk-LJEUEU6B.js.map} +0 -0
  86. /package/dist/{chunk-RPXCZLC7.js.map → chunk-MPCVF44P.js.map} +0 -0
  87. /package/dist/{chunk-YYCQ5G3K.js.map → chunk-NDPUIPKN.js.map} +0 -0
  88. /package/dist/{chunk-LQOANCSX.js.map → chunk-OWPBJIWP.js.map} +0 -0
  89. /package/dist/{chunk-MGXRJZUQ.js.map → chunk-OYMLM23M.js.map} +0 -0
  90. /package/dist/{chunk-3NCBSBSA.js.map → chunk-QKAGRX22.js.map} +0 -0
  91. /package/dist/{chunk-RGLSWWTT.js.map → chunk-QPGSBGG5.js.map} +0 -0
  92. /package/dist/{chunk-5C5AJ3AK.js.map → chunk-SEQIGOAF.js.map} +0 -0
  93. /package/dist/{chunk-I7VQGYLE.js.map → chunk-TCKBYC7Z.js.map} +0 -0
  94. /package/dist/{chunk-XZHGPNSB.js.map → chunk-U443FR6F.js.map} +0 -0
  95. /package/dist/{chunk-GHD3CUV7.js.map → chunk-V36QXMIL.js.map} +0 -0
  96. /package/dist/{chunk-3B5746AG.js.map → chunk-VXXA5UN7.js.map} +0 -0
  97. /package/dist/{chunk-TOK5RX5Y.js.map → chunk-WP4ILUPM.js.map} +0 -0
  98. /package/dist/{chunk-YDX6SDOB.js.map → chunk-WTS6XM5S.js.map} +0 -0
  99. /package/dist/{chunk-OBCBF2AI.js.map → chunk-WZHWX3SA.js.map} +0 -0
  100. /package/dist/{chunk-XKHFPXIP.js.map → chunk-YAT2GTVH.js.map} +0 -0
  101. /package/dist/{chunk-6U2OC56L.js.map → chunk-ZQSBNRKS.js.map} +0 -0
  102. /package/dist/{cli-circuit-breaker-EZYSMS5J.js.map → cli-circuit-breaker-XUP4B3CR.js.map} +0 -0
  103. /package/dist/{composite-router-4MX77KAO.js.map → composite-router-EY5NIZUY.js.map} +0 -0
  104. /package/dist/{consensus-vote-UXITDP2P.js.map → consensus-vote-TFCCNC67.js.map} +0 -0
  105. /package/dist/{context-retriever-XQXSR7X2.js.map → context-retriever-3UYUB2VS.js.map} +0 -0
  106. /package/dist/{doctor-deep-LTNNWX2R.js.map → doctor-deep-LFUNO5N5.js.map} +0 -0
  107. /package/dist/{doctor-live-S3EP4CDZ.js.map → doctor-live-PT63BVXI.js.map} +0 -0
  108. /package/dist/{expert-bridge-3EHBG44P.js.map → expert-bridge-CLYAPS4Q.js.map} +0 -0
  109. /package/dist/{factory-5EQYMH5L.js.map → factory-OBIKYM7M.js.map} +0 -0
  110. /package/dist/{factory-I7V3JB6F.js.map → factory-RKYK7SS3.js.map} +0 -0
  111. /package/dist/{improvement-review-KGPFAXTX.js.map → improvement-review-V4AQIMAI.js.map} +0 -0
  112. /package/dist/{init-opencode-CX5YQG7X.js.map → init-opencode-WXD57CGR.js.map} +0 -0
  113. /package/dist/{issue-triage-FQXZ2UCS.js.map → issue-triage-3BMIT32P.js.map} +0 -0
  114. /package/dist/{pr-reviewer-helpers-BVQYKJQC.js.map → pr-reviewer-helpers-GNQAEMFV.js.map} +0 -0
  115. /package/dist/{registry-command-AM4NCHY6.js.map → registry-command-ZSMUSV6O.js.map} +0 -0
  116. /package/dist/{repo-security-plan-4LB6D3NE.js.map → repo-security-plan-O6V4POGE.js.map} +0 -0
  117. /package/dist/{research-helpers-synthesize-R3NHYY7G.js.map → research-helpers-synthesize-AKWLYM53.js.map} +0 -0
  118. /package/dist/{routing-memory-UFJLIHRW.js.map → routing-memory-6JURKD7X.js.map} +0 -0
  119. /package/dist/{session-memory-47LD45HS.js.map → session-memory-AOHQ7GFR.js.map} +0 -0
  120. /package/dist/{setup-config-CZ4ATPBX.js.map → setup-config-YBPHQKMF.js.map} +0 -0
  121. /package/dist/{setup-custom-api-7W5AHZVX.js.map → setup-custom-api-F24U4TMD.js.map} +0 -0
  122. /package/dist/{setup-data-dir-QH76XJKH.js.map → setup-data-dir-2D6SXQHE.js.map} +0 -0
  123. /package/dist/{tool-memory-FTLUCKZI.js.map → tool-memory-QNOIOXGA.js.map} +0 -0
  124. /package/dist/{unified-registry-GBD77P3U.js.map → unified-registry-YEKBJ4R4.js.map} +0 -0
  125. /package/dist/{weather-report-C6HWZL3B.js.map → weather-report-RTKKHFDM.js.map} +0 -0
@@ -13,7 +13,7 @@ import {
13
13
  lookupInTreeCapability,
14
14
  ok,
15
15
  resolveRetryAfterMs
16
- } from "./chunk-RGK3N3UN.js";
16
+ } from "./chunk-P7URBNEC.js";
17
17
 
18
18
  // src/config/model-parameter-support.ts
19
19
  function parseClaudeMajorMinor(bareId) {
@@ -834,4 +834,4 @@ export {
834
834
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
835
835
  collectStream
836
836
  };
837
- //# sourceMappingURL=chunk-3NCBSBSA.js.map
837
+ //# sourceMappingURL=chunk-QKAGRX22.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  recordUsageEvent
4
- } from "./chunk-I7VQGYLE.js";
4
+ } from "./chunk-TCKBYC7Z.js";
5
5
  import {
6
6
  BaseAdapter,
7
7
  createStream,
8
8
  planOptionalParams,
9
9
  requireApiKey,
10
10
  validateApiKeyPresence
11
- } from "./chunk-3NCBSBSA.js";
11
+ } from "./chunk-QKAGRX22.js";
12
12
  import {
13
13
  assertCustomApiHostResolvesPublic
14
- } from "./chunk-3B5746AG.js";
14
+ } from "./chunk-VXXA5UN7.js";
15
15
  import {
16
16
  ConfigError,
17
17
  ModelCapability,
@@ -22,7 +22,7 @@ import {
22
22
  getTimeProvider,
23
23
  getTokenEstimator,
24
24
  ok
25
- } from "./chunk-RGK3N3UN.js";
25
+ } from "./chunk-P7URBNEC.js";
26
26
 
27
27
  // src/adapters/openai-types.ts
28
28
  var OPENAI_MODELS = {
@@ -833,4 +833,4 @@ export {
833
833
  discoverModels,
834
834
  buildOpenAICompatAdapters
835
835
  };
836
- //# sourceMappingURL=chunk-RGLSWWTT.js.map
836
+ //# sourceMappingURL=chunk-QPGSBGG5.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-JYOSSAYY.js";
10
+ } from "./chunk-5WVP7C3Z.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -20,7 +20,7 @@ import {
20
20
  getTimeProvider,
21
21
  isDeclaredNeverDeprecate,
22
22
  isRegisteredToolName
23
- } from "./chunk-RGK3N3UN.js";
23
+ } from "./chunk-P7URBNEC.js";
24
24
  import {
25
25
  getNexusDataDir,
26
26
  nexusDataPath
@@ -2159,4 +2159,4 @@ export {
2159
2159
  runImprovementReview,
2160
2160
  registerImprovementReviewTool
2161
2161
  };
2162
- //# sourceMappingURL=chunk-5C5AJ3AK.js.map
2162
+ //# sourceMappingURL=chunk-SEQIGOAF.js.map
@@ -5,34 +5,34 @@ import {
5
5
  planOptionalParams,
6
6
  requireApiKey,
7
7
  validateApiKeyPresence
8
- } from "./chunk-3NCBSBSA.js";
8
+ } from "./chunk-QKAGRX22.js";
9
9
  import {
10
10
  CUSTOM_API_DEFAULT_MODEL
11
- } from "./chunk-YYCQ5G3K.js";
11
+ } from "./chunk-NDPUIPKN.js";
12
12
  import {
13
13
  CUSTOM_API_BASE_URL_ENV,
14
14
  PROVIDER_ENV_KEYS,
15
15
  assertCustomApiHostResolvesPublic,
16
16
  validateCustomApiBaseUrl
17
- } from "./chunk-3B5746AG.js";
17
+ } from "./chunk-VXXA5UN7.js";
18
18
  import {
19
19
  nexusMkdtempSync
20
20
  } from "./chunk-4OW67KT2.js";
21
21
  import {
22
22
  getAvailabilityCache
23
- } from "./chunk-CL4TF6YT.js";
23
+ } from "./chunk-LHDMQAYQ.js";
24
24
  import {
25
25
  extractSystemPrompt
26
26
  } from "./chunk-QZUG667L.js";
27
27
  import {
28
28
  generateHyphenId
29
- } from "./chunk-62JZZXZA.js";
29
+ } from "./chunk-L4BL4UHG.js";
30
30
  import {
31
31
  CliCircuitBreaker,
32
32
  DEFAULT_CIRCUIT_BREAKER_CONFIG,
33
33
  getCliCircuitBreakerSnapshot,
34
34
  getDefaultCliCircuitBreakerRegistry
35
- } from "./chunk-LQOANCSX.js";
35
+ } from "./chunk-OWPBJIWP.js";
36
36
  import {
37
37
  CLI_SUBPROCESS_TIMEOUTS,
38
38
  CLI_TIMEOUTS,
@@ -72,7 +72,7 @@ import {
72
72
  resolveCliAlias,
73
73
  resolveRetryAfterMs,
74
74
  retryAfterMsFromContext
75
- } from "./chunk-RGK3N3UN.js";
75
+ } from "./chunk-P7URBNEC.js";
76
76
 
77
77
  // src/cli-adapters/cli-to-model-adapter.ts
78
78
  var CliToModelAdapter = class {
@@ -2907,11 +2907,13 @@ var SubprocessCliAdapter = class extends BaseCliAdapter {
2907
2907
  }
2908
2908
  const usage = this.parser.extractUsage(stdout);
2909
2909
  const sessionId = this.parser.extractSessionId(stdout);
2910
+ const costUsd = this.parser.extractCostUsd?.(stdout) ?? null;
2910
2911
  return ok(
2911
2912
  this.normalizeResponse(text, usage ?? void 0, {
2912
2913
  durationMs: getTimeProvider().now() - startTime,
2913
2914
  raw: stdout,
2914
- ...sessionId !== null && { sessionId }
2915
+ ...sessionId !== null && { sessionId },
2916
+ ...costUsd !== null && { costUsd }
2915
2917
  })
2916
2918
  );
2917
2919
  }
@@ -3023,6 +3025,24 @@ function extractNumberField(record, key) {
3023
3025
 
3024
3026
  // src/cli-adapters/parsers/claude-parser.ts
3025
3027
  var logger = createLogger({ component: "claude-parser" });
3028
+ function isUsableCost(value) {
3029
+ return Number.isFinite(value) && value >= 0;
3030
+ }
3031
+ function sumModelUsageCost(raw) {
3032
+ const modelUsage = asRecord(raw);
3033
+ if (modelUsage === null) return null;
3034
+ let sum = 0;
3035
+ let sawCost = false;
3036
+ for (const entry of Object.values(modelUsage)) {
3037
+ const perModel = asRecord(entry);
3038
+ if (perModel === null) continue;
3039
+ const cost = perModel.costUSD;
3040
+ if (typeof cost !== "number" || !isUsableCost(cost)) continue;
3041
+ sum += cost;
3042
+ sawCost = true;
3043
+ }
3044
+ return sawCost ? sum : null;
3045
+ }
3026
3046
  var ClaudeResponseParser = class {
3027
3047
  name = "claude-parser";
3028
3048
  supportedVersionRange = ">=2.0.0 <3.0.0";
@@ -3098,6 +3118,29 @@ var ClaudeResponseParser = class {
3098
3118
  return null;
3099
3119
  }
3100
3120
  }
3121
+ /**
3122
+ * Extracts the cost the Claude CLI reported for this call.
3123
+ *
3124
+ * Prefers `total_cost_usd` — the vendor's own total — over summing
3125
+ * `modelUsage[*].costUSD`, because a per-model breakdown can omit a component
3126
+ * the total includes. Both are declared on {@link ClaudeCliResponse} and
3127
+ * neither reached `CliResponse` before #5241.
3128
+ *
3129
+ * Rejects a negative or non-finite figure: a cost is a measurement, and
3130
+ * letting a corrupt one through would debit the budget router with garbage.
3131
+ */
3132
+ extractCostUsd(raw) {
3133
+ try {
3134
+ const record = asRecord(JSON.parse(raw));
3135
+ if (record === null) return null;
3136
+ const total = record.total_cost_usd;
3137
+ if (typeof total === "number") return isUsableCost(total) ? total : null;
3138
+ return sumModelUsageCost(record.modelUsage);
3139
+ } catch {
3140
+ logger.debug("Skipped malformed output line", { snippet: raw.slice(0, 100) });
3141
+ return null;
3142
+ }
3143
+ }
3101
3144
  /**
3102
3145
  * Extracts session ID for resumption.
3103
3146
  */
@@ -4903,4 +4946,4 @@ export {
4903
4946
  SdkAdapter,
4904
4947
  createAutoAdapter
4905
4948
  };
4906
- //# sourceMappingURL=chunk-JPEXSNOX.js.map
4949
+ //# sourceMappingURL=chunk-SJH3ZEKK.js.map