nexus-agents 2.174.2 → 2.176.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 (145) hide show
  1. package/dist/{child-mcp-config-GWB7JLIS.js → child-mcp-config-HPWYQFLG.js} +9 -7
  2. package/dist/child-mcp-config-HPWYQFLG.js.map +1 -0
  3. package/dist/{chunk-E35RUETV.js → chunk-2DE5L734.js} +2 -2
  4. package/dist/{chunk-AXTD4TFK.js → chunk-2HUC6NZN.js} +2 -2
  5. package/dist/{chunk-DJZGCMNU.js → chunk-46XEDJRB.js} +2 -2
  6. package/dist/{chunk-OCTNNEXT.js → chunk-4OPEUDHY.js} +10 -10
  7. package/dist/{chunk-H5KLPUAL.js → chunk-4S6S6S2S.js} +3 -3
  8. package/dist/{chunk-Z77MIV3C.js → chunk-5ALUADB6.js} +2 -2
  9. package/dist/{chunk-YE2XMU3T.js → chunk-5LTRHNOI.js} +3 -3
  10. package/dist/{chunk-KWKGX7LC.js → chunk-5YXHHEAG.js} +5 -5
  11. package/dist/{chunk-JSIX5L3C.js → chunk-7TXEBDRM.js} +2 -2
  12. package/dist/{chunk-2CB6QMRX.js → chunk-AHXJCVMV.js} +39 -39
  13. package/dist/{chunk-YUCJ7VSJ.js → chunk-APXGDZV4.js} +13 -10
  14. package/dist/chunk-APXGDZV4.js.map +1 -0
  15. package/dist/{chunk-OGR5Q6QO.js → chunk-CGD63GSC.js} +7 -7
  16. package/dist/{chunk-Y5JA7XEO.js → chunk-CNHPSIHY.js} +21 -16
  17. package/dist/chunk-CNHPSIHY.js.map +1 -0
  18. package/dist/{chunk-PINS44XA.js → chunk-DVKS77O5.js} +2 -2
  19. package/dist/{chunk-OM2VVQKB.js → chunk-ECBV4JNL.js} +2 -2
  20. package/dist/{chunk-VSETLO4Q.js → chunk-G42V4A5Q.js} +2 -2
  21. package/dist/{chunk-PN43VH6Z.js → chunk-G5URP3V7.js} +7 -7
  22. package/dist/{chunk-ASJTVA7W.js → chunk-H4LZLG3P.js} +6 -6
  23. package/dist/{chunk-UB6APBIY.js → chunk-J4BGV5VE.js} +2 -2
  24. package/dist/{chunk-RAIFOYRM.js → chunk-J55NMZ7R.js} +2 -2
  25. package/dist/{chunk-3P7SMHBU.js → chunk-JGL5HYZL.js} +3 -3
  26. package/dist/{chunk-HUYP2XXH.js → chunk-JRKF4FYO.js} +2 -2
  27. package/dist/{chunk-K6NXLBHG.js → chunk-N3XDPW64.js} +13 -11
  28. package/dist/{chunk-K6NXLBHG.js.map → chunk-N3XDPW64.js.map} +1 -1
  29. package/dist/{chunk-EDWON3X5.js → chunk-NQU4LNN7.js} +6 -6
  30. package/dist/{chunk-DHVMSIT5.js → chunk-OQLFRJCW.js} +9 -1
  31. package/dist/chunk-OQLFRJCW.js.map +1 -0
  32. package/dist/{chunk-6RRAQFSX.js → chunk-QI5U2YUL.js} +2 -2
  33. package/dist/{chunk-MRRKFMYJ.js → chunk-QQ3CUUBU.js} +8 -216
  34. package/dist/chunk-QQ3CUUBU.js.map +1 -0
  35. package/dist/{chunk-IVINLVGP.js → chunk-U5CV76ZW.js} +2 -2
  36. package/dist/{chunk-DGR27REV.js → chunk-WMV2CXBB.js} +2 -2
  37. package/dist/{chunk-JVBI4WKP.js → chunk-WT4BJODZ.js} +5 -5
  38. package/dist/{chunk-5QVJCBM4.js → chunk-XAWRBQB7.js} +4 -4
  39. package/dist/{chunk-KYF4YAZO.js → chunk-XES5DPHV.js} +4 -4
  40. package/dist/{chunk-KU2HPCJG.js → chunk-XZJU6WLL.js} +4 -4
  41. package/dist/chunk-YAF73ZMR.js +38 -0
  42. package/dist/chunk-YAF73ZMR.js.map +1 -0
  43. package/dist/{chunk-SGIWJYLJ.js → chunk-YB4QE7MD.js} +2 -2
  44. package/dist/{chunk-KAL22DYO.js → chunk-YU2JCUM7.js} +2 -2
  45. package/dist/{chunk-4PTAG65V.js → chunk-Z55WHIRU.js} +2 -2
  46. package/dist/{cli-circuit-breaker-EINPV2CX.js → cli-circuit-breaker-PJOQTGFZ.js} +5 -5
  47. package/dist/cli.js +58 -48
  48. package/dist/cli.js.map +1 -1
  49. package/dist/{composite-router-CUJAG7O4.js → composite-router-IRXFQSB6.js} +4 -4
  50. package/dist/{consensus-vote-BLCQCWPV.js → consensus-vote-O6Q266QE.js} +20 -19
  51. package/dist/{context-retriever-MTJR3AQM.js → context-retriever-GO6ET3MF.js} +11 -11
  52. package/dist/doctor-deep-6HCHHMRP.js +13 -0
  53. package/dist/{expert-bridge-2W2JMFQW.js → expert-bridge-6OLG6THF.js} +6 -6
  54. package/dist/factory-7OM526WB.js +25 -0
  55. package/dist/factory-MJFGYMNE.js +15 -0
  56. package/dist/{improvement-review-ZMUJQSX3.js → improvement-review-PALAAG7V.js} +7 -7
  57. package/dist/index.d.ts +19 -137
  58. package/dist/index.js +36 -39
  59. package/dist/index.js.map +1 -1
  60. package/dist/{init-opencode-I5XSFY34.js → init-opencode-NUMHNVIF.js} +8 -8
  61. package/dist/issue-triage-N7GFXNPY.js +18 -0
  62. package/dist/{learning-persistence-6D5GGT7D.js → learning-persistence-EGY4VKKO.js} +3 -3
  63. package/dist/{pr-reviewer-helpers-CZDMP5UJ.js → pr-reviewer-helpers-6EIUJPXS.js} +6 -6
  64. package/dist/{registry-command-5J6RJZMS.js → registry-command-SVTX7FKB.js} +4 -4
  65. package/dist/{repo-security-plan-MKSCD567.js → repo-security-plan-AT7LOXLG.js} +5 -5
  66. package/dist/research-helpers-synthesize-R722YWRS.js +15 -0
  67. package/dist/{routing-memory-HAWL7RKO.js → routing-memory-4FXQT5H6.js} +4 -4
  68. package/dist/{session-memory-RPSM7Y4Q.js → session-memory-ZQJ6AUSQ.js} +5 -5
  69. package/dist/setup-command-VAAYESH5.js +43 -0
  70. package/dist/setup-config-MYLZ2UHR.js +11 -0
  71. package/dist/{setup-custom-api-BZSHB2M5.js → setup-custom-api-WZPLTGRQ.js} +6 -6
  72. package/dist/{tool-memory-FCEJMKEH.js → tool-memory-5REJXBCB.js} +8 -8
  73. package/dist/{tool-memory-registry-adapters-PMMKJQF5.js → tool-memory-registry-adapters-YQLOSV4S.js} +3 -3
  74. package/dist/unified-registry-FM3QB2VN.js +26 -0
  75. package/dist/{weather-report-VNABZRH7.js → weather-report-Y2GYJA6I.js} +4 -4
  76. package/package.json +1 -1
  77. package/dist/child-mcp-config-GWB7JLIS.js.map +0 -1
  78. package/dist/chunk-DHVMSIT5.js.map +0 -1
  79. package/dist/chunk-MRRKFMYJ.js.map +0 -1
  80. package/dist/chunk-Y5JA7XEO.js.map +0 -1
  81. package/dist/chunk-YUCJ7VSJ.js.map +0 -1
  82. package/dist/doctor-deep-X2KP2G4M.js +0 -13
  83. package/dist/factory-7UFJ6LXW.js +0 -24
  84. package/dist/factory-SC5D5P3C.js +0 -15
  85. package/dist/issue-triage-KOIPTNDH.js +0 -18
  86. package/dist/research-helpers-synthesize-TIT43XF4.js +0 -15
  87. package/dist/setup-command-SORJLYU3.js +0 -42
  88. package/dist/setup-config-YDA4MY4N.js +0 -11
  89. package/dist/unified-registry-JWPD2ES2.js +0 -27
  90. /package/dist/{chunk-E35RUETV.js.map → chunk-2DE5L734.js.map} +0 -0
  91. /package/dist/{chunk-AXTD4TFK.js.map → chunk-2HUC6NZN.js.map} +0 -0
  92. /package/dist/{chunk-DJZGCMNU.js.map → chunk-46XEDJRB.js.map} +0 -0
  93. /package/dist/{chunk-OCTNNEXT.js.map → chunk-4OPEUDHY.js.map} +0 -0
  94. /package/dist/{chunk-H5KLPUAL.js.map → chunk-4S6S6S2S.js.map} +0 -0
  95. /package/dist/{chunk-Z77MIV3C.js.map → chunk-5ALUADB6.js.map} +0 -0
  96. /package/dist/{chunk-YE2XMU3T.js.map → chunk-5LTRHNOI.js.map} +0 -0
  97. /package/dist/{chunk-KWKGX7LC.js.map → chunk-5YXHHEAG.js.map} +0 -0
  98. /package/dist/{chunk-JSIX5L3C.js.map → chunk-7TXEBDRM.js.map} +0 -0
  99. /package/dist/{chunk-2CB6QMRX.js.map → chunk-AHXJCVMV.js.map} +0 -0
  100. /package/dist/{chunk-OGR5Q6QO.js.map → chunk-CGD63GSC.js.map} +0 -0
  101. /package/dist/{chunk-PINS44XA.js.map → chunk-DVKS77O5.js.map} +0 -0
  102. /package/dist/{chunk-OM2VVQKB.js.map → chunk-ECBV4JNL.js.map} +0 -0
  103. /package/dist/{chunk-VSETLO4Q.js.map → chunk-G42V4A5Q.js.map} +0 -0
  104. /package/dist/{chunk-PN43VH6Z.js.map → chunk-G5URP3V7.js.map} +0 -0
  105. /package/dist/{chunk-ASJTVA7W.js.map → chunk-H4LZLG3P.js.map} +0 -0
  106. /package/dist/{chunk-UB6APBIY.js.map → chunk-J4BGV5VE.js.map} +0 -0
  107. /package/dist/{chunk-RAIFOYRM.js.map → chunk-J55NMZ7R.js.map} +0 -0
  108. /package/dist/{chunk-3P7SMHBU.js.map → chunk-JGL5HYZL.js.map} +0 -0
  109. /package/dist/{chunk-HUYP2XXH.js.map → chunk-JRKF4FYO.js.map} +0 -0
  110. /package/dist/{chunk-EDWON3X5.js.map → chunk-NQU4LNN7.js.map} +0 -0
  111. /package/dist/{chunk-6RRAQFSX.js.map → chunk-QI5U2YUL.js.map} +0 -0
  112. /package/dist/{chunk-IVINLVGP.js.map → chunk-U5CV76ZW.js.map} +0 -0
  113. /package/dist/{chunk-DGR27REV.js.map → chunk-WMV2CXBB.js.map} +0 -0
  114. /package/dist/{chunk-JVBI4WKP.js.map → chunk-WT4BJODZ.js.map} +0 -0
  115. /package/dist/{chunk-5QVJCBM4.js.map → chunk-XAWRBQB7.js.map} +0 -0
  116. /package/dist/{chunk-KYF4YAZO.js.map → chunk-XES5DPHV.js.map} +0 -0
  117. /package/dist/{chunk-KU2HPCJG.js.map → chunk-XZJU6WLL.js.map} +0 -0
  118. /package/dist/{chunk-SGIWJYLJ.js.map → chunk-YB4QE7MD.js.map} +0 -0
  119. /package/dist/{chunk-KAL22DYO.js.map → chunk-YU2JCUM7.js.map} +0 -0
  120. /package/dist/{chunk-4PTAG65V.js.map → chunk-Z55WHIRU.js.map} +0 -0
  121. /package/dist/{cli-circuit-breaker-EINPV2CX.js.map → cli-circuit-breaker-PJOQTGFZ.js.map} +0 -0
  122. /package/dist/{composite-router-CUJAG7O4.js.map → composite-router-IRXFQSB6.js.map} +0 -0
  123. /package/dist/{consensus-vote-BLCQCWPV.js.map → consensus-vote-O6Q266QE.js.map} +0 -0
  124. /package/dist/{context-retriever-MTJR3AQM.js.map → context-retriever-GO6ET3MF.js.map} +0 -0
  125. /package/dist/{doctor-deep-X2KP2G4M.js.map → doctor-deep-6HCHHMRP.js.map} +0 -0
  126. /package/dist/{expert-bridge-2W2JMFQW.js.map → expert-bridge-6OLG6THF.js.map} +0 -0
  127. /package/dist/{factory-7UFJ6LXW.js.map → factory-7OM526WB.js.map} +0 -0
  128. /package/dist/{factory-SC5D5P3C.js.map → factory-MJFGYMNE.js.map} +0 -0
  129. /package/dist/{improvement-review-ZMUJQSX3.js.map → improvement-review-PALAAG7V.js.map} +0 -0
  130. /package/dist/{init-opencode-I5XSFY34.js.map → init-opencode-NUMHNVIF.js.map} +0 -0
  131. /package/dist/{issue-triage-KOIPTNDH.js.map → issue-triage-N7GFXNPY.js.map} +0 -0
  132. /package/dist/{learning-persistence-6D5GGT7D.js.map → learning-persistence-EGY4VKKO.js.map} +0 -0
  133. /package/dist/{pr-reviewer-helpers-CZDMP5UJ.js.map → pr-reviewer-helpers-6EIUJPXS.js.map} +0 -0
  134. /package/dist/{registry-command-5J6RJZMS.js.map → registry-command-SVTX7FKB.js.map} +0 -0
  135. /package/dist/{repo-security-plan-MKSCD567.js.map → repo-security-plan-AT7LOXLG.js.map} +0 -0
  136. /package/dist/{research-helpers-synthesize-TIT43XF4.js.map → research-helpers-synthesize-R722YWRS.js.map} +0 -0
  137. /package/dist/{routing-memory-HAWL7RKO.js.map → routing-memory-4FXQT5H6.js.map} +0 -0
  138. /package/dist/{session-memory-RPSM7Y4Q.js.map → session-memory-ZQJ6AUSQ.js.map} +0 -0
  139. /package/dist/{setup-command-SORJLYU3.js.map → setup-command-VAAYESH5.js.map} +0 -0
  140. /package/dist/{setup-config-YDA4MY4N.js.map → setup-config-MYLZ2UHR.js.map} +0 -0
  141. /package/dist/{setup-custom-api-BZSHB2M5.js.map → setup-custom-api-WZPLTGRQ.js.map} +0 -0
  142. /package/dist/{tool-memory-FCEJMKEH.js.map → tool-memory-5REJXBCB.js.map} +0 -0
  143. /package/dist/{tool-memory-registry-adapters-PMMKJQF5.js.map → tool-memory-registry-adapters-YQLOSV4S.js.map} +0 -0
  144. /package/dist/{unified-registry-JWPD2ES2.js.map → unified-registry-FM3QB2VN.js.map} +0 -0
  145. /package/dist/{weather-report-VNABZRH7.js.map → weather-report-Y2GYJA6I.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-CNHPSIHY.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-HPWYQFLG.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":[]}
@@ -4,7 +4,7 @@ import {
4
4
  err,
5
5
  getErrorMessage,
6
6
  ok
7
- } from "./chunk-Y5JA7XEO.js";
7
+ } from "./chunk-CNHPSIHY.js";
8
8
 
