nexus-agents 2.102.6 → 2.102.8

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 (116) hide show
  1. package/dist/{child-mcp-config-NBELOYYZ.js → child-mcp-config-3FIENOGY.js} +2 -2
  2. package/dist/{chunk-W7JCGUTA.js → chunk-2NSCF4PI.js} +7 -7
  3. package/dist/{chunk-W65C5VVJ.js → chunk-47YAIGCP.js} +2 -2
  4. package/dist/{chunk-4L7FH53H.js → chunk-4CPPYUBW.js} +2 -2
  5. package/dist/{chunk-VJR46M7L.js → chunk-74QFV5ON.js} +3 -3
  6. package/dist/{chunk-EKO6XAAZ.js → chunk-B73SAOST.js} +3 -3
  7. package/dist/{chunk-NAKDVIXS.js → chunk-CPGZRXY3.js} +3 -3
  8. package/dist/{chunk-FZCB2P3F.js → chunk-ER6YMAZU.js} +2 -2
  9. package/dist/{chunk-KLYBJUTK.js → chunk-EYIIQ7KE.js} +316 -64
  10. package/dist/{chunk-KLYBJUTK.js.map → chunk-EYIIQ7KE.js.map} +1 -1
  11. package/dist/{chunk-5PZIMHNA.js → chunk-FYQ36FP3.js} +3 -3
  12. package/dist/{chunk-SBYFWB6J.js → chunk-G3QQOU4H.js} +4 -4
  13. package/dist/{chunk-Z7IQUUTZ.js → chunk-GAX6YG5E.js} +2 -2
  14. package/dist/{chunk-LVGYWJDX.js → chunk-GUHVV3Q4.js} +2 -2
  15. package/dist/{chunk-E47LOV6Y.js → chunk-HAKXSIBS.js} +2 -2
  16. package/dist/{chunk-MNWYIYEZ.js → chunk-IS2OUYGR.js} +2 -2
  17. package/dist/{chunk-4RW6OONY.js → chunk-J524D5GA.js} +2 -2
  18. package/dist/{chunk-MNFEZIRI.js → chunk-JEOFSMRI.js} +2 -2
  19. package/dist/{chunk-ABGRFLJ6.js → chunk-L3RP7STR.js} +4 -4
  20. package/dist/{chunk-PWDIIS7L.js → chunk-NBAARQC6.js} +7 -7
  21. package/dist/{chunk-3GF52QPA.js → chunk-ODN2O3XZ.js} +4 -4
  22. package/dist/{chunk-TDXLS2TY.js → chunk-OIFFZHSV.js} +4 -4
  23. package/dist/{chunk-T32MGJMA.js → chunk-P6TYLTER.js} +10 -12
  24. package/dist/{chunk-T32MGJMA.js.map → chunk-P6TYLTER.js.map} +1 -1
  25. package/dist/{chunk-QM3WIUXB.js → chunk-PF7GV22M.js} +5 -5
  26. package/dist/{chunk-GDY23NDK.js → chunk-Q7FINCKE.js} +2 -2
  27. package/dist/{chunk-LXBWH5XP.js → chunk-RHH75VON.js} +3 -3
  28. package/dist/{chunk-FVWKAEYH.js → chunk-THUENUJA.js} +2 -2
  29. package/dist/{chunk-QYE6GEPY.js → chunk-TLTWQAHI.js} +3 -3
  30. package/dist/{chunk-FLUC27DF.js → chunk-UXBZ346L.js} +2 -2
  31. package/dist/{chunk-SXWJ7IUF.js → chunk-VJFUIP6N.js} +2 -2
  32. package/dist/{chunk-3QFQG5QT.js → chunk-WPGVI2F2.js} +2 -2
  33. package/dist/{chunk-5VMCBHRX.js → chunk-WVZT4JGL.js} +30 -30
  34. package/dist/{chunk-S7R72HUB.js → chunk-ZW6NKOXT.js} +2 -2
  35. package/dist/{cli-circuit-breaker-L647V6BR.js → cli-circuit-breaker-VHAHRE2J.js} +4 -4
  36. package/dist/cli.js +47 -40
  37. package/dist/cli.js.map +1 -1
  38. package/dist/{composite-router-NOTUOXFI.js → composite-router-NQMFTZ6B.js} +2 -2
  39. package/dist/{consensus-vote-7CE4JOMK.js → consensus-vote-VGQW6LCB.js} +12 -13
  40. package/dist/{context-retriever-SHT7J6BT.js → context-retriever-BE4DNAPM.js} +6 -6
  41. package/dist/{doctor-deep-REMLGFXP.js → doctor-deep-7PN77HHM.js} +3 -3
  42. package/dist/{expert-bridge-2TYPRNEE.js → expert-bridge-HLSKV3PK.js} +4 -4
  43. package/dist/{factory-CYUNYEMU.js → factory-2A2CZPQR.js} +5 -5
  44. package/dist/{factory-PPAK3TVG.js → factory-PTEIJ2H2.js} +5 -5
  45. package/dist/{improvement-review-YFQ5T7I3.js → improvement-review-6EV2FWXI.js} +4 -4
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.js +30 -32
  48. package/dist/index.js.map +1 -1
  49. package/dist/{init-opencode-WXY4DUFU.js → init-opencode-GZD26YXM.js} +5 -5
  50. package/dist/{issue-triage-4YJQU3HW.js → issue-triage-JGQTQVQI.js} +5 -5
  51. package/dist/{pr-reviewer-helpers-2YJG6XJM.js → pr-reviewer-helpers-SEA7L3XT.js} +4 -4
  52. package/dist/{registry-command-ZFOGLBKF.js → registry-command-O5G5VII2.js} +2 -2
  53. package/dist/{repo-security-plan-L47DDTAU.js → repo-security-plan-6QUW6JW5.js} +3 -3
  54. package/dist/{research-helpers-synthesize-IABO7LB4.js → research-helpers-synthesize-2HHHQP5I.js} +3 -3
  55. package/dist/{routing-memory-2YWEWRMQ.js → routing-memory-SCPATSY6.js} +2 -2
  56. package/dist/{session-memory-YWOMPCLZ.js → session-memory-O77ISZYP.js} +3 -3
  57. package/dist/{setup-command-E2WOYCXO.js → setup-command-VZEAQM27.js} +10 -11
  58. package/dist/{setup-config-PYFK2GIC.js → setup-config-AKLJPGHL.js} +3 -3
  59. package/dist/{setup-custom-api-A4IZQ2Q4.js → setup-custom-api-PK5OLVW5.js} +4 -4
  60. package/dist/{tool-memory-ABPSCFIH.js → tool-memory-KQ5N6GRC.js} +5 -5
  61. package/dist/{weather-report-GXD6KGDS.js → weather-report-BUPURZ6J.js} +2 -2
  62. package/package.json +1 -1
  63. package/dist/chunk-L2NPJRZZ.js +0 -153
  64. package/dist/chunk-L2NPJRZZ.js.map +0 -1
  65. /package/dist/{child-mcp-config-NBELOYYZ.js.map → child-mcp-config-3FIENOGY.js.map} +0 -0
  66. /package/dist/{chunk-W7JCGUTA.js.map → chunk-2NSCF4PI.js.map} +0 -0
  67. /package/dist/{chunk-W65C5VVJ.js.map → chunk-47YAIGCP.js.map} +0 -0
  68. /package/dist/{chunk-4L7FH53H.js.map → chunk-4CPPYUBW.js.map} +0 -0
  69. /package/dist/{chunk-VJR46M7L.js.map → chunk-74QFV5ON.js.map} +0 -0
  70. /package/dist/{chunk-EKO6XAAZ.js.map → chunk-B73SAOST.js.map} +0 -0
  71. /package/dist/{chunk-NAKDVIXS.js.map → chunk-CPGZRXY3.js.map} +0 -0
  72. /package/dist/{chunk-FZCB2P3F.js.map → chunk-ER6YMAZU.js.map} +0 -0
  73. /package/dist/{chunk-5PZIMHNA.js.map → chunk-FYQ36FP3.js.map} +0 -0
  74. /package/dist/{chunk-SBYFWB6J.js.map → chunk-G3QQOU4H.js.map} +0 -0
  75. /package/dist/{chunk-Z7IQUUTZ.js.map → chunk-GAX6YG5E.js.map} +0 -0
  76. /package/dist/{chunk-LVGYWJDX.js.map → chunk-GUHVV3Q4.js.map} +0 -0
  77. /package/dist/{chunk-E47LOV6Y.js.map → chunk-HAKXSIBS.js.map} +0 -0
  78. /package/dist/{chunk-MNWYIYEZ.js.map → chunk-IS2OUYGR.js.map} +0 -0
  79. /package/dist/{chunk-4RW6OONY.js.map → chunk-J524D5GA.js.map} +0 -0
  80. /package/dist/{chunk-MNFEZIRI.js.map → chunk-JEOFSMRI.js.map} +0 -0
  81. /package/dist/{chunk-ABGRFLJ6.js.map → chunk-L3RP7STR.js.map} +0 -0
  82. /package/dist/{chunk-PWDIIS7L.js.map → chunk-NBAARQC6.js.map} +0 -0
  83. /package/dist/{chunk-3GF52QPA.js.map → chunk-ODN2O3XZ.js.map} +0 -0
  84. /package/dist/{chunk-TDXLS2TY.js.map → chunk-OIFFZHSV.js.map} +0 -0
  85. /package/dist/{chunk-QM3WIUXB.js.map → chunk-PF7GV22M.js.map} +0 -0
  86. /package/dist/{chunk-GDY23NDK.js.map → chunk-Q7FINCKE.js.map} +0 -0
  87. /package/dist/{chunk-LXBWH5XP.js.map → chunk-RHH75VON.js.map} +0 -0
  88. /package/dist/{chunk-FVWKAEYH.js.map → chunk-THUENUJA.js.map} +0 -0
  89. /package/dist/{chunk-QYE6GEPY.js.map → chunk-TLTWQAHI.js.map} +0 -0
  90. /package/dist/{chunk-FLUC27DF.js.map → chunk-UXBZ346L.js.map} +0 -0
  91. /package/dist/{chunk-SXWJ7IUF.js.map → chunk-VJFUIP6N.js.map} +0 -0
  92. /package/dist/{chunk-3QFQG5QT.js.map → chunk-WPGVI2F2.js.map} +0 -0
  93. /package/dist/{chunk-5VMCBHRX.js.map → chunk-WVZT4JGL.js.map} +0 -0
  94. /package/dist/{chunk-S7R72HUB.js.map → chunk-ZW6NKOXT.js.map} +0 -0
  95. /package/dist/{cli-circuit-breaker-L647V6BR.js.map → cli-circuit-breaker-VHAHRE2J.js.map} +0 -0
  96. /package/dist/{composite-router-NOTUOXFI.js.map → composite-router-NQMFTZ6B.js.map} +0 -0
  97. /package/dist/{consensus-vote-7CE4JOMK.js.map → consensus-vote-VGQW6LCB.js.map} +0 -0
  98. /package/dist/{context-retriever-SHT7J6BT.js.map → context-retriever-BE4DNAPM.js.map} +0 -0
  99. /package/dist/{doctor-deep-REMLGFXP.js.map → doctor-deep-7PN77HHM.js.map} +0 -0
  100. /package/dist/{expert-bridge-2TYPRNEE.js.map → expert-bridge-HLSKV3PK.js.map} +0 -0
  101. /package/dist/{factory-CYUNYEMU.js.map → factory-2A2CZPQR.js.map} +0 -0
  102. /package/dist/{factory-PPAK3TVG.js.map → factory-PTEIJ2H2.js.map} +0 -0
  103. /package/dist/{improvement-review-YFQ5T7I3.js.map → improvement-review-6EV2FWXI.js.map} +0 -0
  104. /package/dist/{init-opencode-WXY4DUFU.js.map → init-opencode-GZD26YXM.js.map} +0 -0
  105. /package/dist/{issue-triage-4YJQU3HW.js.map → issue-triage-JGQTQVQI.js.map} +0 -0
  106. /package/dist/{pr-reviewer-helpers-2YJG6XJM.js.map → pr-reviewer-helpers-SEA7L3XT.js.map} +0 -0
  107. /package/dist/{registry-command-ZFOGLBKF.js.map → registry-command-O5G5VII2.js.map} +0 -0
  108. /package/dist/{repo-security-plan-L47DDTAU.js.map → repo-security-plan-6QUW6JW5.js.map} +0 -0
  109. /package/dist/{research-helpers-synthesize-IABO7LB4.js.map → research-helpers-synthesize-2HHHQP5I.js.map} +0 -0
  110. /package/dist/{routing-memory-2YWEWRMQ.js.map → routing-memory-SCPATSY6.js.map} +0 -0
  111. /package/dist/{session-memory-YWOMPCLZ.js.map → session-memory-O77ISZYP.js.map} +0 -0
  112. /package/dist/{setup-command-E2WOYCXO.js.map → setup-command-VZEAQM27.js.map} +0 -0
  113. /package/dist/{setup-config-PYFK2GIC.js.map → setup-config-AKLJPGHL.js.map} +0 -0
  114. /package/dist/{setup-custom-api-A4IZQ2Q4.js.map → setup-custom-api-PK5OLVW5.js.map} +0 -0
  115. /package/dist/{tool-memory-ABPSCFIH.js.map → tool-memory-KQ5N6GRC.js.map} +0 -0
  116. /package/dist/{weather-report-GXD6KGDS.js.map → weather-report-BUPURZ6J.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runConfigInitSync
3
- } from "./chunk-4L7FH53H.js";
3
+ } from "./chunk-4CPPYUBW.js";
4
4
  import {
5
5
  VERSION,
6
6
  checkApiKeys,
@@ -8,10 +8,10 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-W7JCGUTA.js";
11
+ } from "./chunk-2NSCF4PI.js";
12
12
  import {
13
13
  probeAllClis
14
- } from "./chunk-3GF52QPA.js";
14
+ } from "./chunk-ODN2O3XZ.js";
15
15
  import {
16
16
  BUILT_IN_EXPERTS
17
17
  } from "./chunk-ZM4O442V.js";
