nexus-agents 4.22.1 → 4.22.2

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 (120) hide show
  1. package/dist/{child-mcp-config-GNF2DS7K.js → child-mcp-config-Y3QSDCYI.js} +2 -2
  2. package/dist/{chunk-IDLQNS5U.js → chunk-2SVIHHNJ.js} +3 -3
  3. package/dist/{chunk-MDVHI3PP.js → chunk-6U3LS57H.js} +6 -6
  4. package/dist/{chunk-UTJRTD7H.js → chunk-BG2LQ5I2.js} +84 -54
  5. package/dist/{chunk-UTJRTD7H.js.map → chunk-BG2LQ5I2.js.map} +1 -1
  6. package/dist/{chunk-26VBDXT7.js → chunk-BK3NHWSW.js} +3 -3
  7. package/dist/{chunk-TV3L3GME.js → chunk-CBORIR4Y.js} +2 -2
  8. package/dist/{chunk-JJC5YKBH.js → chunk-D6ZTSN34.js} +3 -3
  9. package/dist/{chunk-6MVRXQ6V.js → chunk-DGLAEH7Y.js} +2 -2
  10. package/dist/{chunk-HVCYICUX.js → chunk-EU7S5CDW.js} +35 -24
  11. package/dist/chunk-EU7S5CDW.js.map +1 -0
  12. package/dist/{chunk-QWTDGESS.js → chunk-FVUQY73A.js} +2 -2
  13. package/dist/{chunk-HWBUN7WP.js → chunk-GMJQ6QMZ.js} +2 -2
  14. package/dist/{chunk-S3EAMH4I.js → chunk-H7CV35LZ.js} +3 -3
  15. package/dist/{chunk-2SXZIUEA.js → chunk-ICGYXBS6.js} +2 -2
  16. package/dist/{chunk-3AAAEN6N.js → chunk-IK6JPHMX.js} +5 -5
  17. package/dist/{chunk-CMXVOO4L.js → chunk-JDWXD3YZ.js} +7 -7
  18. package/dist/{chunk-C67BIG35.js → chunk-JM42KPWJ.js} +8 -8
  19. package/dist/{chunk-3X2ZQAJI.js → chunk-JR4XD3T7.js} +4 -4
  20. package/dist/{chunk-BZTFS7FN.js → chunk-JV6SMJMJ.js} +2 -2
  21. package/dist/{chunk-Z6W6G35I.js → chunk-KDUSLLZM.js} +2 -2
  22. package/dist/{chunk-PT3QWCKF.js → chunk-MM7BINTV.js} +3 -3
  23. package/dist/{chunk-MNPD6TMW.js → chunk-MTGMOLRO.js} +2 -2
  24. package/dist/{chunk-7B5YTCHU.js → chunk-P422WQJM.js} +2 -2
  25. package/dist/{chunk-KASC5XK7.js → chunk-PSXX2GBZ.js} +7 -7
  26. package/dist/{chunk-VZHZFAYL.js → chunk-QRG7UR2F.js} +2 -2
  27. package/dist/{chunk-LYI5GXON.js → chunk-RE2GYZRK.js} +5 -5
  28. package/dist/{chunk-PAZLJC46.js → chunk-RMTTKP4L.js} +2 -2
  29. package/dist/{chunk-BDEWOJL4.js → chunk-SBLLJXJO.js} +2 -2
  30. package/dist/{chunk-ZDLWHEFZ.js → chunk-TBXAEAKP.js} +2 -2
  31. package/dist/{chunk-M4BAGHYQ.js → chunk-TMKBZG3W.js} +2 -2
  32. package/dist/{chunk-AQV5RKO7.js → chunk-V533P6BT.js} +4 -4
  33. package/dist/{chunk-G2USF7DN.js → chunk-W2DYH4WL.js} +8 -8
  34. package/dist/{chunk-NF7GW4QQ.js → chunk-X7MLVGJV.js} +2 -2
  35. package/dist/{chunk-AJM6RCCB.js → chunk-XYWCZNFC.js} +2 -2
  36. package/dist/{cli-circuit-breaker-NSXLDTKZ.js → cli-circuit-breaker-T2IKLJVA.js} +3 -3
  37. package/dist/cli.js +40 -40
  38. package/dist/{composite-router-ULSYJV7S.js → composite-router-CCDCVYTY.js} +2 -2
  39. package/dist/{consensus-vote-OUZGLMJ4.js → consensus-vote-TMMGZROW.js} +16 -16
  40. package/dist/{context-retriever-QAZWTGAT.js → context-retriever-CKJ7EJME.js} +8 -8
  41. package/dist/{doctor-deep-IWQUV5IH.js → doctor-deep-MIQ5QYUL.js} +3 -3
  42. package/dist/{doctor-live-MJSBAH5J.js → doctor-live-IAERE7DO.js} +9 -9
  43. package/dist/{expert-bridge-6D43UDLS.js → expert-bridge-5MK4DOB7.js} +4 -4
  44. package/dist/{factory-2MLMLJDK.js → factory-6FNJM6P3.js} +9 -9
  45. package/dist/{factory-GUBAT3HH.js → factory-OO7MN24L.js} +5 -5
  46. package/dist/{improvement-review-W6HJIQLG.js → improvement-review-DKCVIJSF.js} +5 -5
  47. package/dist/index.js +30 -30
  48. package/dist/{init-opencode-TCP3OSFK.js → init-opencode-CM2HL2PI.js} +6 -6
  49. package/dist/issue-triage-NH25YRNT.js +17 -0
  50. package/dist/{pr-reviewer-helpers-VKQR2T3Y.js → pr-reviewer-helpers-Q6GRH5PP.js} +4 -4
  51. package/dist/{registry-command-ALLKEWVO.js → registry-command-BYRGRQ3I.js} +2 -2
  52. package/dist/{repo-security-plan-SJYA5PJC.js → repo-security-plan-NP6AT3NR.js} +3 -3
  53. package/dist/{research-helpers-synthesize-ERZD3P4M.js → research-helpers-synthesize-2R6TO2SP.js} +4 -4
  54. package/dist/{routing-memory-4WAKAU2L.js → routing-memory-IZH3XQQH.js} +2 -2
  55. package/dist/{session-memory-XR5FJQSM.js → session-memory-OWEWA5BX.js} +3 -3
  56. package/dist/{setup-config-26GAKOC3.js → setup-config-O7LHHD42.js} +3 -3
  57. package/dist/{setup-custom-api-TKMWDJJW.js → setup-custom-api-OZ3QCQTJ.js} +4 -4
  58. package/dist/setup-data-dir-T6K5PKM5.js +28 -0
  59. package/dist/{tool-memory-QCZKITSG.js → tool-memory-LYKMCW7U.js} +5 -5
  60. package/dist/{unified-registry-63G7RTA6.js → unified-registry-ZSPVJ4BO.js} +10 -10
  61. package/dist/{weather-report-JVVJXNQY.js → weather-report-4OFVK5Q5.js} +2 -2
  62. package/package.json +1 -1
  63. package/dist/chunk-HVCYICUX.js.map +0 -1
  64. package/dist/issue-triage-CLHI2MHK.js +0 -17
  65. package/dist/setup-data-dir-BKIKRQCE.js +0 -28
  66. /package/dist/{child-mcp-config-GNF2DS7K.js.map → child-mcp-config-Y3QSDCYI.js.map} +0 -0
  67. /package/dist/{chunk-IDLQNS5U.js.map → chunk-2SVIHHNJ.js.map} +0 -0
  68. /package/dist/{chunk-MDVHI3PP.js.map → chunk-6U3LS57H.js.map} +0 -0
  69. /package/dist/{chunk-26VBDXT7.js.map → chunk-BK3NHWSW.js.map} +0 -0
  70. /package/dist/{chunk-TV3L3GME.js.map → chunk-CBORIR4Y.js.map} +0 -0
  71. /package/dist/{chunk-JJC5YKBH.js.map → chunk-D6ZTSN34.js.map} +0 -0
  72. /package/dist/{chunk-6MVRXQ6V.js.map → chunk-DGLAEH7Y.js.map} +0 -0
  73. /package/dist/{chunk-QWTDGESS.js.map → chunk-FVUQY73A.js.map} +0 -0
  74. /package/dist/{chunk-HWBUN7WP.js.map → chunk-GMJQ6QMZ.js.map} +0 -0
  75. /package/dist/{chunk-S3EAMH4I.js.map → chunk-H7CV35LZ.js.map} +0 -0
  76. /package/dist/{chunk-2SXZIUEA.js.map → chunk-ICGYXBS6.js.map} +0 -0
  77. /package/dist/{chunk-3AAAEN6N.js.map → chunk-IK6JPHMX.js.map} +0 -0
  78. /package/dist/{chunk-CMXVOO4L.js.map → chunk-JDWXD3YZ.js.map} +0 -0
  79. /package/dist/{chunk-C67BIG35.js.map → chunk-JM42KPWJ.js.map} +0 -0
  80. /package/dist/{chunk-3X2ZQAJI.js.map → chunk-JR4XD3T7.js.map} +0 -0
  81. /package/dist/{chunk-BZTFS7FN.js.map → chunk-JV6SMJMJ.js.map} +0 -0
  82. /package/dist/{chunk-Z6W6G35I.js.map → chunk-KDUSLLZM.js.map} +0 -0
  83. /package/dist/{chunk-PT3QWCKF.js.map → chunk-MM7BINTV.js.map} +0 -0
  84. /package/dist/{chunk-MNPD6TMW.js.map → chunk-MTGMOLRO.js.map} +0 -0
  85. /package/dist/{chunk-7B5YTCHU.js.map → chunk-P422WQJM.js.map} +0 -0
  86. /package/dist/{chunk-KASC5XK7.js.map → chunk-PSXX2GBZ.js.map} +0 -0
  87. /package/dist/{chunk-VZHZFAYL.js.map → chunk-QRG7UR2F.js.map} +0 -0
  88. /package/dist/{chunk-LYI5GXON.js.map → chunk-RE2GYZRK.js.map} +0 -0
  89. /package/dist/{chunk-PAZLJC46.js.map → chunk-RMTTKP4L.js.map} +0 -0
  90. /package/dist/{chunk-BDEWOJL4.js.map → chunk-SBLLJXJO.js.map} +0 -0
  91. /package/dist/{chunk-ZDLWHEFZ.js.map → chunk-TBXAEAKP.js.map} +0 -0
  92. /package/dist/{chunk-M4BAGHYQ.js.map → chunk-TMKBZG3W.js.map} +0 -0
  93. /package/dist/{chunk-AQV5RKO7.js.map → chunk-V533P6BT.js.map} +0 -0
  94. /package/dist/{chunk-G2USF7DN.js.map → chunk-W2DYH4WL.js.map} +0 -0
  95. /package/dist/{chunk-NF7GW4QQ.js.map → chunk-X7MLVGJV.js.map} +0 -0
  96. /package/dist/{chunk-AJM6RCCB.js.map → chunk-XYWCZNFC.js.map} +0 -0
  97. /package/dist/{cli-circuit-breaker-NSXLDTKZ.js.map → cli-circuit-breaker-T2IKLJVA.js.map} +0 -0
  98. /package/dist/{composite-router-ULSYJV7S.js.map → composite-router-CCDCVYTY.js.map} +0 -0
  99. /package/dist/{consensus-vote-OUZGLMJ4.js.map → consensus-vote-TMMGZROW.js.map} +0 -0
  100. /package/dist/{context-retriever-QAZWTGAT.js.map → context-retriever-CKJ7EJME.js.map} +0 -0
  101. /package/dist/{doctor-deep-IWQUV5IH.js.map → doctor-deep-MIQ5QYUL.js.map} +0 -0
  102. /package/dist/{doctor-live-MJSBAH5J.js.map → doctor-live-IAERE7DO.js.map} +0 -0
  103. /package/dist/{expert-bridge-6D43UDLS.js.map → expert-bridge-5MK4DOB7.js.map} +0 -0
  104. /package/dist/{factory-2MLMLJDK.js.map → factory-6FNJM6P3.js.map} +0 -0
  105. /package/dist/{factory-GUBAT3HH.js.map → factory-OO7MN24L.js.map} +0 -0
  106. /package/dist/{improvement-review-W6HJIQLG.js.map → improvement-review-DKCVIJSF.js.map} +0 -0
  107. /package/dist/{init-opencode-TCP3OSFK.js.map → init-opencode-CM2HL2PI.js.map} +0 -0
  108. /package/dist/{issue-triage-CLHI2MHK.js.map → issue-triage-NH25YRNT.js.map} +0 -0
  109. /package/dist/{pr-reviewer-helpers-VKQR2T3Y.js.map → pr-reviewer-helpers-Q6GRH5PP.js.map} +0 -0
  110. /package/dist/{registry-command-ALLKEWVO.js.map → registry-command-BYRGRQ3I.js.map} +0 -0
  111. /package/dist/{repo-security-plan-SJYA5PJC.js.map → repo-security-plan-NP6AT3NR.js.map} +0 -0
  112. /package/dist/{research-helpers-synthesize-ERZD3P4M.js.map → research-helpers-synthesize-2R6TO2SP.js.map} +0 -0
  113. /package/dist/{routing-memory-4WAKAU2L.js.map → routing-memory-IZH3XQQH.js.map} +0 -0
  114. /package/dist/{session-memory-XR5FJQSM.js.map → session-memory-OWEWA5BX.js.map} +0 -0
  115. /package/dist/{setup-config-26GAKOC3.js.map → setup-config-O7LHHD42.js.map} +0 -0
  116. /package/dist/{setup-custom-api-TKMWDJJW.js.map → setup-custom-api-OZ3QCQTJ.js.map} +0 -0
  117. /package/dist/{setup-data-dir-BKIKRQCE.js.map → setup-data-dir-T6K5PKM5.js.map} +0 -0
  118. /package/dist/{tool-memory-QCZKITSG.js.map → tool-memory-LYKMCW7U.js.map} +0 -0
  119. /package/dist/{unified-registry-63G7RTA6.js.map → unified-registry-ZSPVJ4BO.js.map} +0 -0
  120. /package/dist/{weather-report-JVVJXNQY.js.map → weather-report-4OFVK5Q5.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RQV5ZUXT.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-IDLQNS5U.js";
6
+ } from "./chunk-2SVIHHNJ.js";
7
7
  import "./chunk-HHLCAWAV.js";