9
9
  // src/scm/types.ts
10
10
  var ScmError = class extends Error {
@@ -263,4 +263,4 @@ export {
263
263
  ScmError,
264
264
  GitHubProvider
265
265
  };
266
- //# sourceMappingURL=chunk-E35RUETV.js.map
266
+ //# sourceMappingURL=chunk-2DE5L734.js.map
@@ -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
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-Y5JA7XEO.js";
11
+ } from "./chunk-CNHPSIHY.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-46XEDJRB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeCostDetail
3
- } from "./chunk-H5KLPUAL.js";
3
+ } from "./chunk-4S6S6S2S.js";
4
4
  import {
5
5
  DEFAULT_CONSENSUS_CONFIG,
6
6
  DEFAULT_INCREMENTAL_QUORUM_CONFIG,
@@ -18,20 +18,20 @@ import {
18
18
  toolSuccess,
19
19
  withProgressHeartbeat,
20
20
  wrapToolWithTimeout
21
- } from "./chunk-5QVJCBM4.js";
21
+ } from "./chunk-XAWRBQB7.js";
22
22
  import {
23
23
  createEvent,
24
24
  getGlobalRegistry
25
- } from "./chunk-MRRKFMYJ.js";
25
+ } from "./chunk-QQ3CUUBU.js";
26
26
  import {
27
27
  getToolMemory
28
- } from "./chunk-EDWON3X5.js";
28
+ } from "./chunk-NQU4LNN7.js";
29
29
  import {
30
30
  authRemediation,
31
31
  delay,
32
32
  getAvailableClis,
33
33
  withTimeout
34
- } from "./chunk-K6NXLBHG.js";
34
+ } from "./chunk-N3XDPW64.js";
35
35
  import {
36
36
  AgentError,
37
37
  CLI_NAMES,
@@ -60,16 +60,16 @@ import {
60
60
  resolveClassGuardMs,
61
61
  resolveModelIdentitySync,
62
62
  resolveVoteTimeout
63
- } from "./chunk-Y5JA7XEO.js";
63
+ } from "./chunk-CNHPSIHY.js";
64
64
  import {
65
65
  ensureLearningDir,
66
66
  getOutcomesFile
67
- } from "./chunk-AXTD4TFK.js";
67
+ } from "./chunk-2HUC6NZN.js";
68
68
  import {
69
69
  getNexusDataDir,
70
70
  nexusDataPath,
71
71
  nexusDataPathEnsure
72
- } from "./chunk-DHVMSIT5.js";
72
+ } from "./chunk-OQLFRJCW.js";
73
73
 
