@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,409 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { createId } from "@nerve/shared";
3
- import { allToolDescriptors, toolRiskForName } from "@nerve/tools";
4
- import { ApprovalRepository, evaluateToolPolicy, TodoStateService, ToolCallRepository, UserQuestionRepository, } from "./domains/tools/index.js";
5
- import { InteractionSessionService } from "./domains/tools/interaction-session.service.js";
6
- import { OrchestrationToolDispatcher } from "./domains/tools/orchestration-tool-dispatcher.js";
7
- import { ToolExecutorService } from "./domains/tools/tool-executor.service.js";
8
- export class ToolService {
9
- storage;
10
- events;
11
- processes;
12
- startProcess;
13
- getAgent;
14
- runSubagent;
15
- getApiKey;
16
- plans;
17
- setAgentMode;
18
- conversationRuntime;
19
- logger;
20
- toolCalls;
21
- approvals;
22
- userQuestions;
23
- toolCallRepository;
24
- approvalRepository;
25
- userQuestionRepository;
26
- todoState = new TodoStateService();
27
- interactionSessions;
28
- dispatcher;
29
- executor;
30
- waiters = new Map();
31
- constructor(storage, events, index, processes, startProcess, getAgent, runSubagent, getApiKey, plans, setAgentMode, conversationRuntime, logger) {
32
- this.storage = storage;
33
- this.events = events;
34
- this.processes = processes;
35
- this.startProcess = startProcess;
36
- this.getAgent = getAgent;
37
- this.runSubagent = runSubagent;
38
- this.getApiKey = getApiKey;
39
- this.plans = plans;
40
- this.setAgentMode = setAgentMode;
41
- this.conversationRuntime = conversationRuntime;
42
- this.logger = logger;
43
- this.toolCallRepository = new ToolCallRepository(storage, index);
44
- this.approvalRepository = new ApprovalRepository(storage, index);
45
- this.userQuestionRepository = new UserQuestionRepository(storage, index);
46
- this.toolCalls = this.toolCallRepository.records;
47
- this.approvals = this.approvalRepository.records;
48
- this.userQuestions = this.userQuestionRepository.records;
49
- this.interactionSessions = new InteractionSessionService({
50
- userQuestionRepository: this.userQuestionRepository,
51
- events: this.events,
52
- updateToolCall: (id, patch) => this.updateToolCall(id, patch),
53
- publishToolCallUpdated: (toolCall) => this.publishToolCallUpdated(toolCall),
54
- });
55
- this.dispatcher = new OrchestrationToolDispatcher({
56
- storage: this.storage,
57
- events: this.events,
58
- processes: this.processes,
59
- startProcess: this.startProcess,
60
- getAgent: this.getAgent,
61
- runSubagent: this.runSubagent,
62
- getApiKey: this.getApiKey,
63
- plans: this.plans,
64
- setAgentMode: this.setAgentMode,
65
- conversationRuntime: this.conversationRuntime,
66
- todoState: this.todoState,
67
- interactionSessions: this.interactionSessions,
68
- updateToolCall: (id, patch) => this.updateToolCall(id, patch),
69
- publishToolCallUpdated: (toolCall) => this.publishToolCallUpdated(toolCall),
70
- });
71
- this.executor = new ToolExecutorService({
72
- getToolCall: (id) => this.getToolCall(id),
73
- updateToolCall: (id, patch) => this.updateToolCall(id, patch),
74
- publishToolCallUpdated: (toolCall) => this.publishToolCallUpdated(toolCall),
75
- dispatcher: this.dispatcher,
76
- logger: this.logger,
77
- });
78
- }
79
- async hydrate() {
80
- const toolCalls = await this.toolCallRepository.hydrate();
81
- this.todoState.hydrateFromToolCalls(toolCalls);
82
- await this.approvalRepository.hydrate();
83
- await this.userQuestionRepository.hydrate();
84
- }
85
- listTools() {
86
- return allToolDescriptors;
87
- }
88
- listToolCalls() {
89
- return this.toolCallRepository.list();
90
- }
91
- listApprovals(status) {
92
- return this.approvalRepository.list(status);
93
- }
94
- listUserQuestions(status) {
95
- return this.userQuestionRepository.list(status);
96
- }
97
- async removeRecordsForConversations(conversationIds, agentIds = []) {
98
- const conversations = new Set(conversationIds);
99
- if (conversations.size === 0)
100
- return;
101
- const agents = new Set(agentIds);
102
- for (const toolCall of this.toolCalls.values()) {
103
- if (conversations.has(toolCall.conversationId))
104
- agents.add(toolCall.agentId);
105
- }
106
- await Promise.all([
107
- this.toolCallRepository.removeForConversations(conversations),
108
- this.approvalRepository.removeForConversations(conversations),
109
- this.userQuestionRepository.removeForConversations(conversations),
110
- ]);
111
- for (const agentId of agents)
112
- this.todoState.delete(agentId);
113
- }
114
- async requestTool(agent, toolName, args, options = {}) {
115
- const now = new Date().toISOString();
116
- const latestAgent = this.getAgent(agent.id);
117
- const evaluation = evaluateToolPolicy(latestAgent, toolName, args, {
118
- dataDir: this.storage.paths.home,
119
- });
120
- const providerToolCallId = options.providerToolCallId ?? options.sourceToolCallId;
121
- const anchor = options.anchor;
122
- const toolCall = {
123
- id: createId("tool"),
124
- agentId: latestAgent.id,
125
- conversationId: latestAgent.conversationId,
126
- projectId: latestAgent.projectId,
127
- toolName,
128
- sourceToolCallId: providerToolCallId,
129
- providerToolCallId,
130
- runId: options.runId ?? anchor?.runId,
131
- turnId: options.turnId ?? anchor?.turnId,
132
- liveMessageId: options.liveMessageId ?? anchor?.liveMessageId,
133
- contentIndex: options.contentIndex ?? anchor?.contentIndex,
134
- risk: evaluation.risk,
135
- args: evaluation.normalizedArgs,
136
- cwd: evaluation.cwd,
137
- status: "requested",
138
- createdAt: now,
139
- updatedAt: now,
140
- };
141
- await this.upsertToolCall(toolCall);
142
- await this.publishToolCallUpdated(toolCall);
143
- await this.events.publish("policy.evaluated", {
144
- toolCallId: toolCall.id,
145
- agentId: agent.id,
146
- conversationId: agent.conversationId,
147
- projectId: agent.projectId,
148
- toolName,
149
- risk: evaluation.risk,
150
- decision: evaluation.decision,
151
- reason: evaluation.reason,
152
- });
153
- await this.logger?.info("Tool policy evaluated", {
154
- toolCallId: toolCall.id,
155
- agentId: agent.id,
156
- conversationId: agent.conversationId,
157
- projectId: agent.projectId,
158
- runId: toolCall.runId,
159
- context: {
160
- toolName,
161
- risk: evaluation.risk,
162
- decision: evaluation.decision,
163
- reason: evaluation.reason,
164
- },
165
- });
166
- if (evaluation.decision === "deny") {
167
- const denied = await this.updateToolCall(toolCall.id, {
168
- status: "denied",
169
- error: evaluation.reason,
170
- });
171
- await this.publishToolCallUpdated(denied);
172
- await this.logger?.warn("Tool denied by policy", {
173
- toolCallId: denied.id,
174
- agentId: denied.agentId,
175
- conversationId: denied.conversationId,
176
- projectId: denied.projectId,
177
- runId: denied.runId,
178
- context: { toolName: denied.toolName, reason: evaluation.reason },
179
- });
180
- return { toolCall: denied };
181
- }
182
- if (evaluation.decision === "approval") {
183
- const approval = {
184
- id: createId("approval"),
185
- toolCallId: toolCall.id,
186
- agentId: agent.id,
187
- conversationId: agent.conversationId,
188
- projectId: agent.projectId,
189
- risk: evaluation.risk,
190
- reason: evaluation.reason,
191
- status: "pending",
192
- requestedAt: new Date().toISOString(),
193
- };
194
- await this.upsertApproval(approval);
195
- const pending = await this.updateToolCall(toolCall.id, {
196
- status: "pending_approval",
197
- approvalId: approval.id,
198
- });
199
- await this.publishToolCallUpdated(pending);
200
- await this.events.publish("approval.requested", {
201
- approval,
202
- toolCall: pending,
203
- });
204
- await this.logger?.info("Tool approval requested", {
205
- toolCallId: pending.id,
206
- agentId: pending.agentId,
207
- conversationId: pending.conversationId,
208
- projectId: pending.projectId,
209
- runId: pending.runId,
210
- context: { toolName: pending.toolName, risk: pending.risk },
211
- });
212
- return { toolCall: pending, approval };
213
- }
214
- return {
215
- toolCall: await this.executor.executeAllowedTool(toolCall.id, options),
216
- };
217
- }
218
- async requestToolAndWait(agent, toolName, args, options = {}) {
219
- const response = await this.requestTool(agent, toolName, args, options);
220
- if (isTerminalToolCall(response.toolCall))
221
- return response.toolCall;
222
- if (response.toolCall.status !== "pending_approval")
223
- return response.toolCall;
224
- if (options.signal?.aborted)
225
- throw new Error("Tool execution aborted.");
226
- return new Promise((resolve, reject) => {
227
- const toolCallId = response.toolCall.id;
228
- const settle = (toolCall) => {
229
- cleanup();
230
- resolve(toolCall);
231
- };
232
- const onAbort = () => {
233
- cleanup();
234
- reject(new Error("Tool execution aborted."));
235
- };
236
- const cleanup = () => {
237
- const waiters = this.waiters.get(toolCallId);
238
- waiters?.delete(settle);
239
- if (waiters && waiters.size === 0)
240
- this.waiters.delete(toolCallId);
241
- options.signal?.removeEventListener("abort", onAbort);
242
- };
243
- const current = this.getToolCall(toolCallId);
244
- if (isTerminalToolCall(current)) {
245
- resolve(current);
246
- return;
247
- }
248
- let waiters = this.waiters.get(toolCallId);
249
- if (!waiters) {
250
- waiters = new Set();
251
- this.waiters.set(toolCallId, waiters);
252
- }
253
- waiters.add(settle);
254
- options.signal?.addEventListener("abort", onAbort, { once: true });
255
- });
256
- }
257
- findToolCallByProviderToolCallId(providerToolCallId) {
258
- if (!providerToolCallId)
259
- return undefined;
260
- return this.toolCallRepository.findByProviderToolCallId(providerToolCallId);
261
- }
262
- async recordProviderToolCallError(agent, toolName, args, errorMessage, options = {}) {
263
- const providerToolCallId = options.providerToolCallId ?? options.sourceToolCallId;
264
- const existing = this.findToolCallByProviderToolCallId(providerToolCallId);
265
- if (existing)
266
- return existing;
267
- const now = new Date().toISOString();
268
- const latestAgent = this.getAgent(agent.id);
269
- const anchor = options.anchor;
270
- const cwd = typeof args.cwd === "string" && args.cwd.trim().length > 0
271
- ? resolve(latestAgent.projectDir, args.cwd)
272
- : resolve(latestAgent.projectDir);
273
- const toolCall = {
274
- id: createId("tool"),
275
- agentId: latestAgent.id,
276
- conversationId: latestAgent.conversationId,
277
- projectId: latestAgent.projectId,
278
- toolName,
279
- sourceToolCallId: providerToolCallId,
280
- providerToolCallId,
281
- runId: options.runId ?? anchor?.runId,
282
- turnId: options.turnId ?? anchor?.turnId,
283
- liveMessageId: options.liveMessageId ?? anchor?.liveMessageId,
284
- contentIndex: options.contentIndex ?? anchor?.contentIndex,
285
- risk: toolRiskForName(toolName),
286
- args,
287
- cwd,
288
- status: "error",
289
- error: errorMessage,
290
- result: {
291
- content: errorMessage,
292
- contentBlocks: [{ type: "text", text: errorMessage }],
293
- },
294
- createdAt: now,
295
- updatedAt: now,
296
- };
297
- await this.upsertToolCall(toolCall);
298
- await this.publishToolCallUpdated(toolCall);
299
- await this.logger?.warn("Tool call failed before execution", {
300
- toolCallId: toolCall.id,
301
- agentId: toolCall.agentId,
302
- conversationId: toolCall.conversationId,
303
- projectId: toolCall.projectId,
304
- runId: toolCall.runId,
305
- context: { toolName, providerToolCallId },
306
- });
307
- return toolCall;
308
- }
309
- async grantApproval(approvalId, note) {
310
- const approval = this.getPendingApproval(approvalId);
311
- const granted = {
312
- ...approval,
313
- status: "granted",
314
- resolvedAt: new Date().toISOString(),
315
- };
316
- await this.upsertApproval(granted);
317
- await this.events.publish("approval.granted", { approval: granted, note });
318
- const toolCall = this.getToolCall(granted.toolCallId);
319
- return this.executor.executeAllowedTool(toolCall.id);
320
- }
321
- async denyApproval(approvalId, note) {
322
- const approval = this.getPendingApproval(approvalId);
323
- const deniedApproval = {
324
- ...approval,
325
- status: "denied",
326
- resolvedAt: new Date().toISOString(),
327
- };
328
- await this.upsertApproval(deniedApproval);
329
- const deniedToolCall = await this.updateToolCall(approval.toolCallId, {
330
- status: "denied",
331
- error: note ?? "Denied by user.",
332
- });
333
- await this.events.publish("approval.denied", {
334
- approval: deniedApproval,
335
- note,
336
- });
337
- await this.publishToolCallUpdated(deniedToolCall);
338
- return deniedToolCall;
339
- }
340
- async answerUserQuestion(questionId, answer) {
341
- return this.interactionSessions.answerUserQuestion(questionId, answer);
342
- }
343
- async dismissUserQuestion(questionId, reason) {
344
- return this.interactionSessions.dismissUserQuestion(questionId, reason);
345
- }
346
- userQuestionResult(question) {
347
- return this.interactionSessions.userQuestionResult(question);
348
- }
349
- async completeToolCall(toolCallId, result) {
350
- const completed = await this.updateToolCall(toolCallId, {
351
- status: "completed",
352
- result,
353
- error: undefined,
354
- });
355
- await this.publishToolCallUpdated(completed);
356
- return completed;
357
- }
358
- getToolCall(toolCallId) {
359
- return this.toolCallRepository.get(toolCallId);
360
- }
361
- getPendingApproval(approvalId) {
362
- return this.approvalRepository.getPending(approvalId);
363
- }
364
- async updateToolCall(toolCallId, patch) {
365
- const current = this.getToolCall(toolCallId);
366
- const updated = {
367
- ...current,
368
- ...patch,
369
- updatedAt: new Date().toISOString(),
370
- };
371
- await this.upsertToolCall(updated);
372
- if (isTerminalToolCall(updated))
373
- this.notifyWaiters(updated);
374
- return updated;
375
- }
376
- async publishToolCallUpdated(toolCall) {
377
- await this.events.publish("conversation.tool_call.updated", {
378
- conversationId: toolCall.conversationId,
379
- agentId: toolCall.agentId,
380
- projectId: toolCall.projectId,
381
- runId: toolCall.runId,
382
- turnId: toolCall.turnId,
383
- liveMessageId: toolCall.liveMessageId,
384
- contentIndex: toolCall.contentIndex,
385
- providerToolCallId: toolCall.providerToolCallId ?? toolCall.sourceToolCallId,
386
- toolCall,
387
- });
388
- }
389
- async upsertToolCall(toolCall) {
390
- await this.toolCallRepository.upsert(toolCall);
391
- }
392
- notifyWaiters(toolCall) {
393
- const waiters = this.waiters.get(toolCall.id);
394
- if (!waiters)
395
- return;
396
- this.waiters.delete(toolCall.id);
397
- for (const waiter of waiters)
398
- waiter(toolCall);
399
- }
400
- async upsertApproval(approval) {
401
- await this.approvalRepository.upsert(approval);
402
- }
403
- }
404
- function isTerminalToolCall(toolCall) {
405
- return (toolCall.status === "completed" ||
406
- toolCall.status === "denied" ||
407
- toolCall.status === "error");
408
- }
409
- //# sourceMappingURL=tool-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-service.js","sourceRoot":"","sources":["../src/tool-service.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { AudioTranscriptionResponse } from "@nerve/shared";
2
- import type { AuthManager } from "./auth.js";
3
- export type NormalizedAudioMime = {
4
- mimeType: string;
5
- extension: string;
6
- };
7
- export type AudioTranscriptionInput = {
8
- data: Uint8Array;
9
- mimeType: string;
10
- durationMs?: number;
11
- };
12
- export declare function normalizeAudioMimeType(mimeType: string | undefined): NormalizedAudioMime | undefined;
13
- export declare function chatGptAccountIdFromAccessToken(accessToken: string): string | undefined;
14
- export declare function transcribeAudioWithChatGptSubscription(auth: AuthManager, input: AudioTranscriptionInput): Promise<AudioTranscriptionResponse>;
15
- //# sourceMappingURL=transcription-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcription-service.d.ts","sourceRoot":"","sources":["../src/transcription-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAKhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAU7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,mBAAmB,GAAG,SAAS,CA6BjC;AAED,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAapB;AAMD,wBAAsB,sCAAsC,CAC1D,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,0BAA0B,CAAC,CAyHrC"}
@@ -1,128 +0,0 @@
1
- import { randomUUID } from "node:crypto";
2
- import { AUDIO_TRANSCRIPTION_MAX_DURATION_MS, audioTranscriptionResponseSchema, } from "@nerve/shared";
3
- import { HttpError } from "./http/errors.js";
4
- const CHATGPT_TRANSCRIBE_URL = "https://chatgpt.com/backend-api/transcribe";
5
- const OPENAI_CODEX_PROVIDER = "openai-codex";
6
- const DEFAULT_TRANSCRIBE_MODEL = "gpt-4o-transcribe";
7
- const MAX_AUDIO_BYTES = 25 * 1024 * 1024;
8
- const USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36";
9
- export function normalizeAudioMimeType(mimeType) {
10
- const normalized = (mimeType ?? "").split(";")[0]?.trim().toLowerCase();
11
- switch (normalized) {
12
- case "audio/webm":
13
- return { mimeType: "audio/webm", extension: "webm" };
14
- case "audio/mp4":
15
- case "audio/m4a":
16
- case "audio/x-m4a":
17
- return { mimeType: "audio/mp4", extension: "mp4" };
18
- case "audio/wav":
19
- case "audio/wave":
20
- case "audio/x-wav":
21
- return { mimeType: "audio/wav", extension: "wav" };
22
- case "audio/mpeg":
23
- case "audio/x-mpeg":
24
- return { mimeType: "audio/mpeg", extension: "mp3" };
25
- case "audio/mp3":
26
- return { mimeType: "audio/mp3", extension: "mp3" };
27
- case "audio/mpga":
28
- return { mimeType: "audio/mpga", extension: "mpga" };
29
- case "audio/ogg":
30
- case "audio/oga":
31
- return { mimeType: "audio/ogg", extension: "ogg" };
32
- case "audio/flac":
33
- case "audio/x-flac":
34
- return { mimeType: "audio/flac", extension: "flac" };
35
- default:
36
- return undefined;
37
- }
38
- }
39
- export function chatGptAccountIdFromAccessToken(accessToken) {
40
- const payload = accessToken.split(".")[1];
41
- if (!payload)
42
- return undefined;
43
- try {
44
- const json = Buffer.from(payload, "base64url").toString("utf8");
45
- const claims = JSON.parse(json);
46
- const accountId = claims["https://api.openai.com/auth"]?.chatgpt_account_id;
47
- return typeof accountId === "string" && accountId ? accountId : undefined;
48
- }
49
- catch {
50
- return undefined;
51
- }
52
- }
53
- function estimateDurationMs(sizeBytes) {
54
- return Math.max(1, Math.round((sizeBytes * 1000) / 50_000));
55
- }
56
- export async function transcribeAudioWithChatGptSubscription(auth, input) {
57
- if (input.data.byteLength === 0) {
58
- throw new HttpError(400, "EMPTY_AUDIO", "Audio upload is empty.");
59
- }
60
- if (input.data.byteLength > MAX_AUDIO_BYTES) {
61
- throw new HttpError(413, "AUDIO_TOO_LARGE", "Audio upload is larger than the 25 MB transcription limit.");
62
- }
63
- const normalized = normalizeAudioMimeType(input.mimeType);
64
- if (!normalized) {
65
- throw new HttpError(400, "UNSUPPORTED_AUDIO_TYPE", `Unsupported audio MIME type: ${input.mimeType || "unknown"}.`);
66
- }
67
- const credential = await auth.getCredential(OPENAI_CODEX_PROVIDER);
68
- if (credential?.type !== "oauth") {
69
- throw new HttpError(401, "CHATGPT_SUBSCRIPTION_AUTH_REQUIRED", "ChatGPT subscription auth is not configured. Configure the OpenAI Codex OAuth provider first.");
70
- }
71
- const accessToken = await auth.getApiKey(OPENAI_CODEX_PROVIDER);
72
- if (!accessToken) {
73
- throw new HttpError(401, "CHATGPT_SUBSCRIPTION_AUTH_REQUIRED", "ChatGPT subscription auth is not configured. Configure the OpenAI Codex OAuth provider first.");
74
- }
75
- const accountId = chatGptAccountIdFromAccessToken(accessToken);
76
- if (!accountId) {
77
- throw new HttpError(401, "CHATGPT_ACCOUNT_ID_MISSING", "Could not determine the ChatGPT account id from the stored OAuth access token. Reconnect OpenAI Codex auth.");
78
- }
79
- const durationMs = input.durationMs ?? estimateDurationMs(input.data.byteLength);
80
- if (durationMs > AUDIO_TRANSCRIPTION_MAX_DURATION_MS) {
81
- throw new HttpError(413, "AUDIO_DURATION_TOO_LONG", "Audio recordings are limited to 8 minutes.");
82
- }
83
- const audioBuffer = new ArrayBuffer(input.data.byteLength);
84
- new Uint8Array(audioBuffer).set(input.data);
85
- const file = new Blob([audioBuffer], { type: normalized.mimeType });
86
- const form = new FormData();
87
- form.append("file", file, `whisper.${normalized.extension}`);
88
- form.append("duration_ms", String(Math.max(1, Math.round(durationMs))));
89
- form.append("model", DEFAULT_TRANSCRIBE_MODEL);
90
- const response = await fetch(CHATGPT_TRANSCRIBE_URL, {
91
- method: "POST",
92
- headers: {
93
- Authorization: `Bearer ${accessToken}`,
94
- "User-Agent": USER_AGENT,
95
- Accept: "*/*",
96
- "Accept-Language": "en-US,en;q=0.9",
97
- Origin: "https://chatgpt.com",
98
- Referer: "https://chatgpt.com/",
99
- "oai-language": "en-US",
100
- "oai-device-id": randomUUID(),
101
- "chatgpt-account-id": accountId,
102
- "sec-ch-ua": '"Chromium";v="131", "Not(A:Brand";v="24"',
103
- "sec-ch-ua-mobile": "?0",
104
- "sec-ch-ua-platform": '"Linux"',
105
- "sec-fetch-dest": "empty",
106
- "sec-fetch-mode": "cors",
107
- "sec-fetch-site": "same-origin",
108
- },
109
- body: form,
110
- });
111
- if (response.status === 401) {
112
- throw new HttpError(401, "CHATGPT_SUBSCRIPTION_AUTH_REJECTED", "ChatGPT rejected the stored OAuth token. Reconnect OpenAI Codex auth.");
113
- }
114
- if (response.status === 429) {
115
- throw new HttpError(429, "TRANSCRIPTION_RATE_LIMITED", "ChatGPT transcription is rate limited. Try again shortly.");
116
- }
117
- if (!response.ok) {
118
- const body = await response.text().catch(() => "");
119
- throw new HttpError(response.status, "TRANSCRIPTION_FAILED", `ChatGPT transcription failed (${response.status}): ${body || response.statusText}`);
120
- }
121
- const parsed = audioTranscriptionResponseSchema.parse(await response.json());
122
- const text = parsed.text.trim();
123
- if (!text) {
124
- throw new HttpError(502, "EMPTY_TRANSCRIPTION", "ChatGPT returned an empty transcription.");
125
- }
126
- return { text };
127
- }
128
- //# sourceMappingURL=transcription-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcription-service.js","sourceRoot":"","sources":["../src/transcription-service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { SubscriptionUsage } from "@nerve/shared";
2
- export declare function parseAnthropicUsageResponse(raw: string): SubscriptionUsage | null;
3
- /**
4
- * Fetch Anthropic subscription usage (5h session + 7d weekly) using an OAuth
5
- * bearer token. Memoized for {@link CACHE_MAX_AGE_MS} with rate-limit backoff;
6
- * the last good snapshot is served on transient failures.
7
- */
8
- export declare function fetchAnthropicUsage(token: string, cacheDir: string): Promise<SubscriptionUsage | null>;
9
- //# sourceMappingURL=anthropic-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anthropic-client.d.ts","sourceRoot":"","sources":["../../src/usage/anthropic-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,eAAe,CAAC;AA4H3E,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GACV,iBAAiB,GAAG,IAAI,CAqB1B;AAqCD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAiEnC"}