nexus-agents 2.89.1 → 2.90.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 (104) hide show
  1. package/dist/{child-mcp-config-AT2L3EAS.js → child-mcp-config-WUHKXBWX.js} +2 -2
  2. package/dist/{chunk-JHU27PB2.js → chunk-2SMTCNXP.js} +2 -2
  3. package/dist/{chunk-O5F6QAIG.js → chunk-3FVSYMHK.js} +2 -2
  4. package/dist/{chunk-SRTQUTCB.js → chunk-3HTUYAKS.js} +2 -2
  5. package/dist/{chunk-LENO7TKE.js → chunk-3LKW4IEW.js} +3 -3
  6. package/dist/{chunk-DAWLXCLF.js → chunk-3NNVITJF.js} +5 -5
  7. package/dist/{chunk-W7YR5SGV.js → chunk-4GOT42ZA.js} +3 -3
  8. package/dist/{chunk-7QTWFRHH.js → chunk-4N54BTZU.js} +9 -9
  9. package/dist/{chunk-F5GVZBSH.js → chunk-52ACUN6T.js} +4 -4
  10. package/dist/{chunk-WF2YOYY7.js → chunk-57HMLBYN.js} +2 -2
  11. package/dist/{chunk-PS7WKRJN.js → chunk-6Q33PBXC.js} +2 -2
  12. package/dist/{chunk-SI7ZBCGU.js → chunk-7QXEK3O6.js} +56 -6
  13. package/dist/{chunk-SI7ZBCGU.js.map → chunk-7QXEK3O6.js.map} +1 -1
  14. package/dist/{chunk-LZECDSJY.js → chunk-AQTHLUCP.js} +2 -2
  15. package/dist/{chunk-KR6UR263.js → chunk-CGSVTROC.js} +2 -2
  16. package/dist/{chunk-3MYPFPYL.js → chunk-E6W4Z6GN.js} +3 -3
  17. package/dist/{chunk-QCZEC7H4.js → chunk-EAT4GTMT.js} +2 -2
  18. package/dist/{chunk-XV7V3B35.js → chunk-EFHZHCF2.js} +2 -2
  19. package/dist/{chunk-RAUA6B2M.js → chunk-EUR32RSL.js} +27 -27
  20. package/dist/{chunk-MXHJMSYQ.js → chunk-IBRZK662.js} +7 -7
  21. package/dist/{chunk-AKO5H63G.js → chunk-JYIKPBXW.js} +2 -2
  22. package/dist/{chunk-O5OJNB4C.js → chunk-L3S7HOAS.js} +42 -29
  23. package/dist/chunk-L3S7HOAS.js.map +1 -0
  24. package/dist/{chunk-WWY6V4NK.js → chunk-PRGNJRID.js} +2 -2
  25. package/dist/{chunk-EUMVRLJL.js → chunk-S6FXRXYE.js} +7 -7
  26. package/dist/{chunk-MHPOJAPZ.js → chunk-SFZESA5O.js} +2 -2
  27. package/dist/{chunk-GRTSPRIJ.js → chunk-TWAH7VM2.js} +3 -3
  28. package/dist/{chunk-MVGFF4OY.js → chunk-W5I6L4UT.js} +7 -3
  29. package/dist/{chunk-MVGFF4OY.js.map → chunk-W5I6L4UT.js.map} +1 -1
  30. package/dist/{chunk-MKKQ3CQJ.js → chunk-X5BQF6HM.js} +4 -4
  31. package/dist/{chunk-TSHCHZ7R.js → chunk-Y7E5ZWRQ.js} +2 -2
  32. package/dist/{chunk-UISGEXHO.js → chunk-YEQE7WLP.js} +2 -2
  33. package/dist/{cli-circuit-breaker-4EBP4C4R.js → cli-circuit-breaker-4SWB6DEB.js} +4 -4
  34. package/dist/cli.js +33 -33
  35. package/dist/{composite-router-INIE4UYA.js → composite-router-NLVKSTA2.js} +2 -2
  36. package/dist/{consensus-vote-5NIBODVH.js → consensus-vote-B6W7YQ6K.js} +12 -12
  37. package/dist/{context-retriever-OBGV7Y2U.js → context-retriever-C4CNVKR5.js} +6 -6
  38. package/dist/{doctor-deep-F24MXACR.js → doctor-deep-QSVGAHAO.js} +3 -3
  39. package/dist/{expert-bridge-6KWMO2HT.js → expert-bridge-VIWFPPGZ.js} +4 -4
  40. package/dist/{factory-4RSAV4FC.js → factory-NNSXCD25.js} +5 -5
  41. package/dist/{factory-TA7GM2O2.js → factory-T3SEZUGW.js} +5 -5
  42. package/dist/index.d.ts +19 -4
  43. package/dist/index.js +31 -32
  44. package/dist/index.js.map +1 -1
  45. package/dist/{init-opencode-VQFYKCIT.js → init-opencode-WEKHD7YE.js} +5 -5
  46. package/dist/{issue-triage-U3PSWSCY.js → issue-triage-J2MUXK6R.js} +4 -4
  47. package/dist/{registry-command-2D4RMNUX.js → registry-command-VNFULRTL.js} +2 -2
  48. package/dist/{repo-security-plan-WOUJAXSZ.js → repo-security-plan-5MFY7GGQ.js} +3 -3
  49. package/dist/{research-helpers-synthesize-IDK2V5JN.js → research-helpers-synthesize-CNZ4C3FN.js} +3 -3
  50. package/dist/{routing-memory-XBYTU4KZ.js → routing-memory-PYO46COZ.js} +2 -2
  51. package/dist/{session-memory-FSLRKYIC.js → session-memory-HGCDSZ5R.js} +3 -3
  52. package/dist/{setup-command-IRBQGUWR.js → setup-command-Z7TRZUDI.js} +11 -11
  53. package/dist/{setup-config-7MK6PRX6.js → setup-config-QPS4K5QU.js} +3 -3
  54. package/dist/{setup-custom-api-W6FWQVAF.js → setup-custom-api-SP2ZAVGC.js} +4 -4
  55. package/dist/{tool-memory-VJZ233FE.js → tool-memory-SDPIAV2S.js} +5 -5
  56. package/dist/{weather-report-YLD3VXUC.js → weather-report-RWAMQHBL.js} +2 -2
  57. package/package.json +1 -1
  58. package/dist/chunk-O5OJNB4C.js.map +0 -1
  59. /package/dist/{child-mcp-config-AT2L3EAS.js.map → child-mcp-config-WUHKXBWX.js.map} +0 -0
  60. /package/dist/{chunk-JHU27PB2.js.map → chunk-2SMTCNXP.js.map} +0 -0
  61. /package/dist/{chunk-O5F6QAIG.js.map → chunk-3FVSYMHK.js.map} +0 -0
  62. /package/dist/{chunk-SRTQUTCB.js.map → chunk-3HTUYAKS.js.map} +0 -0
  63. /package/dist/{chunk-LENO7TKE.js.map → chunk-3LKW4IEW.js.map} +0 -0
  64. /package/dist/{chunk-DAWLXCLF.js.map → chunk-3NNVITJF.js.map} +0 -0
  65. /package/dist/{chunk-W7YR5SGV.js.map → chunk-4GOT42ZA.js.map} +0 -0
  66. /package/dist/{chunk-7QTWFRHH.js.map → chunk-4N54BTZU.js.map} +0 -0
  67. /package/dist/{chunk-F5GVZBSH.js.map → chunk-52ACUN6T.js.map} +0 -0
  68. /package/dist/{chunk-WF2YOYY7.js.map → chunk-57HMLBYN.js.map} +0 -0
  69. /package/dist/{chunk-PS7WKRJN.js.map → chunk-6Q33PBXC.js.map} +0 -0
  70. /package/dist/{chunk-LZECDSJY.js.map → chunk-AQTHLUCP.js.map} +0 -0
  71. /package/dist/{chunk-KR6UR263.js.map → chunk-CGSVTROC.js.map} +0 -0
  72. /package/dist/{chunk-3MYPFPYL.js.map → chunk-E6W4Z6GN.js.map} +0 -0
  73. /package/dist/{chunk-QCZEC7H4.js.map → chunk-EAT4GTMT.js.map} +0 -0
  74. /package/dist/{chunk-XV7V3B35.js.map → chunk-EFHZHCF2.js.map} +0 -0
  75. /package/dist/{chunk-RAUA6B2M.js.map → chunk-EUR32RSL.js.map} +0 -0
  76. /package/dist/{chunk-MXHJMSYQ.js.map → chunk-IBRZK662.js.map} +0 -0
  77. /package/dist/{chunk-AKO5H63G.js.map → chunk-JYIKPBXW.js.map} +0 -0
  78. /package/dist/{chunk-WWY6V4NK.js.map → chunk-PRGNJRID.js.map} +0 -0
  79. /package/dist/{chunk-EUMVRLJL.js.map → chunk-S6FXRXYE.js.map} +0 -0
  80. /package/dist/{chunk-MHPOJAPZ.js.map → chunk-SFZESA5O.js.map} +0 -0
  81. /package/dist/{chunk-GRTSPRIJ.js.map → chunk-TWAH7VM2.js.map} +0 -0
  82. /package/dist/{chunk-MKKQ3CQJ.js.map → chunk-X5BQF6HM.js.map} +0 -0
  83. /package/dist/{chunk-TSHCHZ7R.js.map → chunk-Y7E5ZWRQ.js.map} +0 -0
  84. /package/dist/{chunk-UISGEXHO.js.map → chunk-YEQE7WLP.js.map} +0 -0
  85. /package/dist/{cli-circuit-breaker-4EBP4C4R.js.map → cli-circuit-breaker-4SWB6DEB.js.map} +0 -0
  86. /package/dist/{composite-router-INIE4UYA.js.map → composite-router-NLVKSTA2.js.map} +0 -0
  87. /package/dist/{consensus-vote-5NIBODVH.js.map → consensus-vote-B6W7YQ6K.js.map} +0 -0
  88. /package/dist/{context-retriever-OBGV7Y2U.js.map → context-retriever-C4CNVKR5.js.map} +0 -0
  89. /package/dist/{doctor-deep-F24MXACR.js.map → doctor-deep-QSVGAHAO.js.map} +0 -0
  90. /package/dist/{expert-bridge-6KWMO2HT.js.map → expert-bridge-VIWFPPGZ.js.map} +0 -0
  91. /package/dist/{factory-4RSAV4FC.js.map → factory-NNSXCD25.js.map} +0 -0
  92. /package/dist/{factory-TA7GM2O2.js.map → factory-T3SEZUGW.js.map} +0 -0
  93. /package/dist/{init-opencode-VQFYKCIT.js.map → init-opencode-WEKHD7YE.js.map} +0 -0
  94. /package/dist/{issue-triage-U3PSWSCY.js.map → issue-triage-J2MUXK6R.js.map} +0 -0
  95. /package/dist/{registry-command-2D4RMNUX.js.map → registry-command-VNFULRTL.js.map} +0 -0
  96. /package/dist/{repo-security-plan-WOUJAXSZ.js.map → repo-security-plan-5MFY7GGQ.js.map} +0 -0
  97. /package/dist/{research-helpers-synthesize-IDK2V5JN.js.map → research-helpers-synthesize-CNZ4C3FN.js.map} +0 -0
  98. /package/dist/{routing-memory-XBYTU4KZ.js.map → routing-memory-PYO46COZ.js.map} +0 -0
  99. /package/dist/{session-memory-FSLRKYIC.js.map → session-memory-HGCDSZ5R.js.map} +0 -0
  100. /package/dist/{setup-command-IRBQGUWR.js.map → setup-command-Z7TRZUDI.js.map} +0 -0
  101. /package/dist/{setup-config-7MK6PRX6.js.map → setup-config-QPS4K5QU.js.map} +0 -0
  102. /package/dist/{setup-custom-api-W6FWQVAF.js.map → setup-custom-api-SP2ZAVGC.js.map} +0 -0
  103. /package/dist/{tool-memory-VJZ233FE.js.map → tool-memory-SDPIAV2S.js.map} +0 -0
  104. /package/dist/{weather-report-YLD3VXUC.js.map → weather-report-RWAMQHBL.js.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  CliCircuitBreaker,
3
3
  DEFAULT_CIRCUIT_BREAKER_CONFIG
4
- } from "./chunk-AKO5H63G.js";
4
+ } from "./chunk-JYIKPBXW.js";
5
5
  import {
6
6
  generateHyphenId
7
- } from "./chunk-WWY6V4NK.js";
7
+ } from "./chunk-PRGNJRID.js";
8
8
  import {
9
9
  CLI_SUBPROCESS_TIMEOUTS,
10
10
  CLI_TIMEOUTS,
@@ -27,7 +27,7 @@ import {
27
27
  getTimeProvider,
28
28
  isRateLimitText,
29
29
  ok
30
- } from "./chunk-MVGFF4OY.js";
30
+ } from "./chunk-W5I6L4UT.js";
31
31
 
