nexus-agents 2.174.2 → 2.175.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 (143) hide show
  1. package/dist/{child-mcp-config-GWB7JLIS.js → child-mcp-config-XD4ODQJW.js} +9 -7
  2. package/dist/child-mcp-config-XD4ODQJW.js.map +1 -0
  3. package/dist/{chunk-AXTD4TFK.js → chunk-2HUC6NZN.js} +2 -2
  4. package/dist/{chunk-DGR27REV.js → chunk-4OZPWLKY.js} +2 -2
  5. package/dist/{chunk-RAIFOYRM.js → chunk-5Y4RWZ3M.js} +2 -2
  6. package/dist/{chunk-VSETLO4Q.js → chunk-67CGSBQW.js} +2 -2
  7. package/dist/{chunk-JSIX5L3C.js → chunk-67ZQSIGP.js} +2 -2
  8. package/dist/{chunk-DJZGCMNU.js → chunk-AHJYZNQU.js} +2 -2
  9. package/dist/{chunk-SGIWJYLJ.js → chunk-C7TM6GM7.js} +2 -2
  10. package/dist/{chunk-H5KLPUAL.js → chunk-CFZGSZEX.js} +3 -3
  11. package/dist/{chunk-JVBI4WKP.js → chunk-CXF5KR7V.js} +5 -5
  12. package/dist/{chunk-UB6APBIY.js → chunk-D7S4ZZS6.js} +2 -2
  13. package/dist/{chunk-5QVJCBM4.js → chunk-DALN2VV4.js} +4 -4
  14. package/dist/{chunk-PINS44XA.js → chunk-DVKS77O5.js} +2 -2
  15. package/dist/{chunk-3P7SMHBU.js → chunk-EY6CGIGS.js} +3 -3
  16. package/dist/{chunk-HUYP2XXH.js → chunk-FFVDD6MS.js} +2 -2
  17. package/dist/{chunk-IVINLVGP.js → chunk-FSVJJBIK.js} +2 -2
  18. package/dist/{chunk-Z77MIV3C.js → chunk-G4HDWPDT.js} +2 -2
  19. package/dist/{chunk-KU2HPCJG.js → chunk-GL4WGBKE.js} +4 -4
  20. package/dist/{chunk-MRRKFMYJ.js → chunk-HULJ7IYD.js} +4 -4
  21. package/dist/{chunk-OGR5Q6QO.js → chunk-IZS3BWQB.js} +7 -7
  22. package/dist/{chunk-YUCJ7VSJ.js → chunk-JIJA2RY5.js} +13 -10
  23. package/dist/chunk-JIJA2RY5.js.map +1 -0
  24. package/dist/{chunk-EDWON3X5.js → chunk-JXJAHGX2.js} +6 -6
  25. package/dist/{chunk-E35RUETV.js → chunk-KNIHV2UA.js} +2 -2
  26. package/dist/{chunk-OM2VVQKB.js → chunk-LZ2ATWVV.js} +2 -2
  27. package/dist/{chunk-OCTNNEXT.js → chunk-MTVSYN4U.js} +10 -10
  28. package/dist/{chunk-4PTAG65V.js → chunk-OM2NE5EZ.js} +2 -2
  29. package/dist/{chunk-DHVMSIT5.js → chunk-OQLFRJCW.js} +9 -1
  30. package/dist/chunk-OQLFRJCW.js.map +1 -0
  31. package/dist/{chunk-KWKGX7LC.js → chunk-PBWM7MFA.js} +5 -5
  32. package/dist/{chunk-KYF4YAZO.js → chunk-QCWBPQF2.js} +4 -4
  33. package/dist/{chunk-K6NXLBHG.js → chunk-QDPGKVHH.js} +13 -11
  34. package/dist/{chunk-K6NXLBHG.js.map → chunk-QDPGKVHH.js.map} +1 -1
  35. package/dist/{chunk-2CB6QMRX.js → chunk-QDYZCME4.js} +39 -39
  36. package/dist/{chunk-KAL22DYO.js → chunk-QJ2Z6SMD.js} +2 -2
  37. package/dist/{chunk-PN43VH6Z.js → chunk-QY5CJKNS.js} +7 -7
  38. package/dist/{chunk-6RRAQFSX.js → chunk-TYLCYSUQ.js} +2 -2
  39. package/dist/chunk-YAF73ZMR.js +38 -0
  40. package/dist/chunk-YAF73ZMR.js.map +1 -0
  41. package/dist/{chunk-Y5JA7XEO.js → chunk-YAJ4XUD2.js} +11 -11
  42. package/dist/chunk-YAJ4XUD2.js.map +1 -0
  43. package/dist/{chunk-YE2XMU3T.js → chunk-Z4BSY2MW.js} +3 -3
  44. package/dist/{chunk-ASJTVA7W.js → chunk-ZUOQBQN7.js} +6 -6
  45. package/dist/{cli-circuit-breaker-EINPV2CX.js → cli-circuit-breaker-UVYGXMC3.js} +5 -5
  46. package/dist/cli.js +58 -48
  47. package/dist/cli.js.map +1 -1
  48. package/dist/{composite-router-CUJAG7O4.js → composite-router-RMZL4257.js} +4 -4
  49. package/dist/{consensus-vote-BLCQCWPV.js → consensus-vote-REULZA53.js} +20 -19
  50. package/dist/{context-retriever-MTJR3AQM.js → context-retriever-RZZWVBOR.js} +11 -11
  51. package/dist/doctor-deep-HV4TJTJV.js +13 -0
  52. package/dist/{expert-bridge-2W2JMFQW.js → expert-bridge-ET6VC2JL.js} +6 -6
  53. package/dist/factory-2VRY5UT7.js +15 -0
  54. package/dist/factory-KQML5DIT.js +25 -0
  55. package/dist/{improvement-review-ZMUJQSX3.js → improvement-review-33RKE6ZV.js} +7 -7
  56. package/dist/index.js +34 -33
  57. package/dist/index.js.map +1 -1
  58. package/dist/{init-opencode-I5XSFY34.js → init-opencode-H4KHTVI6.js} +8 -8
  59. package/dist/issue-triage-3WQXLNRD.js +18 -0
  60. package/dist/{learning-persistence-6D5GGT7D.js → learning-persistence-EGY4VKKO.js} +3 -3
  61. package/dist/{pr-reviewer-helpers-CZDMP5UJ.js → pr-reviewer-helpers-NMOXAE4O.js} +6 -6
  62. package/dist/{registry-command-5J6RJZMS.js → registry-command-ZV7WMEYO.js} +4 -4
  63. package/dist/{repo-security-plan-MKSCD567.js → repo-security-plan-U6SMBTSU.js} +5 -5
  64. package/dist/research-helpers-synthesize-IUIZIZTV.js +15 -0
  65. package/dist/{routing-memory-HAWL7RKO.js → routing-memory-7EFOXSIE.js} +4 -4
  66. package/dist/{session-memory-RPSM7Y4Q.js → session-memory-IFVVJ2YP.js} +5 -5
  67. package/dist/setup-command-K2VBZISN.js +43 -0
  68. package/dist/setup-config-GA2YVE4R.js +11 -0
  69. package/dist/{setup-custom-api-BZSHB2M5.js → setup-custom-api-E7V4XEKX.js} +6 -6
  70. package/dist/{tool-memory-FCEJMKEH.js → tool-memory-ZJ5WR3DL.js} +8 -8
  71. package/dist/{tool-memory-registry-adapters-PMMKJQF5.js → tool-memory-registry-adapters-YQLOSV4S.js} +3 -3
  72. package/dist/unified-registry-56JY5W3B.js +28 -0
  73. package/dist/{weather-report-VNABZRH7.js → weather-report-MMOOGRWG.js} +4 -4
  74. package/package.json +1 -1
  75. package/dist/child-mcp-config-GWB7JLIS.js.map +0 -1
  76. package/dist/chunk-DHVMSIT5.js.map +0 -1
  77. package/dist/chunk-Y5JA7XEO.js.map +0 -1
  78. package/dist/chunk-YUCJ7VSJ.js.map +0 -1
  79. package/dist/doctor-deep-X2KP2G4M.js +0 -13
  80. package/dist/factory-7UFJ6LXW.js +0 -24
  81. package/dist/factory-SC5D5P3C.js +0 -15
  82. package/dist/issue-triage-KOIPTNDH.js +0 -18
  83. package/dist/research-helpers-synthesize-TIT43XF4.js +0 -15
  84. package/dist/setup-command-SORJLYU3.js +0 -42
  85. package/dist/setup-config-YDA4MY4N.js +0 -11
  86. package/dist/unified-registry-JWPD2ES2.js +0 -27
  87. /package/dist/{chunk-AXTD4TFK.js.map → chunk-2HUC6NZN.js.map} +0 -0
  88. /package/dist/{chunk-DGR27REV.js.map → chunk-4OZPWLKY.js.map} +0 -0
  89. /package/dist/{chunk-RAIFOYRM.js.map → chunk-5Y4RWZ3M.js.map} +0 -0
  90. /package/dist/{chunk-VSETLO4Q.js.map → chunk-67CGSBQW.js.map} +0 -0
  91. /package/dist/{chunk-JSIX5L3C.js.map → chunk-67ZQSIGP.js.map} +0 -0
  92. /package/dist/{chunk-DJZGCMNU.js.map → chunk-AHJYZNQU.js.map} +0 -0
  93. /package/dist/{chunk-SGIWJYLJ.js.map → chunk-C7TM6GM7.js.map} +0 -0
  94. /package/dist/{chunk-H5KLPUAL.js.map → chunk-CFZGSZEX.js.map} +0 -0
  95. /package/dist/{chunk-JVBI4WKP.js.map → chunk-CXF5KR7V.js.map} +0 -0
  96. /package/dist/{chunk-UB6APBIY.js.map → chunk-D7S4ZZS6.js.map} +0 -0
  97. /package/dist/{chunk-5QVJCBM4.js.map → chunk-DALN2VV4.js.map} +0 -0
  98. /package/dist/{chunk-PINS44XA.js.map → chunk-DVKS77O5.js.map} +0 -0
  99. /package/dist/{chunk-3P7SMHBU.js.map → chunk-EY6CGIGS.js.map} +0 -0
  100. /package/dist/{chunk-HUYP2XXH.js.map → chunk-FFVDD6MS.js.map} +0 -0
  101. /package/dist/{chunk-IVINLVGP.js.map → chunk-FSVJJBIK.js.map} +0 -0
  102. /package/dist/{chunk-Z77MIV3C.js.map → chunk-G4HDWPDT.js.map} +0 -0
  103. /package/dist/{chunk-KU2HPCJG.js.map → chunk-GL4WGBKE.js.map} +0 -0
  104. /package/dist/{chunk-MRRKFMYJ.js.map → chunk-HULJ7IYD.js.map} +0 -0
  105. /package/dist/{chunk-OGR5Q6QO.js.map → chunk-IZS3BWQB.js.map} +0 -0
  106. /package/dist/{chunk-EDWON3X5.js.map → chunk-JXJAHGX2.js.map} +0 -0
  107. /package/dist/{chunk-E35RUETV.js.map → chunk-KNIHV2UA.js.map} +0 -0
  108. /package/dist/{chunk-OM2VVQKB.js.map → chunk-LZ2ATWVV.js.map} +0 -0
  109. /package/dist/{chunk-OCTNNEXT.js.map → chunk-MTVSYN4U.js.map} +0 -0
  110. /package/dist/{chunk-4PTAG65V.js.map → chunk-OM2NE5EZ.js.map} +0 -0
  111. /package/dist/{chunk-KWKGX7LC.js.map → chunk-PBWM7MFA.js.map} +0 -0
  112. /package/dist/{chunk-KYF4YAZO.js.map → chunk-QCWBPQF2.js.map} +0 -0
  113. /package/dist/{chunk-2CB6QMRX.js.map → chunk-QDYZCME4.js.map} +0 -0
  114. /package/dist/{chunk-KAL22DYO.js.map → chunk-QJ2Z6SMD.js.map} +0 -0
  115. /package/dist/{chunk-PN43VH6Z.js.map → chunk-QY5CJKNS.js.map} +0 -0
  116. /package/dist/{chunk-6RRAQFSX.js.map → chunk-TYLCYSUQ.js.map} +0 -0
  117. /package/dist/{chunk-YE2XMU3T.js.map → chunk-Z4BSY2MW.js.map} +0 -0
  118. /package/dist/{chunk-ASJTVA7W.js.map → chunk-ZUOQBQN7.js.map} +0 -0
  119. /package/dist/{cli-circuit-breaker-EINPV2CX.js.map → cli-circuit-breaker-UVYGXMC3.js.map} +0 -0
  120. /package/dist/{composite-router-CUJAG7O4.js.map → composite-router-RMZL4257.js.map} +0 -0
  121. /package/dist/{consensus-vote-BLCQCWPV.js.map → consensus-vote-REULZA53.js.map} +0 -0
  122. /package/dist/{context-retriever-MTJR3AQM.js.map → context-retriever-RZZWVBOR.js.map} +0 -0
  123. /package/dist/{doctor-deep-X2KP2G4M.js.map → doctor-deep-HV4TJTJV.js.map} +0 -0
  124. /package/dist/{expert-bridge-2W2JMFQW.js.map → expert-bridge-ET6VC2JL.js.map} +0 -0
  125. /package/dist/{factory-7UFJ6LXW.js.map → factory-2VRY5UT7.js.map} +0 -0
  126. /package/dist/{factory-SC5D5P3C.js.map → factory-KQML5DIT.js.map} +0 -0
  127. /package/dist/{improvement-review-ZMUJQSX3.js.map → improvement-review-33RKE6ZV.js.map} +0 -0
  128. /package/dist/{init-opencode-I5XSFY34.js.map → init-opencode-H4KHTVI6.js.map} +0 -0
  129. /package/dist/{issue-triage-KOIPTNDH.js.map → issue-triage-3WQXLNRD.js.map} +0 -0
  130. /package/dist/{learning-persistence-6D5GGT7D.js.map → learning-persistence-EGY4VKKO.js.map} +0 -0
  131. /package/dist/{pr-reviewer-helpers-CZDMP5UJ.js.map → pr-reviewer-helpers-NMOXAE4O.js.map} +0 -0
  132. /package/dist/{registry-command-5J6RJZMS.js.map → registry-command-ZV7WMEYO.js.map} +0 -0
  133. /package/dist/{repo-security-plan-MKSCD567.js.map → repo-security-plan-U6SMBTSU.js.map} +0 -0
  134. /package/dist/{research-helpers-synthesize-TIT43XF4.js.map → research-helpers-synthesize-IUIZIZTV.js.map} +0 -0
  135. /package/dist/{routing-memory-HAWL7RKO.js.map → routing-memory-7EFOXSIE.js.map} +0 -0
  136. /package/dist/{session-memory-RPSM7Y4Q.js.map → session-memory-IFVVJ2YP.js.map} +0 -0
  137. /package/dist/{setup-command-SORJLYU3.js.map → setup-command-K2VBZISN.js.map} +0 -0
  138. /package/dist/{setup-config-YDA4MY4N.js.map → setup-config-GA2YVE4R.js.map} +0 -0
  139. /package/dist/{setup-custom-api-BZSHB2M5.js.map → setup-custom-api-E7V4XEKX.js.map} +0 -0
  140. /package/dist/{tool-memory-FCEJMKEH.js.map → tool-memory-ZJ5WR3DL.js.map} +0 -0
  141. /package/dist/{tool-memory-registry-adapters-PMMKJQF5.js.map → tool-memory-registry-adapters-YQLOSV4S.js.map} +0 -0
  142. /package/dist/{unified-registry-JWPD2ES2.js.map → unified-registry-56JY5W3B.js.map} +0 -0
  143. /package/dist/{weather-report-VNABZRH7.js.map → weather-report-MMOOGRWG.js.map} +0 -0
