nexus-agents 6.3.17 → 7.0.1

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 (126) hide show
  1. package/dist/{child-mcp-config-IPWKOUSE.js → child-mcp-config-ORXLS5HP.js} +2 -2
  2. package/dist/{chunk-XOCNOKIV.js → chunk-33FI7W3G.js} +2 -2
  3. package/dist/{chunk-QUMUVNL6.js → chunk-3CGUPSBW.js} +2 -2
  4. package/dist/{chunk-V2OHGKB5.js → chunk-6E2M3P5A.js} +3 -3
  5. package/dist/{chunk-PCZJMNPT.js → chunk-6GYTTWNM.js} +2 -2
  6. package/dist/{chunk-DR7DYEFQ.js → chunk-6Q3KSZVI.js} +2 -2
  7. package/dist/{chunk-DXIZQRP5.js → chunk-7U7HAYPB.js} +4 -4
  8. package/dist/{chunk-KYCJ47JZ.js → chunk-BTWKDT4F.js} +8 -8
  9. package/dist/{chunk-KXQNETUB.js → chunk-D6TL5GZV.js} +13 -4
  10. package/dist/chunk-D6TL5GZV.js.map +1 -0
  11. package/dist/{chunk-LT2LUIQK.js → chunk-HA2MM4C2.js} +71 -37
  12. package/dist/{chunk-LT2LUIQK.js.map → chunk-HA2MM4C2.js.map} +1 -1
  13. package/dist/{chunk-MB2YIETU.js → chunk-IWTK6FDT.js} +2 -2
  14. package/dist/{chunk-5EEEPQZY.js → chunk-JJT7NVNY.js} +3 -3
  15. package/dist/{chunk-6ZYJ46HN.js → chunk-JNZ3D5B5.js} +2 -2
  16. package/dist/{chunk-VNULIWRK.js → chunk-K2AWJGQO.js} +2 -2
  17. package/dist/{chunk-ET67NYCJ.js → chunk-KJWD2V4K.js} +7 -7
  18. package/dist/{chunk-UAKFLKW3.js → chunk-LVYRGNOC.js} +2 -2
  19. package/dist/chunk-MNG6VKJP.js +7 -0
  20. package/dist/{chunk-KASDQSEA.js.map → chunk-MNG6VKJP.js.map} +1 -1
  21. package/dist/{chunk-N34KB6DR.js → chunk-PDMWQ2NK.js} +141 -62
  22. package/dist/chunk-PDMWQ2NK.js.map +1 -0
  23. package/dist/{chunk-T47DKINM.js → chunk-Q6IODDEA.js} +6 -6
  24. package/dist/{chunk-RSSLLOU6.js → chunk-QAHGHWC7.js} +5 -5
  25. package/dist/{chunk-JC4WREXA.js → chunk-RBF64DXJ.js} +2 -2
  26. package/dist/{chunk-NVFYMGCC.js → chunk-RLBJTZHA.js} +2 -2
  27. package/dist/{chunk-HGL7B6WB.js → chunk-S2Z7CME3.js} +2 -2
  28. package/dist/{chunk-IRHLTW3P.js → chunk-SS5FADQN.js} +23 -9
  29. package/dist/chunk-SS5FADQN.js.map +1 -0
  30. package/dist/{chunk-OI6XXZOE.js → chunk-UJPVBDYG.js} +7 -7
  31. package/dist/{chunk-LUPEM2NF.js → chunk-UVO673OY.js} +3 -3
  32. package/dist/{chunk-CF5CXFYJ.js → chunk-VVXHIUFQ.js} +5 -5
  33. package/dist/{chunk-L3ZVRVHA.js → chunk-VYAXMVI5.js} +2 -2
  34. package/dist/{chunk-ZICPESTJ.js → chunk-XREG2HTQ.js} +4 -4
  35. package/dist/{chunk-SZZRE2VU.js → chunk-XZEYSIGG.js} +2 -2
  36. package/dist/{chunk-OP6PH7GC.js → chunk-Y5GYBP52.js} +2 -2
  37. package/dist/{chunk-UOHOHH72.js → chunk-Y742U2YM.js} +18 -7
  38. package/dist/{chunk-UOHOHH72.js.map → chunk-Y742U2YM.js.map} +1 -1
  39. package/dist/{chunk-KLQ352NK.js → chunk-ZD4VEHEG.js} +2 -2
  40. package/dist/{chunk-XOLGF5MK.js → chunk-ZGEDIKAM.js} +2 -2
  41. package/dist/{cli-circuit-breaker-TEW4RTM2.js → cli-circuit-breaker-5FYJDS5O.js} +3 -3
  42. package/dist/cli.js +41 -41
  43. package/dist/{composite-router-GEQSU4S3.js → composite-router-GE24MYPP.js} +2 -2
  44. package/dist/{consensus-vote-OHOQXNTT.js → consensus-vote-355WNDBN.js} +17 -17
  45. package/dist/{context-retriever-ECGC4EFR.js → context-retriever-3OO6N4V6.js} +8 -8
  46. package/dist/{doctor-deep-6WLU2HV7.js → doctor-deep-6WHVRRVQ.js} +3 -3
  47. package/dist/{doctor-live-OLSOA44K.js → doctor-live-J7JIZH3T.js} +9 -9
  48. package/dist/{expert-bridge-DWBQLHPG.js → expert-bridge-PWRVRFDG.js} +4 -4
  49. package/dist/{factory-Q7D2MNS2.js → factory-3BZDQQYM.js} +9 -9
  50. package/dist/{factory-OTIHI4GK.js → factory-UFKRSADE.js} +5 -5
  51. package/dist/{improvement-review-F2POEVI4.js → improvement-review-PO4LS6GO.js} +6 -6
  52. package/dist/index.d.ts +101 -14
  53. package/dist/index.js +31 -31
  54. package/dist/{init-opencode-MCS4F4MP.js → init-opencode-GDPE4U65.js} +6 -6
  55. package/dist/issue-triage-2LNYGQRJ.js +17 -0
  56. package/dist/{pr-reviewer-helpers-7OKVLICU.js → pr-reviewer-helpers-KBOP72XG.js} +4 -4
  57. package/dist/{registry-command-WRWJWKJV.js → registry-command-ZK4NQ2MX.js} +2 -2
  58. package/dist/{repo-security-plan-TW3D5JPQ.js → repo-security-plan-SZU4O2TN.js} +3 -3
  59. package/dist/{research-helpers-synthesize-3YBPFYMX.js → research-helpers-synthesize-QY3DDHTD.js} +4 -4
  60. package/dist/{routing-memory-5CLHRWID.js → routing-memory-2SMMUPTB.js} +2 -2
  61. package/dist/{session-memory-M2LUBDCR.js → session-memory-YQQVPLKM.js} +3 -3
  62. package/dist/{setup-config-OMH2SQLH.js → setup-config-LMZE4IRV.js} +3 -3
  63. package/dist/{setup-custom-api-WHU4TJKG.js → setup-custom-api-ZSBUIJID.js} +4 -4
  64. package/dist/setup-data-dir-O2EABCPO.js +29 -0
  65. package/dist/{tool-memory-K3LY6VBF.js → tool-memory-GUPG2M25.js} +5 -5
  66. package/dist/{unified-registry-DC7GEQKG.js → unified-registry-RPT4O3XB.js} +10 -10
  67. package/dist/{weather-report-XMWNDDHY.js → weather-report-6AVPMHHM.js} +2 -2
  68. package/package.json +1 -1
  69. package/dist/chunk-IRHLTW3P.js.map +0 -1
  70. package/dist/chunk-KASDQSEA.js +0 -7
  71. package/dist/chunk-KXQNETUB.js.map +0 -1
  72. package/dist/chunk-N34KB6DR.js.map +0 -1
  73. package/dist/issue-triage-A7JXRGSV.js +0 -17
  74. package/dist/setup-data-dir-BQVEUXP5.js +0 -29
  75. /package/dist/{child-mcp-config-IPWKOUSE.js.map → child-mcp-config-ORXLS5HP.js.map} +0 -0
  76. /package/dist/{chunk-XOCNOKIV.js.map → chunk-33FI7W3G.js.map} +0 -0
  77. /package/dist/{chunk-QUMUVNL6.js.map → chunk-3CGUPSBW.js.map} +0 -0
  78. /package/dist/{chunk-V2OHGKB5.js.map → chunk-6E2M3P5A.js.map} +0 -0
  79. /package/dist/{chunk-PCZJMNPT.js.map → chunk-6GYTTWNM.js.map} +0 -0
  80. /package/dist/{chunk-DR7DYEFQ.js.map → chunk-6Q3KSZVI.js.map} +0 -0
  81. /package/dist/{chunk-DXIZQRP5.js.map → chunk-7U7HAYPB.js.map} +0 -0
  82. /package/dist/{chunk-KYCJ47JZ.js.map → chunk-BTWKDT4F.js.map} +0 -0
  83. /package/dist/{chunk-MB2YIETU.js.map → chunk-IWTK6FDT.js.map} +0 -0
  84. /package/dist/{chunk-5EEEPQZY.js.map → chunk-JJT7NVNY.js.map} +0 -0
  85. /package/dist/{chunk-6ZYJ46HN.js.map → chunk-JNZ3D5B5.js.map} +0 -0
  86. /package/dist/{chunk-VNULIWRK.js.map → chunk-K2AWJGQO.js.map} +0 -0
  87. /package/dist/{chunk-ET67NYCJ.js.map → chunk-KJWD2V4K.js.map} +0 -0
  88. /package/dist/{chunk-UAKFLKW3.js.map → chunk-LVYRGNOC.js.map} +0 -0
  89. /package/dist/{chunk-T47DKINM.js.map → chunk-Q6IODDEA.js.map} +0 -0
  90. /package/dist/{chunk-RSSLLOU6.js.map → chunk-QAHGHWC7.js.map} +0 -0
  91. /package/dist/{chunk-JC4WREXA.js.map → chunk-RBF64DXJ.js.map} +0 -0
  92. /package/dist/{chunk-NVFYMGCC.js.map → chunk-RLBJTZHA.js.map} +0 -0
  93. /package/dist/{chunk-HGL7B6WB.js.map → chunk-S2Z7CME3.js.map} +0 -0
  94. /package/dist/{chunk-OI6XXZOE.js.map → chunk-UJPVBDYG.js.map} +0 -0
  95. /package/dist/{chunk-LUPEM2NF.js.map → chunk-UVO673OY.js.map} +0 -0
  96. /package/dist/{chunk-CF5CXFYJ.js.map → chunk-VVXHIUFQ.js.map} +0 -0
  97. /package/dist/{chunk-L3ZVRVHA.js.map → chunk-VYAXMVI5.js.map} +0 -0
  98. /package/dist/{chunk-ZICPESTJ.js.map → chunk-XREG2HTQ.js.map} +0 -0
  99. /package/dist/{chunk-SZZRE2VU.js.map → chunk-XZEYSIGG.js.map} +0 -0
  100. /package/dist/{chunk-OP6PH7GC.js.map → chunk-Y5GYBP52.js.map} +0 -0
  101. /package/dist/{chunk-KLQ352NK.js.map → chunk-ZD4VEHEG.js.map} +0 -0
  102. /package/dist/{chunk-XOLGF5MK.js.map → chunk-ZGEDIKAM.js.map} +0 -0
  103. /package/dist/{cli-circuit-breaker-TEW4RTM2.js.map → cli-circuit-breaker-5FYJDS5O.js.map} +0 -0
  104. /package/dist/{composite-router-GEQSU4S3.js.map → composite-router-GE24MYPP.js.map} +0 -0
  105. /package/dist/{consensus-vote-OHOQXNTT.js.map → consensus-vote-355WNDBN.js.map} +0 -0
  106. /package/dist/{context-retriever-ECGC4EFR.js.map → context-retriever-3OO6N4V6.js.map} +0 -0
  107. /package/dist/{doctor-deep-6WLU2HV7.js.map → doctor-deep-6WHVRRVQ.js.map} +0 -0
  108. /package/dist/{doctor-live-OLSOA44K.js.map → doctor-live-J7JIZH3T.js.map} +0 -0
  109. /package/dist/{expert-bridge-DWBQLHPG.js.map → expert-bridge-PWRVRFDG.js.map} +0 -0
  110. /package/dist/{factory-OTIHI4GK.js.map → factory-3BZDQQYM.js.map} +0 -0
  111. /package/dist/{factory-Q7D2MNS2.js.map → factory-UFKRSADE.js.map} +0 -0
  112. /package/dist/{improvement-review-F2POEVI4.js.map → improvement-review-PO4LS6GO.js.map} +0 -0
  113. /package/dist/{init-opencode-MCS4F4MP.js.map → init-opencode-GDPE4U65.js.map} +0 -0
  114. /package/dist/{issue-triage-A7JXRGSV.js.map → issue-triage-2LNYGQRJ.js.map} +0 -0
  115. /package/dist/{pr-reviewer-helpers-7OKVLICU.js.map → pr-reviewer-helpers-KBOP72XG.js.map} +0 -0
  116. /package/dist/{registry-command-WRWJWKJV.js.map → registry-command-ZK4NQ2MX.js.map} +0 -0
  117. /package/dist/{repo-security-plan-TW3D5JPQ.js.map → repo-security-plan-SZU4O2TN.js.map} +0 -0
  118. /package/dist/{research-helpers-synthesize-3YBPFYMX.js.map → research-helpers-synthesize-QY3DDHTD.js.map} +0 -0
  119. /package/dist/{routing-memory-5CLHRWID.js.map → routing-memory-2SMMUPTB.js.map} +0 -0
  120. /package/dist/{session-memory-M2LUBDCR.js.map → session-memory-YQQVPLKM.js.map} +0 -0
  121. /package/dist/{setup-config-OMH2SQLH.js.map → setup-config-LMZE4IRV.js.map} +0 -0
  122. /package/dist/{setup-custom-api-WHU4TJKG.js.map → setup-custom-api-ZSBUIJID.js.map} +0 -0
  123. /package/dist/{setup-data-dir-BQVEUXP5.js.map → setup-data-dir-O2EABCPO.js.map} +0 -0
  124. /package/dist/{tool-memory-K3LY6VBF.js.map → tool-memory-GUPG2M25.js.map} +0 -0
  125. /package/dist/{unified-registry-DC7GEQKG.js.map → unified-registry-RPT4O3XB.js.map} +0 -0
  126. /package/dist/{weather-report-XMWNDDHY.js.map → weather-report-6AVPMHHM.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  generateSecurityPlan
3
- } from "./chunk-L3ZVRVHA.js";
3
+ } from "./chunk-VYAXMVI5.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-OI6XXZOE.js";
24
+ } from "./chunk-UJPVBDYG.js";
25
25
  import {
26
26
  executeExpert
27
- } from "./chunk-ET67NYCJ.js";
27
+ } from "./chunk-KJWD2V4K.js";
28
28
  import {
29
29
  JobStatusSchema,
30
30
  VOTER_ROLES,
@@ -47,24 +47,24 @@ import {
47
47
  simulationDeniedResult,
48
48
  toJobSummary,
49
49
  writeJobCancelled
50
- } from "./chunk-IRHLTW3P.js";
50
+ } from "./chunk-SS5FADQN.js";
51
51
  import {
52
52
  allOf
53
53
  } from "./chunk-OQB3XC5O.js";
