nexus-agents 2.125.26 → 2.125.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/{child-mcp-config-UD2OEL6R.js → child-mcp-config-K72GNWZ5.js} +2 -2
  2. package/dist/{chunk-RJJY7OCH.js → chunk-2G73XDDV.js} +7 -7
  3. package/dist/{chunk-2SCNPVUP.js → chunk-5KSVLEGX.js} +80 -48
  4. package/dist/{chunk-2SCNPVUP.js.map → chunk-5KSVLEGX.js.map} +1 -1
  5. package/dist/{chunk-MMWNGT2K.js → chunk-5NMHGEPM.js} +2 -2
  6. package/dist/{chunk-J22XW4IH.js → chunk-6JP3WZ4N.js} +2 -2
  7. package/dist/{chunk-TKJGNCB3.js → chunk-7NXNPDHX.js} +3 -3
  8. package/dist/{chunk-G76X4ULX.js → chunk-7XWDV5AH.js} +2 -2
  9. package/dist/{chunk-QN3353M2.js → chunk-7YP5QZU7.js} +7 -7
  10. package/dist/{chunk-WX4OJ4GY.js → chunk-BFRQRYGT.js} +5 -5
  11. package/dist/{chunk-2XTMMIO4.js → chunk-C72YRAT7.js} +2 -2
  12. package/dist/{chunk-ZHBKDMHV.js → chunk-DRW6WMN2.js} +7 -7
  13. package/dist/{chunk-IUGXMWCB.js → chunk-GTQ6PNAE.js} +2 -2
  14. package/dist/{chunk-QRF3WDZB.js → chunk-I4UTYEUH.js} +3 -3
  15. package/dist/{chunk-GCYA3Y3L.js → chunk-IDCKUSGW.js} +2 -2
  16. package/dist/{chunk-Z7EEKYOH.js → chunk-IYKWJ22L.js} +2 -2
  17. package/dist/{chunk-KEQQQRA6.js → chunk-J4OYHSKS.js} +7 -7
  18. package/dist/{chunk-DMSI3IZF.js → chunk-K3MH24H4.js} +2 -2
  19. package/dist/{chunk-6ILIYYVD.js → chunk-MHF4OIN7.js} +2 -2
  20. package/dist/{chunk-YNAI4D2K.js → chunk-MIFH757H.js} +4 -4
  21. package/dist/{chunk-RMFW66HL.js → chunk-OLYDQJTD.js} +7 -6
  22. package/dist/{chunk-RMFW66HL.js.map → chunk-OLYDQJTD.js.map} +1 -1
  23. package/dist/{chunk-KHTC44IA.js → chunk-PBTQTSJN.js} +4 -4
  24. package/dist/{chunk-423K4VCS.js → chunk-SUPKSXC4.js} +3 -3
  25. package/dist/{chunk-PIHYC36P.js → chunk-T7RTOO25.js} +4 -4
  26. package/dist/{chunk-YCPAQ4AG.js → chunk-TFZ2AW4D.js} +2 -2
  27. package/dist/{chunk-24FGKXO5.js → chunk-U6ZD3GEZ.js} +2 -2
  28. package/dist/{chunk-356VHSEL.js → chunk-UTQWV2IH.js} +2 -2
  29. package/dist/{chunk-ZCLAVGFP.js → chunk-VE7WQXXW.js} +2 -2
  30. package/dist/{chunk-5IZAKBRA.js → chunk-WOFNNHFD.js} +3 -3
  31. package/dist/{chunk-K3MKXREZ.js → chunk-X4YWJUAG.js} +2 -2
  32. package/dist/{chunk-QAI5JEE2.js → chunk-XDNAKJEQ.js} +3 -3
  33. package/dist/{chunk-VLVXB4SG.js → chunk-Z67I6Z44.js} +3 -3
  34. package/dist/{chunk-EMD6RKQ4.js → chunk-ZJ27TWV4.js} +2 -2
  35. package/dist/{cli-circuit-breaker-U4BBHCS3.js → cli-circuit-breaker-Y4NTJZS5.js} +4 -4
  36. package/dist/cli.js +38 -38
  37. package/dist/{composite-router-IAWQYQGY.js → composite-router-BILHKRHM.js} +2 -2
  38. package/dist/{consensus-vote-2JXEXT4C.js → consensus-vote-W7DNWFZG.js} +12 -12
  39. package/dist/{context-retriever-CKZ2URRM.js → context-retriever-JO23SFDP.js} +8 -8
  40. package/dist/{doctor-deep-DAJR3BMB.js → doctor-deep-S7JSSEFG.js} +3 -3
  41. package/dist/{expert-bridge-AXYDEI3H.js → expert-bridge-YRTX2LQC.js} +4 -4
  42. package/dist/{factory-2DHB5VAK.js → factory-FHAXRDGZ.js} +5 -5
  43. package/dist/factory-HSCDCASI.js +21 -0
  44. package/dist/{improvement-review-L7MSBESK.js → improvement-review-37BKRWNE.js} +4 -4
  45. package/dist/index.d.ts +26 -0
  46. package/dist/index.js +27 -27
  47. package/dist/{init-opencode-5DLRZGKX.js → init-opencode-56OAWDAD.js} +5 -5
  48. package/dist/{issue-triage-F2R6Z5TW.js → issue-triage-FDUHKN5D.js} +5 -5
  49. package/dist/{pr-reviewer-helpers-6JVRYXS7.js → pr-reviewer-helpers-3LGAMGKN.js} +4 -4
  50. package/dist/{registry-command-BY7A7234.js → registry-command-3RLG4FI7.js} +2 -2
  51. package/dist/{repo-security-plan-U6Y23KFH.js → repo-security-plan-JDUQRXWI.js} +3 -3
  52. package/dist/{research-helpers-synthesize-7HYDTRNF.js → research-helpers-synthesize-JHVGIIMP.js} +4 -4
  53. package/dist/{routing-memory-4VRD66RW.js → routing-memory-7JFKHDWN.js} +2 -2
  54. package/dist/{session-memory-MDFU67XA.js → session-memory-DYMU6YRQ.js} +3 -3
  55. package/dist/{setup-command-Z5A7CFDT.js → setup-command-YNMN6RE7.js} +11 -11
  56. package/dist/{setup-config-MS7LWPAP.js → setup-config-IJHVIO6G.js} +3 -3
  57. package/dist/{setup-custom-api-JC2ZRFQD.js → setup-custom-api-PWHUY2JT.js} +3 -3
  58. package/dist/{tool-memory-UEQVXV6B.js → tool-memory-D3MEND62.js} +5 -5
  59. package/dist/{weather-report-G252XQUH.js → weather-report-VIPLMVEV.js} +2 -2
  60. package/package.json +1 -1
  61. package/dist/factory-7RUFNYB6.js +0 -21
  62. /package/dist/{child-mcp-config-UD2OEL6R.js.map → child-mcp-config-K72GNWZ5.js.map} +0 -0
  63. /package/dist/{chunk-RJJY7OCH.js.map → chunk-2G73XDDV.js.map} +0 -0
  64. /package/dist/{chunk-MMWNGT2K.js.map → chunk-5NMHGEPM.js.map} +0 -0
  65. /package/dist/{chunk-J22XW4IH.js.map → chunk-6JP3WZ4N.js.map} +0 -0
  66. /package/dist/{chunk-TKJGNCB3.js.map → chunk-7NXNPDHX.js.map} +0 -0
  67. /package/dist/{chunk-G76X4ULX.js.map → chunk-7XWDV5AH.js.map} +0 -0
  68. /package/dist/{chunk-QN3353M2.js.map → chunk-7YP5QZU7.js.map} +0 -0
  69. /package/dist/{chunk-WX4OJ4GY.js.map → chunk-BFRQRYGT.js.map} +0 -0
  70. /package/dist/{chunk-2XTMMIO4.js.map → chunk-C72YRAT7.js.map} +0 -0
  71. /package/dist/{chunk-ZHBKDMHV.js.map → chunk-DRW6WMN2.js.map} +0 -0
  72. /package/dist/{chunk-IUGXMWCB.js.map → chunk-GTQ6PNAE.js.map} +0 -0
  73. /package/dist/{chunk-QRF3WDZB.js.map → chunk-I4UTYEUH.js.map} +0 -0
  74. /package/dist/{chunk-GCYA3Y3L.js.map → chunk-IDCKUSGW.js.map} +0 -0
  75. /package/dist/{chunk-Z7EEKYOH.js.map → chunk-IYKWJ22L.js.map} +0 -0
  76. /package/dist/{chunk-KEQQQRA6.js.map → chunk-J4OYHSKS.js.map} +0 -0
  77. /package/dist/{chunk-DMSI3IZF.js.map → chunk-K3MH24H4.js.map} +0 -0
  78. /package/dist/{chunk-6ILIYYVD.js.map → chunk-MHF4OIN7.js.map} +0 -0
  79. /package/dist/{chunk-YNAI4D2K.js.map → chunk-MIFH757H.js.map} +0 -0
  80. /package/dist/{chunk-KHTC44IA.js.map → chunk-PBTQTSJN.js.map} +0 -0
  81. /package/dist/{chunk-423K4VCS.js.map → chunk-SUPKSXC4.js.map} +0 -0
  82. /package/dist/{chunk-PIHYC36P.js.map → chunk-T7RTOO25.js.map} +0 -0
  83. /package/dist/{chunk-YCPAQ4AG.js.map → chunk-TFZ2AW4D.js.map} +0 -0
  84. /package/dist/{chunk-24FGKXO5.js.map → chunk-U6ZD3GEZ.js.map} +0 -0
  85. /package/dist/{chunk-356VHSEL.js.map → chunk-UTQWV2IH.js.map} +0 -0
  86. /package/dist/{chunk-ZCLAVGFP.js.map → chunk-VE7WQXXW.js.map} +0 -0
  87. /package/dist/{chunk-5IZAKBRA.js.map → chunk-WOFNNHFD.js.map} +0 -0
  88. /package/dist/{chunk-K3MKXREZ.js.map → chunk-X4YWJUAG.js.map} +0 -0
  89. /package/dist/{chunk-QAI5JEE2.js.map → chunk-XDNAKJEQ.js.map} +0 -0
  90. /package/dist/{chunk-VLVXB4SG.js.map → chunk-Z67I6Z44.js.map} +0 -0
  91. /package/dist/{chunk-EMD6RKQ4.js.map → chunk-ZJ27TWV4.js.map} +0 -0
  92. /package/dist/{cli-circuit-breaker-U4BBHCS3.js.map → cli-circuit-breaker-Y4NTJZS5.js.map} +0 -0
  93. /package/dist/{composite-router-IAWQYQGY.js.map → composite-router-BILHKRHM.js.map} +0 -0
  94. /package/dist/{consensus-vote-2JXEXT4C.js.map → consensus-vote-W7DNWFZG.js.map} +0 -0
  95. /package/dist/{context-retriever-CKZ2URRM.js.map → context-retriever-JO23SFDP.js.map} +0 -0
  96. /package/dist/{doctor-deep-DAJR3BMB.js.map → doctor-deep-S7JSSEFG.js.map} +0 -0
  97. /package/dist/{expert-bridge-AXYDEI3H.js.map → expert-bridge-YRTX2LQC.js.map} +0 -0
  98. /package/dist/{factory-2DHB5VAK.js.map → factory-FHAXRDGZ.js.map} +0 -0
  99. /package/dist/{factory-7RUFNYB6.js.map → factory-HSCDCASI.js.map} +0 -0
  100. /package/dist/{improvement-review-L7MSBESK.js.map → improvement-review-37BKRWNE.js.map} +0 -0
  101. /package/dist/{init-opencode-5DLRZGKX.js.map → init-opencode-56OAWDAD.js.map} +0 -0
  102. /package/dist/{issue-triage-F2R6Z5TW.js.map → issue-triage-FDUHKN5D.js.map} +0 -0
  103. /package/dist/{pr-reviewer-helpers-6JVRYXS7.js.map → pr-reviewer-helpers-3LGAMGKN.js.map} +0 -0
  104. /package/dist/{registry-command-BY7A7234.js.map → registry-command-3RLG4FI7.js.map} +0 -0
  105. /package/dist/{repo-security-plan-U6Y23KFH.js.map → repo-security-plan-JDUQRXWI.js.map} +0 -0
  106. /package/dist/{research-helpers-synthesize-7HYDTRNF.js.map → research-helpers-synthesize-JHVGIIMP.js.map} +0 -0
  107. /package/dist/{routing-memory-4VRD66RW.js.map → routing-memory-7JFKHDWN.js.map} +0 -0
  108. /package/dist/{session-memory-MDFU67XA.js.map → session-memory-DYMU6YRQ.js.map} +0 -0
  109. /package/dist/{setup-command-Z5A7CFDT.js.map → setup-command-YNMN6RE7.js.map} +0 -0
  110. /package/dist/{setup-config-MS7LWPAP.js.map → setup-config-IJHVIO6G.js.map} +0 -0
  111. /package/dist/{setup-custom-api-JC2ZRFQD.js.map → setup-custom-api-PWHUY2JT.js.map} +0 -0
  112. /package/dist/{tool-memory-UEQVXV6B.js.map → tool-memory-D3MEND62.js.map} +0 -0
  113. /package/dist/{weather-report-G252XQUH.js.map → weather-report-VIPLMVEV.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-G76X4ULX.js";
3
+ } from "./chunk-7XWDV5AH.js";
4
4
  import "./chunk-CH7QIDHQ.js";
