nexus-agents 3.12.0 → 3.13.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 (122) hide show
  1. package/dist/{child-mcp-config-63B5ZK2U.js → child-mcp-config-5SWBEZPD.js} +2 -2
  2. package/dist/{chunk-CV7VZTOP.js → chunk-2ZVGB7AJ.js} +2 -2
  3. package/dist/{chunk-JR346MM4.js → chunk-3W7ST3AB.js} +2 -2
  4. package/dist/{chunk-LRQHJ4E3.js → chunk-5HGMO3W3.js} +5 -5
  5. package/dist/{chunk-GXATLSZX.js → chunk-5TE3ORD5.js} +2 -2
  6. package/dist/{chunk-X6XZRVXL.js → chunk-5XTQIBA3.js} +5 -5
  7. package/dist/{chunk-XLBLVP35.js → chunk-6BTRY45Y.js} +66 -55
  8. package/dist/{chunk-XLBLVP35.js.map → chunk-6BTRY45Y.js.map} +1 -1
  9. package/dist/{chunk-ENULFHFF.js → chunk-6GKG5U5Y.js} +2 -2
  10. package/dist/{chunk-RXNSNTTE.js → chunk-7WIBQZR6.js} +3 -3
  11. package/dist/{chunk-RAMWS524.js → chunk-ABU3SZXU.js} +8 -8
  12. package/dist/{chunk-227ICA6P.js → chunk-AV3NVATT.js} +3 -3
  13. package/dist/{chunk-ENFMX6RD.js → chunk-BMLBXCC3.js} +2 -2
  14. package/dist/{chunk-NPCX34QE.js → chunk-C4BSQH3A.js} +4 -4
  15. package/dist/{chunk-FLFPY5PG.js → chunk-CDWKQ5FV.js} +2 -2
  16. package/dist/{chunk-T33KZOQK.js → chunk-CODRIZMT.js} +2 -2
  17. package/dist/{chunk-E6HJPAEQ.js → chunk-D34SUVBO.js} +4 -4
  18. package/dist/{chunk-7XFZXFXZ.js → chunk-EQDV4YIW.js} +6 -64
  19. package/dist/{chunk-7XFZXFXZ.js.map → chunk-EQDV4YIW.js.map} +1 -1
  20. package/dist/{chunk-RQWS5CIU.js → chunk-ERHCCLT7.js} +8 -8
  21. package/dist/{chunk-3NYMGWW7.js → chunk-FWBR5P72.js} +2 -2
  22. package/dist/{chunk-WITM2CRW.js → chunk-GSRW2H3C.js} +2 -2
  23. package/dist/{chunk-NLWMLSFQ.js → chunk-HVFUWGGB.js} +3 -3
  24. package/dist/{chunk-FGVOWASM.js → chunk-J75ZZ3HI.js} +5 -5
  25. package/dist/{chunk-NQ2CKBFI.js → chunk-JHL7JLRJ.js} +2 -2
  26. package/dist/{chunk-OWYVY7W5.js → chunk-JJAEGFPS.js} +2 -2
  27. package/dist/{chunk-OATAIRGV.js → chunk-KHYSK52P.js} +2 -2
  28. package/dist/{chunk-3VZWKZ5Q.js → chunk-KTYTESEV.js} +4 -4
  29. package/dist/chunk-KTYTESEV.js.map +1 -0
  30. package/dist/{chunk-F3CFOOM6.js → chunk-LI5RF3H7.js} +2 -2
  31. package/dist/{chunk-RPZ3Y7OI.js → chunk-NGQC5KIB.js} +8 -8
  32. package/dist/{chunk-TSZTJORP.js → chunk-OJPYOK4V.js} +3 -3
  33. package/dist/{chunk-GPHU4GGE.js → chunk-PAJXMEHU.js} +2 -2
  34. package/dist/{chunk-3P6G3HQA.js → chunk-RGR22IN6.js} +4 -4
  35. package/dist/{chunk-KMFVYD3M.js → chunk-TPU5DT74.js} +7 -7
  36. package/dist/{chunk-YB5J4FWI.js → chunk-VJ2LZ2ZM.js} +2 -2
  37. package/dist/{chunk-TRR7642Q.js → chunk-XXOE3OHH.js} +2 -2
  38. package/dist/{cli-circuit-breaker-XJM5D7GG.js → cli-circuit-breaker-WKUYRX5M.js} +3 -3
  39. package/dist/cli.js +41 -41
  40. package/dist/{composite-router-C7V5QT5S.js → composite-router-SKXMG4DA.js} +2 -2
  41. package/dist/{consensus-vote-IAURVUZM.js → consensus-vote-FGB637PZ.js} +16 -16
  42. package/dist/{context-retriever-FSV4WUJO.js → context-retriever-NK6O77TT.js} +8 -8
  43. package/dist/{doctor-deep-RN5FVTWK.js → doctor-deep-EJAW6SI5.js} +3 -3
  44. package/dist/{doctor-live-LCR7WY72.js → doctor-live-26YJA5Z4.js} +9 -9
  45. package/dist/{expert-bridge-ZGYSKIPE.js → expert-bridge-PNXWIDQV.js} +4 -4
  46. package/dist/{factory-DOLFKNUU.js → factory-KVIEFTAC.js} +5 -5
  47. package/dist/{factory-6V2FHFQ4.js → factory-MXWNULXD.js} +9 -9
  48. package/dist/{improvement-review-PVYQNV2O.js → improvement-review-HKJNXMZM.js} +5 -5
  49. package/dist/index.d.ts +14 -0
  50. package/dist/index.js +30 -30
  51. package/dist/{init-opencode-4M2SDXVS.js → init-opencode-7IU4SWTC.js} +6 -6
  52. package/dist/issue-triage-EKFJQZFJ.js +17 -0
  53. package/dist/{pr-reviewer-helpers-6Q63TX3W.js → pr-reviewer-helpers-SUMMYYF7.js} +4 -4
  54. package/dist/{registry-command-YR52T2XU.js → registry-command-XFH3M634.js} +2 -2
  55. package/dist/{repo-security-plan-XB4D56AF.js → repo-security-plan-RCYKT5GS.js} +3 -3
  56. package/dist/{research-helpers-synthesize-O4PADVTR.js → research-helpers-synthesize-BVJB4HW5.js} +4 -4
  57. package/dist/{routing-memory-7BJ4KTSH.js → routing-memory-AR4YR2RL.js} +2 -2
  58. package/dist/{session-memory-42EQPQ7Y.js → session-memory-UYJU63EG.js} +3 -3
  59. package/dist/{setup-command-ATPY3JCV.js → setup-command-GCDDJMCC.js} +14 -14
  60. package/dist/{setup-config-EF6WPHVK.js → setup-config-XZMHAOMR.js} +3 -3
  61. package/dist/{setup-custom-api-FZ7CUDQN.js → setup-custom-api-BWX47BKD.js} +4 -4
  62. package/dist/{tool-memory-EDHPYAE3.js → tool-memory-DB3YDR5W.js} +5 -5
  63. package/dist/{unified-registry-QZPQF3ZC.js → unified-registry-XSY5XAIZ.js} +10 -10
  64. package/dist/{weather-report-RS2IWF7C.js → weather-report-C2P6NHTX.js} +2 -2
  65. package/package.json +1 -1
  66. package/dist/chunk-3VZWKZ5Q.js.map +0 -1
  67. package/dist/issue-triage-QQXQQAE7.js +0 -19
  68. /package/dist/{child-mcp-config-63B5ZK2U.js.map → child-mcp-config-5SWBEZPD.js.map} +0 -0
  69. /package/dist/{chunk-CV7VZTOP.js.map → chunk-2ZVGB7AJ.js.map} +0 -0
  70. /package/dist/{chunk-JR346MM4.js.map → chunk-3W7ST3AB.js.map} +0 -0
  71. /package/dist/{chunk-LRQHJ4E3.js.map → chunk-5HGMO3W3.js.map} +0 -0
  72. /package/dist/{chunk-GXATLSZX.js.map → chunk-5TE3ORD5.js.map} +0 -0
  73. /package/dist/{chunk-X6XZRVXL.js.map → chunk-5XTQIBA3.js.map} +0 -0
  74. /package/dist/{chunk-ENULFHFF.js.map → chunk-6GKG5U5Y.js.map} +0 -0
  75. /package/dist/{chunk-RXNSNTTE.js.map → chunk-7WIBQZR6.js.map} +0 -0
  76. /package/dist/{chunk-RAMWS524.js.map → chunk-ABU3SZXU.js.map} +0 -0
  77. /package/dist/{chunk-227ICA6P.js.map → chunk-AV3NVATT.js.map} +0 -0
  78. /package/dist/{chunk-ENFMX6RD.js.map → chunk-BMLBXCC3.js.map} +0 -0
  79. /package/dist/{chunk-NPCX34QE.js.map → chunk-C4BSQH3A.js.map} +0 -0
  80. /package/dist/{chunk-FLFPY5PG.js.map → chunk-CDWKQ5FV.js.map} +0 -0
  81. /package/dist/{chunk-T33KZOQK.js.map → chunk-CODRIZMT.js.map} +0 -0
  82. /package/dist/{chunk-E6HJPAEQ.js.map → chunk-D34SUVBO.js.map} +0 -0
  83. /package/dist/{chunk-RQWS5CIU.js.map → chunk-ERHCCLT7.js.map} +0 -0
  84. /package/dist/{chunk-3NYMGWW7.js.map → chunk-FWBR5P72.js.map} +0 -0
  85. /package/dist/{chunk-WITM2CRW.js.map → chunk-GSRW2H3C.js.map} +0 -0
  86. /package/dist/{chunk-NLWMLSFQ.js.map → chunk-HVFUWGGB.js.map} +0 -0
  87. /package/dist/{chunk-FGVOWASM.js.map → chunk-J75ZZ3HI.js.map} +0 -0
  88. /package/dist/{chunk-NQ2CKBFI.js.map → chunk-JHL7JLRJ.js.map} +0 -0
  89. /package/dist/{chunk-OWYVY7W5.js.map → chunk-JJAEGFPS.js.map} +0 -0
  90. /package/dist/{chunk-OATAIRGV.js.map → chunk-KHYSK52P.js.map} +0 -0
  91. /package/dist/{chunk-F3CFOOM6.js.map → chunk-LI5RF3H7.js.map} +0 -0
  92. /package/dist/{chunk-RPZ3Y7OI.js.map → chunk-NGQC5KIB.js.map} +0 -0
  93. /package/dist/{chunk-TSZTJORP.js.map → chunk-OJPYOK4V.js.map} +0 -0
  94. /package/dist/{chunk-GPHU4GGE.js.map → chunk-PAJXMEHU.js.map} +0 -0
  95. /package/dist/{chunk-3P6G3HQA.js.map → chunk-RGR22IN6.js.map} +0 -0
  96. /package/dist/{chunk-KMFVYD3M.js.map → chunk-TPU5DT74.js.map} +0 -0
  97. /package/dist/{chunk-YB5J4FWI.js.map → chunk-VJ2LZ2ZM.js.map} +0 -0
  98. /package/dist/{chunk-TRR7642Q.js.map → chunk-XXOE3OHH.js.map} +0 -0
  99. /package/dist/{cli-circuit-breaker-XJM5D7GG.js.map → cli-circuit-breaker-WKUYRX5M.js.map} +0 -0
  100. /package/dist/{composite-router-C7V5QT5S.js.map → composite-router-SKXMG4DA.js.map} +0 -0
  101. /package/dist/{consensus-vote-IAURVUZM.js.map → consensus-vote-FGB637PZ.js.map} +0 -0
  102. /package/dist/{context-retriever-FSV4WUJO.js.map → context-retriever-NK6O77TT.js.map} +0 -0
  103. /package/dist/{doctor-deep-RN5FVTWK.js.map → doctor-deep-EJAW6SI5.js.map} +0 -0
  104. /package/dist/{doctor-live-LCR7WY72.js.map → doctor-live-26YJA5Z4.js.map} +0 -0
  105. /package/dist/{expert-bridge-ZGYSKIPE.js.map → expert-bridge-PNXWIDQV.js.map} +0 -0
  106. /package/dist/{factory-6V2FHFQ4.js.map → factory-KVIEFTAC.js.map} +0 -0
  107. /package/dist/{factory-DOLFKNUU.js.map → factory-MXWNULXD.js.map} +0 -0
  108. /package/dist/{improvement-review-PVYQNV2O.js.map → improvement-review-HKJNXMZM.js.map} +0 -0
  109. /package/dist/{init-opencode-4M2SDXVS.js.map → init-opencode-7IU4SWTC.js.map} +0 -0
  110. /package/dist/{issue-triage-QQXQQAE7.js.map → issue-triage-EKFJQZFJ.js.map} +0 -0
  111. /package/dist/{pr-reviewer-helpers-6Q63TX3W.js.map → pr-reviewer-helpers-SUMMYYF7.js.map} +0 -0
  112. /package/dist/{registry-command-YR52T2XU.js.map → registry-command-XFH3M634.js.map} +0 -0
  113. /package/dist/{repo-security-plan-XB4D56AF.js.map → repo-security-plan-RCYKT5GS.js.map} +0 -0
  114. /package/dist/{research-helpers-synthesize-O4PADVTR.js.map → research-helpers-synthesize-BVJB4HW5.js.map} +0 -0
  115. /package/dist/{routing-memory-7BJ4KTSH.js.map → routing-memory-AR4YR2RL.js.map} +0 -0
  116. /package/dist/{session-memory-42EQPQ7Y.js.map → session-memory-UYJU63EG.js.map} +0 -0
  117. /package/dist/{setup-command-ATPY3JCV.js.map → setup-command-GCDDJMCC.js.map} +0 -0
  118. /package/dist/{setup-config-EF6WPHVK.js.map → setup-config-XZMHAOMR.js.map} +0 -0
  119. /package/dist/{setup-custom-api-FZ7CUDQN.js.map → setup-custom-api-BWX47BKD.js.map} +0 -0
  120. /package/dist/{tool-memory-EDHPYAE3.js.map → tool-memory-DB3YDR5W.js.map} +0 -0
  121. /package/dist/{unified-registry-QZPQF3ZC.js.map → unified-registry-XSY5XAIZ.js.map} +0 -0
  122. /package/dist/{weather-report-RS2IWF7C.js.map → weather-report-C2P6NHTX.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-SNJNRDKZ.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-3VZWKZ5Q.js";
6
+ } from "./chunk-KTYTESEV.js";
7
7
  import "./chunk-2HUC6NZN.js";