@@ -25,7 +25,7 @@ import {
25
25
  getErrorMessage,
26
26
  getTimeProvider,
27
27
  symbols
28
- } from "./chunk-KLYBJUTK.js";
28
+ } from "./chunk-EYIIQ7KE.js";
29
29
  import {
30
30
  ensureGitignored,
31
31
  findRepoRoot
@@ -1987,4 +1987,4 @@ export {
1987
1987
  setupCommand,
1988
1988
  setupCommandAsync
1989
1989
  };
1990
- //# sourceMappingURL=chunk-QM3WIUXB.js.map
1990
+ //# sourceMappingURL=chunk-PF7GV22M.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-KLYBJUTK.js";
5
+ } from "./chunk-EYIIQ7KE.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -560,4 +560,4 @@ export {
560
560
  resolveReputationGatingMode,
561
561
  gateWithReputation
562
562
  };
563
- //# sourceMappingURL=chunk-GDY23NDK.js.map
563
+ //# sourceMappingURL=chunk-Q7FINCKE.js.map
@@ -9,11 +9,11 @@ import {
9
9
  gateWithReputation,
10
10
  resolveReputationGatingMode,
11
11
  sanitizeInput
12
- } from "./chunk-GDY23NDK.js";
12
+ } from "./chunk-Q7FINCKE.js";
13
13
  import {
14
14
  createLogger,
15
15
  getTimeProvider
16
- } from "./chunk-KLYBJUTK.js";
16
+ } from "./chunk-EYIIQ7KE.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-LXBWH5XP.js.map
291
+ //# sourceMappingURL=chunk-RHH75VON.js.map
@@ -10,7 +10,7 @@ import {
10
10
  getTokenEstimator,
11
11
  isRateLimitLikeError,
12
12
  ok
13
- } from "./chunk-KLYBJUTK.js";
13
+ } from "./chunk-EYIIQ7KE.js";
14
14
 
