@nervekit/orchestrator 0.1.0 → 0.3.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 (546) hide show
  1. package/dist/{server.d.ts → app/orchestrator-state.d.ts} +11 -17
  2. package/dist/app/orchestrator-state.d.ts.map +1 -0
  3. package/dist/app/orchestrator-state.js +105 -0
  4. package/dist/app/orchestrator-state.js.map +1 -0
  5. package/dist/app/server.d.ts +5 -0
  6. package/dist/app/server.d.ts.map +1 -0
  7. package/dist/{server.js → app/server.js} +6 -112
  8. package/dist/app/server.js.map +1 -0
  9. package/dist/app/version.d.ts.map +1 -0
  10. package/dist/app/version.js.map +1 -0
  11. package/dist/domains/agents/agent-lifecycle.service.d.ts +1 -1
  12. package/dist/domains/agents/agent-lifecycle.service.d.ts.map +1 -1
  13. package/dist/domains/agents/prompting/index.d.ts +4 -0
  14. package/dist/domains/agents/prompting/index.d.ts.map +1 -0
  15. package/dist/domains/agents/prompting/index.js +4 -0
  16. package/dist/domains/agents/prompting/index.js.map +1 -0
  17. package/dist/domains/agents/prompting/nerve-system-prompt.d.ts.map +1 -0
  18. package/dist/{nerve-system-prompt.js → domains/agents/prompting/nerve-system-prompt.js} +4 -2
  19. package/dist/domains/agents/prompting/nerve-system-prompt.js.map +1 -0
  20. package/dist/domains/agents/prompting/prompt-text.d.ts.map +1 -0
  21. package/dist/domains/agents/prompting/prompt-text.js.map +1 -0
  22. package/dist/domains/agents/prompting/resource-loader.d.ts.map +1 -0
  23. package/dist/{resource-loader.js → domains/agents/prompting/resource-loader.js} +1 -1
  24. package/dist/domains/agents/prompting/resource-loader.js.map +1 -0
  25. package/dist/domains/agents/run/agent-run-session.d.ts.map +1 -1
  26. package/dist/domains/agents/run/agent-run-session.js +28 -3
  27. package/dist/domains/agents/run/agent-run-session.js.map +1 -1
  28. package/dist/domains/agents/run/agent-runner.d.ts +18 -7
  29. package/dist/domains/agents/run/agent-runner.d.ts.map +1 -1
  30. package/dist/domains/agents/run/agent-runner.js +30 -83
  31. package/dist/domains/agents/run/agent-runner.js.map +1 -1
  32. package/dist/domains/agents/run/auto-compaction-runner.d.ts +19 -0
  33. package/dist/domains/agents/run/auto-compaction-runner.d.ts.map +1 -0
  34. package/dist/domains/agents/run/auto-compaction-runner.js +105 -0
  35. package/dist/domains/agents/run/auto-compaction-runner.js.map +1 -0
  36. package/dist/domains/agents/run/explore-helpers.d.ts.map +1 -1
  37. package/dist/domains/agents/run/explore-helpers.js +73 -16
  38. package/dist/domains/agents/run/explore-helpers.js.map +1 -1
  39. package/dist/domains/agents/run/inline-command-results.d.ts +8 -0
  40. package/dist/domains/agents/run/inline-command-results.d.ts.map +1 -0
  41. package/dist/domains/agents/run/inline-command-results.js +108 -0
  42. package/dist/domains/agents/run/inline-command-results.js.map +1 -0
  43. package/dist/domains/agents/run/inline-command-runner.d.ts +19 -0
  44. package/dist/domains/agents/run/inline-command-runner.d.ts.map +1 -0
  45. package/dist/domains/agents/run/inline-command-runner.js +168 -0
  46. package/dist/domains/agents/run/inline-command-runner.js.map +1 -0
  47. package/dist/domains/agents/run/interrupted-run-recovery.d.ts +1 -1
  48. package/dist/domains/agents/run/interrupted-run-recovery.d.ts.map +1 -1
  49. package/dist/domains/agents/run/subagent-runner.d.ts +4 -2
  50. package/dist/domains/agents/run/subagent-runner.d.ts.map +1 -1
  51. package/dist/domains/agents/run/subagent-runner.js +13 -7
  52. package/dist/domains/agents/run/subagent-runner.js.map +1 -1
  53. package/dist/domains/agents/run/system-prompt-builder.d.ts +1 -1
  54. package/dist/domains/agents/run/system-prompt-builder.d.ts.map +1 -1
  55. package/dist/domains/agents/run/system-prompt-builder.js +2 -2
  56. package/dist/domains/agents/run/system-prompt-builder.js.map +1 -1
  57. package/dist/domains/agents/run/tool-draft-progress.d.ts +4 -0
  58. package/dist/domains/agents/run/tool-draft-progress.d.ts.map +1 -1
  59. package/dist/domains/agents/run/tool-draft-progress.js +114 -2
  60. package/dist/domains/agents/run/tool-draft-progress.js.map +1 -1
  61. package/dist/{auth.d.ts → domains/auth/auth-manager.d.ts} +2 -2
  62. package/dist/domains/auth/auth-manager.d.ts.map +1 -0
  63. package/dist/{auth.js → domains/auth/auth-manager.js} +1 -1
  64. package/dist/domains/auth/auth-manager.js.map +1 -0
  65. package/dist/{credential-crypto.d.ts → domains/auth/credential-key.service.d.ts} +1 -1
  66. package/dist/domains/auth/credential-key.service.d.ts.map +1 -0
  67. package/dist/{credential-crypto.js → domains/auth/credential-key.service.js} +2 -2
  68. package/dist/domains/auth/credential-key.service.js.map +1 -0
  69. package/dist/domains/auth/index.d.ts +4 -0
  70. package/dist/domains/auth/index.d.ts.map +1 -0
  71. package/dist/domains/auth/index.js +4 -0
  72. package/dist/domains/auth/index.js.map +1 -0
  73. package/dist/{oauth-flow.d.ts → domains/auth/oauth-flow-manager.d.ts} +3 -3
  74. package/dist/domains/auth/oauth-flow-manager.d.ts.map +1 -0
  75. package/dist/{oauth-flow.js → domains/auth/oauth-flow-manager.js} +2 -2
  76. package/dist/domains/auth/oauth-flow-manager.js.map +1 -0
  77. package/dist/domains/conversations/conversation-lifecycle.service.d.ts +1 -1
  78. package/dist/domains/conversations/conversation-lifecycle.service.d.ts.map +1 -1
  79. package/dist/domains/conversations/conversation-lifecycle.service.js +21 -4
  80. package/dist/domains/conversations/conversation-lifecycle.service.js.map +1 -1
  81. package/dist/domains/conversations/conversation-query.service.d.ts +2 -2
  82. package/dist/domains/conversations/conversation-query.service.d.ts.map +1 -1
  83. package/dist/domains/conversations/conversation-query.service.js +6 -2
  84. package/dist/domains/conversations/conversation-query.service.js.map +1 -1
  85. package/dist/domains/conversations/conversation-runtime.d.ts +2 -0
  86. package/dist/domains/conversations/conversation-runtime.d.ts.map +1 -1
  87. package/dist/domains/conversations/conversation-runtime.js +36 -2
  88. package/dist/domains/conversations/conversation-runtime.js.map +1 -1
  89. package/dist/domains/conversations/operations/import-service.d.ts.map +1 -1
  90. package/dist/domains/conversations/operations/import-service.js +1 -0
  91. package/dist/domains/conversations/operations/import-service.js.map +1 -1
  92. package/dist/domains/git/git-service.d.ts +1 -0
  93. package/dist/domains/git/git-service.d.ts.map +1 -1
  94. package/dist/domains/git/git-service.js +53 -0
  95. package/dist/domains/git/git-service.js.map +1 -1
  96. package/dist/domains/human-input/human-input-resolution.service.d.ts +1 -1
  97. package/dist/domains/human-input/human-input-resolution.service.d.ts.map +1 -1
  98. package/dist/domains/pinned-commands/pinned-command.service.d.ts +3 -1
  99. package/dist/domains/pinned-commands/pinned-command.service.d.ts.map +1 -1
  100. package/dist/domains/pinned-commands/pinned-command.service.js +26 -3
  101. package/dist/domains/pinned-commands/pinned-command.service.js.map +1 -1
  102. package/dist/domains/plans/plan-service.d.ts +2 -0
  103. package/dist/domains/plans/plan-service.d.ts.map +1 -1
  104. package/dist/domains/plans/plan-service.js +31 -6
  105. package/dist/domains/plans/plan-service.js.map +1 -1
  106. package/dist/domains/projects/prune-conversations.service.d.ts +1 -1
  107. package/dist/domains/projects/prune-conversations.service.d.ts.map +1 -1
  108. package/dist/domains/tasks/index.d.ts +1 -0
  109. package/dist/domains/tasks/index.d.ts.map +1 -1
  110. package/dist/domains/tasks/index.js +1 -0
  111. package/dist/domains/tasks/index.js.map +1 -1
  112. package/dist/domains/tasks/task-launch-config.store.d.ts +1 -1
  113. package/dist/domains/tasks/task-launch-config.store.d.ts.map +1 -1
  114. package/dist/domains/tasks/task-manager-foreground.d.ts.map +1 -1
  115. package/dist/domains/tasks/task-manager-foreground.js +4 -1
  116. package/dist/domains/tasks/task-manager-foreground.js.map +1 -1
  117. package/dist/domains/tasks/task-manager-orphan.d.ts +4 -1
  118. package/dist/domains/tasks/task-manager-orphan.d.ts.map +1 -1
  119. package/dist/domains/tasks/task-manager-orphan.js +100 -1
  120. package/dist/domains/tasks/task-manager-orphan.js.map +1 -1
  121. package/dist/domains/tasks/task-manager-start.d.ts.map +1 -1
  122. package/dist/domains/tasks/task-manager-start.js +46 -0
  123. package/dist/domains/tasks/task-manager-start.js.map +1 -1
  124. package/dist/domains/tasks/task-manager.d.ts +26 -4
  125. package/dist/domains/tasks/task-manager.d.ts.map +1 -1
  126. package/dist/domains/tasks/task-manager.js +10 -1
  127. package/dist/domains/tasks/task-manager.js.map +1 -1
  128. package/dist/domains/tasks/task-notification.service.d.ts +2 -2
  129. package/dist/domains/tasks/task-notification.service.d.ts.map +1 -1
  130. package/dist/domains/tasks/task-port-inspector.d.ts +7 -0
  131. package/dist/domains/tasks/task-port-inspector.d.ts.map +1 -0
  132. package/dist/domains/tasks/task-port-inspector.js +286 -0
  133. package/dist/domains/tasks/task-port-inspector.js.map +1 -0
  134. package/dist/domains/tasks/task-summary-format.d.ts +1 -0
  135. package/dist/domains/tasks/task-summary-format.d.ts.map +1 -1
  136. package/dist/domains/tasks/task-summary-format.js +14 -0
  137. package/dist/domains/tasks/task-summary-format.js.map +1 -1
  138. package/dist/domains/tasks/task-supervisor.d.ts +3 -1
  139. package/dist/domains/tasks/task-supervisor.d.ts.map +1 -1
  140. package/dist/domains/tasks/task-supervisor.js +15 -1
  141. package/dist/domains/tasks/task-supervisor.js.map +1 -1
  142. package/dist/domains/tools/agent-tool-adapter.d.ts.map +1 -1
  143. package/dist/domains/tools/agent-tool-adapter.js +1 -2
  144. package/dist/domains/tools/agent-tool-adapter.js.map +1 -1
  145. package/dist/domains/tools/orchestration-tool-dispatcher-handlers.d.ts.map +1 -1
  146. package/dist/domains/tools/orchestration-tool-dispatcher-handlers.js +24 -4
  147. package/dist/domains/tools/orchestration-tool-dispatcher-handlers.js.map +1 -1
  148. package/dist/domains/tools/orchestration-tool-dispatcher.d.ts.map +1 -1
  149. package/dist/domains/tools/orchestration-tool-dispatcher.js +3 -1
  150. package/dist/domains/tools/orchestration-tool-dispatcher.js.map +1 -1
  151. package/dist/domains/tools/tool-call-transcript-preview.d.ts +3 -0
  152. package/dist/domains/tools/tool-call-transcript-preview.d.ts.map +1 -0
  153. package/dist/domains/tools/tool-call-transcript-preview.js +442 -0
  154. package/dist/domains/tools/tool-call-transcript-preview.js.map +1 -0
  155. package/dist/domains/tools/tool-call.repository.d.ts.map +1 -1
  156. package/dist/domains/tools/tool-call.repository.js +6 -9
  157. package/dist/domains/tools/tool-call.repository.js.map +1 -1
  158. package/dist/domains/tools/tool-executor.service.d.ts +1 -1
  159. package/dist/domains/tools/tool-executor.service.d.ts.map +1 -1
  160. package/dist/domains/tools/tool-executor.service.js +3 -2
  161. package/dist/domains/tools/tool-executor.service.js.map +1 -1
  162. package/dist/domains/tools/tool-result-bounds.d.ts.map +1 -1
  163. package/dist/domains/tools/tool-result-bounds.js +23 -9
  164. package/dist/domains/tools/tool-result-bounds.js.map +1 -1
  165. package/dist/domains/tools/tool-result-model-limits.d.ts +2 -0
  166. package/dist/domains/tools/tool-result-model-limits.d.ts.map +1 -0
  167. package/dist/domains/tools/tool-result-model-limits.js +84 -0
  168. package/dist/domains/tools/tool-result-model-limits.js.map +1 -0
  169. package/dist/domains/tools/tool-service.d.ts +6 -2
  170. package/dist/domains/tools/tool-service.d.ts.map +1 -1
  171. package/dist/domains/tools/tool-service.js +2 -1
  172. package/dist/domains/tools/tool-service.js.map +1 -1
  173. package/dist/domains/transcription/transcription.service.d.ts +1 -1
  174. package/dist/domains/transcription/transcription.service.d.ts.map +1 -1
  175. package/dist/domains/transcription/transcription.service.js.map +1 -1
  176. package/dist/domains/usage/subscription-usage-service.d.ts +1 -1
  177. package/dist/domains/usage/subscription-usage-service.d.ts.map +1 -1
  178. package/dist/http/request-context.d.ts +1 -1
  179. package/dist/http/request-context.d.ts.map +1 -1
  180. package/dist/http/static-files.d.ts +1 -1
  181. package/dist/http/static-files.d.ts.map +1 -1
  182. package/dist/index.d.ts +3 -1
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.js +3 -1
  185. package/dist/index.js.map +1 -1
  186. package/dist/infrastructure/diagnostics/crash-reports.d.ts +14 -0
  187. package/dist/infrastructure/diagnostics/crash-reports.d.ts.map +1 -0
  188. package/dist/infrastructure/diagnostics/crash-reports.js +199 -0
  189. package/dist/infrastructure/diagnostics/crash-reports.js.map +1 -0
  190. package/dist/infrastructure/diagnostics/index.d.ts +3 -0
  191. package/dist/infrastructure/diagnostics/index.d.ts.map +1 -0
  192. package/dist/infrastructure/diagnostics/index.js +3 -0
  193. package/dist/infrastructure/diagnostics/index.js.map +1 -0
  194. package/dist/infrastructure/diagnostics/logging.d.ts.map +1 -0
  195. package/dist/{logging.js → infrastructure/diagnostics/logging.js} +1 -1
  196. package/dist/infrastructure/diagnostics/logging.js.map +1 -0
  197. package/dist/{secrets.d.ts → infrastructure/secrets/index.d.ts} +1 -1
  198. package/dist/infrastructure/secrets/index.d.ts.map +1 -0
  199. package/dist/{secrets.js → infrastructure/secrets/index.js} +2 -2
  200. package/dist/infrastructure/secrets/index.js.map +1 -0
  201. package/dist/main.js +43 -7
  202. package/dist/main.js.map +1 -1
  203. package/dist/routes/agent-routes.d.ts +1 -1
  204. package/dist/routes/agent-routes.d.ts.map +1 -1
  205. package/dist/routes/agent-routes.js.map +1 -1
  206. package/dist/routes/auth-routes.d.ts +1 -1
  207. package/dist/routes/auth-routes.d.ts.map +1 -1
  208. package/dist/routes/auth-routes.js.map +1 -1
  209. package/dist/routes/completion-routes.d.ts +1 -1
  210. package/dist/routes/completion-routes.d.ts.map +1 -1
  211. package/dist/routes/completion-routes.js.map +1 -1
  212. package/dist/routes/conversation-routes.d.ts +1 -1
  213. package/dist/routes/conversation-routes.d.ts.map +1 -1
  214. package/dist/routes/conversation-routes.js.map +1 -1
  215. package/dist/routes/filesystem-routes.d.ts +1 -1
  216. package/dist/routes/filesystem-routes.d.ts.map +1 -1
  217. package/dist/routes/filesystem-routes.js.map +1 -1
  218. package/dist/routes/git-routes.d.ts +1 -1
  219. package/dist/routes/git-routes.d.ts.map +1 -1
  220. package/dist/routes/git-routes.js +4 -0
  221. package/dist/routes/git-routes.js.map +1 -1
  222. package/dist/routes/index.d.ts +1 -1
  223. package/dist/routes/index.d.ts.map +1 -1
  224. package/dist/routes/log-routes.d.ts +1 -1
  225. package/dist/routes/log-routes.d.ts.map +1 -1
  226. package/dist/routes/log-routes.js.map +1 -1
  227. package/dist/routes/model-routes.d.ts +1 -1
  228. package/dist/routes/model-routes.d.ts.map +1 -1
  229. package/dist/routes/project-routes.d.ts +1 -1
  230. package/dist/routes/project-routes.d.ts.map +1 -1
  231. package/dist/routes/project-routes.js +7 -1
  232. package/dist/routes/project-routes.js.map +1 -1
  233. package/dist/routes/provider-catalog-routes.d.ts +1 -1
  234. package/dist/routes/provider-catalog-routes.d.ts.map +1 -1
  235. package/dist/routes/provider-catalog-routes.js +1 -1
  236. package/dist/routes/provider-catalog-routes.js.map +1 -1
  237. package/dist/routes/settings-routes.d.ts +1 -1
  238. package/dist/routes/settings-routes.d.ts.map +1 -1
  239. package/dist/routes/settings-routes.js.map +1 -1
  240. package/dist/routes/status-routes.d.ts +1 -1
  241. package/dist/routes/status-routes.d.ts.map +1 -1
  242. package/dist/routes/status-routes.js +1 -1
  243. package/dist/routes/status-routes.js.map +1 -1
  244. package/dist/routes/storage-routes.d.ts +1 -1
  245. package/dist/routes/storage-routes.d.ts.map +1 -1
  246. package/dist/routes/storage-routes.js.map +1 -1
  247. package/dist/routes/task-routes.d.ts +1 -1
  248. package/dist/routes/task-routes.d.ts.map +1 -1
  249. package/dist/routes/task-routes.js.map +1 -1
  250. package/dist/routes/tool-routes.d.ts +1 -1
  251. package/dist/routes/tool-routes.d.ts.map +1 -1
  252. package/dist/routes/tool-routes.js +47 -19
  253. package/dist/routes/tool-routes.js.map +1 -1
  254. package/dist/routes/transcription-routes.d.ts +1 -1
  255. package/dist/routes/transcription-routes.d.ts.map +1 -1
  256. package/dist/routes/transcription-routes.js.map +1 -1
  257. package/dist/routes/worker-routes.d.ts +1 -1
  258. package/dist/routes/worker-routes.d.ts.map +1 -1
  259. package/dist/routes/worker-routes.js.map +1 -1
  260. package/dist/runtime/runtime-composition.d.ts +3 -3
  261. package/dist/runtime/runtime-composition.d.ts.map +1 -1
  262. package/dist/runtime/runtime-composition.js.map +1 -1
  263. package/dist/{registry.d.ts → runtime/runtime-registry.d.ts} +159 -44
  264. package/dist/runtime/runtime-registry.d.ts.map +1 -0
  265. package/dist/{registry.js → runtime/runtime-registry.js} +7 -12
  266. package/dist/runtime/runtime-registry.js.map +1 -0
  267. package/dist/runtime/runtime-state.d.ts +3 -2
  268. package/dist/runtime/runtime-state.d.ts.map +1 -1
  269. package/dist/runtime/types.d.ts.map +1 -0
  270. package/dist/{registry → runtime}/types.js.map +1 -1
  271. package/dist/web/assets/{dist-DVpGQCt0.js → dist-DuVh-9Yy.js} +1 -1
  272. package/dist/web/assets/index-bmeeVJYV.css +2 -0
  273. package/dist/web/assets/index-hdM6dgBG.js +192 -0
  274. package/dist/web/index.html +2 -2
  275. package/dist/web/sw.js +1 -1
  276. package/package.json +4 -4
  277. package/dist/agent-process.d.ts +0 -32
  278. package/dist/agent-process.d.ts.map +0 -1
  279. package/dist/agent-process.js +0 -129
  280. package/dist/agent-process.js.map +0 -1
  281. package/dist/agent-runner/agent-runner.d.ts +0 -65
  282. package/dist/agent-runner/agent-runner.d.ts.map +0 -1
  283. package/dist/agent-runner/agent-runner.js +0 -802
  284. package/dist/agent-runner/agent-runner.js.map +0 -1
  285. package/dist/agent-runner/index.d.ts +0 -6
  286. package/dist/agent-runner/index.d.ts.map +0 -1
  287. package/dist/agent-runner/index.js +0 -4
  288. package/dist/agent-runner/index.js.map +0 -1
  289. package/dist/agent-runner/message-mirror.d.ts +0 -44
  290. package/dist/agent-runner/message-mirror.d.ts.map +0 -1
  291. package/dist/agent-runner/message-mirror.js +0 -154
  292. package/dist/agent-runner/message-mirror.js.map +0 -1
  293. package/dist/agent-runner/run-state.d.ts +0 -12
  294. package/dist/agent-runner/run-state.d.ts.map +0 -1
  295. package/dist/agent-runner/run-state.js +0 -2
  296. package/dist/agent-runner/run-state.js.map +0 -1
  297. package/dist/agent-runner/subagent-runner.d.ts +0 -29
  298. package/dist/agent-runner/subagent-runner.d.ts.map +0 -1
  299. package/dist/agent-runner/subagent-runner.js +0 -84
  300. package/dist/agent-runner/subagent-runner.js.map +0 -1
  301. package/dist/agent-runner/system-prompt-builder.d.ts +0 -19
  302. package/dist/agent-runner/system-prompt-builder.d.ts.map +0 -1
  303. package/dist/agent-runner/system-prompt-builder.js +0 -35
  304. package/dist/agent-runner/system-prompt-builder.js.map +0 -1
  305. package/dist/agent-runner/tool-draft-streaming.d.ts +0 -2
  306. package/dist/agent-runner/tool-draft-streaming.d.ts.map +0 -1
  307. package/dist/agent-runner/tool-draft-streaming.js +0 -5
  308. package/dist/agent-runner/tool-draft-streaming.js.map +0 -1
  309. package/dist/agent-suspension-service.d.ts +0 -44
  310. package/dist/agent-suspension-service.d.ts.map +0 -1
  311. package/dist/agent-suspension-service.js +0 -96
  312. package/dist/agent-suspension-service.js.map +0 -1
  313. package/dist/agent-tool-adapter.d.ts +0 -20
  314. package/dist/agent-tool-adapter.d.ts.map +0 -1
  315. package/dist/agent-tool-adapter.js +0 -215
  316. package/dist/agent-tool-adapter.js.map +0 -1
  317. package/dist/agents/agent-authority.d.ts +0 -5
  318. package/dist/agents/agent-authority.d.ts.map +0 -1
  319. package/dist/agents/agent-authority.js +0 -28
  320. package/dist/agents/agent-authority.js.map +0 -1
  321. package/dist/agents/agent-budget.d.ts +0 -3
  322. package/dist/agents/agent-budget.d.ts.map +0 -1
  323. package/dist/agents/agent-budget.js +0 -17
  324. package/dist/agents/agent-budget.js.map +0 -1
  325. package/dist/agents/agent-status.d.ts +0 -4
  326. package/dist/agents/agent-status.d.ts.map +0 -1
  327. package/dist/agents/agent-status.js +0 -10
  328. package/dist/agents/agent-status.js.map +0 -1
  329. package/dist/auth.d.ts.map +0 -1
  330. package/dist/auth.js.map +0 -1
  331. package/dist/conversation-operations/compaction-service.d.ts +0 -37
  332. package/dist/conversation-operations/compaction-service.d.ts.map +0 -1
  333. package/dist/conversation-operations/compaction-service.js +0 -102
  334. package/dist/conversation-operations/compaction-service.js.map +0 -1
  335. package/dist/conversation-operations/export-service.d.ts +0 -22
  336. package/dist/conversation-operations/export-service.d.ts.map +0 -1
  337. package/dist/conversation-operations/export-service.js +0 -79
  338. package/dist/conversation-operations/export-service.js.map +0 -1
  339. package/dist/conversation-operations/import-service.d.ts +0 -20
  340. package/dist/conversation-operations/import-service.d.ts.map +0 -1
  341. package/dist/conversation-operations/import-service.js +0 -97
  342. package/dist/conversation-operations/import-service.js.map +0 -1
  343. package/dist/conversation-operations/index.d.ts +0 -8
  344. package/dist/conversation-operations/index.d.ts.map +0 -1
  345. package/dist/conversation-operations/index.js +0 -6
  346. package/dist/conversation-operations/index.js.map +0 -1
  347. package/dist/conversation-operations/navigation-service.d.ts +0 -18
  348. package/dist/conversation-operations/navigation-service.d.ts.map +0 -1
  349. package/dist/conversation-operations/navigation-service.js +0 -102
  350. package/dist/conversation-operations/navigation-service.js.map +0 -1
  351. package/dist/conversation-operations/summary.d.ts +0 -11
  352. package/dist/conversation-operations/summary.d.ts.map +0 -1
  353. package/dist/conversation-operations/summary.js +0 -29
  354. package/dist/conversation-operations/summary.js.map +0 -1
  355. package/dist/conversation-runtime.d.ts +0 -96
  356. package/dist/conversation-runtime.d.ts.map +0 -1
  357. package/dist/conversation-runtime.js +0 -363
  358. package/dist/conversation-runtime.js.map +0 -1
  359. package/dist/conversation-service.d.ts +0 -17
  360. package/dist/conversation-service.d.ts.map +0 -1
  361. package/dist/conversation-service.js +0 -56
  362. package/dist/conversation-service.js.map +0 -1
  363. package/dist/credential-crypto.d.ts.map +0 -1
  364. package/dist/credential-crypto.js.map +0 -1
  365. package/dist/domains/processes/index.d.ts +0 -10
  366. package/dist/domains/processes/index.d.ts.map +0 -1
  367. package/dist/domains/processes/index.js +0 -7
  368. package/dist/domains/processes/index.js.map +0 -1
  369. package/dist/domains/processes/process-launch-config.store.d.ts +0 -21
  370. package/dist/domains/processes/process-launch-config.store.d.ts.map +0 -1
  371. package/dist/domains/processes/process-launch-config.store.js +0 -49
  372. package/dist/domains/processes/process-launch-config.store.js.map +0 -1
  373. package/dist/domains/processes/process-log.service.d.ts +0 -25
  374. package/dist/domains/processes/process-log.service.d.ts.map +0 -1
  375. package/dist/domains/processes/process-log.service.js +0 -155
  376. package/dist/domains/processes/process-log.service.js.map +0 -1
  377. package/dist/domains/processes/process-manager.d.ts +0 -107
  378. package/dist/domains/processes/process-manager.d.ts.map +0 -1
  379. package/dist/domains/processes/process-manager.js +0 -814
  380. package/dist/domains/processes/process-manager.js.map +0 -1
  381. package/dist/domains/processes/process-readiness.service.d.ts +0 -7
  382. package/dist/domains/processes/process-readiness.service.d.ts.map +0 -1
  383. package/dist/domains/processes/process-readiness.service.js +0 -26
  384. package/dist/domains/processes/process-readiness.service.js.map +0 -1
  385. package/dist/domains/processes/process-status.d.ts +0 -5
  386. package/dist/domains/processes/process-status.d.ts.map +0 -1
  387. package/dist/domains/processes/process-status.js +0 -13
  388. package/dist/domains/processes/process-status.js.map +0 -1
  389. package/dist/domains/processes/process-supervisor.d.ts +0 -34
  390. package/dist/domains/processes/process-supervisor.d.ts.map +0 -1
  391. package/dist/domains/processes/process-supervisor.js +0 -211
  392. package/dist/domains/processes/process-supervisor.js.map +0 -1
  393. package/dist/domains/processes/process.repository.d.ts +0 -11
  394. package/dist/domains/processes/process.repository.d.ts.map +0 -1
  395. package/dist/domains/processes/process.repository.js +0 -31
  396. package/dist/domains/processes/process.repository.js.map +0 -1
  397. package/dist/domains/tasks/task-completion.service.d.ts +0 -31
  398. package/dist/domains/tasks/task-completion.service.d.ts.map +0 -1
  399. package/dist/domains/tasks/task-completion.service.js +0 -147
  400. package/dist/domains/tasks/task-completion.service.js.map +0 -1
  401. package/dist/domains/tasks/task-legacy-migration.d.ts +0 -15
  402. package/dist/domains/tasks/task-legacy-migration.d.ts.map +0 -1
  403. package/dist/domains/tasks/task-legacy-migration.js +0 -191
  404. package/dist/domains/tasks/task-legacy-migration.js.map +0 -1
  405. package/dist/events.d.ts +0 -2
  406. package/dist/events.d.ts.map +0 -1
  407. package/dist/events.js +0 -2
  408. package/dist/events.js.map +0 -1
  409. package/dist/git/git-service.d.ts +0 -51
  410. package/dist/git/git-service.d.ts.map +0 -1
  411. package/dist/git/git-service.js +0 -716
  412. package/dist/git/git-service.js.map +0 -1
  413. package/dist/git/git-status.d.ts +0 -24
  414. package/dist/git/git-status.d.ts.map +0 -1
  415. package/dist/git/git-status.js +0 -133
  416. package/dist/git/git-status.js.map +0 -1
  417. package/dist/harness-manager.d.ts +0 -21
  418. package/dist/harness-manager.d.ts.map +0 -1
  419. package/dist/harness-manager.js +0 -105
  420. package/dist/harness-manager.js.map +0 -1
  421. package/dist/index-store.d.ts +0 -2
  422. package/dist/index-store.d.ts.map +0 -1
  423. package/dist/index-store.js +0 -2
  424. package/dist/index-store.js.map +0 -1
  425. package/dist/logging.d.ts.map +0 -1
  426. package/dist/logging.js.map +0 -1
  427. package/dist/nerve-system-prompt.d.ts.map +0 -1
  428. package/dist/nerve-system-prompt.js.map +0 -1
  429. package/dist/oauth-flow.d.ts.map +0 -1
  430. package/dist/oauth-flow.js.map +0 -1
  431. package/dist/plan-paths.d.ts +0 -6
  432. package/dist/plan-paths.d.ts.map +0 -1
  433. package/dist/plan-paths.js +0 -30
  434. package/dist/plan-paths.js.map +0 -1
  435. package/dist/plan-service.d.ts +0 -61
  436. package/dist/plan-service.d.ts.map +0 -1
  437. package/dist/plan-service.js +0 -255
  438. package/dist/plan-service.js.map +0 -1
  439. package/dist/policy.d.ts +0 -14
  440. package/dist/policy.d.ts.map +0 -1
  441. package/dist/policy.js +0 -247
  442. package/dist/policy.js.map +0 -1
  443. package/dist/process-manager.d.ts +0 -72
  444. package/dist/process-manager.d.ts.map +0 -1
  445. package/dist/process-manager.js +0 -376
  446. package/dist/process-manager.js.map +0 -1
  447. package/dist/prompt-text.d.ts.map +0 -1
  448. package/dist/prompt-text.js.map +0 -1
  449. package/dist/registry/agent-lifecycle-service.d.ts +0 -38
  450. package/dist/registry/agent-lifecycle-service.d.ts.map +0 -1
  451. package/dist/registry/agent-lifecycle-service.js +0 -199
  452. package/dist/registry/agent-lifecycle-service.js.map +0 -1
  453. package/dist/registry/conversation-lifecycle-service.d.ts +0 -35
  454. package/dist/registry/conversation-lifecycle-service.d.ts.map +0 -1
  455. package/dist/registry/conversation-lifecycle-service.js +0 -136
  456. package/dist/registry/conversation-lifecycle-service.js.map +0 -1
  457. package/dist/registry/pinned-command-service.d.ts +0 -11
  458. package/dist/registry/pinned-command-service.d.ts.map +0 -1
  459. package/dist/registry/pinned-command-service.js +0 -40
  460. package/dist/registry/pinned-command-service.js.map +0 -1
  461. package/dist/registry/project-lifecycle-service.d.ts +0 -22
  462. package/dist/registry/project-lifecycle-service.d.ts.map +0 -1
  463. package/dist/registry/project-lifecycle-service.js +0 -87
  464. package/dist/registry/project-lifecycle-service.js.map +0 -1
  465. package/dist/registry/types.d.ts.map +0 -1
  466. package/dist/registry.d.ts.map +0 -1
  467. package/dist/registry.js.map +0 -1
  468. package/dist/repositories/agent-repository.d.ts +0 -12
  469. package/dist/repositories/agent-repository.d.ts.map +0 -1
  470. package/dist/repositories/agent-repository.js +0 -33
  471. package/dist/repositories/agent-repository.js.map +0 -1
  472. package/dist/repositories/conversation-repository.d.ts +0 -13
  473. package/dist/repositories/conversation-repository.d.ts.map +0 -1
  474. package/dist/repositories/conversation-repository.js +0 -39
  475. package/dist/repositories/conversation-repository.js.map +0 -1
  476. package/dist/repositories/entry-repository.d.ts +0 -15
  477. package/dist/repositories/entry-repository.d.ts.map +0 -1
  478. package/dist/repositories/entry-repository.js +0 -81
  479. package/dist/repositories/entry-repository.js.map +0 -1
  480. package/dist/repositories/index.d.ts +0 -7
  481. package/dist/repositories/index.d.ts.map +0 -1
  482. package/dist/repositories/index.js +0 -7
  483. package/dist/repositories/index.js.map +0 -1
  484. package/dist/repositories/pinned-command-repository.d.ts +0 -10
  485. package/dist/repositories/pinned-command-repository.d.ts.map +0 -1
  486. package/dist/repositories/pinned-command-repository.js +0 -28
  487. package/dist/repositories/pinned-command-repository.js.map +0 -1
  488. package/dist/repositories/project-repository.d.ts +0 -12
  489. package/dist/repositories/project-repository.d.ts.map +0 -1
  490. package/dist/repositories/project-repository.js +0 -33
  491. package/dist/repositories/project-repository.js.map +0 -1
  492. package/dist/repositories/prompt-queue-repository.d.ts +0 -28
  493. package/dist/repositories/prompt-queue-repository.d.ts.map +0 -1
  494. package/dist/repositories/prompt-queue-repository.js +0 -88
  495. package/dist/repositories/prompt-queue-repository.js.map +0 -1
  496. package/dist/resource-loader.d.ts.map +0 -1
  497. package/dist/resource-loader.js.map +0 -1
  498. package/dist/routes/process-routes.d.ts +0 -4
  499. package/dist/routes/process-routes.d.ts.map +0 -1
  500. package/dist/routes/process-routes.js +0 -43
  501. package/dist/routes/process-routes.js.map +0 -1
  502. package/dist/secrets.d.ts.map +0 -1
  503. package/dist/secrets.js.map +0 -1
  504. package/dist/server.d.ts.map +0 -1
  505. package/dist/server.js.map +0 -1
  506. package/dist/storage.d.ts +0 -2
  507. package/dist/storage.d.ts.map +0 -1
  508. package/dist/storage.js +0 -2
  509. package/dist/storage.js.map +0 -1
  510. package/dist/tool-service.d.ts +0 -82
  511. package/dist/tool-service.d.ts.map +0 -1
  512. package/dist/tool-service.js +0 -409
  513. package/dist/tool-service.js.map +0 -1
  514. package/dist/transcription-service.d.ts +0 -15
  515. package/dist/transcription-service.d.ts.map +0 -1
  516. package/dist/transcription-service.js +0 -128
  517. package/dist/transcription-service.js.map +0 -1
  518. package/dist/usage/anthropic-client.d.ts +0 -9
  519. package/dist/usage/anthropic-client.d.ts.map +0 -1
  520. package/dist/usage/anthropic-client.js +0 -207
  521. package/dist/usage/anthropic-client.js.map +0 -1
  522. package/dist/usage/codex-client.d.ts +0 -18
  523. package/dist/usage/codex-client.d.ts.map +0 -1
  524. package/dist/usage/codex-client.js +0 -316
  525. package/dist/usage/codex-client.js.map +0 -1
  526. package/dist/usage/subscription-usage-service.d.ts +0 -42
  527. package/dist/usage/subscription-usage-service.d.ts.map +0 -1
  528. package/dist/usage/subscription-usage-service.js +0 -131
  529. package/dist/usage/subscription-usage-service.js.map +0 -1
  530. package/dist/version.d.ts.map +0 -1
  531. package/dist/version.js.map +0 -1
  532. package/dist/web/assets/index-DFKLdj_D.css +0 -2
  533. package/dist/web/assets/index-DP6SGqvJ.js +0 -165
  534. package/dist/worker-manager.d.ts +0 -51
  535. package/dist/worker-manager.d.ts.map +0 -1
  536. package/dist/worker-manager.js +0 -116
  537. package/dist/worker-manager.js.map +0 -1
  538. /package/dist/{version.d.ts → app/version.d.ts} +0 -0
  539. /package/dist/{version.js → app/version.js} +0 -0
  540. /package/dist/{nerve-system-prompt.d.ts → domains/agents/prompting/nerve-system-prompt.d.ts} +0 -0
  541. /package/dist/{prompt-text.d.ts → domains/agents/prompting/prompt-text.d.ts} +0 -0
  542. /package/dist/{prompt-text.js → domains/agents/prompting/prompt-text.js} +0 -0
  543. /package/dist/{resource-loader.d.ts → domains/agents/prompting/resource-loader.d.ts} +0 -0
  544. /package/dist/{logging.d.ts → infrastructure/diagnostics/logging.d.ts} +0 -0
  545. /package/dist/{registry → runtime}/types.d.ts +0 -0
  546. /package/dist/{registry → runtime}/types.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../../../src/domains/processes/process-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { ProcessLogEvent, ProcessRecord, StartProcessRequest } from "@nerve/shared";