8
8
  import "./chunk-OQLFRJCW.js";
9
9
  import "./chunk-ZPWHCABL.js";
@@ -62,4 +62,4 @@ export {
62
62
  generateMcpConfig,
63
63
  getDefaultAllowedTools
64
64
  };
65
- //# sourceMappingURL=child-mcp-config-63B5ZK2U.js.map
65
+ //# sourceMappingURL=child-mcp-config-5SWBEZPD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDefaultRegistry
3
- } from "./chunk-3VZWKZ5Q.js";
3
+ } from "./chunk-KTYTESEV.js";
4
4
  import {
5
5
  getNexusDataDir
6
6
  } from "./chunk-OQLFRJCW.js";
@@ -128,4 +128,4 @@ export {
128
128
  loadUsageEvents,
129
129
  rollupByModel
130
130
  };
131
- //# sourceMappingURL=chunk-CV7VZTOP.js.map
131
+ //# sourceMappingURL=chunk-2ZVGB7AJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  createLogger,
4
4
  err,
5
5
  ok
6
- } from "./chunk-3VZWKZ5Q.js";
6
+ } from "./chunk-KTYTESEV.js";
7
7
 
8
8
  // src/adapters/sdk/types.ts
9
9
  var PROVIDER_ENV_KEYS = {
@@ -169,4 +169,4 @@ export {
169
169
  validateCustomApiBaseUrl,
170
170
  assertCustomApiHostResolvesPublic
171
171
  };
172
- //# sourceMappingURL=chunk-JR346MM4.js.map
172
+ //# sourceMappingURL=chunk-3W7ST3AB.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  recordUsageEvent
4
- } from "./chunk-CV7VZTOP.js";
4
+ } from "./chunk-2ZVGB7AJ.js";
5
5
  import {
6
6
  BaseAdapter,
7
7
  createStream,
8
8
  planOptionalParams,
9
9
  requireApiKey,
10
10
  validateApiKeyPresence
11
- } from "./chunk-GXATLSZX.js";
11
+ } from "./chunk-5TE3ORD5.js";
12
12
  import {
13
13
  assertCustomApiHostResolvesPublic
14
- } from "./chunk-JR346MM4.js";
14
+ } from "./chunk-3W7ST3AB.js";
15
15
  import {
16
16
  ConfigError,
17
17
  ModelCapability,
@@ -22,7 +22,7 @@ import {
22
22
  getTimeProvider,
23
23
  getTokenEstimator,
24
24
  ok
25
- } from "./chunk-3VZWKZ5Q.js";
25
+ } from "./chunk-KTYTESEV.js";
26
26
 
