agent-nuvira 2.7.3 → 3.0.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 (369) 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/cli/chat.d.ts +55 -1
  21. package/dist/cli/chat.d.ts.map +1 -1
  22. package/dist/cli/chat.js +278 -72
  23. package/dist/cli/chat.js.map +1 -1
  24. package/dist/cli/cli-program.d.ts +6 -0
  25. package/dist/cli/cli-program.d.ts.map +1 -0
  26. package/dist/cli/cli-program.js +242 -0
  27. package/dist/cli/cli-program.js.map +1 -0
  28. package/dist/cli/edit.d.ts.map +1 -1
  29. package/dist/cli/edit.js +18 -3
  30. package/dist/cli/edit.js.map +1 -1
  31. package/dist/cli/execute.d.ts.map +1 -1
  32. package/dist/cli/execute.js +29 -5
  33. package/dist/cli/execute.js.map +1 -1
  34. package/dist/cli/failover-runner.d.ts +13 -0
  35. package/dist/cli/failover-runner.d.ts.map +1 -1
  36. package/dist/cli/failover-runner.js +11 -0
  37. package/dist/cli/failover-runner.js.map +1 -1
  38. package/dist/cli/gateway.d.ts +16 -0
  39. package/dist/cli/gateway.d.ts.map +1 -1
  40. package/dist/cli/gateway.js +108 -2
  41. package/dist/cli/gateway.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +245 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/plan.d.ts.map +1 -1
  46. package/dist/cli/plan.js +20 -6
  47. package/dist/cli/plan.js.map +1 -1
  48. package/dist/cli/process-control.d.ts +10 -0
  49. package/dist/cli/process-control.d.ts.map +1 -1
  50. package/dist/cli/process-control.js +73 -7
  51. package/dist/cli/process-control.js.map +1 -1
  52. package/dist/cli/router.d.ts +16 -5
  53. package/dist/cli/router.d.ts.map +1 -1
  54. package/dist/cli/router.js +31 -206
  55. package/dist/cli/router.js.map +1 -1
  56. package/dist/config/paths.d.ts +23 -0
  57. package/dist/config/paths.d.ts.map +1 -1
  58. package/dist/config/paths.js +30 -0
  59. package/dist/config/paths.js.map +1 -1
  60. package/dist/config/provider-env.d.ts +37 -0
  61. package/dist/config/provider-env.d.ts.map +1 -0
  62. package/dist/config/provider-env.js +86 -0
  63. package/dist/config/provider-env.js.map +1 -0
  64. package/dist/context/history.d.ts.map +1 -1
  65. package/dist/context/history.js +24 -8
  66. package/dist/context/history.js.map +1 -1
  67. package/dist/context/session-recall.d.ts +30 -0
  68. package/dist/context/session-recall.d.ts.map +1 -1
  69. package/dist/context/session-recall.js +61 -0
  70. package/dist/context/session-recall.js.map +1 -1
  71. package/dist/file.js +0 -1
  72. package/dist/file.js.map +1 -1
  73. package/dist/gateway/adapters.d.ts +10 -0
  74. package/dist/gateway/adapters.d.ts.map +1 -1
  75. package/dist/gateway/adapters.js +4 -1
  76. package/dist/gateway/adapters.js.map +1 -1
  77. package/dist/gateway/dedup.d.ts +105 -0
  78. package/dist/gateway/dedup.d.ts.map +1 -0
  79. package/dist/gateway/dedup.js +160 -0
  80. package/dist/gateway/dedup.js.map +1 -0
  81. package/dist/gateway/heartbeat.d.ts +99 -0
  82. package/dist/gateway/heartbeat.d.ts.map +1 -0
  83. package/dist/gateway/heartbeat.js +122 -0
  84. package/dist/gateway/heartbeat.js.map +1 -0
  85. package/dist/gateway/inbox.d.ts +14 -1
  86. package/dist/gateway/inbox.d.ts.map +1 -1
  87. package/dist/gateway/inbox.js.map +1 -1
  88. package/dist/gateway/platform-config.d.ts +5 -0
  89. package/dist/gateway/platform-config.d.ts.map +1 -1
  90. package/dist/gateway/platform-config.js +8 -13
  91. package/dist/gateway/platform-config.js.map +1 -1
  92. package/dist/gateway/registry.d.ts +47 -0
  93. package/dist/gateway/registry.d.ts.map +1 -1
  94. package/dist/gateway/registry.js +227 -21
  95. package/dist/gateway/registry.js.map +1 -1
  96. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  97. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  98. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  99. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  100. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  101. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  102. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  103. package/dist/index.js +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/inference/factory.d.ts +16 -0
  106. package/dist/inference/factory.d.ts.map +1 -1
  107. package/dist/inference/factory.js +42 -0
  108. package/dist/inference/factory.js.map +1 -1
  109. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  110. package/dist/inference/gemini-adapter.js +3 -0
  111. package/dist/inference/gemini-adapter.js.map +1 -1
  112. package/dist/inference/interface.d.ts +12 -0
  113. package/dist/inference/interface.d.ts.map +1 -1
  114. package/dist/inference/local-adapter.d.ts +2 -0
  115. package/dist/inference/local-adapter.d.ts.map +1 -1
  116. package/dist/inference/local-adapter.js +36 -5
  117. package/dist/inference/local-adapter.js.map +1 -1
  118. package/dist/inference/native-tools.d.ts +8 -0
  119. package/dist/inference/native-tools.d.ts.map +1 -1
  120. package/dist/inference/native-tools.js +14 -3
  121. package/dist/inference/native-tools.js.map +1 -1
  122. package/dist/inference/tool-call-utils.d.ts +92 -7
  123. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  124. package/dist/inference/tool-call-utils.js +203 -13
  125. package/dist/inference/tool-call-utils.js.map +1 -1
  126. package/dist/learning/auto-router.d.ts.map +1 -1
  127. package/dist/learning/auto-router.js +90 -5
  128. package/dist/learning/auto-router.js.map +1 -1
  129. package/dist/learning/context-budget.d.ts +133 -0
  130. package/dist/learning/context-budget.d.ts.map +1 -0
  131. package/dist/learning/context-budget.js +196 -0
  132. package/dist/learning/context-budget.js.map +1 -0
  133. package/dist/learning/cost-tracker.d.ts.map +1 -1
  134. package/dist/learning/cost-tracker.js +20 -8
  135. package/dist/learning/cost-tracker.js.map +1 -1
  136. package/dist/learning/eval-framework.d.ts.map +1 -1
  137. package/dist/learning/eval-framework.js +6 -2
  138. package/dist/learning/eval-framework.js.map +1 -1
  139. package/dist/learning/failure-bookkeeping.d.ts +19 -0
  140. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  141. package/dist/learning/failure-bookkeeping.js +67 -2
  142. package/dist/learning/failure-bookkeeping.js.map +1 -1
  143. package/dist/learning/feedback.d.ts.map +1 -1
  144. package/dist/learning/feedback.js +19 -8
  145. package/dist/learning/feedback.js.map +1 -1
  146. package/dist/learning/model-harness.d.ts +76 -0
  147. package/dist/learning/model-harness.d.ts.map +1 -0
  148. package/dist/learning/model-harness.js +119 -0
  149. package/dist/learning/model-harness.js.map +1 -0
  150. package/dist/learning/model-selection.d.ts +15 -0
  151. package/dist/learning/model-selection.d.ts.map +1 -1
  152. package/dist/learning/model-selection.js +27 -1
  153. package/dist/learning/model-selection.js.map +1 -1
  154. package/dist/learning/provider-fallback.d.ts +12 -0
  155. package/dist/learning/provider-fallback.d.ts.map +1 -1
  156. package/dist/learning/provider-fallback.js +74 -0
  157. package/dist/learning/provider-fallback.js.map +1 -1
  158. package/dist/learning/provider-revival.d.ts +106 -0
  159. package/dist/learning/provider-revival.d.ts.map +1 -0
  160. package/dist/learning/provider-revival.js +154 -0
  161. package/dist/learning/provider-revival.js.map +1 -0
  162. package/dist/learning/resilient-call.d.ts.map +1 -1
  163. package/dist/learning/resilient-call.js +48 -3
  164. package/dist/learning/resilient-call.js.map +1 -1
  165. package/dist/nlu/conversation-gate.d.ts +37 -0
  166. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  167. package/dist/nlu/conversation-gate.js +49 -0
  168. package/dist/nlu/conversation-gate.js.map +1 -1
  169. package/dist/nlu/schema.d.ts +2 -2
  170. package/dist/observability/dag-bridge.d.ts +69 -0
  171. package/dist/observability/dag-bridge.d.ts.map +1 -0
  172. package/dist/observability/dag-bridge.js +56 -0
  173. package/dist/observability/dag-bridge.js.map +1 -0
  174. package/dist/observability/event-bus.d.ts +5 -10
  175. package/dist/observability/event-bus.d.ts.map +1 -1
  176. package/dist/observability/event-bus.js +10 -42
  177. package/dist/observability/event-bus.js.map +1 -1
  178. package/dist/skills/execution-audit.d.ts.map +1 -1
  179. package/dist/skills/execution-audit.js +17 -5
  180. package/dist/skills/execution-audit.js.map +1 -1
  181. package/dist/skills/sandbox-executor.d.ts +12 -1
  182. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  183. package/dist/skills/sandbox-executor.js +28 -6
  184. package/dist/skills/sandbox-executor.js.map +1 -1
  185. package/dist/skills/secret-capture.d.ts +45 -1
  186. package/dist/skills/secret-capture.d.ts.map +1 -1
  187. package/dist/skills/secret-capture.js +82 -19
  188. package/dist/skills/secret-capture.js.map +1 -1
  189. package/dist/skills/skill-env-inventory.d.ts +79 -0
  190. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  191. package/dist/skills/skill-env-inventory.js +167 -0
  192. package/dist/skills/skill-env-inventory.js.map +1 -0
  193. package/dist/skills/skill-executor.d.ts +2 -0
  194. package/dist/skills/skill-executor.d.ts.map +1 -1
  195. package/dist/skills/skill-executor.js +19 -24
  196. package/dist/skills/skill-executor.js.map +1 -1
  197. package/dist/tools/ask-user.d.ts +14 -1
  198. package/dist/tools/ask-user.d.ts.map +1 -1
  199. package/dist/tools/ask-user.js +25 -1
  200. package/dist/tools/ask-user.js.map +1 -1
  201. package/dist/tools/followup-utils.d.ts +64 -0
  202. package/dist/tools/followup-utils.d.ts.map +1 -0
  203. package/dist/tools/followup-utils.js +158 -0
  204. package/dist/tools/followup-utils.js.map +1 -0
  205. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  206. package/dist/tools/loop-skill-hint.js +22 -1
  207. package/dist/tools/loop-skill-hint.js.map +1 -1
  208. package/dist/tools/memory-tools.d.ts +35 -0
  209. package/dist/tools/memory-tools.d.ts.map +1 -1
  210. package/dist/tools/memory-tools.js +76 -0
  211. package/dist/tools/memory-tools.js.map +1 -1
  212. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  213. package/dist/tools/pipeline-tool.js +8 -3
  214. package/dist/tools/pipeline-tool.js.map +1 -1
  215. package/dist/tools/registry.d.ts +25 -12
  216. package/dist/tools/registry.d.ts.map +1 -1
  217. package/dist/tools/registry.js +31 -6
  218. package/dist/tools/registry.js.map +1 -1
  219. package/dist/tools/skill-tool.d.ts.map +1 -1
  220. package/dist/tools/skill-tool.js +52 -5
  221. package/dist/tools/skill-tool.js.map +1 -1
  222. package/dist/tools/tool-loop.d.ts +63 -1
  223. package/dist/tools/tool-loop.d.ts.map +1 -1
  224. package/dist/tools/tool-loop.js +305 -66
  225. package/dist/tools/tool-loop.js.map +1 -1
  226. package/dist/tools/toolsets.d.ts +19 -3
  227. package/dist/tools/toolsets.d.ts.map +1 -1
  228. package/dist/tools/toolsets.js +21 -5
  229. package/dist/tools/toolsets.js.map +1 -1
  230. package/dist/utils/env.d.ts.map +1 -1
  231. package/dist/utils/env.js +9 -13
  232. package/dist/utils/env.js.map +1 -1
  233. package/dist/web-dashboard/chat-console.d.ts +13 -1
  234. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  235. package/dist/web-dashboard/chat-console.js +16 -2
  236. package/dist/web-dashboard/chat-console.js.map +1 -1
  237. package/dist/web-dashboard/hub-data.d.ts +2 -0
  238. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  239. package/dist/web-dashboard/hub-data.js +4 -0
  240. package/dist/web-dashboard/hub-data.js.map +1 -1
  241. package/dist/web-dashboard/server.d.ts +6 -0
  242. package/dist/web-dashboard/server.d.ts.map +1 -1
  243. package/dist/web-dashboard/server.js +192 -3
  244. package/dist/web-dashboard/server.js.map +1 -1
  245. package/dist/web-dashboard/src/types.d.ts +31 -1
  246. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  247. package/package.json +11 -1
  248. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  249. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  250. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  251. package/src/web-dashboard/public/index.html +2 -2
  252. package/dist/example.d.ts +0 -1
  253. package/dist/example.d.ts.map +0 -1
  254. package/dist/example.js +0 -3
  255. package/dist/example.js.map +0 -1
  256. package/dist/fresh.d.ts +0 -2
  257. package/dist/fresh.d.ts.map +0 -1
  258. package/dist/fresh.js +0 -2
  259. package/dist/fresh.js.map +0 -1
  260. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  261. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  262. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  263. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  264. package/dist/memory/background-sync.d.ts +0 -107
  265. package/dist/memory/background-sync.d.ts.map +0 -1
  266. package/dist/memory/background-sync.js +0 -242
  267. package/dist/memory/background-sync.js.map +0 -1
  268. package/dist/memory/cross-session.d.ts +0 -68
  269. package/dist/memory/cross-session.d.ts.map +0 -1
  270. package/dist/memory/cross-session.js +0 -153
  271. package/dist/memory/cross-session.js.map +0 -1
  272. package/dist/memory/drift-detector.d.ts +0 -76
  273. package/dist/memory/drift-detector.d.ts.map +0 -1
  274. package/dist/memory/drift-detector.js +0 -216
  275. package/dist/memory/drift-detector.js.map +0 -1
  276. package/dist/memory/enhanced-manager.d.ts +0 -105
  277. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  278. package/dist/memory/enhanced-manager.js +0 -280
  279. package/dist/memory/enhanced-manager.js.map +0 -1
  280. package/dist/memory/session-extraction.d.ts +0 -93
  281. package/dist/memory/session-extraction.d.ts.map +0 -1
  282. package/dist/memory/session-extraction.js +0 -290
  283. package/dist/memory/session-extraction.js.map +0 -1
  284. package/dist/memory/sqlite-store.d.ts +0 -208
  285. package/dist/memory/sqlite-store.d.ts.map +0 -1
  286. package/dist/memory/sqlite-store.js +0 -556
  287. package/dist/memory/sqlite-store.js.map +0 -1
  288. package/dist/skills/daytona-executor.d.ts +0 -78
  289. package/dist/skills/daytona-executor.d.ts.map +0 -1
  290. package/dist/skills/daytona-executor.js +0 -256
  291. package/dist/skills/daytona-executor.js.map +0 -1
  292. package/dist/skills/modal-executor.d.ts +0 -81
  293. package/dist/skills/modal-executor.d.ts.map +0 -1
  294. package/dist/skills/modal-executor.js +0 -285
  295. package/dist/skills/modal-executor.js.map +0 -1
  296. package/dist/sync/inventory.d.ts +0 -1
  297. package/dist/sync/inventory.d.ts.map +0 -1
  298. package/dist/sync/inventory.js +0 -3
  299. package/dist/sync/inventory.js.map +0 -1
  300. package/dist/sync/validate.d.ts +0 -1
  301. package/dist/sync/validate.d.ts.map +0 -1
  302. package/dist/sync/validate.js +0 -3
  303. package/dist/sync/validate.js.map +0 -1
  304. package/dist/test.d.ts +0 -2
  305. package/dist/test.d.ts.map +0 -1
  306. package/dist/test.js +0 -3
  307. package/dist/test.js.map +0 -1
  308. package/dist/tools/browser-tool.d.ts +0 -206
  309. package/dist/tools/browser-tool.d.ts.map +0 -1
  310. package/dist/tools/browser-tool.js +0 -726
  311. package/dist/tools/browser-tool.js.map +0 -1
  312. package/dist/tools/delegate-tool.d.ts +0 -109
  313. package/dist/tools/delegate-tool.d.ts.map +0 -1
  314. package/dist/tools/delegate-tool.js +0 -185
  315. package/dist/tools/delegate-tool.js.map +0 -1
  316. package/dist/tools/delegation-state.d.ts +0 -87
  317. package/dist/tools/delegation-state.d.ts.map +0 -1
  318. package/dist/tools/delegation-state.js +0 -278
  319. package/dist/tools/delegation-state.js.map +0 -1
  320. package/dist/tools/desktop-ui.d.ts +0 -148
  321. package/dist/tools/desktop-ui.d.ts.map +0 -1
  322. package/dist/tools/desktop-ui.js +0 -486
  323. package/dist/tools/desktop-ui.js.map +0 -1
  324. package/dist/tools/image-video-tool.d.ts +0 -88
  325. package/dist/tools/image-video-tool.d.ts.map +0 -1
  326. package/dist/tools/image-video-tool.js +0 -276
  327. package/dist/tools/image-video-tool.js.map +0 -1
  328. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  329. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  330. package/dist/tools/kanban-cron-tools.js +0 -197
  331. package/dist/tools/kanban-cron-tools.js.map +0 -1
  332. package/dist/tools/messaging-tool.d.ts +0 -127
  333. package/dist/tools/messaging-tool.d.ts.map +0 -1
  334. package/dist/tools/messaging-tool.js +0 -314
  335. package/dist/tools/messaging-tool.js.map +0 -1
  336. package/dist/tools/modality/generic-caller.d.ts +0 -43
  337. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  338. package/dist/tools/modality/generic-caller.js +0 -254
  339. package/dist/tools/modality/generic-caller.js.map +0 -1
  340. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  341. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  342. package/dist/tools/modality/modality-catalog.js +0 -445
  343. package/dist/tools/modality/modality-catalog.js.map +0 -1
  344. package/dist/tools/modality/tool-router.d.ts +0 -81
  345. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  346. package/dist/tools/modality/tool-router.js +0 -84
  347. package/dist/tools/modality/tool-router.js.map +0 -1
  348. package/dist/tools/security-tools.d.ts +0 -107
  349. package/dist/tools/security-tools.d.ts.map +0 -1
  350. package/dist/tools/security-tools.js +0 -264
  351. package/dist/tools/security-tools.js.map +0 -1
  352. package/dist/tools/ssh-tool.d.ts +0 -130
  353. package/dist/tools/ssh-tool.d.ts.map +0 -1
  354. package/dist/tools/ssh-tool.js +0 -328
  355. package/dist/tools/ssh-tool.js.map +0 -1
  356. package/dist/tools/tts-tool.d.ts +0 -91
  357. package/dist/tools/tts-tool.d.ts.map +0 -1
  358. package/dist/tools/tts-tool.js +0 -406
  359. package/dist/tools/tts-tool.js.map +0 -1
  360. package/dist/utils/shell-detection.d.ts +0 -124
  361. package/dist/utils/shell-detection.d.ts.map +0 -1
  362. package/dist/utils/shell-detection.js +0 -305
  363. package/dist/utils/shell-detection.js.map +0 -1
  364. package/dist/utils/windows-paths.d.ts +0 -185
  365. package/dist/utils/windows-paths.d.ts.map +0 -1
  366. package/dist/utils/windows-paths.js +0 -472
  367. package/dist/utils/windows-paths.js.map +0 -1
  368. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  369. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -28,10 +28,16 @@ import { resolveProvider } from './router.js';
