agent-nuvira 2.7.2 → 3.0.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 (402) hide show
  1. package/dist/agents/agents/writer-tool-calling.d.ts +14 -0
  2. package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
  3. package/dist/agents/agents/writer-tool-calling.js +20 -0
  4. package/dist/agents/agents/writer-tool-calling.js.map +1 -1
  5. package/dist/agents/agents/writer.d.ts.map +1 -1
  6. package/dist/agents/agents/writer.js +15 -4
  7. package/dist/agents/agents/writer.js.map +1 -1
  8. package/dist/agents/edit-module.d.ts +7 -0
  9. package/dist/agents/edit-module.d.ts.map +1 -1
  10. package/dist/agents/edit-module.js +21 -6
  11. package/dist/agents/edit-module.js.map +1 -1
  12. package/dist/agents/orchestrator.d.ts +40 -0
  13. package/dist/agents/orchestrator.d.ts.map +1 -1
  14. package/dist/agents/orchestrator.js +116 -27
  15. package/dist/agents/orchestrator.js.map +1 -1
  16. package/dist/agents/tool-calling-agent.d.ts +19 -0
  17. package/dist/agents/tool-calling-agent.d.ts.map +1 -1
  18. package/dist/agents/tool-calling-agent.js +42 -2
  19. package/dist/agents/tool-calling-agent.js.map +1 -1
  20. package/dist/auth-api.d.ts +2 -0
  21. package/dist/auth-api.d.ts.map +1 -0
  22. package/dist/auth-api.js +61 -0
  23. package/dist/auth-api.js.map +1 -0
  24. package/dist/auth.test.d.ts +1 -0
  25. package/dist/auth.test.d.ts.map +1 -0
  26. package/dist/auth.test.js +3 -0
  27. package/dist/auth.test.js.map +1 -0
  28. package/dist/cli/chat.d.ts +66 -1
  29. package/dist/cli/chat.d.ts.map +1 -1
  30. package/dist/cli/chat.js +323 -77
  31. package/dist/cli/chat.js.map +1 -1
  32. package/dist/cli/cli-program.d.ts +6 -0
  33. package/dist/cli/cli-program.d.ts.map +1 -0
  34. package/dist/cli/cli-program.js +222 -0
  35. package/dist/cli/cli-program.js.map +1 -0
  36. package/dist/cli/edit.d.ts.map +1 -1
  37. package/dist/cli/edit.js +18 -3
  38. package/dist/cli/edit.js.map +1 -1
  39. package/dist/cli/execute.d.ts.map +1 -1
  40. package/dist/cli/execute.js +29 -5
  41. package/dist/cli/execute.js.map +1 -1
  42. package/dist/cli/failover-runner.d.ts +13 -0
  43. package/dist/cli/failover-runner.d.ts.map +1 -1
  44. package/dist/cli/failover-runner.js +11 -0
  45. package/dist/cli/failover-runner.js.map +1 -1
  46. package/dist/cli/gateway.d.ts +16 -0
  47. package/dist/cli/gateway.d.ts.map +1 -1
  48. package/dist/cli/gateway.js +108 -2
  49. package/dist/cli/gateway.js.map +1 -1
  50. package/dist/cli/loop-executor.d.ts.map +1 -1
  51. package/dist/cli/loop-executor.js +296 -20
  52. package/dist/cli/loop-executor.js.map +1 -1
  53. package/dist/cli/plan.d.ts.map +1 -1
  54. package/dist/cli/plan.js +20 -6
  55. package/dist/cli/plan.js.map +1 -1
  56. package/dist/cli/process-control.d.ts +10 -0
  57. package/dist/cli/process-control.d.ts.map +1 -1
  58. package/dist/cli/process-control.js +73 -7
  59. package/dist/cli/process-control.js.map +1 -1
  60. package/dist/cli/router.d.ts +16 -5
  61. package/dist/cli/router.d.ts.map +1 -1
  62. package/dist/cli/router.js +31 -206
  63. package/dist/cli/router.js.map +1 -1
  64. package/dist/config/paths.d.ts +23 -0
  65. package/dist/config/paths.d.ts.map +1 -1
  66. package/dist/config/paths.js +30 -0
  67. package/dist/config/paths.js.map +1 -1
  68. package/dist/config/provider-env.d.ts +37 -0
  69. package/dist/config/provider-env.d.ts.map +1 -0
  70. package/dist/config/provider-env.js +86 -0
  71. package/dist/config/provider-env.js.map +1 -0
  72. package/dist/context/history.d.ts.map +1 -1
  73. package/dist/context/history.js +24 -8
  74. package/dist/context/history.js.map +1 -1
  75. package/dist/context/session-recall.d.ts +30 -0
  76. package/dist/context/session-recall.d.ts.map +1 -1
  77. package/dist/context/session-recall.js +61 -0
  78. package/dist/context/session-recall.js.map +1 -1
  79. package/dist/file.js +0 -1
  80. package/dist/file.js.map +1 -1
  81. package/dist/gateway/adapters.d.ts +10 -0
  82. package/dist/gateway/adapters.d.ts.map +1 -1
  83. package/dist/gateway/adapters.js +4 -1
  84. package/dist/gateway/adapters.js.map +1 -1
  85. package/dist/gateway/dedup.d.ts +105 -0
  86. package/dist/gateway/dedup.d.ts.map +1 -0
  87. package/dist/gateway/dedup.js +160 -0
  88. package/dist/gateway/dedup.js.map +1 -0
  89. package/dist/gateway/heartbeat.d.ts +99 -0
  90. package/dist/gateway/heartbeat.d.ts.map +1 -0
  91. package/dist/gateway/heartbeat.js +122 -0
  92. package/dist/gateway/heartbeat.js.map +1 -0
  93. package/dist/gateway/inbox.d.ts +14 -1
  94. package/dist/gateway/inbox.d.ts.map +1 -1
  95. package/dist/gateway/inbox.js.map +1 -1
  96. package/dist/gateway/platform-config.d.ts +5 -0
  97. package/dist/gateway/platform-config.d.ts.map +1 -1
  98. package/dist/gateway/platform-config.js +8 -13
  99. package/dist/gateway/platform-config.js.map +1 -1
  100. package/dist/gateway/registry.d.ts +65 -0
  101. package/dist/gateway/registry.d.ts.map +1 -1
  102. package/dist/gateway/registry.js +307 -32
  103. package/dist/gateway/registry.js.map +1 -1
  104. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  105. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  106. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  107. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  108. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  109. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  110. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/inference/factory.d.ts +16 -0
  114. package/dist/inference/factory.d.ts.map +1 -1
  115. package/dist/inference/factory.js +42 -0
  116. package/dist/inference/factory.js.map +1 -1
  117. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  118. package/dist/inference/gemini-adapter.js +3 -0
  119. package/dist/inference/gemini-adapter.js.map +1 -1
  120. package/dist/inference/interface.d.ts +12 -0
  121. package/dist/inference/interface.d.ts.map +1 -1
  122. package/dist/inference/local-adapter.d.ts +2 -0
  123. package/dist/inference/local-adapter.d.ts.map +1 -1
  124. package/dist/inference/local-adapter.js +36 -5
  125. package/dist/inference/local-adapter.js.map +1 -1
  126. package/dist/inference/model-catalog.d.ts +8 -0
  127. package/dist/inference/model-catalog.d.ts.map +1 -1
  128. package/dist/inference/model-catalog.js +40 -0
  129. package/dist/inference/model-catalog.js.map +1 -1
  130. package/dist/inference/model-probe.d.ts +7 -0
  131. package/dist/inference/model-probe.d.ts.map +1 -1
  132. package/dist/inference/model-probe.js +25 -7
  133. package/dist/inference/model-probe.js.map +1 -1
  134. package/dist/inference/native-tools.d.ts +8 -0
  135. package/dist/inference/native-tools.d.ts.map +1 -1
  136. package/dist/inference/native-tools.js +14 -3
  137. package/dist/inference/native-tools.js.map +1 -1
  138. package/dist/inference/tool-call-utils.d.ts +66 -7
  139. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  140. package/dist/inference/tool-call-utils.js +134 -13
  141. package/dist/inference/tool-call-utils.js.map +1 -1
  142. package/dist/learning/auto-router.d.ts +21 -0
  143. package/dist/learning/auto-router.d.ts.map +1 -1
  144. package/dist/learning/auto-router.js +282 -21
  145. package/dist/learning/auto-router.js.map +1 -1
  146. package/dist/learning/context-budget.d.ts +133 -0
  147. package/dist/learning/context-budget.d.ts.map +1 -0
  148. package/dist/learning/context-budget.js +196 -0
  149. package/dist/learning/context-budget.js.map +1 -0
  150. package/dist/learning/cost-tracker.d.ts.map +1 -1
  151. package/dist/learning/cost-tracker.js +20 -8
  152. package/dist/learning/cost-tracker.js.map +1 -1
  153. package/dist/learning/eval-framework.d.ts.map +1 -1
  154. package/dist/learning/eval-framework.js +6 -2
  155. package/dist/learning/eval-framework.js.map +1 -1
  156. package/dist/learning/failure-bookkeeping.d.ts +41 -0
  157. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  158. package/dist/learning/failure-bookkeeping.js +122 -4
  159. package/dist/learning/failure-bookkeeping.js.map +1 -1
  160. package/dist/learning/feedback.d.ts.map +1 -1
  161. package/dist/learning/feedback.js +19 -8
  162. package/dist/learning/feedback.js.map +1 -1
  163. package/dist/learning/model-first-router.d.ts.map +1 -1
  164. package/dist/learning/model-first-router.js +5 -11
  165. package/dist/learning/model-first-router.js.map +1 -1
  166. package/dist/learning/model-harness.d.ts +76 -0
  167. package/dist/learning/model-harness.d.ts.map +1 -0
  168. package/dist/learning/model-harness.js +119 -0
  169. package/dist/learning/model-harness.js.map +1 -0
  170. package/dist/learning/model-registry.d.ts +29 -0
  171. package/dist/learning/model-registry.d.ts.map +1 -1
  172. package/dist/learning/model-registry.js +129 -3
  173. package/dist/learning/model-registry.js.map +1 -1
  174. package/dist/learning/model-scoring.d.ts.map +1 -1
  175. package/dist/learning/model-scoring.js +6 -1
  176. package/dist/learning/model-scoring.js.map +1 -1
  177. package/dist/learning/model-selection.d.ts +15 -0
  178. package/dist/learning/model-selection.d.ts.map +1 -1
  179. package/dist/learning/model-selection.js +40 -1
  180. package/dist/learning/model-selection.js.map +1 -1
  181. package/dist/learning/provider-fallback.d.ts +12 -0
  182. package/dist/learning/provider-fallback.d.ts.map +1 -1
  183. package/dist/learning/provider-fallback.js +84 -0
  184. package/dist/learning/provider-fallback.js.map +1 -1
  185. package/dist/learning/provider-revival.d.ts +106 -0
  186. package/dist/learning/provider-revival.d.ts.map +1 -0
  187. package/dist/learning/provider-revival.js +154 -0
  188. package/dist/learning/provider-revival.js.map +1 -0
  189. package/dist/learning/quota-ledger.d.ts +64 -3
  190. package/dist/learning/quota-ledger.d.ts.map +1 -1
  191. package/dist/learning/quota-ledger.js +122 -9
  192. package/dist/learning/quota-ledger.js.map +1 -1
  193. package/dist/learning/resilient-call.d.ts +98 -0
  194. package/dist/learning/resilient-call.d.ts.map +1 -1
  195. package/dist/learning/resilient-call.js +252 -46
  196. package/dist/learning/resilient-call.js.map +1 -1
  197. package/dist/nlu/conversation-gate.d.ts +37 -0
  198. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  199. package/dist/nlu/conversation-gate.js +49 -0
  200. package/dist/nlu/conversation-gate.js.map +1 -1
  201. package/dist/nlu/schema.d.ts +4 -4
  202. package/dist/observability/dag-bridge.d.ts +69 -0
  203. package/dist/observability/dag-bridge.d.ts.map +1 -0
  204. package/dist/observability/dag-bridge.js +56 -0
  205. package/dist/observability/dag-bridge.js.map +1 -0
  206. package/dist/observability/event-bus.d.ts +5 -10
  207. package/dist/observability/event-bus.d.ts.map +1 -1
  208. package/dist/observability/event-bus.js +10 -42
  209. package/dist/observability/event-bus.js.map +1 -1
  210. package/dist/routes/auth.d.ts +3 -0
  211. package/dist/routes/auth.d.ts.map +1 -0
  212. package/dist/routes/auth.js +41 -36
  213. package/dist/routes/auth.js.map +1 -0
  214. package/dist/skills/execution-audit.d.ts.map +1 -1
  215. package/dist/skills/execution-audit.js +17 -5
  216. package/dist/skills/execution-audit.js.map +1 -1
  217. package/dist/skills/sandbox-executor.d.ts +12 -1
  218. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  219. package/dist/skills/sandbox-executor.js +28 -6
  220. package/dist/skills/sandbox-executor.js.map +1 -1
  221. package/dist/skills/secret-capture.d.ts +45 -1
  222. package/dist/skills/secret-capture.d.ts.map +1 -1
  223. package/dist/skills/secret-capture.js +82 -19
  224. package/dist/skills/secret-capture.js.map +1 -1
  225. package/dist/skills/skill-env-inventory.d.ts +79 -0
  226. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  227. package/dist/skills/skill-env-inventory.js +167 -0
  228. package/dist/skills/skill-env-inventory.js.map +1 -0
  229. package/dist/skills/skill-executor.d.ts +2 -0
  230. package/dist/skills/skill-executor.d.ts.map +1 -1
  231. package/dist/skills/skill-executor.js +19 -24
  232. package/dist/skills/skill-executor.js.map +1 -1
  233. package/dist/tools/ask-user.d.ts +14 -1
  234. package/dist/tools/ask-user.d.ts.map +1 -1
  235. package/dist/tools/ask-user.js +25 -1
  236. package/dist/tools/ask-user.js.map +1 -1
  237. package/dist/tools/followup-utils.d.ts +64 -0
  238. package/dist/tools/followup-utils.d.ts.map +1 -0
  239. package/dist/tools/followup-utils.js +158 -0
  240. package/dist/tools/followup-utils.js.map +1 -0
  241. package/dist/tools/memory-tools.d.ts +35 -0
  242. package/dist/tools/memory-tools.d.ts.map +1 -1
  243. package/dist/tools/memory-tools.js +76 -0
  244. package/dist/tools/memory-tools.js.map +1 -1
  245. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  246. package/dist/tools/pipeline-tool.js +8 -3
  247. package/dist/tools/pipeline-tool.js.map +1 -1
  248. package/dist/tools/registry.d.ts +25 -12
  249. package/dist/tools/registry.d.ts.map +1 -1
  250. package/dist/tools/registry.js +31 -6
  251. package/dist/tools/registry.js.map +1 -1
  252. package/dist/tools/skill-tool.d.ts.map +1 -1
  253. package/dist/tools/skill-tool.js +52 -5
  254. package/dist/tools/skill-tool.js.map +1 -1
  255. package/dist/tools/tool-loop.d.ts +63 -1
  256. package/dist/tools/tool-loop.d.ts.map +1 -1
  257. package/dist/tools/tool-loop.js +305 -66
  258. package/dist/tools/tool-loop.js.map +1 -1
  259. package/dist/tools/toolsets.d.ts +19 -3
  260. package/dist/tools/toolsets.d.ts.map +1 -1
  261. package/dist/tools/toolsets.js +21 -5
  262. package/dist/tools/toolsets.js.map +1 -1
  263. package/dist/utils/env.d.ts.map +1 -1
  264. package/dist/utils/env.js +9 -13
  265. package/dist/utils/env.js.map +1 -1
  266. package/dist/web-dashboard/chat-console.d.ts +13 -1
  267. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  268. package/dist/web-dashboard/chat-console.js +16 -2
  269. package/dist/web-dashboard/chat-console.js.map +1 -1
  270. package/dist/web-dashboard/hub-data.d.ts +2 -0
  271. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  272. package/dist/web-dashboard/hub-data.js +4 -0
  273. package/dist/web-dashboard/hub-data.js.map +1 -1
  274. package/dist/web-dashboard/server.d.ts +6 -0
  275. package/dist/web-dashboard/server.d.ts.map +1 -1
  276. package/dist/web-dashboard/server.js +196 -3
  277. package/dist/web-dashboard/server.js.map +1 -1
  278. package/dist/web-dashboard/src/types.d.ts +31 -1
  279. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  280. package/package.json +11 -1
  281. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  282. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  283. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  284. package/src/web-dashboard/public/index.html +2 -2
  285. package/dist/example.d.ts +0 -1
  286. package/dist/example.d.ts.map +0 -1
  287. package/dist/example.js +0 -3
  288. package/dist/example.js.map +0 -1
  289. package/dist/fresh.d.ts +0 -2
  290. package/dist/fresh.d.ts.map +0 -1
  291. package/dist/fresh.js +0 -2
  292. package/dist/fresh.js.map +0 -1
  293. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  294. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  295. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  296. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  297. package/dist/memory/background-sync.d.ts +0 -107
  298. package/dist/memory/background-sync.d.ts.map +0 -1
  299. package/dist/memory/background-sync.js +0 -242
  300. package/dist/memory/background-sync.js.map +0 -1
  301. package/dist/memory/cross-session.d.ts +0 -68
  302. package/dist/memory/cross-session.d.ts.map +0 -1
  303. package/dist/memory/cross-session.js +0 -153
  304. package/dist/memory/cross-session.js.map +0 -1
  305. package/dist/memory/drift-detector.d.ts +0 -76
  306. package/dist/memory/drift-detector.d.ts.map +0 -1
  307. package/dist/memory/drift-detector.js +0 -216
  308. package/dist/memory/drift-detector.js.map +0 -1
  309. package/dist/memory/enhanced-manager.d.ts +0 -105
  310. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  311. package/dist/memory/enhanced-manager.js +0 -280
  312. package/dist/memory/enhanced-manager.js.map +0 -1
  313. package/dist/memory/session-extraction.d.ts +0 -93
  314. package/dist/memory/session-extraction.d.ts.map +0 -1
  315. package/dist/memory/session-extraction.js +0 -290
  316. package/dist/memory/session-extraction.js.map +0 -1
  317. package/dist/memory/sqlite-store.d.ts +0 -208
  318. package/dist/memory/sqlite-store.d.ts.map +0 -1
  319. package/dist/memory/sqlite-store.js +0 -556
  320. package/dist/memory/sqlite-store.js.map +0 -1
  321. package/dist/skills/daytona-executor.d.ts +0 -78
  322. package/dist/skills/daytona-executor.d.ts.map +0 -1
  323. package/dist/skills/daytona-executor.js +0 -256
  324. package/dist/skills/daytona-executor.js.map +0 -1
  325. package/dist/skills/modal-executor.d.ts +0 -81
  326. package/dist/skills/modal-executor.d.ts.map +0 -1
  327. package/dist/skills/modal-executor.js +0 -285
  328. package/dist/skills/modal-executor.js.map +0 -1
  329. package/dist/sync/inventory.d.ts +0 -1
  330. package/dist/sync/inventory.d.ts.map +0 -1
  331. package/dist/sync/inventory.js +0 -3
  332. package/dist/sync/inventory.js.map +0 -1
  333. package/dist/sync/validate.d.ts +0 -1
  334. package/dist/sync/validate.d.ts.map +0 -1
  335. package/dist/sync/validate.js +0 -3
  336. package/dist/sync/validate.js.map +0 -1
  337. package/dist/test.d.ts +0 -2
  338. package/dist/test.d.ts.map +0 -1
  339. package/dist/test.js +0 -3
  340. package/dist/test.js.map +0 -1
  341. package/dist/tools/browser-tool.d.ts +0 -206
  342. package/dist/tools/browser-tool.d.ts.map +0 -1
  343. package/dist/tools/browser-tool.js +0 -726
  344. package/dist/tools/browser-tool.js.map +0 -1
  345. package/dist/tools/delegate-tool.d.ts +0 -109
  346. package/dist/tools/delegate-tool.d.ts.map +0 -1
  347. package/dist/tools/delegate-tool.js +0 -185
  348. package/dist/tools/delegate-tool.js.map +0 -1
  349. package/dist/tools/delegation-state.d.ts +0 -87
  350. package/dist/tools/delegation-state.d.ts.map +0 -1
  351. package/dist/tools/delegation-state.js +0 -278
  352. package/dist/tools/delegation-state.js.map +0 -1
  353. package/dist/tools/desktop-ui.d.ts +0 -148
  354. package/dist/tools/desktop-ui.d.ts.map +0 -1
  355. package/dist/tools/desktop-ui.js +0 -486
  356. package/dist/tools/desktop-ui.js.map +0 -1
  357. package/dist/tools/image-video-tool.d.ts +0 -88
  358. package/dist/tools/image-video-tool.d.ts.map +0 -1
  359. package/dist/tools/image-video-tool.js +0 -276
  360. package/dist/tools/image-video-tool.js.map +0 -1
  361. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  362. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  363. package/dist/tools/kanban-cron-tools.js +0 -197
  364. package/dist/tools/kanban-cron-tools.js.map +0 -1
  365. package/dist/tools/messaging-tool.d.ts +0 -127
  366. package/dist/tools/messaging-tool.d.ts.map +0 -1
  367. package/dist/tools/messaging-tool.js +0 -314
  368. package/dist/tools/messaging-tool.js.map +0 -1
  369. package/dist/tools/modality/generic-caller.d.ts +0 -43
  370. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  371. package/dist/tools/modality/generic-caller.js +0 -254
  372. package/dist/tools/modality/generic-caller.js.map +0 -1
  373. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  374. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  375. package/dist/tools/modality/modality-catalog.js +0 -445
  376. package/dist/tools/modality/modality-catalog.js.map +0 -1
  377. package/dist/tools/modality/tool-router.d.ts +0 -81
  378. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  379. package/dist/tools/modality/tool-router.js +0 -84
  380. package/dist/tools/modality/tool-router.js.map +0 -1
  381. package/dist/tools/security-tools.d.ts +0 -107
  382. package/dist/tools/security-tools.d.ts.map +0 -1
  383. package/dist/tools/security-tools.js +0 -264
  384. package/dist/tools/security-tools.js.map +0 -1
  385. package/dist/tools/ssh-tool.d.ts +0 -130
  386. package/dist/tools/ssh-tool.d.ts.map +0 -1
  387. package/dist/tools/ssh-tool.js +0 -328
  388. package/dist/tools/ssh-tool.js.map +0 -1
  389. package/dist/tools/tts-tool.d.ts +0 -91
  390. package/dist/tools/tts-tool.d.ts.map +0 -1
  391. package/dist/tools/tts-tool.js +0 -406
  392. package/dist/tools/tts-tool.js.map +0 -1
  393. package/dist/utils/shell-detection.d.ts +0 -124
  394. package/dist/utils/shell-detection.d.ts.map +0 -1
  395. package/dist/utils/shell-detection.js +0 -305
  396. package/dist/utils/shell-detection.js.map +0 -1
  397. package/dist/utils/windows-paths.d.ts +0 -185
  398. package/dist/utils/windows-paths.d.ts.map +0 -1
  399. package/dist/utils/windows-paths.js +0 -472
  400. package/dist/utils/windows-paths.js.map +0 -1
  401. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  402. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