@@ -1,14 +1,16 @@
1
+ import {
2
+ nexusMkdtemp
3
+ } from "./chunk-YAF73ZMR.js";
1
4
  import {
2
5
  createLogger
3
- } from "./chunk-Y5JA7XEO.js";
4
- import "./chunk-AXTD4TFK.js";
5
- import "./chunk-DHVMSIT5.js";
6
+ } from "./chunk-YAJ4XUD2.js";
7
+ import "./chunk-2HUC6NZN.js";
8
+ import "./chunk-OQLFRJCW.js";
6
9
  import "./chunk-ZPWHCABL.js";
7
10
 
8
11
  // src/cli-adapters/child-mcp-config.ts
9
- import { writeFile, mkdtemp, rm } from "fs/promises";
12
+ import { writeFile, rm } from "fs/promises";
10
13
  import { join } from "path";
11
- import { tmpdir } from "os";
12
14
  var logger = createLogger({ component: "swe-bench-mcp-config" });
13
15
  var DEFAULT_ALLOWED_TOOLS = [
14
16
  "memory_query",
@@ -41,7 +43,7 @@ function buildConfig(options) {
41
43
  async function generateMcpConfig(options) {
42
44
  const config = buildConfig(options);
43
45
  const tools = options?.allowedTools ?? DEFAULT_ALLOWED_TOOLS;
44
- const tempDir = await mkdtemp(join(tmpdir(), "nexus-mcp-"));
46
+ const tempDir = await nexusMkdtemp("nexus-mcp-");
45
47
  const configPath = join(tempDir, "mcp-config.json");
46
48
  await writeFile(configPath, JSON.stringify(config, null, 2), "utf-8");
47
49
  const cleanup = async () => {
@@ -60,4 +62,4 @@ export {
60
62
  generateMcpConfig,
61
63
  getDefaultAllowedTools
62
64
  };
63
- //# sourceMappingURL=child-mcp-config-GWB7JLIS.js.map
65
+ //# sourceMappingURL=child-mcp-config-XD4ODQJW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli-adapters/child-mcp-config.ts"],"sourcesContent":["/**\n * nexus-agents/cli-adapters - Child CLI MCP Config Generator\n *\n * Generates MCP server configuration for child Claude CLI sessions so\n * spawned agents can call back into nexus-agents' MCP tools (memory,\n * research, etc.). Used by `pipeline/expert-bridge.ts` to give expert\n * agents tool access. Originally lived under `swe-bench/` (#1413);\n * relocated here in #2515 — the helper is generic CLI-spawn\n * infrastructure, not benchmark-specific.\n *\n * @module cli-adapters/child-mcp-config\n */\n\nimport { writeFile, rm } from 'node:fs/promises';\nimport { nexusMkdtemp } from '../config/nexus-tmp-dir.js';\nimport { join } from 'node:path';\nimport { createLogger } from '../core/index.js';\n\nconst logger = createLogger({ component: 'swe-bench-mcp-config' });\n\n/**\n * MCP server entry in Claude CLI config format.\n */\ninterface McpServerEntry {\n readonly command: string;\n readonly args: readonly string[];\n readonly env?: Readonly<Record<string, string>>;\n}\n\n/**\n * MCP config file format for Claude CLI (--mcp-config).\n */\ninterface McpConfigFile {\n readonly mcpServers: Readonly<Record<string, McpServerEntry>>;\n}\n\n/**\n * Options for generating MCP config.\n */\nexport interface McpConfigOptions {\n /** Path to nexus-agents CLI entry point. */\n readonly cliPath?: string;\n /** Additional environment variables for the MCP server. */\n readonly env?: Readonly<Record<string, string>>;\n /** Custom allowed tools (default: read-only subset). */\n readonly allowedTools?: readonly string[];\n}\n\n/** Default read-only tools available to SWE-bench child sessions. */\nconst DEFAULT_ALLOWED_TOOLS: readonly string[] = [\n 'memory_query',\n 'memory_stats',\n 'research_query',\n 'research_discover',\n 'weather_report',\n 'delegate_to_model',\n];\n\n/**\n * Resolves the nexus-agents CLI path.\n * Uses the built dist/cli.js relative to this package.\n */\nfunction resolveCliPath(override?: string): string {\n if (override !== undefined) return override;\n // Resolve relative to this file: src/swe-bench/ → dist/cli.js\n // At runtime we're in dist/swe-bench/, so go up one level\n const distDir = join(__dirname, '..');\n return join(distDir, 'cli.js');\n}\n\n/**\n * Builds the MCP config object for a nexus-agents server.\n */\nfunction buildConfig(options?: McpConfigOptions): McpConfigFile {\n const cliPath = resolveCliPath(options?.cliPath);\n const tools = options?.allowedTools ?? DEFAULT_ALLOWED_TOOLS;\n\n const entry: McpServerEntry = {\n command: 'node',\n args: [cliPath, '--mode=server'],\n ...(options?.env !== undefined ? { env: options.env } : {}),\n };\n\n return {\n mcpServers: {\n 'nexus-agents': entry,\n },\n };\n\n // Note: tool allowlisting is handled by Claude CLI's --allowedTools flag,\n // not in the MCP config itself. The caller should pass tools separately.\n void tools;\n}\n\n/**\n * Generated MCP config with path and cleanup function.\n */\nexport interface GeneratedMcpConfig {\n /** Path to the generated config file. */\n readonly configPath: string;\n /** Cleanup function to remove temp files. */\n readonly cleanup: () => Promise<void>;\n /** Allowed tools list for --allowedTools flag. */\n readonly allowedTools: readonly string[];\n}\n\n/**\n * Generates an MCP config file for Claude CLI child sessions.\n *\n * Creates a temporary JSON file that can be passed to `claude --mcp-config`.\n * Returns the file path and a cleanup function.\n */\nexport async function generateMcpConfig(options?: McpConfigOptions): Promise<GeneratedMcpConfig> {\n const config = buildConfig(options);\n const tools = options?.allowedTools ?? DEFAULT_ALLOWED_TOOLS;\n\n const tempDir = await nexusMkdtemp('nexus-mcp-');\n const configPath = join(tempDir, 'mcp-config.json');\n\n await writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');\n\n const cleanup = async (): Promise<void> => {\n await rm(tempDir, { recursive: true, force: true }).catch((e: unknown) => {\n logger.debug('Best-effort cleanup failed', {\n error: e instanceof Error ? e.message : String(e),\n });\n });\n };\n\n return { configPath, cleanup, allowedTools: tools };\n}\n\n/**\n * Gets the default allowed tools for SWE-bench MCP sessions.\n */\nexport function getDefaultAllowedTools(): readonly string[] {\n return DEFAULT_ALLOWED_TOOLS;\n}\n"],"mappings":";;;;;;;;;;;AAaA,SAAS,WAAW,UAAU;AAE9B,SAAS,YAAY;AAGrB,IAAM,SAAS,aAAa,EAAE,WAAW,uBAAuB,CAAC;AA+BjE,IAAM,wBAA2C;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAMA,SAAS,eAAe,UAA2B;AACjD,MAAI,aAAa,OAAW,QAAO;AAGnC,QAAM,UAAU,KAAK,WAAW,IAAI;AACpC,SAAO,KAAK,SAAS,QAAQ;AAC/B;AAKA,SAAS,YAAY,SAA2C;AAC9D,QAAM,UAAU,eAAe,SAAS,OAAO;AAC/C,QAAM,QAAQ,SAAS,gBAAgB;AAEvC,QAAM,QAAwB;AAAA,IAC5B,SAAS;AAAA,IACT,MAAM,CAAC,SAAS,eAAe;AAAA,IAC/B,GAAI,SAAS,QAAQ,SAAY,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC;AAAA,EAC3D;AAEA,SAAO;AAAA,IACL,YAAY;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,EACF;AAIA,OAAK;AACP;AAoBA,eAAsB,kBAAkB,SAAyD;AAC/F,QAAM,SAAS,YAAY,OAAO;AAClC,QAAM,QAAQ,SAAS,gBAAgB;AAEvC,QAAM,UAAU,MAAM,aAAa,YAAY;AAC/C,QAAM,aAAa,KAAK,SAAS,iBAAiB;AAElD,QAAM,UAAU,YAAY,KAAK,UAAU,QAAQ,MAAM,CAAC,GAAG,OAAO;AAEpE,QAAM,UAAU,YAA2B;AACzC,UAAM,GAAG,SAAS,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC,EAAE,MAAM,CAAC,MAAe;AACxE,aAAO,MAAM,8BAA8B;AAAA,QACzC,OAAO,aAAa,QAAQ,EAAE,UAAU,OAAO,CAAC;AAAA,MAClD,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SAAO,EAAE,YAAY,SAAS,cAAc,MAAM;AACpD;AAKO,SAAS,yBAA4C;AAC1D,SAAO;AACT;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getNexusDataDir
3
- } from "./chunk-DHVMSIT5.js";
3
+ } from "./chunk-OQLFRJCW.js";
4
4
 
5
5
  // src/config/learning-persistence.ts
6
6
  import { mkdirSync } from "fs";
@@ -45,4 +45,4 @@ export {
45
45
  isPersistenceEnabled,
46
46
  ensureLearningDir
47
47
  };
48
- //# sourceMappingURL=chunk-AXTD4TFK.js.map
48
+ //# sourceMappingURL=chunk-2HUC6NZN.js.map
@@ -11,7 +11,7 @@ import {
11
11
  createGetRetryConfig,
12
12
  createGetTimeout,
13
13
  createGetToolRateLimit
14
- } from "./chunk-Y5JA7XEO.js";
14
+ } from "./chunk-YAJ4XUD2.js";
15
15
 
16
16
  // src/config/defaults.ts
17
17
  var CUSTOM_API_DEFAULT_MODEL = "gpt-5.5";
@@ -230,4 +230,4 @@ export {
230
230
  CUSTOM_API_DEFAULT_MODEL,
231
231
  DEFAULTS
232
232
  };
233
- //# sourceMappingURL=chunk-DGR27REV.js.map
233
+ //# sourceMappingURL=chunk-4OZPWLKY.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-Y5JA7XEO.js";
6
+ } from "./chunk-YAJ4XUD2.js";
7
7
 
