nexus-agents 2.125.2 → 2.125.4

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 (113) hide show
  1. package/dist/{child-mcp-config-MSZZF6I3.js → child-mcp-config-UD2OEL6R.js} +2 -2
  2. package/dist/{chunk-NOSBQMNT.js → chunk-24FGKXO5.js} +2 -2
  3. package/dist/{chunk-YOH65GFI.js → chunk-2XTMMIO4.js} +2 -2
  4. package/dist/{chunk-YUG7RALP.js → chunk-356VHSEL.js} +2 -2
  5. package/dist/{chunk-O5H54IYY.js → chunk-423K4VCS.js} +3 -3
  6. package/dist/{chunk-PEEWOIK3.js → chunk-5IZAKBRA.js} +3 -3
  7. package/dist/{chunk-LRCHBLBB.js → chunk-6ILIYYVD.js} +2 -2
  8. package/dist/{chunk-IJNTGDD6.js → chunk-7OUIKA7N.js} +54 -36
  9. package/dist/{chunk-IJNTGDD6.js.map → chunk-7OUIKA7N.js.map} +1 -1
  10. package/dist/{chunk-IPFBSZYU.js → chunk-DMSI3IZF.js} +2 -2
  11. package/dist/{chunk-Z7JWK64M.js → chunk-EMD6RKQ4.js} +2 -2
  12. package/dist/{chunk-U67JEWQ5.js → chunk-EXY42SO7.js} +7 -7
  13. package/dist/{chunk-2UXRYB7S.js → chunk-G76X4ULX.js} +5 -4
  14. package/dist/{chunk-2UXRYB7S.js.map → chunk-G76X4ULX.js.map} +1 -1
  15. package/dist/{chunk-LL6G4PUG.js → chunk-GCYA3Y3L.js} +2 -2
  16. package/dist/{chunk-OT3WR5BK.js → chunk-IUGXMWCB.js} +2 -2
  17. package/dist/{chunk-DUQ2D7ID.js → chunk-J22XW4IH.js} +2 -2
  18. package/dist/{chunk-QD2C3CBD.js → chunk-K3MKXREZ.js} +2 -2
  19. package/dist/{chunk-J7UM3D2A.js → chunk-KHTC44IA.js} +4 -4
  20. package/dist/{chunk-NJJOVGHY.js → chunk-L7IOK5MX.js} +5 -5
  21. package/dist/{chunk-PBMXKQCK.js → chunk-MMWNGT2K.js} +2 -2
  22. package/dist/{chunk-6MFQJEFC.js → chunk-NCL7UPLL.js} +14 -5
  23. package/dist/{chunk-6MFQJEFC.js.map → chunk-NCL7UPLL.js.map} +1 -1
  24. package/dist/{chunk-G5XWMI32.js → chunk-PIHYC36P.js} +4 -4
  25. package/dist/{chunk-TSAEDXVB.js → chunk-QN3353M2.js} +7 -7
  26. package/dist/{chunk-ZNIBBUR6.js → chunk-QRF3WDZB.js} +3 -3
  27. package/dist/{chunk-5VIJQRZ4.js → chunk-RJJY7OCH.js} +7 -7
  28. package/dist/{chunk-ASIIYDU6.js → chunk-RMFW66HL.js} +5 -5
  29. package/dist/{chunk-AXYPKHU5.js → chunk-TKJGNCB3.js} +3 -3
  30. package/dist/{chunk-T6MGSAKE.js → chunk-VLVXB4SG.js} +3 -3
  31. package/dist/{chunk-JQSB3FRF.js → chunk-YCPAQ4AG.js} +2 -2
  32. package/dist/{chunk-UBFCW7DG.js → chunk-YNAI4D2K.js} +4 -4
  33. package/dist/{chunk-YXRDBU3Y.js → chunk-Z7EEKYOH.js} +2 -2
  34. package/dist/{chunk-MMV5P4XV.js → chunk-ZCLAVGFP.js} +2 -2
  35. package/dist/{chunk-O32IBI3I.js → chunk-ZHBKDMHV.js} +7 -7
  36. package/dist/{cli-circuit-breaker-NJ2ZGOFE.js → cli-circuit-breaker-U4BBHCS3.js} +4 -4
  37. package/dist/cli.js +38 -38
  38. package/dist/{composite-router-ZSESBGMG.js → composite-router-IAWQYQGY.js} +2 -2
  39. package/dist/{consensus-vote-2SZ62Q7V.js → consensus-vote-2JXEXT4C.js} +12 -12
  40. package/dist/{context-retriever-YYNOKHF3.js → context-retriever-CKZ2URRM.js} +8 -8
  41. package/dist/{doctor-deep-63D2MJL6.js → doctor-deep-DAJR3BMB.js} +3 -3
  42. package/dist/{expert-bridge-WBOKIFTM.js → expert-bridge-AXYDEI3H.js} +4 -4
  43. package/dist/{factory-3ORD7MK4.js → factory-2DHB5VAK.js} +5 -5
  44. package/dist/factory-7RUFNYB6.js +21 -0
  45. package/dist/{improvement-review-S46LZWDP.js → improvement-review-6DGBEWPV.js} +4 -4
  46. package/dist/index.d.ts +4 -4
  47. package/dist/index.js +27 -27
  48. package/dist/{init-opencode-PFH7RNDL.js → init-opencode-5DLRZGKX.js} +5 -5
  49. package/dist/{issue-triage-CFCAYADR.js → issue-triage-F2R6Z5TW.js} +5 -5
  50. package/dist/{pr-reviewer-helpers-2SNHHYTK.js → pr-reviewer-helpers-6JVRYXS7.js} +4 -4
  51. package/dist/{registry-command-NJYF6QN6.js → registry-command-BY7A7234.js} +2 -2
  52. package/dist/{repo-security-plan-XZFRWS4Z.js → repo-security-plan-U6Y23KFH.js} +3 -3
  53. package/dist/{research-helpers-synthesize-QUKFICW5.js → research-helpers-synthesize-7HYDTRNF.js} +4 -4
  54. package/dist/{routing-memory-66ZNFJUP.js → routing-memory-4VRD66RW.js} +2 -2
  55. package/dist/{session-memory-PL7WNSKS.js → session-memory-MDFU67XA.js} +3 -3
  56. package/dist/{setup-command-EDREMP4Q.js → setup-command-BATFC2SM.js} +11 -11
  57. package/dist/{setup-config-J7JLEVAV.js → setup-config-MS7LWPAP.js} +3 -3
  58. package/dist/{setup-custom-api-SQHC6PZC.js → setup-custom-api-JC2ZRFQD.js} +3 -3
  59. package/dist/{tool-memory-OOWHNFOM.js → tool-memory-UEQVXV6B.js} +5 -5
  60. package/dist/{weather-report-DXBH5BTR.js → weather-report-G252XQUH.js} +2 -2
  61. package/package.json +1 -1
  62. package/dist/factory-LPM2AIQ7.js +0 -21
  63. /package/dist/{child-mcp-config-MSZZF6I3.js.map → child-mcp-config-UD2OEL6R.js.map} +0 -0
  64. /package/dist/{chunk-NOSBQMNT.js.map → chunk-24FGKXO5.js.map} +0 -0
  65. /package/dist/{chunk-YOH65GFI.js.map → chunk-2XTMMIO4.js.map} +0 -0
  66. /package/dist/{chunk-YUG7RALP.js.map → chunk-356VHSEL.js.map} +0 -0
  67. /package/dist/{chunk-O5H54IYY.js.map → chunk-423K4VCS.js.map} +0 -0
  68. /package/dist/{chunk-PEEWOIK3.js.map → chunk-5IZAKBRA.js.map} +0 -0
  69. /package/dist/{chunk-LRCHBLBB.js.map → chunk-6ILIYYVD.js.map} +0 -0
  70. /package/dist/{chunk-IPFBSZYU.js.map → chunk-DMSI3IZF.js.map} +0 -0
  71. /package/dist/{chunk-Z7JWK64M.js.map → chunk-EMD6RKQ4.js.map} +0 -0
  72. /package/dist/{chunk-U67JEWQ5.js.map → chunk-EXY42SO7.js.map} +0 -0
  73. /package/dist/{chunk-LL6G4PUG.js.map → chunk-GCYA3Y3L.js.map} +0 -0
  74. /package/dist/{chunk-OT3WR5BK.js.map → chunk-IUGXMWCB.js.map} +0 -0
  75. /package/dist/{chunk-DUQ2D7ID.js.map → chunk-J22XW4IH.js.map} +0 -0
  76. /package/dist/{chunk-QD2C3CBD.js.map → chunk-K3MKXREZ.js.map} +0 -0
  77. /package/dist/{chunk-J7UM3D2A.js.map → chunk-KHTC44IA.js.map} +0 -0
  78. /package/dist/{chunk-NJJOVGHY.js.map → chunk-L7IOK5MX.js.map} +0 -0
  79. /package/dist/{chunk-PBMXKQCK.js.map → chunk-MMWNGT2K.js.map} +0 -0
  80. /package/dist/{chunk-G5XWMI32.js.map → chunk-PIHYC36P.js.map} +0 -0
  81. /package/dist/{chunk-TSAEDXVB.js.map → chunk-QN3353M2.js.map} +0 -0
  82. /package/dist/{chunk-ZNIBBUR6.js.map → chunk-QRF3WDZB.js.map} +0 -0
  83. /package/dist/{chunk-5VIJQRZ4.js.map → chunk-RJJY7OCH.js.map} +0 -0
  84. /package/dist/{chunk-ASIIYDU6.js.map → chunk-RMFW66HL.js.map} +0 -0
  85. /package/dist/{chunk-AXYPKHU5.js.map → chunk-TKJGNCB3.js.map} +0 -0
  86. /package/dist/{chunk-T6MGSAKE.js.map → chunk-VLVXB4SG.js.map} +0 -0
  87. /package/dist/{chunk-JQSB3FRF.js.map → chunk-YCPAQ4AG.js.map} +0 -0
  88. /package/dist/{chunk-UBFCW7DG.js.map → chunk-YNAI4D2K.js.map} +0 -0
  89. /package/dist/{chunk-YXRDBU3Y.js.map → chunk-Z7EEKYOH.js.map} +0 -0
  90. /package/dist/{chunk-MMV5P4XV.js.map → chunk-ZCLAVGFP.js.map} +0 -0
  91. /package/dist/{chunk-O32IBI3I.js.map → chunk-ZHBKDMHV.js.map} +0 -0
  92. /package/dist/{cli-circuit-breaker-NJ2ZGOFE.js.map → cli-circuit-breaker-U4BBHCS3.js.map} +0 -0
  93. /package/dist/{composite-router-ZSESBGMG.js.map → composite-router-IAWQYQGY.js.map} +0 -0
  94. /package/dist/{consensus-vote-2SZ62Q7V.js.map → consensus-vote-2JXEXT4C.js.map} +0 -0
  95. /package/dist/{context-retriever-YYNOKHF3.js.map → context-retriever-CKZ2URRM.js.map} +0 -0
  96. /package/dist/{doctor-deep-63D2MJL6.js.map → doctor-deep-DAJR3BMB.js.map} +0 -0
  97. /package/dist/{expert-bridge-WBOKIFTM.js.map → expert-bridge-AXYDEI3H.js.map} +0 -0
  98. /package/dist/{factory-3ORD7MK4.js.map → factory-2DHB5VAK.js.map} +0 -0
  99. /package/dist/{factory-LPM2AIQ7.js.map → factory-7RUFNYB6.js.map} +0 -0
  100. /package/dist/{improvement-review-S46LZWDP.js.map → improvement-review-6DGBEWPV.js.map} +0 -0
  101. /package/dist/{init-opencode-PFH7RNDL.js.map → init-opencode-5DLRZGKX.js.map} +0 -0
  102. /package/dist/{issue-triage-CFCAYADR.js.map → issue-triage-F2R6Z5TW.js.map} +0 -0
  103. /package/dist/{pr-reviewer-helpers-2SNHHYTK.js.map → pr-reviewer-helpers-6JVRYXS7.js.map} +0 -0
  104. /package/dist/{registry-command-NJYF6QN6.js.map → registry-command-BY7A7234.js.map} +0 -0
  105. /package/dist/{repo-security-plan-XZFRWS4Z.js.map → repo-security-plan-U6Y23KFH.js.map} +0 -0
  106. /package/dist/{research-helpers-synthesize-QUKFICW5.js.map → research-helpers-synthesize-7HYDTRNF.js.map} +0 -0
  107. /package/dist/{routing-memory-66ZNFJUP.js.map → routing-memory-4VRD66RW.js.map} +0 -0
  108. /package/dist/{session-memory-PL7WNSKS.js.map → session-memory-MDFU67XA.js.map} +0 -0
  109. /package/dist/{setup-command-EDREMP4Q.js.map → setup-command-BATFC2SM.js.map} +0 -0
  110. /package/dist/{setup-config-J7JLEVAV.js.map → setup-config-MS7LWPAP.js.map} +0 -0
  111. /package/dist/{setup-custom-api-SQHC6PZC.js.map → setup-custom-api-JC2ZRFQD.js.map} +0 -0
  112. /package/dist/{tool-memory-OOWHNFOM.js.map → tool-memory-UEQVXV6B.js.map} +0 -0
  113. /package/dist/{weather-report-DXBH5BTR.js.map → weather-report-G252XQUH.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-2UXRYB7S.js";
3
+ } from "./chunk-G76X4ULX.js";
4
4
  import "./chunk-CH7QIDHQ.js";