package/dist/cli/plan.js CHANGED
@@ -11,6 +11,7 @@ import { resolveProvider } from './router.js';
11
11
  import { getAutoRouter } from '../learning/auto-router.js';
12
12
  import { recordRegistrySuccess } from '../learning/provider-fallback.js';
13
13
  import { recordActionFailure } from '../learning/failure-bookkeeping.js';
14
+ import { sweepTransientFailures, sessionRevivalStore } from '../learning/provider-revival.js';
14
15
  import { runSingleShotAuto } from './failover-runner.js';
15
16
  import { PIIPolicyError, GovernancePolicyError } from '../learning/auto-router.js';
16
17
  import { buildAutoResolveOptions } from '../learning/resolve-options.js';
@@ -18,7 +19,7 @@ import { estimateTokens } from '../learning/cost-tracker.js';
18
19
  import { parseRequestSync } from '../nlu/parser.js';
19
20
  import { resolveDispatch } from '../nlu/actions.js';
20
21
  import { contractFromParsed, renderContractCard } from '../nlu/contract.js';
21
- import { maybeAutoRecall, recallCard, recallContextBlock } from '../context/session-recall.js';
22
+ import { maybeAutoRecall, recallCard, recallContextBlock, recallPolicy } from '../context/session-recall.js';
22
23
  import { maybeRunBackgroundDuties } from './duties.js';
