nexus-agents 8.117.0 → 8.119.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 (141) hide show
  1. package/dist/{ast-rule-runner-TBEMNCEM.js → ast-rule-runner-FYYKLLPP.js} +3 -3
  2. package/dist/{child-mcp-config-ZYAMNUSI.js → child-mcp-config-XPFSENYA.js} +2 -2
  3. package/dist/{chunk-3LYZHDBR.js → chunk-5A4XYGR7.js} +4 -4
  4. package/dist/{chunk-AMJHBMS3.js → chunk-7UJMX3NX.js} +4 -4
  5. package/dist/{chunk-R6QANTJE.js → chunk-AGLJ5HC6.js} +40 -17
  6. package/dist/{chunk-R6QANTJE.js.map → chunk-AGLJ5HC6.js.map} +1 -1
  7. package/dist/{chunk-S7QDJWWN.js → chunk-BDOGS7WG.js} +3 -3
  8. package/dist/{chunk-HHXQ6MTA.js → chunk-BIQCMERC.js} +2 -2
  9. package/dist/{chunk-A42AQZ42.js → chunk-BQJDVBCK.js} +13 -6
  10. package/dist/{chunk-A42AQZ42.js.map → chunk-BQJDVBCK.js.map} +1 -1
  11. package/dist/{chunk-NA4UZV33.js → chunk-DSS3IZBD.js} +2 -2
  12. package/dist/{chunk-RYXH3MW5.js → chunk-ED4IXZTH.js} +2 -2
  13. package/dist/{chunk-3IGKSXSW.js → chunk-F5J6FQOK.js} +3 -3
  14. package/dist/{chunk-ESI42DJA.js → chunk-FKRWRXLE.js} +2 -2
  15. package/dist/{chunk-L6RY37CY.js → chunk-GMJ64YRZ.js} +2 -2
  16. package/dist/{chunk-YKONAMEB.js → chunk-IPFOCGD3.js} +4 -4
  17. package/dist/{chunk-PCHJEZG6.js → chunk-IUZAW2QV.js} +5 -5
  18. package/dist/chunk-KUAUYG5I.js +294 -0
  19. package/dist/chunk-KUAUYG5I.js.map +1 -0
  20. package/dist/{chunk-7SHNFTZL.js → chunk-NVVDC4JB.js} +24 -15
  21. package/dist/chunk-NVVDC4JB.js.map +1 -0
  22. package/dist/{chunk-3D6VZUMD.js → chunk-O6NT3KJP.js} +2 -2
  23. package/dist/{chunk-HGHUR3D2.js → chunk-OTPXA2UT.js} +2 -2
  24. package/dist/{chunk-HOQ6IQDM.js → chunk-P4BDYN6U.js} +27 -21
  25. package/dist/chunk-P4BDYN6U.js.map +1 -0
  26. package/dist/{chunk-2WZLDQ3F.js → chunk-PAM2AOIT.js} +8 -10
  27. package/dist/{chunk-2WZLDQ3F.js.map → chunk-PAM2AOIT.js.map} +1 -1
  28. package/dist/{chunk-YIFRLHIO.js → chunk-Q6KRNF54.js} +8 -8
  29. package/dist/{chunk-DL3IPHIS.js → chunk-QNXGQREW.js} +7 -7
  30. package/dist/{chunk-7CKZMLMF.js → chunk-RN2DZBMV.js} +3 -3
  31. package/dist/{chunk-LXHNZWEI.js → chunk-RZ3MSWEF.js} +2 -2
  32. package/dist/{chunk-TC33JR2R.js → chunk-SIY2AUF6.js} +2 -2
  33. package/dist/{chunk-2W3EA2WQ.js → chunk-SXEDI4V5.js} +2 -2
  34. package/dist/{chunk-2GQ7HGUC.js → chunk-U34Z2LUI.js} +2 -2
  35. package/dist/{chunk-ZAQIKVFA.js → chunk-UFRUE44X.js} +2 -2
  36. package/dist/{chunk-TTBXQ3XY.js → chunk-UKUJAE64.js} +2 -2
  37. package/dist/{chunk-W5CZY7XH.js → chunk-VTQP7NEX.js} +3 -3
  38. package/dist/{chunk-Y45MXDIH.js → chunk-W4QXKXZ5.js} +2 -2
  39. package/dist/{chunk-UFMA7B3K.js → chunk-WBUQN5RD.js} +2 -2
  40. package/dist/{chunk-3UPLTDCG.js → chunk-XHRLBVAY.js} +5 -5
  41. package/dist/{chunk-6KXMFUIS.js → chunk-YGM44KWX.js} +2 -2
  42. package/dist/{chunk-U2COYWHP.js → chunk-YLC3B4ID.js} +14 -14
  43. package/dist/{chunk-7QEWP66K.js → chunk-Z27YLRRK.js} +94 -68
  44. package/dist/chunk-Z27YLRRK.js.map +1 -0
  45. package/dist/{cli-circuit-breaker-ATLGIZHJ.js → cli-circuit-breaker-7M754FZ5.js} +3 -3
  46. package/dist/cli.js +69 -62
  47. package/dist/cli.js.map +1 -1
  48. package/dist/{composite-router-32IHJVPU.js → composite-router-44JHBDFZ.js} +2 -2
  49. package/dist/{consensus-vote-AASABIRM.js → consensus-vote-C5TMM2YF.js} +17 -18
  50. package/dist/{context-retriever-E5WG44MR.js → context-retriever-LJYV5PSB.js} +8 -8
  51. package/dist/{doctor-deep-36OHMZBQ.js → doctor-deep-7JXMJQEH.js} +3 -3
  52. package/dist/doctor-gateway-report-V3DCTMIK.js +19 -0
  53. package/dist/{doctor-live-AEMBB5SA.js → doctor-live-4VARLB5G.js} +11 -11
  54. package/dist/{expert-bridge-IWJ2YWHE.js → expert-bridge-2W4IVE6E.js} +4 -5
  55. package/dist/{factory-JCHE2VG2.js → factory-DXTY7YH5.js} +5 -5
  56. package/dist/{factory-D6ZSZ43V.js → factory-JPY5EGAJ.js} +10 -10
  57. package/dist/{improvement-review-2ML5UX24.js → improvement-review-QKNPX6PT.js} +6 -6
  58. package/dist/index.d.ts +23 -3
  59. package/dist/index.js +50 -51
  60. package/dist/index.js.map +1 -1
  61. package/dist/{init-opencode-IX6DHIDC.js → init-opencode-E637NEIA.js} +6 -6
  62. package/dist/{issue-triage-OMJTUZHR.js → issue-triage-KVLQP4GT.js} +6 -6
  63. package/dist/{openai-compat-adapter-ALR2W274.js → openai-compat-adapter-DCSJTDO2.js} +6 -6
  64. package/dist/{pr-reviewer-helpers-VXW3VQRJ.js → pr-reviewer-helpers-U2QJTGW7.js} +4 -4
  65. package/dist/{registry-command-OJP3BT2R.js → registry-command-EPUOBQFP.js} +2 -2
  66. package/dist/{repo-security-plan-E6IBGVSX.js → repo-security-plan-EXJDN5KR.js} +3 -3
  67. package/dist/{research-helpers-synthesize-TROUC5Q5.js → research-helpers-synthesize-POE5BH56.js} +4 -4
  68. package/dist/{routing-memory-VEH4YR4B.js → routing-memory-EUDFKSV7.js} +2 -2
  69. package/dist/{session-memory-IJLOM2GI.js → session-memory-DMTMHHEZ.js} +3 -3
  70. package/dist/{setup-config-TUV4YSIV.js → setup-config-O237G4KM.js} +3 -3
  71. package/dist/{setup-custom-api-5M65Q47K.js → setup-custom-api-HUFZHJ3O.js} +4 -4
  72. package/dist/setup-data-dir-HCZZDAU7.js +33 -0
  73. package/dist/{tool-memory-AXYUILQN.js → tool-memory-34GG3W3Q.js} +5 -5
  74. package/dist/{unified-registry-2UJJB533.js → unified-registry-FGNMCXPR.js} +11 -12
  75. package/dist/{weather-report-VMXL4RCA.js → weather-report-A26ACFXI.js} +2 -2
  76. package/package.json +1 -1
  77. package/dist/chunk-7QEWP66K.js.map +0 -1
  78. package/dist/chunk-7SHNFTZL.js.map +0 -1
  79. package/dist/chunk-HOQ6IQDM.js.map +0 -1
  80. package/dist/chunk-MX7TQLA6.js +0 -82
  81. package/dist/chunk-MX7TQLA6.js.map +0 -1
  82. package/dist/chunk-XBUEG2X3.js +0 -153
  83. package/dist/chunk-XBUEG2X3.js.map +0 -1
  84. package/dist/doctor-gateway-report-P6WNWTOS.js +0 -17
  85. package/dist/setup-data-dir-WZ2GACH5.js +0 -34
  86. /package/dist/{ast-rule-runner-TBEMNCEM.js.map → ast-rule-runner-FYYKLLPP.js.map} +0 -0
  87. /package/dist/{child-mcp-config-ZYAMNUSI.js.map → child-mcp-config-XPFSENYA.js.map} +0 -0
  88. /package/dist/{chunk-3LYZHDBR.js.map → chunk-5A4XYGR7.js.map} +0 -0
  89. /package/dist/{chunk-AMJHBMS3.js.map → chunk-7UJMX3NX.js.map} +0 -0
  90. /package/dist/{chunk-S7QDJWWN.js.map → chunk-BDOGS7WG.js.map} +0 -0
  91. /package/dist/{chunk-HHXQ6MTA.js.map → chunk-BIQCMERC.js.map} +0 -0
  92. /package/dist/{chunk-NA4UZV33.js.map → chunk-DSS3IZBD.js.map} +0 -0
  93. /package/dist/{chunk-RYXH3MW5.js.map → chunk-ED4IXZTH.js.map} +0 -0
  94. /package/dist/{chunk-3IGKSXSW.js.map → chunk-F5J6FQOK.js.map} +0 -0
  95. /package/dist/{chunk-ESI42DJA.js.map → chunk-FKRWRXLE.js.map} +0 -0
  96. /package/dist/{chunk-L6RY37CY.js.map → chunk-GMJ64YRZ.js.map} +0 -0
  97. /package/dist/{chunk-YKONAMEB.js.map → chunk-IPFOCGD3.js.map} +0 -0
  98. /package/dist/{chunk-PCHJEZG6.js.map → chunk-IUZAW2QV.js.map} +0 -0
  99. /package/dist/{chunk-3D6VZUMD.js.map → chunk-O6NT3KJP.js.map} +0 -0
  100. /package/dist/{chunk-HGHUR3D2.js.map → chunk-OTPXA2UT.js.map} +0 -0
  101. /package/dist/{chunk-YIFRLHIO.js.map → chunk-Q6KRNF54.js.map} +0 -0
  102. /package/dist/{chunk-DL3IPHIS.js.map → chunk-QNXGQREW.js.map} +0 -0
  103. /package/dist/{chunk-7CKZMLMF.js.map → chunk-RN2DZBMV.js.map} +0 -0
  104. /package/dist/{chunk-LXHNZWEI.js.map → chunk-RZ3MSWEF.js.map} +0 -0
  105. /package/dist/{chunk-TC33JR2R.js.map → chunk-SIY2AUF6.js.map} +0 -0
  106. /package/dist/{chunk-2W3EA2WQ.js.map → chunk-SXEDI4V5.js.map} +0 -0
  107. /package/dist/{chunk-2GQ7HGUC.js.map → chunk-U34Z2LUI.js.map} +0 -0
  108. /package/dist/{chunk-ZAQIKVFA.js.map → chunk-UFRUE44X.js.map} +0 -0
  109. /package/dist/{chunk-TTBXQ3XY.js.map → chunk-UKUJAE64.js.map} +0 -0
  110. /package/dist/{chunk-W5CZY7XH.js.map → chunk-VTQP7NEX.js.map} +0 -0
  111. /package/dist/{chunk-Y45MXDIH.js.map → chunk-W4QXKXZ5.js.map} +0 -0
  112. /package/dist/{chunk-UFMA7B3K.js.map → chunk-WBUQN5RD.js.map} +0 -0
  113. /package/dist/{chunk-3UPLTDCG.js.map → chunk-XHRLBVAY.js.map} +0 -0
  114. /package/dist/{chunk-6KXMFUIS.js.map → chunk-YGM44KWX.js.map} +0 -0
  115. /package/dist/{chunk-U2COYWHP.js.map → chunk-YLC3B4ID.js.map} +0 -0
  116. /package/dist/{cli-circuit-breaker-ATLGIZHJ.js.map → cli-circuit-breaker-7M754FZ5.js.map} +0 -0
  117. /package/dist/{composite-router-32IHJVPU.js.map → composite-router-44JHBDFZ.js.map} +0 -0
  118. /package/dist/{consensus-vote-AASABIRM.js.map → consensus-vote-C5TMM2YF.js.map} +0 -0
  119. /package/dist/{context-retriever-E5WG44MR.js.map → context-retriever-LJYV5PSB.js.map} +0 -0
  120. /package/dist/{doctor-deep-36OHMZBQ.js.map → doctor-deep-7JXMJQEH.js.map} +0 -0
  121. /package/dist/{doctor-gateway-report-P6WNWTOS.js.map → doctor-gateway-report-V3DCTMIK.js.map} +0 -0
  122. /package/dist/{doctor-live-AEMBB5SA.js.map → doctor-live-4VARLB5G.js.map} +0 -0
  123. /package/dist/{expert-bridge-IWJ2YWHE.js.map → expert-bridge-2W4IVE6E.js.map} +0 -0
  124. /package/dist/{factory-D6ZSZ43V.js.map → factory-DXTY7YH5.js.map} +0 -0
  125. /package/dist/{factory-JCHE2VG2.js.map → factory-JPY5EGAJ.js.map} +0 -0
  126. /package/dist/{improvement-review-2ML5UX24.js.map → improvement-review-QKNPX6PT.js.map} +0 -0
  127. /package/dist/{init-opencode-IX6DHIDC.js.map → init-opencode-E637NEIA.js.map} +0 -0
  128. /package/dist/{issue-triage-OMJTUZHR.js.map → issue-triage-KVLQP4GT.js.map} +0 -0
  129. /package/dist/{openai-compat-adapter-ALR2W274.js.map → openai-compat-adapter-DCSJTDO2.js.map} +0 -0
  130. /package/dist/{pr-reviewer-helpers-VXW3VQRJ.js.map → pr-reviewer-helpers-U2QJTGW7.js.map} +0 -0
  131. /package/dist/{registry-command-OJP3BT2R.js.map → registry-command-EPUOBQFP.js.map} +0 -0
  132. /package/dist/{repo-security-plan-E6IBGVSX.js.map → repo-security-plan-EXJDN5KR.js.map} +0 -0
  133. /package/dist/{research-helpers-synthesize-TROUC5Q5.js.map → research-helpers-synthesize-POE5BH56.js.map} +0 -0
  134. /package/dist/{routing-memory-VEH4YR4B.js.map → routing-memory-EUDFKSV7.js.map} +0 -0
  135. /package/dist/{session-memory-IJLOM2GI.js.map → session-memory-DMTMHHEZ.js.map} +0 -0
  136. /package/dist/{setup-config-TUV4YSIV.js.map → setup-config-O237G4KM.js.map} +0 -0
  137. /package/dist/{setup-custom-api-5M65Q47K.js.map → setup-custom-api-HUFZHJ3O.js.map} +0 -0
  138. /package/dist/{setup-data-dir-WZ2GACH5.js.map → setup-data-dir-HCZZDAU7.js.map} +0 -0
  139. /package/dist/{tool-memory-AXYUILQN.js.map → tool-memory-34GG3W3Q.js.map} +0 -0
  140. /package/dist/{unified-registry-2UJJB533.js.map → unified-registry-FGNMCXPR.js.map} +0 -0
  141. /package/dist/{weather-report-VMXL4RCA.js.map → weather-report-A26ACFXI.js.map} +0 -0