5
5
  import "./chunk-PR4QN5HX.js";
6
6
 
@@ -59,4 +59,4 @@ export {
59
59
  generateMcpConfig,
60
60
  getDefaultAllowedTools
61
61
  };
62
- //# sourceMappingURL=child-mcp-config-UD2OEL6R.js.map
62
+ //# sourceMappingURL=child-mcp-config-K72GNWZ5.js.map
@@ -15,20 +15,20 @@ import {
15
15
  toolSuccess,
16
16
  withProgressHeartbeat,
17
17
  wrapToolWithTimeout
18
- } from "./chunk-K3MKXREZ.js";
18
+ } from "./chunk-X4YWJUAG.js";
19
19
  import {
20
20
  getToolMemory
21
- } from "./chunk-PIHYC36P.js";
21
+ } from "./chunk-T7RTOO25.js";
22
22
  import {
23
23
  authRemediation,
24
24
  createAutoAdapter,
25
25
  delay,
26
26
  getAvailableClis,
27
27
  withTimeout
28
- } from "./chunk-QN3353M2.js";
28
+ } from "./chunk-7YP5QZU7.js";
29
29
  import {
30
30
  mapModelErrorToCategory
31
- } from "./chunk-356VHSEL.js";
31
+ } from "./chunk-UTQWV2IH.js";
32
32
  import {
33
33
  AgentError,
34
34
  CLI_NAMES,
@@ -63,7 +63,7 @@ import {
63
63
  registerPersistentOutcomeStoreFactory,
64
64
  resolveVoteTimeout,
65
65
  toRateLimitError
66
- } from "./chunk-G76X4ULX.js";
66
+ } from "./chunk-7XWDV5AH.js";
67
67
  import {
68
68
  ensureLearningDir,
69
69
  getOutcomesFile,
@@ -6014,7 +6014,7 @@ async function processVotesWithCascade(engineVotes, opts) {
6014
6014
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
6015
6015
  async function runContrarianCheck(proposal, log) {
6016
6016
  try {
6017
- const { executeExpert } = await import("./expert-bridge-AXYDEI3H.js");
6017
+ const { executeExpert } = await import("./expert-bridge-YRTX2LQC.js");
6018
6018
  const prompt = [
6019
6019
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
6020
6020
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -6503,4 +6503,4 @@ export {
6503
6503
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6504
6504
  registerConsensusVoteTool
6505
6505
  };
6506
- //# sourceMappingURL=chunk-RJJY7OCH.js.map
6506
+ //# sourceMappingURL=chunk-2G73XDDV.js.map
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-WAYGXUSM.js";
11
11
  import {
12
12
  executeExpert
13
- } from "./chunk-ZHBKDMHV.js";
13
+ } from "./chunk-DRW6WMN2.js";
14
14
  import {
15
15
  EventTopics,
16
16
  JobStatusSchema,
@@ -32,23 +32,23 @@ import {
32
32
  writeJobComplete,
33
33
  writeJobFailed,
34
34
  writeJobPending
35
- } from "./chunk-RJJY7OCH.js";
35
+ } from "./chunk-2G73XDDV.js";
36
36
  import {
37
37
  normalizeTopicToCanonical,
38
38
  synthesizeResearch
39
- } from "./chunk-VLVXB4SG.js";
39
+ } from "./chunk-Z67I6Z44.js";
40
40
  import {
41
41
  IssueTriage,
42
42
  createAuditTrail,
43
43
  createGraphAuditBridge
44
- } from "./chunk-YNAI4D2K.js";
44
+ } from "./chunk-MIFH757H.js";
45
45
  import {
46
46
  resolveEnvMode,
47
47
  sanitizeInput
48
- } from "./chunk-Z7EEKYOH.js";
48
+ } from "./chunk-IYKWJ22L.js";
49
49
  import {
50
50
  withPrerequisite
51
- } from "./chunk-QAI5JEE2.js";
51
+ } from "./chunk-XDNAKJEQ.js";
52
52
  import {
53
53
  NOOP_NOTIFIER,
54
54
  RateLimiter,
@@ -70,10 +70,10 @@ import {
70
70
  withAccessPolicy,
71
71
  withProgressHeartbeat,
72
72
  wrapToolWithTimeout
73
- } from "./chunk-K3MKXREZ.js";
73
+ } from "./chunk-X4YWJUAG.js";
74
74
  import {
75
75
  generateSecurityPlan
76
- } from "./chunk-6ILIYYVD.js";
76
+ } from "./chunk-MHF4OIN7.js";
77
77
  import {
78
78
  analyzeGitHubRepo
79
79
  } from "./chunk-HFOQKCD2.js";
