agent-nuvira 3.0.1 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +67 -0
  2. package/dist/agents/agents/context-gatherer.d.ts +5 -3
  3. package/dist/agents/agents/context-gatherer.d.ts.map +1 -1
  4. package/dist/agents/agents/context-gatherer.js +10 -9
  5. package/dist/agents/agents/context-gatherer.js.map +1 -1
  6. package/dist/agents/agents/reasoner.d.ts +2 -1
  7. package/dist/agents/agents/reasoner.d.ts.map +1 -1
  8. package/dist/agents/agents/reasoner.js +2 -1
  9. package/dist/agents/agents/reasoner.js.map +1 -1
  10. package/dist/agents/agents/reviewer-tool-calling.d.ts +3 -3
  11. package/dist/agents/agents/reviewer-tool-calling.js +3 -3
  12. package/dist/agents/agents/writer-tool-calling.d.ts +3 -3
  13. package/dist/agents/agents/writer-tool-calling.js +3 -3
  14. package/dist/agents/agents/writer.js +5 -5
  15. package/dist/agents/agents/writer.js.map +1 -1
  16. package/dist/agents/answer-quality-gate.d.ts +64 -0
  17. package/dist/agents/answer-quality-gate.d.ts.map +1 -0
  18. package/dist/agents/answer-quality-gate.js +94 -0
  19. package/dist/agents/answer-quality-gate.js.map +1 -0
  20. package/dist/agents/orchestrator.d.ts +6 -6
  21. package/dist/agents/orchestrator.d.ts.map +1 -1
  22. package/dist/agents/orchestrator.js +48 -24
  23. package/dist/agents/orchestrator.js.map +1 -1
  24. package/dist/agents/prompt-assembly.d.ts +3 -3
  25. package/dist/agents/prompt-assembly.js +3 -3
  26. package/dist/agents/tool-calling-agent.d.ts +3 -3
  27. package/dist/agents/tool-calling-agent.js +3 -3
  28. package/dist/cli/chat.d.ts +27 -9
  29. package/dist/cli/chat.d.ts.map +1 -1
  30. package/dist/cli/chat.js +171 -38
  31. package/dist/cli/chat.js.map +1 -1
  32. package/dist/cli/config.d.ts +25 -0
  33. package/dist/cli/config.d.ts.map +1 -1
  34. package/dist/cli/config.js +158 -1
  35. package/dist/cli/config.js.map +1 -1
  36. package/dist/cli/execute.d.ts.map +1 -1
  37. package/dist/cli/execute.js +59 -9
  38. package/dist/cli/execute.js.map +1 -1
  39. package/dist/cli/gateway.d.ts +7 -0
  40. package/dist/cli/gateway.d.ts.map +1 -1
  41. package/dist/cli/gateway.js +45 -0
  42. package/dist/cli/gateway.js.map +1 -1
  43. package/dist/cli/loop-executor.d.ts.map +1 -1
  44. package/dist/cli/loop-executor.js +87 -27
  45. package/dist/cli/loop-executor.js.map +1 -1
  46. package/dist/cli/models.d.ts.map +1 -1
  47. package/dist/cli/models.js +63 -0
  48. package/dist/cli/models.js.map +1 -1
  49. package/dist/config/manager.d.ts.map +1 -1
  50. package/dist/config/manager.js +17 -3
  51. package/dist/config/manager.js.map +1 -1
  52. package/dist/config/types.d.ts +25 -0
  53. package/dist/config/types.d.ts.map +1 -1
  54. package/dist/gateway/adapters.d.ts +24 -0
  55. package/dist/gateway/adapters.d.ts.map +1 -1
  56. package/dist/gateway/adapters.js +19 -0
  57. package/dist/gateway/adapters.js.map +1 -1
  58. package/dist/gateway/channel-directory.d.ts +24 -0
  59. package/dist/gateway/channel-directory.d.ts.map +1 -1
  60. package/dist/gateway/channel-directory.js.map +1 -1
  61. package/dist/gateway/delivery.d.ts +7 -1
  62. package/dist/gateway/delivery.d.ts.map +1 -1
  63. package/dist/gateway/delivery.js +7 -1
  64. package/dist/gateway/delivery.js.map +1 -1
  65. package/dist/gateway/gateway-log.d.ts +74 -0
  66. package/dist/gateway/gateway-log.d.ts.map +1 -0
  67. package/dist/gateway/gateway-log.js +167 -0
  68. package/dist/gateway/gateway-log.js.map +1 -0
  69. package/dist/gateway/inbox.d.ts +8 -1
  70. package/dist/gateway/inbox.d.ts.map +1 -1
  71. package/dist/gateway/inbox.js.map +1 -1
  72. package/dist/gateway/registry.d.ts +170 -1
  73. package/dist/gateway/registry.d.ts.map +1 -1
  74. package/dist/gateway/registry.js +578 -35
  75. package/dist/gateway/registry.js.map +1 -1
  76. package/dist/gateway/whatsapp/baileys-bridge.d.ts +98 -1
  77. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  78. package/dist/gateway/whatsapp/baileys-bridge.js +264 -63
  79. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  80. package/dist/gateway/whatsapp/bridge.d.ts +32 -0
  81. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  82. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  83. package/dist/inference/tool-call-utils.d.ts +146 -0
  84. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  85. package/dist/inference/tool-call-utils.js +381 -3
  86. package/dist/inference/tool-call-utils.js.map +1 -1
  87. package/dist/learning/auto-router.d.ts +65 -1
  88. package/dist/learning/auto-router.d.ts.map +1 -1
  89. package/dist/learning/auto-router.js +156 -1
  90. package/dist/learning/auto-router.js.map +1 -1
  91. package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
  92. package/dist/learning/hub-skill-catalog.js +10 -3
  93. package/dist/learning/hub-skill-catalog.js.map +1 -1
  94. package/dist/learning/reasoning-trace.d.ts +49 -2
  95. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  96. package/dist/learning/reasoning-trace.js +22 -1
  97. package/dist/learning/reasoning-trace.js.map +1 -1
  98. package/dist/learning/resilient-call.d.ts +116 -0
  99. package/dist/learning/resilient-call.d.ts.map +1 -1
  100. package/dist/learning/resilient-call.js +400 -15
  101. package/dist/learning/resilient-call.js.map +1 -1
  102. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  103. package/dist/nlu/conversation-gate.js +23 -2
  104. package/dist/nlu/conversation-gate.js.map +1 -1
  105. package/dist/nlu/intent.d.ts +35 -0
  106. package/dist/nlu/intent.d.ts.map +1 -1
  107. package/dist/nlu/intent.js +192 -3
  108. package/dist/nlu/intent.js.map +1 -1
  109. package/dist/nlu/schema.d.ts +2 -2
  110. package/dist/tools/ask-user.d.ts.map +1 -1
  111. package/dist/tools/ask-user.js +19 -3
  112. package/dist/tools/ask-user.js.map +1 -1
  113. package/dist/tools/coding-tools.d.ts +61 -8
  114. package/dist/tools/coding-tools.d.ts.map +1 -1
  115. package/dist/tools/coding-tools.js +308 -53
  116. package/dist/tools/coding-tools.js.map +1 -1
  117. package/dist/tools/gateway-send.d.ts.map +1 -1
  118. package/dist/tools/gateway-send.js +81 -4
  119. package/dist/tools/gateway-send.js.map +1 -1
  120. package/dist/tools/git-digest.d.ts +25 -0
  121. package/dist/tools/git-digest.d.ts.map +1 -0
  122. package/dist/tools/git-digest.js +68 -0
  123. package/dist/tools/git-digest.js.map +1 -0
  124. package/dist/tools/loop-project-context.d.ts +3 -3
  125. package/dist/tools/loop-project-context.d.ts.map +1 -1
  126. package/dist/tools/loop-project-context.js +9 -42
  127. package/dist/tools/loop-project-context.js.map +1 -1
  128. package/dist/tools/loop-skill-hint.d.ts +44 -7
  129. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  130. package/dist/tools/loop-skill-hint.js +117 -26
  131. package/dist/tools/loop-skill-hint.js.map +1 -1
  132. package/dist/tools/registry.d.ts +14 -0
  133. package/dist/tools/registry.d.ts.map +1 -1
  134. package/dist/tools/registry.js +29 -9
  135. package/dist/tools/registry.js.map +1 -1
  136. package/dist/tools/tool-loop.d.ts +79 -4
  137. package/dist/tools/tool-loop.d.ts.map +1 -1
  138. package/dist/tools/tool-loop.js +233 -6
  139. package/dist/tools/tool-loop.js.map +1 -1
  140. package/dist/tools/toolsets.js +2 -2
  141. package/dist/tools/toolsets.js.map +1 -1
  142. package/dist/tools/unified-diff.d.ts +39 -0
  143. package/dist/tools/unified-diff.d.ts.map +1 -0
  144. package/dist/tools/unified-diff.js +182 -0
  145. package/dist/tools/unified-diff.js.map +1 -0
  146. package/dist/web-dashboard/chat-console.d.ts +18 -0
  147. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  148. package/dist/web-dashboard/chat-console.js +36 -6
  149. package/dist/web-dashboard/chat-console.js.map +1 -1
  150. package/dist/web-dashboard/project-context.d.ts +7 -0
  151. package/dist/web-dashboard/project-context.d.ts.map +1 -1
  152. package/dist/web-dashboard/project-context.js +3 -0
  153. package/dist/web-dashboard/project-context.js.map +1 -1
  154. package/dist/web-dashboard/server.d.ts +13 -0
  155. package/dist/web-dashboard/server.d.ts.map +1 -1
  156. package/dist/web-dashboard/server.js +29 -2
  157. package/dist/web-dashboard/server.js.map +1 -1
  158. package/dist/web-dashboard/src/types.d.ts +24 -1
  159. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  160. package/package.json +4 -3
  161. package/src/web-dashboard/public/assets/index-CQW0qv1r.js +207 -0
  162. package/src/web-dashboard/public/assets/index-CQW0qv1r.js.map +1 -0
  163. package/src/web-dashboard/public/index.html +1 -1
  164. package/dist/app.js +0 -26
  165. package/dist/auth-api.d.ts +0 -2
  166. package/dist/auth-api.d.ts.map +0 -1
  167. package/dist/auth-api.js +0 -61
  168. package/dist/auth-api.js.map +0 -1
  169. package/dist/auth.test.d.ts +0 -1
  170. package/dist/auth.test.d.ts.map +0 -1
  171. package/dist/auth.test.js +0 -3
  172. package/dist/auth.test.js.map +0 -1
  173. package/dist/config/auth.js +0 -18
  174. package/dist/config/jwt.js +0 -24
  175. package/dist/config/keys.js +0 -14
  176. package/dist/file.d.ts +0 -1
  177. package/dist/file.d.ts.map +0 -1
  178. package/dist/file.js +0 -2
  179. package/dist/file.js.map +0 -1
  180. package/dist/middleware/auth.js +0 -30
  181. package/dist/passport.js +0 -34
  182. package/dist/routes/auth.d.ts +0 -3
  183. package/dist/routes/auth.d.ts.map +0 -1
  184. package/dist/routes/auth.js +0 -47
  185. package/dist/routes/auth.js.map +0 -1
  186. package/dist/routes/user.js +0 -31
  187. package/dist/server.js +0 -17
  188. package/dist/web-dashboard/src/App.js +0 -85
  189. package/dist/web-dashboard/src/admin-auth.test.js +0 -186
  190. package/dist/web-dashboard/src/ansi.js +0 -23
  191. package/dist/web-dashboard/src/ansi.test.js +0 -31
  192. package/dist/web-dashboard/src/api-admin-auth.test.js +0 -172
  193. package/dist/web-dashboard/src/api-admin.test.js +0 -65
  194. package/dist/web-dashboard/src/api-hub.test.js +0 -117
  195. package/dist/web-dashboard/src/api.js +0 -1421
  196. package/dist/web-dashboard/src/api.test.js +0 -51
  197. package/dist/web-dashboard/src/artifacts.js +0 -128
  198. package/dist/web-dashboard/src/artifacts.test.js +0 -139
  199. package/dist/web-dashboard/src/components/AdminPanel.js +0 -567
  200. package/dist/web-dashboard/src/components/AdminPanel.test.js +0 -288
  201. package/dist/web-dashboard/src/components/AgentHub.js +0 -1580
  202. package/dist/web-dashboard/src/components/AgentHub.test.js +0 -343
  203. package/dist/web-dashboard/src/components/BedrockOnboarding.js +0 -320
  204. package/dist/web-dashboard/src/components/BenchmarkCharts.js +0 -228
  205. package/dist/web-dashboard/src/components/ChatPage.js +0 -1586
  206. package/dist/web-dashboard/src/components/ChatPage.test.js +0 -899
  207. package/dist/web-dashboard/src/components/ContactsPage.js +0 -141
  208. package/dist/web-dashboard/src/components/CostDashboard.js +0 -105
  209. package/dist/web-dashboard/src/components/DAGView.js +0 -477
  210. package/dist/web-dashboard/src/components/DAGView.test.js +0 -147
  211. package/dist/web-dashboard/src/components/EnvVarEditor.js +0 -138
  212. package/dist/web-dashboard/src/components/EvalsPage.js +0 -73
  213. package/dist/web-dashboard/src/components/EvalsPage.test.js +0 -120
  214. package/dist/web-dashboard/src/components/ExecutionHistory.js +0 -201
  215. package/dist/web-dashboard/src/components/GatewayPage.js +0 -40
  216. package/dist/web-dashboard/src/components/GatewayPage.test.js +0 -74
  217. package/dist/web-dashboard/src/components/HealthPanel.js +0 -68
  218. package/dist/web-dashboard/src/components/HistoryBrowser.js +0 -34
  219. package/dist/web-dashboard/src/components/Layout.js +0 -50
  220. package/dist/web-dashboard/src/components/Markdown.js +0 -152
  221. package/dist/web-dashboard/src/components/Markdown.test.js +0 -126
  222. package/dist/web-dashboard/src/components/MarkdownZeroDep.js +0 -237
  223. package/dist/web-dashboard/src/components/MemoryPanel.js +0 -81
  224. package/dist/web-dashboard/src/components/ModelTimeline.js +0 -298
  225. package/dist/web-dashboard/src/components/ModelsPanel.js +0 -1484
  226. package/dist/web-dashboard/src/components/ModelsPanel.test.js +0 -460
  227. package/dist/web-dashboard/src/components/Overview.js +0 -123
  228. package/dist/web-dashboard/src/components/PhaseTimeline.js +0 -359
  229. package/dist/web-dashboard/src/components/PhaseTimeline.test.js +0 -234
  230. package/dist/web-dashboard/src/components/PlatformConfigSection.js +0 -384
  231. package/dist/web-dashboard/src/components/PlatformConfigSection.test.js +0 -106
  232. package/dist/web-dashboard/src/components/PlatformsPage.js +0 -250
  233. package/dist/web-dashboard/src/components/QuotaPanel.js +0 -159
  234. package/dist/web-dashboard/src/components/QuotaPanel.test.js +0 -85
  235. package/dist/web-dashboard/src/components/RequestsPanel.js +0 -229
  236. package/dist/web-dashboard/src/components/RequestsPanel.test.js +0 -103
  237. package/dist/web-dashboard/src/components/RoutingInsightsPanel.js +0 -938
  238. package/dist/web-dashboard/src/components/RoutingInsightsPanel.test.js +0 -339
  239. package/dist/web-dashboard/src/components/RoutingWalkthrough.js +0 -408
  240. package/dist/web-dashboard/src/components/RoutingWalkthrough.test.js +0 -209
  241. package/dist/web-dashboard/src/components/TaskConsole.js +0 -119
  242. package/dist/web-dashboard/src/components/TaskConsole.test.js +0 -123
  243. package/dist/web-dashboard/src/components/TasksPage.js +0 -256
  244. package/dist/web-dashboard/src/components/TasksPage.test.js +0 -103
  245. package/dist/web-dashboard/src/components/TracePanel.js +0 -306
  246. package/dist/web-dashboard/src/components/WhatsAppPanel.js +0 -195
  247. package/dist/web-dashboard/src/components/WhatsAppPanel.test.js +0 -122
  248. package/dist/web-dashboard/src/jsonOrNull.js +0 -37
  249. package/dist/web-dashboard/src/main.js +0 -15
  250. package/dist/web-dashboard/src/mask.js +0 -11
  251. package/dist/web-dashboard/vite.config.js +0 -23
  252. package/dist/web-dashboard/vitest.config.js +0 -15
  253. package/src/web-dashboard/public/assets/index-56yPnN_m.js +0 -207
  254. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +0 -1
