@getpaseo/server 0.1.35 → 0.1.38

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 (363) hide show
  1. package/dist/scripts/dev-runner.js +1 -1
  2. package/dist/scripts/dev-runner.js.map +1 -1
  3. package/dist/scripts/{daemon-runner.js → supervisor-entrypoint.js} +38 -10
  4. package/dist/scripts/supervisor-entrypoint.js.map +1 -0
  5. package/dist/scripts/supervisor.js +33 -7
  6. package/dist/scripts/supervisor.js.map +1 -1
  7. package/dist/server/client/daemon-client.d.ts +175 -0
  8. package/dist/server/client/daemon-client.d.ts.map +1 -1
  9. package/dist/server/client/daemon-client.js +235 -0
  10. package/dist/server/client/daemon-client.js.map +1 -1
  11. package/dist/server/server/agent/agent-manager.d.ts +13 -0
  12. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  13. package/dist/server/server/agent/agent-manager.js +53 -0
  14. package/dist/server/server/agent/agent-manager.js.map +1 -1
  15. package/dist/server/server/agent/agent-storage.d.ts +10 -10
  16. package/dist/server/server/agent/agent-storage.js +9 -4
  17. package/dist/server/server/agent/agent-storage.js.map +1 -1
  18. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  19. package/dist/server/server/agent/provider-launch-config.js +38 -1
  20. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  21. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  22. package/dist/server/server/agent/providers/claude-agent.js +24 -5
  23. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  24. package/dist/server/server/agent-attention-policy.d.ts +1 -1
  25. package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
  26. package/dist/server/server/bootstrap.d.ts +0 -4
  27. package/dist/server/server/bootstrap.d.ts.map +1 -1
  28. package/dist/server/server/bootstrap.js +65 -40
  29. package/dist/server/server/bootstrap.js.map +1 -1
  30. package/dist/server/server/chat/chat-mentions.d.ts +31 -0
  31. package/dist/server/server/chat/chat-mentions.d.ts.map +1 -0
  32. package/dist/server/server/chat/chat-mentions.js +71 -0
  33. package/dist/server/server/chat/chat-mentions.js.map +1 -0
  34. package/dist/server/server/chat/chat-rpc-schemas.d.ts +728 -0
  35. package/dist/server/server/chat/chat-rpc-schemas.d.ts.map +1 -0
  36. package/dist/server/server/chat/chat-rpc-schemas.js +103 -0
  37. package/dist/server/server/chat/chat-rpc-schemas.js.map +1 -0
  38. package/dist/server/server/chat/chat-service.d.ts +74 -0
  39. package/dist/server/server/chat/chat-service.d.ts.map +1 -0
  40. package/dist/server/server/chat/chat-service.js +330 -0
  41. package/dist/server/server/chat/chat-service.js.map +1 -0
  42. package/dist/server/server/chat/chat-types.d.ts +75 -0
  43. package/dist/server/server/chat/chat-types.d.ts.map +1 -0
  44. package/dist/server/server/chat/chat-types.js +22 -0
  45. package/dist/server/server/chat/chat-types.js.map +1 -0
  46. package/dist/server/server/checkout-diff-manager.d.ts +41 -0
  47. package/dist/server/server/checkout-diff-manager.d.ts.map +1 -0
  48. package/dist/server/server/checkout-diff-manager.js +272 -0
  49. package/dist/server/server/checkout-diff-manager.js.map +1 -0
  50. package/dist/server/server/checkout-git-utils.d.ts +9 -0
  51. package/dist/server/server/checkout-git-utils.d.ts.map +1 -0
  52. package/dist/server/server/checkout-git-utils.js +37 -0
  53. package/dist/server/server/checkout-git-utils.js.map +1 -0
  54. package/dist/server/server/index.js +0 -4
  55. package/dist/server/server/index.js.map +1 -1
  56. package/dist/server/server/loop/rpc-schemas.d.ts +2937 -0
  57. package/dist/server/server/loop/rpc-schemas.d.ts.map +1 -0
  58. package/dist/server/server/loop/rpc-schemas.js +159 -0
  59. package/dist/server/server/loop/rpc-schemas.js.map +1 -0
  60. package/dist/server/server/loop-service.d.ts +520 -0
  61. package/dist/server/server/loop-service.d.ts.map +1 -0
  62. package/dist/server/server/loop-service.js +741 -0
  63. package/dist/server/server/loop-service.js.map +1 -0
  64. package/dist/server/server/persisted-config.d.ts +10 -10
  65. package/dist/server/server/pid-lock.d.ts +7 -2
  66. package/dist/server/server/pid-lock.d.ts.map +1 -1
  67. package/dist/server/server/pid-lock.js +21 -0
  68. package/dist/server/server/pid-lock.js.map +1 -1
  69. package/dist/server/server/schedule/cron.d.ts +4 -0
  70. package/dist/server/server/schedule/cron.d.ts.map +1 -0
  71. package/dist/server/server/schedule/cron.js +103 -0
  72. package/dist/server/server/schedule/cron.js.map +1 -0
  73. package/dist/server/server/schedule/rpc-schemas.d.ts +2773 -0
  74. package/dist/server/server/schedule/rpc-schemas.d.ts.map +1 -0
  75. package/dist/server/server/schedule/rpc-schemas.js +112 -0
  76. package/dist/server/server/schedule/rpc-schemas.js.map +1 -0
  77. package/dist/server/server/schedule/service.d.ts +39 -0
  78. package/dist/server/server/schedule/service.d.ts.map +1 -0
  79. package/dist/server/server/schedule/service.js +397 -0
  80. package/dist/server/server/schedule/service.js.map +1 -0
  81. package/dist/server/server/schedule/store.d.ts +13 -0
  82. package/dist/server/server/schedule/store.d.ts.map +1 -0
  83. package/dist/server/server/schedule/store.js +56 -0
  84. package/dist/server/server/schedule/store.js.map +1 -0
  85. package/dist/server/server/schedule/types.d.ts +710 -0
  86. package/dist/server/server/schedule/types.d.ts.map +1 -0
  87. package/dist/server/server/schedule/types.js +73 -0
  88. package/dist/server/server/schedule/types.js.map +1 -0
  89. package/dist/server/server/session.d.ts +40 -19
  90. package/dist/server/server/session.d.ts.map +1 -1
  91. package/dist/server/server/session.js +779 -568
  92. package/dist/server/server/session.js.map +1 -1
  93. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts.map +1 -1
  94. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +19 -3
  95. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -1
  96. package/dist/server/server/websocket-server.d.ts +12 -1
  97. package/dist/server/server/websocket-server.d.ts.map +1 -1
  98. package/dist/server/server/websocket-server.js +71 -14
  99. package/dist/server/server/websocket-server.js.map +1 -1
  100. package/dist/server/shared/messages.d.ts +37933 -16895
  101. package/dist/server/shared/messages.d.ts.map +1 -1
  102. package/dist/server/shared/messages.js +41 -0
  103. package/dist/server/shared/messages.js.map +1 -1
  104. package/dist/server/terminal/terminal-manager.js +2 -2
  105. package/dist/server/terminal/terminal-manager.js.map +1 -1
  106. package/dist/server/utils/checkout-git.d.ts +12 -0
  107. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  108. package/dist/server/utils/checkout-git.js +73 -3
  109. package/dist/server/utils/checkout-git.js.map +1 -1
  110. package/dist/server/utils/directory-suggestions.js +20 -4
  111. package/dist/server/utils/directory-suggestions.js.map +1 -1
  112. package/dist/src/server/pid-lock.js +21 -0
  113. package/dist/src/server/pid-lock.js.map +1 -1
  114. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +19 -3
  115. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -1
  116. package/package.json +4 -3
  117. package/dist/scripts/daemon-runner.js.map +0 -1
  118. package/dist/src/server/agent/activity-curator.js +0 -243
  119. package/dist/src/server/agent/activity-curator.js.map +0 -1
  120. package/dist/src/server/agent/agent-manager.js +0 -1802
  121. package/dist/src/server/agent/agent-manager.js.map +0 -1
  122. package/dist/src/server/agent/agent-metadata-generator.js +0 -161
  123. package/dist/src/server/agent/agent-metadata-generator.js.map +0 -1
  124. package/dist/src/server/agent/agent-projections.js +0 -254
  125. package/dist/src/server/agent/agent-projections.js.map +0 -1
  126. package/dist/src/server/agent/agent-response-loop.js +0 -304
  127. package/dist/src/server/agent/agent-response-loop.js.map +0 -1
  128. package/dist/src/server/agent/agent-sdk-types.js +0 -12
  129. package/dist/src/server/agent/agent-sdk-types.js.map +0 -1
  130. package/dist/src/server/agent/agent-storage.js +0 -297
  131. package/dist/src/server/agent/agent-storage.js.map +0 -1
  132. package/dist/src/server/agent/agent-title-limits.js +0 -3
  133. package/dist/src/server/agent/agent-title-limits.js.map +0 -1
  134. package/dist/src/server/agent/audio-utils.js +0 -19
  135. package/dist/src/server/agent/audio-utils.js.map +0 -1
  136. package/dist/src/server/agent/dictation-debug.js +0 -50
  137. package/dist/src/server/agent/dictation-debug.js.map +0 -1
  138. package/dist/src/server/agent/mcp-server.js +0 -754
  139. package/dist/src/server/agent/mcp-server.js.map +0 -1
  140. package/dist/src/server/agent/orchestrator-instructions.js +0 -51
  141. package/dist/src/server/agent/orchestrator-instructions.js.map +0 -1
  142. package/dist/src/server/agent/pcm16-resampler.js +0 -63
  143. package/dist/src/server/agent/pcm16-resampler.js.map +0 -1
  144. package/dist/src/server/agent/provider-launch-config.js +0 -176
  145. package/dist/src/server/agent/provider-launch-config.js.map +0 -1
  146. package/dist/src/server/agent/provider-manifest.js +0 -127
  147. package/dist/src/server/agent/provider-manifest.js.map +0 -1
  148. package/dist/src/server/agent/provider-registry.js +0 -45
  149. package/dist/src/server/agent/provider-registry.js.map +0 -1
  150. package/dist/src/server/agent/providers/claude/partial-json.js +0 -306
  151. package/dist/src/server/agent/providers/claude/partial-json.js.map +0 -1
  152. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js +0 -104
  153. package/dist/src/server/agent/providers/claude/sdk-model-resolver.js.map +0 -1
  154. package/dist/src/server/agent/providers/claude/sidechain-tracker.js +0 -230
  155. package/dist/src/server/agent/providers/claude/sidechain-tracker.js.map +0 -1
  156. package/dist/src/server/agent/providers/claude/task-notification-tool-call.js +0 -267
  157. package/dist/src/server/agent/providers/claude/task-notification-tool-call.js.map +0 -1
  158. package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js +0 -121
  159. package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js.map +0 -1
  160. package/dist/src/server/agent/providers/claude/tool-call-mapper.js +0 -252
  161. package/dist/src/server/agent/providers/claude/tool-call-mapper.js.map +0 -1
  162. package/dist/src/server/agent/providers/claude-agent.js +0 -3147
  163. package/dist/src/server/agent/providers/claude-agent.js.map +0 -1
  164. package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js +0 -104
  165. package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js.map +0 -1
  166. package/dist/src/server/agent/providers/codex/tool-call-mapper.js +0 -758
  167. package/dist/src/server/agent/providers/codex/tool-call-mapper.js.map +0 -1
  168. package/dist/src/server/agent/providers/codex-app-server-agent.js +0 -2949
  169. package/dist/src/server/agent/providers/codex-app-server-agent.js.map +0 -1
  170. package/dist/src/server/agent/providers/codex-rollout-timeline.js +0 -544
  171. package/dist/src/server/agent/providers/codex-rollout-timeline.js.map +0 -1
  172. package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js +0 -39
  173. package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js.map +0 -1
  174. package/dist/src/server/agent/providers/opencode/tool-call-mapper.js +0 -144
  175. package/dist/src/server/agent/providers/opencode/tool-call-mapper.js.map +0 -1
  176. package/dist/src/server/agent/providers/opencode-agent.js +0 -1193
  177. package/dist/src/server/agent/providers/opencode-agent.js.map +0 -1
  178. package/dist/src/server/agent/providers/tool-call-detail-primitives.js +0 -686
  179. package/dist/src/server/agent/providers/tool-call-detail-primitives.js.map +0 -1
  180. package/dist/src/server/agent/providers/tool-call-mapper-utils.js +0 -115
  181. package/dist/src/server/agent/providers/tool-call-mapper-utils.js.map +0 -1
  182. package/dist/src/server/agent/recordings-debug.js +0 -19
  183. package/dist/src/server/agent/recordings-debug.js.map +0 -1
  184. package/dist/src/server/agent/stt-debug.js +0 -33
  185. package/dist/src/server/agent/stt-debug.js.map +0 -1
  186. package/dist/src/server/agent/stt-manager.js +0 -232
  187. package/dist/src/server/agent/stt-manager.js.map +0 -1
  188. package/dist/src/server/agent/timeline-append.js +0 -27
  189. package/dist/src/server/agent/timeline-append.js.map +0 -1
  190. package/dist/src/server/agent/timeline-projection.js +0 -215
  191. package/dist/src/server/agent/timeline-projection.js.map +0 -1
  192. package/dist/src/server/agent/tool-name-normalization.js +0 -45
  193. package/dist/src/server/agent/tool-name-normalization.js.map +0 -1
  194. package/dist/src/server/agent/tts-debug.js +0 -24
  195. package/dist/src/server/agent/tts-debug.js.map +0 -1
  196. package/dist/src/server/agent/tts-manager.js +0 -374
  197. package/dist/src/server/agent/tts-manager.js.map +0 -1
  198. package/dist/src/server/agent/wait-for-agent-tracker.js +0 -53
  199. package/dist/src/server/agent/wait-for-agent-tracker.js.map +0 -1
  200. package/dist/src/server/agent-attention-policy.js +0 -40
  201. package/dist/src/server/agent-attention-policy.js.map +0 -1
  202. package/dist/src/server/allowed-hosts.js +0 -94
  203. package/dist/src/server/allowed-hosts.js.map +0 -1
  204. package/dist/src/server/bootstrap.js +0 -581
  205. package/dist/src/server/bootstrap.js.map +0 -1
  206. package/dist/src/server/client-message-id.js +0 -12
  207. package/dist/src/server/client-message-id.js.map +0 -1
  208. package/dist/src/server/config.js +0 -73
  209. package/dist/src/server/config.js.map +0 -1
  210. package/dist/src/server/connection-offer.js +0 -59
  211. package/dist/src/server/connection-offer.js.map +0 -1
  212. package/dist/src/server/daemon-keypair.js +0 -40
  213. package/dist/src/server/daemon-keypair.js.map +0 -1
  214. package/dist/src/server/daemon-version.js +0 -22
  215. package/dist/src/server/daemon-version.js.map +0 -1
  216. package/dist/src/server/dictation/dictation-stream-manager.js +0 -571
  217. package/dist/src/server/dictation/dictation-stream-manager.js.map +0 -1
  218. package/dist/src/server/file-download/token-store.js +0 -40
  219. package/dist/src/server/file-download/token-store.js.map +0 -1
  220. package/dist/src/server/file-explorer/service.js +0 -180
  221. package/dist/src/server/file-explorer/service.js.map +0 -1
  222. package/dist/src/server/json-utils.js +0 -45
  223. package/dist/src/server/json-utils.js.map +0 -1
  224. package/dist/src/server/messages.js +0 -29
  225. package/dist/src/server/messages.js.map +0 -1
  226. package/dist/src/server/package-version.js +0 -46
  227. package/dist/src/server/package-version.js.map +0 -1
  228. package/dist/src/server/pairing-offer.js +0 -45
  229. package/dist/src/server/pairing-offer.js.map +0 -1
  230. package/dist/src/server/pairing-qr.js +0 -45
  231. package/dist/src/server/pairing-qr.js.map +0 -1
  232. package/dist/src/server/path-utils.js +0 -20
  233. package/dist/src/server/path-utils.js.map +0 -1
  234. package/dist/src/server/persisted-config.js +0 -265
  235. package/dist/src/server/persisted-config.js.map +0 -1
  236. package/dist/src/server/persistence-hooks.js +0 -60
  237. package/dist/src/server/persistence-hooks.js.map +0 -1
  238. package/dist/src/server/push/push-service.js +0 -68
  239. package/dist/src/server/push/push-service.js.map +0 -1
  240. package/dist/src/server/push/token-store.js +0 -70
  241. package/dist/src/server/push/token-store.js.map +0 -1
  242. package/dist/src/server/relay-transport.js +0 -461
  243. package/dist/src/server/relay-transport.js.map +0 -1
  244. package/dist/src/server/server-id.js +0 -63
  245. package/dist/src/server/server-id.js.map +0 -1
  246. package/dist/src/server/session.js +0 -6170
  247. package/dist/src/server/session.js.map +0 -1
  248. package/dist/src/server/speech/audio.js +0 -101
  249. package/dist/src/server/speech/audio.js.map +0 -1
  250. package/dist/src/server/speech/provider-resolver.js +0 -7
  251. package/dist/src/server/speech/provider-resolver.js.map +0 -1
  252. package/dist/src/server/speech/providers/local/config.js +0 -74
  253. package/dist/src/server/speech/providers/local/config.js.map +0 -1
  254. package/dist/src/server/speech/providers/local/models.js +0 -17
  255. package/dist/src/server/speech/providers/local/models.js.map +0 -1
  256. package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js +0 -436
  257. package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +0 -1
  258. package/dist/src/server/speech/providers/local/runtime.js +0 -238
  259. package/dist/src/server/speech/providers/local/runtime.js.map +0 -1
  260. package/dist/src/server/speech/providers/local/sherpa/model-catalog.js +0 -166
  261. package/dist/src/server/speech/providers/local/sherpa/model-catalog.js.map +0 -1
  262. package/dist/src/server/speech/providers/local/sherpa/model-downloader.js +0 -165
  263. package/dist/src/server/speech/providers/local/sherpa/model-downloader.js.map +0 -1
  264. package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +0 -73
  265. package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +0 -1
  266. package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +0 -84
  267. package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +0 -1
  268. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-loader.js +0 -11
  269. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-loader.js.map +0 -1
  270. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +0 -102
  271. package/dist/src/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js.map +0 -1
  272. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +0 -135
  273. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +0 -1
  274. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +0 -130
  275. package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +0 -1
  276. package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js +0 -110
  277. package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +0 -1
  278. package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js +0 -138
  279. package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js.map +0 -1
  280. package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js +0 -98
  281. package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js.map +0 -1
  282. package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js +0 -23
  283. package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js.map +0 -1
  284. package/dist/src/server/speech/providers/local/sherpa/silero-vad-session.js +0 -107
  285. package/dist/src/server/speech/providers/local/sherpa/silero-vad-session.js.map +0 -1
  286. package/dist/src/server/speech/providers/openai/config.js +0 -80
  287. package/dist/src/server/speech/providers/openai/config.js.map +0 -1
  288. package/dist/src/server/speech/providers/openai/realtime-transcription-session.js +0 -168
  289. package/dist/src/server/speech/providers/openai/realtime-transcription-session.js.map +0 -1
  290. package/dist/src/server/speech/providers/openai/runtime.js +0 -112
  291. package/dist/src/server/speech/providers/openai/runtime.js.map +0 -1
  292. package/dist/src/server/speech/providers/openai/stt.js +0 -206
  293. package/dist/src/server/speech/providers/openai/stt.js.map +0 -1
  294. package/dist/src/server/speech/providers/openai/tts.js +0 -46
  295. package/dist/src/server/speech/providers/openai/tts.js.map +0 -1
  296. package/dist/src/server/speech/speech-config-resolver.js +0 -102
  297. package/dist/src/server/speech/speech-config-resolver.js.map +0 -1
  298. package/dist/src/server/speech/speech-provider.js +0 -2
  299. package/dist/src/server/speech/speech-provider.js.map +0 -1
  300. package/dist/src/server/speech/speech-runtime.js +0 -530
  301. package/dist/src/server/speech/speech-runtime.js.map +0 -1
  302. package/dist/src/server/speech/speech-types.js +0 -8
  303. package/dist/src/server/speech/speech-types.js.map +0 -1
  304. package/dist/src/server/speech/turn-detection-provider.js +0 -2
  305. package/dist/src/server/speech/turn-detection-provider.js.map +0 -1
  306. package/dist/src/server/utils/diff-highlighter.js +0 -257
  307. package/dist/src/server/utils/diff-highlighter.js.map +0 -1
  308. package/dist/src/server/voice/fixed-duration-pcm-ring-buffer.js +0 -35
  309. package/dist/src/server/voice/fixed-duration-pcm-ring-buffer.js.map +0 -1
  310. package/dist/src/server/voice/voice-turn-controller.js +0 -159
  311. package/dist/src/server/voice/voice-turn-controller.js.map +0 -1
  312. package/dist/src/server/voice-config.js +0 -51
  313. package/dist/src/server/voice-config.js.map +0 -1
  314. package/dist/src/server/voice-mcp-bridge-command.js +0 -31
  315. package/dist/src/server/voice-mcp-bridge-command.js.map +0 -1
  316. package/dist/src/server/voice-mcp-bridge.js +0 -109
  317. package/dist/src/server/voice-mcp-bridge.js.map +0 -1
  318. package/dist/src/server/voice-permission-policy.js +0 -13
  319. package/dist/src/server/voice-permission-policy.js.map +0 -1
  320. package/dist/src/server/voice-types.js +0 -2
  321. package/dist/src/server/voice-types.js.map +0 -1
  322. package/dist/src/server/websocket-server.js +0 -991
  323. package/dist/src/server/websocket-server.js.map +0 -1
  324. package/dist/src/server/workspace-registry-bootstrap.js +0 -98
  325. package/dist/src/server/workspace-registry-bootstrap.js.map +0 -1
  326. package/dist/src/server/workspace-registry-model.js +0 -175
  327. package/dist/src/server/workspace-registry-model.js.map +0 -1
  328. package/dist/src/server/workspace-registry.js +0 -151
  329. package/dist/src/server/workspace-registry.js.map +0 -1
  330. package/dist/src/server/worktree-bootstrap.js +0 -508
  331. package/dist/src/server/worktree-bootstrap.js.map +0 -1
  332. package/dist/src/shared/agent-attention-notification.js +0 -130
  333. package/dist/src/shared/agent-attention-notification.js.map +0 -1
  334. package/dist/src/shared/agent-lifecycle.js +0 -8
  335. package/dist/src/shared/agent-lifecycle.js.map +0 -1
  336. package/dist/src/shared/connection-offer.js +0 -17
  337. package/dist/src/shared/connection-offer.js.map +0 -1
  338. package/dist/src/shared/daemon-endpoints.js +0 -122
  339. package/dist/src/shared/daemon-endpoints.js.map +0 -1
  340. package/dist/src/shared/messages.js +0 -2066
  341. package/dist/src/shared/messages.js.map +0 -1
  342. package/dist/src/shared/path-utils.js +0 -16
  343. package/dist/src/shared/path-utils.js.map +0 -1
  344. package/dist/src/shared/terminal-stream-protocol.js +0 -99
  345. package/dist/src/shared/terminal-stream-protocol.js.map +0 -1
  346. package/dist/src/shared/tool-call-display.js +0 -122
  347. package/dist/src/shared/tool-call-display.js.map +0 -1
  348. package/dist/src/terminal/terminal-manager.js +0 -136
  349. package/dist/src/terminal/terminal-manager.js.map +0 -1
  350. package/dist/src/terminal/terminal.js +0 -333
  351. package/dist/src/terminal/terminal.js.map +0 -1
  352. package/dist/src/utils/checkout-git.js +0 -1448
  353. package/dist/src/utils/checkout-git.js.map +0 -1
  354. package/dist/src/utils/directory-suggestions.js +0 -655
  355. package/dist/src/utils/directory-suggestions.js.map +0 -1
  356. package/dist/src/utils/path.js +0 -15
  357. package/dist/src/utils/path.js.map +0 -1
  358. package/dist/src/utils/project-icon.js +0 -389
  359. package/dist/src/utils/project-icon.js.map +0 -1
  360. package/dist/src/utils/worktree-metadata.js +0 -116
  361. package/dist/src/utils/worktree-metadata.js.map +0 -1
  362. package/dist/src/utils/worktree.js +0 -744
  363. package/dist/src/utils/worktree.js.map +0 -1