27
27
  // src/adapters/openai-types.ts
28
28
  var OPENAI_MODELS = {
@@ -831,4 +831,4 @@ export {
831
831
  discoverModels,
832
832
  buildOpenAICompatAdapters
833
833
  };
834
- //# sourceMappingURL=chunk-LRQHJ4E3.js.map
834
+ //# sourceMappingURL=chunk-5HGMO3W3.js.map
@@ -13,7 +13,7 @@ import {
13
13
  lookupInTreeCapability,
14
14
  ok,
15
15
  resolveRetryAfterMs
16
- } from "./chunk-3VZWKZ5Q.js";
16
+ } from "./chunk-KTYTESEV.js";
17
17
 
18
18
  // src/config/model-parameter-support.ts
19
19
  function parseClaudeMajorMinor(bareId) {
@@ -834,4 +834,4 @@ export {
834
834
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
835
835
  collectStream
836
836
  };
837
- //# sourceMappingURL=chunk-GXATLSZX.js.map
837
+ //# sourceMappingURL=chunk-5TE3ORD5.js.map
@@ -4,16 +4,16 @@ import {
4
4
  loadPapersRegistry,
5
5
  loadTechniquesRegistry,
6
6
  savePapersRegistry
7
- } from "./chunk-OATAIRGV.js";
7
+ } from "./chunk-KHYSK52P.js";
8
8
  import {
9
9
  resolveInsideRoot
10
10
  } from "./chunk-NUBSJGQZ.js";
