nexus-agents 3.6.4 → 3.6.6

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 (121) hide show
  1. package/dist/{child-mcp-config-SVGK6QFI.js → child-mcp-config-VGCRJI5K.js} +2 -2
  2. package/dist/{chunk-OVYEVJIS.js → chunk-2I2VX62W.js} +2 -2
  3. package/dist/{chunk-XZ7XRJY5.js → chunk-3KIJASVO.js} +5 -5
  4. package/dist/{chunk-DJ7YCUOL.js → chunk-3LMU5W5I.js} +4 -4
  5. package/dist/{chunk-LFIDNLBP.js → chunk-44AA6TSZ.js} +2 -2
  6. package/dist/{chunk-6LZNWY4D.js → chunk-6WRQIEKK.js} +2 -2
  7. package/dist/{chunk-R4W2GOYG.js → chunk-7RIGDQDO.js} +2 -2
  8. package/dist/{chunk-PGNOJRUL.js → chunk-7ZDIDX4J.js} +5 -5
  9. package/dist/{chunk-542D7RE3.js → chunk-CGICJPJ6.js} +2 -2
  10. package/dist/{chunk-EJQRYAKB.js → chunk-CPEOXRCU.js} +3 -3
  11. package/dist/{chunk-WSFTWS2A.js → chunk-DJLJGL34.js} +2 -2
  12. package/dist/{chunk-KJY3WZJY.js → chunk-G54Y5OQU.js} +2 -2
  13. package/dist/{chunk-QMGVJYGO.js → chunk-G7TY5OTP.js} +5 -5
  14. package/dist/{chunk-4Q6SSODG.js → chunk-HOMEGHVJ.js} +4 -4
  15. package/dist/{chunk-2TSXBISI.js → chunk-IW333FC3.js} +35 -35
  16. package/dist/{chunk-VIVICQZY.js → chunk-JJQWBH65.js} +2 -2
  17. package/dist/{chunk-LEU3OISH.js → chunk-KG2ECSYJ.js} +22 -9
  18. package/dist/chunk-KG2ECSYJ.js.map +1 -0
  19. package/dist/{chunk-J5TKJM7U.js → chunk-KJCXANOL.js} +2 -2
  20. package/dist/{chunk-OO7JQJTG.js → chunk-KNOECZP2.js} +27 -20
  21. package/dist/{chunk-OO7JQJTG.js.map → chunk-KNOECZP2.js.map} +1 -1
  22. package/dist/{chunk-EOVXDAYT.js → chunk-LOY7LJJT.js} +2 -2
  23. package/dist/{chunk-CWOXQK7J.js → chunk-MGLEPBIZ.js} +2 -2
  24. package/dist/{chunk-3XYA4XDX.js → chunk-MNQYHPWP.js} +3 -3
  25. package/dist/{chunk-XZYPUK4O.js → chunk-N7FPSYIR.js} +2 -2
  26. package/dist/{chunk-RNERS4BC.js → chunk-PZISZC5R.js} +5 -5
  27. package/dist/{chunk-77RSSNU6.js → chunk-QJU6PS53.js} +2 -2
  28. package/dist/{chunk-UAXEANMF.js → chunk-QWFEQURV.js} +3 -3
  29. package/dist/{chunk-ALDOPPP4.js → chunk-SA5S55UW.js} +2 -2
  30. package/dist/{chunk-CFJV3CEA.js → chunk-SAPRUA5H.js} +2 -2
  31. package/dist/{chunk-NRRH254O.js → chunk-SH4HKLPQ.js} +8 -8
  32. package/dist/{chunk-JOWSYOT4.js → chunk-VCS5YLU2.js} +3 -3
  33. package/dist/{chunk-ABNK3EFM.js → chunk-XZSYG6JW.js} +4 -4
  34. package/dist/{chunk-TXQUWORP.js → chunk-Y4T2ZCZB.js} +8 -8
  35. package/dist/{chunk-XLACRVKG.js → chunk-YRAOOAYY.js} +2 -2
  36. package/dist/{chunk-56GTITUT.js → chunk-ZCHQS3KU.js} +7 -7
  37. package/dist/{cli-circuit-breaker-WWXIVSRL.js → cli-circuit-breaker-WCYTIJVB.js} +3 -3
  38. package/dist/cli.js +41 -41
  39. package/dist/{composite-router-DHNRWBLP.js → composite-router-YDG6I25X.js} +2 -2
  40. package/dist/{consensus-vote-TALT6GHT.js → consensus-vote-QGMUKHKI.js} +16 -16
  41. package/dist/{context-retriever-SHMAFK3K.js → context-retriever-SRPTYHYW.js} +8 -8
  42. package/dist/{doctor-deep-R2DKQMK4.js → doctor-deep-TIIP6FL7.js} +3 -3
  43. package/dist/{doctor-live-TXBH4FFG.js → doctor-live-47RN4A4J.js} +23 -10
  44. package/dist/doctor-live-47RN4A4J.js.map +1 -0
  45. package/dist/{expert-bridge-WJ54PXNM.js → expert-bridge-76OOP55L.js} +4 -4
  46. package/dist/{factory-WFICVFVH.js → factory-IYGZJJU4.js} +9 -9
  47. package/dist/{factory-JWGO2QJJ.js → factory-JEKAU3BF.js} +5 -5
  48. package/dist/{improvement-review-N5IGPQOL.js → improvement-review-XIHUWWA7.js} +5 -5
  49. package/dist/index.js +30 -30
  50. package/dist/{init-opencode-YSZRAYEA.js → init-opencode-P2SUBOXA.js} +6 -6
  51. package/dist/{issue-triage-EMQSTTXS.js → issue-triage-4ZI2PVTX.js} +6 -6
  52. package/dist/{pr-reviewer-helpers-ZP6PBKBX.js → pr-reviewer-helpers-L3JGYIAM.js} +4 -4
  53. package/dist/{registry-command-KEAFJLHC.js → registry-command-STM5M5PE.js} +2 -2
  54. package/dist/{repo-security-plan-PYRBPSWW.js → repo-security-plan-TL4OZHQU.js} +3 -3
  55. package/dist/{research-helpers-synthesize-PNNPNBWS.js → research-helpers-synthesize-3ZCK4ND7.js} +4 -4
  56. package/dist/{routing-memory-RZ5RV35U.js → routing-memory-FBBYHH4N.js} +2 -2
  57. package/dist/{session-memory-LXWIFK34.js → session-memory-3O6OL3XO.js} +3 -3
  58. package/dist/{setup-command-HANW3KOD.js → setup-command-FFXCEFI6.js} +14 -14
  59. package/dist/{setup-config-QR3QG2PF.js → setup-config-A6YREIL7.js} +3 -3
  60. package/dist/{setup-custom-api-H6C36KPK.js → setup-custom-api-63EM5YEE.js} +4 -4
  61. package/dist/{tool-memory-XJKSCMZT.js → tool-memory-XE54TMHW.js} +5 -5
  62. package/dist/{unified-registry-X6V64OYT.js → unified-registry-TVI5DNYM.js} +10 -10
  63. package/dist/{weather-report-BDYHHFYX.js → weather-report-XONOF32O.js} +2 -2
  64. package/package.json +1 -1
  65. package/dist/chunk-LEU3OISH.js.map +0 -1
  66. package/dist/doctor-live-TXBH4FFG.js.map +0 -1
  67. /package/dist/{child-mcp-config-SVGK6QFI.js.map → child-mcp-config-VGCRJI5K.js.map} +0 -0
  68. /package/dist/{chunk-OVYEVJIS.js.map → chunk-2I2VX62W.js.map} +0 -0
  69. /package/dist/{chunk-XZ7XRJY5.js.map → chunk-3KIJASVO.js.map} +0 -0
  70. /package/dist/{chunk-DJ7YCUOL.js.map → chunk-3LMU5W5I.js.map} +0 -0
  71. /package/dist/{chunk-LFIDNLBP.js.map → chunk-44AA6TSZ.js.map} +0 -0
  72. /package/dist/{chunk-6LZNWY4D.js.map → chunk-6WRQIEKK.js.map} +0 -0
  73. /package/dist/{chunk-R4W2GOYG.js.map → chunk-7RIGDQDO.js.map} +0 -0
  74. /package/dist/{chunk-PGNOJRUL.js.map → chunk-7ZDIDX4J.js.map} +0 -0
  75. /package/dist/{chunk-542D7RE3.js.map → chunk-CGICJPJ6.js.map} +0 -0
  76. /package/dist/{chunk-EJQRYAKB.js.map → chunk-CPEOXRCU.js.map} +0 -0
  77. /package/dist/{chunk-WSFTWS2A.js.map → chunk-DJLJGL34.js.map} +0 -0
  78. /package/dist/{chunk-KJY3WZJY.js.map → chunk-G54Y5OQU.js.map} +0 -0
  79. /package/dist/{chunk-QMGVJYGO.js.map → chunk-G7TY5OTP.js.map} +0 -0
  80. /package/dist/{chunk-4Q6SSODG.js.map → chunk-HOMEGHVJ.js.map} +0 -0
  81. /package/dist/{chunk-2TSXBISI.js.map → chunk-IW333FC3.js.map} +0 -0
  82. /package/dist/{chunk-VIVICQZY.js.map → chunk-JJQWBH65.js.map} +0 -0
  83. /package/dist/{chunk-J5TKJM7U.js.map → chunk-KJCXANOL.js.map} +0 -0
  84. /package/dist/{chunk-EOVXDAYT.js.map → chunk-LOY7LJJT.js.map} +0 -0
  85. /package/dist/{chunk-CWOXQK7J.js.map → chunk-MGLEPBIZ.js.map} +0 -0
  86. /package/dist/{chunk-3XYA4XDX.js.map → chunk-MNQYHPWP.js.map} +0 -0
  87. /package/dist/{chunk-XZYPUK4O.js.map → chunk-N7FPSYIR.js.map} +0 -0
  88. /package/dist/{chunk-RNERS4BC.js.map → chunk-PZISZC5R.js.map} +0 -0
  89. /package/dist/{chunk-77RSSNU6.js.map → chunk-QJU6PS53.js.map} +0 -0
  90. /package/dist/{chunk-UAXEANMF.js.map → chunk-QWFEQURV.js.map} +0 -0
  91. /package/dist/{chunk-ALDOPPP4.js.map → chunk-SA5S55UW.js.map} +0 -0
  92. /package/dist/{chunk-CFJV3CEA.js.map → chunk-SAPRUA5H.js.map} +0 -0
  93. /package/dist/{chunk-NRRH254O.js.map → chunk-SH4HKLPQ.js.map} +0 -0
  94. /package/dist/{chunk-JOWSYOT4.js.map → chunk-VCS5YLU2.js.map} +0 -0
  95. /package/dist/{chunk-ABNK3EFM.js.map → chunk-XZSYG6JW.js.map} +0 -0
  96. /package/dist/{chunk-TXQUWORP.js.map → chunk-Y4T2ZCZB.js.map} +0 -0
  97. /package/dist/{chunk-XLACRVKG.js.map → chunk-YRAOOAYY.js.map} +0 -0
  98. /package/dist/{chunk-56GTITUT.js.map → chunk-ZCHQS3KU.js.map} +0 -0
  99. /package/dist/{cli-circuit-breaker-WWXIVSRL.js.map → cli-circuit-breaker-WCYTIJVB.js.map} +0 -0
  100. /package/dist/{composite-router-DHNRWBLP.js.map → composite-router-YDG6I25X.js.map} +0 -0
  101. /package/dist/{consensus-vote-TALT6GHT.js.map → consensus-vote-QGMUKHKI.js.map} +0 -0
  102. /package/dist/{context-retriever-SHMAFK3K.js.map → context-retriever-SRPTYHYW.js.map} +0 -0
  103. /package/dist/{doctor-deep-R2DKQMK4.js.map → doctor-deep-TIIP6FL7.js.map} +0 -0
  104. /package/dist/{expert-bridge-WJ54PXNM.js.map → expert-bridge-76OOP55L.js.map} +0 -0
  105. /package/dist/{factory-JWGO2QJJ.js.map → factory-IYGZJJU4.js.map} +0 -0
  106. /package/dist/{factory-WFICVFVH.js.map → factory-JEKAU3BF.js.map} +0 -0
  107. /package/dist/{improvement-review-N5IGPQOL.js.map → improvement-review-XIHUWWA7.js.map} +0 -0
  108. /package/dist/{init-opencode-YSZRAYEA.js.map → init-opencode-P2SUBOXA.js.map} +0 -0
  109. /package/dist/{issue-triage-EMQSTTXS.js.map → issue-triage-4ZI2PVTX.js.map} +0 -0
  110. /package/dist/{pr-reviewer-helpers-ZP6PBKBX.js.map → pr-reviewer-helpers-L3JGYIAM.js.map} +0 -0
  111. /package/dist/{registry-command-KEAFJLHC.js.map → registry-command-STM5M5PE.js.map} +0 -0
  112. /package/dist/{repo-security-plan-PYRBPSWW.js.map → repo-security-plan-TL4OZHQU.js.map} +0 -0
  113. /package/dist/{research-helpers-synthesize-PNNPNBWS.js.map → research-helpers-synthesize-3ZCK4ND7.js.map} +0 -0
  114. /package/dist/{routing-memory-RZ5RV35U.js.map → routing-memory-FBBYHH4N.js.map} +0 -0
  115. /package/dist/{session-memory-LXWIFK34.js.map → session-memory-3O6OL3XO.js.map} +0 -0
  116. /package/dist/{setup-command-HANW3KOD.js.map → setup-command-FFXCEFI6.js.map} +0 -0
  117. /package/dist/{setup-config-QR3QG2PF.js.map → setup-config-A6YREIL7.js.map} +0 -0
  118. /package/dist/{setup-custom-api-H6C36KPK.js.map → setup-custom-api-63EM5YEE.js.map} +0 -0
  119. /package/dist/{tool-memory-XJKSCMZT.js.map → tool-memory-XE54TMHW.js.map} +0 -0
  120. /package/dist/{unified-registry-X6V64OYT.js.map → unified-registry-TVI5DNYM.js.map} +0 -0
  121. /package/dist/{weather-report-BDYHHFYX.js.map → weather-report-XONOF32O.js.map} +0 -0