8
8
  // src/config/model-availability.ts
9
9
  var DEFAULT_TTL_MS = 6e4;
@@ -150,4 +150,4 @@ export {
150
150
  resetAvailabilityCache,
151
151
  filterAvailableModels
152
152
  };
153
- //# sourceMappingURL=chunk-RAIFOYRM.js.map
153
+ //# sourceMappingURL=chunk-5Y4RWZ3M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getTimeProvider
3
- } from "./chunk-Y5JA7XEO.js";
3
+ } from "./chunk-YAJ4XUD2.js";
4
4
 
5
5
  // src/security/audit-trail.ts
6
6
  var MAX_EVENTS = 1e4;
@@ -205,4 +205,4 @@ export {
205
205
  createGraphAuditBridge,
206
206
  createAuditTrail
207
207
  };
208
- //# sourceMappingURL=chunk-VSETLO4Q.js.map
208
+ //# sourceMappingURL=chunk-67CGSBQW.js.map
@@ -2,7 +2,7 @@ import {
2
2
  TASK_CATEGORIES,
3
3
  getAdaptiveBonus,
4
4
  getOutcomeStore
5
- } from "./chunk-Y5JA7XEO.js";
5
+ } from "./chunk-YAJ4XUD2.js";
6
6
 
7
7
  // src/cli/doctor-deep.ts