5
5
  import "./chunk-PR4QN5HX.js";
6
6
 
@@ -59,4 +59,4 @@ export {
59
59
  generateMcpConfig,
60
60
  getDefaultAllowedTools
61
61
  };
62
- //# sourceMappingURL=child-mcp-config-MSZZF6I3.js.map
62
+ //# sourceMappingURL=child-mcp-config-UD2OEL6R.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRandomProvider,
3
3
  getTimeProvider
4
- } from "./chunk-2UXRYB7S.js";
4
+ } from "./chunk-G76X4ULX.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-NOSBQMNT.js.map
27
+ //# sourceMappingURL=chunk-24FGKXO5.js.map
@@ -15,7 +15,7 @@ import {
15
15
  createLogger,
16
16
  err,
17
17
  ok
18
- } from "./chunk-2UXRYB7S.js";
18
+ } from "./chunk-G76X4ULX.js";
19
19
 
20
20
  // src/config/defaults.ts
21
21
  var CUSTOM_API_DEFAULT_MODEL = "gpt-4o";
@@ -396,4 +396,4 @@ export {
396
396
  validateCustomApiBaseUrl,
397
397
  assertCustomApiHostResolvesPublic
398
398
  };
399
- //# sourceMappingURL=chunk-YOH65GFI.js.map
399
+ //# sourceMappingURL=chunk-2XTMMIO4.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  getTimeProvider,
7
7
  ok