@@ -11,26 +11,26 @@ import {
11
11
  resetCorrelationTracker,
12
12
  runConsensusForGoal,
13
13
  unwrapVoteOrThrow
14
- } from "./chunk-NRRH254O.js";
15
- import "./chunk-6LZNWY4D.js";
16
- import "./chunk-UAXEANMF.js";
17
- import "./chunk-J5TKJM7U.js";
18
- import "./chunk-4Q6SSODG.js";
19
- import "./chunk-DJ7YCUOL.js";
14
+ } from "./chunk-SH4HKLPQ.js";
15
+ import "./chunk-6WRQIEKK.js";
16
+ import "./chunk-QWFEQURV.js";
17
+ import "./chunk-KJCXANOL.js";
18
+ import "./chunk-HOMEGHVJ.js";
19
+ import "./chunk-3LMU5W5I.js";
20
20
  import "./chunk-6T3EPABN.js";
21
- import "./chunk-LFIDNLBP.js";
21
+ import "./chunk-44AA6TSZ.js";
22
22
  import "./chunk-DVKS77O5.js";
23
23
  import "./chunk-KSQSWEFH.js";
24
- import "./chunk-TXQUWORP.js";
25
- import "./chunk-OVYEVJIS.js";
26
- import "./chunk-XLACRVKG.js";
27
- import "./chunk-77RSSNU6.js";
24
+ import "./chunk-Y4T2ZCZB.js";
25
+ import "./chunk-2I2VX62W.js";
26
+ import "./chunk-YRAOOAYY.js";
27
+ import "./chunk-QJU6PS53.js";
28
28
  import "./chunk-SNJNRDKZ.js";
