nexus-agents 2.63.4 → 2.63.5

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 (97) hide show
  1. package/dist/{adaptive-memory-2UIPH67R.js → adaptive-memory-XD5O3TC4.js} +3 -3
  2. package/dist/{chunk-NF5KOUKM.js → chunk-3BLWO2ZM.js} +2 -2
  3. package/dist/{chunk-PB2EXTSV.js → chunk-3H44UAHW.js} +2 -2
  4. package/dist/{chunk-KYRDQJLY.js → chunk-3K6O2OL5.js} +7 -7
  5. package/dist/{chunk-EBFXDM3P.js → chunk-5CYDU2VX.js} +2 -2
  6. package/dist/{chunk-QAOI6EIU.js → chunk-5HQJGYYM.js} +2 -2
  7. package/dist/{chunk-FHFNOMNK.js → chunk-6MRF2PE2.js} +2 -2
  8. package/dist/{chunk-RCQZMJBZ.js → chunk-CQXNX6BQ.js} +3 -3
  9. package/dist/{chunk-CDWQP3UC.js → chunk-F2YQX6Q6.js} +3 -3
  10. package/dist/{chunk-KLZHA5KA.js → chunk-GISQ3EJB.js} +4 -4
  11. package/dist/{chunk-ORYMBSGF.js → chunk-LDLLFUM4.js} +5 -5
  12. package/dist/{chunk-WZ7Z5VLZ.js → chunk-LQPW7LIC.js} +144 -103
  13. package/dist/chunk-LQPW7LIC.js.map +1 -0
  14. package/dist/{chunk-ZC4KHPRL.js → chunk-N36KDK3E.js} +12 -12
  15. package/dist/chunk-N36KDK3E.js.map +1 -0
  16. package/dist/{chunk-FAUHVWYZ.js → chunk-NV63LTMM.js} +5 -1
  17. package/dist/chunk-NV63LTMM.js.map +1 -0
  18. package/dist/{chunk-GJVHRJO2.js → chunk-O3CBMPGT.js} +2 -1
  19. package/dist/chunk-O3CBMPGT.js.map +1 -0
  20. package/dist/{chunk-KVZNQWWI.js → chunk-O4AJGETH.js} +2 -2
  21. package/dist/{chunk-ETZULQ7Z.js → chunk-P5NBYCEC.js} +2 -2
  22. package/dist/{chunk-FTWGBV7S.js → chunk-R4FVXOZF.js} +2 -2
  23. package/dist/{chunk-46S665SD.js → chunk-SUR2TLIG.js} +7 -7
  24. package/dist/{chunk-I37IQ26H.js → chunk-TR74DSB4.js} +2 -2
  25. package/dist/{chunk-PEDEZRPR.js → chunk-TSS7VN3V.js} +8 -8
  26. package/dist/{chunk-MSFUOGN4.js → chunk-UFHFX2GX.js} +2 -2
  27. package/dist/{chunk-UDKYZ7CS.js → chunk-VOBYREAG.js} +2 -2
  28. package/dist/{chunk-UCQTXKTS.js → chunk-WDWKKJHZ.js} +2 -2
  29. package/dist/{cli-circuit-breaker-5E6OWOMI.js → cli-circuit-breaker-JE6XKLUG.js} +4 -4
  30. package/dist/cli.js +61 -56
  31. package/dist/cli.js.map +1 -1
  32. package/dist/{composite-router-FC3H7NKN.js → composite-router-KBOGB7GQ.js} +2 -2
  33. package/dist/{consensus-vote-6FKSINXV.js → consensus-vote-PIU3D3KP.js} +9 -9
  34. package/dist/{doctor-deep-X3YCUM4Q.js → doctor-deep-DGY2N4U2.js} +3 -3
  35. package/dist/{expert-bridge-R6FQWUHB.js → expert-bridge-5IPLSDJH.js} +3 -3
  36. package/dist/{expert-config-BTPAEZWV.js → expert-config-6X4225UC.js} +2 -2
  37. package/dist/{factory-BOXBN4ZS.js → factory-PSFI6WDI.js} +4 -4
  38. package/dist/{factory-7DJA2CIL.js → factory-ZTNGLNFH.js} +5 -5
  39. package/dist/index.d.ts +5 -0
  40. package/dist/index.js +21 -21
  41. package/dist/{issue-triage-DGDKQQTD.js → issue-triage-VOZNNCUG.js} +4 -4
  42. package/dist/{mcp-config-CHS2ZC42.js → mcp-config-PDH6LS6E.js} +3 -3
  43. package/dist/{mobimem-NO7I2Y4O.js → mobimem-7KQVPLAW.js} +2 -2
  44. package/dist/{registry-command-ZO75YQJG.js → registry-command-BS75IWSA.js} +2 -2
  45. package/dist/{repo-security-plan-BZ3WOIEZ.js → repo-security-plan-VZTTNXYJ.js} +3 -3
  46. package/dist/{research-helpers-synthesize-SH34FJIE.js → research-helpers-synthesize-B3C6BFCX.js} +3 -3
  47. package/dist/{routing-memory-SALB3DZI.js → routing-memory-BGK2HMC3.js} +2 -2
  48. package/dist/{session-memory-IOXXN6XA.js → session-memory-ESTZAPL2.js} +3 -3
  49. package/dist/{setup-command-UVJRDNRF.js → setup-command-F3NRMEDS.js} +9 -9
  50. package/dist/{setup-config-FYRXUWQH.js → setup-config-LG67TIFO.js} +3 -3
  51. package/dist/{setup-custom-api-VAFP4X43.js → setup-custom-api-4DZABP47.js} +4 -4
  52. package/dist/{weather-report-SBJRXFTW.js → weather-report-HUY35FUZ.js} +2 -2
  53. package/package.json +1 -1
  54. package/dist/chunk-FAUHVWYZ.js.map +0 -1
  55. package/dist/chunk-GJVHRJO2.js.map +0 -1
  56. package/dist/chunk-WZ7Z5VLZ.js.map +0 -1
  57. package/dist/chunk-ZC4KHPRL.js.map +0 -1
  58. /package/dist/{adaptive-memory-2UIPH67R.js.map → adaptive-memory-XD5O3TC4.js.map} +0 -0
  59. /package/dist/{chunk-NF5KOUKM.js.map → chunk-3BLWO2ZM.js.map} +0 -0
  60. /package/dist/{chunk-PB2EXTSV.js.map → chunk-3H44UAHW.js.map} +0 -0
  61. /package/dist/{chunk-KYRDQJLY.js.map → chunk-3K6O2OL5.js.map} +0 -0
  62. /package/dist/{chunk-EBFXDM3P.js.map → chunk-5CYDU2VX.js.map} +0 -0
  63. /package/dist/{chunk-QAOI6EIU.js.map → chunk-5HQJGYYM.js.map} +0 -0
  64. /package/dist/{chunk-FHFNOMNK.js.map → chunk-6MRF2PE2.js.map} +0 -0
  65. /package/dist/{chunk-RCQZMJBZ.js.map → chunk-CQXNX6BQ.js.map} +0 -0
  66. /package/dist/{chunk-CDWQP3UC.js.map → chunk-F2YQX6Q6.js.map} +0 -0
  67. /package/dist/{chunk-KLZHA5KA.js.map → chunk-GISQ3EJB.js.map} +0 -0
  68. /package/dist/{chunk-ORYMBSGF.js.map → chunk-LDLLFUM4.js.map} +0 -0
  69. /package/dist/{chunk-KVZNQWWI.js.map → chunk-O4AJGETH.js.map} +0 -0
  70. /package/dist/{chunk-ETZULQ7Z.js.map → chunk-P5NBYCEC.js.map} +0 -0
  71. /package/dist/{chunk-FTWGBV7S.js.map → chunk-R4FVXOZF.js.map} +0 -0
  72. /package/dist/{chunk-46S665SD.js.map → chunk-SUR2TLIG.js.map} +0 -0
  73. /package/dist/{chunk-I37IQ26H.js.map → chunk-TR74DSB4.js.map} +0 -0
  74. /package/dist/{chunk-PEDEZRPR.js.map → chunk-TSS7VN3V.js.map} +0 -0
  75. /package/dist/{chunk-MSFUOGN4.js.map → chunk-UFHFX2GX.js.map} +0 -0
  76. /package/dist/{chunk-UDKYZ7CS.js.map → chunk-VOBYREAG.js.map} +0 -0
  77. /package/dist/{chunk-UCQTXKTS.js.map → chunk-WDWKKJHZ.js.map} +0 -0
  78. /package/dist/{cli-circuit-breaker-5E6OWOMI.js.map → cli-circuit-breaker-JE6XKLUG.js.map} +0 -0
  79. /package/dist/{composite-router-FC3H7NKN.js.map → composite-router-KBOGB7GQ.js.map} +0 -0
  80. /package/dist/{consensus-vote-6FKSINXV.js.map → consensus-vote-PIU3D3KP.js.map} +0 -0
  81. /package/dist/{doctor-deep-X3YCUM4Q.js.map → doctor-deep-DGY2N4U2.js.map} +0 -0
  82. /package/dist/{expert-bridge-R6FQWUHB.js.map → expert-bridge-5IPLSDJH.js.map} +0 -0
  83. /package/dist/{expert-config-BTPAEZWV.js.map → expert-config-6X4225UC.js.map} +0 -0
  84. /package/dist/{factory-7DJA2CIL.js.map → factory-PSFI6WDI.js.map} +0 -0
  85. /package/dist/{factory-BOXBN4ZS.js.map → factory-ZTNGLNFH.js.map} +0 -0
  86. /package/dist/{issue-triage-DGDKQQTD.js.map → issue-triage-VOZNNCUG.js.map} +0 -0
  87. /package/dist/{mcp-config-CHS2ZC42.js.map → mcp-config-PDH6LS6E.js.map} +0 -0
  88. /package/dist/{mobimem-NO7I2Y4O.js.map → mobimem-7KQVPLAW.js.map} +0 -0
  89. /package/dist/{registry-command-ZO75YQJG.js.map → registry-command-BS75IWSA.js.map} +0 -0
  90. /package/dist/{repo-security-plan-BZ3WOIEZ.js.map → repo-security-plan-VZTTNXYJ.js.map} +0 -0
  91. /package/dist/{research-helpers-synthesize-SH34FJIE.js.map → research-helpers-synthesize-B3C6BFCX.js.map} +0 -0
  92. /package/dist/{routing-memory-SALB3DZI.js.map → routing-memory-BGK2HMC3.js.map} +0 -0
  93. /package/dist/{session-memory-IOXXN6XA.js.map → session-memory-ESTZAPL2.js.map} +0 -0
  94. /package/dist/{setup-command-UVJRDNRF.js.map → setup-command-F3NRMEDS.js.map} +0 -0
  95. /package/dist/{setup-config-FYRXUWQH.js.map → setup-config-LG67TIFO.js.map} +0 -0
  96. /package/dist/{setup-custom-api-VAFP4X43.js.map → setup-custom-api-4DZABP47.js.map} +0 -0
  97. /package/dist/{weather-report-SBJRXFTW.js.map → weather-report-HUY35FUZ.js.map} +0 -0