15
15
  // src/adapters/base-adapter.ts
16
16
  var AdapterModelError = class extends ModelError {
@@ -707,4 +707,4 @@ export {
707
707
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
708
708
  collectStream
709
709
  };
710
- //# sourceMappingURL=chunk-FVWKAEYH.js.map
710
+ //# sourceMappingURL=chunk-THUENUJA.js.map
@@ -6,7 +6,7 @@ import {
6
6
  toolStructuredError,
7
7
  toolSuccessStructured,
8
8
  wrapToolWithTimeout
9
- } from "./chunk-SXWJ7IUF.js";
9
+ } from "./chunk-VJFUIP6N.js";
10
10
  import {
11
11
  createLogger,
12
12
  formatZodError,
@@ -14,7 +14,7 @@ import {
14
14
  getOutcomeStore,
15
15
  getPipelineEventBus,
16
16
  getTimeProvider
17
- } from "./chunk-KLYBJUTK.js";
17
+ } from "./chunk-EYIIQ7KE.js";
18
18
  import {
19
19
  getNexusDataDir
20
20
  } from "./chunk-CH7QIDHQ.js";
@@ -1092,4 +1092,4 @@ export {
1092
1092
  runImprovementReview,
1093
1093
  registerImprovementReviewTool
1094
1094
  };