74
74
  // src/mcp/tools/consensus-vote.ts
75
75
  import { z as z10 } from "zod";
@@ -5926,7 +5926,7 @@ async function processVotesWithCascade(engineVotes, opts) {
5926
5926
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
5927
5927
  async function runContrarianCheck(proposal, log) {
5928
5928
  try {
5929
- const { executeExpert } = await import("./expert-bridge-2W2JMFQW.js");
5929
+ const { executeExpert } = await import("./expert-bridge-6OLG6THF.js");
5930
5930
  const prompt = [
5931
5931
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
5932
5932
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -6453,4 +6453,4 @@ export {
6453
6453
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6454
6454
  registerConsensusVoteTool
6455
6455
  };
6456
- //# sourceMappingURL=chunk-OCTNNEXT.js.map
6456
+ //# sourceMappingURL=chunk-4OPEUDHY.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getDefaultRegistry
3
- } from "./chunk-Y5JA7XEO.js";
3
+ } from "./chunk-CNHPSIHY.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-4S6S6S2S.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getTimeProvider,
9
9
  isRateLimitText,
10
10
  ok
11
- } from "./chunk-Y5JA7XEO.js";
11
+ } from "./chunk-CNHPSIHY.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-5ALUADB6.js.map
@@ -9,11 +9,11 @@ import {
9
9
  gateWithReputation,
10
10
  resolveReputationGatingMode,
11
11
  sanitizeInput
12
- } from "./chunk-KAL22DYO.js";
12
+ } from "./chunk-YU2JCUM7.js";
13
13
  import {
14
14
  createLogger,
15
15
  getTimeProvider
16
- } from "./chunk-Y5JA7XEO.js";
16
+ } from "./chunk-CNHPSIHY.js";
17
17
 