8
- } from "./chunk-2UXRYB7S.js";
8
+ } from "./chunk-G76X4ULX.js";
9
9
 
10
10
  // src/cli-adapters/circuit-breaker-types.ts
11
11
  var CircuitErrorCode = {
@@ -372,4 +372,4 @@ export {
372
372
  mapCliErrorToCategory,
373
373
  mapModelErrorToCategory
374
374
  };
375
- //# sourceMappingURL=chunk-YUG7RALP.js.map
375
+ //# sourceMappingURL=chunk-356VHSEL.js.map
@@ -3,14 +3,14 @@ import {
3
3
  createStream,
4
4
  requireApiKey,
5
5
  validateApiKeyPresence
6
- } from "./chunk-DUQ2D7ID.js";
6
+ } from "./chunk-J22XW4IH.js";
7
7
  import {
8
8
  ModelCapability,
9
9
  err,
10
10
  getCliModelName,
11
11
  getTokenEstimator,
12
12
  ok
13
- } from "./chunk-2UXRYB7S.js";
13
+ } from "./chunk-G76X4ULX.js";
14
14
 
15
15
  // src/adapters/openai-types.ts
16
16
  var OPENAI_MODELS = {
@@ -553,4 +553,4 @@ export {
553
553
  OpenAIAdapter,
554
554
  createOpenAIAdapter
555
555
  };
556
- //# sourceMappingURL=chunk-O5H54IYY.js.map
556
+ //# sourceMappingURL=chunk-423K4VCS.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-YUG7RALP.js";
5
+ } from "./chunk-356VHSEL.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-2UXRYB7S.js";
12
+ } from "./chunk-G76X4ULX.js";
13
13
 