@@ -9,9 +9,9 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-6KXMFUIS.js";
12
+ } from "./chunk-YGM44KWX.js";
13
13
  import "./chunk-XEPZSDN5.js";
14
- import "./chunk-R6QANTJE.js";
14
+ import "./chunk-AGLJ5HC6.js";
15
15
  import "./chunk-UE7A2XHM.js";
16
16
  import "./chunk-LWOX65CP.js";
17
17
  import "./chunk-PX6F3LHL.js";
@@ -27,4 +27,4 @@ export {
27
27
  loadRules,
28
28
  runAstQaRules
29
29
  };
30
- //# sourceMappingURL=ast-rule-runner-TBEMNCEM.js.map
30
+ //# sourceMappingURL=ast-rule-runner-FYYKLLPP.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OITVVSWO.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-R6QANTJE.js";
6
+ } from "./chunk-AGLJ5HC6.js";
7
7
  import "./chunk-UE7A2XHM.js";
8
8
  import "./chunk-LWOX65CP.js";
9
9
  import "./chunk-PX6F3LHL.js";
@@ -49,4 +49,4 @@ async function generateMcpConfig(options) {
49
49
  export {
50
50
  generateMcpConfig
51
51
  };
52
- //# sourceMappingURL=child-mcp-config-ZYAMNUSI.js.map
52
+ //# sourceMappingURL=child-mcp-config-XPFSENYA.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-UFMA7B3K.js";
4
+ } from "./chunk-WBUQN5RD.js";
5
5
  import {
6
6
  resolveToken
7
- } from "./chunk-ESI42DJA.js";
7
+ } from "./chunk-FKRWRXLE.js";
8
8
  import {
9
9
  err,
10
10
  ok
11
- } from "./chunk-R6QANTJE.js";
11
+ } from "./chunk-AGLJ5HC6.js";
12
12
 