@@ -4,10 +4,10 @@ import {
4
4
  import {
5
5
  getTokenEnvVars,
6
6
  resolveToken
7
- } from "./chunk-UCQTXKTS.js";
7
+ } from "./chunk-WDWKKJHZ.js";
8
8
  import {
9
9
  executeExpert
10
- } from "./chunk-46S665SD.js";
10
+ } from "./chunk-SUR2TLIG.js";
11
11
  import {
12
12
  ClaudeAdapter,
13
13
  DEFAULT_RELEVANCE_CONFIG,
@@ -36,7 +36,7 @@ import {
36
36
  withAccessPolicy,
37
37
  withProgressHeartbeat,
38
38
  wrapToolWithTimeout
39
- } from "./chunk-PEDEZRPR.js";
39
+ } from "./chunk-TSS7VN3V.js";
40
40
  import {
41
41
  REGISTRY_PATH,
42
42
  getProjectRoot,
@@ -45,14 +45,14 @@ import {
45
45
  normalizeTopicToCanonical,
46
46
  savePapersRegistry,
47
47
  synthesizeResearch
48
- } from "./chunk-PB2EXTSV.js";
48
+ } from "./chunk-3H44UAHW.js";
49
49
  import {
50
50
  IssueTriage,
51
51
  sanitizeInput
52
- } from "./chunk-RCQZMJBZ.js";
52
+ } from "./chunk-CQXNX6BQ.js";
53
53
  import {
54
54
  generateSecurityPlan
55
- } from "./chunk-QAOI6EIU.js";
55
+ } from "./chunk-5HQJGYYM.js";
56
56
  import {
57
57
  analyzeGitHubRepo
58
58
  } from "./chunk-BC3M4VLP.js";