23
24
  /**
24
25
  * Plan command — generate implementation plans for code changes
@@ -128,13 +129,18 @@ Use clear markdown formatting.`;
128
129
  // project's prior work into the plan prompt (cross-command parity with
129
130
  // chat/execute). Best-effort — never breaks plan.
130
131
  try {
131
- if (parsedTask.intent === 'continue') {
132
+ // Ambient recall (see recallPolicy): a plan no longer has to be phrased
133
+ // as a continuation to know what this project already did.
134
+ const recallPolicyDecision = recallPolicy({ intent: parsedTask.intent });
135
+ if (recallPolicyDecision.recall) {
132
136
  const recall = await maybeAutoRecall(process.cwd(), this.configManager.getWorkspaceStore());
133
137
  if (recall) {
134
- // Pause the live board so the recall card prints cleanly (TTY).
135
- board.stop();
136
- console.log(recallCard(recall));
137
- board.start('Generating plan...');
138
+ if (recallPolicyDecision.announce) {
139
+ // Pause the live board so the recall card prints cleanly (TTY).
140
+ board.stop();
141
+ console.log(recallCard(recall));
142
+ board.start('Generating plan...');
143
+ }
138
144
  prompt = `${recallContextBlock(recall)}\n\n${prompt}`;
139
145
  }
140
146
  }
@@ -162,6 +168,14 @@ Use clear markdown formatting.`;
162
168
  action: 'plan',
163
169
  task,
164
170
  configManager: this.configManager,
171
+ // Re-admit recovered providers before routing: the transient-failure
172
+ // marker was allocated on this path and never read, so a provider that
173
+ // recovered mid-session stayed excluded from every later plan.
174
+ revive: async () => {
175
+ await sweepTransientFailures(sessionRevivalStore(failureSession), this.configManager, {
176
+ agentType: 'plan',
177
+ });
178
+ },
165
179
  // Primary = the picked provider (explicit or default). Ranked =
166
180
  // auto-router's ranked providers minus the primary + this-run
167
181
  // exclusions, so plan never re-tries a provider that already failed.
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
@@ -33,9 +33,19 @@ export interface StopResult {
33
33
  pid?: number;
34
34
  reason?: string;
35
35
  }
36
+ /**
37
+ * EVERY pid whose command line matches `pattern` (not just the first), newest
38
+ * scan order. Needed to stop a SUPERVISED gateway, which is two processes: the
39
+ * `--supervise` parent and the child it spawned.
40
+ */
41
+ export declare function findPidsByCommandLine(pattern: RegExp): number[];
36
42
  /**
37
43
  * Stop a running gateway: locate the `gateway start` process (command-line
38
44
  * match first, then the webhook receiver port, default 8787) and SIGTERM it.
45
+ *
46
+ * `--supervise` runs TWO processes (a parent that restarts the child), so every
47
+ * matching node process is stopped — the supervisor forwards SIGTERM to its
48
+ * child, and an orphaned child (supervisor already gone) is caught directly.
39
49
  */