1095
- //# sourceMappingURL=chunk-QYE6GEPY.js.map
1095
+ //# sourceMappingURL=chunk-TLTWQAHI.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-KLYBJUTK.js";
6
+ } from "./chunk-EYIIQ7KE.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-FLUC27DF.js.map
153
+ //# sourceMappingURL=chunk-UXBZ346L.js.map
@@ -11,7 +11,7 @@ import {
11
11
  getErrorMessage,
12
12
  getTimeProvider,
13
13
  ok
14
- } from "./chunk-KLYBJUTK.js";
14
+ } from "./chunk-EYIIQ7KE.js";
15
15
  import {
16
16
  getNexusDataDir
17
17
  } from "./chunk-CH7QIDHQ.js";
@@ -2409,4 +2409,4 @@ export {
2409
2409
  getMcpAnnotations,
2410
2410
  getToolAnnotations
2411
2411
  };
2412
- //# sourceMappingURL=chunk-SXWJ7IUF.js.map
2412
+ //# sourceMappingURL=chunk-VJFUIP6N.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRandomProvider,
3
3
  getTimeProvider
4
- } from "./chunk-KLYBJUTK.js";
4
+ } from "./chunk-EYIIQ7KE.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-3QFQG5QT.js.map
27
+ //# sourceMappingURL=chunk-WPGVI2F2.js.map
@@ -6,10 +6,10 @@ import {
6
6
  import {
7
7
  getTokenEnvVars,
8
8
  resolveToken
9
- } from "./chunk-S7R72HUB.js";
9
+ } from "./chunk-ZW6NKOXT.js";
10
10
  import {
11
11
  executeExpert
12
- } from "./chunk-PWDIIS7L.js";
12
+ } from "./chunk-NBAARQC6.js";
13
13
  import {
14
14
  EventTopics,
15
15
  JobStatusSchema,
@@ -30,7 +30,7 @@ import {
30
30
  writeJobComplete,
31
31
  writeJobFailed,
32
32
  writeJobPending
33
- } from "./chunk-T32MGJMA.js";
33
+ } from "./chunk-P6TYLTER.js";
34
34
  import {
35
35
  REGISTRY_PATH,
36
36
  getProjectRoot,
@@ -39,19 +39,19 @@ import {
39
39
  normalizeTopicToCanonical,
40
40
  savePapersRegistry,
41
41
  synthesizeResearch
42
- } from "./chunk-Z7IQUUTZ.js";
42
+ } from "./chunk-GAX6YG5E.js";
43
43
  import {
44
44
  IssueTriage,
45
45
  createAuditTrail,
46
46
  createGraphAuditBridge
47
- } from "./chunk-SBYFWB6J.js";
47
+ } from "./chunk-G3QQOU4H.js";
48
48
  import {
49
49
  resolveEnvMode,
50
50
  sanitizeInput
51
- } from "./chunk-GDY23NDK.js";
51
+ } from "./chunk-Q7FINCKE.js";
52
52
  import {
53
53
  withPrerequisite
54
- } from "./chunk-QYE6GEPY.js";
54
+ } from "./chunk-TLTWQAHI.js";
55
55
  import {
56
56
  NOOP_NOTIFIER,
57
57
  RateLimiter,
@@ -71,10 +71,10 @@ import {
71
71
  withAccessPolicy,
72
72
  withProgressHeartbeat,
73
73
  wrapToolWithTimeout
74
- } from "./chunk-SXWJ7IUF.js";
74
+ } from "./chunk-VJFUIP6N.js";
75
75
  import {
76
76
  generateSecurityPlan
77
- } from "./chunk-FZCB2P3F.js";
77
+ } from "./chunk-ER6YMAZU.js";
78
78
  import {
79
79
  analyzeGitHubRepo
80
80
  } from "./chunk-HFOQKCD2.js";