32
32
  // src/cli-adapters/subprocess-adapter.ts
33
33
  import { spawn } from "child_process";
@@ -3291,4 +3291,4 @@ export {
3291
3291
  isCliAvailable,
3292
3292
  getAvailableClis
3293
3293
  };
3294
- //# sourceMappingURL=chunk-MKKQ3CQJ.js.map
3294
+ //# sourceMappingURL=chunk-X5BQF6HM.js.map
@@ -2,7 +2,7 @@ import {
2
2
  ConfigError,
3
3
  err,
4
4
  ok
5
- } from "./chunk-MVGFF4OY.js";
5
+ } from "./chunk-W5I6L4UT.js";
6
6
 
7
7
  // src/adapters/sdk/types.ts
8
8
  var PROVIDER_ENV_KEYS = {
@@ -117,4 +117,4 @@ export {
117
117
  CUSTOM_API_ALLOW_PRIVATE_ENV,
118
118
  validateCustomApiBaseUrl
119
119
  };
120
- //# sourceMappingURL=chunk-TSHCHZ7R.js.map
120
+ //# sourceMappingURL=chunk-Y7E5ZWRQ.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-MVGFF4OY.js";
7
+ } from "./chunk-W5I6L4UT.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -351,4 +351,4 @@ export {
351
351
  SessionMemory,