40
50
  export declare function stopGateway(opts?: {
41
51
  port?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"process-control.d.ts","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkDnE;AAID,0EAA0E;AAC1E,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA2C/E;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAY/E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjF"}
1
+ {"version":3,"file":"process-control.d.ts","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;kFACkF;AAClF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkDnE;AAID,0EAA0E;AAC1E,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CA2C/E;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB/D;AAcD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC/E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAcjF"}
@@ -135,22 +135,88 @@ export async function stopProcess(pid, graceMs = 3000) {
135
135
  return false; // EPERM (not ours) or already gone
136
136
  }
137
137
  }
138
+ /**
139
+ * EVERY pid whose command line matches `pattern` (not just the first), newest
140
+ * scan order. Needed to stop a SUPERVISED gateway, which is two processes: the
141
+ * `--supervise` parent and the child it spawned.
142
+ */
143
+ export function findPidsByCommandLine(pattern) {
144
+ const pids = [];
145
+ try {
146
+ if (process.platform === 'win32') {
147
+ const p = findPidByCommandLine(pattern);
148
+ return p === null ? [] : [p];
149
+ }
150
+ const out = execSync('ps -eo pid=,command=', { encoding: 'utf8' });
151
+ for (const line of out.split('\n')) {
152
+ const m = /^\s*(\d+)\s+(.*)$/.exec(line);
153
+ if (!m)
154
+ continue;
155
+ const pid = Number.parseInt(m[1], 10);
156
+ if (pid === process.pid)
157
+ continue;
158
+ if (pattern.test(m[2]))
159
+ pids.push(pid);
160
+ }
161
+ }
162
+ catch {
163
+ /* ps unavailable — the port probe still covers it */
164
+ }
165
+ return pids;
166
+ }
167
+ /**
168
+ * A command line that IS a node process (`…/node …` or `…/nodejs …`). The
169
+ * gateway's own argv contains "gateway start", and so do the SHELLS that wrap
170
+ * it — `tmux new-session … "node dist/index.js gateway start --supervise"` and
171
+ * `bash -c cd … && node …` both match the text pattern. Signalling those kills
172
+ * the wrapper (or a whole tmux session) and can leave the gateway running, so
173
+ * the real node processes are preferred and the wrappers are ignored.
174
+ */
175
+ function isNodeProcess(command) {
176
+ return /(?:^|\s)\S*(?:\/|^)node(?:js)?\s/.test(command) || /^[^\s]*node(?:js)?\s/.test(command);
177
+ }
138
178
  /**
139
179
  * Stop a running gateway: locate the `gateway start` process (command-line
140
180
  * match first, then the webhook receiver port, default 8787) and SIGTERM it.
181
+ *
182
+ * `--supervise` runs TWO processes (a parent that restarts the child), so every
183
+ * matching node process is stopped — the supervisor forwards SIGTERM to its
184
+ * child, and an orphaned child (supervisor already gone) is caught directly.
141
185
  */