@@ -104,26 +104,26 @@ import {
104
104
  parseRegistry,
105
105
  sourceExistsInRegistry,
106
106
  summarizeContextForPrompt
107
- } from "./chunk-RMFW66HL.js";
107
+ } from "./chunk-OLYDQJTD.js";
108
108
  import {
109
109
  getTokenEnvVars,
110
110
  resolveToken
111
- } from "./chunk-DMSI3IZF.js";
111
+ } from "./chunk-K3MH24H4.js";
112
112
  import {
113
113
  loadPapersRegistry,
114
114
  loadTechniquesRegistry
115
- } from "./chunk-ZCLAVGFP.js";
115
+ } from "./chunk-VE7WQXXW.js";
116
116
  import {
117
117
  DEFAULT_RELEVANCE_CONFIG,
118
118
  MemoryImportance,
119
119
  calculateTextJaccardSimilarity,
120
120
  getToolMemory
121
- } from "./chunk-PIHYC36P.js";
121
+ } from "./chunk-T7RTOO25.js";
122
122
  import {
123
123
  DEFAULT_TASK_TTL_MS,
124
124
  DEFAULT_TOOL_RATE_LIMITS,
125
125
  clampTaskTtl
126
- } from "./chunk-KEQQQRA6.js";
126
+ } from "./chunk-J4OYHSKS.js";
127
127
  import {
128
128
  resolveInsideRoot
129
129
  } from "./chunk-NUBSJGQZ.js";