352
352
  createSessionMemory
353
353
  };
354
- //# sourceMappingURL=chunk-UISGEXHO.js.map
354
+ //# sourceMappingURL=chunk-YEQE7WLP.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CliCircuitBreakerIntegration,
3
3
  createCliCircuitBreakerIntegration
4
- } from "./chunk-LENO7TKE.js";
5
- import "./chunk-AKO5H63G.js";
6
- import "./chunk-MVGFF4OY.js";
4
+ } from "./chunk-3LKW4IEW.js";
5
+ import "./chunk-JYIKPBXW.js";
6
+ import "./chunk-W5I6L4UT.js";
7
7
  import "./chunk-CH7QIDHQ.js";
8
8
  import "./chunk-PR4QN5HX.js";
9
9
  export {
10
10
  CliCircuitBreakerIntegration,
11
11
  createCliCircuitBreakerIntegration
12
12
  };
13
- //# sourceMappingURL=cli-circuit-breaker-4EBP4C4R.js.map
13
+ //# sourceMappingURL=cli-circuit-breaker-4SWB6DEB.js.map
package/dist/cli.js CHANGED
@@ -12,18 +12,18 @@ import {
12
12
  parseFindings,
13
13
  sumFindings
14
14
  } from "./chunk-3RZWLQSC.js";