29
- import "./chunk-EOVXDAYT.js";
29
+ import "./chunk-LOY7LJJT.js";
30
30
  import "./chunk-QZUG667L.js";
31
- import "./chunk-XZYPUK4O.js";
32
- import "./chunk-542D7RE3.js";
33
- import "./chunk-OO7JQJTG.js";
31
+ import "./chunk-N7FPSYIR.js";
32
+ import "./chunk-CGICJPJ6.js";
33
+ import "./chunk-KNOECZP2.js";
34
34
  import "./chunk-2HUC6NZN.js";
35
35
  import "./chunk-OQLFRJCW.js";
36
36
  import "./chunk-ZPWHCABL.js";
@@ -48,4 +48,4 @@ export {
48
48
  runConsensusForGoal,
49
49
  unwrapVoteOrThrow
50
50
  };
51
- //# sourceMappingURL=consensus-vote-TALT6GHT.js.map
51
+ //# sourceMappingURL=consensus-vote-QGMUKHKI.js.map
@@ -6,18 +6,18 @@ import {
6
6
  inferTaskCategory,
7
7
  selectRelevantResearch,
8
8
  summarizeContextForPrompt
9
- } from "./chunk-XZ7XRJY5.js";
10
- import "./chunk-R4W2GOYG.js";
11
- import "./chunk-CWOXQK7J.js";
9
+ } from "./chunk-3KIJASVO.js";
10
+ import "./chunk-7RIGDQDO.js";
11
+ import "./chunk-MGLEPBIZ.js";
12
12
  import "./chunk-NUBSJGQZ.js";
13
- import "./chunk-DJ7YCUOL.js";
13
+ import "./chunk-3LMU5W5I.js";
14
14
  import "./chunk-6T3EPABN.js";
15
- import "./chunk-LFIDNLBP.js";
15
+ import "./chunk-44AA6TSZ.js";
16
16
  import "./chunk-DVKS77O5.js";
17
17
  import "./chunk-KSQSWEFH.js";
18
18
  import "./chunk-QZUG667L.js";
19
- import "./chunk-XZYPUK4O.js";
20
- import "./chunk-OO7JQJTG.js";
19
+ import "./chunk-N7FPSYIR.js";
20
+ import "./chunk-KNOECZP2.js";
21
21
  import "./chunk-2HUC6NZN.js";
22
22
  import "./chunk-OQLFRJCW.js";
23
23
  import "./chunk-ZPWHCABL.js";
@@ -30,4 +30,4 @@ export {
30
30
  selectRelevantResearch,
31
31
  summarizeContextForPrompt
32
32
  };
33
- //# sourceMappingURL=context-retriever-SHMAFK3K.js.map
33
+ //# sourceMappingURL=context-retriever-SRPTYHYW.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  formatDeepDiagnostics,
3
3
  runDeepDiagnostics
4
- } from "./chunk-CFJV3CEA.js";
5
- import "./chunk-OO7JQJTG.js";
4
+ } from "./chunk-SAPRUA5H.js";
5
+ import "./chunk-KNOECZP2.js";
6
6
  import "./chunk-2HUC6NZN.js";
7
7
  import "./chunk-OQLFRJCW.js";
8
8
  import "./chunk-ZPWHCABL.js";
@@ -10,4 +10,4 @@ export {
10
10
  formatDeepDiagnostics,
11
11
  runDeepDiagnostics
12
12
  };
13
- //# sourceMappingURL=doctor-deep-R2DKQMK4.js.map
13
+ //# sourceMappingURL=doctor-deep-TIIP6FL7.js.map
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  createAllAdapters,
3
3
  probeAllClis
4
- } from "./chunk-TXQUWORP.js";
5
- import "./chunk-OVYEVJIS.js";
6
- import "./chunk-XLACRVKG.js";
7
- import "./chunk-77RSSNU6.js";
4
+ } from "./chunk-Y4T2ZCZB.js";
5
+ import "./chunk-2I2VX62W.js";
6
+ import "./chunk-YRAOOAYY.js";
7
+ import "./chunk-QJU6PS53.js";
8
8
  import "./chunk-SNJNRDKZ.js";
9
- import "./chunk-EOVXDAYT.js";
9
+ import "./chunk-LOY7LJJT.js";
10
10
  import "./chunk-QZUG667L.js";
11
- import "./chunk-XZYPUK4O.js";
12
- import "./chunk-542D7RE3.js";
11
+ import "./chunk-N7FPSYIR.js";
12
+ import "./chunk-CGICJPJ6.js";
13
13
  import {
14
14
  resolveClassGuardMs
15
- } from "./chunk-OO7JQJTG.js";
15
+ } from "./chunk-KNOECZP2.js";
16
16
  import "./chunk-2HUC6NZN.js";
17
17
  import "./chunk-OQLFRJCW.js";
18
18
  import "./chunk-ZPWHCABL.js";
@@ -32,7 +32,20 @@ function buildReadiness(cli, levels) {
32
32
  return { cli, levels, ...reached !== void 0 ? { reached } : {} };
33
33
  }