142
186
  export async function stopGateway(opts) {
143
187
  const port = opts?.port ?? 8787;
144
- let pid = findPidByCommandLine(/\bgateway\s+start\b/);
145
- if (pid === null) {
188
+ const pattern = /\bgateway\s+start\b/;
189
+ const candidates = findPidsByCommandLine(pattern);
190
+ // Prefer the node processes; fall back to whatever matched (a non-node
191
+ // launcher is better than refusing to stop at all).
192
+ const nodePids = candidates.filter((pid) => {
193
+ try {
194
+ const cmd = execSync(`ps -p ${pid} -o command=`, { encoding: 'utf8' });
195
+ return isNodeProcess(cmd);
196
+ }
197
+ catch {
198
+ return false;
199
+ }
200
+ });
201
+ let targets = nodePids.length > 0 ? nodePids : candidates;
202
+ if (targets.length === 0) {
146
203
  const { findPidOnPort } = await import('./dashboard-restart.js');
147
- pid = await findPidOnPort(port);
204
+ const onPort = await findPidOnPort(port);
205
+ if (onPort === null) {
206
+ return { stopped: false, reason: `no running gateway process found (port ${port} or \`gateway start\`)` };
207
+ }
208
+ targets = [onPort];
148
209
  }
149
- if (pid === null) {
150
- return { stopped: false, reason: `no running gateway process found (port ${port} or \`gateway start\`)` };
210
+ let stoppedAny = false;
211
+ let last;
212
+ for (const pid of targets) {
213
+ if (await stopProcess(pid))
214
+ stoppedAny = true;
215
+ last = pid;
151
216
  }
152
- const ok = await stopProcess(pid);
153
- return ok ? { stopped: true, pid } : { stopped: false, pid, reason: 'could not signal the gateway process' };
217
+ return stoppedAny
218
+ ? { stopped: true, pid: last }
219
+ : { stopped: false, pid: last, reason: 'could not signal the gateway process' };
154
220
  }
155
221
  /**
156
222
  * Stop a running dashboard: locate it on its port (default 3030), falling
@@ -1 +1 @@
1
- {"version":3,"file":"process-control.js","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-control.js","sourceRoot":"","sources":["../../src/cli/process-control.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
- import { Command } from 'commander';
2
- import { ConfigManager } from '../config/manager.js';
3
- import { InferenceProvider } from '../inference/interface.js';
4
1
  /**
5
- * Create and configure the CLI program
2
+ * Provider resolution SERVICE.
3
+ *
4
+ * This module exists to be imported INWARD: it resolves a CLI `--provider`
5
+ * value (built-in id, catalog id, plugin id, or the `auto` directive) to a
6
+ * concrete `InferenceProvider`. It must never import a command module — the
7
+ * dispatcher that wires commands lives in `./cli-program.ts`, and the two used
8
+ * to share one file, which put 28 modules into a single static import cycle
9
+ * (every command imported this file for `resolveProvider`, while this file
10
+ * imported every command for `createCLI`).
11
+ *
12
+ * Layering rule: `cli-program.ts` and `index.ts` may depend on this file; this
13
+ * file depends only on config / inference / learning / plugins.
14
+ *
15
+ * Verified with `node scripts/check-import-cycles.mjs`.
6
16
  */
7
- export declare function createCLI(): Command;
17
+ import { ConfigManager } from '../config/manager.js';
18
+ import { InferenceProvider } from '../inference/interface.js';
8
19
  /**
9
20
  * Resolve the inference provider from CLI options.
10
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAqD9D;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAuLnC;AASD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAyD/C"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAY9D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,CAkF/C"}
@@ -1,204 +1,7 @@
1
- import { readFileSync } from 'node:fs';
2
- import { fileURLToPath } from 'node:url';
3
- import { Command } from 'commander';
4
- /** Read version from package.json at build time */
5
- const pkg = JSON.parse(readFileSync(fileURLToPath(new URL('../../package.json', import.meta.url)), 'utf-8'));
6
1
  import { ProviderFactory } from '../inference/factory.js';
7
2
  import { rankAvailableProviders, buildOnboardingGuidance } from '../learning/model-selection.js';
8
3
  import { getPluginRegistry } from '../plugins/registry.js';
9
- import { ChatCommand } from './chat.js';
10
- import { EditCommand } from './edit.js';
11
- import { PlanCommand } from './plan.js';
12
- import { ConfigCommand } from './config.js';
13
- import { CacheCommand } from './cache.js';
14
- import { ModelsCommand } from './models.js';
15
- import { ModelCommand } from './model.js';
16
- import { ExecuteCommand } from './execute.js';
17
- import { RunCommand } from './run.js';
18
- import { WorkflowCommand } from './workflow.js';
19
- import { PluginsCommand } from './plugins.js';
20
- import { LearnCommand } from './learn.js';
21
- import { InitCommand } from './init.js';
22
- import { StatsCommand } from './stats.js';
23
- import { HistoryCommand } from './history.js';
24
- import { SessionCommand } from './session.js';
25
- import { SkillCommand } from './skill.js';
26
- import { SkillsCommand } from './skills.js';
27
- import { GatewayCommand } from './gateway.js';
28
- import { WhatsAppCommand } from './whatsapp.js';
29
- import { BenchmarkCommand } from './benchmark.js';
30
- import { EvalCommand } from './eval.js';
31
- import { SandboxCommand } from './sandbox.js';
32
- import { DoctorCommand } from './doctor.js';
33
- import { MemoryCommand } from './memory.js';
34
- import { DashboardCommand } from './dashboard.js';
35
- import { AgentCommand } from './agent.js';
36
- import { FederationCommand } from './federation.js';
37
- import { TeamCommand } from './team.js';
38
- import { SDKCommand } from './sdk.js';
39
- import { ProviderCommand } from './provider.js';
40
- import { SecurityCommand } from './security.js';
41
- import { AuditCommand } from './audit.js';
42
- import { SbomCommand } from './sbom.js';
43
- import { AdminCommand } from './admin.js';
44
- import { FeedbackCommand } from './feedback.js';
45
- import { MarketplaceCommand } from './marketplace.js';
46
- import { MCPCommand } from './mcp.js';
47
- import { CICommand } from './ci.js';
48
- import { PublishCommand } from './publish.js';
49
- import { PhaseCommand } from './phase.js';
50
- import { RetrievalCommand } from './retrieval.js';
51
- import { TraceCommand } from './trace.js';
52
- import { BedrockCommand } from './bedrock.js';
53
- import { NluCommand } from './nlu.js';
54
- import { IntentCommand } from './intent.js';
55
- import { CodeMapCommand } from './code-map.js';
56
- import { ToolsCommand } from './tools.js';
57
4
  import { logger } from '../utils/logger.js';
58
- /**
59
- * Create and configure the CLI program
60
- */
61
- export function createCLI() {
62
- const program = new Command();
63
- // Detect invocation name: supports 'nuvira', 'agent-nuvira', or 'buff'
64
- const invoker = (() => {
65
- const arg0 = process.argv[1] || '';
66
- if (/nuvira/i.test(arg0))
67
- return 'nuvira';
68
- if (/agent-nuvira/i.test(arg0))
69
- return 'agent-nuvira';
70
- return 'buff';
71
- })();
72
- // Expose detected name so all CLI commands can use it in help text
73
- process.env.NUVIRA_CLI_NAME = invoker;
74
- program
75
- .name(invoker)
76
- .description('Nuvira — multi-agent AI coding CLI (local models & cloud APIs)')
77
- .version(pkg.version);
78
- // Global options
79
- program
80
- .option('-d, --debug', 'Enable debug logging');
81
- // Register commands
82
- const chatCmd = new ChatCommand();
83
- const editCmd = new EditCommand();
84
- const planCmd = new PlanCommand();
85
- const adminCmd = new AdminCommand();
86
- const configCmd = new ConfigCommand();
87
- const cacheCmd = new CacheCommand();
88
- const modelsCmd = new ModelsCommand();
89
- const executeCmd = new ExecuteCommand();
90
- program.addCommand(adminCmd.create());
91
- program.addCommand(chatCmd.create());
92
- program.addCommand(editCmd.create());
93
- program.addCommand(planCmd.create());
94
- program.addCommand(configCmd.create());
95
- program.addCommand(cacheCmd.create());
96
- program.addCommand(modelsCmd.create());
97
- program.addCommand(executeCmd.create());
98
- const runCmd = new RunCommand();
99
- program.addCommand(runCmd.create());
100
- const workflowCmd = new WorkflowCommand();
101
- program.addCommand(workflowCmd.create());
102
- const whatsappCmd = new WhatsAppCommand();
103
- program.addCommand(whatsappCmd.create());
104
- const pluginsCmd = new PluginsCommand();
105
- program.addCommand(pluginsCmd.create());
106
- const learnCmd = new LearnCommand();
107
- program.addCommand(learnCmd.create());
108
- // Register new Phase 1 commands
109
- const initCmd = new InitCommand();
110
- program.addCommand(initCmd.create());
111
- const statsCmd = new StatsCommand();
112
- program.addCommand(statsCmd.create());
113
- const historyCmd = new HistoryCommand();
114
- program.addCommand(historyCmd.create());
115
- // Register Skill commands (Phase 1 enhancement)
116
- const skillCmd = new SkillCommand();
117
- program.addCommand(skillCmd.create());
118
- // Register Skills hub command (J3 — community skills search/install/update)
119
- const skillsCmd = new SkillsCommand();
120
- program.addCommand(skillsCmd.create());
121
- // Register Gateway command (J1 — multi-channel Telegram/Discord/Slack/WhatsApp)
122
- const gatewayCmd = new GatewayCommand();
123
- program.addCommand(gatewayCmd.create());
124
- // Register Model command (Phase 1.2: model switching)
125
- const modelCmd = new ModelCommand();
126
- program.addCommand(modelCmd.create());
127
- // Register Phase 2 commands
128
- const benchmarkCmd = new BenchmarkCommand();
129
- program.addCommand(benchmarkCmd.create());
130
- // Register evaluation framework command
131
- const evalCmd = new EvalCommand();
132
- program.addCommand(evalCmd.create());
133
- const sandboxCmd = new SandboxCommand();
134
- program.addCommand(sandboxCmd.create());
135
- // Register Phase 2.5 new commands
136
- const doctorCmd = new DoctorCommand();
137
- program.addCommand(doctorCmd.create());
138
- const memoryCmd = new MemoryCommand();
139
- program.addCommand(memoryCmd.create());
140
- // Register Phase 3.3 new commands
141
- const dashboardCmd = new DashboardCommand();
142
- program.addCommand(dashboardCmd.create());
143
- const agentCmd = new AgentCommand();
144
- program.addCommand(agentCmd.create());
145
- const federationCmd = new FederationCommand();
146
- program.addCommand(federationCmd.create());
147
- const teamCmd = new TeamCommand();
148
- program.addCommand(teamCmd.create());
149
- // Register Phase 3.6 commands
150
- const sdkCmd = new SDKCommand();
151
- program.addCommand(sdkCmd.create());
152
- // Register Provider command (from nextlevel roadmap)
153
- const providerCmd = new ProviderCommand();
154
- program.addCommand(providerCmd.create());
155
- // Register Security command (from nextlevel roadmap §4.1)
156
- const securityCmd = new SecurityCommand();
157
- program.addCommand(securityCmd.create());
158
- const auditCmd = new AuditCommand();
159
- program.addCommand(auditCmd.create());
160
- const sbomCmd = new SbomCommand();
161
- program.addCommand(sbomCmd.create());
162
- // Register Feedback command (from nextlevel roadmap §4.3)
163
- const feedbackCmd = new FeedbackCommand();
164
- program.addCommand(feedbackCmd.create());
165
- // Register C3 NLU command + the plain-English → CLI intent router
166
- program.addCommand(new NluCommand().create());
167
- program.addCommand(new IntentCommand().create());
168
- program.addCommand(new CodeMapCommand().create());
169
- program.addCommand(new ToolsCommand().create());
170
- // Register G1 session command (D1 debug surface)
171
- program.addCommand(new SessionCommand().create());
172
- // Register Marketplace command (from nextlevel roadmap §5.3)
173
- const marketplaceCmd = new MarketplaceCommand();
174
- program.addCommand(marketplaceCmd.create());
175
- // Register MCP command (Phase 4.1 — Model Context Protocol)
176
- const mcpCmd = new MCPCommand();
177
- program.addCommand(mcpCmd.create());
178
- // Register CI command (Phase 4.5 — Headless CI/CD mode)
179
- const ciCmd = new CICommand();
180
- program.addCommand(ciCmd.create());
181
- // Register Publish command (Autonomous publish workflow)
182
- const publishCmd = new PublishCommand();
183
- program.addCommand(publishCmd.create());
184
- // Register Bedrock command (dedicated AWS Bedrock onboarding)
185
- const bedrockCmd = new BedrockCommand();
186
- program.addCommand(bedrockCmd.create());
187
- // Register Phase command (Phase-wise scope execution)
188
- const phaseCmd = new PhaseCommand();
189
- program.addCommand(phaseCmd.create());
190
- // Register Retrieval command (vectorized token-efficient context)
191
- const retrievalCmd = new RetrievalCommand();
192
- program.addCommand(retrievalCmd.create());
193
- // Register Trace command (P0 reasoning-trace capture + replay)
194
- const traceCmd = new TraceCommand();
195
- program.addCommand(traceCmd.create());
196
- // Default action: show help
197
- program.action(() => {
198
- program.help();
199
- });
200
- return program;
201
- }
202
5
  /**
203
6
  * Check if a provider type is one of the built-in types.
204
7
  */
@@ -256,14 +59,36 @@ export function resolveProvider(configManager, providerOption) {
256
59
  const provider = ProviderFactory.createProvider(configuredFallback, config);
257
60
  return { type: configuredFallback, provider };
258
61
  }
259
- // Unknown provider — warn and fall back to the default. getProviderConfig
260
- // resolves the 'auto' directive to the best available provider, so the
261
- // adapter factory never sees a literal 'auto'.
262
- logger.warn(`Unknown provider '${rawType}'. Falling back to the default provider.`);
263
- const fallbackType = configManager.getAll().defaultProvider;
264
- const { type: resolvedFallback, config } = configManager.getProviderConfig(fallbackType);
265
- const provider = ProviderFactory.createProvider(resolvedFallback, config);
266
- logger.debug(`Resolved provider (fallback): ${resolvedFallback} (${provider.name})`);
267
- return { type: resolvedFallback, provider };
62
+ // ── Catalog providers (non-built-in, served by the generic adapter) ───────
63
+ // This branch used to be MISSING, which was the real root cause of the
64
+ // cross-provider substitution: catalog ids (bedrock, openai, mistral, xai,
65
+ // deepseek, …) have no dedicated adapter here, so they skipped the built-in
66
+ // branch, were not plugins, were not 'auto' — and landed in the unknown path
67
+ // below, which returned the DEFAULT provider's adapter while every caller
68
+ // kept using the REQUESTED id as the provider type. A Bedrock candidate
69
+ // therefore ran on another provider entirely, and `resolveWorkingModel`
70
+ // validated that other provider's model list under the name `bedrock`:
71
+ // "model 'anthropic.claude-3-5-sonnet-20241022-v1:0' is not available on
72
+ // 'bedrock' — using 'qwen2.5:0.5b'" ← a LOCAL Ollama model.
73
+ // The factory supports these ids (`openAICompat` catalog metadata or an
74
+ // installed plugin), so resolve them properly instead.
75
+ if (ProviderFactory.isConstructible(rawType)) {
76
+ const { config } = configManager.getProviderConfig(rawType);
77
+ const provider = ProviderFactory.createProvider(rawType, config);
78
+ logger.debug(`Resolved catalog provider: ${rawType} (${provider.name})`);
79
+ return { type: rawType, provider };
80
+ }
81
+ // ── Unknown provider ──────────────────────────────────────────────────────
82
+ // A provider we cannot construct must NOT be answered with a DIFFERENT
83
+ // provider's adapter. Callers pair the returned adapter with the provider id
84
+ // they ASKED for (`resolveWorkingModel(resolved.provider, candidate.provider,
85
+ // …)`), so a silent substitution attributes one provider's models to another.
86
+ //
87
+ // Throwing is the honest answer: the caller's failover walk already treats a
88
+ // resolution failure as "skip this candidate", and a primary pick surfaces a
89
+ // clear, sanitized error instead of quietly running on an unrelated model.
90
+ logger.warn(`Unknown provider '${rawType}' — not constructible, refusing to substitute another provider.`);
91
+ throw new Error(`Provider '${rawType}' is not available in this build (no adapter). ` +
92
+ `Run \`nuvira models\` to see the providers you can use, or remove it from your fallback chain.`);
268
93
  }
269
94
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,31 @@ export declare const resolveBuffConfigPath: typeof resolveNuviraConfigPath;
10
10
  *
11
11
  * Always returns `~/.nuvira`. The `LEGACY_HOME` constant exists solely
12
12
  * for migration tooling — runtime code never reads from `~/.buff`.
13
+ *
14
+ * NOTE: this is the RAW default only — it ignores `$NUVIRA_CONFIG_DIR`. Use
15
+ * {@link resolveNuviraConfigDir} for anything that must honour the override
16
+ * (config, credentials, state). Reaching for `join(homedir(), '.nuvira', …)`
17
+ * directly is the bug this helper exists to prevent: it silently reads the
18
+ * developer's real profile from an isolated (test/CI/sandbox) process.
13
19
  */
14
20
  export declare function resolveNuviraHome(): string;
21
+ /**
22
+ * Resolve a path INSIDE the active Nuvira data dir.
23
+ *
24
+ * Honours `$NUVIRA_CONFIG_DIR` / `$BUFF_CONFIG_DIR` exactly like
25
+ * {@link resolveNuviraConfigDir}, so a process pointed at an isolated config
26
+ * dir never reads or writes the real `~/.nuvira`. Every state file the agent
27
+ * persists (env, routing failures, audit logs, …) must resolve through here.
28
+ */
29
+ export declare function resolveNuviraDataPath(...segments: string[]): string;
30
+ /**
31
+ * Resolve the `.env` file that supplies provider credentials.
32
+ *
33
+ * Precedence: explicit `$NUVIRA_ENV_FILE` / `$BUFF_ENV_FILE`, then
34
+ * `<config dir>/.env`. The config dir — NOT `~/.nuvira` — is authoritative, so
35
+ * an isolated profile cannot pick up the real profile's API keys.
36
+ */
37
+ export declare function resolveNuviraEnvFile(configDir?: string): string;
15
38
  /**
16
39
  * Dual-read env var helper.
17
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAwBA,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,+BAAyB,CAAC;AAE3D,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,6BAA6B;AAC7B,eAAO,MAAM,qBAAqB,gCAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAwBA,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,+BAAyB,CAAC;AAE3D,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,6BAA6B;AAC7B,eAAO,MAAM,qBAAqB,gCAA0B,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAI/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD"}