8
8
  var CLI_NAMES = ["claude", "gemini", "codex", "opencode"];
@@ -106,4 +106,4 @@ export {
106
106
  runDeepDiagnostics,
107
107
  formatDeepDiagnostics
108
108
  };
109
- //# sourceMappingURL=chunk-JSIX5L3C.js.map
109
+ //# sourceMappingURL=chunk-67ZQSIGP.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-Y5JA7XEO.js";
11
+ } from "./chunk-YAJ4XUD2.js";
12
12
 
13
13
  // src/cli/research-helpers-io.ts
14
14
  import * as fs2 from "fs/promises";
@@ -146,4 +146,4 @@ export {
146
146
  loadPapersRegistry,
147
147
  savePapersRegistry
148
148
  };
149
- //# sourceMappingURL=chunk-DJZGCMNU.js.map
149
+ //# sourceMappingURL=chunk-AHJYZNQU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRandomProvider,
3
3
  getTimeProvider
4
- } from "./chunk-Y5JA7XEO.js";
4
+ } from "./chunk-YAJ4XUD2.js";
5
5
 
6
6
  // src/utils/id-utils.ts
7
7
  import { randomUUID } from "crypto";
@@ -24,4 +24,4 @@ export {
24
24
  generateHyphenId,
25
25
  generateUUID
26
26
  };