@@ -138,19 +138,19 @@ import {
138
138
  getAvailableClis,
139
139
  sleep,
140
140
  withTimeout
141
- } from "./chunk-QN3353M2.js";
141
+ } from "./chunk-7YP5QZU7.js";
142
142
  import {
143
143
  DEFAULTS
144
- } from "./chunk-2XTMMIO4.js";
144
+ } from "./chunk-C72YRAT7.js";
145
145
  import {
146
146
  getAvailabilityCache,
147
147
  getCliForModelId,
148
148
  resolveFallback
149
- } from "./chunk-IUGXMWCB.js";
149
+ } from "./chunk-GTQ6PNAE.js";
150
150
  import {
151
151
  generateHyphenId,
152
152
  generateUUID
153
- } from "./chunk-24FGKXO5.js";
153
+ } from "./chunk-U6ZD3GEZ.js";
154
154
  import {
155
155
  BUILT_IN_EXPERTS,
156
156
  BuiltInExpertTypeSchema,
@@ -162,7 +162,7 @@ import {
162
162
  } from "./chunk-PQHVC4BD.js";
163
163
  import {
164
164
  createSessionMemory
165
- } from "./chunk-EMD6RKQ4.js";
165
+ } from "./chunk-ZJ27TWV4.js";
166
166
  import {
167
167
  AGENT_ROUTER_TIMEOUTS,
168
168
  ARCHITECTURE_KEYWORDS,
@@ -243,7 +243,7 @@ import {
243
243
  routingArmDisplaySlot,
244
244
  toExpertTaskAnalysisResult,
245
245
  withStep
246
- } from "./chunk-G76X4ULX.js";
246
+ } from "./chunk-7XWDV5AH.js";
247
247
  import {
248
248
  nexusDataPath,
249
249
  nexusDataPathEnsure
@@ -26075,6 +26075,17 @@ function emitStepCompleted(ctx, nodesExecuted, options) {
26075
26075
  timestamp: getTimeProvider().now()
26076
26076
  });