@@ -82,26 +82,26 @@ import {
82
82
  getContextForTask,
83
83
  inferTaskCategory,
84
84
  summarizeContextForPrompt
85
- } from "./chunk-VJR46M7L.js";
85
+ } from "./chunk-74QFV5ON.js";
86
86
  import {
87
87
  DEFAULT_RELEVANCE_CONFIG,
88
88
  MemoryImportance,
89
89
  calculateTextJaccardSimilarity,
90
90
  getToolMemory
91
- } from "./chunk-TDXLS2TY.js";
91
+ } from "./chunk-OIFFZHSV.js";
92
92
  import {
93
93
  DEFAULT_TASK_TTL_MS,
94
94
  DEFAULT_TOOL_RATE_LIMITS,
95
95
  clampTaskTtl
96
- } from "./chunk-W7JCGUTA.js";
96
+ } from "./chunk-2NSCF4PI.js";
97
97
  import {
98
98
  getAvailabilityCache,
99
99
  getCliForModelId,
100
100
  resolveFallback
101
- } from "./chunk-FLUC27DF.js";
101
+ } from "./chunk-UXBZ346L.js";
102
102
  import {
103
103
  DEFAULTS
104
- } from "./chunk-LVGYWJDX.js";
104
+ } from "./chunk-GUHVV3Q4.js";
105
105
  import {
106
106
  resolveInsideRoot
107
107
  } from "./chunk-NUBSJGQZ.js";