13
13
  // src/scm/factory.ts
14
14
  async function createScmProvider(config) {
@@ -41,4 +41,4 @@ export {
41
41
  createScmProvider,
42
42
  createGitHubProvider
43
43
  };
44
- //# sourceMappingURL=chunk-3LYZHDBR.js.map
44
+ //# sourceMappingURL=chunk-5A4XYGR7.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-SX5DB6UR.js";
9
9
  import {
10
10
  SessionMemory
11
- } from "./chunk-RYXH3MW5.js";
11
+ } from "./chunk-ED4IXZTH.js";
12
12
  import {
13
13
  TRUST_TIER_NUMERIC,
14
14
  TrustTierSchema
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-MUJCGBZW.js";
23
23
  import {
24
24
  generateId
25
- } from "./chunk-ZAQIKVFA.js";
25
+ } from "./chunk-UFRUE44X.js";
26
26
  import {
27
27
  ErrorCode,
28
28
  NexusError,
@@ -36,7 +36,7 @@ import {
36
36
  ok,
37
37
  openSqliteDatabase,
38
38
  setSharedMobiMemDbPathResolver
39
- } from "./chunk-R6QANTJE.js";
39
+ } from "./chunk-AGLJ5HC6.js";
40
40
  import {
41
41
  nexusDataPath
42
42
  } from "./chunk-LWOX65CP.js";