14
14
  // src/cli-adapters/cli-circuit-breaker.ts
15
15
  var CATEGORY_TO_FALLBACK = {
@@ -152,4 +152,4 @@ export {
152
152
  CliCircuitBreakerIntegration,
153
153
  createCliCircuitBreakerIntegration
154
154
  };
155
- //# sourceMappingURL=chunk-PEEWOIK3.js.map
155
+ //# sourceMappingURL=chunk-5IZAKBRA.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-2UXRYB7S.js";
7
+ } from "./chunk-G76X4ULX.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-LRCHBLBB.js.map
724
+ //# sourceMappingURL=chunk-6ILIYYVD.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-WAYGXUSM.js";
11
11
  import {
12
12
  executeExpert
13
- } from "./chunk-O32IBI3I.js";
13
+ } from "./chunk-ZHBKDMHV.js";
14
14
  import {
15
15
  EventTopics,
16
16
  JobStatusSchema,
@@ -32,23 +32,23 @@ import {
32
32
  writeJobComplete,
33
33
  writeJobFailed,
34
34
  writeJobPending
35
- } from "./chunk-5VIJQRZ4.js";
35
+ } from "./chunk-RJJY7OCH.js";
36
36
  import {
37
37
  normalizeTopicToCanonical,
38
38
  synthesizeResearch
39
- } from "./chunk-T6MGSAKE.js";
39
+ } from "./chunk-VLVXB4SG.js";
40
40
  import {
41
41
  IssueTriage,
42
42
  createAuditTrail,
43
43
  createGraphAuditBridge
44
- } from "./chunk-UBFCW7DG.js";
44
+ } from "./chunk-YNAI4D2K.js";
45
45
  import {
46
46
  resolveEnvMode,
47
47
  sanitizeInput
48
- } from "./chunk-YXRDBU3Y.js";
48
+ } from "./chunk-Z7EEKYOH.js";
49
49
  import {
50
50
  withPrerequisite
51
- } from "./chunk-6MFQJEFC.js";
51
+ } from "./chunk-NCL7UPLL.js";
52
52
  import {
53
53
  NOOP_NOTIFIER,
54
54
  RateLimiter,
@@ -70,10 +70,10 @@ import {
70
70
  withAccessPolicy,
71
71
  withProgressHeartbeat,
72
72
  wrapToolWithTimeout
73
- } from "./chunk-QD2C3CBD.js";
73
+ } from "./chunk-K3MKXREZ.js";
74
74
  import {
75
75
  generateSecurityPlan
76
- } from "./chunk-LRCHBLBB.js";
76
+ } from "./chunk-6ILIYYVD.js";
77
77
  import {
78
78
  analyzeGitHubRepo
79
79
  } from "./chunk-HFOQKCD2.js";