@@ -69,10 +69,10 @@ import {
69
69
  clampTaskTtl,
70
70
  getAvailabilityCache,
71
71
  resolveFallback
72
- } from "./chunk-KYRDQJLY.js";
72
+ } from "./chunk-3K6O2OL5.js";
73
73
  import {
74
74
  DEFAULTS
75
- } from "./chunk-FHFNOMNK.js";
75
+ } from "./chunk-6MRF2PE2.js";
76
76
  import {
77
77
  resolveInsideRoot
78
78
  } from "./chunk-NUBSJGQZ.js";
@@ -84,20 +84,20 @@ import {
84
84
  getAvailableClis,
85
85
  sleep,
86
86
  withTimeout
87
- } from "./chunk-ZC4KHPRL.js";
87
+ } from "./chunk-N36KDK3E.js";
88
88
  import {
89
89
  BUILT_IN_EXPERTS,
90
90
  BuiltInExpertTypeSchema,
91
91
  ExpertConfigSchema,
92
92
  getSecurityKnowledgePrompt
93
- } from "./chunk-GJVHRJO2.js";
93
+ } from "./chunk-O3CBMPGT.js";
94
94
  import {
95
95
  createSessionMemory
96
- } from "./chunk-I37IQ26H.js";
96
+ } from "./chunk-TR74DSB4.js";
97
97
  import {
98
98
  MemoryImportance,
99
99
  calculateTextJaccardSimilarity
100
- } from "./chunk-KVZNQWWI.js";
100
+ } from "./chunk-O4AJGETH.js";
101
101
  import {
102
102
  STOPWORDS,
103
103
  capitalize,
@@ -106,10 +106,10 @@ import {
106
106
  } from "./chunk-633WH2ML.js";
107
107
  import {
108
108
  generateMcpConfig
109
- } from "./chunk-FTWGBV7S.js";
109
+ } from "./chunk-R4FVXOZF.js";
110
110
  import {
111
111
  getFallbackChainForCategory
112
- } from "./chunk-CDWQP3UC.js";
112
+ } from "./chunk-F2YQX6Q6.js";
113
113
  import {
114
114
  AGENT_ROUTER_TIMEOUTS,
115
115
  API_TIMEOUTS,
@@ -174,7 +174,7 @@ import {
174
174
  ok,
175
175
  toExpertTaskAnalysisResult,
176
176
  withStep
177
- } from "./chunk-FAUHVWYZ.js";
177
+ } from "./chunk-NV63LTMM.js";
178
178
  import {
179
179
  nexusDataPath
180
180
  } from "./chunk-FDNWRZNJ.js";