15
- import "./chunk-LZECDSJY.js";
15
+ import "./chunk-AQTHLUCP.js";
16
16
  import {
17
17
  buildOpenAICompatAdapters,
18
18
  loadUsageEvents,
19
19
  readOpenAICompatEnv,
20
20
  rollupByModel
21
- } from "./chunk-GRTSPRIJ.js";
21
+ } from "./chunk-TWAH7VM2.js";
22
22
  import {
23
23
  setupCommandAsync,
24
24
  verifyCommand
25
- } from "./chunk-DAWLXCLF.js";
26
- import "./chunk-JHU27PB2.js";
25
+ } from "./chunk-3NNVITJF.js";
26
+ import "./chunk-2SMTCNXP.js";
27
27
  import {
28
28
  AuthHandler,
29
29
  DEFAULT_EXPERTS,
@@ -162,19 +162,19 @@ import {
162
162
  validateCommand,
163
163
  validateWorkflow,
164
164
  wrapInMarkdownFence
165
- } from "./chunk-RAUA6B2M.js";
165
+ } from "./chunk-EUR32RSL.js";
166
166
  import {
167
167
  resolveToken
168
- } from "./chunk-QCZEC7H4.js";
168
+ } from "./chunk-EAT4GTMT.js";
169
169
  import {
170
170
  CATEGORY_DISPLAY_NAMES,
171
171
  DEFAULT_PR_REVIEW_CONFIG
172
172
  } from "./chunk-X2M7OF27.js";
173
- import "./chunk-3MYPFPYL.js";
174
- import "./chunk-LENO7TKE.js";
173
+ import "./chunk-E6W4Z6GN.js";
174
+ import "./chunk-3LKW4IEW.js";
175
175
  import {
176
176
  shutdownExpertBridge
177
- } from "./chunk-EUMVRLJL.js";
177
+ } from "./chunk-S6FXRXYE.js";
178
178
  import {
179
179
  DEFAULT_VOTE_TIMEOUT_MS,
180
180
  ErrorPolicySchema,
@@ -192,31 +192,31 @@ import {
192
192
  toolSuccessStructured,
193
193
  warnIfSimulatedOutsideTests,
194
194
  wrapToolWithTimeout
195
- } from "./chunk-7QTWFRHH.js";
196
- import "./chunk-O5F6QAIG.js";
197
- import "./chunk-TSHCHZ7R.js";
195
+ } from "./chunk-4N54BTZU.js";
196
+ import "./chunk-3FVSYMHK.js";
197
+ import "./chunk-Y7E5ZWRQ.js";
198
198
  import {
199
199
  loadPapersRegistry,
200
200
  loadTechniquesRegistry,
201
201
  savePapersRegistry,
202
202
  synthesizeResearch
203
- } from "./chunk-KR6UR263.js";
203
+ } from "./chunk-CGSVTROC.js";
204
204
  import {
205
205
  classifyTrust,
206
206
  createFullGitHubProvider,
207
207
  evaluatePolicy,
208
208
  parsePRUrl,
209
209
  sanitizeInput
210
- } from "./chunk-O5OJNB4C.js";
211
- import "./chunk-XV7V3B35.js";
212
- import "./chunk-WF2YOYY7.js";
210
+ } from "./chunk-L3S7HOAS.js";
211
+ import "./chunk-EFHZHCF2.js";
212
+ import "./chunk-57HMLBYN.js";
213
213
  import "./chunk-HFOQKCD2.js";
214
214
  import "./chunk-3ACDP4E6.js";
215
- import "./chunk-W7YR5SGV.js";
215
+ import "./chunk-4GOT42ZA.js";
216
216
  import {
217
217
  MemoryError,
218
218
  shutdownToolMemory
219
- } from "./chunk-SI7ZBCGU.js";
219
+ } from "./chunk-7QXEK3O6.js";
220
220
  import {
221
221
  CustomExpertDefinitionSchema,
222
222
  DATA_SUBDIRECTORIES,
@@ -235,12 +235,12 @@ import {
235
235
  loadConfig,
236
236
  runDoctor,
237
237
  validateNexusEnv
238
- } from "./chunk-MXHJMSYQ.js";
239
- import "./chunk-MHPOJAPZ.js";
240
- import "./chunk-PS7WKRJN.js";
238
+ } from "./chunk-IBRZK662.js";
239
+ import "./chunk-SFZESA5O.js";
240
+ import "./chunk-6Q33PBXC.js";
241
241
  import {
242
242
  DEFAULTS
243
- } from "./chunk-SRTQUTCB.js";
243
+ } from "./chunk-3HTUYAKS.js";
244
244
  import "./chunk-NUBSJGQZ.js";
245
245
  import {
246
246
  capitalize,
@@ -252,12 +252,12 @@ import {
252
252
  getAvailableClis,
253
253
  isRecord,
254
254
  probeAllClis
255
- } from "./chunk-MKKQ3CQJ.js";
256
- import "./chunk-AKO5H63G.js";
257
- import "./chunk-WWY6V4NK.js";
255
+ } from "./chunk-X5BQF6HM.js";
256
+ import "./chunk-JYIKPBXW.js";
257
+ import "./chunk-PRGNJRID.js";
258
258
  import "./chunk-ZM4O442V.js";
259
259
  import "./chunk-PQHVC4BD.js";