8
8
  import "./chunk-NBMWONHE.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-GNF2DS7K.js.map
65
+ //# sourceMappingURL=child-mcp-config-Y3QSDCYI.js.map
@@ -2623,7 +2623,7 @@ function setDefaultRegistry(registry) {
2623
2623
  }
2624
2624
  async function reloadDefaultRegistry() {
2625
2625
  globalRegistry = buildDefaultRegistry();
2626
- const { resetGlobalRegistry } = await import("./unified-registry-63G7RTA6.js");
2626
+ const { resetGlobalRegistry } = await import("./unified-registry-ZSPVJ4BO.js");
2627
2627
  resetGlobalRegistry();
2628
2628
  return globalRegistry;
2629
2629
  }
@@ -15116,7 +15116,7 @@ var CompositeRouter = class _CompositeRouter {
15116
15116
  */
15117
15117
  async consultUnifiedContext(task) {
15118
15118
  try {
15119
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-QAZWTGAT.js");
15119
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-CKJ7EJME.js");
15120
15120
  const ctx = await getContextForTask({
15121
15121
  task: task.content,
15122
15122
  category: inferTaskCategory(task.content),
@@ -16709,4 +16709,4 @@ export {
16709
16709
  AgentCapability,
16710
16710
  OrchestratorError
16711
16711
  };
16712
- //# sourceMappingURL=chunk-IDLQNS5U.js.map
16712
+ //# sourceMappingURL=chunk-2SVIHHNJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-Z6W6G35I.js";
4
+ } from "./chunk-KDUSLLZM.js";
5
5
  import {
6
6
  ROLE_DEFAULT_TRUST,
7
7
  ReputationCache,
@@ -11,20 +11,20 @@ import {
11
11
  gateWithReputation,
12
12
  resolveReputationGatingMode,
13
13
  sanitizeInput
14
- } from "./chunk-HWBUN7WP.js";
14
+ } from "./chunk-GMJQ6QMZ.js";
15
15
  import {
16
16
  emitPolicyEvent
17
- } from "./chunk-NF7GW4QQ.js";
17
+ } from "./chunk-X7MLVGJV.js";
18
18
  import {
19
19
  hasToken
20
- } from "./chunk-AJM6RCCB.js";
20
+ } from "./chunk-XYWCZNFC.js";
21
21
  import {
22
22
  CLI_SUBPROCESS_TIMEOUTS,
23
23
  createLogger,
24
24
  err,
25
25
  getTimeProvider,
26
26
  ok
27
- } from "./chunk-IDLQNS5U.js";
27
+ } from "./chunk-2SVIHHNJ.js";
28
28
 
29
29
  // src/security/trust-classifier.ts
30
30
  function mapAuthorAssociation(association) {
@@ -1247,4 +1247,4 @@ export {
1247
1247
  IssueTriage,
1248
1248
  createIssueTriage
1249
1249
  };
1250
- //# sourceMappingURL=chunk-MDVHI3PP.js.map
1250
+ //# sourceMappingURL=chunk-6U3LS57H.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-VZHZFAYL.js";
3
+ } from "./chunk-QRG7UR2F.js";
4
4
  import {
5
5
  analyzeGitHubRepo
6
6
  } from "./chunk-HFOQKCD2.js";
@@ -21,10 +21,10 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-CMXVOO4L.js";
24
+ } from "./chunk-JDWXD3YZ.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-KASC5XK7.js";
27
+ } from "./chunk-PSXX2GBZ.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  abortJob,
@@ -46,24 +46,24 @@ import {
46
46
  simulationDeniedResult,
47
47
  toJobSummary,
48
48
  writeJobCancelled
49
- } from "./chunk-G2USF7DN.js";
49
+ } from "./chunk-W2DYH4WL.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-S3EAMH4I.js";
56
+ } from "./chunk-H7CV35LZ.js";
57
57
  import {
58
58
  IssueTriage
59
- } from "./chunk-MDVHI3PP.js";
59
+ } from "./chunk-6U3LS57H.js";
60
60
  import {
61
61
  resolveEnvMode,
62
62
  sanitizeInput
63
- } from "./chunk-HWBUN7WP.js";
63
+ } from "./chunk-GMJQ6QMZ.js";
64
64
  import {
65
65
  withPrerequisite
66
- } from "./chunk-PT3QWCKF.js";
66
+ } from "./chunk-MM7BINTV.js";
67
67
  import {
68
68
  NOOP_NOTIFIER,
69
69
  RateLimiter,
@@ -87,18 +87,18 @@ import {
87
87
  withAuditTrail,
88
88
  withProgressHeartbeat,
89
89
  wrapToolWithTimeout
90
- } from "./chunk-JJC5YKBH.js";
90
+ } from "./chunk-D6ZTSN34.js";
91
91
  import {
92
92
  createAuditTrail,
93
93
  createGraphAuditBridge,
94
94
  emitPipelinePolicyEvent
95
- } from "./chunk-NF7GW4QQ.js";
95
+ } from "./chunk-X7MLVGJV.js";
96
96
  import {
97
97
  EventTopics,
98
98
  createEvent,
99
99
  getGlobalEventBus,
100
100
  getGlobalRegistry
101
- } from "./chunk-AQV5RKO7.js";
101
+ } from "./chunk-V533P6BT.js";
102
102
  import {
103
103
  IDENTIFIER_RE,
104
104
  LANG_VALUES,
@@ -131,29 +131,29 @@ import {
131
131
  parseRegistry,
132
132
  sourceExistsInRegistry,
133
133
  summarizeContextForPrompt
134
- } from "./chunk-3AAAEN6N.js";
134
+ } from "./chunk-IK6JPHMX.js";
135
135
  import {
136
136
  loadPapersRegistry,
137
137
  loadTechniquesRegistry,
138
138
  resolveInsideRoot
139
- } from "./chunk-7B5YTCHU.js";
139
+ } from "./chunk-P422WQJM.js";
140
140
  import {
141
141
  getTokenEnvVars,
142
142
  resolveToken
143
- } from "./chunk-AJM6RCCB.js";
143
+ } from "./chunk-XYWCZNFC.js";
144
144
  import {
145
145
  DEFAULT_RELEVANCE_CONFIG,
146
146
  MemoryImportance,
147
147
  calculateTextJaccardSimilarity,
148
148
  getToolMemory
149
- } from "./chunk-HVCYICUX.js";
149
+ } from "./chunk-EU7S5CDW.js";
150
150
  import {
151
151
  STOPWORDS,
152
152
  truncateWithInfo
153
153
  } from "./chunk-6T3EPABN.js";