@@ -11564,6 +11564,45 @@ var DEFAULT_EXPERTS = [
11564
11564
  secondaryDomains: ["security", "code"],
11565
11565
  weight: 1,
11566
11566
  available: true
11567
+ },
11568
+ // Three entries below were missing pre-#2341 even though `BuiltInExpertType`
11569
+ // listed them. `createDefaultRegistry()` consumers were silently missing
11570
+ // these experts. ExpertTaskDomain ('code'|'security'|'architecture'|
11571
+ // 'documentation'|'testing'|'infrastructure'|'general') doesn't include
11572
+ // research/qa/data-visualization as primary domains, so they map to the
11573
+ // closest fit ('general' / 'testing' / 'general').
11574
+ {
11575
+ id: "research-expert",
11576
+ role: "research_expert",
11577
+ name: "Research Expert",
11578
+ description: "Specialized in literature review, gap analysis, and technique extraction",
11579
+ capabilities: ["task_execution", "research", "collaboration"],
11580
+ primaryDomain: "general",
11581
+ secondaryDomains: ["documentation"],
11582
+ weight: 0.9,
11583
+ available: true
11584
+ },
11585
+ {
11586
+ id: "qa-expert",
11587
+ role: "qa_expert",
11588
+ name: "Quality Assurance Expert",
11589
+ description: "Specialized in review against requirements, regression checks, and standards compliance",
11590
+ capabilities: ["task_execution", "code_review", "tool_use"],
11591
+ primaryDomain: "testing",
11592
+ secondaryDomains: ["code", "security"],
11593
+ weight: 1,
11594
+ available: true
11595
+ },
11596
+ {
11597
+ id: "data-visualization-expert",
11598
+ role: "data_visualization_expert",
11599
+ name: "Data Visualization Expert",
11600
+ description: "Specialized in chart design, dashboards, and interactive visualizations",
11601
+ capabilities: ["task_execution", "code_generation", "collaboration"],
11602
+ primaryDomain: "general",
11603
+ secondaryDomains: ["documentation", "code"],
11604
+ weight: 0.9,
11605
+ available: true
11567
11606
  }
11568
11607
  ];
11569
11608
 
@@ -28183,8 +28222,30 @@ function logViolations(context, violations, mode) {
28183
28222
  }
28184
28223
  }
28185
28224
 