26077
26077
  }
26078
+ function emitContextUnavailable(args, options) {
26079
+ const emit = options?.onEvent;
26080
+ if (emit === void 0) return;
26081
+ emit({
26082
+ type: "context_unavailable",
26083
+ category: args.category,
26084
+ error: args.error,
26085
+ ...args.executionId !== void 0 ? { executionId: args.executionId } : {},
26086
+ timestamp: getTimeProvider().now()
26087
+ });
26088
+ }
26078
26089
  function emitExecutionComplete(totalSteps, totalNodes, durationMs, options) {
26079
26090
  const emit = options?.onEvent;
26080
26091
  if (emit === void 0) return;
@@ -26269,31 +26280,41 @@ function failureClassification(category) {
26269
26280
  var DEFAULT_MAX_STEPS = GRAPH_TIMEOUTS.maxSteps;
26270
26281
  var DEFAULT_TIMEOUT_MS3 = GRAPH_TIMEOUTS.defaultMs;
26271
26282
  var GRAPH_UNIFIED_CONTEXT_KEY = "__unifiedContext";
26272
- async function populateUnifiedContextOnState(state) {
26283
+ function execIdFields(executionId) {
26284
+ return executionId !== void 0 ? { executionId } : {};
26285
+ }
26286
+ async function populateUnifiedContextOnState(state, options) {
26287
+ const taskCandidate = state["task"];
26288
+ if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26289
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-JO23SFDP.js");
26290
+ const category = inferTaskCategory2(taskCandidate);
26291
+ const executionId = options?.executionId;
26292
+ const execFields = execIdFields(executionId);
26273
26293
  try {
26274
- const taskCandidate = state["task"];
26275
- if (typeof taskCandidate !== "string" || taskCandidate === "") return;
26276
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-CKZ2URRM.js");
26277
- const ctx = await getContextForTask2({
26278
- task: taskCandidate,
26279
- category: inferTaskCategory2(taskCandidate),
26280
- logger: logger16
26281
- });
26294
+ const ctx = await getContextForTask2({ task: taskCandidate, category, logger: logger16, ...execFields });
26282
26295
  state[GRAPH_UNIFIED_CONTEXT_KEY] = ctx;
26283
26296
  logger16.debug("Graph start: unified memory context stashed", {
26297
+ category,
26298
+ ...execFields,
26284
26299
  beliefs: ctx.beliefs.length,
26285
26300
  similarMemories: ctx.similarMemories.length,
26286
26301
  experiencePatterns: ctx.experiencePatterns.length,
26287
26302
  outcomesTotal: ctx.outcomes?.totalTasks ?? 0
26288
26303
  });
26289
26304
  } catch (error) {
26290
- logger16.debug("Graph start: context retrieval failed", { error: getErrorMessage(error) });
26305
+ const message = getErrorMessage(error);
26306
+ logger16.warn("Graph start: context retrieval failed; continuing with empty context", {
26307
+ category,
26308
+ ...execFields,
26309
+ error: message
26310
+ });
26311
+ emitContextUnavailable({ category, error: message, ...execFields }, options);
26291
26312
  }
26292
26313
  }
26293
26314
  async function executeGraph(graph, initialInputs, options) {
26294
26315
  const startTime = getTimeProvider().now();
26295
26316
  const initialState = initializeState(graph, initialInputs);
26296
- await populateUnifiedContextOnState(initialState);
26317
+ await populateUnifiedContextOnState(initialState, options);
26297
26318
  const ctx = {
26298
26319
  state: initialState,
26299
26320
  allResults: [],
@@ -37721,7 +37742,22 @@ function toEventSummary(event) {
37721
37742
  }
37722
37743
  return { type: event.type, detail: formatDetail(event) };
37723
37744
  }
37745
+ function isHookEvent(event) {
37746
+ return event.type === "hook_started" || event.type === "hook_completed" || event.type === "hook_failed";
37747
+ }
37748
+ function formatHookDetail(event) {
37749
+ const where = `${event.hookPhase}: ${event.hookName} on ${event.nodeId}`;
37750
+ switch (event.type) {
37751
+ case "hook_started":
37752
+ return where;
37753
+ case "hook_completed":
37754
+ return `${where} in ${String(event.durationMs)}ms`;
37755
+ case "hook_failed":
37756
+ return `${where}: ${event.error}`;
37757
+ }
37758
+ }
37724
37759
  function formatDetail(event) {
37760
+ if (isHookEvent(event)) return formatHookDetail(event);
37725
37761
  switch (event.type) {
37726
37762
  case "node_started":
37727
37763
  return `Starting ${event.nodeId}`;
@@ -37735,12 +37771,8 @@ function formatDetail(event) {
37735
37771
  return `${String(event.totalSteps)} steps, ${String(event.durationMs)}ms`;
37736
37772
  case "state_updated":
37737
37773
  return event.updatedKeys.join(", ");
37738
- case "hook_started":
37739
- return `${event.hookPhase}: ${event.hookName} on ${event.nodeId}`;
37740
- case "hook_completed":
37741
- return `${event.hookPhase}: ${event.hookName} on ${event.nodeId} in ${String(event.durationMs)}ms`;
37742
- case "hook_failed":
37743
- return `${event.hookPhase}: ${event.hookName} on ${event.nodeId}: ${event.error}`;
37774
+ case "context_unavailable":
37775
+ return `Context unavailable for category '${event.category}': ${event.error}`;
37744
37776
  }
37745
37777
  }
37746
37778
  function createErrorResponse(opts) {
@@ -41004,7 +41036,7 @@ async function tryIssueTriage(task) {
41004
41036
  try {
41005
41037
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
41006
41038
  if (issueMatch === null) return null;
41007
- const { createIssueTriage } = await import("./issue-triage-F2R6Z5TW.js");
41039
+ const { createIssueTriage } = await import("./issue-triage-FDUHKN5D.js");
41008
41040
  const triage = createIssueTriage();
41009
41041
  const owner = issueMatch[1] ?? "";
41010
41042
  const num = issueMatch[2] ?? "";
@@ -41032,7 +41064,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
41032
41064
  ]);
41033
41065
  async function classifyWithLLM(task) {
41034
41066
  try {
41035
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-AXYDEI3H.js");
41067
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-YRTX2LQC.js");
41036
41068
  const prompt = [
41037
41069
  "Classify this task into exactly one pipeline template.",
41038
41070
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -42625,7 +42657,7 @@ var memoryInitPromise = null;
42625
42657
  async function initPipelineMemory() {
42626
42658
  if (cachedMemory !== null) return cachedMemory;
42627
42659
  try {
42628
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-MDFU67XA.js");
42660
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-DYMU6YRQ.js");
42629
42661
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
42630
42662
  const mem = createSessionMemory2(getLearningDir());
42631
42663
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -42682,7 +42714,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0)
42682
42714
  callRecord(routingMemoryCache);
42683
42715
  return;
42684
42716
  }
42685
- routingMemoryInitPromise ??= import("./routing-memory-4VRD66RW.js").then(({ createRoutingMemory }) => {
42717
+ routingMemoryInitPromise ??= import("./routing-memory-7JFKHDWN.js").then(({ createRoutingMemory }) => {
42686
42718
  routingMemoryCache ??= createRoutingMemory();
42687
42719
  return routingMemoryCache;
42688
42720
  }).catch((error) => {
@@ -42716,7 +42748,7 @@ ${text}` : "";
42716
42748
  }
42717
42749
  async function getWeatherContext() {
42718
42750
  try {
42719
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-G252XQUH.js");
42751
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-VIPLMVEV.js");
42720
42752
  const report = generateWeatherReport2({ includeAdaptive: true });
42721
42753
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
42722
42754
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -42734,7 +42766,7 @@ ${lines}
42734
42766
  }
42735
42767
  async function getMemoryContext(task) {
42736
42768
  try {
42737
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-MDFU67XA.js");
42769
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-DYMU6YRQ.js");
42738
42770
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
42739
42771
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
42740
42772
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -42845,7 +42877,7 @@ ${contextBlock}`;
42845
42877
  const strategy = config.votingStrategy ?? "higher_order";
42846
42878
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
42847
42879
  try {
42848
- const { executeVoting } = await import("./consensus-vote-2JXEXT4C.js");
42880
+ const { executeVoting } = await import("./consensus-vote-W7DNWFZG.js");
42849
42881
  const votingResult = await executeVoting(
42850
42882
  {
42851
42883
  proposal: buildVoteProposal(plan, research),
@@ -43276,7 +43308,7 @@ async function searchCodebaseForTask(task) {
43276
43308
  }
43277
43309
  async function queryResearchRegistry(task) {
43278
43310
  try {
43279
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-7HYDTRNF.js");
43311
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-JHVGIIMP.js");
43280
43312
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
43281
43313
  if (topic === void 0) return null;
43282
43314
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -43347,7 +43379,7 @@ function createScanStageWrapper() {
43347
43379
  try {
43348
43380
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
43349
43381
  if (slug !== void 0) {
43350
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-U6Y23KFH.js");
43382
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-JDUQRXWI.js");
43351
43383
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
43352
43384
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
43353
43385
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -45257,7 +45289,7 @@ var GitHubTaskTracker = class {
45257
45289
  cachedProvider = null;
45258
45290
  async getProvider() {
45259
45291
  if (this.cachedProvider !== null) return this.cachedProvider;
45260
- const { createScmProvider } = await import("./factory-2DHB5VAK.js");
45292
+ const { createScmProvider } = await import("./factory-FHAXRDGZ.js");
45261
45293
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
45262
45294
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
45263
45295
  this.cachedProvider = result.value;
@@ -45893,7 +45925,7 @@ async function probeSource(source, includeModelIds) {
45893
45925
  }
45894
45926
  }
45895
45927
  async function defaultSources(includeOpenRouter) {
45896
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-7RUFNYB6.js");
45928
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-HSCDCASI.js");
45897
45929
  const adapters = createAllAdapters2();
45898
45930
  return buildDefaultModelSources(adapters, { includeOpenRouter });
45899
45931
  }
@@ -49885,4 +49917,4 @@ export {
49885
49917
  shutdownFeedbackSubscriber,
49886
49918
  createEventBusBridge
49887
49919
  };
49888
- //# sourceMappingURL=chunk-2SCNPVUP.js.map
49920
+ //# sourceMappingURL=chunk-5KSVLEGX.js.map