28
28
  import { resolveWorkingModel } from '../inference/model-validator.js';
29
29
  import { getAutoRouter, isAutoModel, isAutoProvider } from '../learning/auto-router.js';
30
30
  import { buildDeepFailoverPool, createFailoverExclusionFilter } from '../learning/resilient-call.js';
31
+ import { recordActionFailure } from '../learning/failure-bookkeeping.js';
32
+ import { recordRegistrySuccess, getProviderFallback, classifyFallbackError, isRetryableError, } from '../learning/provider-fallback.js';
33
+ import { resolveThreadBudgetChars } from '../learning/context-budget.js';
31
34
  import { buildLoopProjectContext } from '../tools/loop-project-context.js';
32
35
  import { getLoopExposureMode } from '../tools/toolsets.js';
36
+ import { resolveModelHarnessProfile } from '../learning/model-harness.js';
37
+ import { hasCredentials } from '../learning/model-selection.js';
33
38
  import { resolveEngine } from '../learning/engine-router.js';
34
39
  import { logger } from '../utils/logger.js';
40
+ import { toUserFacingGenerationError } from '../inference/tool-call-utils.js';
35
41
  /** The system prompt for the execute-loop arm (verification-first). */
36
42
  function buildExecuteLoopSystemPrompt(toolContractJson) {
37
43
  return [
@@ -58,6 +64,84 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
58
64
  let providerType = 'auto';
59
65
  let model = 'default';
60
66
  let provider = null;
67
+ // ── Mid-turn failover candidate pool ────────────────────────────────────
68
+ // The SAME deep chain the orchestrator/chat walk. Before this the loop only
69
+ // used the chain to pick its STARTING provider: a 429 on the second step
70
+ // killed the whole turn (observed live on gemini free tier) and the failure
71
+ // was never recorded, so the next run repeated the same pick. callModel now
72
+ // walks this pool and writes every failure through the shared bookkeeping.
73
+ const candidatePairs = [];
74
+ const seenCandidate = new Set();
75
+ const pushCandidate = (prov, mdl) => {
76
+ if (!prov)
77
+ return;
78
+ const m = mdl && mdl !== 'default' ? mdl : 'default';
79
+ const key = `${prov}|${m}`;
80
+ if (seenCandidate.has(key))
81
+ return;
82
+ seenCandidate.add(key);
83
+ candidatePairs.push({ provider: prov, model: m });
84
+ };
85
+ /**
86
+ * True when the caller explicitly pinned a provider (`--provider X`). A pin
87
+ * narrows WHICH failures justify leaving the requested provider (see the
88
+ * retryable gate in `callModel`); it never disables failover entirely.
89
+ */
90
+ const pinnedRun = Boolean(opts.provider && !isAutoProvider(opts.provider));
91
+ /**
92
+ * The pinned run's config-declared fallback chain, derived LAZILY on the
93
+ * first failure — never at route time. Deriving it eagerly made every pinned
94
+ * run pay for a provider ranking even when nothing failed (measured as a real
95
+ * latency regression on the execute-dispatch path), and chat's non-auto path
96
+ * derives the same chain the same lazy way, inside its failure branch.
97
+ */
98
+ let pinnedFallbacks = null;
99
+ const resolvePinnedFallbacks = () => {
100
+ if (pinnedFallbacks)
101
+ return pinnedFallbacks;
102
+ const out = [];
103
+ try {
104
+ const chain = getProviderFallback(configManager, configManager.getAll().fallback)
105
+ .getFallbackChain(providerType);
106
+ // Only providers the user can actually CALL. An explicit `fallback.
107
+ // providers` entry with no key (e.g. a placeholder NIM) is not filtered
108
+ // out by the chain itself, so it used to cost a full connection timeout
109
+ // before the next fallback was tried — measured live at ~25s against an
110
+ // unauthenticated endpoint. This is the same credential gate the router's
111
+ // own candidate set applies (`hasCredentials`).
112
+ const fbTypes = chain.filter((t) => t !== providerType && hasCredentials(configManager, t));
113
+ // SAME exclusion predicate the auto path applies (session/model
114
+ // cooldowns + cross-pipeline memory + registry per-ENTRY usability): a
115
+ // registry-parked or quarantined fallback is ordered LAST — never
116
+ // dropped. The PINNED provider itself is never filtered: the user asked
117
+ // for it explicitly, and a spot-check may be about to re-admit it.
118
+ let ordered = fbTypes;
119
+ try {
120
+ const isExcluded = createFailoverExclusionFilter();
121
+ ordered = [
122
+ ...fbTypes.filter((t) => !isExcluded(t)),
123
+ ...fbTypes.filter((t) => isExcluded(t)),
124
+ ];
125
+ }
126
+ catch {
127
+ // Exclusion is an optimization — never cost us the chain itself.
128
+ }
129
+ for (const t of ordered)
130
+ out.push({ provider: t, model: 'default' });
131
+ }
132
+ catch {
133
+ // Best-effort — an unconfigured fallback chain must never break a pinned
134
+ // run (the pinned candidate alone is still a valid pool).
135
+ }
136
+ pinnedFallbacks = out;
137
+ return out;
138
+ };
139
+ /** Per-turn failure session — same composition every other action uses. */
140
+ const failureSession = {
141
+ sessionFailedProviders: new Map(),
142
+ sessionTransientFailedProviders: new Set(),
143
+ sessionFailedModels: new Map(),
144
+ };
61
145
  try {
62
146
  if (opts.provider && !isAutoProvider(opts.provider)) {
63
147
  const resolved = resolveProvider(configManager, opts.provider);
@@ -66,6 +150,16 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
66
150
  model = opts.model && !isAutoModel(opts.model)
67
151
  ? opts.model
68
152
  : await resolveWorkingModel(provider, providerType, undefined);
153
+ pushCandidate(providerType, model);
154
+ // ── A PINNED RUN FAILS OVER TOO ──────────────────────────────────────
155
+ // A pinned provider used to contribute a SINGLE candidate, so any
156
+ // mid-turn failure killed the whole turn even though a fallback chain
157
+ // was configured — the pin collapsed the deep pool into a one-shot. The
158
+ // SAME config-declared chain chat's non-auto path walks (`fallback.
159
+ // providers` when set, otherwise the credentialed/verified providers
160
+ // ranked dynamically) is appended by `extendWithPinnedFallbacks()` when a
161
+ // failure actually needs it, so `--provider X` still lands a best-effort
162
+ // answer instead of dying on X's first bad step.
69
163
  }
70
164
  else {
71
165
  const routed = await getAutoRouter().resolve('execute', goal, { verbose: !opts.quiet }, configManager);
@@ -114,6 +208,9 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
114
208
  ...pairs.filter((p) => !isExcluded(p.provider, p.model)),
115
209
  ...pairs.filter((p) => isExcluded(p.provider, p.model)),
116
210
  ];
211
+ // Hand the whole ordered chain to the mid-turn walk.
212
+ for (const pair of ordered)
213
+ pushCandidate(pair.provider, pair.model);
117
214
  for (const pair of ordered) {
118
215
  try {
119
216
  const resolved = resolveProvider(configManager, pair.provider);
@@ -134,7 +231,10 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
134
231
  }
135
232
  }
136
233
  catch (err) {
137
- return failureResult(`Routing failed: ${err instanceof Error ? err.message : String(err)}`, startedAt, opts.provider ?? 'auto', opts.model ?? 'default', 'routing failed before an engine decision was possible');
234
+ return failureResult(
235
+ // User-facing reason is sanitized (no provider wire text); the raw error
236
+ // rides along as the technical explanation below.
237
+ toUserFacingGenerationError(err), startedAt, opts.provider ?? 'auto', opts.model ?? 'default', `routing failed before an engine decision was possible: ${err instanceof Error ? err.message : String(err)}`);
138
238
  }
139
239
  if (!provider) {
140
240
  return failureResult('No available provider for the loop engine (check API keys / local runner).', startedAt, opts.provider ?? 'auto', opts.model ?? 'default', 'no available provider after the candidate walk');
@@ -194,38 +294,171 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
194
294
  ];
195
295
  const loadedExtraTools = new Set();
196
296
  const erroredTools = [];
197
- const callModel = async (messages, schemas, _stepOnToken, stepSignal) => {
198
- void _stepOnToken;
199
- if (typeof provider.generateTools === 'function' && schemas.length > 0) {
200
- if (typeof provider.generateToolsStream === 'function' && opts.onToken) {
201
- return provider.generateToolsStream(messages, schemas, { model, signal: stepSignal ?? opts.signal }, opts.onToken);
297
+ // Adapter cache — one `resolveProvider` per provider per turn.
298
+ const resolvedProviders = new Map();
299
+ const resolveAdapter = async (prov) => {
300
+ const cached = resolvedProviders.get(prov);
301
+ if (cached)
302
+ return cached;
303
+ const resolved = resolveProvider(configManager, prov);
304
+ resolvedProviders.set(prov, resolved.provider);
305
+ return resolved.provider;
306
+ };
307
+ /** Candidates that already failed in THIS turn (attempted, but tried last). */
308
+ const failedPairs = new Set();
309
+ const pairKey = (p, m) => `${p}|${m}`;
310
+ /** One generation attempt on a concrete provider × model (native → JSON). */
311
+ const tryOnce = async (prov, mdl, messages, schemas, abort) => {
312
+ if (typeof prov.generateTools === 'function' && schemas.length > 0) {
313
+ if (typeof prov.generateToolsStream === 'function' && opts.onToken) {
314
+ return prov.generateToolsStream(messages, schemas, { model: mdl, signal: abort }, opts.onToken);
202
315
  }
203
- return provider.generateTools(messages, schemas, { model, signal: stepSignal ?? opts.signal });
316
+ return prov.generateTools(messages, schemas, { model: mdl, signal: abort });
204
317
  }
205
318
  // JSON fallback transport — the shared helper the chat engine uses.
206
319
  const { buildJsonFallbackPrompt } = await import('../inference/tool-call-utils.js');
207
320
  const { extractFallbackToolCalls } = await import('../tools/tool-loop.js');
208
321
  const prompt = buildJsonFallbackPrompt(messages, schemas);
209
322
  let raw;
210
- if (typeof provider.generateStream === 'function') {
323
+ if (typeof prov.generateStream === 'function') {
211
324
  const chunks = [];
212
- await provider.generateStream(prompt, { model, signal: stepSignal ?? opts.signal }, (t) => {
325
+ await prov.generateStream(prompt, { model: mdl, signal: abort }, (t) => {
213
326
  chunks.push(t);
214
327
  opts.onToken?.(t);
215
328
  });
216
329
  raw = chunks.join('');
217
330
  }
218
331
  else {
219
- raw = await provider.generate(prompt, { model, signal: stepSignal ?? opts.signal });
332
+ raw = await prov.generate(prompt, { model: mdl, signal: abort });
220
333
  }
221
334
  const { text, calls } = extractFallbackToolCalls(raw);
222
335
  return { content: text, toolCalls: calls };
223
336
  };
337
+ const callModel = async (messages, schemas, _stepOnToken, stepSignal) => {
338
+ void _stepOnToken;
339
+ const abort = stepSignal ?? opts.signal;
340
+ // Walk order: the CURRENT pick first, then the rest of the deep chain.
341
+ // Candidates that already failed this turn are attempted LAST (never
342
+ // dropped), so an all-failed pool still makes the best attempt instead of
343
+ // dying on "no candidate".
344
+ const primary = { provider: providerType, model };
345
+ const all = [];
346
+ const seenAll = new Set();
347
+ for (const c of [primary, ...candidatePairs]) {
348
+ const k = pairKey(c.provider, c.model);
349
+ if (seenAll.has(k))
350
+ continue;
351
+ seenAll.add(k);
352
+ all.push(c);
353
+ }
354
+ const walk = [
355
+ ...all.filter((c) => !failedPairs.has(pairKey(c.provider, c.model))),
356
+ ...all.filter((c) => failedPairs.has(pairKey(c.provider, c.model))),
357
+ ];
358
+ /**
359
+ * Lazily extend the walk with the pinned run's config fallback chain, the
360
+ * first time a candidate actually fails or is unavailable. Appending to
361
+ * `walk` mid-iteration is safe (the array iterator re-reads the length), so
362
+ * the very failure that triggered the extension already fails over within
363
+ * this step instead of deferring to the next one.
364
+ */
365
+ const extendWithPinnedFallbacks = () => {
366
+ if (!pinnedRun)
367
+ return;
368
+ for (const fb of resolvePinnedFallbacks()) {
369
+ const k = pairKey(fb.provider, fb.model);
370
+ if (seenAll.has(k))
371
+ continue;
372
+ seenAll.add(k);
373
+ all.push(fb);
374
+ walk.push(fb);
375
+ }
376
+ };
377
+ let lastErr;
378
+ for (const cand of walk) {
379
+ if (abort?.aborted)
380
+ break;
381
+ const key = pairKey(cand.provider, cand.model);
382
+ try {
383
+ const prov = await resolveAdapter(cand.provider);
384
+ if (typeof prov.isAvailable === 'function' && !(await prov.isAvailable())) {
385
+ failedPairs.add(key);
386
+ // A pinned provider that cannot be constructed/reached is not a
387
+ // verdict on it — walk its configured fallbacks.
388
+ extendWithPinnedFallbacks();
389
+ continue;
390
+ }
391
+ const desired = cand.model !== 'default'
392
+ ? cand.model
393
+ : getAutoRouter().resolveModel(cand.provider, 'execute', configManager);
394
+ const mdl = await resolveWorkingModel(prov, cand.provider, desired);
395
+ // Flip the loop's active provider/model to the candidate that answers,
396
+ // so telemetry and the NEXT step's primary pick follow the winner.
397
+ providerType = cand.provider;
398
+ provider = prov;
399
+ model = mdl;
400
+ const resp = await tryOnce(prov, mdl, messages, schemas, abort);
401
+ // Success attribution — the same per-action write-through chat/execute
402
+ // use, so the provider × model is marked verified for real usage.
403
+ recordRegistrySuccess(cand.provider, mdl, 'execute');
404
+ return resp;
405
+ }
406
+ catch (err) {
407
+ // An abort is a clean stop, not a generation failure — never fail over
408
+ // (or book a failure) for the caller's own cancellation.
409
+ if (abort?.aborted)
410
+ throw err;
411
+ lastErr = err;
412
+ failedPairs.add(key);
413
+ // FULL shared bookkeeping: session exclusion → (rate-limit) ledger
414
+ // park → registry write-through → quota timeline → circuit breaker.
415
+ // This is what makes a mid-loop 429 LEARNED: the model rests and the
416
+ // next run (and this turn's later steps) routes around it.
417
+ try {
418
+ recordActionFailure(failureSession, cand.provider, err, configManager, {
419
+ model: cand.model !== 'default' ? cand.model : model,
420
+ action: 'execute',
421
+ });
422
+ }
423
+ catch {
424
+ // Best-effort — bookkeeping must never mask the generation error.
425
+ }
426
+ // ── PINNED-RUN GATE ────────────────────────────────────────────────
427
+ // Leaving a provider the user EXPLICITLY asked for is only justified by
428
+ // a failure another provider can plausibly answer — the same retryable
429
+ // gate chat's non-auto path uses. An auth error (the key is dead) or a
430
+ // deterministic request-shape rejection fails identically everywhere;
431
+ // surfacing it beats silently running the user's job somewhere they did
432
+ // not ask for. The failure is still recorded above, so the pin does not
433
+ // blind the router to a dead key.
434
+ if (pinnedRun && !isRetryableError(classifyFallbackError(err))) {
435
+ throw err;
436
+ }
437
+ extendWithPinnedFallbacks();
438
+ if (!opts.quiet) {
439
+ logger.warn(` \u26A0\uFE0F ${cand.provider} failed — trying the next loop candidate...`);
440
+ }
441
+ }
442
+ }
443
+ throw lastErr ?? new Error('no loop candidate could complete the step');
444
+ };
224
445
  try {
446
+ // R1 — the harness is fitted to the MODEL that will run, not just to
447
+ // config: `getLoopExposureMode` alone hands a 0.5B local model the same
448
+ // surface as gpt-oss:120b.
449
+ const harness = resolveModelHarnessProfile({
450
+ model,
451
+ configExposure: getLoopExposureMode(configManager),
452
+ });
225
453
  const result = await runToolLoop({
226
454
  messages: thread,
227
455
  maxSteps: opts.maxSteps ?? 16,
228
- toolExposure: getLoopExposureMode(configManager),
456
+ // Model-window-aware thread budget: a 1M-token model keeps its whole
457
+ // window instead of being trimmed to the fixed ~50K-token default.
458
+ // Undefined (unknown window) leaves the tool-loop default untouched.
459
+ threadBudgetChars: resolveThreadBudgetChars({ provider: providerType, model }),
460
+ toolExposure: harness.exposure,
461
+ maxParallelReads: harness.maxParallelReads,
229
462
  onToken: opts.onToken,
230
463
  signal: opts.signal,
231
464
  context: {
@@ -269,7 +502,7 @@ export async function runLoopExecutor(goal, configManager, opts = {}) {
269
502
  };
270
503
  }
271
504
  catch (err) {
272
- return failureResult(`Loop execution failed: ${err instanceof Error ? err.message : String(err)}`, startedAt, providerType, model, engineExplanation);
505
+ return failureResult(toUserFacingGenerationError(err), startedAt, providerType, model, `loop execution failed: ${err instanceof Error ? err.message : String(err)}`);
273
506
  }
274
507
  }
275
508
  /** Build a failed result (shape-complete for the eval arm comparison). */
@@ -1 +1 @@
1
- {"version":3,"file":"loop-executor.js","sourceRoot":"","sources":["../../src/cli/loop-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-executor.js","sourceRoot":"","sources":["../../src/cli/loop-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,MAAM,IAAI,OAAO;YAeH,OAAO;CAuRtB"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAqB5C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,MAAM,IAAI,OAAO;YAeH,OAAO;CAoStB"}
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