28186
- // src/pipeline/v2-delegate.ts
28225
+ // src/pipeline/task-contract-builders.ts
28187
28226
  import { randomUUID as randomUUID8 } from "crypto";
28227
+ function buildBaseTaskContract(input) {
28228
+ const now = Date.now();
28229
+ return {
28230
+ id: `${input.idPrefix}-${randomUUID8().slice(0, 8)}`,
28231
+ description: input.task,
28232
+ status: "approved",
28233
+ analysis: input.analysis,
28234
+ constraints: { scope: [] },
28235
+ requiredCapabilities: { tools: [], experts: [] },
28236
+ capabilityGaps: {
28237
+ available: { tools: [], experts: [] },
28238
+ gaps: [],
28239
+ allSatisfied: true
28240
+ },
28241
+ artifacts: [],
28242
+ metadata: { ...input.metadata },
28243
+ createdAt: now,
28244
+ updatedAt: now
28245
+ };
28246
+ }
28247
+
28248
+ // src/pipeline/v2-delegate.ts
28188
28249
  var logger21 = createLogger({ component: "V2Delegate" });
28189
28250
  function createDelegatePipeline(task) {
28190
28251
  const plan = buildPlan(task);
@@ -28192,7 +28253,6 @@ function createDelegatePipeline(task) {
28192
28253
  return runner.compile(plan);
28193
28254
  }
28194
28255
  function delegateInputToTaskContract(input) {
28195
- const now = Date.now();
28196
28256
  const metadata = { source: "delegate_to_model" };
28197
28257
  if (input.preferred_capability !== void 0) {
28198
28258
  metadata["preferredCapability"] = input.preferred_capability;
@@ -28206,27 +28266,12 @@ function delegateInputToTaskContract(input) {
28206
28266
  if (input.estimate_tokens === true) {
28207
28267
  metadata["estimateTokens"] = true;
28208
28268
  }
28209
- return {
28210
- id: `delegate-${randomUUID8().slice(0, 8)}`,
28211
- description: input.task,
28212
- status: "approved",
28213
- analysis: {
28214
- complexity: "moderate",
28215
- taskType: "routing",
28216
- ambiguityScore: 0.1
28217
- },
28218
- constraints: { scope: [] },
28219
- requiredCapabilities: { tools: [], experts: [] },
28220
- capabilityGaps: {
28221
- available: { tools: [], experts: [] },
28222
- gaps: [],
28223
- allSatisfied: true
28224
- },
28225
- artifacts: [],
28226
- metadata,
28227
- createdAt: now,
28228
- updatedAt: now
28229
- };
28269
+ return buildBaseTaskContract({
28270
+ idPrefix: "delegate",
28271
+ task: input.task,
28272
+ analysis: { complexity: "moderate", taskType: "routing", ambiguityScore: 0.1 },
28273
+ metadata
28274
+ });
28230
28275
  }
28231
28276
  async function executeDelegatePipeline(task) {
28232
28277
  const policyResult = checkPipelinePolicy(task, "route");
@@ -28320,25 +28365,16 @@ function buildPlan(task) {
28320
28365
  }
28321
28366
 
28322
28367
  // src/pipeline/v2-orchestrate.ts
28323
- import { randomUUID as randomUUID9 } from "crypto";
28324
28368
  function orchestrateInputToTaskContract(input) {
28325
- const now = Date.now();
28326
28369
  const metadata = { source: "orchestrate" };
28327
28370
  if (input.context !== void 0) metadata["context"] = input.context;
28328
28371
  if (input.maxIterations !== void 0) metadata["maxIterations"] = input.maxIterations;
28329
- return {
28330
- id: `orchestrate-${randomUUID9().slice(0, 8)}`,
28331
- description: input.task,
28332
- status: "approved",
28372
+ return buildBaseTaskContract({
28373
+ idPrefix: "orchestrate",
28374
+ task: input.task,
28333
28375
  analysis: { complexity: "high", taskType: "orchestration", ambiguityScore: 0.3 },
28334
- constraints: { scope: [] },
28335
- requiredCapabilities: { tools: [], experts: [] },
28336
- capabilityGaps: { available: { tools: [], experts: [] }, gaps: [], allSatisfied: true },
28337
- artifacts: [],
28338
- metadata,
28339
- createdAt: now,
28340
- updatedAt: now
28341
- };
28376
+ metadata
28377
+ });
28342
28378
  }
28343
28379
  async function executeOrchestratePipeline(task) {
28344
28380
  const policyResult = checkPipelinePolicy(task, "execute");
@@ -28375,7 +28411,7 @@ async function executeOrchestratePipeline(task) {
28375
28411
  }
28376
28412
 
28377
28413
  // src/orchestration/orchestrator-factory.ts
28378
- import { randomUUID as randomUUID10 } from "crypto";
28414
+ import { randomUUID as randomUUID9 } from "crypto";
28379
28415
 
28380
28416
  // src/orchestration/orchestrator-adapters.ts
28381
28417
  function generateId2(prefix) {
@@ -28574,7 +28610,7 @@ var WorkflowOrchestratorAdapter = class {
28574
28610
  executions = /* @__PURE__ */ new Map();
28575
28611
  history = [];
28576
28612
  constructor(engine, logger56) {
28577
- this.id = `workflow-${randomUUID10().slice(0, 8)}`;
28613
+ this.id = `workflow-${randomUUID9().slice(0, 8)}`;
28578
28614
  this.engine = engine;
28579
28615
  this.logger = logger56 ?? createLogger({ component: "WorkflowOrchestratorAdapter" });
28580
28616
  }
@@ -28587,7 +28623,7 @@ var WorkflowOrchestratorAdapter = class {
28587
28623
  )
28588
28624
  );
28589
28625
  }
28590
- const executionId = randomUUID10();
28626
+ const executionId = randomUUID9();
28591
28627
  const startTime = getTimeProvider().now();
28592
28628
  this.setRunning(executionId);
28593
28629
  try {
@@ -41223,7 +41259,7 @@ async function tryIssueTriage(task) {
41223
41259
  try {
41224
41260
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
41225
41261
  if (issueMatch === null) return null;
41226
- const { createIssueTriage } = await import("./issue-triage-DGDKQQTD.js");
41262
+ const { createIssueTriage } = await import("./issue-triage-VOZNNCUG.js");
41227
41263
  const triage = createIssueTriage();
41228
41264
  const owner = issueMatch[1] ?? "";
41229
41265
  const num = issueMatch[2] ?? "";
@@ -41251,7 +41287,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
41251
41287
  ]);
41252
41288
  async function classifyWithLLM(task) {
41253
41289
  try {
41254
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-R6FQWUHB.js");
41290
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-5IPLSDJH.js");
41255
41291
  const prompt = [
41256
41292
  "Classify this task into exactly one pipeline template.",
41257
41293
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -42045,7 +42081,7 @@ var memoryInitPromise = null;
42045
42081
  async function initPipelineMemory() {
42046
42082
  if (cachedMemory !== null) return cachedMemory;
42047
42083
  try {
42048
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-IOXXN6XA.js");
42084
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ESTZAPL2.js");
42049
42085
  const { getLearningDir } = await import("./learning-persistence-FILWP3IR.js");
42050
42086
  const mem = createSessionMemory2(getLearningDir());
42051
42087
  mem.startSession(`pipeline-${String(Date.now())}`);
@@ -42097,7 +42133,7 @@ async function persistMobiMemState() {
42097
42133
  const { isPersistenceEnabled } = await import("./learning-persistence-FILWP3IR.js");
42098
42134
  if (!isPersistenceEnabled()) return;
42099
42135
  const { nexusDataPath: nexusDataPath2 } = await import("./nexus-data-dir-M6DYKIHJ.js");
42100
- const { createMobiMem } = await import("./mobimem-NO7I2Y4O.js");
42136
+ const { createMobiMem } = await import("./mobimem-7KQVPLAW.js");
42101
42137
  const mobimem = createMobiMem();
42102
42138
  const savePath = nexusDataPath2("memory", "mobimem-state.json");
42103
42139
  await mobimem.save(savePath);
@@ -42114,7 +42150,7 @@ function recordRoutingExperience(category, success, durationMs) {
42114
42150
  callRecord(routingMemoryCache);
42115
42151
  return;
42116
42152
  }
42117
- void import("./routing-memory-SALB3DZI.js").then(({ createRoutingMemory }) => {
42153
+ void import("./routing-memory-BGK2HMC3.js").then(({ createRoutingMemory }) => {
42118
42154
  routingMemoryCache = createRoutingMemory();
42119
42155
  callRecord(routingMemoryCache);
42120
42156
  }).catch((error) => {
@@ -42143,7 +42179,7 @@ ${text}` : "";
42143
42179
  }
42144
42180
  async function getWeatherContext() {
42145
42181
  try {
42146
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-SBJRXFTW.js");
42182
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-HUY35FUZ.js");
42147
42183
  const report = generateWeatherReport2({ includeAdaptive: true });
42148
42184
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
42149
42185
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -42160,7 +42196,7 @@ ${lines}
42160
42196
  }
42161
42197
  async function getMemoryContext(task) {
42162
42198
  try {
42163
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-IOXXN6XA.js");
42199
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-ESTZAPL2.js");
42164
42200
  const { getLearningDir } = await import("./learning-persistence-FILWP3IR.js");
42165
42201
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
42166
42202
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -42253,7 +42289,7 @@ ${contextBlock}`;
42253
42289
  const strategy = config.votingStrategy ?? "higher_order";
42254
42290
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
42255
42291
  try {
42256
- const { executeVoting } = await import("./consensus-vote-6FKSINXV.js");
42292
+ const { executeVoting } = await import("./consensus-vote-PIU3D3KP.js");
42257
42293
  const votingResult = await executeVoting(
42258
42294
  {
42259
42295
  proposal: plan.slice(0, 4e3),
@@ -43118,7 +43154,7 @@ async function extractSymbolsForTask(task) {
43118
43154
  }
43119
43155
  async function retrieveAdaptiveMemory(task) {
43120
43156
  try {
43121
- const { AdaptiveMemoryBackend } = await import("./adaptive-memory-2UIPH67R.js");
43157
+ const { AdaptiveMemoryBackend } = await import("./adaptive-memory-XD5O3TC4.js");
43122
43158
  const path19 = await import("path");
43123
43159
  const { nexusDataPath: nexusDataPath2 } = await import("./nexus-data-dir-M6DYKIHJ.js");
43124
43160
  const baseDir = nexusDataPath2("memory");
@@ -43137,7 +43173,7 @@ async function retrieveAdaptiveMemory(task) {
43137
43173
  }
43138
43174
  async function queryResearchRegistry(task) {
43139
43175
  try {
43140
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-SH34FJIE.js");
43176
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-B3C6BFCX.js");
43141
43177
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43142
43178
  if (topic === void 0) return null;
43143
43179
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43222,7 +43258,7 @@ function createScanStageWrapper() {
43222
43258
  try {
43223
43259
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43224
43260
  if (slug !== void 0) {
43225
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-BZ3WOIEZ.js");
43261
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-VZTTNXYJ.js");
43226
43262
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43227
43263
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43228
43264
  ctx.sharedMemory.write("scan", "decision", { recommendations: recs });
@@ -43738,37 +43774,42 @@ function selectStageRegistry(template, task, agentStages) {
43738
43774
  }
43739
43775
  return createDevStageRegistry(agentStages);
43740
43776
  }
43777
+ var RUN_PIPELINE_DESCRIPTION = "Single unified entry point for all pipeline templates (dev/research/audit/greenfield). Auto-detects template from task content or accepts an explicit override.";
43741
43778
  function registerPipelineTool(server, _deps) {
43742
- server.tool("run_pipeline", PipelineInputSchema.shape, async (args) => {
43743
- const input = PipelineInputSchema.parse(args);
43744
- if (input.simulateVotes) {
43745
- warnIfSimulatedOutsideTests("run_pipeline", createLogger({ tool: "run_pipeline" }));
43746
- }
43747
- try {
43748
- const task = resolveTask(input.task, input.specFile);
43749
- const agentStages = createAgentStages({
43750
- simulateVotes: input.simulateVotes,
43751
- votingStrategy: input.votingStrategy,
43752
- quickMode: input.quickMode
43753
- });
43754
- const stages = selectStageRegistry(input.template, task, agentStages);
43755
- const result = await runAdaptiveOrchestrator(task, {
43756
- stages,
43757
- templateId: input.template,
43758
- dryRun: input.dryRun
43759
- });
43760
- const structured = buildOutput2(result);
43761
- return {
43762
- content: [{ type: "text", text: JSON.stringify(structured, null, 2) }],
43763
- structuredContent: structured
43764
- };
43765
- } catch (error) {
43766
- return {
43767
- content: [{ type: "text", text: `Pipeline error: ${getErrorMessage(error)}` }],
43768
- isError: true
43769
- };
43779
+ server.registerTool(
43780
+ "run_pipeline",
43781
+ { description: RUN_PIPELINE_DESCRIPTION, inputSchema: PipelineInputSchema.shape },
43782
+ async (args) => {
43783
+ const input = PipelineInputSchema.parse(args);
43784
+ if (input.simulateVotes) {
43785
+ warnIfSimulatedOutsideTests("run_pipeline", createLogger({ tool: "run_pipeline" }));
43786
+ }
43787
+ try {
43788
+ const task = resolveTask(input.task, input.specFile);
43789
+ const agentStages = createAgentStages({
43790
+ simulateVotes: input.simulateVotes,
43791
+ votingStrategy: input.votingStrategy,
43792
+ quickMode: input.quickMode
43793
+ });
43794
+ const stages = selectStageRegistry(input.template, task, agentStages);
43795
+ const result = await runAdaptiveOrchestrator(task, {
43796
+ stages,
43797
+ templateId: input.template,
43798
+ dryRun: input.dryRun
43799
+ });
43800
+ const structured = buildOutput2(result);
43801
+ return {
43802
+ content: [{ type: "text", text: JSON.stringify(structured, null, 2) }],
43803
+ structuredContent: structured
43804
+ };
43805
+ } catch (error) {
43806
+ return {
43807
+ content: [{ type: "text", text: `Pipeline error: ${getErrorMessage(error)}` }],
43808
+ isError: true
43809
+ };
43810
+ }
43770
43811
  }
43771
- });
43812
+ );
43772
43813
  }
43773
43814
 
43774
43815
  // src/mcp/tools/supply-chain-tradeoff-panel.ts
@@ -45758,7 +45799,7 @@ var FeedbackCollectorConfigSchema = z103.object({
45758
45799
  });
45759
45800
 
45760
45801
  // src/learning/outcome-feedback-helpers.ts
45761
- import { randomUUID as randomUUID11 } from "crypto";
45802
+ import { randomUUID as randomUUID10 } from "crypto";
45762
45803
  function countOutcomesByClass(outcomes) {
45763
45804
  const counts = {
45764
45805
  success: 0,
@@ -45811,7 +45852,7 @@ function generateRewardExplanation(outcome, reward) {
45811
45852
  }
45812
45853
  function createRoutingDecision(params) {
45813
45854
  return {
45814
- id: randomUUID11(),
45855
+ id: randomUUID10(),
45815
45856
  timestamp: getTimeProvider().nowIso(),
45816
45857
  ...params
45817
45858
  };
@@ -46067,7 +46108,7 @@ var DEFAULT_FEEDBACK_INTEGRATION_CONFIG = {
46067
46108
  };
46068
46109
 
46069
46110
  // src/learning/feedback-integration.ts
46070
- import { randomUUID as randomUUID12 } from "crypto";
46111
+ import { randomUUID as randomUUID11 } from "crypto";
46071
46112
  var STEP_QUALITY_SCORING = {
46072
46113
  /** Base score for successful steps. */
46073
46114
  successBase: 0.8,
@@ -46143,8 +46184,8 @@ var FeedbackIntegration = class {
46143
46184
  });
46144
46185
  }
46145
46186
  recordRoutingDecision(decision, traceId) {
46146
- const id = randomUUID12();
46147
- const trace = traceId ?? randomUUID12();
46187
+ const id = randomUUID11();
46188
+ const trace = traceId ?? randomUUID11();
46148
46189
  const now = getTimeProvider().now();
46149
46190
  this.evictStaleEntriesThrottled(now);
46150
46191
  if (this.decisionMap.size >= MAX_DECISION_MAP_SIZE) {
@@ -46217,7 +46258,7 @@ var FeedbackIntegration = class {
46217
46258
  } = params;
46218
46259
  const outcomeClass = this.determineOutcomeClass(success, qualityScore);
46219
46260
  const completionRatio = success ? 1 : qualityScore / this.config.successQualityThreshold;
46220
- const trace = traceId ?? randomUUID12();
46261
+ const trace = traceId ?? randomUUID11();
46221
46262
  const outcome = {
46222
46263
  routingDecisionId,
46223
46264
  timestamp: getTimeProvider().nowIso(),
@@ -52839,7 +52880,7 @@ var GitHubTaskTracker = class {
52839
52880
  cachedProvider = null;
52840
52881
  async getProvider() {
52841
52882
  if (this.cachedProvider !== null) return this.cachedProvider;
52842
- const { createScmProvider } = await import("./factory-7DJA2CIL.js");
52883
+ const { createScmProvider } = await import("./factory-ZTNGLNFH.js");
52843
52884
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
52844
52885
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
52845
52886
  this.cachedProvider = result.value;
@@ -53662,4 +53703,4 @@ export {
53662
53703
  detectBackend,
53663
53704
  createTaskTracker
53664
53705
  };
53665
- //# sourceMappingURL=chunk-WZ7Z5VLZ.js.map
53706
+ //# sourceMappingURL=chunk-LQPW7LIC.js.map