11
11
  import {
12
12
  resolveToken
13
- } from "./chunk-F3CFOOM6.js";
13
+ } from "./chunk-LI5RF3H7.js";
14
14
  import {
15
15
  getToolMemory
16
- } from "./chunk-NPCX34QE.js";
16
+ } from "./chunk-C4BSQH3A.js";
17
17
  import {
18
18
  capitalizeWords,
19
19
  truncateSentence
@@ -38,7 +38,7 @@ import {
38
38
  getTimeProvider,
39
39
  ok,
40
40
  registerPersistentDistillerFactory
41
- } from "./chunk-3VZWKZ5Q.js";
41
+ } from "./chunk-KTYTESEV.js";
42
42
  import {
43
43
  ensureLearningDir,
44
44
  getRulesFile
@@ -4090,4 +4090,4 @@ export {
4090
4090
  DEFAULT_CONTEXT_BUDGET_TOKENS,
4091
4091
  getContextPromptPrefix
4092
4092
  };
4093
- //# sourceMappingURL=chunk-X6XZRVXL.js.map
4093
+ //# sourceMappingURL=chunk-5XTQIBA3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-FLFPY5PG.js";
3
+ } from "./chunk-CDWKQ5FV.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -22,10 +22,10 @@ import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  DEFAULT_TOOL_RATE_LIMITS,
24
24
  clampTaskTtl
25
- } from "./chunk-RQWS5CIU.js";
25
+ } from "./chunk-ERHCCLT7.js";
26
26
  import {
27
27
  executeExpert
28
- } from "./chunk-KMFVYD3M.js";
28
+ } from "./chunk-TPU5DT74.js";
29
29
  import {
30
30
  JobStatusSchema,
31
31
  abortJob,
@@ -46,24 +46,24 @@ import {
46
46
  simulationDeniedResult,
47
47
  toJobSummary,
48
48
  writeJobCancelled
49
- } from "./chunk-RAMWS524.js";
49
+ } from "./chunk-ABU3SZXU.js";
50
50
  import {
51
51
  allOf
52
52
  } from "./chunk-OQB3XC5O.js";