34
34
  function formatReadiness(readiness) {
35
- const icon = (o) => o.status === "verified" ? "\u2713" : o.status === "failed" ? "\u2717" : "\xB7";
35
+ const icon = (o) => {
36
+ switch (o.status) {
37
+ case "verified":
38
+ return "\u2713";
39
+ case "failed":
40
+ return "\u2717";
41
+ case "not-attempted":
42
+ return "\xB7";
43
+ default: {
44
+ const exhaustive = o;
45
+ throw new Error(`Unhandled level outcome: ${JSON.stringify(exhaustive)}`);
46
+ }
47
+ }
48
+ };
36
49
  const lines = READINESS_LEVELS.map((level) => {
37
50
  const outcome = readiness.levels[level];
38
51
  const detail = outcome.status === "verified" ? "" : ` \u2014 ${outcome.reason}`;
@@ -133,4 +146,4 @@ export {
133
146
  formatLiveReadiness,
134
147
  runLiveReadiness
135
148
  };
136
- //# sourceMappingURL=doctor-live-TXBH4FFG.js.map
149
+ //# sourceMappingURL=doctor-live-47RN4A4J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/cli-readiness.ts","../src/cli/doctor-live.ts"],"sourcesContent":["/**\n * Readiness levels for a CLI adapter (#4376, #4351 criterion 7).\n *\n * Nothing in the tree could confirm that an adapter which *looks* healthy can\n * actually serve a completion. `healthCheck()` proves the binary exists at an\n * acceptable version; `cli-auth-probe` proves credentials are present and\n * unexpired, and says so explicitly — \"No live API calls.\" Neither proves the\n * adapter serves anything.\n *\n * That is the state #4351 reported: every voter returned `stop_sequence` with\n * zero tokens while every available check said healthy. The checks were not\n * wrong; they were answering a narrower question than the caller assumed.\n *\n * ## Levels, and what each one actually proves\n *\n * | level | proves | costs |\n * | --------------- | ----------------------------------------- | ----- |\n * | `installed` | the binary exists at a supported version | none |\n * | `authenticated` | credentials are present and unexpired | none |\n * | `serves` | a real completion came back with content | quota |\n *\n * `serves` is the only level that can catch #4351, and the only one that\n * spends the resource it is measuring. It therefore runs **only when\n * explicitly invoked** (`doctor --live`). Decided by a 7-voter `higher_order`\n * panel on #4376 (5 of 6 approvers): the rejected alternative cached a probe\n * result behind a TTL on the default path, which is a stale measurement\n * presented as current readiness — the same defect this module exists to fix.\n *\n * ## Not-attempted is not a failure\n *\n * The load-bearing distinction. A level that was never run reports\n * `not-attempted`, never `failed`. A reader must be able to tell \"we checked\n * and it does not serve\" from \"we did not check\", because the second is the\n * default state of every run that does not pass `--live`, and reporting it as\n * either healthy or broken would be a claim nobody measured.\n *\n * @module cli/cli-readiness\n * (Source: Issue #4376)\n */\n\nimport { resolveClassGuardMs } from '../config/timeouts.js';\nimport type { CliName } from '../cli-adapters/types.js';\n\n/** Ordered weakest to strongest. Each level subsumes the ones before it. */\nexport const READINESS_LEVELS = ['installed', 'authenticated', 'serves'] as const;\n\nexport type ReadinessLevel = (typeof READINESS_LEVELS)[number];\n\n/** What a single level's check concluded. */\nexport type LevelOutcome =\n | { readonly status: 'verified' }\n | { readonly status: 'failed'; readonly reason: string }\n /** Not run. Carries why, so the report can distinguish opt-out from error. */\n | { readonly status: 'not-attempted'; readonly reason: string };\n\nexport interface CliReadiness {\n readonly cli: CliName;\n readonly levels: Readonly<Record<ReadinessLevel, LevelOutcome>>;\n /**\n * The strongest level actually VERIFIED, or undefined when even `installed`\n * failed. Never inferred from a level that was not attempted.\n */\n readonly reached?: ReadinessLevel;\n}\n\n/** Human-readable statement of what a level does and does not prove. */\nexport const LEVEL_MEANING: Readonly<Record<ReadinessLevel, string>> = {\n installed: 'binary present at a supported version — proves nothing about auth or serving',\n authenticated: 'credentials present and unexpired, read locally — no API call was made',\n serves: 'a real completion returned content — the only level that proves the adapter works',\n};\n\n/**\n * The strongest verified level, stopping at the first gap.\n *\n * Stops rather than scanning for any verified level, because the ladder is\n * cumulative: a `serves` verification below a failed `authenticated` would\n * mean the two checks disagree, and reporting the higher one would paper over\n * that. A `not-attempted` level stops the ladder exactly like a failure —\n * absence of a check is not a pass.\n */\nexport function highestVerified(\n levels: Readonly<Record<ReadinessLevel, LevelOutcome>>\n): ReadinessLevel | undefined {\n let reached: ReadinessLevel | undefined;\n for (const level of READINESS_LEVELS) {\n if (levels[level].status !== 'verified') break;\n reached = level;\n }\n return reached;\n}\n\n/** Assemble a readiness result, deriving `reached` from the outcomes. */\nexport function buildReadiness(\n cli: CliName,\n levels: Readonly<Record<ReadinessLevel, LevelOutcome>>\n): CliReadiness {\n const reached = highestVerified(levels);\n return { cli, levels, ...(reached !== undefined ? { reached } : {}) };\n}\n\n/**\n * Render one CLI's ladder, naming every level's state.\n *\n * Every level is printed, including the ones that did not run. A report that\n * silently omitted `serves` would read as a clean bill of health from a run\n * that never tested serving — which is precisely how #4351 went unnoticed.\n */\nexport function formatReadiness(readiness: CliReadiness): string {\n // Exhaustive rather than a ternary chain (#4563): a new LevelOutcome status\n // would otherwise fall into the '·' arm and render as \"not attempted\",\n // quietly misreporting whatever the new state actually means.\n const icon = (o: LevelOutcome): string => {\n switch (o.status) {\n case 'verified':\n return '✓';\n case 'failed':\n return '✗';\n case 'not-attempted':\n return '·';\n default: {\n const exhaustive: never = o;\n throw new Error(`Unhandled level outcome: ${JSON.stringify(exhaustive)}`);\n }\n }\n };\n\n const lines = READINESS_LEVELS.map((level) => {\n const outcome = readiness.levels[level];\n const detail = outcome.status === 'verified' ? '' : ` — ${outcome.reason}`;\n return ` ${icon(outcome)} ${level}${detail}`;\n });\n\n const summary =\n readiness.reached === undefined ? 'not ready' : `ready through \"${readiness.reached}\"`;\n\n return [` ${readiness.cli}: ${summary}`, ...lines].join('\\n');\n}\n\n/** The minimal adapter surface the `serves` probe needs. */\nexport interface ServesProbeTarget {\n execute(task: {\n content: string;\n maxTokens?: number;\n }): Promise<{ ok: true; value: { text: string } } | { ok: false; error: { message: string } }>;\n}\n\n/**\n * The smallest prompt that still proves generation happened.\n *\n * Short on purpose — this level spends real quota, so it asks for the least\n * that can distinguish \"served content\" from \"returned nothing\".\n */\nexport const SERVES_PROBE_PROMPT = 'Reply with the single word: ok';\n\n/**\n * Probe whether an adapter actually serves a completion.\n *\n * The check that matters is **non-empty content**, not a successful exit.\n * #4351's signature was every voter returning `stop_sequence` with zero\n * tokens: the call succeeded and produced nothing. An adapter that returns\n * `ok` with empty text has not served, and saying otherwise would reproduce\n * the exact reading that made the incident invisible.\n *\n * Bounded by the `interactive` operation-class guard. Found by running it: an\n * unbounded ladder over four adapters hung past two minutes with no output,\n * and a readiness check that never returns is worse than one that reports a\n * failure — the operator learns nothing either way, but waits for it. A\n * timeout is itself a legitimate not-ready result, not an error.\n *\n * @param adapter - The adapter to probe.\n * @param timeoutMs - Per-adapter ceiling; defaults to the interactive guard.\n */\nexport async function probeServes(\n adapter: ServesProbeTarget,\n timeoutMs: number = resolveClassGuardMs('interactive')\n): Promise<LevelOutcome> {\n let result: Awaited<ReturnType<ServesProbeTarget['execute']>>;\n try {\n result = await withDeadline(\n adapter.execute({ content: SERVES_PROBE_PROMPT, maxTokens: 16 }),\n timeoutMs\n );\n } catch (caught: unknown) {\n if (caught instanceof ProbeTimeout) {\n return {\n status: 'failed',\n reason: `no response within ${String(Math.round(timeoutMs / 1000))}s`,\n };\n }\n const message = caught instanceof Error ? caught.message : String(caught);\n return { status: 'failed', reason: `probe threw: ${message}` };\n }\n\n if (!result.ok) {\n return { status: 'failed', reason: result.error.message };\n }\n if (result.value.text.trim() === '') {\n return {\n status: 'failed',\n reason: 'call succeeded but returned no content — the #4351 signature',\n };\n }\n return { status: 'verified' };\n}\n\n/** Raised when a probe outlives its ceiling. */\nclass ProbeTimeout extends Error {}\n\n/**\n * Race a promise against a deadline.\n *\n * The underlying call is not cancelled — a CLI subprocess keeps running until\n * its own guard reaps it. What this bounds is how long the OPERATOR waits,\n * which is the thing that made an unbounded ladder unusable.\n */\nasync function withDeadline<T>(work: Promise<T>, timeoutMs: number): Promise<T> {\n let timer: NodeJS.Timeout | undefined;\n const deadline = new Promise<never>((_resolve, reject) => {\n timer = setTimeout(() => {\n reject(new ProbeTimeout());\n }, timeoutMs);\n // Deliberately NOT unref'd. An unref'd timer does not hold the event loop\n // open, so if the probed call never settles and nothing else is pending,\n // Node can exit at the await before the deadline fires — the guarantee\n // voiding itself in precisely the case it exists for. `clearTimeout` in\n // the finally is what stops it outliving a call that did settle.\n });\n\n try {\n return await Promise.race([work, deadline]);\n } finally {\n if (timer !== undefined) clearTimeout(timer);\n }\n}\n","/**\n * The `serves` readiness level for `nexus-agents doctor --live` (#4376).\n *\n * Runs a real completion against every configured adapter and reports whether\n * content actually came back. This is the only level that can catch #4351 —\n * every voter returning `stop_sequence` with zero tokens while `healthCheck()`\n * and the auth probe both reported healthy — and the only one that spends the\n * resource it measures, which is why it is opt-in.\n *\n * @module cli/doctor-live\n * (Source: Issue #4376)\n */\n\nimport { createAllAdapters } from '../cli-adapters/factory.js';\nimport type { CliName } from '../cli-adapters/types.js';\nimport { probeAllClis } from './cli-auth-probe.js';\nimport {\n buildReadiness,\n formatReadiness,\n probeServes,\n type CliReadiness,\n type LevelOutcome,\n type ServesProbeTarget,\n} from './cli-readiness.js';\n\n/** Reason recorded when a level is skipped because an earlier one failed. */\nconst NOT_REACHED = 'earlier level did not pass, so this was not attempted';\n\n/**\n * Run the full ladder for every adapter.\n *\n * The ladder short-circuits: a CLI that is not installed is not probed for\n * auth, and one that is not authenticated is not billed for a completion. The\n * skipped levels report `not-attempted`, never `failed` — nothing was learned\n * about them, and saying otherwise would invent a measurement.\n */\nexport async function runLiveReadiness(\n deps: {\n readonly adapters?: Map<CliName, ServesProbeTarget>;\n readonly authStates?: ReadonlyMap<CliName, 'authenticated' | 'unknown' | 'not-ok'>;\n } = {}\n): Promise<readonly CliReadiness[]> {\n const adapters =\n deps.adapters ?? (createAllAdapters() as unknown as Map<CliName, ServesProbeTarget>);\n const authStates = deps.authStates ?? (await readAuthStates());\n\n const results: CliReadiness[] = [];\n for (const [cli, adapter] of adapters) {\n results.push(await ladderFor(cli, adapter, authStates.get(cli)));\n }\n return results;\n}\n\nasync function ladderFor(\n cli: CliName,\n adapter: ServesProbeTarget,\n auth: 'authenticated' | 'unknown' | 'not-ok' | undefined\n): Promise<CliReadiness> {\n const installed: LevelOutcome = { status: 'verified' };\n\n // `unknown` (#4391: a CLI exposing no readable auth signal) is admitted\n // optimistically at this level, exactly as the auth probe requires — but it\n // is the live probe below that then actually settles the question.\n const authenticated: LevelOutcome =\n auth === 'not-ok'\n ? { status: 'failed', reason: 'no usable credentials found' }\n : { status: 'verified' };\n\n if (authenticated.status !== 'verified') {\n return buildReadiness(cli, {\n installed,\n authenticated,\n serves: { status: 'not-attempted', reason: NOT_REACHED },\n });\n }\n\n return buildReadiness(cli, { installed, authenticated, serves: await probeServes(adapter) });\n}\n\n/** Collapse the auth probe's states into what the ladder needs. */\nasync function readAuthStates(): Promise<\n ReadonlyMap<CliName, 'authenticated' | 'unknown' | 'not-ok'>\n> {\n const probes = await probeAllClis();\n const states = new Map<CliName, 'authenticated' | 'unknown' | 'not-ok'>();\n for (const probe of probes) {\n if (probe.state === 'authenticated') states.set(probe.cli, 'authenticated');\n else if (probe.state === 'unknown') states.set(probe.cli, 'unknown');\n else states.set(probe.cli, 'not-ok');\n }\n return states;\n}\n\n/** Render the live report, with a heading that says what was and was not proven. */\nexport function formatLiveReadiness(report: readonly CliReadiness[]): string {\n if (report.length === 0) {\n return '\\nLive readiness: no adapters configured — nothing was probed.';\n }\n return [\n '',\n 'Live readiness (--live: a real completion per adapter)',\n ...report.map(formatReadiness),\n ].join('\\n');\n}\n"],"mappings":"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","names":[]}
@@ -3,9 +3,9 @@ import {
3
3
  shutdownExpertBridge,
4
4
  tokenSplitFromUsage,
5
5
  totalTokensFromUsage
6
- } from "./chunk-56GTITUT.js";
7
- import "./chunk-EOVXDAYT.js";
8
- import "./chunk-OO7JQJTG.js";
6
+ } from "./chunk-ZCHQS3KU.js";
7
+ import "./chunk-LOY7LJJT.js";
8
+ import "./chunk-KNOECZP2.js";
9
9
  import "./chunk-2HUC6NZN.js";
10
10
  import "./chunk-OQLFRJCW.js";
11
11
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  tokenSplitFromUsage,
16
16
  totalTokensFromUsage
17
17
  };
18
- //# sourceMappingURL=expert-bridge-WJ54PXNM.js.map
18
+ //# sourceMappingURL=expert-bridge-76OOP55L.js.map
@@ -3,16 +3,16 @@ import {
3
3
  createCliAdapter,
4
4
  getAvailableClis,
5
5
  isCliAvailable
6
- } from "./chunk-TXQUWORP.js";
7
- import "./chunk-OVYEVJIS.js";
8
- import "./chunk-XLACRVKG.js";
9
- import "./chunk-77RSSNU6.js";
6
+ } from "./chunk-Y4T2ZCZB.js";
7
+ import "./chunk-2I2VX62W.js";
8
+ import "./chunk-YRAOOAYY.js";
9
+ import "./chunk-QJU6PS53.js";
10
10
  import "./chunk-SNJNRDKZ.js";