18
18
  // src/dogfooding/pr-reviewer-helpers.ts
19
19
  import { randomUUID } from "crypto";
@@ -288,4 +288,4 @@ export {
288
288
  formatReviewComment,
289
289
  createFailedReview
290
290
  };
291
- //# sourceMappingURL=chunk-YE2XMU3T.js.map
291
+ //# sourceMappingURL=chunk-5LTRHNOI.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-E35RUETV.js";
4
+ } from "./chunk-2DE5L734.js";
5
5
  import {
6
6
  ROLE_DEFAULT_TRUST,
7
7
  ReputationCache,
@@ -11,17 +11,17 @@ import {
11
11
  gateWithReputation,
12
12
  resolveReputationGatingMode,
13
13
  sanitizeInput
14
- } from "./chunk-KAL22DYO.js";
14
+ } from "./chunk-YU2JCUM7.js";
15
15
  import {
16
16
  emitPolicyEvent
17
- } from "./chunk-VSETLO4Q.js";
17
+ } from "./chunk-G42V4A5Q.js";
18
18
  import {
19
19
  CLI_SUBPROCESS_TIMEOUTS,
20
20
  createLogger,
21
21
  err,
22
22
  getTimeProvider,
23
23
  ok
24
- } from "./chunk-Y5JA7XEO.js";
24
+ } from "./chunk-CNHPSIHY.js";
25
25
 