@@ -5843,4 +5843,4 @@ export {
5843
5843
  shutdownToolMemory,
5844
5844
  ToolMemoryManager
5845
5845
  };
5846
- //# sourceMappingURL=chunk-AMJHBMS3.js.map
5846
+ //# sourceMappingURL=chunk-7UJMX3NX.js.map
@@ -2767,7 +2767,7 @@ function setDefaultRegistry(registry) {
2767
2767
  }
2768
2768
  async function reloadDefaultRegistry() {
2769
2769
  globalRegistry = buildDefaultRegistry();
2770
- const { resetGlobalRegistry } = await import("./unified-registry-2UJJB533.js");
2770
+ const { resetGlobalRegistry } = await import("./unified-registry-FGNMCXPR.js");
2771
2771
  resetGlobalRegistry();
2772
2772
  return globalRegistry;
2773
2773
  }
@@ -12026,6 +12026,7 @@ var OutcomeCliSchema = z15.union([CliNameSchema, ApiArmIdSchema, z15.literal("un
12026
12026
  var OutcomeCliSourceSchema = z15.enum(["executed", "category-default"]);
12027
12027
  var OutcomeRoutedBySchema = z15.enum(["composite-router"]);
12028
12028
  var OutcomeCategorySourceSchema = z15.enum(["detected", "defaulted"]);
12029
+ var TRACE_ID_MAX_LENGTH = 128;
12029
12030
  var TaskOutcomeSchema = z15.object({
12030
12031
  id: z15.string().min(1),
12031
12032
  cli: OutcomeCliSchema,
@@ -12073,9 +12074,10 @@ var TaskOutcomeSchema = z15.object({
12073
12074
  baselineId: z15.string().min(1).max(64).optional(),
12074
12075
  /**
12075
12076
  * Distributed trace id correlating this outcome across the pipeline (#3146).
12077
+ * Consensus rows carry the decision ID shared by cost and vote records (#6857).
12076
12078
  * Optional + backward-compatible: older JSONL records without it hydrate fine.
12077
12079
  */
12078
- traceId: z15.string().min(1).max(128).optional(),
12080
+ traceId: z15.string().min(1).max(TRACE_ID_MAX_LENGTH).optional(),
12079
12081
  /** Request id correlating this outcome to its originating invocation (#3146). */
12080
12082
  requestId: z15.string().min(1).max(128).optional(),
12081
12083
  /**
@@ -15050,8 +15052,10 @@ var DecisionCostSummarySchema2 = z19.object({
15050
15052
  perModel: z19.array(ModelCostBreakdownSchema).readonly()
15051
15053
  });
15052
15054
  var DecisionCostRecordSchema = z19.object({
15053
- /** Stable id for the decision (correlation id / jobId / minted decision id). */
15055
+ /** Stable decision correlation id, independent of the async job id. */
15054
15056
  decisionId: z19.string().min(1).max(160),
15057
+ /** Actual async job id; malformed metadata drops only this field. */
15058
+ jobId: z19.string().min(1).max(200).optional().catch(void 0),
15055
15059
  /** Which gate type incurred the cost. */
15056
15060
  gate: DecisionGateSchema,
15057
15061
  /** ISO 8601 timestamp the rollup was recorded. */
@@ -15096,6 +15100,7 @@ var DecisionCostStore = class {
15096
15100
  const summary = rollupDecisionCost(input.voters, input.billingMode);
15097
15101
  const record = {
15098
15102
  decisionId: input.decisionId,
15103
+ ...input.jobId !== void 0 ? { jobId: input.jobId } : {},
15099
15104
  gate: input.gate,
15100
15105
  timestamp: input.timestamp,
15101
15106
  summary,
@@ -15122,6 +15127,19 @@ var DecisionCostStore = class {
15122
15127
  };
15123
15128
 
15124
15129
  // src/observability/consensus-decision-tokens.ts
15130
+ function joinOutcomes(records, outcomes) {
15131
+ const ids = new Set(records.map((record) => record.decisionId));
15132
+ const consensus = outcomes.filter((row) => row.source === "consensus");
15133
+ const matched = consensus.filter((row) => row.traceId !== void 0 && ids.has(row.traceId));
15134
+ const decisions = new Set(matched.map((row) => row.traceId)).size;
15135
+ return {
15136
+ matchedDecisionsWithOutcomes: decisions,
15137
+ matchedOutcomeRows: matched.length,
15138
+ unmatchedOutcomeRows: consensus.length - matched.length,
15139
+ matchedLlmAnsweredOutcomeRows: matched.filter((row) => row.success).length,
15140
+ outcomeJoinCoverage: consensus.length === 0 || ids.size === 0 ? null : decisions / ids.size
15141
+ };
15142
+ }
15125
15143
  function sumObservedAttempts(records) {
15126
15144
  const observed = records.flatMap(
15127
15145
  (r) => r.summary.observedAttemptUsage !== void 0 ? [r.summary.observedAttemptUsage] : []
@@ -15216,7 +15234,7 @@ function joinCosts(costs, index) {
15216
15234
  }
15217
15235
  return { records, quorum, noQuorum, unmatched, noQuorumTokens };
15218
15236
  }
15219
- function summarizeConsensusDecisionTokens(costRecords, voteRecords) {
15237
+ function summarizeConsensusDecisionTokens(costRecords, voteRecords, outcomes = []) {
15220
15238
  const consensusCosts = costRecords.filter((r) => r.gate === "consensus_vote");
15221
15239
  const validCosts = consensusCosts.filter(validCostRecord);
15222
15240
  const invalidCostRecords = consensusCosts.length - validCosts.length;
@@ -15242,7 +15260,8 @@ function summarizeConsensusDecisionTokens(costRecords, voteRecords) {
15242
15260
  tokenUnmeasuredVoters: coverage?.tokenUnmeasuredVoters ?? 0,
15243
15261
  tokenCoverage: coverage?.tokenCoverage ?? null,
15244
15262
  measurement: "lower-bound-final-seats",
15245
- observedAttemptUsage: sumObservedAttempts(joined.records)
15263
+ observedAttemptUsage: sumObservedAttempts(joined.records),
15264
+ ...joinOutcomes(joined.records, outcomes)
15246
15265
  };
15247
15266
  }
15248
15267
 
@@ -17034,9 +17053,11 @@ function buildCostSection(cfg, deps) {
17034
17053
  deps?.voteRecords,
17035
17054
  deps?.decisionCostRecords !== void 0
17036
17055
  );
17056
+ const since = windowMs > 0 ? new Date(Date.now() - windowMs).toISOString() : void 0;
17057
+ const outcomes = getOutcomeStore().query({ source: "consensus", since });
17037
17058
  return {
17038
17059
  decisionCosts: aggregateDecisionCosts(records, windowMs),
17039
- consensusDecisionTokens: summarizeConsensusDecisionTokens(records, votes),
17060
+ consensusDecisionTokens: summarizeConsensusDecisionTokens(records, votes, outcomes),
17040
17061
  strategyCostProfiles: strategyCostProfiles()
17041
17062
  };
17042
17063
  }
@@ -19149,7 +19170,7 @@ var CompositeRouter = class _CompositeRouter {
19149
19170
  */
19150
19171
  async consultUnifiedContext(task) {
19151
19172
  try {
19152
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-E5WG44MR.js");
19173
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-LJYV5PSB.js");
19153
19174
  const ctx = await getContextForTask({
19154
19175
  task: task.content,
19155
19176
  category: inferTaskCategory(task.content),
@@ -20655,6 +20676,7 @@ export {
20655
20676
  resolveVoteTimeout,
20656
20677
  validateTimeout,
20657
20678
  OutcomeFailureCategorySchema,
20679
+ TRACE_ID_MAX_LENGTH,
20658
20680
  TaskOutcomeSchema,
20659
20681
  resolveOutcomeCategory,
20660
20682
  hasMeasuredCategory,
@@ -20711,6 +20733,7 @@ export {
20711
20733
  logGatewaySlotMapping,
20712
20734
  toModelTokenUsage,
20713
20735
  createModelToCliAdapter,
20736
+ gatewayServedSlotOf,
20714
20737
  cliBinaryAdapterOf,
20715
20738
  resolveGatewayServedSlot,
20716
20739
  decideSlotServing,
@@ -20725,6 +20748,15 @@ export {
20725
20748
  resolveGatewayCostDeclaration,
20726
20749
  describeGatewayCostDeclaration,
20727
20750
  warnIfGatewayCostUndeclared,
20751
+ computeTokenCost,
20752
+ priceBasisOf,
20753
+ recordUsageEvent,
20754
+ loadUsageEvents,
20755
+ rollupByModel,
20756
+ setGatewayCatalog,
20757
+ clearGatewayCatalog,
20758
+ gatewayCostDetail,
20759
+ servedCostDetail,
20728
20760
  ModelRegistry,
20729
20761
  getDefaultRegistry,
20730
20762
  setDefaultRegistry,
@@ -20748,7 +20780,6 @@ export {
20748
20780
  findModelsByToolCapability,
20749
20781
  findModelsByFeature,
20750
20782
  modelSupportsAll,
20751
- computeTokenCost,
20752
20783
  calculateCost,
20753
20784
  colors,
20754
20785
  symbols,
@@ -20783,14 +20814,6 @@ export {
20783
20814
  DEFAULT_COMPOSITE_CONFIG,
20784
20815
  CompositeRoutingError,
20785
20816
  NEUTRAL_BANDIT_FEATURE,
20786
- priceBasisOf,
20787
- recordUsageEvent,
20788
- loadUsageEvents,
20789
- rollupByModel,
20790
- setGatewayCatalog,
20791
- clearGatewayCatalog,
20792
- gatewayCostDetail,
20793
- servedCostDetail,
20794
20817
  DEFAULT_TOPSIS_CRITERIA,
20795
20818
  DEFAULT_TOPSIS_CONFIG,
20796
20819
  DEFAULT_MODEL_PROFILES,
@@ -20879,4 +20902,4 @@ export {
20879
20902
  AgentCapability,
20880
20903
  OrchestratorError
20881
20904
  };
20882
- //# sourceMappingURL=chunk-R6QANTJE.js.map
20905
+ //# sourceMappingURL=chunk-AGLJ5HC6.js.map