@@ -44,7 +44,7 @@ export interface OrchestratorOptions {
44
44
  * Use tool-calling agents for writer and reviewer steps.
45
45
  * When true, the orchestrator routes 'writer' tasks to 'writer-tc' and
46
46
  * 'reviewer' tasks to 'reviewer-tc' — iterative read→edit→verify loops
47
- * instead of one-shot LLM calls. Adopted from Freebuff/Hermes pattern.
47
+ * instead of one-shot LLM calls.
48
48
  *
49
49
  * Defaults to `DEFAULT_USE_TOOL_CALLING` (true). Absent means "use the
50
50
  * default" — pass an explicit `false` to force the one-shot writer, which
@@ -235,7 +235,7 @@ export interface ExecutionStats {
235
235
  * malformed code fence loses the whole task. `writer-tc`/`reviewer-tc` run a
236
236
  * prompt-based read→edit→verify loop instead, which is provider-agnostic (no
237
237
  * native function calling required) and is the single largest capability gap
238
- * between this harness and Freebuff's for every model, weak ones most of all.
238
+ * between this harness and a fully agentic harness, weak models most of all.
239
239
  *
240
240
  * It is therefore ON by default; `--no-tool-calling` (CLI) or
241
241
  * `useToolCalling: false` (API) restores the one-shot writer.
@@ -383,8 +383,8 @@ export declare class Orchestrator {
383
383
  private createLLMProvider;
384
384
  /**
385
385
  * CHANGE-002: Create a fast/cheap LLM for file finding.
386
- * Adopts Codebuff's pattern: use a small, fast model (like Gemini Flash)
387
- * for file selection instead of the main (expensive) model.
386
+ * Use a small, fast model (like Gemini Flash) for file selection instead
387
+ * of the main (expensive) model.
388
388
  *
389
389
  * The file finder only needs to:
390
390
  * 1. Read the file tree
@@ -392,8 +392,8 @@ export declare class Orchestrator {
392
392
  * 3. Return file paths
393
393
  *
394
394
  * This doesn't require a powerful model — a fast model with good instruction
395
- * following is sufficient. Codebuff uses a finetuned Gemini Flash model for
396
- * this exact purpose.
395
+ * following is sufficient. A finetuned small model is well suited to this
396
+ * exact purpose.
397
397
  *
398
398
  * Returns a cheap LLM call function, or null if no fast model is available.
399
399
  */
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASrD,OAAO,KAAK,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAO9F,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgB9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAuB,KAAK,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAS/F,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAsDpC,iDAAiD;AACjD,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IACpD;;;OAGG;IACH;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,IAAI,IAAI,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;6EACyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,0BAA0B,EAAE,OAAO,CAAC;IACpC,+CAA+C;IAC/C,0BAA0B,EAAE,OAAO,CAAC;IACpC,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;CACvB;AA0BD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAEnG;AAaD,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAgB;IACrC,iDAAiD;IACjD,OAAO,CAAC,cAAc,CAAiB;IACvC,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAW;IAC3B,oEAAoE;IACpE,OAAO,CAAC,YAAY,CAAe;IACnC,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB,CAAsC;IACtE;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAA6B;IACvD;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB,CAA0D;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B,CAA0D;IAC9F;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAAgC;IACvD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAuB;IAE5C;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;IACF;;;;;;;;;;;;;OAaG;YACW,uBAAuB;IAcrC,+DAA+D;IAC/D,OAAO,CAAC,KAAK,CAWX;gBAEU,aAAa,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAO5H;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO5F,uEAAuE;YACzD,iBAAiB;IAyD/B,wDAAwD;YAC1C,eAAe;IAw8B7B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;;;;;OASG;YACW,oBAAoB;IAsElC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IA8E5B,yEAAyE;IACzE,OAAO,CAAC,gBAAgB;IAiDxB,oFAAoF;IACpF,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,iBAAiB;IAqFzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,mBAAmB;YAgDb,QAAQ;IAmBtB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,sBAAsB;YA6OhB,iBAAiB;IAqrB/B,OAAO,CAAC,oBAAoB;IA6E5B;;;;OAIG;IACH;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,0BAA0B;IA2ElC,OAAO,CAAC,mBAAmB;IAyB3B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IA+BhC;;;;;;;;;OASG;IACH,OAAO,CAAC,yBAAyB;IAKjC;;;;;;;;;OASG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAqChC,OAAO,CAAC,kBAAkB;IA4C1B,gEAAgE;IAChE,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,+BAA+B;IAiJvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAyB/B,OAAO,CAAC,2BAA2B;IA0BnC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAkDpB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,WAAW;CAwBpB"}
@@ -53,6 +53,7 @@ import { ErrorRepairEngine } from '../learning/error-repair.js';
53
53
  import { estimateTokens } from '../learning/cost-tracker.js';
54
54
  import { scanForInjections, formatScanReport } from '../security/scanner.js';
55
55
  import { withLogCorrelation } from '../enterprise/log.js';
56
+ import { withAgentAnswerQualityGate } from './answer-quality-gate.js';
56
57
  import { getMetrics } from '../enterprise/metrics.js';
57
58
  import { getAutoRouter, isAutoModel, isAutoProvider, } from '../learning/auto-router.js';
58
59
  import { analyzeComplexity } from '../learning/hybrid-router.js';
@@ -124,7 +125,7 @@ function createAgent(agentType, registry) {
124
125
  * malformed code fence loses the whole task. `writer-tc`/`reviewer-tc` run a
125
126
  * prompt-based read→edit→verify loop instead, which is provider-agnostic (no
126
127
  * native function calling required) and is the single largest capability gap
127
- * between this harness and Freebuff's for every model, weak ones most of all.
128
+ * between this harness and a fully agentic harness, weak models most of all.
128
129
  *
129
130
  * It is therefore ON by default; `--no-tool-calling` (CLI) or
130
131
  * `useToolCalling: false` (API) restores the one-shot writer.
@@ -686,12 +687,16 @@ export class Orchestrator {
686
687
  // API" goal does NOT get website-deployment methodology. For a
687
688
  // website-deployment skill (bundled OR hub-installed), require
688
689
  // hosting-specific intent words.
689
- if (matchedSkill && matchedSkill.id === 'skill-website-deploy') {
690
- const goalLower = goal.toLowerCase();
691
- const HOSTING_INTENT = /cloudflare|netlify|vercel|github\s*pages|hosting|pages\.dev|web\s*site|website|static\s*site|landing\s*page/;
692
- if (!HOSTING_INTENT.test(goalLower))
693
- matchedSkill = null;
694
- }
690
+ //
691
+ // This pipeline path used to apply ONLY the website-deploy rule and NO
692
+ // evidence filter at all — so it was the most exposed injection surface
693
+ // (live 2026-09-21: `wsl-setup` methodology injected into a cross-platform
694
+ // GUI app plan because the goal named "Windows and Linux"). It now uses
695
+ // the SAME `isSkillActivated` predicate as the chat/execute loop, so the
696
+ // three surfaces cannot disagree about what a goal is evidence FOR.
697
+ const { isSkillActivated } = await import('../tools/loop-skill-hint.js');
698
+ if (matchedSkill && !isSkillActivated(goal, matchedSkill))
699
+ matchedSkill = null;
695
700
  if (matchedSkill) {
696
701
  // Load full methodology from skill_view() (Hermes progressive disclosure)
697
702
  let fullMethodology = '';
@@ -726,15 +731,12 @@ export class Orchestrator {
726
731
  // recommendation, the planner still owns the final plan.
727
732
  const { findHubSkillMatch } = await import('../learning/hub-skill-catalog.js');
728
733
  let hubMatch = findHubSkillMatch(goal);
729
- // Same activation gate as the compiled website-deploy skill: a hub
730
- // skill whose id/name is website-deploy-ish must NOT inject website
731
- // methodology for an unrelated "deploy the API" goal.
732
- if (hubMatch && /website[-_ ]?deploy/.test(`${hubMatch.id} ${hubMatch.name}`)) {
733
- const goalLower = goal.toLowerCase();
734
- const HOSTING_INTENT = /cloudflare|netlify|vercel|github\s*pages|hosting|pages\.dev|web\s*site|website|static\s*site|landing\s*page/;
735
- if (!HOSTING_INTENT.test(goalLower))
736
- hubMatch = null;
737
- }
734
+ // SAME activation gate as the compiled skill (website-deploy needs
735
+ // hosting intent) AND the evidence filter the hub scorer has never had:
736
+ // its name/description keyword score is a candidate RANKING, not proof
737
+ // the goal asked for the methodology.
738
+ if (hubMatch && !isSkillActivated(goal, hubMatch))
739
+ hubMatch = null;
738
740
  if (hubMatch) {
739
741
  // Load full methodology from skill_view() (Hermes progressive disclosure)
740
742
  let fullMethodology = '';
@@ -1574,8 +1576,8 @@ export class Orchestrator {
1574
1576
  }
1575
1577
  /**
1576
1578
  * CHANGE-002: Create a fast/cheap LLM for file finding.
1577
- * Adopts Codebuff's pattern: use a small, fast model (like Gemini Flash)
1578
- * for file selection instead of the main (expensive) model.
1579
+ * Use a small, fast model (like Gemini Flash) for file selection instead
1580
+ * of the main (expensive) model.
1579
1581
  *
1580
1582
  * The file finder only needs to:
1581
1583
  * 1. Read the file tree
@@ -1583,8 +1585,8 @@ export class Orchestrator {
1583
1585
  * 3. Return file paths
1584
1586
  *
1585
1587
  * This doesn't require a powerful model — a fast model with good instruction
1586
- * following is sufficient. Codebuff uses a finetuned Gemini Flash model for
1587
- * this exact purpose.
1588
+ * following is sufficient. A finetuned small model is well suited to this
1589
+ * exact purpose.
1588
1590
  *
1589
1591
  * Returns a cheap LLM call function, or null if no fast model is available.
1590
1592
  */
@@ -1632,7 +1634,12 @@ export class Orchestrator {
1632
1634
  }
1633
1635
  async runAgent(agent, vault, callLLM, _options) {
1634
1636
  try {
1635
- return await withLogCorrelation({ taskId: 'single' }, () => agent.execute(vault.context, callLLM));
1637
+ // Same answer-quality gate as the task path (see the wiring above): the
1638
+ // reasoner and planner are executed HERE with their own LLM function, so
1639
+ // without this their summaries would be the only agent output still able
1640
+ // to carry a leaked reasoning trace into the report.
1641
+ const gated = withAgentAnswerQualityGate(callLLM, { agent: agent.name, taskId: 'single' });
1642
+ return await withLogCorrelation({ taskId: 'single' }, () => agent.execute(vault.context, gated));
1636
1643
  }
1637
1644
  catch (err) {
1638
1645
  const msg = err instanceof Error ? err.message : String(err);
@@ -1915,7 +1922,7 @@ export class Orchestrator {
1915
1922
  const agentModel = options.model || options.agentModels?.[effectiveAgentType] || options.agentModels?.[task.agentType];
1916
1923
  let taskBoundProvider;
1917
1924
  const useResilient = autoRouting && (options.resilientRouting !== false);
1918
- const agentCallLLM = autoRouting
1925
+ const routedAgentCallLLM = autoRouting
1919
1926
  ? (useResilient
1920
1927
  ? this.createResilientAutoRoutedLLM({
1921
1928
  agentType: effectiveAgentType,
@@ -1943,6 +1950,23 @@ export class Orchestrator {
1943
1950
  provider: options.provider,
1944
1951
  model: agentModel || options.model,
1945
1952
  });
1953
+ // ── AGENT ANSWER-QUALITY GATE ──────────────────────────────────────
1954
+ // The agents do NOT go through the loop engine, so the generation-time
1955
+ // quality gate that protects chat/`execute` never saw them: each agent is
1956
+ // handed this function and calls the provider directly. A traced reply
1957
+ // (the model narrating the conversation or reciting its instructions)
1958
+ // therefore became the task's SUMMARY — rendered as
1959
+ // `• ✅ Reasoner: The user wants a project plan … I should use the
1960
+ // \`plan_todo\` tool…`. Wrapping here (rather than inside each agent)
1961
+ // covers every agent type and every path that hands the agent this
1962
+ // function — the first pass, the repair engine, the reviewer-fix
1963
+ // strategy — while leaving the orchestrator's housekeeping calls (file
1964
+ // finding, memory) alone. One corrective retry, then the render sites'
1965
+ // salvage/suppress takes over.
1966
+ const agentCallLLM = withAgentAnswerQualityGate(routedAgentCallLLM, {
1967
+ agent: effectiveAgentType,
1968
+ taskId: task.id,
1969
+ });
1946
1970
  // Skip tester and debugger tasks in skip-tests mode
1947
1971
  if (options.skipTests && (task.agentType === 'tester' || task.agentType === 'debugger')) {
1948
1972
  vault.updateTaskStatus(task.id, 'completed', 'Skipped (--skip-tests)');
@@ -1972,7 +1996,7 @@ export class Orchestrator {
1972
1996
  // Tool-calling agent routing: when useToolCalling is enabled, route
1973
1997
  // 'writer' and 'reviewer' tasks to their tool-calling variants.
1974
1998
  // This gives the LLM iterative read→edit→verify capability instead
1975
- // of a single-shot LLM call (adopted from Freebuff/Hermes pattern).
1999
+ // of a single-shot LLM call.
1976
2000
  let actualAgentType = effectiveAgentType;
1977
2001
  if (resolveUseToolCalling(options)) {
1978
2002
  if (effectiveAgentType === 'writer') {
@@ -1996,7 +2020,7 @@ export class Orchestrator {
1996
2020
  // attach to the correct board line (fresh instance per task → no races).
1997
2021
  agent.currentTaskId = task.id;
1998
2022
  // CHANGE-002: Create a fast/cheap file finder LLM for context-gatherer.
1999
- // Codebuff uses a finetuned Gemini Flash model for file finding — fast,
2023
+ // A finetuned small model is well suited to file finding — fast,
2000
2024
  // cheap, and accurate for this narrow task. When available, inject it
2001
2025
  // into the context-gatherer's metadata so it uses the fast model instead
2002
2026
  // of the main (expensive) model for file selection.