26
26
  // src/security/trust-classifier.ts
27
27
  function mapAuthorAssociation(association) {
@@ -1211,4 +1211,4 @@ export {
1211
1211
  IssueTriage,
1212
1212
  createIssueTriage
1213
1213
  };
1214
- //# sourceMappingURL=chunk-KWKGX7LC.js.map
1214
+ //# sourceMappingURL=chunk-5YXHHEAG.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-CNHPSIHY.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-7TXEBDRM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-UB6APBIY.js";
3
+ } from "./chunk-J4BGV5VE.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -21,10 +21,10 @@ import {
21
21
  DEFAULT_TASK_TTL_MS,
22
22
  DEFAULT_TOOL_RATE_LIMITS,
23
23
  clampTaskTtl
24
- } from "./chunk-YUCJ7VSJ.js";
24
+ } from "./chunk-APXGDZV4.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-PN43VH6Z.js";
27
+ } from "./chunk-G5URP3V7.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  abortJob,
@@ -45,21 +45,21 @@ import {
45
45
  simulationDeniedResult,
46
46
  toJobSummary,
47
47
  writeJobCancelled
48
- } from "./chunk-OCTNNEXT.js";
48
+ } from "./chunk-4OPEUDHY.js";
49
49
  import {
50
50
  normalizeTopicToCanonical,
51
51
  synthesizeResearch
52
- } from "./chunk-3P7SMHBU.js";
52
+ } from "./chunk-JGL5HYZL.js";
53
53
  import {
54
54
  IssueTriage
55
- } from "./chunk-KWKGX7LC.js";
55
+ } from "./chunk-5YXHHEAG.js";
56
56
  import {
57
57
  resolveEnvMode,
58
58
  sanitizeInput
59
- } from "./chunk-KAL22DYO.js";
59
+ } from "./chunk-YU2JCUM7.js";
60
60
  import {
61
61
  withPrerequisite
62
- } from "./chunk-KYF4YAZO.js";
62
+ } from "./chunk-XES5DPHV.js";
63
63
  import {
64
64
  NOOP_NOTIFIER,
65
65
  RateLimiter,
@@ -82,18 +82,18 @@ import {
82
82
  withAuditTrail,
83
83
  withProgressHeartbeat,
84
84
  wrapToolWithTimeout
85
- } from "./chunk-5QVJCBM4.js";
85
+ } from "./chunk-XAWRBQB7.js";
86
86
  import {
87
87
  createAuditTrail,
88
88
  createGraphAuditBridge,
89
89
  emitPipelinePolicyEvent
90
- } from "./chunk-VSETLO4Q.js";
90
+ } from "./chunk-G42V4A5Q.js";
91
91
  import {
92
92
  EventTopics,
93
93
  createEvent,
94
94
  getGlobalEventBus,
95
95
  getGlobalRegistry
96
- } from "./chunk-MRRKFMYJ.js";
96
+ } from "./chunk-QQ3CUUBU.js";
97
97
  import {
98
98
  IDENTIFIER_RE,
99
99
  LANG_VALUES,
@@ -126,15 +126,15 @@ import {
126
126
  parseRegistry,
127
127
  sourceExistsInRegistry,
128
128
  summarizeContextForPrompt
129
- } from "./chunk-OGR5Q6QO.js";
129
+ } from "./chunk-CGD63GSC.js";
130
130
  import {
131
131
  getTokenEnvVars,
132
132
  resolveToken
133
- } from "./chunk-HUYP2XXH.js";
133
+ } from "./chunk-JRKF4FYO.js";
134
134
  import {
135
135
  loadPapersRegistry,
136
136
  loadTechniquesRegistry
137
- } from "./chunk-DJZGCMNU.js";
137
+ } from "./chunk-46XEDJRB.js";
138
138
  import {
139
139
  resolveInsideRoot
140
140
  } from "./chunk-NUBSJGQZ.js";