53
53
  import {
54
54
  normalizeTopicToCanonical,
55
55
  synthesizeResearch
56
- } from "./chunk-227ICA6P.js";
56
+ } from "./chunk-AV3NVATT.js";
57
57
  import {
58
58
  IssueTriage
59
- } from "./chunk-7XFZXFXZ.js";
59
+ } from "./chunk-EQDV4YIW.js";
60
60
  import {
61
61
  resolveEnvMode,
62
62
  sanitizeInput
63
- } from "./chunk-T33KZOQK.js";
63
+ } from "./chunk-CODRIZMT.js";
64
64
  import {
65
65
  withPrerequisite
66
- } from "./chunk-NLWMLSFQ.js";
66
+ } from "./chunk-HVFUWGGB.js";
67
67
  import {
68
68
  NOOP_NOTIFIER,
69
69
  RateLimiter,
@@ -86,18 +86,18 @@ import {
86
86
  withAuditTrail,
87
87
  withProgressHeartbeat,
88
88
  wrapToolWithTimeout
89
- } from "./chunk-RXNSNTTE.js";
89
+ } from "./chunk-7WIBQZR6.js";
90
90
  import {
91
91
  createAuditTrail,
92
92
  createGraphAuditBridge,
93
93
  emitPipelinePolicyEvent
94
- } from "./chunk-ENFMX6RD.js";
94
+ } from "./chunk-BMLBXCC3.js";
95
95
  import {
96
96
  EventTopics,
97
97
  createEvent,
98
98
  getGlobalEventBus,
99
99
  getGlobalRegistry
100
- } from "./chunk-3P6G3HQA.js";
100
+ } from "./chunk-RGR22IN6.js";
101
101
  import {
102
102
  IDENTIFIER_RE,
103
103
  LANG_VALUES,
@@ -130,31 +130,31 @@ import {
130
130
  parseRegistry,
131
131
  sourceExistsInRegistry,
132
132
  summarizeContextForPrompt
133
- } from "./chunk-X6XZRVXL.js";
133
+ } from "./chunk-5XTQIBA3.js";
134
134
  import {
135
135
  loadPapersRegistry,
136
136
  loadTechniquesRegistry
137
- } from "./chunk-OATAIRGV.js";
137
+ } from "./chunk-KHYSK52P.js";
138
138
  import {
139
139
  resolveInsideRoot
140
140
  } from "./chunk-NUBSJGQZ.js";
141
141
  import {
142
142
  getTokenEnvVars,
143
143
  resolveToken
144
- } from "./chunk-F3CFOOM6.js";
144
+ } from "./chunk-LI5RF3H7.js";
145
145
  import {
146
146
  DEFAULT_RELEVANCE_CONFIG,
147
147
  MemoryImportance,
148
148
  calculateTextJaccardSimilarity,
149
149
  getToolMemory
150
- } from "./chunk-NPCX34QE.js";
150
+ } from "./chunk-C4BSQH3A.js";
151
151
  import {
152
152
  STOPWORDS,
153
153
  truncateWithInfo
154
154
  } from "./chunk-6T3EPABN.js";