11
- import "./chunk-EOVXDAYT.js";
11
+ import "./chunk-LOY7LJJT.js";
12
12
  import "./chunk-QZUG667L.js";
13
- import "./chunk-XZYPUK4O.js";
14
- import "./chunk-542D7RE3.js";
15
- import "./chunk-OO7JQJTG.js";
13
+ import "./chunk-N7FPSYIR.js";
14
+ import "./chunk-CGICJPJ6.js";
15
+ import "./chunk-KNOECZP2.js";
16
16
  import "./chunk-2HUC6NZN.js";
17
17
  import "./chunk-OQLFRJCW.js";
18
18
  import "./chunk-ZPWHCABL.js";
@@ -22,4 +22,4 @@ export {
22
22
  getAvailableClis,
23
23
  isCliAvailable
24
24
  };
25
- //# sourceMappingURL=factory-WFICVFVH.js.map
25
+ //# sourceMappingURL=factory-IYGZJJU4.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-ABNK3EFM.js";
5
- import "./chunk-VIVICQZY.js";
6
- import "./chunk-R4W2GOYG.js";
7
- import "./chunk-OO7JQJTG.js";
4
+ } from "./chunk-XZSYG6JW.js";
5
+ import "./chunk-JJQWBH65.js";
6
+ import "./chunk-7RIGDQDO.js";
7
+ import "./chunk-KNOECZP2.js";
8
8
  import "./chunk-2HUC6NZN.js";