@@ -143,14 +143,14 @@ import {
143
143
  MemoryImportance,
144
144
  calculateTextJaccardSimilarity,
145
145
  getToolMemory
146
- } from "./chunk-EDWON3X5.js";
146
+ } from "./chunk-NQU4LNN7.js";
147
147
  import {
148
148
  STOPWORDS,
149
149
  truncateWithInfo
150
150
  } from "./chunk-6T3EPABN.js";
151
151
  import {
152
152
  createSessionMemory
153
- } from "./chunk-IVINLVGP.js";
153
+ } from "./chunk-U5CV76ZW.js";
154
154
  import {
155
155
  BUILT_IN_EXPERTS,
156
156
  BuiltInExpertTypeSchema,
@@ -168,25 +168,25 @@ import {
168
168
  getAvailableClis,
169
169
  sleep,
170
170
  withTimeout
171
- } from "./chunk-K6NXLBHG.js";
171
+ } from "./chunk-N3XDPW64.js";
172
172
  import {
173
173
  BaseAdapter,
174
174
  createStream,
175
175
  requireApiKey,
176
176
  validateApiKeyPresence
177
- } from "./chunk-6RRAQFSX.js";
177
+ } from "./chunk-QI5U2YUL.js";
178
178
  import {
179
179
  DEFAULTS
180
- } from "./chunk-DGR27REV.js";
180
+ } from "./chunk-WMV2CXBB.js";
181
181
  import {
182
182
  getAvailabilityCache,
183
183
  getCliForModelId,
184
184
  resolveFallback
185
- } from "./chunk-RAIFOYRM.js";
185
+ } from "./chunk-J55NMZ7R.js";
186
186
  import {
187
187
  generateHyphenId,
188
188
  generateUUID
189
- } from "./chunk-SGIWJYLJ.js";
189
+ } from "./chunk-YB4QE7MD.js";
190
190
  import {
191
191
  AGENT_ROUTER_TIMEOUTS,
192
192
  API_TIMEOUTS,
@@ -283,17 +283,17 @@ import {
283
283
  selectStrategyByManifest,
284
284
  toExpertTaskAnalysisResult,
285
285
  withStep
286
- } from "./chunk-Y5JA7XEO.js";
286
+ } from "./chunk-CNHPSIHY.js";
287
287
  import {
288
288
  ensureLearningDir,
289
289
  getMetaOutcomesFile,
290
290
  isPersistenceEnabled
291
- } from "./chunk-AXTD4TFK.js";
291
+ } from "./chunk-2HUC6NZN.js";
292
292
  import {
293
293
  findRepoRoot,
294
294
  nexusDataPath,
295
295
  nexusDataPathEnsure
296
- } from "./chunk-DHVMSIT5.js";
296
+ } from "./chunk-OQLFRJCW.js";
297
297
 