27
- //# sourceMappingURL=chunk-SGIWJYLJ.js.map
27
+ //# sourceMappingURL=chunk-C7TM6GM7.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getDefaultRegistry
3
- } from "./chunk-Y5JA7XEO.js";
3
+ } from "./chunk-YAJ4XUD2.js";
4
4
  import {
5
5
  getNexusDataDir
6
- } from "./chunk-DHVMSIT5.js";
6
+ } from "./chunk-OQLFRJCW.js";
7
7
 
8
8
  // src/learning/usage-log.ts
9
9
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync } from "fs";
@@ -124,4 +124,4 @@ export {
124
124
  loadUsageEvents,
125
125
  rollupByModel
126
126
  };
127
- //# sourceMappingURL=chunk-H5KLPUAL.js.map
127
+ //# sourceMappingURL=chunk-CFZGSZEX.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  recordUsageEvent
4
- } from "./chunk-H5KLPUAL.js";
4
+ } from "./chunk-CFZGSZEX.js";
5
5
  import {
6
6
  BaseAdapter,
7
7
  createStream,
8
8
  planOptionalParams,
9
9
  requireApiKey,
10
10
  validateApiKeyPresence
11
- } from "./chunk-6RRAQFSX.js";
11
+ } from "./chunk-TYLCYSUQ.js";
12
12
  import {
13
13
  assertCustomApiHostResolvesPublic
14
- } from "./chunk-OM2VVQKB.js";
14
+ } from "./chunk-LZ2ATWVV.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-Y5JA7XEO.js";
25
+ } from "./chunk-YAJ4XUD2.js";
26
26
 