9
9
  import "./chunk-OQLFRJCW.js";
10
10
  import "./chunk-ZPWHCABL.js";
@@ -12,4 +12,4 @@ export {
12
12
  createGitHubProvider,
13
13
  createScmProvider
14
14
  };
15
- //# sourceMappingURL=factory-JWGO2QJJ.js.map
15
+ //# sourceMappingURL=factory-JEKAU3BF.js.map
@@ -11,10 +11,10 @@ import {
11
11
  loadSelfEvalSignals,
12
12
  registerImprovementReviewTool,
13
13
  runImprovementReview
14
- } from "./chunk-JOWSYOT4.js";
15
- import "./chunk-UAXEANMF.js";
16
- import "./chunk-J5TKJM7U.js";
17
- import "./chunk-OO7JQJTG.js";
14
+ } from "./chunk-VCS5YLU2.js";
15
+ import "./chunk-QWFEQURV.js";
16
+ import "./chunk-KJCXANOL.js";
17
+ import "./chunk-KNOECZP2.js";
18
18
  import "./chunk-2HUC6NZN.js";
19
19
  import "./chunk-OQLFRJCW.js";
20
20
  import "./chunk-ZPWHCABL.js";
@@ -32,4 +32,4 @@ export {
32
32
  registerImprovementReviewTool,
33
33
  runImprovementReview
34
34
  };