@@ -1,238 +0,0 @@
1
- import { PocketTtsOnnxTTS } from "./pocket/pocket-tts-onnx.js";
2
- import { getLocalSpeechModelDir, DEFAULT_LOCAL_STT_MODEL, DEFAULT_LOCAL_TTS_MODEL, LocalSttModelIdSchema, LocalTtsModelIdSchema, } from "./models.js";
3
- import { SherpaOfflineRecognizerEngine } from "./sherpa/sherpa-offline-recognizer.js";
4
- import { SherpaOnlineRecognizerEngine } from "./sherpa/sherpa-online-recognizer.js";
5
- import { SherpaOnnxParakeetSTT } from "./sherpa/sherpa-parakeet-stt.js";
6
- import { SherpaParakeetRealtimeTranscriptionSession } from "./sherpa/sherpa-parakeet-realtime-session.js";
7
- import { SherpaRealtimeTranscriptionSession } from "./sherpa/sherpa-realtime-session.js";
8
- import { SherpaOnnxSTT } from "./sherpa/sherpa-stt.js";
9
- import { SherpaOnnxTTS } from "./sherpa/sherpa-tts.js";
10
- import { SherpaSileroTurnDetectionProvider } from "./sherpa/silero-vad-provider.js";
11
- function buildModelDownloadHint(modelId) {
12
- return `Use 'paseo speech download --model ${modelId}' to download this model.`;
13
- }
14
- function resolveConfiguredLocalModels(speechConfig) {
15
- return {
16
- dictationLocalSttModel: LocalSttModelIdSchema.parse(speechConfig?.local?.models.dictationStt ?? DEFAULT_LOCAL_STT_MODEL),
17
- voiceLocalSttModel: LocalSttModelIdSchema.parse(speechConfig?.local?.models.voiceStt ?? DEFAULT_LOCAL_STT_MODEL),
18
- voiceLocalTtsModel: LocalTtsModelIdSchema.parse(speechConfig?.local?.models.voiceTts ?? DEFAULT_LOCAL_TTS_MODEL),
19
- };
20
- }
21
- export function getLocalSpeechAvailability(speechConfig) {
22
- const localConfig = speechConfig?.local ?? null;
23
- return {
24
- configured: Boolean(localConfig),
25
- modelsDir: localConfig?.modelsDir ?? null,
26
- };
27
- }
28
- function computeRequiredLocalModelIds(params) {
29
- const ids = new Set();
30
- if (params.providers.dictationStt.enabled !== false &&
31
- params.providers.dictationStt.provider === "local") {
32
- ids.add(params.models.dictationLocalSttModel);
33
- }
34
- if (params.providers.voiceStt.enabled !== false &&
35
- params.providers.voiceStt.provider === "local") {
36
- ids.add(params.models.voiceLocalSttModel);
37
- }
38
- if (params.providers.voiceTts.enabled !== false &&
39
- params.providers.voiceTts.provider === "local") {
40
- ids.add(params.models.voiceLocalTtsModel);
41
- }
42
- return Array.from(ids);
43
- }
44
- async function createLocalSttEngine(params) {
45
- const { modelId, modelsDir, logger } = params;
46
- if (modelId === "parakeet-tdt-0.6b-v3-int8" || modelId === "parakeet-tdt-0.6b-v2-int8") {
47
- const modelDir = getLocalSpeechModelDir(modelsDir, modelId);
48
- return {
49
- kind: "offline",
50
- engine: new SherpaOfflineRecognizerEngine({
51
- model: {
52
- kind: "nemo_transducer",
53
- encoder: `${modelDir}/encoder.int8.onnx`,
54
- decoder: `${modelDir}/decoder.int8.onnx`,
55
- joiner: `${modelDir}/joiner.int8.onnx`,
56
- tokens: `${modelDir}/tokens.txt`,
57
- },
58
- numThreads: 2,
59
- debug: 0,
60
- }, logger),
61
- };
62
- }
63
- if (modelId === "paraformer-bilingual-zh-en") {
64
- const modelDir = getLocalSpeechModelDir(modelsDir, modelId);
65
- return {
66
- kind: "online",
67
- engine: new SherpaOnlineRecognizerEngine({
68
- model: {
69
- kind: "paraformer",
70
- encoder: `${modelDir}/encoder.int8.onnx`,
71
- decoder: `${modelDir}/decoder.int8.onnx`,
72
- tokens: `${modelDir}/tokens.txt`,
73
- },
74
- numThreads: 1,
75
- debug: 0,
76
- }, logger),
77
- };
78
- }
79
- if (modelId === "zipformer-bilingual-zh-en-2023-02-20") {
80
- const modelDir = getLocalSpeechModelDir(modelsDir, modelId);
81
- return {
82
- kind: "online",
83
- engine: new SherpaOnlineRecognizerEngine({
84
- model: {
85
- kind: "transducer",
86
- encoder: `${modelDir}/encoder-epoch-99-avg-1.onnx`,
87
- decoder: `${modelDir}/decoder-epoch-99-avg-1.onnx`,
88
- joiner: `${modelDir}/joiner-epoch-99-avg-1.onnx`,
89
- tokens: `${modelDir}/tokens.txt`,
90
- modelType: "zipformer",
91
- },
92
- numThreads: 1,
93
- debug: 0,
94
- }, logger),
95
- };
96
- }
97
- throw new Error(`Unsupported local STT model '${modelId}'`);
98
- }
99
- export async function initializeLocalSpeechServices(params) {
100
- const { providers, logger, speechConfig } = params;
101
- const localConfig = speechConfig?.local ?? null;
102
- const localModels = resolveConfiguredLocalModels(speechConfig);
103
- let sttService = null;
104
- let ttsService = null;
105
- let dictationSttService = null;
106
- let turnDetectionService = null;
107
- let localVoiceTtsProvider = null;
108
- const requiredLocalModelIds = computeRequiredLocalModelIds({
109
- providers,
110
- models: localModels,
111
- });
112
- const localSttEngines = new Map();
113
- const getLocalSttEngine = async (modelId) => {
114
- const existing = localSttEngines.get(modelId);
115
- if (existing) {
116
- return existing;
117
- }
118
- if (!localConfig) {
119
- return null;
120
- }
121
- try {
122
- const created = await createLocalSttEngine({
123
- modelId,
124
- modelsDir: localConfig.modelsDir,
125
- logger,
126
- });
127
- localSttEngines.set(modelId, created);
128
- return created;
129
- }
130
- catch (err) {
131
- logger.warn({
132
- err,
133
- modelsDir: localConfig.modelsDir,
134
- modelId,
135
- hint: buildModelDownloadHint(modelId),
136
- }, "Local STT engine unavailable");
137
- return null;
138
- }
139
- };
140
- if (providers.voiceTurnDetection.enabled !== false &&
141
- providers.voiceTurnDetection.provider === "local") {
142
- turnDetectionService = new SherpaSileroTurnDetectionProvider({}, logger);
143
- }
144
- if (providers.voiceStt.enabled !== false && providers.voiceStt.provider === "local") {
145
- if (!localConfig) {
146
- logger.warn({ configured: false }, "Local STT selected for voice but local provider config is missing; STT will be unavailable");
147
- }
148
- else {
149
- const voiceEngine = await getLocalSttEngine(localModels.voiceLocalSttModel);
150
- if (voiceEngine?.kind === "offline") {
151
- sttService = new SherpaOnnxParakeetSTT({ engine: voiceEngine.engine }, logger);
152
- }
153
- else if (voiceEngine?.kind === "online") {
154
- sttService = new SherpaOnnxSTT({ engine: voiceEngine.engine }, logger);
155
- }
156
- }
157
- }
158
- if (providers.dictationStt.enabled !== false && providers.dictationStt.provider === "local") {
159
- if (!localConfig) {
160
- logger.warn({ configured: false }, "Local STT selected for dictation but local provider config is missing; dictation STT will be unavailable");
161
- }
162
- else {
163
- const dictationEngine = await getLocalSttEngine(localModels.dictationLocalSttModel);
164
- if (dictationEngine?.kind === "offline") {
165
- dictationSttService = {
166
- id: "local",
167
- createSession: () => new SherpaParakeetRealtimeTranscriptionSession({ engine: dictationEngine.engine }),
168
- };
169
- }
170
- else if (dictationEngine?.kind === "online") {
171
- dictationSttService = {
172
- id: "local",
173
- createSession: () => new SherpaRealtimeTranscriptionSession({ engine: dictationEngine.engine }),
174
- };
175
- }
176
- }
177
- }
178
- if (providers.voiceTts.enabled !== false && providers.voiceTts.provider === "local") {
179
- if (!localConfig) {
180
- logger.warn({ configured: false }, "Local TTS selected for voice but local provider config is missing; TTS will be unavailable");
181
- }
182
- else {
183
- try {
184
- if (localModels.voiceLocalTtsModel === "pocket-tts-onnx-int8") {
185
- const modelDir = getLocalSpeechModelDir(localConfig.modelsDir, localModels.voiceLocalTtsModel);
186
- localVoiceTtsProvider = await PocketTtsOnnxTTS.create({
187
- modelDir,
188
- precision: "int8",
189
- targetChunkMs: 50,
190
- }, logger);
191
- }
192
- else {
193
- const modelDir = getLocalSpeechModelDir(localConfig.modelsDir, localModels.voiceLocalTtsModel);
194
- localVoiceTtsProvider = new SherpaOnnxTTS({
195
- preset: localModels.voiceLocalTtsModel,
196
- modelDir,
197
- speakerId: speechConfig?.local?.models.voiceTtsSpeakerId,
198
- speed: speechConfig?.local?.models.voiceTtsSpeed,
199
- }, logger);
200
- }
201
- ttsService = localVoiceTtsProvider;
202
- }
203
- catch (err) {
204
- logger.warn({
205
- err,
206
- modelsDir: localConfig.modelsDir,
207
- modelId: localModels.voiceLocalTtsModel,
208
- hint: buildModelDownloadHint(localModels.voiceLocalTtsModel),
209
- }, "Local TTS engine unavailable");
210
- }
211
- }
212
- }
213
- const cleanup = () => {
214
- const maybeFreeable = localVoiceTtsProvider;
215
- if (typeof maybeFreeable?.free === "function") {
216
- maybeFreeable.free();
217
- }
218
- for (const engine of localSttEngines.values()) {
219
- engine.engine.free();
220
- }
221
- };
222
- return {
223
- turnDetectionService,
224
- sttService,
225
- ttsService,
226
- dictationSttService,
227
- localVoiceTtsProvider,
228
- localModelConfig: localConfig
229
- ? {
230
- modelsDir: localConfig.modelsDir,
231
- defaultModelIds: requiredLocalModelIds,
232
- }
233
- : null,
234
- availability: getLocalSpeechAvailability(speechConfig),
235
- cleanup,
236
- };
237
- }
238
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../../../../src/server/speech/providers/local/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,166 +0,0 @@
1
- import { z } from "zod";
2
- export const SHERPA_ONNX_MODEL_CATALOG = {
3
- "zipformer-bilingual-zh-en-2023-02-20": {
4
- kind: "stt-online",
5
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20.tar.bz2",
6
- extractedDir: "sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20",
7
- requiredFiles: [
8
- "encoder-epoch-99-avg-1.onnx",
9
- "decoder-epoch-99-avg-1.onnx",
10
- "joiner-epoch-99-avg-1.onnx",
11
- "tokens.txt",
12
- ],
13
- description: "Streaming Zipformer transducer (fast, good accuracy).",
14
- aliases: ["zipformer", "zipformer-bilingual"],
15
- },
16
- "paraformer-bilingual-zh-en": {
17
- kind: "stt-online",
18
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-paraformer-bilingual-zh-en.tar.bz2",
19
- extractedDir: "sherpa-onnx-streaming-paraformer-bilingual-zh-en",
20
- requiredFiles: ["encoder.int8.onnx", "decoder.int8.onnx", "tokens.txt"],
21
- description: "Streaming Paraformer (often strong accuracy; heavier).",
22
- aliases: ["paraformer"],
23
- },
24
- "parakeet-tdt-0.6b-v2-int8": {
25
- kind: "stt-offline",
26
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8.tar.bz2",
27
- extractedDir: "sherpa-onnx-nemo-parakeet-tdt-0.6b-v2-int8",
28
- requiredFiles: ["encoder.int8.onnx", "decoder.int8.onnx", "joiner.int8.onnx", "tokens.txt"],
29
- description: "NVIDIA Parakeet TDT v2 (offline NeMo transducer, English).",
30
- aliases: ["parakeet-v2", "parakeet-tdt-v2"],
31
- defaultFor: "stt",
32
- },
33
- "parakeet-tdt-0.6b-v3-int8": {
34
- kind: "stt-offline",
35
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8.tar.bz2",
36
- extractedDir: "sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8",
37
- requiredFiles: ["encoder.int8.onnx", "decoder.int8.onnx", "joiner.int8.onnx", "tokens.txt"],
38
- description: "NVIDIA Parakeet TDT v3 (offline NeMo transducer, multilingual).",
39
- aliases: ["parakeet", "parakeet-v3", "parakeet-tdt"],
40
- },
41
- "kitten-nano-en-v0_1-fp16": {
42
- kind: "tts",
43
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kitten-nano-en-v0_1-fp16.tar.bz2",
44
- extractedDir: "kitten-nano-en-v0_1-fp16",
45
- requiredFiles: ["model.fp16.onnx", "voices.bin", "tokens.txt", "espeak-ng-data"],
46
- description: "KittenTTS (small, fast English TTS).",
47
- aliases: ["kitten"],
48
- },
49
- "kokoro-en-v0_19": {
50
- kind: "tts",
51
- archiveUrl: "https://github.com/k2-fsa/sherpa-onnx/releases/download/tts-models/kokoro-en-v0_19.tar.bz2",
52
- extractedDir: "kokoro-en-v0_19",
53
- requiredFiles: ["model.onnx", "voices.bin", "tokens.txt", "espeak-ng-data"],
54
- description: "Kokoro TTS (higher quality; larger).",
55
- aliases: ["kokoro"],
56
- defaultFor: "tts",
57
- },
58
- "pocket-tts-onnx-int8": {
59
- kind: "tts",
60
- extractedDir: "pocket-tts-onnx-int8",
61
- downloadFiles: [
62
- {
63
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/onnx/mimi_encoder.onnx",
64
- relPath: "onnx/mimi_encoder.onnx",
65
- },
66
- {
67
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/onnx/text_conditioner.onnx",
68
- relPath: "onnx/text_conditioner.onnx",
69
- },
70
- {
71
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/onnx/flow_lm_main_int8.onnx",
72
- relPath: "onnx/flow_lm_main_int8.onnx",
73
- },
74
- {
75
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/onnx/flow_lm_flow_int8.onnx",
76
- relPath: "onnx/flow_lm_flow_int8.onnx",
77
- },
78
- {
79
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/onnx/mimi_decoder_int8.onnx",
80
- relPath: "onnx/mimi_decoder_int8.onnx",
81
- },
82
- {
83
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/tokenizer.model",
84
- relPath: "tokenizer.model",
85
- },
86
- {
87
- url: "https://huggingface.co/KevinAHM/pocket-tts-onnx/resolve/main/reference_sample.wav",
88
- relPath: "reference_sample.wav",
89
- },
90
- ],
91
- requiredFiles: [
92
- "onnx/mimi_encoder.onnx",
93
- "onnx/text_conditioner.onnx",
94
- "onnx/flow_lm_main_int8.onnx",
95
- "onnx/flow_lm_flow_int8.onnx",
96
- "onnx/mimi_decoder_int8.onnx",
97
- "tokenizer.model",
98
- "reference_sample.wav",
99
- ],
100
- description: "Pocket TTS ONNX (INT8) with streaming decode support (via onnxruntime).",
101
- aliases: ["pocket", "pocket-tts"],
102
- },
103
- };
104
- const ALL_MODEL_IDS = Object.keys(SHERPA_ONNX_MODEL_CATALOG);
105
- export const LOCAL_STT_MODEL_IDS = ALL_MODEL_IDS.filter((id) => SHERPA_ONNX_MODEL_CATALOG[id].kind !== "tts");
106
- export const LOCAL_TTS_MODEL_IDS = ALL_MODEL_IDS.filter((id) => SHERPA_ONNX_MODEL_CATALOG[id].kind === "tts");
107
- function resolveDefaultModelId(role) {
108
- const match = ALL_MODEL_IDS.find((id) => {
109
- const entry = SHERPA_ONNX_MODEL_CATALOG[id];
110
- return entry.defaultFor === role;
111
- });
112
- if (!match) {
113
- throw new Error(`No default model configured for role '${role}'`);
114
- }
115
- return match;
116
- }
117
- export const DEFAULT_LOCAL_STT_MODEL = resolveDefaultModelId("stt");
118
- export const DEFAULT_LOCAL_TTS_MODEL = resolveDefaultModelId("tts");
119
- function buildAliasMap(modelIds) {
120
- const aliasMap = {};
121
- for (const modelId of modelIds) {
122
- const aliases = SHERPA_ONNX_MODEL_CATALOG[modelId].aliases ?? [];
123
- for (const alias of aliases) {
124
- aliasMap[alias.trim().toLowerCase()] = modelId;
125
- }
126
- }
127
- return aliasMap;
128
- }
129
- function createAliasedModelIdSchema(params) {
130
- const validIds = new Set(params.modelIds);
131
- return z
132
- .string()
133
- .trim()
134
- .toLowerCase()
135
- .refine((value) => validIds.has(value) || Object.prototype.hasOwnProperty.call(params.aliases, value), {
136
- message: "Invalid model id",
137
- })
138
- .transform((value) => params.aliases[value] ?? value);
139
- }
140
- const STT_MODEL_ALIASES = buildAliasMap(LOCAL_STT_MODEL_IDS);
141
- const TTS_MODEL_ALIASES = buildAliasMap(LOCAL_TTS_MODEL_IDS);
142
- export const LocalSttModelIdSchema = createAliasedModelIdSchema({
143
- modelIds: LOCAL_STT_MODEL_IDS,
144
- aliases: STT_MODEL_ALIASES,
145
- });
146
- export const LocalTtsModelIdSchema = createAliasedModelIdSchema({
147
- modelIds: LOCAL_TTS_MODEL_IDS,
148
- aliases: TTS_MODEL_ALIASES,
149
- });
150
- export function listSherpaOnnxModels() {
151
- return ALL_MODEL_IDS.map((id) => ({
152
- id,
153
- ...SHERPA_ONNX_MODEL_CATALOG[id],
154
- }));
155
- }
156
- export function getSherpaOnnxModelSpec(id) {
157
- const spec = SHERPA_ONNX_MODEL_CATALOG[id];
158
- if (!spec) {
159
- throw new Error(`Unknown local speech model id: ${id}`);
160
- }
161
- return {
162
- id,
163
- ...spec,
164
- };
165
- }
166
- //# sourceMappingURL=model-catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../../../../../src/server/speech/providers/local/sherpa/model-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,165 +0,0 @@
1
- import { createWriteStream } from "node:fs";
2
- import { mkdir, rename, rm, stat } from "node:fs/promises";
3
- import path from "node:path";
4
- import { Readable } from "node:stream";
5
- import { pipeline } from "node:stream/promises";
6
- import { spawn } from "node:child_process";
7
- import { getSherpaOnnxModelSpec } from "./model-catalog.js";
8
- export function getSherpaOnnxModelDir(modelsDir, modelId) {
9
- const spec = getSherpaOnnxModelSpec(modelId);
10
- return path.join(modelsDir, spec.extractedDir);
11
- }
12
- async function hasRequiredFiles(modelDir, requiredFiles) {
13
- for (const rel of requiredFiles) {
14
- const abs = path.join(modelDir, rel);
15
- try {
16
- const s = await stat(abs);
17
- if (s.isDirectory()) {
18
- continue;
19
- }
20
- if (s.isFile() && s.size > 0) {
21
- continue;
22
- }
23
- return false;
24
- }
25
- catch {
26
- return false;
27
- }
28
- }
29
- return true;
30
- }
31
- async function downloadToFile(options) {
32
- const { url, outputPath } = options;
33
- const res = await fetch(url);
34
- if (!res.ok) {
35
- throw new Error(`Failed to download ${url}: ${res.status} ${res.statusText}`);
36
- }
37
- if (!res.body) {
38
- throw new Error(`Failed to download ${url}: missing response body`);
39
- }
40
- const tmpPath = `${outputPath}.tmp-${Date.now()}`;
41
- await mkdir(path.dirname(outputPath), { recursive: true });
42
- const nodeStream = Readable.fromWeb(res.body);
43
- try {
44
- await pipeline(nodeStream, createWriteStream(tmpPath));
45
- await rename(tmpPath, outputPath);
46
- }
47
- catch (error) {
48
- await rm(tmpPath, { force: true }).catch(() => undefined);
49
- throw error;
50
- }
51
- }
52
- async function extractTarArchive(archivePath, destDir) {
53
- await mkdir(destDir, { recursive: true });
54
- await new Promise((resolve, reject) => {
55
- const child = spawn("tar", ["xf", archivePath, "-C", destDir], { stdio: "inherit" });
56
- child.on("error", reject);
57
- child.on("exit", (code) => {
58
- if (code === 0)
59
- resolve();
60
- else
61
- reject(new Error(`tar exited with code ${code}`));
62
- });
63
- });
64
- }
65
- async function isNonEmptyFile(filePath) {
66
- try {
67
- const s = await stat(filePath);
68
- return s.isFile() && s.size > 0;
69
- }
70
- catch {
71
- return false;
72
- }
73
- }
74
- export async function ensureSherpaOnnxModel(options) {
75
- const logger = options.logger.child({
76
- module: "speech",
77
- provider: "local",
78
- component: "model-downloader",
79
- modelId: options.modelId,
80
- });
81
- const spec = getSherpaOnnxModelSpec(options.modelId);
82
- const modelDir = path.join(options.modelsDir, spec.extractedDir);
83
- if (await hasRequiredFiles(modelDir, spec.requiredFiles)) {
84
- return modelDir;
85
- }
86
- logger.info({ modelsDir: options.modelsDir }, "Starting model download");
87
- try {
88
- if (spec.archiveUrl) {
89
- const downloadsDir = path.join(options.modelsDir, ".downloads");
90
- const archiveFilename = path.basename(new URL(spec.archiveUrl).pathname);
91
- const archivePath = path.join(downloadsDir, archiveFilename);
92
- if (!(await isNonEmptyFile(archivePath))) {
93
- await downloadToFile({
94
- url: spec.archiveUrl,
95
- outputPath: archivePath,
96
- });
97
- }
98
- logger.info({
99
- modelId: options.modelId,
100
- archivePath,
101
- modelDir,
102
- }, "Extracting model archive");
103
- await extractTarArchive(archivePath, options.modelsDir);
104
- logger.info({
105
- modelId: options.modelId,
106
- modelDir,
107
- }, "Verifying downloaded model files");
108
- if (!(await hasRequiredFiles(modelDir, spec.requiredFiles))) {
109
- throw new Error(`Downloaded and extracted ${archiveFilename}, but required files are still missing in ${modelDir}.`);
110
- }
111
- logger.info({
112
- modelId: options.modelId,
113
- archivePath,
114
- }, "Finalizing model artifacts");
115
- try {
116
- await rm(archivePath, { force: true });
117
- }
118
- catch {
119
- // ignore
120
- }
121
- logger.info({ modelDir }, "Model download completed");
122
- return modelDir;
123
- }
124
- if (spec.downloadFiles && spec.downloadFiles.length > 0) {
125
- await mkdir(modelDir, { recursive: true });
126
- for (const file of spec.downloadFiles) {
127
- const dst = path.join(modelDir, file.relPath);
128
- if (await isNonEmptyFile(dst)) {
129
- continue;
130
- }
131
- await downloadToFile({
132
- url: file.url,
133
- outputPath: dst,
134
- });
135
- }
136
- logger.info({
137
- modelId: options.modelId,
138
- modelDir,
139
- }, "Verifying downloaded model files");
140
- if (!(await hasRequiredFiles(modelDir, spec.requiredFiles))) {
141
- throw new Error(`Downloaded files for ${options.modelId}, but required files are still missing in ${modelDir}.`);
142
- }
143
- logger.info({ modelDir }, "Model download completed");
144
- return modelDir;
145
- }
146
- throw new Error(`Model spec for ${options.modelId} has no archiveUrl or downloadFiles`);
147
- }
148
- catch (error) {
149
- logger.error({ err: error }, "Model download failed");
150
- throw error;
151
- }
152
- }
153
- export async function ensureSherpaOnnxModels(options) {
154
- const uniq = Array.from(new Set(options.modelIds));
155
- const out = {};
156
- for (const id of uniq) {
157
- out[id] = await ensureSherpaOnnxModel({
158
- modelsDir: options.modelsDir,
159
- modelId: id,
160
- logger: options.logger,
161
- });
162
- }
163
- return out;
164
- }
165
- //# sourceMappingURL=model-downloader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-downloader.js","sourceRoot":"","sources":["../../../../../../../src/server/speech/providers/local/sherpa/model-downloader.ts"],"names":[],"mappings":"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"}