154
154
  import {
155
155
  createSessionMemory
156
- } from "./chunk-6MVRXQ6V.js";
156
+ } from "./chunk-DGLAEH7Y.js";
157
157
  import {
158
158
  BUILT_IN_EXPERTS,
159
159
  BuiltInExpertTypeSchema,
@@ -171,25 +171,25 @@ import {
171
171
  getAvailableClis,
172
172
  sleep,
173
173
  withTimeout
174
- } from "./chunk-C67BIG35.js";
174
+ } from "./chunk-JM42KPWJ.js";
175
175
  import {
176
176
  BaseAdapter,
177
177
  createStream,
178
178
  requireApiKey,
179
179
  validateApiKeyPresence
180
- } from "./chunk-TV3L3GME.js";
180
+ } from "./chunk-CBORIR4Y.js";
181
181
  import {
182
182
  DEFAULTS
183
- } from "./chunk-M4BAGHYQ.js";
183
+ } from "./chunk-TMKBZG3W.js";
184
184
  import {
185
185
  getAvailabilityCache,
186
186
  getCliForModelId,
187
187
  resolveFallback
188
- } from "./chunk-PAZLJC46.js";
188
+ } from "./chunk-RMTTKP4L.js";
189
189
  import {
190
190
  generateHyphenId,
191
191
  generateUUID
192
- } from "./chunk-MNPD6TMW.js";
192
+ } from "./chunk-MTGMOLRO.js";
193
193
  import {
194
194
  AGENT_ROUTER_TIMEOUTS,
195
195
  API_TIMEOUTS,
@@ -293,7 +293,7 @@ import {
293
293
  selectStrategyByManifest,
294
294
  toExpertTaskAnalysisResult,
295
295
  withStep
296
- } from "./chunk-IDLQNS5U.js";
296
+ } from "./chunk-2SVIHHNJ.js";
297
297
  import {
298
298
  ensureLearningDir,
299
299
  getMetaOutcomesFile,
@@ -29544,7 +29544,7 @@ function execIdFields(executionId) {
29544
29544
  async function populateUnifiedContextOnState(state, options) {
29545
29545
  const taskCandidate = state["task"];
29546
29546
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
29547
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-QAZWTGAT.js");
29547
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-CKJ7EJME.js");
29548
29548
  const category = inferTaskCategory2(taskCandidate);
29549
29549
  const executionId = options?.executionId;
29550
29550
  const execFields = execIdFields(executionId);
@@ -42376,9 +42376,16 @@ function writeToSession(key, content, confidence) {
42376
42376
  async function writeToBelief(key, content, confidence) {
42377
42377
  const toolMemory = getToolMemory();
42378
42378
  const countBefore = toolMemory.getBeliefCount();
42379
- await toolMemory.recordBelief(key, "has_knowledge", content, confidence);
42380
- const countAfter = toolMemory.getBeliefCount();
42381
- const deduplicated = countAfter === countBefore;
42379
+ const outcome = await toolMemory.recordBelief(
42380
+ key,
42381
+ "has_knowledge",
42382
+ content,
42383
+ confidence
42384
+ );
42385
+ if (!outcome.persisted) {
42386
+ return { success: false, backend: "belief", key, error: outcome.reason };
42387
+ }
42388
+ const deduplicated = toolMemory.getBeliefCount() === countBefore;
42382
42389
  return { success: true, backend: "belief", key, ...deduplicated ? { deduplicated: true } : {} };
42383
42390
  }
42384
42391
  async function writeToAgentic(key, content, confidence, metadata) {
@@ -42391,10 +42398,13 @@ async function writeToAgentic(key, content, confidence, metadata) {
42391
42398
  error: "Agentic memory backend unavailable (requires SQLite)"
42392
42399
  };
42393
42400
  }
42394
- await toolMemory.recordKnowledge(key, content, {
42401
+ const outcome = await toolMemory.recordKnowledge(key, content, {
42395
42402
  importance: confidence,
42396
42403
  tags: metadata !== void 0 ? Object.keys(metadata) : []
42397
42404
  });
42405
+ if (!outcome.persisted) {
42406
+ return { success: false, backend: "agentic", key, error: outcome.reason };
42407
+ }
42398
42408
  return { success: true, backend: "agentic", key };
42399
42409
  }
42400
42410
  async function writeToAdaptive(key, content, confidence) {
@@ -42408,7 +42418,10 @@ async function writeToAdaptive(key, content, confidence) {
42408
42418
  };
42409
42419
  }
42410
42420
  const importance = confidence === "high" ? 0.9 : confidence === "medium" ? 0.7 : 0.5;
42411
- await toolMemory.storeAdaptive(key, content, importance);
42421
+ const outcome = await toolMemory.storeAdaptive(key, content, importance);
42422
+ if (!outcome.persisted) {
42423
+ return { success: false, backend: "adaptive", key, error: outcome.reason };
42424
+ }
42412
42425
  return { success: true, backend: "adaptive", key };
42413
42426
  }
42414
42427
  async function writeToTyped(key, content, confidence) {
@@ -42422,23 +42435,29 @@ async function writeToTyped(key, content, confidence) {
42422
42435
  };
42423
42436
  }
42424
42437
  const importance = confidence === "high" ? "high" : confidence === "medium" ? "medium" : "low";
42425
- await toolMemory.storeTyped(key, content, importance);
42438
+ const outcome = await toolMemory.storeTyped(key, content, importance);
42439
+ if (!outcome.persisted) {
42440
+ return { success: false, backend: "typed", key, error: outcome.reason };
42441
+ }
42426
42442
  return { success: true, backend: "typed", key };
42427
42443
  }
42428
42444
  var recentWriteKeys = /* @__PURE__ */ new Map();
42429
42445
  var MAX_DEDUP_CACHE = 200;
42430
- function isDuplicateWrite(key, content) {
42431
- const cacheKey = `${key}::${content.slice(0, 100)}`;
42432
- if (recentWriteKeys.has(cacheKey)) return true;
42446
+ function dedupCacheKey(input) {
42447
+ return `${input.backend}::${input.key}::${input.content}`;
42448
+ }
42449
+ function isDuplicateWrite(input) {
42450
+ return recentWriteKeys.has(dedupCacheKey(input));
42451
+ }
42452
+ function rememberWrite(input) {
42433
42453
  if (recentWriteKeys.size >= MAX_DEDUP_CACHE) {
42434
42454
  const firstKey = recentWriteKeys.keys().next().value;
42435
42455
  if (firstKey !== void 0) recentWriteKeys.delete(firstKey);
42436
42456
  }
42437
- recentWriteKeys.set(cacheKey, (/* @__PURE__ */ new Date()).toISOString());
42438
- return false;
42457
+ recentWriteKeys.set(dedupCacheKey(input), (/* @__PURE__ */ new Date()).toISOString());
42439
42458
  }
42440
42459
  async function executeMemoryWrite(input, logger59) {
42441
- if (isDuplicateWrite(input.key, input.content)) {
42460
+ if (isDuplicateWrite(input)) {
42442
42461
  logger59.debug("Skipping duplicate memory write", { key: input.key, backend: input.backend });
42443
42462
  return { success: true, backend: input.backend, key: input.key, deduplicated: true };
42444
42463
  }
@@ -42447,6 +42466,11 @@ async function executeMemoryWrite(input, logger59) {
42447
42466
  key: input.key,
42448
42467
  contentLength: input.content.length
42449
42468
  });
42469
+ const response = await dispatchWrite(input);
42470
+ if (response.success) rememberWrite(input);
42471
+ return response;
42472
+ }
42473
+ async function dispatchWrite(input) {
42450
42474
  switch (input.backend) {
42451
42475
  case "session":
42452
42476
  return writeToSession(input.key, input.content, input.confidence);
@@ -45248,7 +45272,7 @@ async function tryIssueTriage(task) {
45248
45272
  try {
45249
45273
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
45250
45274
  if (issueMatch === null) return null;
45251
- const { createIssueTriage } = await import("./issue-triage-CLHI2MHK.js");
45275
+ const { createIssueTriage } = await import("./issue-triage-NH25YRNT.js");
45252
45276
  const triage = createIssueTriage();
45253
45277
  const owner = issueMatch[1] ?? "";
45254
45278
  const num = issueMatch[2] ?? "";
@@ -45276,7 +45300,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
45276
45300
  ]);
45277
45301
  async function classifyWithLLM(task) {
45278
45302
  try {
45279
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-6D43UDLS.js");
45303
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-5MK4DOB7.js");
45280
45304
  const prompt = [
45281
45305
  "Classify this task into exactly one pipeline template.",
45282
45306
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -47028,7 +47052,7 @@ var memoryInitPromise = null;
47028
47052
  async function initPipelineMemory() {
47029
47053
  if (cachedMemory !== null) return cachedMemory;
47030
47054
  try {
47031
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-XR5FJQSM.js");
47055
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-OWEWA5BX.js");
47032
47056
  const { getLearningDir } = await import("./learning-persistence-SR5F4DSY.js");
47033
47057
  const mem = createSessionMemory2(getLearningDir());
47034
47058
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -47090,7 +47114,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
47090
47114
  callRecord(routingMemoryCache);
47091
47115
  return;
47092
47116
  }
47093
- routingMemoryInitPromise ??= import("./routing-memory-4WAKAU2L.js").then(({ createRoutingMemory }) => {
47117
+ routingMemoryInitPromise ??= import("./routing-memory-IZH3XQQH.js").then(({ createRoutingMemory }) => {
47094
47118
  routingMemoryCache ??= createRoutingMemory();
47095
47119
  return routingMemoryCache;
47096
47120
  }).catch((error) => {
@@ -47124,7 +47148,7 @@ ${text}` : "";
47124
47148
  }
47125
47149
  async function getWeatherContext() {
47126
47150
  try {
47127
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-JVVJXNQY.js");
47151
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-4OFVK5Q5.js");
47128
47152
  const report = generateWeatherReport2({ includeAdaptive: true });
47129
47153
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
47130
47154
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -47142,7 +47166,7 @@ ${lines}
47142
47166
  }
47143
47167
  async function getMemoryContext(task) {
47144
47168
  try {
47145
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-XR5FJQSM.js");
47169
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-OWEWA5BX.js");
47146
47170
  const { getLearningDir } = await import("./learning-persistence-SR5F4DSY.js");
47147
47171
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
47148
47172
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -47261,7 +47285,7 @@ ${contextBlock}`;
47261
47285
  const strategy = config.votingStrategy ?? "higher_order";
47262
47286
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47263
47287
  try {
47264
- const { executeVoting } = await import("./consensus-vote-OUZGLMJ4.js");
47288
+ const { executeVoting } = await import("./consensus-vote-TMMGZROW.js");
47265
47289
  const votingResult = await executeVoting(
47266
47290
  {
47267
47291
  proposal: buildVoteProposal(plan, research),
@@ -47700,7 +47724,7 @@ async function searchCodebaseForTask(task) {
47700
47724
  }
47701
47725
  async function queryResearchRegistry(task) {
47702
47726
  try {
47703
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-ERZD3P4M.js");
47727
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-2R6TO2SP.js");
47704
47728
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
47705
47729
  if (topic === void 0) return null;
47706
47730
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -47771,7 +47795,7 @@ function createScanStageWrapper() {
47771
47795
  try {
47772
47796
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
47773
47797
  if (slug !== void 0) {
47774
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-SJYA5PJC.js");
47798
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-NP6AT3NR.js");
47775
47799
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
47776
47800
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
47777
47801
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -50106,7 +50130,9 @@ function permitsAction(declaredTier, actionClass) {
50106
50130
  function dispatchActionClass(_mode) {
50107
50131
  return "suggest";
50108
50132
  }
50109
- var AuthorityRefusalError = class extends Error {
50133
+ var PolicyRefusalError = class extends Error {
50134
+ };
50135
+ var AuthorityRefusalError = class extends PolicyRefusalError {
50110
50136
  code;
50111
50137
  strategy;
50112
50138
  /** The tier the strategy's manifest declared (undefined ⇒ none declared). */
@@ -50160,7 +50186,7 @@ function guardAuthority(strategy, actionClass) {
50160
50186
  throw decision.refusal;
50161
50187
  }
50162
50188
  }
50163
- var ExecuteEnvelopeRefusalError = class extends Error {
50189
+ var ExecuteEnvelopeRefusalError = class extends PolicyRefusalError {
50164
50190
  code = "envelope_undeclared";
50165
50191
  strategy;
50166
50192
  constructor(strategy) {
@@ -50186,7 +50212,7 @@ function guardExecuteEnvelope(strategy) {
50186
50212
 
50187
50213
  // src/mcp/tools/run-tool-dry-run.ts
50188
50214
  var DRY_RUN_CAPABLE = "dev-pipeline";
50189
- var DryRunUnsupportedError = class extends Error {
50215
+ var DryRunUnsupportedError = class extends PolicyRefusalError {
50190
50216
  constructor(strategy) {
50191
50217
  super(
50192
50218
  `dryRun is not supported by the '${strategy}' strategy \u2014 only '${DRY_RUN_CAPABLE}' stops after plan+vote. Refusing rather than running for real. Re-run without dryRun, or force the ${DRY_RUN_CAPABLE} strategy.`
@@ -50202,10 +50228,8 @@ function assertDryRunSupported(dryRun, strategy) {
50202
50228
  }
50203
50229
  }
50204
50230
  function classifyDispatchError(err2) {
50205
- const noExecutor = err2 instanceof MetaDispatchError && err2.code === "no_executor";
50206
- const refused = err2 instanceof AuthorityRefusalError;
50207
- const dryRunUnsupported = err2 instanceof DryRunUnsupportedError;
50208
- return noExecutor || refused || dryRunUnsupported ? "business" : "internal";
50231
+ if (err2 instanceof PolicyRefusalError) return "business";
50232
+ return err2 instanceof MetaDispatchError && err2.code === "no_executor" ? "business" : "internal";
50209
50233
  }
50210
50234
 
50211
50235
  // src/orchestration/meta-orchestrator.ts
@@ -50896,7 +50920,7 @@ var GitHubTaskTracker = class {
50896
50920
  cachedProvider = null;
50897
50921
  async getProvider() {
50898
50922
  if (this.cachedProvider !== null) return this.cachedProvider;
50899
- const { createScmProvider } = await import("./factory-GUBAT3HH.js");
50923
+ const { createScmProvider } = await import("./factory-OO7MN24L.js");
50900
50924
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
50901
50925
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
50902
50926
  this.cachedProvider = result.value;
@@ -51159,6 +51183,12 @@ function buildStructuredOutput(result, simulated) {
51159
51183
  // here, so they never reached the MCP surface.
51160
51184
  ...result.securityRan !== void 0 ? { securityRan: result.securityRan } : {},
51161
51185
  ...result.planStatus !== void 0 ? { planStatus: result.planStatus } : {},
51186
+ // #4993 added `dryRun` to DevPipelineResult for exactly the reason above —
51187
+ // it says `completed: false` was the request, not a fault — and then did
51188
+ // not list it here either. Same omission, same function, under the comment
51189
+ // describing it. A live `run_dev_pipeline({ dryRun: true })` came back with
51190
+ // no way to tell a successful dry run from a failed pipeline.
51191
+ ...result.dryRun !== void 0 ? { dryRun: result.dryRun } : {},
51162
51192
  voteIterations: result.voteIterations,
51163
51193
  qaIterations: result.qaIterations,
51164
51194
  plan: result.plan,
@@ -51803,7 +51833,7 @@ async function probeSource(source, includeModelIds) {
51803
51833
  }
51804
51834
  }
51805
51835
  async function defaultSources(includeOpenRouter) {
51806
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-2MLMLJDK.js");
51836
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-6FNJM6P3.js");
51807
51837
  const adapters = createAllAdapters2();
51808
51838
  return buildDefaultModelSources(adapters, { includeOpenRouter });
51809
51839
  }
@@ -55865,4 +55895,4 @@ export {
55865
55895
  shutdownFeedbackSubscriber,
55866
55896
  createEventBusBridge
55867
55897
  };
55868
- //# sourceMappingURL=chunk-UTJRTD7H.js.map
55898
+ //# sourceMappingURL=chunk-BG2LQ5I2.js.map