35
- //# sourceMappingURL=improvement-review-N5IGPQOL.js.map
35
+ //# sourceMappingURL=improvement-review-XIHUWWA7.js.map
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-ABNK3EFM.js";
4
+ } from "./chunk-XZSYG6JW.js";
5
5
  import {
6
6
  ALLOWED_COMMANDS,
7
7
  ARTIFACT_TYPES,
@@ -541,7 +541,7 @@ import {
541
541
  withLogging,
542
542
  withRetry,
543
543
  withRetryWrapper
544
- } from "./chunk-2TSXBISI.js";
544
+ } from "./chunk-IW333FC3.js";
545
545
  import {
546
546
  FALLBACK_SCANNER_DATA,
547
547
  buildPlanFromAnalysis,
@@ -549,7 +549,7 @@ import {
549
549
  generateSecurityPlan,
550
550
  getRegistryManifest,
551
551
  resolveScannerData
552
- } from "./chunk-WSFTWS2A.js";
552
+ } from "./chunk-DJLJGL34.js";
553
553
  import {
554
554
  analyzeGitHubRepo,
555
555
  analyzeRepo,
@@ -575,16 +575,16 @@ import {
575
575
  getKnownNexusVarNames,
576
576
  startStdioServer,
577
577
  validateNexusEnv
578
- } from "./chunk-LEU3OISH.js";
578
+ } from "./chunk-KG2ECSYJ.js";
579
579
  import {
580
580
  OPENAI_MODELS,
581
581
  OPENAI_MODEL_ALIASES,
582
582
  OpenAIAdapter,
583
583
  createOpenAIAdapter
584
- } from "./chunk-PGNOJRUL.js";
584
+ } from "./chunk-7ZDIDX4J.js";
585
585
  import {
586
586
  executeExpert
587
- } from "./chunk-56GTITUT.js";
587
+ } from "./chunk-ZCHQS3KU.js";
588
588
  import {
589
589
  AgentFindingSchema,
590
590
  ConsensusEngine,
@@ -633,9 +633,9 @@ import {
633
633
  generateProposalId,
634
634
  parseAgentPairKey,
635
635
  registerConsensusVoteTool
636
- } from "./chunk-NRRH254O.js";
637
- import "./chunk-6LZNWY4D.js";
638
- import "./chunk-EJQRYAKB.js";
636
+ } from "./chunk-SH4HKLPQ.js";
637
+ import "./chunk-6WRQIEKK.js";
638
+ import "./chunk-CPEOXRCU.js";
639
639
  import {
640
640
  AgentActionSchema,
641
641
  GitHubReviewer,
@@ -658,11 +658,11 @@ import {
658
658
  requiresHumanApproval,
659
659
  validateAgentAction,
660
660
  validateCorroboration
661
- } from "./chunk-RNERS4BC.js";
661
+ } from "./chunk-PZISZC5R.js";
662
662
  import {
663
663
  GitHubProvider,
664
664
  ScmError
665
- } from "./chunk-VIVICQZY.js";
665
+ } from "./chunk-JJQWBH65.js";
666
666
  import {
667
667
  GitHubUserRoleSchema,
668
668
  InjectionFlagSchema,
@@ -677,11 +677,11 @@ import {
677
677
  assessReputation,
678
678
  reconcileTrustTier,
679
679
  sanitizeInput
680
- } from "./chunk-ALDOPPP4.js";
680
+ } from "./chunk-SA5S55UW.js";
681
681
  import {
682
682
  ImprovementReviewInputSchema,
683
683
  registerImprovementReviewTool
684
- } from "./chunk-JOWSYOT4.js";
684
+ } from "./chunk-VCS5YLU2.js";
685
685
  import {
686
686
  AgentPerformanceSchema,
687
687
  ConsensusAlgorithmSchema,
@@ -717,7 +717,7 @@ import {
717
717
  toolSuccess,
718
718
  toolSuccessStructured,
719
719
  validateToolInput
720
- } from "./chunk-UAXEANMF.js";
720
+ } from "./chunk-QWFEQURV.js";
721
721
  import {
722
722
  AuditTrail,
723
723
  MAX_STRIPPED_ELEMENTS_PER_EVENT,
@@ -729,13 +729,13 @@ import {
729
729
  emitReputationEvent,
730
730
  emitSanitizationEvent,
731
731
  emitTrustEvent
732
- } from "./chunk-J5TKJM7U.js";
732
+ } from "./chunk-KJCXANOL.js";
733
733
  import {
734
734
  UnifiedAdapterRegistry,
735
735
  createUnifiedRegistry,
736
736
  getGlobalRegistry,
737
737
  resetGlobalRegistry
738
- } from "./chunk-4Q6SSODG.js";
738
+ } from "./chunk-HOMEGHVJ.js";
739
739
  import {
740
740
  PersistentStrategyDistiller,
741
741
  RulesSnapshotSchema,
@@ -743,19 +743,19 @@ import {
743
743
  TokenCounter,
744
744
  TokenCounterProvider,
745
745
  createTokenCounter
746
- } from "./chunk-XZ7XRJY5.js";
746
+ } from "./chunk-3KIJASVO.js";
747
747
  import {
748
748
  getTokenEnvVars,
749
749
  hasToken,
750
750
  resolveToken
751
- } from "./chunk-R4W2GOYG.js";
752
- import "./chunk-CWOXQK7J.js";
751
+ } from "./chunk-7RIGDQDO.js";
752
+ import "./chunk-MGLEPBIZ.js";
753
753
  import "./chunk-NUBSJGQZ.js";
754
754
  import {
755
755
  MemoryError
756
- } from "./chunk-DJ7YCUOL.js";
756
+ } from "./chunk-3LMU5W5I.js";
757
757
  import "./chunk-6T3EPABN.js";
758
- import "./chunk-LFIDNLBP.js";
758
+ import "./chunk-44AA6TSZ.js";
759
759
  import {
760
760
  BUILT_IN_EXPERTS,
761
761
  BuiltInExpertTypeSchema,
@@ -800,7 +800,7 @@ import {
800
800
  isCliAvailable,
801
801
  isRetryableError,
802
802
  sleep
803
- } from "./chunk-TXQUWORP.js";
803
+ } from "./chunk-Y4T2ZCZB.js";
804
804
  import {
805
805
  AdapterModelError,
806
806
  BaseAdapter,
@@ -822,11 +822,11 @@ import {
822
822
  tapStream,
823
823
  transformStream,
824
824
  withTimeout
825
- } from "./chunk-OVYEVJIS.js";
826
- import "./chunk-XLACRVKG.js";
825
+ } from "./chunk-2I2VX62W.js";
826
+ import "./chunk-YRAOOAYY.js";
827
827
  import {
828
828
  PROVIDER_ENV_KEYS
829
- } from "./chunk-77RSSNU6.js";
829
+ } from "./chunk-QJU6PS53.js";
830
830
  import "./chunk-SNJNRDKZ.js";
831
831
  import {
832
832
  AvailabilityCache,
@@ -836,13 +836,13 @@ import {
836
836
  getFallbackChain,
837
837
  resetAvailabilityCache,
838
838
  resolveFallback
839
- } from "./chunk-EOVXDAYT.js";
839
+ } from "./chunk-LOY7LJJT.js";
840
840
  import "./chunk-QZUG667L.js";
841
- import "./chunk-XZYPUK4O.js";
841
+ import "./chunk-N7FPSYIR.js";
842
842
  import {
843
843
  CliCircuitBreakerIntegration,
844
844
  createCliCircuitBreakerIntegration
845
- } from "./chunk-542D7RE3.js";
845
+ } from "./chunk-CGICJPJ6.js";
846
846
  import {
847
847
  AgentCapability,
848
848
  AgentError,
@@ -916,7 +916,7 @@ import {
916
916
  toError,
917
917
  unwrap,
918
918
  unwrapOr
919
- } from "./chunk-OO7JQJTG.js";
919
+ } from "./chunk-KNOECZP2.js";
920
920
  import "./chunk-2HUC6NZN.js";
921
921
  import "./chunk-OQLFRJCW.js";
922
922
  import "./chunk-ZPWHCABL.js";
@@ -4711,7 +4711,7 @@ function buildVotingInput(plan, config) {
4711
4711
  }
4712
4712
  async function executeSingleVote(plan, config, log) {
4713
4713
  try {
4714
- const { executeVoting } = await import("./consensus-vote-TALT6GHT.js");
4714
+ const { executeVoting } = await import("./consensus-vote-QGMUKHKI.js");
4715
4715
  const input = buildVotingInput(plan, config);
4716
4716
  const result = await executeVoting(input, log);
4717
4717
  return parseVotingResult(result);
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  discoverModels,
3
3
  readOpencodeGateway
4
- } from "./chunk-PGNOJRUL.js";
5
- import "./chunk-6LZNWY4D.js";
6
- import "./chunk-OVYEVJIS.js";
7
- import "./chunk-77RSSNU6.js";
4
+ } from "./chunk-7ZDIDX4J.js";
5
+ import "./chunk-6WRQIEKK.js";
6
+ import "./chunk-2I2VX62W.js";
7
+ import "./chunk-QJU6PS53.js";
8
8
  import {
9
9
  createLogger
10
- } from "./chunk-OO7JQJTG.js";
10
+ } from "./chunk-KNOECZP2.js";
11
11
  import "./chunk-2HUC6NZN.js";