298
298
  // src/adapters/factory.ts
299
299
  import { z } from "zod";
@@ -28344,7 +28344,7 @@ function execIdFields(executionId) {
28344
28344
  async function populateUnifiedContextOnState(state, options) {
28345
28345
  const taskCandidate = state["task"];
28346
28346
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
28347
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-MTJR3AQM.js");
28347
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-GO6ET3MF.js");
28348
28348
  const category = inferTaskCategory2(taskCandidate);
28349
28349
  const executionId = options?.executionId;
28350
28350
  const execFields = execIdFields(executionId);
@@ -43879,7 +43879,7 @@ async function tryIssueTriage(task) {
43879
43879
  try {
43880
43880
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
43881
43881
  if (issueMatch === null) return null;
43882
- const { createIssueTriage } = await import("./issue-triage-KOIPTNDH.js");
43882
+ const { createIssueTriage } = await import("./issue-triage-N7GFXNPY.js");
43883
43883
  const triage = createIssueTriage();
43884
43884
  const owner = issueMatch[1] ?? "";
43885
43885
  const num = issueMatch[2] ?? "";
@@ -43907,7 +43907,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
43907
43907
  ]);
43908
43908
  async function classifyWithLLM(task) {
43909
43909
  try {
43910
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-2W2JMFQW.js");
43910
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-6OLG6THF.js");
43911
43911
  const prompt = [
43912
43912
  "Classify this task into exactly one pipeline template.",
43913
43913
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -45548,8 +45548,8 @@ var memoryInitPromise = null;
45548
45548
  async function initPipelineMemory() {
45549
45549
  if (cachedMemory !== null) return cachedMemory;
45550
45550
  try {
45551
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RPSM7Y4Q.js");
45552
- const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
45551
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ZQJ6AUSQ.js");
45552
+ const { getLearningDir } = await import("./learning-persistence-EGY4VKKO.js");
45553
45553
  const mem = createSessionMemory2(getLearningDir());
45554
45554
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
45555
45555
  cachedMemory = {
@@ -45610,7 +45610,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
45610
45610
  callRecord(routingMemoryCache);
45611
45611
  return;
45612
45612
  }
45613
- routingMemoryInitPromise ??= import("./routing-memory-HAWL7RKO.js").then(({ createRoutingMemory }) => {
45613
+ routingMemoryInitPromise ??= import("./routing-memory-4FXQT5H6.js").then(({ createRoutingMemory }) => {
45614
45614
  routingMemoryCache ??= createRoutingMemory();
45615
45615
  return routingMemoryCache;
45616
45616
  }).catch((error) => {
@@ -45644,7 +45644,7 @@ ${text}` : "";
45644
45644
  }
45645
45645
  async function getWeatherContext() {
45646
45646
  try {
45647
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-VNABZRH7.js");
45647
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-Y2GYJA6I.js");
45648
45648
  const report = generateWeatherReport2({ includeAdaptive: true });
45649
45649
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
45650
45650
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -45662,8 +45662,8 @@ ${lines}
45662
45662
  }
45663
45663
  async function getMemoryContext(task) {
45664
45664
  try {
45665
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-RPSM7Y4Q.js");
45666
- const { getLearningDir } = await import("./learning-persistence-6D5GGT7D.js");
45665
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ZQJ6AUSQ.js");
45666
+ const { getLearningDir } = await import("./learning-persistence-EGY4VKKO.js");
45667
45667
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
45668
45668
  const learnings = memory.searchLearnings(task.slice(0, 200));
45669
45669
  if (learnings.length === 0) return "";
@@ -45777,7 +45777,7 @@ ${contextBlock}`;
45777
45777
  const strategy = config.votingStrategy ?? "higher_order";
45778
45778
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
45779
45779
  try {
45780
- const { executeVoting } = await import("./consensus-vote-BLCQCWPV.js");
45780
+ const { executeVoting } = await import("./consensus-vote-O6Q266QE.js");
45781
45781
  const votingResult = await executeVoting(
45782
45782
  {
45783
45783
  proposal: buildVoteProposal(plan, research),
@@ -46218,7 +46218,7 @@ async function searchCodebaseForTask(task) {
46218
46218
  }
46219
46219
  async function queryResearchRegistry(task) {
46220
46220
  try {
46221
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-TIT43XF4.js");
46221
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-R722YWRS.js");
46222
46222
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
46223
46223
  if (topic === void 0) return null;
46224
46224
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -46289,7 +46289,7 @@ function createScanStageWrapper() {
46289
46289
  try {
46290
46290
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
46291
46291
  if (slug !== void 0) {
46292
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-MKSCD567.js");
46292
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-AT7LOXLG.js");
46293
46293
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
46294
46294
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
46295
46295
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -49261,7 +49261,7 @@ var GitHubTaskTracker = class {
49261
49261
  cachedProvider = null;
49262
49262
  async getProvider() {
49263
49263
  if (this.cachedProvider !== null) return this.cachedProvider;
49264
- const { createScmProvider } = await import("./factory-SC5D5P3C.js");
49264
+ const { createScmProvider } = await import("./factory-MJFGYMNE.js");
49265
49265
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
49266
49266
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
49267
49267
  this.cachedProvider = result.value;
@@ -50103,7 +50103,7 @@ async function probeSource(source, includeModelIds) {
50103
50103
  }
50104
50104
  }
50105
50105
  async function defaultSources(includeOpenRouter) {
50106
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-7UFJ6LXW.js");
50106
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-7OM526WB.js");
50107
50107
  const adapters = createAllAdapters2();
50108
50108
  return buildDefaultModelSources(adapters, { includeOpenRouter });
50109
50109
  }
@@ -54123,4 +54123,4 @@ export {
54123
54123
  shutdownFeedbackSubscriber,
54124
54124
  createEventBusBridge
54125
54125
  };
54126
- //# sourceMappingURL=chunk-2CB6QMRX.js.map
54126
+ //# sourceMappingURL=chunk-AHXJCVMV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readOpenAICompatEnv
3
- } from "./chunk-JVBI4WKP.js";
3
+ } from "./chunk-WT4BJODZ.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-N3XDPW64.js";
14
14
  import {
15
15
  DEFAULTS
16
- } from "./chunk-DGR27REV.js";
16
+ } from "./chunk-WMV2CXBB.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-CNHPSIHY.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.176.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-VAAYESH5.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-MYLZ2UHR.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-APXGDZV4.js.map