27
27
  // src/adapters/openai-types.ts
28
28
  var OPENAI_MODELS = {
@@ -825,4 +825,4 @@ export {
825
825
  discoverModels,
826
826
  buildOpenAICompatAdapters
827
827
  };
828
- //# sourceMappingURL=chunk-JVBI4WKP.js.map
828
+ //# sourceMappingURL=chunk-CXF5KR7V.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-Y5JA7XEO.js";
7
+ } from "./chunk-YAJ4XUD2.js";
8
8
 
9
9
  // src/mcp/tools/scanner-registry-fetcher.ts
10
10
  import { z } from "zod";
@@ -721,4 +721,4 @@ export {
721
721
  generateSecurityPlan,
722
722
  buildPlanFromAnalysis
723
723
  };
724
- //# sourceMappingURL=chunk-UB6APBIY.js.map
724
+ //# sourceMappingURL=chunk-D7S4ZZS6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  emitClawGuardViolation
3
- } from "./chunk-VSETLO4Q.js";
3
+ } from "./chunk-67CGSBQW.js";
4
4
  import {
5
5
  CACHE_TIMEOUTS,
6
6
  MCP_TIMEOUTS,
@@ -16,10 +16,10 @@ import {
16
16
  getTimeProvider,
17
17
  ok,
18
18
  resolveToolClassGuardMs
19
- } from "./chunk-Y5JA7XEO.js";
19
+ } from "./chunk-YAJ4XUD2.js";
20
20
  import {
21
21
  getNexusDataDir
22
- } from "./chunk-DHVMSIT5.js";
22
+ } from "./chunk-OQLFRJCW.js";
23
23
 
24
24
  // src/mcp/middleware/validation.ts
25
25
  function validateToolInput(schema, args) {
@@ -2023,4 +2023,4 @@ export {
2023
2023
  VOTING_THRESHOLDS,
2024
2024
  ConsensusMetricsSchema
2025
2025
  };
2026
- //# sourceMappingURL=chunk-5QVJCBM4.js.map
2026
+ //# sourceMappingURL=chunk-DALN2VV4.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-KSQSWEFH.js";
6
6
  import {
7
7
  nexusDataPath
8
- } from "./chunk-DHVMSIT5.js";
8
+ } from "./chunk-OQLFRJCW.js";
9
9
 