@@ -117,11 +117,11 @@ import {
117
117
  getAvailableClis,
118
118
  sleep,
119
119
  withTimeout
120
- } from "./chunk-3GF52QPA.js";
120
+ } from "./chunk-ODN2O3XZ.js";
121
121
  import {
122
122
  generateHyphenId,
123
123
  generateUUID
124
- } from "./chunk-3QFQG5QT.js";
124
+ } from "./chunk-WPGVI2F2.js";
125
125
  import {
126
126
  BUILT_IN_EXPERTS,
127
127
  BuiltInExpertTypeSchema,
@@ -133,7 +133,7 @@ import {
133
133
  } from "./chunk-PQHVC4BD.js";
134
134
  import {
135
135
  createSessionMemory
136
- } from "./chunk-MNFEZIRI.js";
136
+ } from "./chunk-JEOFSMRI.js";
137
137
  import {
138
138
  AGENT_ROUTER_TIMEOUTS,
139
139
  API_TIMEOUTS,
@@ -205,7 +205,7 @@ import {
205
205
  resolveModelIdentitySync,
206
206
  toExpertTaskAnalysisResult,
207
207
  withStep
208
- } from "./chunk-KLYBJUTK.js";
208
+ } from "./chunk-EYIIQ7KE.js";
209
209
  import {
210
210
  nexusDataPath,
211
211
  nexusDataPathEnsure
@@ -27013,7 +27013,7 @@ async function populateUnifiedContextOnState(state) {
27013
27013
  try {
27014
27014
  const taskCandidate = state["task"];
27015
27015
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
27016
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-SHT7J6BT.js");
27016
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-BE4DNAPM.js");
27017
27017
  const ctx = await getContextForTask2({
27018
27018
  task: taskCandidate,
27019
27019
  category: inferTaskCategory2(taskCandidate),
@@ -42762,7 +42762,7 @@ async function tryIssueTriage(task) {
42762
42762
  try {
42763
42763
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
42764
42764
  if (issueMatch === null) return null;
42765
- const { createIssueTriage } = await import("./issue-triage-4YJQU3HW.js");
42765
+ const { createIssueTriage } = await import("./issue-triage-JGQTQVQI.js");
42766
42766
  const triage = createIssueTriage();
42767
42767
  const owner = issueMatch[1] ?? "";
42768
42768
  const num = issueMatch[2] ?? "";
@@ -42790,7 +42790,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
42790
42790
  ]);
42791
42791
  async function classifyWithLLM(task) {
42792
42792
  try {
42793
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-2TYPRNEE.js");
42793
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-HLSKV3PK.js");
42794
42794
  const prompt = [
42795
42795
  "Classify this task into exactly one pipeline template.",
42796
42796
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -43696,7 +43696,7 @@ var memoryInitPromise = null;
43696
43696
  async function initPipelineMemory() {
43697
43697
  if (cachedMemory !== null) return cachedMemory;
43698
43698
  try {
43699
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YWOMPCLZ.js");
43699
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-O77ISZYP.js");
43700
43700
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43701
43701
  const mem = createSessionMemory2(getLearningDir());
43702
43702
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -43753,7 +43753,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
43753
43753
  callRecord(routingMemoryCache);
43754
43754
  return;
43755
43755
  }
43756
- routingMemoryInitPromise ??= import("./routing-memory-2YWEWRMQ.js").then(({ createRoutingMemory }) => {
43756
+ routingMemoryInitPromise ??= import("./routing-memory-SCPATSY6.js").then(({ createRoutingMemory }) => {
43757
43757
  routingMemoryCache ??= createRoutingMemory();
43758
43758
  return routingMemoryCache;
43759
43759
  }).catch((error) => {
@@ -43787,7 +43787,7 @@ ${text}` : "";
43787
43787
  }
43788
43788
  async function getWeatherContext() {
43789
43789
  try {
43790
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-GXD6KGDS.js");
43790
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-BUPURZ6J.js");
43791
43791
  const report = generateWeatherReport2({ includeAdaptive: true });
43792
43792
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
43793
43793
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -43805,7 +43805,7 @@ ${lines}
43805
43805
  }
43806
43806
  async function getMemoryContext(task) {
43807
43807
  try {
43808
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YWOMPCLZ.js");
43808
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-O77ISZYP.js");
43809
43809
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43810
43810
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
43811
43811
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -43914,7 +43914,7 @@ ${contextBlock}`;
43914
43914
  const strategy = config.votingStrategy ?? "higher_order";
43915
43915
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43916
43916
  try {
43917
- const { executeVoting } = await import("./consensus-vote-7CE4JOMK.js");
43917
+ const { executeVoting } = await import("./consensus-vote-VGQW6LCB.js");
43918
43918
  const votingResult = await executeVoting(
43919
43919
  {
43920
43920
  proposal: buildVoteProposal(plan, research),
@@ -44909,7 +44909,7 @@ async function searchCodebaseForTask(task) {
44909
44909
  }
44910
44910
  async function queryResearchRegistry(task) {
44911
44911
  try {
44912
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-IABO7LB4.js");
44912
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-2HHHQP5I.js");
44913
44913
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
44914
44914
  if (topic === void 0) return null;
44915
44915
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -44980,7 +44980,7 @@ function createScanStageWrapper() {
44980
44980
  try {
44981
44981
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
44982
44982
  if (slug !== void 0) {
44983
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-L47DDTAU.js");
44983
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-6QUW6JW5.js");
44984
44984
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
44985
44985
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
44986
44986
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -50025,7 +50025,7 @@ var GitHubTaskTracker = class {
50025
50025
  cachedProvider = null;
50026
50026
  async getProvider() {
50027
50027
  if (this.cachedProvider !== null) return this.cachedProvider;
50028
- const { createScmProvider } = await import("./factory-CYUNYEMU.js");
50028
+ const { createScmProvider } = await import("./factory-2A2CZPQR.js");
50029
50029
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
50030
50030
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
50031
50031
  this.cachedProvider = result.value;
@@ -50735,4 +50735,4 @@ export {
50735
50735
  detectBackend,
50736
50736
  createTaskTracker
50737
50737
  };
50738
- //# sourceMappingURL=chunk-5VMCBHRX.js.map
50738
+ //# sourceMappingURL=chunk-WVZT4JGL.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-KLYBJUTK.js";
5
+ } from "./chunk-EYIIQ7KE.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-S7R72HUB.js.map
90
+ //# sourceMappingURL=chunk-ZW6NKOXT.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CliCircuitBreakerIntegration,
3
3
  createCliCircuitBreakerIntegration
4
- } from "./chunk-NAKDVIXS.js";
5
- import "./chunk-4RW6OONY.js";
6
- import "./chunk-KLYBJUTK.js";
4
+ } from "./chunk-CPGZRXY3.js";
5
+ import "./chunk-J524D5GA.js";
6
+ import "./chunk-EYIIQ7KE.js";
7
7
  import "./chunk-CH7QIDHQ.js";
8
8
  import "./chunk-PR4QN5HX.js";
9
9
  export {
10
10
  CliCircuitBreakerIntegration,
11
11
  createCliCircuitBreakerIntegration
12
12
  };
13
- //# sourceMappingURL=cli-circuit-breaker-L647V6BR.js.map
13
+ //# sourceMappingURL=cli-circuit-breaker-VHAHRE2J.js.map
package/dist/cli.js CHANGED
@@ -13,19 +13,19 @@ import {
13
13
  generateSummary,
14
14
  parseFindings,
15
15
  sumFindings
16
- } from "./chunk-LXBWH5XP.js";
17
- import "./chunk-E47LOV6Y.js";
16
+ } from "./chunk-RHH75VON.js";
17
+ import "./chunk-HAKXSIBS.js";
18
18
  import {
19
19
  buildOpenAICompatAdapters,
20
20
  loadUsageEvents,
21
21
  readOpenAICompatEnv,
22
22
  rollupByModel
23
- } from "./chunk-5PZIMHNA.js";
23
+ } from "./chunk-FYQ36FP3.js";
24
24
  import {
25
25
  setupCommandAsync,
26
26
  verifyCommand
27
- } from "./chunk-QM3WIUXB.js";
28
- import "./chunk-4L7FH53H.js";
27
+ } from "./chunk-PF7GV22M.js";
28
+ import "./chunk-4CPPYUBW.js";
29
29
  import {
30
30
  AuthHandler,
31
31
  DEFAULT_EXPERTS,
@@ -165,20 +165,20 @@ import {
165
165
  validateCommand,
166
166
  validateWorkflow,
167
167
  wrapInMarkdownFence
168
- } from "./chunk-5VMCBHRX.js";
168
+ } from "./chunk-WVZT4JGL.js";
169
169
  import "./chunk-3ACDP4E6.js";
170
170
  import {
171
171
  resolveToken
172
- } from "./chunk-S7R72HUB.js";
172
+ } from "./chunk-ZW6NKOXT.js";
173
173
  import {
174
174
  CATEGORY_DISPLAY_NAMES,
175
175
  DEFAULT_PR_REVIEW_CONFIG
176
176
  } from "./chunk-OK6U5N5Y.js";
177
- import "./chunk-EKO6XAAZ.js";
178
- import "./chunk-NAKDVIXS.js";
177
+ import "./chunk-B73SAOST.js";
178
+ import "./chunk-CPGZRXY3.js";
179
179
  import {
180
180
  shutdownExpertBridge
181
- } from "./chunk-PWDIIS7L.js";
181
+ } from "./chunk-NBAARQC6.js";
182
182
  import {
183
183
  DEFAULT_VOTE_TIMEOUT_MS,
184
184
  ErrorPolicySchema,
@@ -188,33 +188,33 @@ import {
188
188
  executeVoting,
189
189
  registerConsensusVoteTool,
190
190
  warnIfSimulatedOutsideTests
191
- } from "./chunk-T32MGJMA.js";
192
- import "./chunk-FVWKAEYH.js";
193
- import "./chunk-W65C5VVJ.js";
191
+ } from "./chunk-P6TYLTER.js";
192
+ import "./chunk-THUENUJA.js";
193
+ import "./chunk-47YAIGCP.js";
194
194
  import {
195
195
  loadPapersRegistry,
196
196
  loadTechniquesRegistry,
197
197
  savePapersRegistry,
198
198
  synthesizeResearch
199
- } from "./chunk-Z7IQUUTZ.js";
199
+ } from "./chunk-GAX6YG5E.js";
200
200
  import {
201
201
  classifyTrust,
202
202
  createFullGitHubProvider,
203
203
  evaluatePolicy,
204
204
  parsePRUrl
205
- } from "./chunk-SBYFWB6J.js";
206
- import "./chunk-MNWYIYEZ.js";
205
+ } from "./chunk-G3QQOU4H.js";
206
+ import "./chunk-IS2OUYGR.js";
207
207
  import {
208
208
  ReputationCache,
209
209
  sanitizeInput
210
- } from "./chunk-GDY23NDK.js";
210
+ } from "./chunk-Q7FINCKE.js";
211
211
  import {
212
212
  ImprovementReviewInputSchema,
213
213
  calculateFitnessScore,
214
214
  createFitnessScoreCalculator,
215
215
  registerImprovementReviewTool,
216
216
  runImprovementReview
217
- } from "./chunk-QYE6GEPY.js";
217
+ } from "./chunk-TLTWQAHI.js";
218
218
  import {
219
219
  createDefaultPolicyFirewall,
220
220
  createSecureHandler,
@@ -224,14 +224,14 @@ import {
224
224
  toolStructuredError,
225
225
  toolSuccessStructured,
226
226
  wrapToolWithTimeout
227
- } from "./chunk-SXWJ7IUF.js";
228
- import "./chunk-FZCB2P3F.js";
227
+ } from "./chunk-VJFUIP6N.js";
228
+ import "./chunk-ER6YMAZU.js";
229
229
  import "./chunk-HFOQKCD2.js";
230
- import "./chunk-VJR46M7L.js";
230
+ import "./chunk-74QFV5ON.js";
231
231
  import {
232
232
  MemoryError,
233
233
  shutdownToolMemory
234
- } from "./chunk-TDXLS2TY.js";
234
+ } from "./chunk-OIFFZHSV.js";
235
235
  import {
236
236
  CustomExpertDefinitionSchema,
237
237
  DATA_SUBDIRECTORIES,
@@ -250,12 +250,11 @@ import {
250
250
  loadConfig,
251
251
  runDoctor,
252
252
  validateNexusEnv
253
- } from "./chunk-W7JCGUTA.js";
254
- import "./chunk-FLUC27DF.js";
255
- import "./chunk-L2NPJRZZ.js";
253
+ } from "./chunk-2NSCF4PI.js";
254
+ import "./chunk-UXBZ346L.js";
256
255
  import {
257
256
  DEFAULTS
258
- } from "./chunk-LVGYWJDX.js";
257
+ } from "./chunk-GUHVV3Q4.js";
259
258
  import "./chunk-NUBSJGQZ.js";
260
259
  import {
261
260
  capitalize,
@@ -267,12 +266,12 @@ import {
267
266
  getAvailableClis,
268
267
  isRecord,
269
268
  probeAllClis
270
- } from "./chunk-3GF52QPA.js";
271
- import "./chunk-4RW6OONY.js";
272
- import "./chunk-3QFQG5QT.js";
269
+ } from "./chunk-ODN2O3XZ.js";
270
+ import "./chunk-J524D5GA.js";
271
+ import "./chunk-WPGVI2F2.js";
273
272
  import "./chunk-ZM4O442V.js";
274
273
  import "./chunk-PQHVC4BD.js";
275
- import "./chunk-MNFEZIRI.js";
274
+ import "./chunk-JEOFSMRI.js";
276
275
  import {
277
276
  API_TIMEOUTS,
278
277
  AgentCapability,
@@ -343,7 +342,7 @@ import {
343
342
  validateTimeout,
344
343
  writeEmptyLine,
345
344
  writeLine
346
- } from "./chunk-KLYBJUTK.js";
345
+ } from "./chunk-EYIIQ7KE.js";
347
346
  import {
348
347
  applyPortableMode,
349
348
  detectSandbox,
@@ -3171,7 +3170,7 @@ ${file.patch}
3171
3170
  violations: policyResult.violations
3172
3171
  });
3173
3172
  }
3174
- const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-2YJG6XJM.js");
3173
+ const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-SEA7L3XT.js");
3175
3174
  const body = formatReviewComment2(result);
3176
3175
  const postResult = await provider.createReview(pr.prNumber, body, result.decision);
3177
3176
  if (!postResult.ok) {
@@ -17206,6 +17205,10 @@ var DevPipelineInputSchema = z8.object({
17206
17205
  /** Local pre-ship quality gate (typecheck/lint/tests) mode (#3356). */
17207
17206
  qualityGate: z8.enum(["off", "advisory", "blocking"]).default("off").describe(
17208
17207
  "Pre-ship local quality gate. 'off' (default): skip. 'advisory': run + record feedback, never fail. 'blocking': a red gate fails the pipeline."
17208
+ ),
17209
+ /** Opt-in per-run token budget — a safety cap for unattended runs (#3395). */
17210
+ maxBudgetTokens: z8.number().int().positive().optional().describe(
17211
+ "Per-run token ceiling (#3395). When set, expert calls stop (returning failures) once cumulative usage crosses it \u2014 a hard-stop safety cap for unattended/multi-day runs. Omit to disable (default)."
17209
17212
  )
17210
17213
  });
17211
17214
  async function resolveTaskInput(input) {
@@ -17240,7 +17243,11 @@ async function createStages(input) {
17240
17243
  quickMode: input.quickMode,
17241
17244
  issueNumber: input.issueNumber,
17242
17245
  repo: input.repo,
17243
- tracker
17246
+ tracker,
17247
+ // #3395: thread the opt-in per-run token ceiling through to the budget guard.
17248
+ ...input.maxBudgetTokens !== void 0 && {
17249
+ budget: { maxTokens: input.maxBudgetTokens }
17250
+ }
17244
17251
  });
17245
17252
  }
17246
17253
  function buildStructuredOutput(result) {
@@ -17627,7 +17634,7 @@ function startImprovementReviewScheduler(options) {
17627
17634
  let running = false;
17628
17635
  const runOnce = async () => {
17629
17636
  try {
17630
- const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-YFQ5T7I3.js");
17637
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-6EV2FWXI.js");
17631
17638
  const input = ImprovementReviewInputSchema2.parse({ fileIssues });
17632
17639
  const result = await runImprovementReview2(input, { logger: logger18 });
17633
17640
  logger18.info("Scheduled improvement_review complete", {
@@ -19558,7 +19565,7 @@ function adaptConfigToLibrary(config) {
19558
19565
  }
19559
19566
  function createBeliefPromoter() {
19560
19567
  return async (event) => {
19561
- const { getToolMemory } = await import("./tool-memory-ABPSCFIH.js");
19568
+ const { getToolMemory } = await import("./tool-memory-KQ5N6GRC.js");
19562
19569
  const tm = getToolMemory();
19563
19570
  await tm.recordBelief(
19564
19571
  `skill:${event.name}`,
@@ -20425,7 +20432,7 @@ async function handleResearchCommand(args) {
20425
20432
  }
20426
20433
  }
20427
20434
  async function handleRegistryCommand(args) {
20428
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-ZFOGLBKF.js");
20435
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-O5G5VII2.js");
20429
20436
  const subcommand = args.subcommand;
20430
20437
  if (!isValidRegistrySubcommand(subcommand)) {
20431
20438
  process.stdout.write(`${formatRegistryUsage()}
@@ -20473,7 +20480,7 @@ async function handleVerifyCommand(args) {
20473
20480
  async function handleDoctorCommand(args) {
20474
20481
  const exitCode = await doctorCommand({ fix: args.options.fix });
20475
20482
  if (args.options.deep) {
20476
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-REMLGFXP.js");
20483
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-7PN77HHM.js");
20477
20484
  const diag = runDeepDiagnostics2();
20478
20485
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
20479
20486
  }
@@ -20517,7 +20524,7 @@ async function handleInitCommand(args) {
20517
20524
  process.exit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20518
20525
  }
20519
20526
  async function runInitOpencodeFlow(args) {
20520
- const { runInitOpencode } = await import("./init-opencode-WXY4DUFU.js");
20527
+ const { runInitOpencode } = await import("./init-opencode-GZD26YXM.js");
20521
20528
  const opencodePath = args.options.opencode;
20522
20529
  if (opencodePath === void 0 || opencodePath === "") {
20523
20530
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -20544,7 +20551,7 @@ async function runInitOpencodeFlow(args) {
20544
20551
  process.exit(EXIT_CODES.SUCCESS);
20545
20552
  }
20546
20553
  async function renderOpencodeValidate(opencodePath) {
20547
- const { runOpencodeValidate } = await import("./init-opencode-WXY4DUFU.js");
20554
+ const { runOpencodeValidate } = await import("./init-opencode-GZD26YXM.js");
20548
20555
  const result = await runOpencodeValidate(opencodePath);
20549
20556
  if (!result.ok) {
20550
20557
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -20584,7 +20591,7 @@ async function handleSetupCommandAsync(args) {
20584
20591
  process.exit(exitCode === 0 ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20585
20592
  }
20586
20593
  async function runCustomApiSetup(args) {
20587
- const { configureCustomApi } = await import("./setup-custom-api-A4IZQ2Q4.js");
20594
+ const { configureCustomApi } = await import("./setup-custom-api-PK5OLVW5.js");
20588
20595
  const baseUrl = args.options.customApi;
20589
20596
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
20590
20597
  const input = {