@@ -104,26 +104,26 @@ import {
104
104
  parseRegistry,
105
105
  sourceExistsInRegistry,
106
106
  summarizeContextForPrompt
107
- } from "./chunk-ASIIYDU6.js";
107
+ } from "./chunk-RMFW66HL.js";
108
108
  import {
109
109
  getTokenEnvVars,
110
110
  resolveToken
111
- } from "./chunk-IPFBSZYU.js";
111
+ } from "./chunk-DMSI3IZF.js";
112
112
  import {
113
113
  loadPapersRegistry,
114
114
  loadTechniquesRegistry
115
- } from "./chunk-MMV5P4XV.js";
115
+ } from "./chunk-ZCLAVGFP.js";
116
116
  import {
117
117
  DEFAULT_RELEVANCE_CONFIG,
118
118
  MemoryImportance,
119
119
  calculateTextJaccardSimilarity,
120
120
  getToolMemory
121
- } from "./chunk-G5XWMI32.js";
121
+ } from "./chunk-PIHYC36P.js";
122
122
  import {
123
123
  DEFAULT_TASK_TTL_MS,
124
124
  DEFAULT_TOOL_RATE_LIMITS,
125
125
  clampTaskTtl
126
- } from "./chunk-U67JEWQ5.js";
126
+ } from "./chunk-EXY42SO7.js";
127
127
  import {
128
128
  resolveInsideRoot
129
129
  } from "./chunk-NUBSJGQZ.js";