10
10
  // src/mcp/tools/tool-memory-registry-adapters.ts
11
11
  var DEFAULT_SEARCH_LIMIT = 10;
@@ -89,4 +89,4 @@ export {
89
89
  StatsOnlyAdapter,
90
90
  ensureSharedMemoryRegistry
91
91
  };
92
- //# sourceMappingURL=chunk-PINS44XA.js.map
92
+ //# sourceMappingURL=chunk-DVKS77O5.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  loadPapersRegistry
3
- } from "./chunk-DJZGCMNU.js";
3
+ } from "./chunk-AHJYZNQU.js";
4
4
  import {
5
5
  getErrorMessage
6
- } from "./chunk-Y5JA7XEO.js";
6
+ } from "./chunk-YAJ4XUD2.js";
7
7
 
8
8
  // src/cli/research-helpers-synthesize.ts
9
9
  import { z } from "zod";
@@ -876,4 +876,4 @@ export {
876
876
  AttributedInsightSchema,
877
877
  synthesizeResearch
878
878
  };
879
- //# sourceMappingURL=chunk-3P7SMHBU.js.map
879
+ //# sourceMappingURL=chunk-EY6CGIGS.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-Y5JA7XEO.js";
5
+ } from "./chunk-YAJ4XUD2.js";
6
6
 
7
7
  // src/scm/token-resolver.ts
8
8
  import { execFile } from "child_process";
@@ -87,4 +87,4 @@ export {
87
87
  hasToken,
88
88
  getTokenEnvVars
89
89
  };
90
- //# sourceMappingURL=chunk-HUYP2XXH.js.map
90
+ //# sourceMappingURL=chunk-FFVDD6MS.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-Y5JA7XEO.js";
7
+ } from "./chunk-YAJ4XUD2.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -352,4 +352,4 @@ export {
352
352
  SessionMemory,
353
353
  createSessionMemory
354
354
  };
355
- //# sourceMappingURL=chunk-IVINLVGP.js.map
355
+ //# sourceMappingURL=chunk-FSVJJBIK.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getTimeProvider,
9
9
  isRateLimitText,
10
10
  ok
11
- } from "./chunk-Y5JA7XEO.js";
11
+ } from "./chunk-YAJ4XUD2.js";
12
12
 
13
13
  // src/cli-adapters/circuit-breaker-types.ts
14
14
  var CircuitErrorCode = {
@@ -540,4 +540,4 @@ export {
540
540
  CliCircuitBreakerIntegration,
541
541
  createCliCircuitBreakerIntegration
542
542
  };
543
- //# sourceMappingURL=chunk-Z77MIV3C.js.map
543
+ //# sourceMappingURL=chunk-G4HDWPDT.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-E35RUETV.js";
4
+ } from "./chunk-KNIHV2UA.js";
5
5
  import {
6
6
  resolveToken
7
- } from "./chunk-HUYP2XXH.js";
7
+ } from "./chunk-FFVDD6MS.js";
8
8
  import {
9
9
  err,
10
10
  ok
11
- } from "./chunk-Y5JA7XEO.js";
11
+ } from "./chunk-YAJ4XUD2.js";
12
12
 
13
13
  // src/scm/factory.ts
14
14
  async function createScmProvider(config) {
@@ -41,4 +41,4 @@ export {
41
41
  createScmProvider,
42
42
  createGitHubProvider
43
43
  };
44
- //# sourceMappingURL=chunk-KU2HPCJG.js.map
44
+ //# sourceMappingURL=chunk-GL4WGBKE.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-K6NXLBHG.js";
3
+ } from "./chunk-QDPGKVHH.js";
4
4
  import {
5
5
  mapModelErrorToCategory
6
- } from "./chunk-Z77MIV3C.js";
6
+ } from "./chunk-G4HDWPDT.js";
7
7
  import {
8
8
  CLI_NAMES,
9
9
  CircularBuffer,
@@ -24,7 +24,7 @@ import {
24
24
  ok,
25
25
  recordRateLimitEvent,
26
26
  toRateLimitError
27
- } from "./chunk-Y5JA7XEO.js";
27
+ } from "./chunk-YAJ4XUD2.js";
28
28
 
29
29
  // src/agents/collaboration/event-bus-helpers.ts
30
30
  import { randomUUID } from "crypto";
@@ -1041,4 +1041,4 @@ export {
1041
1041
  getGlobalRegistry,
1042
1042
  resetGlobalRegistry
1043
1043
  };
1044
- //# sourceMappingURL=chunk-MRRKFMYJ.js.map
1044
+ //# sourceMappingURL=chunk-HULJ7IYD.js.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  resolveToken
3
- } from "./chunk-HUYP2XXH.js";
3
+ } from "./chunk-FFVDD6MS.js";
4
4
  import {
5
5
  REGISTRY_PATH,
6
6
  getProjectRoot,
7
7
  loadPapersRegistry,
8
8
  loadTechniquesRegistry,
9
9
  savePapersRegistry
10
- } from "./chunk-DJZGCMNU.js";
10
+ } from "./chunk-AHJYZNQU.js";
11
11
  import {
12
12
  resolveInsideRoot
13
13
  } from "./chunk-NUBSJGQZ.js";