2
- export declare class ProcessReadinessService {
3
- buildReadiness(request: StartProcessRequest): ProcessRecord["readiness"];
4
- compilePattern(pattern: string | undefined): RegExp | undefined;
5
- match(record: ProcessRecord, readinessPattern: RegExp | undefined, log: ProcessLogEvent): string | undefined;
6
- }
7
- //# sourceMappingURL=process-readiness.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-readiness.service.d.ts","sourceRoot":"","sources":["../../../src/domains/processes/process-readiness.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAIvB,qBAAa,uBAAuB;IAClC,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,aAAa,CAAC,WAAW,CAAC;IAYxE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAI/D,KAAK,CACH,MAAM,EAAE,aAAa,EACrB,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,GAAG,EAAE,eAAe,GACnB,MAAM,GAAG,SAAS;CAQtB"}
@@ -1,26 +0,0 @@
1
- const urlPattern = /https?:\/\/[^\s)'"]+/i;
2
- export class ProcessReadinessService {
3
- buildReadiness(request) {
4
- return {
5
- readyOnUrl: request.readyOnUrl,
6
- readyPattern: request.readyPattern,
7
- timeoutMs: request.readyTimeoutMs ?? 3000,
8
- outcome: request.readyOnUrl || request.readyPattern
9
- ? "pending"
10
- : "none",
11
- };
12
- }
13
- compilePattern(pattern) {
14
- return pattern ? new RegExp(pattern, "i") : undefined;
15
- }
16
- match(record, readinessPattern, log) {
17
- if (record.readiness.outcome !== "pending")
18
- return undefined;
19
- const url = record.readiness.readyOnUrl
20
- ? log.line.match(urlPattern)?.[0]
21
- : undefined;
22
- const pattern = readinessPattern?.exec(log.line)?.[0];
23
- return url ?? pattern;
24
- }
25
- }
26
- //# sourceMappingURL=process-readiness.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-readiness.service.js","sourceRoot":"","sources":["../../../src/domains/processes/process-readiness.service.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAE3C,MAAM,OAAO,uBAAuB;IAClC,cAAc,CAAC,OAA4B;QACzC,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;YACzC,OAAO,EACL,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY;gBACxC,CAAC,CAAE,SAAmB;gBACtB,CAAC,CAAE,MAAgB;SACxB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,OAA2B;QACxC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED,KAAK,CACH,MAAqB,EACrB,gBAAoC,EACpC,GAAoB;QAEpB,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU;YACrC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,GAAG,IAAI,OAAO,CAAC;IACxB,CAAC;CACF"}
@@ -1,5 +0,0 @@
1
- import type { ProcessRecord } from "@nerve/shared";
2
- export declare function isActiveProcessStatus(status: ProcessRecord["status"]): boolean;
3
- export declare function isOrphanedProcessStatus(status: ProcessRecord["status"]): boolean;
4
- export declare function isStoppableProcessStatus(status: ProcessRecord["status"]): boolean;
5
- //# sourceMappingURL=process-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-status.d.ts","sourceRoot":"","sources":["../../../src/domains/processes/process-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,OAAO,CAOT;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,OAAO,CAET;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,OAAO,CAET"}
@@ -1,13 +0,0 @@
1
- export function isActiveProcessStatus(status) {
2
- return (status === "starting" ||
3
- status === "running" ||
4
- status === "ready" ||
5
- status === "stopping");
6
- }
7
- export function isOrphanedProcessStatus(status) {
8
- return status === "orphaned";
9
- }
10
- export function isStoppableProcessStatus(status) {
11
- return isActiveProcessStatus(status) || isOrphanedProcessStatus(status);
12
- }
13
- //# sourceMappingURL=process-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-status.js","sourceRoot":"","sources":["../../../src/domains/processes/process-status.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,MAA+B;IAE/B,OAAO,CACL,MAAM,KAAK,UAAU;QACrB,MAAM,KAAK,SAAS;QACpB,MAAM,KAAK,OAAO;QAClB,MAAM,KAAK,UAAU,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAA+B;IAE/B,OAAO,MAAM,KAAK,UAAU,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA+B;IAE/B,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,34 +0,0 @@
1
- import { type ChildProcess, spawn } from "node:child_process";
2
- import type { ProcessRuntime } from "@nerve/shared";
3
- export interface SpawnManagedProcessOptions {
4
- cwd: string;
5
- env?: Record<string, string>;
6
- }
7
- export interface SpawnedManagedProcess {
8
- child: ChildProcess;
9
- runtime: ProcessRuntime;
10
- }
11
- export interface TerminateProcessOptions {
12
- platform?: NodeJS.Platform;
13
- helperTimeoutMs?: number;
14
- spawnCommand?: typeof spawn;
15
- killProcess?: typeof process.kill;
16
- }
17
- export interface TerminateProcessResult {
18
- attempted: boolean;
19
- method: "process-group" | "direct-child" | "taskkill" | "none";
20
- error?: string;
21
- }
22
- export interface ProcessSupervisor {
23
- spawn(command: string, options: SpawnManagedProcessOptions): SpawnedManagedProcess;
24
- terminate(child: ChildProcess, signal: NodeJS.Signals): Promise<TerminateProcessResult>;
25
- terminateRuntime(runtime: ProcessRuntime, signal: NodeJS.Signals): Promise<TerminateProcessResult>;
26
- isRuntimeTargetAlive(runtime: ProcessRuntime): Promise<boolean>;
27
- }
28
- export declare function spawnManagedProcess(command: string, options: SpawnManagedProcessOptions): SpawnedManagedProcess;
29
- export declare function runtimeForChild(child: Pick<ChildProcess, "pid">, platform?: NodeJS.Platform, now?: Date): ProcessRuntime;
30
- export declare function terminateProcess(child: ChildProcess, signal: NodeJS.Signals, options?: TerminateProcessOptions): Promise<TerminateProcessResult>;
31
- export declare function terminateProcessRuntime(runtime: ProcessRuntime, signal: NodeJS.Signals, options?: TerminateProcessOptions): Promise<TerminateProcessResult>;
32
- export declare function isProcessRuntimeTargetAlive(runtime: ProcessRuntime, options?: TerminateProcessOptions): Promise<boolean>;
33
- export declare const defaultProcessSupervisor: ProcessSupervisor;
34
- //# sourceMappingURL=process-supervisor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-supervisor.d.ts","sourceRoot":"","sources":["../../../src/domains/processes/process-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,KAAK,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CACH,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,0BAA0B,GAClC,qBAAqB,CAAC;IACzB,SAAS,CACP,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,OAAO,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,gBAAgB,CACd,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,CAAC,OAAO,GACrB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,0BAA0B,GAClC,qBAAqB,CASvB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,OAAa,GACf,cAAc,CAUhB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmCjC;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC"}
@@ -1,211 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- const DEFAULT_HELPER_TIMEOUT_MS = 2000;
3
- export function spawnManagedProcess(command, options) {
4
- const child = spawn(command, {
5
- cwd: options.cwd,
6
- shell: true,
7
- env: { ...process.env, ...(options.env ?? {}) },
8
- stdio: ["ignore", "pipe", "pipe"],
9
- detached: process.platform !== "win32",
10
- });
11
- return { child, runtime: runtimeForChild(child, process.platform) };
12
- }
13
- export function runtimeForChild(child, platform = process.platform, now = new Date()) {
14
- const detached = platform !== "win32";
15
- return {
16
- platform,
17
- childPid: child.pid,
18
- processGroupId: detached ? child.pid : undefined,
19
- detached,
20
- shell: true,
21
- spawnedAt: now.toISOString(),
22
- };
23
- }
24
- export async function terminateProcess(child, signal, options = {}) {
25
- const platform = options.platform ?? process.platform;
26
- const spawnCommand = options.spawnCommand ?? spawn;
27
- const killProcess = options.killProcess ?? process.kill;
28
- if (!child.pid)
29
- return signalDirectChild(child, signal);
30
- if (platform === "win32") {
31
- return terminateWindowsProcessTree(child.pid, spawnCommand, options.helperTimeoutMs ?? DEFAULT_HELPER_TIMEOUT_MS);
32
- }
33
- try {
34
- killProcess(-child.pid, signal);
35
- return { attempted: true, method: "process-group" };
36
- }
37
- catch {
38
- return signalDirectChild(child, signal);
39
- }
40
- }
41
- export async function terminateProcessRuntime(runtime, signal, options = {}) {
42
- const platform = options.platform ?? process.platform;
43
- const spawnCommand = options.spawnCommand ?? spawn;
44
- const killProcess = options.killProcess ?? process.kill;
45
- if (runtime.platform !== platform) {
46
- return {
47
- attempted: false,
48
- method: "none",
49
- error: `Cannot clean up process spawned on ${runtime.platform} from ${platform}.`,
50
- };
51
- }
52
- if (platform === "win32") {
53
- if (!runtime.childPid)
54
- return missingRuntimeTargetResult(platform);
55
- return terminateWindowsProcessTree(runtime.childPid, spawnCommand, options.helperTimeoutMs ?? DEFAULT_HELPER_TIMEOUT_MS);
56
- }
57
- const target = nonWindowsRuntimeTarget(runtime);
58
- if (!target)
59
- return missingRuntimeTargetResult(platform);
60
- try {
61
- killProcess(target.pid, signal);
62
- return { attempted: true, method: target.method };
63
- }
64
- catch (error) {
65
- return {
66
- attempted: true,
67
- method: target.method,
68
- error: errorMessage(error),
69
- };
70
- }
71
- }
72
- export async function isProcessRuntimeTargetAlive(runtime, options = {}) {
73
- const platform = options.platform ?? process.platform;
74
- const killProcess = options.killProcess ?? process.kill;
75
- if (runtime.platform !== platform)
76
- return false;
77
- if (platform === "win32")
78
- return false;
79
- const target = nonWindowsRuntimeTarget(runtime);
80
- if (!target)
81
- return false;
82
- try {
83
- killProcess(target.pid, 0);
84
- return true;
85
- }
86
- catch (error) {
87
- const code = errorCode(error);
88
- if (code === "EPERM")
89
- return true;
90
- return false;
91
- }
92
- }
93
- export const defaultProcessSupervisor = {
94
- spawn: spawnManagedProcess,
95
- terminate: terminateProcess,
96
- terminateRuntime: terminateProcessRuntime,
97
- isRuntimeTargetAlive: isProcessRuntimeTargetAlive,
98
- };
99
- function signalDirectChild(child, signal) {
100
- if (typeof child.kill !== "function") {
101
- return {
102
- attempted: false,
103
- method: "none",
104
- error: "Child process has no pid and cannot be signaled directly.",
105
- };
106
- }
107
- try {
108
- const signaled = child.kill(signal);
109
- return {
110
- attempted: true,
111
- method: "direct-child",
112
- error: signaled ? undefined : "Direct child signal returned false.",
113
- };
114
- }
115
- catch (error) {
116
- return {
117
- attempted: true,
118
- method: "direct-child",
119
- error: errorMessage(error),
120
- };
121
- }
122
- }
123
- function nonWindowsRuntimeTarget(runtime) {
124
- if (runtime.processGroupId) {
125
- return { pid: -runtime.processGroupId, method: "process-group" };
126
- }
127
- if (runtime.childPid) {
128
- return { pid: runtime.childPid, method: "direct-child" };
129
- }
130
- return undefined;
131
- }
132
- function missingRuntimeTargetResult(platform) {
133
- return {
134
- attempted: false,
135
- method: "none",
136
- error: platform === "win32"
137
- ? "Cannot clean up orphaned process because no child PID metadata was captured."
138
- : "Cannot clean up orphaned process because no process-group or child PID metadata was captured.",
139
- };
140
- }
141
- async function terminateWindowsProcessTree(pid, spawnCommand, helperTimeoutMs) {
142
- let helper;
143
- try {
144
- helper = spawnCommand("taskkill", ["/F", "/T", "/PID", String(pid)], {
145
- stdio: "ignore",
146
- windowsHide: true,
147
- });
148
- }
149
- catch (error) {
150
- return {
151
- attempted: true,
152
- method: "taskkill",
153
- error: errorMessage(error),
154
- };
155
- }
156
- return new Promise((resolve) => {
157
- let settled = false;
158
- let timeout;
159
- const finish = (result) => {
160
- if (settled)
161
- return;
162
- settled = true;
163
- if (timeout)
164
- clearTimeout(timeout);
165
- helper.removeAllListeners("close");
166
- helper.removeAllListeners("error");
167
- resolve(result);
168
- };
169
- timeout = setTimeout(() => {
170
- let helperKillError;
171
- try {
172
- helper.kill("SIGKILL");
173
- }
174
- catch (error) {
175
- helperKillError = errorMessage(error);
176
- }
177
- finish({
178
- attempted: true,
179
- method: "taskkill",
180
- error: helperKillError
181
- ? `taskkill timed out after ${helperTimeoutMs}ms; failed to kill helper: ${helperKillError}`
182
- : `taskkill timed out after ${helperTimeoutMs}ms`,
183
- });
184
- }, Math.max(0, helperTimeoutMs));
185
- helper.once("error", (error) => {
186
- finish({
187
- attempted: true,
188
- method: "taskkill",
189
- error: errorMessage(error),
190
- });
191
- });
192
- helper.once("close", (code, closeSignal) => {
193
- finish({
194
- attempted: true,
195
- method: "taskkill",
196
- error: code === 0
197
- ? undefined
198
- : `taskkill exited with code ${code}${closeSignal ? ` and signal ${closeSignal}` : ""}`,
199
- });
200
- });
201
- });
202
- }
203
- function errorCode(error) {
204
- return typeof error === "object" && error !== null && "code" in error
205
- ? String(error.code)
206
- : undefined;
207
- }
208
- function errorMessage(error) {
209
- return error instanceof Error ? error.message : String(error);
210
- }
211
- //# sourceMappingURL=process-supervisor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-supervisor.js","sourceRoot":"","sources":["../../../src/domains/processes/process-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG9D,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAyCvC,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,OAAmC;IAEnC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;QAC/C,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;KACvC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAgC,EAChC,WAA4B,OAAO,CAAC,QAAQ,EAC5C,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,QAAQ,GAAG,QAAQ,KAAK,OAAO,CAAC;IACtC,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,KAAK,CAAC,GAAG;QACnB,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QAChD,QAAQ;QACR,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAmB,EACnB,MAAsB,EACtB,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAExD,IAAI,CAAC,KAAK,CAAC,GAAG;QAAE,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAExD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,2BAA2B,CAChC,KAAK,CAAC,GAAG,EACT,YAAY,EACZ,OAAO,CAAC,eAAe,IAAI,yBAAyB,CACrD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuB,EACvB,MAAsB,EACtB,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAExD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,sCAAsC,OAAO,CAAC,QAAQ,SAAS,QAAQ,GAAG;SAClF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACnE,OAAO,2BAA2B,CAChC,OAAO,CAAC,QAAQ,EAChB,YAAY,EACZ,OAAO,CAAC,eAAe,IAAI,yBAAyB,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAuB,EACvB,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAExD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEvC,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,IAAI,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,gBAAgB;IAC3B,gBAAgB,EAAE,uBAAuB;IACzC,oBAAoB,EAAE,2BAA2B;CAClD,CAAC;AAEF,SAAS,iBAAiB,CACxB,KAAmB,EACnB,MAAsB;IAEtB,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,2DAA2D;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qCAAqC;SACpE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAuB;IAEvB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC3D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB;IAClD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EACH,QAAQ,KAAK,OAAO;YAClB,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,+FAA+F;KACtG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,GAAW,EACX,YAA0B,EAC1B,eAAuB;IAEvB,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACnE,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE;QACrD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,OAAmC,CAAC;QAExC,MAAM,MAAM,GAAG,CAAC,MAA8B,EAAE,EAAE;YAChD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE;YACH,IAAI,eAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,CAAC;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,eAAe;oBACpB,CAAC,CAAC,4BAA4B,eAAe,8BAA8B,eAAe,EAAE;oBAC5F,CAAC,CAAC,4BAA4B,eAAe,IAAI;aACpD,CAAC,CAAC;QACL,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAC7B,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;YACzC,MAAM,CAAC;gBACL,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,UAAU;gBAClB,KAAK,EACH,IAAI,KAAK,CAAC;oBACR,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,6BAA6B,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;aAC5F,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QACnE,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type ProcessRecord } from "@nerve/shared";
2
- import { type InitializedStorage } from "../../infrastructure/storage/index.js";
3
- export declare class ProcessRepository {
4
- private readonly storage;
5
- constructor(storage: InitializedStorage);
6
- hydrate(): Promise<ProcessRecord[]>;
7
- write(record: ProcessRecord): Promise<void>;
8
- remove(processId: string): Promise<void>;
9
- processDir(processId: string): string;
10
- }
11
- //# sourceMappingURL=process.repository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.repository.d.ts","sourceRoot":"","sources":["../../../src/domains/processes/process.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AACxE,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,uCAAuC,CAAC;AAE/C,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,kBAAkB;IAElD,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAenC,KAAK,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGtC"}
@@ -1,31 +0,0 @@
1
- import { rm } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { processRecordSchema } from "@nerve/shared";
4
- import { atomicWriteJson, listChildDirs, readJsonFile, } from "../../infrastructure/storage/index.js";
5
- export class ProcessRepository {
6
- storage;
7
- constructor(storage) {
8
- this.storage = storage;
9
- }
10
- async hydrate() {
11
- const records = [];
12
- const root = join(this.storage.paths.home, "proc");
13
- for (const processId of await listChildDirs(root)) {
14
- const parsed = processRecordSchema.safeParse(await readJsonFile(join(root, processId, "process.json")).catch(() => undefined));
15
- if (!parsed.success)
16
- continue;
17
- records.push(parsed.data);
18
- }
19
- return records;
20
- }
21
- async write(record) {
22
- await atomicWriteJson(join(this.processDir(record.id), "process.json"), record, 0o600);
23
- }
24
- async remove(processId) {
25
- await rm(this.processDir(processId), { recursive: true, force: true });
26
- }
27
- processDir(processId) {
28
- return join(this.storage.paths.home, "proc", processId);
29
- }
30
- }
31
- //# sourceMappingURL=process.repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process.repository.js","sourceRoot":"","sources":["../../../src/domains/processes/process.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAsB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,eAAe,EAEf,aAAa,EACb,YAAY,GACb,MAAM,uCAAuC,CAAC;AAE/C,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE5D,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAC1C,MAAM,YAAY,CAChB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CACtC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CACzB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAqB;QAC/B,MAAM,eAAe,CACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAChD,MAAM,EACN,KAAK,CACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -1,31 +0,0 @@
1
- import type { AgentRecord, ConversationEntry } from "@nerve/shared";
2
- import type { EventBus } from "../../infrastructure/events/index.js";
3
- import type { ApplicationLogger } from "../../logging.js";
4
- import type { AppendEntryInput } from "../../registry/types.js";
5
- import type { AgentRunStateMap } from "../agents/run/run-state.js";
6
- import type { HarnessManager } from "../conversations/harness-manager.js";
7
- import type { TaskManager } from "./task-manager.js";
8
- export interface TaskCompletionServiceDeps {
9
- tasks: TaskManager;
10
- events: EventBus;
11
- dataDir: string;
12
- runs: AgentRunStateMap;
13
- appendEntry(input: AppendEntryInput, options?: {
14
- mirrorToHarness?: boolean;
15
- }): Promise<ConversationEntry>;
16
- harnessManager: HarnessManager;
17
- getAgent(agentId: string): AgentRecord;
18
- logger?: ApplicationLogger;
19
- }
20
- export declare class TaskCompletionService {
21
- private readonly deps;
22
- private unsubscribe?;
23
- private readonly injecting;
24
- constructor(deps: TaskCompletionServiceDeps);
25
- start(): void;
26
- stop(): void;
27
- private handleEvent;
28
- private injectCompletion;
29
- private buildCompletionText;
30
- }
31
- //# sourceMappingURL=task-completion.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-completion.service.d.ts","sourceRoot":"","sources":["../../../src/domains/tasks/task-completion.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,CACT,KAAK,EAAE,gBAAgB,EACvB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAUD,qBAAa,qBAAqB;IAIpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAElB,IAAI,EAAE,yBAAyB;IAE5D,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;YAKE,WAAW;YAgBX,gBAAgB;YAwEhB,mBAAmB;CAuClC"}
@@ -1,147 +0,0 @@
1
- import { createId } from "@nerve/shared";
2
- import { buildProcessTextResult } from "@nerve/tools";
3
- const TERMINAL_TASK_EVENTS = new Set([
4
- "task.completed",
5
- "task.failed",
6
- "task.timed_out",
7
- "task.cancelled",
8
- "task.orphaned",
9
- ]);
10
- export class TaskCompletionService {
11
- deps;
12
- unsubscribe;
13
- injecting = new Set();
14
- constructor(deps) {
15
- this.deps = deps;
16
- }
17
- start() {
18
- this.unsubscribe ??= this.deps.events.subscribe((event) => {
19
- void this.handleEvent(event);
20
- });
21
- }
22
- stop() {
23
- this.unsubscribe?.();
24
- this.unsubscribe = undefined;
25
- }
26
- async handleEvent(event) {
27
- if (!TERMINAL_TASK_EVENTS.has(event.type))
28
- return;
29
- const data = event.data;
30
- const task = data?.task;
31
- if (!task)
32
- return;
33
- await this.injectCompletion(task).catch((error) => this.deps.logger?.warn("Task completion injection failed", {
34
- taskId: task.id,
35
- projectId: task.projectId,
36
- conversationId: task.conversationId,
37
- agentId: task.agentId,
38
- error,
39
- }));
40
- }
41
- async injectCompletion(task) {
42
- if (task.completion?.inject !== true)
43
- return;
44
- if (task.completion.entryId)
45
- return;
46
- if (!task.agentId || !task.conversationId)
47
- return;
48
- if (this.injecting.has(task.id))
49
- return;
50
- this.injecting.add(task.id);
51
- try {
52
- const latest = this.deps.tasks.getTask(task.id);
53
- if (latest.completion?.entryId)
54
- return;
55
- const timestamp = new Date().toISOString();
56
- const entryId = createId("entry");
57
- const text = await this.buildCompletionText(latest);
58
- const message = {
59
- role: "custom",
60
- customType: "task_completion",
61
- content: text,
62
- display: true,
63
- details: {
64
- taskId: task.id,
65
- status: task.status,
66
- command: task.command,
67
- },
68
- timestamp: Date.parse(timestamp),
69
- };
70
- const activeRun = this.deps.runs.get(task.agentId);
71
- if (activeRun?.appendExternalMessage) {
72
- await activeRun.appendExternalMessage({
73
- id: entryId,
74
- message,
75
- timestamp,
76
- });
77
- }
78
- else {
79
- await this.deps.harnessManager.appendAgentMessageWithId(this.deps.getAgent(task.agentId), entryId, message, timestamp);
80
- }
81
- const entry = await this.deps.appendEntry({
82
- id: entryId,
83
- conversationId: task.conversationId,
84
- agentId: task.agentId,
85
- runId: task.origin.kind === "agent_tool" ? task.origin.runId : undefined,
86
- role: "system",
87
- kind: "message",
88
- text,
89
- details: {
90
- type: "task_completion",
91
- taskId: task.id,
92
- status: task.status,
93
- command: task.command,
94
- task,
95
- },
96
- createdAt: timestamp,
97
- }, { mirrorToHarness: false });
98
- await this.deps.tasks.markCompletionInjected(task.id, entryId, timestamp);
99
- await this.deps.events.publish("conversation.entry.appended", {
100
- conversationId: task.conversationId,
101
- agentId: task.agentId,
102
- runId: entry.runId,
103
- entry,
104
- });
105
- }
106
- finally {
107
- this.injecting.delete(task.id);
108
- }
109
- }
110
- async buildCompletionText(task) {
111
- const lineLimit = task.completion?.outputTailLineCount ?? 80;
112
- const logs = await this.deps.tasks.queryLogs(task.id, {
113
- mode: "recent",
114
- limit: lineLimit,
115
- });
116
- const lines = [
117
- `Background task ${task.id} finished.`,
118
- `Command: ${task.command}`,
119
- `Status: ${task.status}`,
120
- ];
121
- if (task.exitCode !== undefined)
122
- lines.push(`Exit code: ${task.exitCode}`);
123
- if (task.signal)
124
- lines.push(`Signal: ${task.signal}`);
125
- if (task.error)
126
- lines.push(`Error: ${task.error}`);
127
- if (task.readiness.outcome !== "none") {
128
- lines.push(`Readiness: ${task.readiness.outcome}${task.readiness.matched ? ` (${task.readiness.matched})` : ""}`);
129
- }
130
- if (logs.events.length > 0) {
131
- lines.push("", "Recent output:");
132
- lines.push(...logs.events.map((event) => `[${event.seq} ${event.stream} ${event.level}] ${event.line}`));
133
- }
134
- else {
135
- lines.push("", "Recent output: (no captured log lines)");
136
- }
137
- lines.push("", `Use task_logs with taskId "${task.id}" for full logs.`);
138
- const bounded = await buildProcessTextResult({
139
- text: lines.join("\n"),
140
- outputFilePrefix: "nerve-task-completion",
141
- exitMessagePrefix: "Task completion",
142
- dataDir: this.deps.dataDir,
143
- });
144
- return bounded.content ?? lines.join("\n");
145
- }
146
- }
147
- //# sourceMappingURL=task-completion.service.js.map