@@ -138,19 +138,19 @@ import {
138
138
  getAvailableClis,
139
139
  sleep,
140
140
  withTimeout
141
- } from "./chunk-TSAEDXVB.js";
141
+ } from "./chunk-QN3353M2.js";
142
142
  import {
143
143
  DEFAULTS
144
- } from "./chunk-YOH65GFI.js";
144
+ } from "./chunk-2XTMMIO4.js";
145
145
  import {
146
146
  getAvailabilityCache,
147
147
  getCliForModelId,
148
148
  resolveFallback
149
- } from "./chunk-OT3WR5BK.js";
149
+ } from "./chunk-IUGXMWCB.js";
150
150
  import {
151
151
  generateHyphenId,
152
152
  generateUUID
153
- } from "./chunk-NOSBQMNT.js";
153
+ } from "./chunk-24FGKXO5.js";
154
154
  import {
155
155
  BUILT_IN_EXPERTS,
156
156
  BuiltInExpertTypeSchema,
@@ -162,7 +162,7 @@ import {
162
162
  } from "./chunk-PQHVC4BD.js";
163
163
  import {
164
164
  createSessionMemory
165
- } from "./chunk-Z7JWK64M.js";
165
+ } from "./chunk-EMD6RKQ4.js";
166
166
  import {
167
167
  AGENT_ROUTER_TIMEOUTS,
168
168
  ARCHITECTURE_KEYWORDS,
@@ -170,6 +170,7 @@ import {
170
170
  BoundedLRUCache,
171
171
  CLI_NAMES,
172
172
  CLI_SUBPROCESS_TIMEOUTS,
173
+ CliNameSchema,
173
174
  DEFAULT_CLI,
174
175
  EXPERT_TIMEOUTS,
175
176
  ErrorCode,
@@ -242,7 +243,7 @@ import {
242
243
  routingArmDisplaySlot,
243
244
  toExpertTaskAnalysisResult,
244
245
  withStep
245
- } from "./chunk-2UXRYB7S.js";
246
+ } from "./chunk-G76X4ULX.js";
246
247
  import {
247
248
  nexusDataPath,
248
249
  nexusDataPathEnsure
@@ -26269,7 +26270,7 @@ async function populateUnifiedContextOnState(state) {
26269
26270
  try {
26270
26271
  const taskCandidate = state["task"];
26271
26272
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26272
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-YYNOKHF3.js");
26273
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-CKZ2URRM.js");
26273
26274
  const ctx = await getContextForTask2({
26274
26275
  task: taskCandidate,
26275
26276
  category: inferTaskCategory2(taskCandidate),
@@ -35405,14 +35406,27 @@ function resolveExpertCategory(opts) {
35405
35406
  if (roleCategory !== void 0) return roleCategory;
35406
35407
  return detectTaskCategory(opts.task)?.category ?? "exploration";
35407
35408
  }
35409
+ var UNATTRIBUTED_MODELS = /* @__PURE__ */ new Set([
35410
+ "",
35411
+ "expert",
35412
+ "unknown",
35413
+ "heuristic",
35414
+ "default"
35415
+ ]);
35416
+ function resolveExpertCli(model) {
35417
+ if (model === void 0 || UNATTRIBUTED_MODELS.has(model)) return "unknown";
35418
+ const cliName = getDefaultRegistry().getEntry(model).cliName;
35419
+ const parsed = cliName !== void 0 ? CliNameSchema.safeParse(cliName) : void 0;
35420
+ return parsed?.success === true ? parsed.data : "unknown";
35421
+ }
35408
35422
  function recordExpertOutcome(opts) {
35409
35423
  try {
35410
- const match = detectTaskCategory(opts.task);
35424
+ const model = opts.model !== void 0 && !UNATTRIBUTED_MODELS.has(opts.model) ? opts.model : "unknown";
35411
35425
  getOutcomeStore().append({
35412
35426
  id: `exp-${String(getTimeProvider().now())}-${getRandomProvider().random().toString(36).slice(2, 8)}`,
35413
- cli: match?.primaryCli ?? DEFAULT_CLI,
35427
+ cli: resolveExpertCli(opts.model),
35414
35428
  category: resolveExpertCategory(opts),
35415
- model: opts.model ?? "expert",
35429
+ model,
35416
35430
  success: opts.success,
35417
35431
  durationMs: opts.durationMs,
35418
35432
  timestamp: new Date(getTimeProvider().now()).toISOString(),
@@ -35776,9 +35790,13 @@ async function tryExpertFallback(expert, task, logger56) {
35776
35790
  })
35777
35791
  };
35778
35792
  }
35793
+ function resolveExecutedModelId(result, expert) {
35794
+ const executed = result.ok ? result.value.metadata.model : void 0;
35795
+ return executed ?? expert.expertConfig.modelPreference?.modelId;
35796
+ }
35779
35797
  async function classifyExpertResult(opts) {
35780
35798
  const { result, expert, task, args, durationMs, logger: logger56 } = opts;
35781
- const modelId = expert.expertConfig.modelPreference?.modelId;
35799
+ const modelId = resolveExecutedModelId(result, expert);
35782
35800
  const info = {
35783
35801
  expertId: args.expertId,
35784
35802
  role: expert.role,
@@ -40901,7 +40919,7 @@ async function tryIssueTriage(task) {
40901
40919
  try {
40902
40920
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
40903
40921
  if (issueMatch === null) return null;
40904
- const { createIssueTriage } = await import("./issue-triage-CFCAYADR.js");
40922
+ const { createIssueTriage } = await import("./issue-triage-F2R6Z5TW.js");
40905
40923
  const triage = createIssueTriage();
40906
40924
  const owner = issueMatch[1] ?? "";
40907
40925
  const num = issueMatch[2] ?? "";
@@ -40929,7 +40947,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
40929
40947
  ]);
40930
40948
  async function classifyWithLLM(task) {
40931
40949
  try {
40932
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-WBOKIFTM.js");
40950
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-AXYDEI3H.js");
40933
40951
  const prompt = [
40934
40952
  "Classify this task into exactly one pipeline template.",
40935
40953
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -42511,7 +42529,7 @@ var memoryInitPromise = null;
42511
42529
  async function initPipelineMemory() {
42512
42530
  if (cachedMemory !== null) return cachedMemory;
42513
42531
  try {
42514
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-PL7WNSKS.js");
42532
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-MDFU67XA.js");
42515
42533
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
42516
42534
  const mem = createSessionMemory2(getLearningDir());
42517
42535
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -42568,7 +42586,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
42568
42586
  callRecord(routingMemoryCache);
42569
42587
  return;
42570
42588
  }
42571
- routingMemoryInitPromise ??= import("./routing-memory-66ZNFJUP.js").then(({ createRoutingMemory }) => {
42589
+ routingMemoryInitPromise ??= import("./routing-memory-4VRD66RW.js").then(({ createRoutingMemory }) => {
42572
42590
  routingMemoryCache ??= createRoutingMemory();
42573
42591
  return routingMemoryCache;
42574
42592
  }).catch((error) => {
@@ -42602,7 +42620,7 @@ ${text}` : "";
42602
42620
  }
42603
42621
  async function getWeatherContext() {
42604
42622
  try {
42605
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-DXBH5BTR.js");
42623
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-G252XQUH.js");
42606
42624
  const report = generateWeatherReport2({ includeAdaptive: true });
42607
42625
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
42608
42626
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -42620,7 +42638,7 @@ ${lines}
42620
42638
  }
42621
42639
  async function getMemoryContext(task) {
42622
42640
  try {
42623
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-PL7WNSKS.js");
42641
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-MDFU67XA.js");
42624
42642
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
42625
42643
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
42626
42644
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -42731,7 +42749,7 @@ ${contextBlock}`;
42731
42749
  const strategy = config.votingStrategy ?? "higher_order";
42732
42750
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
42733
42751
  try {
42734
- const { executeVoting } = await import("./consensus-vote-2SZ62Q7V.js");
42752
+ const { executeVoting } = await import("./consensus-vote-2JXEXT4C.js");
42735
42753
  const votingResult = await executeVoting(
42736
42754
  {
42737
42755
  proposal: buildVoteProposal(plan, research),
@@ -43162,7 +43180,7 @@ async function searchCodebaseForTask(task) {
43162
43180
  }
43163
43181
  async function queryResearchRegistry(task) {
43164
43182
  try {
43165
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-QUKFICW5.js");
43183
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-7HYDTRNF.js");
43166
43184
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43167
43185
  if (topic === void 0) return null;
43168
43186
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43233,7 +43251,7 @@ function createScanStageWrapper() {
43233
43251
  try {
43234
43252
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43235
43253
  if (slug !== void 0) {
43236
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-XZFRWS4Z.js");
43254
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-U6Y23KFH.js");
43237
43255
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43238
43256
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43239
43257
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -45143,7 +45161,7 @@ var GitHubTaskTracker = class {
45143
45161
  cachedProvider = null;
45144
45162
  async getProvider() {
45145
45163
  if (this.cachedProvider !== null) return this.cachedProvider;
45146
- const { createScmProvider } = await import("./factory-3ORD7MK4.js");
45164
+ const { createScmProvider } = await import("./factory-2DHB5VAK.js");
45147
45165
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
45148
45166
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
45149
45167
  this.cachedProvider = result.value;
@@ -45779,7 +45797,7 @@ async function probeSource(source, includeModelIds) {
45779
45797
  }
45780
45798
  }
45781
45799
  async function defaultSources(includeOpenRouter) {
45782
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-LPM2AIQ7.js");
45800
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-7RUFNYB6.js");
45783
45801
  const adapters = createAllAdapters2();
45784
45802
  return buildDefaultModelSources(adapters, { includeOpenRouter });
45785
45803
  }
@@ -49771,4 +49789,4 @@ export {
49771
49789
  shutdownFeedbackSubscriber,
49772
49790
  createEventBusBridge
49773
49791
  };
49774
- //# sourceMappingURL=chunk-IJNTGDD6.js.map
49792
+ //# sourceMappingURL=chunk-7OUIKA7N.js.map