155
155
  import {
156
156
  createSessionMemory
157
- } from "./chunk-NQ2CKBFI.js";
157
+ } from "./chunk-JHL7JLRJ.js";
158
158
  import {
159
159
  BUILT_IN_EXPERTS,
160
160
  BuiltInExpertTypeSchema,
@@ -172,25 +172,25 @@ import {
172
172
  getAvailableClis,
173
173
  sleep,
174
174
  withTimeout
175
- } from "./chunk-RPZ3Y7OI.js";
175
+ } from "./chunk-NGQC5KIB.js";
176
176
  import {
177
177
  BaseAdapter,
178
178
  createStream,
179
179
  requireApiKey,
180
180
  validateApiKeyPresence
181
- } from "./chunk-GXATLSZX.js";
181
+ } from "./chunk-5TE3ORD5.js";
182
182
  import {
183
183
  DEFAULTS
184
- } from "./chunk-3NYMGWW7.js";
184
+ } from "./chunk-FWBR5P72.js";
185
185
  import {
186
186
  getAvailabilityCache,
187
187
  getCliForModelId,
188
188
  resolveFallback
189
- } from "./chunk-TRR7642Q.js";
189
+ } from "./chunk-XXOE3OHH.js";
190
190
  import {
191
191
  generateHyphenId,
192
192
  generateUUID
193
- } from "./chunk-ENULFHFF.js";
193
+ } from "./chunk-6GKG5U5Y.js";
194
194
  import {
195
195
  AGENT_ROUTER_TIMEOUTS,
196
196
  API_TIMEOUTS,
@@ -289,7 +289,7 @@ import {
289
289
  selectStrategyByManifest,
290
290
  toExpertTaskAnalysisResult,
291
291
  withStep
292
- } from "./chunk-3VZWKZ5Q.js";
292
+ } from "./chunk-KTYTESEV.js";
293
293
  import {
294
294
  ensureLearningDir,
295
295
  getMetaOutcomesFile,
@@ -28371,7 +28371,7 @@ function execIdFields(executionId) {
28371
28371
  async function populateUnifiedContextOnState(state, options) {
28372
28372
  const taskCandidate = state["task"];
28373
28373
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
28374
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-FSV4WUJO.js");
28374
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-NK6O77TT.js");
28375
28375
  const category = inferTaskCategory2(taskCandidate);
28376
28376
  const executionId = options?.executionId;
28377
28377
  const execFields = execIdFields(executionId);
@@ -29662,17 +29662,17 @@ function createCorePlugin(id, description, stages) {
29662
29662
  }
29663
29663
  var TASK_ANALYZER_PLUGIN = createCorePlugin(
29664
29664
  "nexus:task-analyzer",
29665
- "Analyzes task complexity, type, and required capabilities",
29665
+ "SKELETON: no-op placeholder for analyze stages (does not analyze)",
29666
29666
  ["analyze"]
29667
29667
  );
29668
29668
  var MODEL_ROUTER_PLUGIN = createCorePlugin(
29669
29669
  "nexus:model-router",
29670
- "Routes tasks to optimal model via Budget\u2192TOPSIS\u2192LinUCB pipeline",
29670
+ "SKELETON: no-op placeholder for route stages (does not route)",
29671
29671
  ["route"]
29672
29672
  );
29673
29673
  var CLI_EXECUTOR_PLUGIN = createCorePlugin(
29674
29674
  "nexus:cli-executor",
29675
- "Executes tasks via external CLI adapters with resilient retry",
29675
+ "SKELETON: no-op placeholder for execute stages (does not execute)",
29676
29676
  ["execute"]
29677
29677
  );
29678
29678
  var CORE_PLUGINS = [
@@ -44029,7 +44029,7 @@ async function tryIssueTriage(task) {
44029
44029
  try {
44030
44030
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
44031
44031
  if (issueMatch === null) return null;
44032
- const { createIssueTriage } = await import("./issue-triage-QQXQQAE7.js");
44032
+ const { createIssueTriage } = await import("./issue-triage-EKFJQZFJ.js");
44033
44033
  const triage = createIssueTriage();
44034
44034
  const owner = issueMatch[1] ?? "";
44035
44035
  const num = issueMatch[2] ?? "";
@@ -44057,7 +44057,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
44057
44057
  ]);
44058
44058
  async function classifyWithLLM(task) {
44059
44059
  try {
44060
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-ZGYSKIPE.js");
44060
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-PNXWIDQV.js");
44061
44061
  const prompt = [
44062
44062
  "Classify this task into exactly one pipeline template.",
44063
44063
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -45711,6 +45711,7 @@ function classifyVoteStageResult(votingResult) {
45711
45711
  }
45712
45712
  return { vote: { kind: "approved", approvalPercentage: pct }, label: "Approved" };
45713
45713
  }
45714
+ var UNMEASURED_TRUST_TIER = "unmeasured";
45714
45715
  function emitStageEvent2(stage, status, details) {
45715
45716
  emitPipelineStageEvent("dev-pipeline", stage, status, details);
45716
45717
  }
@@ -45783,7 +45784,7 @@ var memoryInitPromise = null;
45783
45784
  async function initPipelineMemory() {
45784
45785
  if (cachedMemory !== null) return cachedMemory;
45785
45786
  try {
45786
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-42EQPQ7Y.js");
45787
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-UYJU63EG.js");
45787
45788
  const { getLearningDir } = await import("./learning-persistence-EGY4VKKO.js");
45788
45789
  const mem = createSessionMemory2(getLearningDir());
45789
45790
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -45845,7 +45846,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
45845
45846
  callRecord(routingMemoryCache);
45846
45847
  return;
45847
45848
  }
45848
- routingMemoryInitPromise ??= import("./routing-memory-7BJ4KTSH.js").then(({ createRoutingMemory }) => {
45849
+ routingMemoryInitPromise ??= import("./routing-memory-AR4YR2RL.js").then(({ createRoutingMemory }) => {
45849
45850
  routingMemoryCache ??= createRoutingMemory();
45850
45851
  return routingMemoryCache;
45851
45852
  }).catch((error) => {
@@ -45879,7 +45880,7 @@ ${text}` : "";
45879
45880
  }
45880
45881
  async function getWeatherContext() {
45881
45882
  try {
45882
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-RS2IWF7C.js");
45883
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-C2P6NHTX.js");
45883
45884
  const report = generateWeatherReport2({ includeAdaptive: true });
45884
45885
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
45885
45886
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -45897,7 +45898,7 @@ ${lines}
45897
45898
  }
45898
45899
  async function getMemoryContext(task) {
45899
45900
  try {
45900
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-42EQPQ7Y.js");
45901
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-UYJU63EG.js");
45901
45902
  const { getLearningDir } = await import("./learning-persistence-EGY4VKKO.js");
45902
45903
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
45903
45904
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -45929,9 +45930,13 @@ function getTrendContext() {
45929
45930
  }
45930
45931
  function createAgentStages(config = {}) {
45931
45932
  const guard = createBudgetGuard(config.budget);
45933
+ const trustTier = config.trustTier ?? UNMEASURED_TRUST_TIER;
45934
+ const startStage = (stage) => {
45935
+ emitStageEvent2(stage, "started", { trustTier });
45936
+ };
45932
45937
  return {
45933
45938
  research: async (task) => {
45934
- emitStageEvent2("research", "started");
45939
+ startStage("research");
45935
45940
  await postProgress(config, "Research", "Querying research tools (structured)...");
45936
45941
  const start = getTimeProvider().now();
45937
45942
  const topic = task.slice(0, 200);
@@ -45974,7 +45979,7 @@ function createAgentStages(config = {}) {
45974
45979
  }
45975
45980
  },
45976
45981
  plan: async (task, research, feedback) => {
45977
- emitStageEvent2("plan", "started");
45982
+ startStage("plan");
45978
45983
  const outcomeCtx = getOutcomeContext();
45979
45984
  const trendCtx = getTrendContext();
45980
45985
  const weatherCtx = await getWeatherContext();
@@ -46007,12 +46012,12 @@ ${contextBlock}`;
46007
46012
  return r.text || prompt;
46008
46013
  },
46009
46014
  vote: async (plan, research) => {
46010
- emitStageEvent2("vote", "started");
46015
+ startStage("vote");
46011
46016
  const start = getTimeProvider().now();
46012
46017
  const strategy = config.votingStrategy ?? "higher_order";
46013
46018
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
46014
46019
  try {
46015
- const { executeVoting } = await import("./consensus-vote-IAURVUZM.js");
46020
+ const { executeVoting } = await import("./consensus-vote-FGB637PZ.js");
46016
46021
  const votingResult = await executeVoting(
46017
46022
  {
46018
46023
  proposal: buildVoteProposal(plan, research),
@@ -46061,7 +46066,7 @@ ${contextBlock}`;
46061
46066
  }
46062
46067
  },
46063
46068
  decompose: async (plan) => {
46064
- emitStageEvent2("decompose", "started");
46069
+ startStage("decompose");
46065
46070
  await postProgress(config, "PM", "PM expert decomposing...");
46066
46071
  const r = await runExpert(
46067
46072
  guard,
@@ -46085,7 +46090,7 @@ ${plan}`,
46085
46090
  return tasks;
46086
46091
  },
46087
46092
  implement: async (task) => {
46088
- emitStageEvent2(`impl-${task.id}`, "started");
46093
+ startStage(`impl-${task.id}`);
46089
46094
  await postProgress(config, `Code [${task.id}]`, task.title);
46090
46095
  const fb = task.feedback !== void 0 ? `
46091
46096
 
@@ -46122,7 +46127,7 @@ ${task.description}${fb}`,
46122
46127
  return r.text || `[Implementation failed: ${r.error}]`;
46123
46128
  },
46124
46129
  qaReview: async (task, implementation) => {
46125
- emitStageEvent2(`qa-${task.id}`, "started");
46130
+ startStage(`qa-${task.id}`);
46126
46131
  await postProgress(config, `QA [${task.id}]`, "QA expert reviewing...");
46127
46132
  const r = await runExpert(
46128
46133
  guard,
@@ -46162,7 +46167,7 @@ Verdict: PASS/NEEDS_WORK/REJECT`,
46162
46167
  return review;
46163
46168
  },
46164
46169
  qualityGate: async () => {
46165
- emitStageEvent2("quality-gate", "started");
46170
+ startStage("quality-gate");
46166
46171
  const start = getTimeProvider().now();
46167
46172
  const target = config.scanTarget ?? process.cwd();
46168
46173
  await postProgress(config, "QualityGate", `Typecheck/lint/tests on ${target}...`);
@@ -46186,7 +46191,7 @@ Verdict: PASS/NEEDS_WORK/REJECT`,
46186
46191
  return { passed, feedback: result.feedback };
46187
46192
  },
46188
46193
  securityScan: async () => {
46189
- emitStageEvent2("security", "started");
46194
+ startStage("security");
46190
46195
  const start = getTimeProvider().now();
46191
46196
  const target = config.scanTarget ?? process.cwd();
46192
46197
  await postProgress(config, "Security", `Scanning ${target}...`);
@@ -46451,7 +46456,7 @@ async function searchCodebaseForTask(task) {
46451
46456
  }
46452
46457
  async function queryResearchRegistry(task) {
46453
46458
  try {
46454
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-O4PADVTR.js");
46459
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-BVJB4HW5.js");
46455
46460
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
46456
46461
  if (topic === void 0) return null;
46457
46462
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -46522,7 +46527,7 @@ function createScanStageWrapper() {
46522
46527
  try {
46523
46528
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
46524
46529
  if (slug !== void 0) {
46525
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-XB4D56AF.js");
46530
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-RCYKT5GS.js");
46526
46531
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
46527
46532
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
46528
46533
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -49611,7 +49616,7 @@ var GitHubTaskTracker = class {
49611
49616
  cachedProvider = null;
49612
49617
  async getProvider() {
49613
49618
  if (this.cachedProvider !== null) return this.cachedProvider;
49614
- const { createScmProvider } = await import("./factory-DOLFKNUU.js");
49619
+ const { createScmProvider } = await import("./factory-KVIEFTAC.js");
49615
49620
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
49616
49621
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
49617
49622
  this.cachedProvider = result.value;
@@ -49822,11 +49827,12 @@ async function resolveTaskInput(input) {
49822
49827
  }
49823
49828
  throw new Error("Either task or planFile must be provided");
49824
49829
  }
49825
- async function createStages(input) {
49830
+ async function createStages(input, trustTier) {
49826
49831
  const backendChoice = input.trackerBackend;
49827
49832
  const backend = backendChoice === "json" && input.repo !== void 0 ? await detectBackend() : backendChoice;
49828
49833
  const tracker = input.repo !== void 0 ? createTaskTracker({ backend, repo: input.repo, labels: input.labels }) : void 0;
49829
49834
  return createAgentStages({
49835
+ ...trustTier !== void 0 ? { trustTier } : {},
49830
49836
  scanTarget: input.workingDir,
49831
49837
  simulateVotes: input.simulateVotes,
49832
49838
  votingStrategy: input.votingStrategy,
@@ -49842,7 +49848,7 @@ async function createStages(input) {
49842
49848
  }
49843
49849
  async function runDevPipelineForGoal(goal, trustTier) {
49844
49850
  const input = DevPipelineInputSchema.parse({ task: goal });
49845
- const stages = await createStages(input);
49851
+ const stages = await createStages(input, trustTier);
49846
49852
  return runDevPipeline(goal, stages, trustTier !== void 0 ? { trustTier } : void 0);
49847
49853
  }
49848
49854
  function buildStructuredOutput(result, simulated) {
@@ -49899,7 +49905,7 @@ async function runDevPipelineHandler(args, logger59, trustTier, auditLogger) {
49899
49905
  }
49900
49906
  try {
49901
49907
  const taskText = await resolveTaskInput(input);
49902
- const stages = await createStages(input);
49908
+ const stages = await createStages(input, trustTier);
49903
49909
  const pipelineOptions = buildPipelineOptions(input, trustTier, auditLogger);
49904
49910
  const hasOptions = Object.keys(pipelineOptions).length > 0;
49905
49911
  const resolvedOptions = hasOptions ? pipelineOptions : void 0;
@@ -50106,7 +50112,7 @@ async function executePipelineBody(task, stages, templateId, dryRun, simulated)
50106
50112
  }
50107
50113
  return toolSuccessStructured(output2);
50108
50114
  }
50109
- async function runPipelineHandler(args, logger59) {
50115
+ async function runPipelineHandler(args, logger59, trustTier) {
50110
50116
  const parsed = PipelineInputSchema.safeParse(args);
50111
50117
  if (!parsed.success) {
50112
50118
  return toolStructuredError({
@@ -50127,6 +50133,9 @@ async function runPipelineHandler(args, logger59) {
50127
50133
  simulateVotes: input.simulateVotes,
50128
50134
  votingStrategy: input.votingStrategy,
50129
50135
  quickMode: input.quickMode,
50136
+ // #4694: record-only. Absent stays absent — createAgentStages stamps
50137
+ // UNMEASURED_TRUST_TIER rather than inventing a trusted default.
50138
+ ...trustTier !== void 0 ? { trustTier } : {},
50130
50139
  budget: resolveRunBudget(task, input.template, logger59)
50131
50140
  });
50132
50141
  const stages = selectStageRegistry(input.template, task, agentStages);
@@ -50149,11 +50158,13 @@ async function runPipelineHandler(args, logger59) {
50149
50158
  }
50150
50159
  function registerPipelineTool(server, deps) {
50151
50160
  const logger59 = deps.logger ?? createLogger({ tool: "run_pipeline" });
50152
- const secureHandler = createSecureHandler((args) => runPipelineHandler(args, logger59), {
50153
- toolName: "run_pipeline",
50154
- rateLimiter: deps.rateLimiter,
50155
- logger: logger59
50156
- });
50161
+ const secureHandler = createSecureHandler(
50162
+ // Optional chaining is deliberate, not defensive noise: a handler invoked
50163
+ // without a context has genuinely NOT measured a tier, and that flows to
50164
+ // UNMEASURED_TRUST_TIER rather than to a default. Absence stays absence.
50165
+ (args, ctx) => runPipelineHandler(args, logger59, ctx?.requestContext.trustTier),
50166
+ { toolName: "run_pipeline", rateLimiter: deps.rateLimiter, logger: logger59 }
50167
+ );
50157
50168
  const timeoutMs = getToolTimeout("run_pipeline", deps.security);
50158
50169
  const wrapped = wrapToolWithTimeout("run_pipeline", secureHandler, { timeoutMs, logger: logger59 });
50159
50170
  server.registerTool(
@@ -50455,7 +50466,7 @@ async function probeSource(source, includeModelIds) {
50455
50466
  }
50456
50467
  }
50457
50468
  async function defaultSources(includeOpenRouter) {
50458
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-6V2FHFQ4.js");
50469
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-MXWNULXD.js");
50459
50470
  const adapters = createAllAdapters2();
50460
50471
  return buildDefaultModelSources(adapters, { includeOpenRouter });
50461
50472
  }
@@ -54487,4 +54498,4 @@ export {
54487
54498
  shutdownFeedbackSubscriber,
54488
54499
  createEventBusBridge
54489
54500
  };
54490
- //# sourceMappingURL=chunk-XLBLVP35.js.map
54501
+ //# sourceMappingURL=chunk-6BTRY45Y.js.map