14
14
  import {
15
15
  getToolMemory
16
- } from "./chunk-EDWON3X5.js";
16
+ } from "./chunk-JXJAHGX2.js";
17
17
  import {
18
18
  capitalizeWords,
19
19
  truncateSentence
@@ -38,14 +38,14 @@ import {
38
38
  getTimeProvider,
39
39
  ok,
40
40
  registerPersistentDistillerFactory
41
- } from "./chunk-Y5JA7XEO.js";
41
+ } from "./chunk-YAJ4XUD2.js";
42
42
  import {
43
43
  ensureLearningDir,
44
44
  getRulesFile
45
- } from "./chunk-AXTD4TFK.js";
45
+ } from "./chunk-2HUC6NZN.js";
46
46
  import {
47
47
  nexusDataPath
48
- } from "./chunk-DHVMSIT5.js";
48
+ } from "./chunk-OQLFRJCW.js";
49
49
 
50
50
  // src/learning/strategy-distiller-persistence.ts
51
51
  import { writeFileSync, readFileSync, renameSync, unlinkSync, existsSync } from "fs";
@@ -4090,4 +4090,4 @@ export {
4090
4090
  DEFAULT_CONTEXT_BUDGET_TOKENS,
4091
4091
  getContextPromptPrefix
4092
4092
  };
4093
- //# sourceMappingURL=chunk-OGR5Q6QO.js.map
4093
+ //# sourceMappingURL=chunk-IZS3BWQB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readOpenAICompatEnv
3
- } from "./chunk-JVBI4WKP.js";
3
+ } from "./chunk-CXF5KR7V.js";
4
4
  import {
5
5
  resolveInsideRoot
6
6
  } from "./chunk-NUBSJGQZ.js";
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  createAllAdapters,
12
12
  probeCli
13
- } from "./chunk-K6NXLBHG.js";
13
+ } from "./chunk-QDPGKVHH.js";
14
14
  import {
15
15
  DEFAULTS
16
- } from "./chunk-DGR27REV.js";
16
+ } from "./chunk-4OZPWLKY.js";
17
17
  import {
18
18
  CliNameSchema,
19
19
  DEFAULT_CAPABILITIES,
@@ -30,23 +30,23 @@ import {
30
30
  ok,
31
31
  symbols,
32
32
  writeLine
33
- } from "./chunk-Y5JA7XEO.js";
33
+ } from "./chunk-YAJ4XUD2.js";
34
34
  import {
35
35
  getLearningDir,
36
36
  getOutcomesFile,
37
37
  getRulesFile,
38
38
  isPersistenceEnabled
39
- } from "./chunk-AXTD4TFK.js";
39
+ } from "./chunk-2HUC6NZN.js";
40
40
  import {
41
41
  detectSandbox,
42
42
  getNexusDataDir,
43
43
  getNexusRepoDir,
44
44
  getPerRepoSubdirs,
45
45
  nexusDataPath
46
- } from "./chunk-DHVMSIT5.js";
46
+ } from "./chunk-OQLFRJCW.js";
47
47
 
48
48
  // src/version.ts
49
- var VERSION = true ? "2.174.2" : "dev";
49
+ var VERSION = true ? "2.175.0" : "dev";
50
50
 
51
51
  // src/config/schemas-core.ts
52
52
  import { z } from "zod";
@@ -683,6 +683,9 @@ var NexusEnvSchema = z10.object({
683
683
  // NEXUS_EVENTBUS_MAX_HISTORY removed in #2977 — silent no-op (no production reader).
684
684
  NEXUS_BILLING_MODE: z10.enum(["plan", "api"]).optional(),
685
685
  NEXUS_CONFIG_PATH: z10.string().optional(),
686
+ // Scratch root for short-lived working files (#4412, getNexusTmpDir). Unset
687
+ // resolves to `<dataDir>/tmp`; set it to relocate scratch off the repo.
688
+ NEXUS_TMPDIR: z10.string().optional(),
686
689
  NEXUS_ALLOW_MOCK_ORCHESTRATION: boolStr.optional(),
687
690
  // Explicit opt-in for simulateVotes outside test runners (#4170) — read by
688
691
  // checkSimulationAllowed (mcp/tools/simulation-guard.ts). Unset = fail closed.
@@ -2185,7 +2188,7 @@ async function runDoctorFix(result) {
2185
2188
  writeLine2("\u2500".repeat(40));
2186
2189
  let fixCount = 0;
2187
2190
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2188
- const { runSetup } = await import("./setup-command-SORJLYU3.js");
2191
+ const { runSetup } = await import("./setup-command-K2VBZISN.js");
2189
2192
  const setupResult = runSetup({
2190
2193
  skipMcp: true,
2191
2194
  skipRules: true,
@@ -2199,7 +2202,7 @@ async function runDoctorFix(result) {
2199
2202
  }
2200
2203
  }
2201
2204
  if (!result.configFile.found) {
2202
- const { runConfigInitSync } = await import("./setup-config-YDA4MY4N.js");
2205
+ const { runConfigInitSync } = await import("./setup-config-GA2YVE4R.js");
2203
2206
  const configResult = runConfigInitSync(process.cwd(), false, false);
2204
2207
  if (configResult.success && configResult.created) {
2205
2208
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -2298,4 +2301,4 @@ export {
2298
2301
  startStdioServer,
2299
2302
  closeServer
2300
2303
  };
2301
- //# sourceMappingURL=chunk-YUCJ7VSJ.js.map
2304
+ //# sourceMappingURL=chunk-JIJA2RY5.js.map