12
12
  import "./chunk-OQLFRJCW.js";
13
13
  import "./chunk-ZPWHCABL.js";
@@ -176,4 +176,4 @@ export {
176
176
  runInitOpencode,
177
177
  runOpencodeValidate
178
178
  };
179
- //# sourceMappingURL=init-opencode-YSZRAYEA.js.map
179
+ //# sourceMappingURL=init-opencode-P2SUBOXA.js.map
@@ -2,11 +2,11 @@ import {
2
2
  IssueTriage,
3
3
  createIssueTriage,
4
4
  formatTriageComment
5
- } from "./chunk-RNERS4BC.js";
6
- import "./chunk-VIVICQZY.js";
7
- import "./chunk-ALDOPPP4.js";
8
- import "./chunk-J5TKJM7U.js";
9
- import "./chunk-OO7JQJTG.js";
5
+ } from "./chunk-PZISZC5R.js";
6
+ import "./chunk-JJQWBH65.js";
7
+ import "./chunk-SA5S55UW.js";
8
+ import "./chunk-KJCXANOL.js";
9
+ import "./chunk-KNOECZP2.js";
10
10
  import "./chunk-2HUC6NZN.js";
11
11
  import "./chunk-OQLFRJCW.js";
12
12
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  createIssueTriage,
16
16
  formatTriageComment
17
17
  };
18
- //# sourceMappingURL=issue-triage-EMQSTTXS.js.map
18
+ //# sourceMappingURL=issue-triage-4ZI2PVTX.js.map
@@ -17,10 +17,10 @@ import {
17
17
  parseFindings,
18
18
  parseSeverity,
19
19
  sumFindings
20
- } from "./chunk-3XYA4XDX.js";
20
+ } from "./chunk-MNQYHPWP.js";
21
21
  import "./chunk-CQ77TF4Y.js";
22
- import "./chunk-ALDOPPP4.js";
23
- import "./chunk-OO7JQJTG.js";
22
+ import "./chunk-SA5S55UW.js";
23
+ import "./chunk-KNOECZP2.js";
24
24
  import "./chunk-2HUC6NZN.js";
25
25
  import "./chunk-OQLFRJCW.js";
26
26
  import "./chunk-ZPWHCABL.js";
@@ -44,4 +44,4 @@ export {
44
44
  parseSeverity,
45
45
  sumFindings
46
46
  };
47
- //# sourceMappingURL=pr-reviewer-helpers-ZP6PBKBX.js.map
47
+ //# sourceMappingURL=pr-reviewer-helpers-L3JGYIAM.js.map
@@ -7,7 +7,7 @@ import {
7
7
  loadGeneratedRegistryEntries,
8
8
  loadUserManifestOverlay,
9
9
  reloadDefaultRegistry
10
- } from "./chunk-OO7JQJTG.js";
10
+ } from "./chunk-KNOECZP2.js";
11
11
  import "./chunk-2HUC6NZN.js";
12
12
  import {
13
13
  nexusDataPath
@@ -249,4 +249,4 @@ export {
249
249
  isValidRegistrySubcommand,
250
250
  registryCommand
251
251
  };
252
- //# sourceMappingURL=registry-command-KEAFJLHC.js.map
252
+ //# sourceMappingURL=registry-command-STM5M5PE.js.map
@@ -3,9 +3,9 @@ import {
3
3
  buildPlanFromAnalysis,
4
4
  generateSecurityPlan,
5
5
  resolveScannerData
6
- } from "./chunk-WSFTWS2A.js";
6
+ } from "./chunk-DJLJGL34.js";
7
7
  import "./chunk-HFOQKCD2.js";
8
- import "./chunk-OO7JQJTG.js";
8
+ import "./chunk-KNOECZP2.js";
9
9
  import "./chunk-2HUC6NZN.js";
10
10
  import "./chunk-OQLFRJCW.js";
11
11
  import "./chunk-ZPWHCABL.js";
@@ -15,4 +15,4 @@ export {
15
15
  generateSecurityPlan,
16
16
  resolveScannerData
17
17
  };
18
- //# sourceMappingURL=repo-security-plan-PYRBPSWW.js.map
18
+ //# sourceMappingURL=repo-security-plan-TL4OZHQU.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AttributedInsightSchema,
3
3
  synthesizeResearch
4
- } from "./chunk-EJQRYAKB.js";
5
- import "./chunk-CWOXQK7J.js";
4
+ } from "./chunk-CPEOXRCU.js";
5
+ import "./chunk-MGLEPBIZ.js";
6
6
  import "./chunk-NUBSJGQZ.js";
7
- import "./chunk-OO7JQJTG.js";
7
+ import "./chunk-KNOECZP2.js";
8
8
  import "./chunk-2HUC6NZN.js";
9
9
  import "./chunk-OQLFRJCW.js";
10
10
  import "./chunk-ZPWHCABL.js";
@@ -12,4 +12,4 @@ export {
12
12
  AttributedInsightSchema,
13
13
  synthesizeResearch
14
14
  };
15
- //# sourceMappingURL=research-helpers-synthesize-PNNPNBWS.js.map
15
+ //# sourceMappingURL=research-helpers-synthesize-3ZCK4ND7.js.map
@@ -2,7 +2,7 @@ import {
2
2
  DEFAULT_ROUTING_MEMORY_CONFIG,
3
3
  RoutingMemory,
4
4
  createRoutingMemory
5
- } from "./chunk-OO7JQJTG.js";
5
+ } from "./chunk-KNOECZP2.js";
6
6
  import "./chunk-2HUC6NZN.js";
7
7
  import "./chunk-OQLFRJCW.js";
8
8
  import "./chunk-ZPWHCABL.js";
@@ -11,4 +11,4 @@ export {
11
11
  RoutingMemory,
12
12
  createRoutingMemory
13
13
  };
14
- //# sourceMappingURL=routing-memory-RZ5RV35U.js.map
14
+ //# sourceMappingURL=routing-memory-FBBYHH4N.js.map
@@ -6,8 +6,8 @@ import {
6
6
  SessionMemory,
7
7
  SessionMemoryError,
8
8
  createSessionMemory
9
- } from "./chunk-LFIDNLBP.js";
10
- import "./chunk-OO7JQJTG.js";
9
+ } from "./chunk-44AA6TSZ.js";
10
+ import "./chunk-KNOECZP2.js";
11
11
  import "./chunk-2HUC6NZN.js";
12
12
  import "./chunk-OQLFRJCW.js";
13
13
  import "./chunk-ZPWHCABL.js";
@@ -20,4 +20,4 @@ export {
20
20
  SessionMemoryError,
21
21
  createSessionMemory
22
22
  };
23
- //# sourceMappingURL=session-memory-LXWIFK34.js.map
23
+ //# sourceMappingURL=session-memory-3O6OL3XO.js.map