260
- import "./chunk-UISGEXHO.js";
260
+ import "./chunk-YEQE7WLP.js";
261
261
  import {
262
262
  API_TIMEOUTS,
263
263
  AgentCapability,
@@ -325,7 +325,7 @@ import {
325
325
  validateTimeout,
326
326
  writeEmptyLine,
327
327
  writeLine
328
- } from "./chunk-MVGFF4OY.js";
328
+ } from "./chunk-W5I6L4UT.js";
329
329
  import {
330
330
  applyPortableMode,
331
331
  detectSandbox,
@@ -19253,7 +19253,7 @@ function adaptConfigToLibrary(config) {
19253
19253
  }
19254
19254
  function createBeliefPromoter() {
19255
19255
  return async (event) => {
19256
- const { getToolMemory } = await import("./tool-memory-VJZ233FE.js");
19256
+ const { getToolMemory } = await import("./tool-memory-SDPIAV2S.js");
19257
19257
  const tm = getToolMemory();
19258
19258
  await tm.recordBelief(
19259
19259
  `skill:${event.name}`,
@@ -20116,7 +20116,7 @@ async function handleResearchCommand(args) {
20116
20116
  }
20117
20117
  }
20118
20118
  async function handleRegistryCommand(args) {
20119
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-2D4RMNUX.js");
20119
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-VNFULRTL.js");
20120
20120
  const subcommand = args.subcommand;
20121
20121
  if (!isValidRegistrySubcommand(subcommand)) {
20122
20122
  process.stdout.write(`${formatRegistryUsage()}
@@ -20164,7 +20164,7 @@ async function handleVerifyCommand(args) {
20164
20164
  async function handleDoctorCommand(args) {
20165
20165
  const exitCode = await doctorCommand({ fix: args.options.fix });
20166
20166
  if (args.options.deep) {
20167
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-F24MXACR.js");
20167
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-QSVGAHAO.js");
20168
20168
  const diag = runDeepDiagnostics2();
20169
20169
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
20170
20170
  }
@@ -20208,7 +20208,7 @@ async function handleInitCommand(args) {
20208
20208
  process.exit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20209
20209
  }
20210
20210
  async function runInitOpencodeFlow(args) {
20211
- const { runInitOpencode } = await import("./init-opencode-VQFYKCIT.js");
20211
+ const { runInitOpencode } = await import("./init-opencode-WEKHD7YE.js");
20212
20212
  const opencodePath = args.options.opencode;
20213
20213
  if (opencodePath === void 0 || opencodePath === "") {
20214
20214
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -20235,7 +20235,7 @@ async function runInitOpencodeFlow(args) {
20235
20235
  process.exit(EXIT_CODES.SUCCESS);
20236
20236
  }
20237
20237
  async function renderOpencodeValidate(opencodePath) {
20238
- const { runOpencodeValidate } = await import("./init-opencode-VQFYKCIT.js");
20238
+ const { runOpencodeValidate } = await import("./init-opencode-WEKHD7YE.js");
20239
20239
  const result = await runOpencodeValidate(opencodePath);
20240
20240
  if (!result.ok) {
20241
20241
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -20275,7 +20275,7 @@ async function handleSetupCommandAsync(args) {
20275
20275
  process.exit(exitCode === 0 ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
20276
20276
  }
20277
20277
  async function runCustomApiSetup(args) {
20278
- const { configureCustomApi } = await import("./setup-custom-api-W6FWQVAF.js");
20278
+ const { configureCustomApi } = await import("./setup-custom-api-SP2ZAVGC.js");
20279
20279
  const baseUrl = args.options.customApi;
20280
20280
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
20281
20281
  const input = {
@@ -4,7 +4,7 @@ import {
4
4
  CompositeRoutingError,
5
5
  DEFAULT_COMPOSITE_CONFIG,
6
6
  createCompositeRouter
7
- } from "./chunk-MVGFF4OY.js";
7
+ } from "./chunk-W5I6L4UT.js";
8
8
  import "./chunk-CH7QIDHQ.js";
9
9
  import "./chunk-PR4QN5HX.js";
10
10
  export {
@@ -14,4 +14,4 @@ export {
14
14
  DEFAULT_COMPOSITE_CONFIG,
15
15
  createCompositeRouter
16
16
  };
17
- //# sourceMappingURL=composite-router-INIE4UYA.js.map
17
+ //# sourceMappingURL=composite-router-NLVKSTA2.js.map
@@ -5,19 +5,19 @@ import {
5
5
  executeVoting,
6
6
  registerConsensusVoteTool,
7
7
  resetCorrelationTracker
8
- } from "./chunk-7QTWFRHH.js";
9
- import "./chunk-O5F6QAIG.js";
10
- import "./chunk-TSHCHZ7R.js";
11
- import "./chunk-SI7ZBCGU.js";
12
- import "./chunk-PS7WKRJN.js";
13
- import "./chunk-SRTQUTCB.js";
8
+ } from "./chunk-4N54BTZU.js";
9
+ import "./chunk-3FVSYMHK.js";
10
+ import "./chunk-Y7E5ZWRQ.js";
11
+ import "./chunk-7QXEK3O6.js";
12
+ import "./chunk-6Q33PBXC.js";
13
+ import "./chunk-3HTUYAKS.js";
14
14
  import "./chunk-6T3EPABN.js";
15
- import "./chunk-MKKQ3CQJ.js";
16
- import "./chunk-AKO5H63G.js";
17
- import "./chunk-WWY6V4NK.js";
15
+ import "./chunk-X5BQF6HM.js";
16
+ import "./chunk-JYIKPBXW.js";
17
+ import "./chunk-PRGNJRID.js";
18
18
  import "./chunk-PQHVC4BD.js";
19
- import "./chunk-UISGEXHO.js";
20
- import "./chunk-MVGFF4OY.js";
19
+ import "./chunk-YEQE7WLP.js";
20
+ import "./chunk-W5I6L4UT.js";
21
21
  import "./chunk-CH7QIDHQ.js";
22
22
  import "./chunk-PR4QN5HX.js";
23
23
  export {
@@ -28,4 +28,4 @@ export {
28
28
  registerConsensusVoteTool,
29
29
  resetCorrelationTracker
30
30
  };
31
- //# sourceMappingURL=consensus-vote-5NIBODVH.js.map
31
+ //# sourceMappingURL=consensus-vote-B6W7YQ6K.js.map
@@ -2,13 +2,13 @@ import {
2
2
  getContextForTask,
3
3
  inferTaskCategory,
4
4
  summarizeContextForPrompt
5
- } from "./chunk-W7YR5SGV.js";
6
- import "./chunk-SI7ZBCGU.js";
5
+ } from "./chunk-4GOT42ZA.js";
6
+ import "./chunk-7QXEK3O6.js";
7
7
  import "./chunk-6T3EPABN.js";
8
- import "./chunk-WWY6V4NK.js";
8
+ import "./chunk-PRGNJRID.js";
9
9
  import "./chunk-PQHVC4BD.js";
10
- import "./chunk-UISGEXHO.js";
11
- import "./chunk-MVGFF4OY.js";
10
+ import "./chunk-YEQE7WLP.js";
11
+ import "./chunk-W5I6L4UT.js";
12
12
  import "./chunk-CH7QIDHQ.js";
13
13
  import "./chunk-PR4QN5HX.js";
14
14
  export {
@@ -16,4 +16,4 @@ export {
16
16
  inferTaskCategory,
17
17
  summarizeContextForPrompt
18
18
  };
19
- //# sourceMappingURL=context-retriever-OBGV7Y2U.js.map
19
+ //# sourceMappingURL=context-retriever-C4CNVKR5.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  formatDeepDiagnostics,
3
3
  runDeepDiagnostics
4
- } from "./chunk-LZECDSJY.js";
5
- import "./chunk-MVGFF4OY.js";
4
+ } from "./chunk-AQTHLUCP.js";
5
+ import "./chunk-W5I6L4UT.js";
6
6
  import "./chunk-CH7QIDHQ.js";
7
7
  import "./chunk-PR4QN5HX.js";
8
8
  export {
9
9
  formatDeepDiagnostics,
10
10
  runDeepDiagnostics
11
11
  };
12
- //# sourceMappingURL=doctor-deep-F24MXACR.js.map
12
+ //# sourceMappingURL=doctor-deep-QSVGAHAO.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  executeExpert,
3
3
  shutdownExpertBridge
4
- } from "./chunk-EUMVRLJL.js";
5
- import "./chunk-MHPOJAPZ.js";
6
- import "./chunk-MVGFF4OY.js";
4
+ } from "./chunk-S6FXRXYE.js";
5
+ import "./chunk-SFZESA5O.js";
6
+ import "./chunk-W5I6L4UT.js";
7
7
  import "./chunk-CH7QIDHQ.js";
8
8
  import "./chunk-PR4QN5HX.js";
9
9
  export {
10
10
  executeExpert,
11
11
  shutdownExpertBridge
12
12
  };
13
- //# sourceMappingURL=expert-bridge-6KWMO2HT.js.map
13
+ //# sourceMappingURL=expert-bridge-VIWFPPGZ.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-F5GVZBSH.js";
5
- import "./chunk-QCZEC7H4.js";
6
- import "./chunk-XV7V3B35.js";
7
- import "./chunk-MVGFF4OY.js";
4
+ } from "./chunk-52ACUN6T.js";
5
+ import "./chunk-EAT4GTMT.js";
6
+ import "./chunk-EFHZHCF2.js";
7
+ import "./chunk-W5I6L4UT.js";
8
8
  import "./chunk-CH7QIDHQ.js";
9
9
  import "./chunk-PR4QN5HX.js";
10
10
  export {
11
11
  createGitHubProvider,
12
12
  createScmProvider
13
13
  };
14
- //# sourceMappingURL=factory-4RSAV4FC.js.map
14
+ //# sourceMappingURL=factory-NNSXCD25.js.map
@@ -3,10 +3,10 @@ import {
3
3
  createCliAdapter,
4
4
  getAvailableClis,
5
5
  isCliAvailable
6
- } from "./chunk-MKKQ3CQJ.js";
7
- import "./chunk-AKO5H63G.js";
8
- import "./chunk-WWY6V4NK.js";
9
- import "./chunk-MVGFF4OY.js";
6
+ } from "./chunk-X5BQF6HM.js";
7
+ import "./chunk-JYIKPBXW.js";
8
+ import "./chunk-PRGNJRID.js";
9
+ import "./chunk-W5I6L4UT.js";
10
10
  import "./chunk-CH7QIDHQ.js";
11
11
  import "./chunk-PR4QN5HX.js";
12
12
  export {
@@ -15,4 +15,4 @@ export {
15
15
  getAvailableClis,
16
16
  isCliAvailable
17
17
  };
18
- //# sourceMappingURL=factory-TA7GM2O2.js.map
18
+ //# sourceMappingURL=factory-T3SEZUGW.js.map
package/dist/index.d.ts CHANGED
@@ -28025,10 +28025,17 @@ type SuspiciousSignal = z.infer<typeof SuspiciousSignalSchema>;
28025
28025
  */
28026
28026
  interface GitHubUserMetadata {
28027
28027
  readonly username: string;
28028
- readonly accountAgeDays: number;
28029
- readonly priorContributions: number;
28030
- readonly recentCommentCount: number;
28031
- readonly recentCommentWindowMinutes: number;
28028
+ /**
28029
+ * Account/activity fields are OPTIONAL (#3106). When a field is absent (the
28030
+ * caller couldn't fetch it — e.g. the firewall before Phase 3 wiring), its
28031
+ * signal is SKIPPED rather than fabricated: an unknown value must never be
28032
+ * treated as benign (the old hardcoded `365`/`0`) nor as hostile. Only the
28033
+ * `authorAssociation` + `injectionFlags` signals fire on absent activity data.
28034
+ */
28035
+ readonly accountAgeDays?: number;
28036
+ readonly priorContributions?: number;
28037
+ readonly recentCommentCount?: number;
28038
+ readonly recentCommentWindowMinutes?: number;
28032
28039
  readonly authorAssociation: string;
28033
28040
  readonly injectionFlags: readonly InjectionFlag[];
28034
28041
  }
@@ -28329,6 +28336,14 @@ interface FirewallResult {
28329
28336
  readonly sanitized: SanitizedInput;
28330
28337
  readonly trust: ClassifyResult;
28331
28338
  readonly reputation?: ReputationAssessment;
28339
+ /**
28340
+ * The tier consumers should ENFORCE on (#3106): the classifier tier
28341
+ * reconciled with the reputation assessment (demotion-only; Tier-1/allowlist
28342
+ * wins; equals `trust.trustTier` when reputation is absent). Previously the
28343
+ * reputation tier was computed but dropped — `trust.trustTier` alone left
28344
+ * reputation unenforced.
28345
+ */
28346
+ readonly effectiveTrustTier: TrustTier;
28332
28347
  readonly atl: string;
28333
28348
  readonly auditEvents: readonly {
28334
28349
  readonly id: string;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createGitHubProvider,
3
3
  createScmProvider
4
- } from "./chunk-F5GVZBSH.js";
4
+ } from "./chunk-52ACUN6T.js";
5
5
  import {
6
6
  ALLOWED_COMMANDS,
7
7
  ARTIFACT_TYPES,
@@ -519,26 +519,26 @@ import {
519
519
  validateWorkflow,
520
520
  validateWorkflowDependencies,
521
521
  withLogging
522
- } from "./chunk-RAUA6B2M.js";
522
+ } from "./chunk-EUR32RSL.js";
523
523
  import {
524
524
  getTokenEnvVars,
525
525
  hasToken,
526
526
  resolveToken
527
- } from "./chunk-QCZEC7H4.js";
527
+ } from "./chunk-EAT4GTMT.js";
528
528
  import "./chunk-X2M7OF27.js";
529
529
  import {
530
530
  OPENAI_MODELS,
531
531
  OPENAI_MODEL_ALIASES,
532
532
  OpenAIAdapter,
533
533
  createOpenAIAdapter
534
- } from "./chunk-3MYPFPYL.js";
534
+ } from "./chunk-E6W4Z6GN.js";
535
535
  import {
536
536
  CliCircuitBreakerIntegration,
537
537
  createCliCircuitBreakerIntegration
538
- } from "./chunk-LENO7TKE.js";
538
+ } from "./chunk-3LKW4IEW.js";
539
539
  import {
540
540
  executeExpert
541
- } from "./chunk-EUMVRLJL.js";
541
+ } from "./chunk-S6FXRXYE.js";
542
542
  import {
543
543
  AgentFindingSchema,
544
544
  AgentPerformanceSchema,
@@ -632,7 +632,7 @@ import {
632
632
  validateToolInput,
633
633
  withModelNotFoundFallback,
634
634
  wrapResilientWithFallback
635
- } from "./chunk-7QTWFRHH.js";
635
+ } from "./chunk-4N54BTZU.js";
636
636
  import {
637
637
  AdapterModelError,
638
638
  BaseAdapter,
@@ -656,11 +656,11 @@ import {
656
656
  transformStream,
657
657
  validateApiKeyPresence,
658
658
  withTimeout
659
- } from "./chunk-O5F6QAIG.js";
659
+ } from "./chunk-3FVSYMHK.js";
660
660
  import {
661
661
  PROVIDER_ENV_KEYS
662
- } from "./chunk-TSHCHZ7R.js";
663
- import "./chunk-KR6UR263.js";
662
+ } from "./chunk-Y7E5ZWRQ.js";
663
+ import "./chunk-CGSVTROC.js";
664
664
  import {
665
665
  AgentActionSchema,
666
666
  GitHubReviewer,
@@ -688,16 +688,17 @@ import {
688
688
  isMutatingAction,
689
689
  isReadOnlyAction,
690
690
  mapAuthorAssociation,
691
+ reconcileTrustTier,
691
692
  requiresCitation,
692
693
  requiresCorroboration,
693
694
  sanitizeInput,
694
695
  validateAgentAction,
695
696
  validateCorroboration
696
- } from "./chunk-O5OJNB4C.js";
697
+ } from "./chunk-L3S7HOAS.js";
697
698
  import {
698
699
  GitHubProvider,
699
700
  ScmError
700
- } from "./chunk-XV7V3B35.js";
701
+ } from "./chunk-EFHZHCF2.js";
701
702
  import {
702
703
  FALLBACK_SCANNER_DATA,
703
704
  buildPlanFromAnalysis,
@@ -705,7 +706,7 @@ import {
705
706
  generateSecurityPlan,
706
707
  getRegistryManifest,
707
708
  resolveScannerData
708
- } from "./chunk-WF2YOYY7.js";
709
+ } from "./chunk-57HMLBYN.js";
709
710
  import {
710
711
  analyzeGitHubRepo,
711
712
  analyzeRepo,
@@ -715,10 +716,10 @@ import "./chunk-3ACDP4E6.js";
715
716
  import {
716
717
  PersistentStrategyDistiller,
717
718
  RulesSnapshotSchema
718
- } from "./chunk-W7YR5SGV.js";
719
+ } from "./chunk-4GOT42ZA.js";
719
720
  import {
720
721
  MemoryError
721
- } from "./chunk-SI7ZBCGU.js";
722
+ } from "./chunk-7QXEK3O6.js";
722
723
  import {
723
724
  AppConfigSchema,
724
725
  ExpertConfigSchema,
@@ -737,7 +738,7 @@ import {
737
738
  getKnownNexusVarNames,
738
739
  startStdioServer,
739
740
  validateNexusEnv
740
- } from "./chunk-MXHJMSYQ.js";
741
+ } from "./chunk-IBRZK662.js";
741
742
  import {
742
743
  AvailabilityCache,
743
744
  filterAvailableModels,
@@ -746,15 +747,15 @@ import {
746
747
  getFallbackChain,
747
748
  resetAvailabilityCache,
748
749
  resolveFallback
749
- } from "./chunk-MHPOJAPZ.js";
750
+ } from "./chunk-SFZESA5O.js";
750
751
  import {
751
752
  AvailableModelsCache,
752
753
  getDefaultAvailableModelsCache,
753
754
  setDefaultAvailableModelsCache
754
- } from "./chunk-PS7WKRJN.js";
755
+ } from "./chunk-6Q33PBXC.js";
755
756
  import {
756
757
  DEFAULTS
757
- } from "./chunk-SRTQUTCB.js";
758
+ } from "./chunk-3HTUYAKS.js";
758
759
  import "./chunk-NUBSJGQZ.js";
759
760
  import "./chunk-6T3EPABN.js";
760
761
  import {
@@ -785,9 +786,9 @@ import {
785
786
  isCliAvailable,
786
787
  isRetryableError,
787
788
  sleep
788
- } from "./chunk-MKKQ3CQJ.js";
789
- import "./chunk-AKO5H63G.js";
790
- import "./chunk-WWY6V4NK.js";
789
+ } from "./chunk-X5BQF6HM.js";
790
+ import "./chunk-JYIKPBXW.js";
791
+ import "./chunk-PRGNJRID.js";
791
792
  import {
792
793
  BUILT_IN_EXPERTS,
793
794
  BuiltInExpertTypeSchema,
@@ -798,7 +799,7 @@ import {
798
799
  validateExpertConfig
799
800
  } from "./chunk-ZM4O442V.js";
800
801
  import "./chunk-PQHVC4BD.js";
801
- import "./chunk-UISGEXHO.js";
802
+ import "./chunk-YEQE7WLP.js";
802
803
  import {
803
804
  AgentCapability,
804
805
  AgentError,
@@ -873,7 +874,7 @@ import {
873
874
  toError,
874
875
  unwrap,
875
876
  unwrapOr
876
- } from "./chunk-MVGFF4OY.js";
877
+ } from "./chunk-W5I6L4UT.js";
877
878
  import "./chunk-CH7QIDHQ.js";
878
879
  import "./chunk-PR4QN5HX.js";
879
880
 
@@ -4183,12 +4184,14 @@ var HostileInputFirewall = class {
4183
4184
  const sanitized = this.runSanitization(meta);
4184
4185
  const trust = this.runClassification(meta, sanitized);
4185
4186
  const reputation = this.runReputation(meta, sanitized);
4186
- const atl = this.buildATL(meta, trust, sanitized, reputation);
4187
+ const effectiveTrustTier = reconcileTrustTier(trust.trustTier, reputation);
4188
+ const atl = this.buildATL(meta, effectiveTrustTier, sanitized, reputation);
4187
4189
  const auditEvents = this.auditTrail.query().map((e) => ({ id: e.id, type: e.type }));
4188
4190
  return ok({
4189
4191
  sanitized,
4190
4192
  trust,
4191
4193
  ...reputation !== void 0 ? { reputation } : {},
4194
+ effectiveTrustTier,
4192
4195
  atl,
4193
4196
  auditEvents,
4194
4197
  durationMs: Date.now() - start
@@ -4266,10 +4269,6 @@ var HostileInputFirewall = class {
4266
4269
  if (!this.stages.reputationAssessment) return void 0;
4267
4270
  const metadata = {
4268
4271
  username: meta.username,
4269
- accountAgeDays: 365,
4270
- priorContributions: 0,
4271
- recentCommentCount: 0,
4272
- recentCommentWindowMinutes: 60,
4273
4272
  authorAssociation: meta.authorAssociation.toUpperCase(),
4274
4273
  injectionFlags: sanitized.injectionFlags
4275
4274
  };
@@ -4285,9 +4284,9 @@ var HostileInputFirewall = class {
4285
4284
  }
4286
4285
  return result;
4287
4286
  }
4288
- buildATL(meta, trust, sanitized, reputation) {
4287
+ buildATL(meta, effectiveTrustTier, sanitized, reputation) {
4289
4288
  const data = {
4290
- tier: trust.trustTier,
4289
+ tier: effectiveTrustTier,
4291
4290
  source: meta.sourceType,
4292
4291
  user: meta.username,
4293
4292
  sanitized: sanitized.wasModified,
@@ -5970,7 +5969,7 @@ function buildVotingInput(plan, config) {
5970
5969
  }
5971
5970
  async function executeSingleVote(plan, config, log) {
5972
5971
  try {
5973
- const { executeVoting } = await import("./consensus-vote-5NIBODVH.js");
5972
+ const { executeVoting } = await import("./consensus-vote-B6W7YQ6K.js");
5974
5973
  const input = buildVotingInput(plan, config);
5975
5974
  const result = await executeVoting(input, log);
5976
5975
  return parseVotingResult(result);