54
54
  import {
55
55
  normalizeTopicToCanonical,
56
56
  synthesizeResearch
57
- } from "./chunk-LUPEM2NF.js";
57
+ } from "./chunk-UVO673OY.js";
58
58
  import {
59
59
  IssueTriage
60
- } from "./chunk-T47DKINM.js";
60
+ } from "./chunk-Q6IODDEA.js";
61
61
  import {
62
62
  resolveEnvMode,
63
63
  sanitizeInput
64
- } from "./chunk-NVFYMGCC.js";
64
+ } from "./chunk-RLBJTZHA.js";
65
65
  import {
66
66
  withPrerequisite
67
- } from "./chunk-V2OHGKB5.js";
67
+ } from "./chunk-6E2M3P5A.js";
68
68
  import {
69
69
  NOOP_NOTIFIER,
70
70
  RateLimiter,
@@ -88,18 +88,18 @@ import {
88
88
  withAuditTrail,
89
89
  withProgressHeartbeat,
90
90
  wrapToolWithTimeout
91
- } from "./chunk-N34KB6DR.js";
91
+ } from "./chunk-PDMWQ2NK.js";
92
92
  import {
93
93
  createAuditTrail,
94
94
  createGraphAuditBridge,
95
95
  emitPipelinePolicyEvent
96
- } from "./chunk-DR7DYEFQ.js";
96
+ } from "./chunk-6Q3KSZVI.js";
97
97
  import {
98
98
  EventTopics,
99
99
  createEvent,
100
100
  getGlobalEventBus,
101
101
  getGlobalRegistry
102
- } from "./chunk-KXQNETUB.js";
102
+ } from "./chunk-D6TL5GZV.js";
103
103
  import {
104
104
  IDENTIFIER_RE,
105
105
  LANG_VALUES,
@@ -132,29 +132,29 @@ import {
132
132
  parseRegistry,
133
133
  sourceExistsInRegistry,
134
134
  summarizeContextForPrompt
135
- } from "./chunk-RSSLLOU6.js";
135
+ } from "./chunk-QAHGHWC7.js";
136
136
  import {
137
137
  loadPapersRegistry,
138
138
  loadTechniquesRegistry,
139
139
  resolveInsideRoot
140
- } from "./chunk-VNULIWRK.js";
140
+ } from "./chunk-K2AWJGQO.js";
141
141
  import {
142
142
  getTokenEnvVars,
143
143
  resolveToken
144
- } from "./chunk-SZZRE2VU.js";
144
+ } from "./chunk-XZEYSIGG.js";
145
145
  import {
146
146
  DEFAULT_RELEVANCE_CONFIG,
147
147
  MemoryImportance,
148
148
  calculateTextJaccardSimilarity,
149
149
  getToolMemory
150
- } from "./chunk-DXIZQRP5.js";
150
+ } from "./chunk-7U7HAYPB.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-6ZYJ46HN.js";
157
+ } from "./chunk-JNZ3D5B5.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-KYCJ47JZ.js";
175
+ } from "./chunk-BTWKDT4F.js";
176
176
  import {
177
177
  BaseAdapter,
178
178
  createStream,
179
179
  requireApiKey,
180
180
  validateApiKeyPresence
181
- } from "./chunk-UAKFLKW3.js";
181
+ } from "./chunk-LVYRGNOC.js";
182
182
  import {
183
183
  DEFAULTS
184
- } from "./chunk-KLQ352NK.js";
184
+ } from "./chunk-ZD4VEHEG.js";
185
185
  import {
186
186
  getAvailabilityCache,
187
187
  getCliForModelId,
188
188
  resolveFallback
189
- } from "./chunk-PCZJMNPT.js";
189
+ } from "./chunk-6GYTTWNM.js";
190
190
  import {
191
191
  generateHyphenId,
192
192
  generateUUID
193
- } from "./chunk-XOCNOKIV.js";
193
+ } from "./chunk-33FI7W3G.js";
194
194
  import {
195
195
  AGENT_ROUTER_TIMEOUTS,
196
196
  API_TIMEOUTS,
@@ -296,7 +296,7 @@ import {
296
296
  selectStrategyByManifest,
297
297
  toExpertTaskAnalysisResult,
298
298
  withStep
299
- } from "./chunk-UOHOHH72.js";
299
+ } from "./chunk-Y742U2YM.js";
300
300
  import {
301
301
  ensureLearningDir,
302
302
  getMetaOutcomesFile,
@@ -29692,7 +29692,7 @@ function execIdFields(executionId) {
29692
29692
  async function populateUnifiedContextOnState(state, options) {
29693
29693
  const taskCandidate = state["task"];
29694
29694
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
29695
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-ECGC4EFR.js");
29695
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-3OO6N4V6.js");
29696
29696
  const category = inferTaskCategory2(taskCandidate);
29697
29697
  const executionId = options?.executionId;
29698
29698
  const execFields = execIdFields(executionId);
@@ -44218,6 +44218,23 @@ var AuditEventSchema = z97.object({
44218
44218
  // Policy and security
44219
44219
  policyName: z97.string().optional(),
44220
44220
  policyDecision: z97.string().optional(),
44221
+ /**
44222
+ * Which occurrence of this `{tool, rule}` near-miss the record represents
44223
+ * (#5228 review). Present only on a sampled `would_deny`.
44224
+ *
44225
+ * TYPED and queryable rather than prose in `description`. The first version
44226
+ * of the sampler wrote the ordinal into the reason string to "avoid a second
44227
+ * schema widening" — two reviewers rejected that, correctly: a machine
44228
+ * consumer counting records would read 14 records as 14 near-misses when
44229
+ * 10,000 occurred, so the record did not structurally represent its own
44230
+ * partial coverage. That is the defect this PR exists to fix, reintroduced
44231
+ * one field over. An additive OPTIONAL field is a minor change, not a second
44232
+ * break, so the stated reason for avoiding it did not hold.
44233
+ *
44234
+ * Absent means "not sampled" — every occurrence was recorded — which is
44235
+ * distinct from `1`.
44236
+ */
44237
+ policyOccurrence: z97.number().int().min(1).optional(),
44221
44238
  violationType: z97.string().optional(),
44222
44239
  // Integrity (for tamper-evidence)
44223
44240
  previousHash: z97.string().optional(),
@@ -44251,6 +44268,8 @@ var AuditEventInputSchema = z97.object({
44251
44268
  metadata: z97.record(z97.string(), z97.unknown()).optional(),
44252
44269
  policyName: z97.string().optional(),
44253
44270
  policyDecision: z97.string().optional(),
44271
+ /** @see AuditEventSchema.policyOccurrence (#5228 review). */
44272
+ policyOccurrence: z97.number().int().min(1).optional(),
44254
44273
  violationType: z97.string().optional()
44255
44274
  });
44256
44275
  var AuditLogConfigSchema = z97.object({
@@ -44712,6 +44731,20 @@ var SYSTEM_ACTOR = {
44712
44731
  id: "nexus-agents",
44713
44732
  name: "Nexus Agents System"
44714
44733
  };
44734
+ function policyDecisionFields(decision) {
44735
+ switch (decision) {
44736
+ case "allow":
44737
+ return { severity: "info", outcome: "success" };
44738
+ case "deny":
44739
+ return { severity: "warning", outcome: "denied" };
44740
+ case "would_deny":
44741
+ return { severity: "warning", outcome: "success" };
44742
+ default: {
44743
+ const unreachable = decision;
44744
+ throw new Error(`Unhandled policy decision: ${String(unreachable)}`);
44745
+ }
44746
+ }
44747
+ }
44715
44748
  var DROP_WARN_INTERVAL = 1e3;
44716
44749
  var AuditLogger = class {
44717
44750
  storage;
@@ -44868,14 +44901,14 @@ var AuditLogger = class {
44868
44901
  requestId: opts.requestId,
44869
44902
  toolName: opts.toolName,
44870
44903
  durationMs: opts.durationMs,
44904
+ ...opts.policyDecision === void 0 ? {} : { policyDecision: opts.policyDecision },
44871
44905
  metadata: opts.metadata
44872
44906
  });
44873
44907
  }
44874
44908
  logPolicyDecision(opts) {
44875
44909
  this.log({
44876
44910
  category: "authorization",
44877
- severity: opts.decision === "deny" ? "warning" : "info",
44878
- outcome: opts.decision === "allow" ? "success" : "denied",
44911
+ ...policyDecisionFields(opts.decision),
44879
44912
  action: "policy.evaluate",
44880
44913
  description: opts.reason,
44881
44914
  actor: opts.actor,
@@ -44883,6 +44916,7 @@ var AuditLogger = class {
44883
44916
  requestId: opts.requestId,
44884
44917
  policyName: opts.policyName,
44885
44918
  policyDecision: opts.decision,
44919
+ ...opts.occurrence === void 0 ? {} : { policyOccurrence: opts.occurrence },
44886
44920
  metadata: opts.metadata
44887
44921
  });
44888
44922
  }
@@ -45538,7 +45572,7 @@ async function tryIssueTriage(task) {
45538
45572
  try {
45539
45573
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
45540
45574
  if (issueMatch === null) return null;
45541
- const { createIssueTriage } = await import("./issue-triage-A7JXRGSV.js");
45575
+ const { createIssueTriage } = await import("./issue-triage-2LNYGQRJ.js");
45542
45576
  const triage = createIssueTriage();
45543
45577
  const owner = issueMatch[1] ?? "";
45544
45578
  const num = issueMatch[2] ?? "";
@@ -45566,7 +45600,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
45566
45600
  ]);
45567
45601
  async function classifyWithLLM(task) {
45568
45602
  try {
45569
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-DWBQLHPG.js");
45603
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-PWRVRFDG.js");
45570
45604
  const prompt = [
45571
45605
  "Classify this task into exactly one pipeline template.",
45572
45606
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -47257,7 +47291,7 @@ var memoryInitPromise = null;
47257
47291
  async function initPipelineMemory() {
47258
47292
  if (cachedMemory !== null) return cachedMemory;
47259
47293
  try {
47260
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-M2LUBDCR.js");
47294
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YQQVPLKM.js");
47261
47295
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47262
47296
  const mem = createSessionMemory2(getLearningDir());
47263
47297
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -47319,7 +47353,7 @@ function recordRoutingExperience(category, success, durationMs, tokensUsed = 0,
47319
47353
  callRecord(routingMemoryCache);
47320
47354
  return;
47321
47355
  }
47322
- routingMemoryInitPromise ??= import("./routing-memory-5CLHRWID.js").then(({ createRoutingMemory }) => {
47356
+ routingMemoryInitPromise ??= import("./routing-memory-2SMMUPTB.js").then(({ createRoutingMemory }) => {
47323
47357
  routingMemoryCache ??= createRoutingMemory();
47324
47358
  return routingMemoryCache;
47325
47359
  }).catch((error) => {
@@ -47353,7 +47387,7 @@ ${text}` : "";
47353
47387
  }
47354
47388
  async function getWeatherContext() {
47355
47389
  try {
47356
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-XMWNDDHY.js");
47390
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-6AVPMHHM.js");
47357
47391
  const report = generateWeatherReport2({ includeAdaptive: true });
47358
47392
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
47359
47393
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -47371,7 +47405,7 @@ ${lines}
47371
47405
  }
47372
47406
  async function getMemoryContext(task) {
47373
47407
  try {
47374
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-M2LUBDCR.js");
47408
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-YQQVPLKM.js");
47375
47409
  const { getLearningDir } = await import("./learning-persistence-7O5QYDM7.js");
47376
47410
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
47377
47411
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -47490,7 +47524,7 @@ ${contextBlock}`;
47490
47524
  const strategy = config.votingStrategy ?? "higher_order";
47491
47525
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47492
47526
  try {
47493
- const { executeVoting } = await import("./consensus-vote-OHOQXNTT.js");
47527
+ const { executeVoting } = await import("./consensus-vote-355WNDBN.js");
47494
47528
  const votingResult = await executeVoting(
47495
47529
  {
47496
47530
  proposal: buildVoteProposal(plan, research),
@@ -47919,7 +47953,7 @@ async function searchCodebaseForTask(task) {
47919
47953
  }
47920
47954
  async function queryResearchRegistry(task) {
47921
47955
  try {
47922
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-3YBPFYMX.js");
47956
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-QY3DDHTD.js");
47923
47957
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
47924
47958
  if (topic === void 0) return null;
47925
47959
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -47990,7 +48024,7 @@ function createScanStageWrapper() {
47990
48024
  try {
47991
48025
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
47992
48026
  if (slug !== void 0) {
47993
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-TW3D5JPQ.js");
48027
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-SZU4O2TN.js");
47994
48028
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
47995
48029
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
47996
48030
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -51134,7 +51168,7 @@ var GitHubTaskTracker = class {
51134
51168
  cachedProvider = null;
51135
51169
  async getProvider() {
51136
51170
  if (this.cachedProvider !== null) return this.cachedProvider;
51137
- const { createScmProvider } = await import("./factory-OTIHI4GK.js");
51171
+ const { createScmProvider } = await import("./factory-UFKRSADE.js");
51138
51172
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
51139
51173
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
51140
51174
  this.cachedProvider = result.value;
@@ -52049,7 +52083,7 @@ async function probeSource(source, includeModelIds) {
52049
52083
  }
52050
52084
  }
52051
52085
  async function defaultSources(includeOpenRouter) {
52052
- const { createAllAdapters: createAllAdapters2 } = await import("./factory-Q7D2MNS2.js");
52086
+ const { createAllAdapters: createAllAdapters2 } = await import("./factory-3BZDQQYM.js");
52053
52087
  const adapters = createAllAdapters2();
52054
52088
  return buildDefaultModelSources(adapters, { includeOpenRouter });
52055
52089
  }
@@ -56121,4 +56155,4 @@ export {
56121
56155
  shutdownFeedbackSubscriber,
56122
56156
  createEventBusBridge
56123
56157
  };
56124
- //# sourceMappingURL=chunk-LT2LUIQK.js.map
56158
+ //# sourceMappingURL=chunk-HA2MM4C2.js.map