@jait/gateway 0.1.461 → 0.1.463

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 (406) hide show
  1. package/dist/api-contracts.d.ts +29 -0
  2. package/dist/api-contracts.d.ts.map +1 -0
  3. package/dist/api-contracts.js +2 -0
  4. package/dist/api-contracts.js.map +1 -0
  5. package/dist/cli/doctor.js +1 -1
  6. package/dist/cli/doctor.js.map +1 -1
  7. package/dist/db/connection.d.ts.map +1 -1
  8. package/dist/db/connection.js +15 -8
  9. package/dist/db/connection.js.map +1 -1
  10. package/dist/db/migrations.d.ts.map +1 -1
  11. package/dist/db/migrations.js +185 -0
  12. package/dist/db/migrations.js.map +1 -1
  13. package/dist/db/schema.d.ts +71 -35
  14. package/dist/db/schema.d.ts.map +1 -1
  15. package/dist/db/schema.js +21 -19
  16. package/dist/db/schema.js.map +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +108 -67
  19. package/dist/index.js.map +1 -1
  20. package/dist/memory/contracts.d.ts +2 -1
  21. package/dist/memory/contracts.d.ts.map +1 -1
  22. package/dist/memory/service.d.ts +1 -0
  23. package/dist/memory/service.d.ts.map +1 -1
  24. package/dist/memory/service.js +110 -11
  25. package/dist/memory/service.js.map +1 -1
  26. package/dist/memory/sqlite-backend.d.ts +1 -0
  27. package/dist/memory/sqlite-backend.d.ts.map +1 -1
  28. package/dist/memory/sqlite-backend.js +15 -0
  29. package/dist/memory/sqlite-backend.js.map +1 -1
  30. package/dist/plugins/contracts.d.ts +1 -1
  31. package/dist/plugins/contracts.d.ts.map +1 -1
  32. package/dist/plugins/manager.d.ts +2 -2
  33. package/dist/plugins/manager.d.ts.map +1 -1
  34. package/dist/plugins/manager.js +3 -3
  35. package/dist/plugins/manager.js.map +1 -1
  36. package/dist/providers/contracts.d.ts +2 -61
  37. package/dist/providers/contracts.d.ts.map +1 -1
  38. package/dist/providers/jait-provider.js +6 -6
  39. package/dist/providers/jait-provider.js.map +1 -1
  40. package/dist/providers/model-fetchers.d.ts +18 -0
  41. package/dist/providers/model-fetchers.d.ts.map +1 -0
  42. package/dist/providers/model-fetchers.js +136 -0
  43. package/dist/providers/model-fetchers.js.map +1 -0
  44. package/dist/providers/provider-auth.d.ts +1 -0
  45. package/dist/providers/provider-auth.d.ts.map +1 -1
  46. package/dist/providers/provider-auth.js +33 -4
  47. package/dist/providers/provider-auth.js.map +1 -1
  48. package/dist/providers/registry.d.ts +1 -1
  49. package/dist/providers/registry.d.ts.map +1 -1
  50. package/dist/providers/registry.js +2 -2
  51. package/dist/providers/registry.js.map +1 -1
  52. package/dist/routes/architecture.js +10 -10
  53. package/dist/routes/architecture.js.map +1 -1
  54. package/dist/routes/auth.js +10 -10
  55. package/dist/routes/auth.js.map +1 -1
  56. package/dist/routes/chat.d.ts +2 -2
  57. package/dist/routes/chat.d.ts.map +1 -1
  58. package/dist/routes/chat.js +197 -77
  59. package/dist/routes/chat.js.map +1 -1
  60. package/dist/routes/environment.d.ts +2 -2
  61. package/dist/routes/environment.d.ts.map +1 -1
  62. package/dist/routes/environment.js +11 -11
  63. package/dist/routes/environment.js.map +1 -1
  64. package/dist/routes/filesystem.d.ts +1 -1
  65. package/dist/routes/filesystem.js +1 -1
  66. package/dist/routes/git.js +1 -1
  67. package/dist/routes/git.js.map +1 -1
  68. package/dist/routes/jobs.js +2 -2
  69. package/dist/routes/jobs.js.map +1 -1
  70. package/dist/routes/mcp-server.d.ts +1 -1
  71. package/dist/routes/mcp-server.d.ts.map +1 -1
  72. package/dist/routes/mcp-server.js +13 -13
  73. package/dist/routes/mcp-server.js.map +1 -1
  74. package/dist/routes/preview.js +1 -1
  75. package/dist/routes/preview.js.map +1 -1
  76. package/dist/routes/project.d.ts +16 -0
  77. package/dist/routes/project.d.ts.map +1 -0
  78. package/dist/routes/{workspace.js → project.js} +100 -100
  79. package/dist/routes/project.js.map +1 -0
  80. package/dist/routes/projects.d.ts +15 -0
  81. package/dist/routes/projects.d.ts.map +1 -0
  82. package/dist/routes/{workspaces.js → projects.js} +98 -98
  83. package/dist/routes/projects.js.map +1 -0
  84. package/dist/routes/providers.d.ts.map +1 -1
  85. package/dist/routes/providers.js +1 -96
  86. package/dist/routes/providers.js.map +1 -1
  87. package/dist/routes/reminders.d.ts +2 -2
  88. package/dist/routes/reminders.d.ts.map +1 -1
  89. package/dist/routes/reminders.js +39 -17
  90. package/dist/routes/reminders.js.map +1 -1
  91. package/dist/routes/repo-proposals.d.ts.map +1 -1
  92. package/dist/routes/repo-proposals.js +16 -10
  93. package/dist/routes/repo-proposals.js.map +1 -1
  94. package/dist/routes/repositories.d.ts +2 -2
  95. package/dist/routes/repositories.d.ts.map +1 -1
  96. package/dist/routes/repositories.js +7 -6
  97. package/dist/routes/repositories.js.map +1 -1
  98. package/dist/routes/sessions.d.ts +2 -2
  99. package/dist/routes/sessions.d.ts.map +1 -1
  100. package/dist/routes/sessions.js +20 -20
  101. package/dist/routes/sessions.js.map +1 -1
  102. package/dist/routes/terminals.js +7 -7
  103. package/dist/routes/terminals.js.map +1 -1
  104. package/dist/routes/threads.js +2 -2
  105. package/dist/routes/threads.js.map +1 -1
  106. package/dist/scheduler/hooks.d.ts +1 -1
  107. package/dist/scheduler/hooks.d.ts.map +1 -1
  108. package/dist/scheduler/hooks.js +5 -5
  109. package/dist/scheduler/hooks.js.map +1 -1
  110. package/dist/scheduler/service.d.ts +3 -3
  111. package/dist/scheduler/service.d.ts.map +1 -1
  112. package/dist/scheduler/service.js +8 -8
  113. package/dist/scheduler/service.js.map +1 -1
  114. package/dist/security/path-guard.d.ts +6 -6
  115. package/dist/security/path-guard.d.ts.map +1 -1
  116. package/dist/security/path-guard.js +8 -8
  117. package/dist/security/path-guard.js.map +1 -1
  118. package/dist/security/sandbox-manager.d.ts +5 -5
  119. package/dist/security/sandbox-manager.d.ts.map +1 -1
  120. package/dist/security/sandbox-manager.js +14 -14
  121. package/dist/security/sandbox-manager.js.map +1 -1
  122. package/dist/security/tool-permissions.d.ts +1 -1
  123. package/dist/security/tool-permissions.d.ts.map +1 -1
  124. package/dist/security/tool-profiles.d.ts.map +1 -1
  125. package/dist/security/tool-profiles.js +15 -12
  126. package/dist/security/tool-profiles.js.map +1 -1
  127. package/dist/server.d.ts +4 -4
  128. package/dist/server.d.ts.map +1 -1
  129. package/dist/server.js +16 -16
  130. package/dist/server.js.map +1 -1
  131. package/dist/services/architecture-diagrams.d.ts +3 -3
  132. package/dist/services/architecture-diagrams.d.ts.map +1 -1
  133. package/dist/services/architecture-diagrams.js +19 -19
  134. package/dist/services/architecture-diagrams.js.map +1 -1
  135. package/dist/services/git.d.ts +1 -1
  136. package/dist/services/git.d.ts.map +1 -1
  137. package/dist/services/git.js +3 -3
  138. package/dist/services/git.js.map +1 -1
  139. package/dist/services/live-view-manager.d.ts +1 -1
  140. package/dist/services/live-view-manager.d.ts.map +1 -1
  141. package/dist/services/live-view-manager.js +2 -2
  142. package/dist/services/live-view-manager.js.map +1 -1
  143. package/dist/services/plans.d.ts +2 -13
  144. package/dist/services/plans.d.ts.map +1 -1
  145. package/dist/services/plans.js.map +1 -1
  146. package/dist/services/preview-runner.d.ts +5 -5
  147. package/dist/services/preview-runner.d.ts.map +1 -1
  148. package/dist/services/preview-runner.js +19 -19
  149. package/dist/services/preview-runner.js.map +1 -1
  150. package/dist/services/preview.d.ts +2 -2
  151. package/dist/services/preview.d.ts.map +1 -1
  152. package/dist/services/preview.js +8 -8
  153. package/dist/services/preview.js.map +1 -1
  154. package/dist/services/project-repositories.d.ts +35 -0
  155. package/dist/services/project-repositories.d.ts.map +1 -0
  156. package/dist/services/{workspace-repositories.js → project-repositories.js} +34 -34
  157. package/dist/services/project-repositories.js.map +1 -0
  158. package/dist/services/project-state.d.ts +8 -0
  159. package/dist/services/project-state.d.ts.map +1 -0
  160. package/dist/services/{workspace-state.js → project-state.js} +25 -25
  161. package/dist/services/project-state.js.map +1 -0
  162. package/dist/services/{workspace-watcher.d.ts → project-watcher.d.ts} +8 -8
  163. package/dist/services/project-watcher.d.ts.map +1 -0
  164. package/dist/services/{workspace-watcher.js → project-watcher.js} +7 -7
  165. package/dist/services/project-watcher.js.map +1 -0
  166. package/dist/services/{workspaces.d.ts → projects.d.ts} +13 -13
  167. package/dist/services/projects.d.ts.map +1 -0
  168. package/dist/services/{workspaces.js → projects.js} +54 -54
  169. package/dist/services/projects.js.map +1 -0
  170. package/dist/services/reminders.d.ts +16 -4
  171. package/dist/services/reminders.d.ts.map +1 -1
  172. package/dist/services/reminders.js +152 -11
  173. package/dist/services/reminders.js.map +1 -1
  174. package/dist/services/repo-proposals.d.ts +3 -14
  175. package/dist/services/repo-proposals.d.ts.map +1 -1
  176. package/dist/services/repo-proposals.js.map +1 -1
  177. package/dist/services/repositories.d.ts +3 -13
  178. package/dist/services/repositories.d.ts.map +1 -1
  179. package/dist/services/repositories.js +10 -2
  180. package/dist/services/repositories.js.map +1 -1
  181. package/dist/services/session-search.d.ts +34 -0
  182. package/dist/services/session-search.d.ts.map +1 -0
  183. package/dist/services/session-search.js +137 -0
  184. package/dist/services/session-search.js.map +1 -0
  185. package/dist/services/session-state.js +1 -1
  186. package/dist/services/sessions.d.ts +22 -22
  187. package/dist/services/sessions.d.ts.map +1 -1
  188. package/dist/services/sessions.js +21 -21
  189. package/dist/services/sessions.js.map +1 -1
  190. package/dist/services/threads.d.ts +3 -50
  191. package/dist/services/threads.d.ts.map +1 -1
  192. package/dist/services/threads.js.map +1 -1
  193. package/dist/services/users.d.ts +4 -4
  194. package/dist/services/users.d.ts.map +1 -1
  195. package/dist/services/users.js +16 -16
  196. package/dist/services/users.js.map +1 -1
  197. package/dist/sessions/contracts.d.ts +4 -4
  198. package/dist/sessions/contracts.d.ts.map +1 -1
  199. package/dist/skills/index.d.ts +1 -1
  200. package/dist/skills/index.d.ts.map +1 -1
  201. package/dist/surfaces/browser.js +1 -1
  202. package/dist/surfaces/browser.js.map +1 -1
  203. package/dist/surfaces/contracts.d.ts +1 -1
  204. package/dist/surfaces/contracts.d.ts.map +1 -1
  205. package/dist/surfaces/filesystem.d.ts +1 -1
  206. package/dist/surfaces/filesystem.d.ts.map +1 -1
  207. package/dist/surfaces/filesystem.js +18 -18
  208. package/dist/surfaces/filesystem.js.map +1 -1
  209. package/dist/surfaces/remote-filesystem.d.ts +2 -2
  210. package/dist/surfaces/remote-filesystem.d.ts.map +1 -1
  211. package/dist/surfaces/remote-filesystem.js +6 -6
  212. package/dist/surfaces/remote-filesystem.js.map +1 -1
  213. package/dist/surfaces/terminal.js +2 -2
  214. package/dist/surfaces/terminal.js.map +1 -1
  215. package/dist/tools/agent-loop.d.ts +15 -0
  216. package/dist/tools/agent-loop.d.ts.map +1 -1
  217. package/dist/tools/agent-loop.js +121 -14
  218. package/dist/tools/agent-loop.js.map +1 -1
  219. package/dist/tools/agent-tools.d.ts.map +1 -1
  220. package/dist/tools/agent-tools.js +2 -1
  221. package/dist/tools/agent-tools.js.map +1 -1
  222. package/dist/tools/architecture-tools.js +8 -8
  223. package/dist/tools/architecture-tools.js.map +1 -1
  224. package/dist/tools/browser-tools.d.ts +1 -1
  225. package/dist/tools/browser-tools.d.ts.map +1 -1
  226. package/dist/tools/browser-tools.js +3 -3
  227. package/dist/tools/browser-tools.js.map +1 -1
  228. package/dist/tools/chat-modes.d.ts +1 -1
  229. package/dist/tools/chat-modes.d.ts.map +1 -1
  230. package/dist/tools/chat-modes.js +2 -0
  231. package/dist/tools/chat-modes.js.map +1 -1
  232. package/dist/tools/contracts.d.ts +1 -1
  233. package/dist/tools/contracts.d.ts.map +1 -1
  234. package/dist/tools/core/execute.d.ts +1 -1
  235. package/dist/tools/core/execute.d.ts.map +1 -1
  236. package/dist/tools/core/execute.js +1 -1
  237. package/dist/tools/core/execute.js.map +1 -1
  238. package/dist/tools/core/get-fs.d.ts +9 -9
  239. package/dist/tools/core/get-fs.d.ts.map +1 -1
  240. package/dist/tools/core/get-fs.js +20 -20
  241. package/dist/tools/core/get-fs.js.map +1 -1
  242. package/dist/tools/core/jait.d.ts +3 -3
  243. package/dist/tools/core/jait.d.ts.map +1 -1
  244. package/dist/tools/core/jait.js +9 -9
  245. package/dist/tools/core/jait.js.map +1 -1
  246. package/dist/tools/core/read.d.ts +1 -1
  247. package/dist/tools/core/read.d.ts.map +1 -1
  248. package/dist/tools/core/search.d.ts +2 -2
  249. package/dist/tools/core/search.d.ts.map +1 -1
  250. package/dist/tools/core/search.js +5 -5
  251. package/dist/tools/core/search.js.map +1 -1
  252. package/dist/tools/cron-tools.js +2 -2
  253. package/dist/tools/cron-tools.js.map +1 -1
  254. package/dist/tools/elevated-tools.js +3 -3
  255. package/dist/tools/elevated-tools.js.map +1 -1
  256. package/dist/tools/file-tools.js +4 -4
  257. package/dist/tools/file-tools.js.map +1 -1
  258. package/dist/tools/index.d.ts +7 -4
  259. package/dist/tools/index.d.ts.map +1 -1
  260. package/dist/tools/index.js +14 -7
  261. package/dist/tools/index.js.map +1 -1
  262. package/dist/tools/memory-tools.d.ts +8 -4
  263. package/dist/tools/memory-tools.d.ts.map +1 -1
  264. package/dist/tools/memory-tools.js +58 -11
  265. package/dist/tools/memory-tools.js.map +1 -1
  266. package/dist/tools/preview-tools.d.ts +1 -1
  267. package/dist/tools/preview-tools.d.ts.map +1 -1
  268. package/dist/tools/preview-tools.js +10 -10
  269. package/dist/tools/preview-tools.js.map +1 -1
  270. package/dist/tools/{workspace-tools.d.ts → project-tools.d.ts} +4 -4
  271. package/dist/tools/project-tools.d.ts.map +1 -0
  272. package/dist/tools/{workspace-tools.js → project-tools.js} +28 -28
  273. package/dist/tools/project-tools.js.map +1 -0
  274. package/dist/tools/prompts/claude-prompt.js +4 -4
  275. package/dist/tools/prompts/default-openai-prompt.js +1 -1
  276. package/dist/tools/prompts/default-prompt.js +1 -1
  277. package/dist/tools/prompts/gemini-prompt.js +4 -4
  278. package/dist/tools/prompts/gpt5-prompt.js +3 -3
  279. package/dist/tools/prompts/gpt51-prompt.js +2 -2
  280. package/dist/tools/prompts/gpt52-prompt.js +2 -2
  281. package/dist/tools/prompts/prompt-registry.d.ts +2 -2
  282. package/dist/tools/prompts/prompt-registry.d.ts.map +1 -1
  283. package/dist/tools/prompts/prompt-registry.js +5 -5
  284. package/dist/tools/prompts/prompt-registry.js.map +1 -1
  285. package/dist/tools/prompts/shared-sections.d.ts +3 -3
  286. package/dist/tools/prompts/shared-sections.d.ts.map +1 -1
  287. package/dist/tools/prompts/shared-sections.js +12 -10
  288. package/dist/tools/prompts/shared-sections.js.map +1 -1
  289. package/dist/tools/prompts/xai-prompt.js +2 -2
  290. package/dist/tools/remote-executor.d.ts +7 -7
  291. package/dist/tools/remote-executor.d.ts.map +1 -1
  292. package/dist/tools/remote-executor.js +14 -13
  293. package/dist/tools/remote-executor.js.map +1 -1
  294. package/dist/tools/repo-proposal-tools.js +5 -5
  295. package/dist/tools/repo-proposal-tools.js.map +1 -1
  296. package/dist/tools/session-search-tools.d.ts +12 -0
  297. package/dist/tools/session-search-tools.d.ts.map +1 -0
  298. package/dist/tools/session-search-tools.js +59 -0
  299. package/dist/tools/session-search-tools.js.map +1 -0
  300. package/dist/tools/ssh-tools.js +1 -1
  301. package/dist/tools/ssh-tools.js.map +1 -1
  302. package/dist/tools/surface-tools.d.ts +1 -1
  303. package/dist/tools/surface-tools.d.ts.map +1 -1
  304. package/dist/tools/surface-tools.js +2 -2
  305. package/dist/tools/surface-tools.js.map +1 -1
  306. package/dist/tools/terminal-tools.d.ts +2 -2
  307. package/dist/tools/terminal-tools.d.ts.map +1 -1
  308. package/dist/tools/terminal-tools.js +10 -10
  309. package/dist/tools/terminal-tools.js.map +1 -1
  310. package/dist/tools/thread-tools.d.ts.map +1 -1
  311. package/dist/tools/thread-tools.js +53 -8
  312. package/dist/tools/thread-tools.js.map +1 -1
  313. package/dist/tools/token-estimator.d.ts.map +1 -1
  314. package/dist/tools/token-estimator.js +30 -1
  315. package/dist/tools/token-estimator.js.map +1 -1
  316. package/dist/tools/tool-names.d.ts +2 -1
  317. package/dist/tools/tool-names.d.ts.map +1 -1
  318. package/dist/tools/tool-names.js +2 -1
  319. package/dist/tools/tool-names.js.map +1 -1
  320. package/dist/voice-assistant/service.d.ts +1 -1
  321. package/dist/voice-assistant/service.js +4 -4
  322. package/dist/voice-assistant/tools.d.ts +2 -2
  323. package/dist/voice-assistant/tools.d.ts.map +1 -1
  324. package/dist/voice-assistant/tools.js +14 -14
  325. package/dist/voice-assistant/tools.js.map +1 -1
  326. package/dist/ws.d.ts +1 -1
  327. package/dist/ws.d.ts.map +1 -1
  328. package/dist/ws.js +2 -2
  329. package/dist/ws.js.map +1 -1
  330. package/package.json +2 -2
  331. package/web-dist/assets/{_basePickBy-BxTNhXHf.js → _basePickBy-BM8eesD4.js} +1 -1
  332. package/web-dist/assets/{_baseUniq-BzmTBuCK.js → _baseUniq-BM6-oAti.js} +1 -1
  333. package/web-dist/assets/{arc-D_str31s.js → arc-DCuHZnW6.js} +1 -1
  334. package/web-dist/assets/{architectureDiagram-2XIMDMQ5-iGpZ5eMv.js → architectureDiagram-2XIMDMQ5-CbghC0Jt.js} +1 -1
  335. package/web-dist/assets/{blockDiagram-WCTKOSBZ-CzaQqynl.js → blockDiagram-WCTKOSBZ-CY4EJBQ6.js} +1 -1
  336. package/web-dist/assets/{c4Diagram-IC4MRINW-PyiTG4vY.js → c4Diagram-IC4MRINW-CWy0R6Nw.js} +1 -1
  337. package/web-dist/assets/channel-C4yEM23r.js +1 -0
  338. package/web-dist/assets/{chunk-4BX2VUAB-D0T3UNJp.js → chunk-4BX2VUAB-Dc3yo1Gc.js} +1 -1
  339. package/web-dist/assets/{chunk-55IACEB6-CEZ65WgK.js → chunk-55IACEB6-ugBuFkg4.js} +1 -1
  340. package/web-dist/assets/{chunk-FMBD7UC4-P5kWRofC.js → chunk-FMBD7UC4-cu6QQh2a.js} +1 -1
  341. package/web-dist/assets/{chunk-JSJVCQXG-Cn1owVt4.js → chunk-JSJVCQXG-DTdBqiLF.js} +1 -1
  342. package/web-dist/assets/{chunk-KX2RTZJC-CC0b6eqX.js → chunk-KX2RTZJC-DFApvQwT.js} +1 -1
  343. package/web-dist/assets/{chunk-NQ4KR5QH-CNIgo-1z.js → chunk-NQ4KR5QH-4yOScl2J.js} +1 -1
  344. package/web-dist/assets/{chunk-QZHKN3VN-DF6TeuK6.js → chunk-QZHKN3VN-CM38B0WV.js} +1 -1
  345. package/web-dist/assets/{chunk-WL4C6EOR-DaZTFehP.js → chunk-WL4C6EOR-eBVrWGce.js} +1 -1
  346. package/web-dist/assets/classDiagram-VBA2DB6C-QCajg6F3.js +1 -0
  347. package/web-dist/assets/classDiagram-v2-RAHNMMFH-QCajg6F3.js +1 -0
  348. package/web-dist/assets/clone-Dqpxz3OJ.js +1 -0
  349. package/web-dist/assets/{cose-bilkent-S5V4N54A-BxdF5cV-.js → cose-bilkent-S5V4N54A-HHRRPeV9.js} +1 -1
  350. package/web-dist/assets/{dagre-KLK3FWXG-Dm4scFIL.js → dagre-KLK3FWXG-aAUSG7Mo.js} +1 -1
  351. package/web-dist/assets/{diagram-E7M64L7V-Bne6RKl6.js → diagram-E7M64L7V-BJt3zK9H.js} +1 -1
  352. package/web-dist/assets/{diagram-IFDJBPK2-j2mQ5C5l.js → diagram-IFDJBPK2-BSK9w0bb.js} +1 -1
  353. package/web-dist/assets/{diagram-P4PSJMXO-CdzuLWEw.js → diagram-P4PSJMXO-DylDASun.js} +1 -1
  354. package/web-dist/assets/{erDiagram-INFDFZHY-DZrdptsJ.js → erDiagram-INFDFZHY-C2CoituG.js} +1 -1
  355. package/web-dist/assets/{flowDiagram-PKNHOUZH-DgjJzAMy.js → flowDiagram-PKNHOUZH-C2UR2xxJ.js} +1 -1
  356. package/web-dist/assets/{ganttDiagram-A5KZAMGK-BUK9KV20.js → ganttDiagram-A5KZAMGK-ClxfUfSR.js} +1 -1
  357. package/web-dist/assets/{gitGraphDiagram-K3NZZRJ6-D30kLUud.js → gitGraphDiagram-K3NZZRJ6-CHp_onyn.js} +1 -1
  358. package/web-dist/assets/{graph-Uq5Ey2rZ.js → graph-CG2WS7_t.js} +1 -1
  359. package/web-dist/assets/{index-Ceg7oKI4.js → index-BwYKBEGE.js} +1 -1
  360. package/web-dist/assets/index-CPIpYLuw.js +1504 -0
  361. package/web-dist/assets/index-CjPicmz_.css +32 -0
  362. package/web-dist/assets/{index-Dl_78WX8.js → index-DwvrR7An.js} +1 -1
  363. package/web-dist/assets/{infoDiagram-LFFYTUFH-CcayyObn.js → infoDiagram-LFFYTUFH-D-1oFNFC.js} +1 -1
  364. package/web-dist/assets/{ishikawaDiagram-PHBUUO56-CoNyYrRv.js → ishikawaDiagram-PHBUUO56-DWcJu4vD.js} +1 -1
  365. package/web-dist/assets/{journeyDiagram-4ABVD52K-DhNuQwoO.js → journeyDiagram-4ABVD52K-CyrGxq5f.js} +1 -1
  366. package/web-dist/assets/{kanban-definition-K7BYSVSG-CiBoEtT_.js → kanban-definition-K7BYSVSG-Bq9ecx3z.js} +1 -1
  367. package/web-dist/assets/{layout-CclAjc31.js → layout-DnxR75j6.js} +1 -1
  368. package/web-dist/assets/{linear-D0T2Ue4i.js → linear-Bj4ZUyD2.js} +1 -1
  369. package/web-dist/assets/{mindmap-definition-YRQLILUH-Bs5KOLlF.js → mindmap-definition-YRQLILUH-CCzvprBn.js} +1 -1
  370. package/web-dist/assets/{pieDiagram-SKSYHLDU-D5ft8t9O.js → pieDiagram-SKSYHLDU-xDO_MmaO.js} +1 -1
  371. package/web-dist/assets/{quadrantDiagram-337W2JSQ-CTrNOfNq.js → quadrantDiagram-337W2JSQ-DACNxopk.js} +1 -1
  372. package/web-dist/assets/{requirementDiagram-Z7DCOOCP-Lfkxswx5.js → requirementDiagram-Z7DCOOCP-CMqe5H--.js} +1 -1
  373. package/web-dist/assets/{sankeyDiagram-WA2Y5GQK-D7VXd1gH.js → sankeyDiagram-WA2Y5GQK-jn75MYj4.js} +1 -1
  374. package/web-dist/assets/{sequenceDiagram-2WXFIKYE-BobMUXZE.js → sequenceDiagram-2WXFIKYE-C8afKJhS.js} +1 -1
  375. package/web-dist/assets/{stateDiagram-RAJIS63D-BiTIuwsM.js → stateDiagram-RAJIS63D-Ftq6oKpa.js} +1 -1
  376. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-DaZO7yY_.js +1 -0
  377. package/web-dist/assets/{timeline-definition-YZTLITO2-rKlur9hp.js → timeline-definition-YZTLITO2-DQ4bUy-3.js} +1 -1
  378. package/web-dist/assets/{treemap-KZPCXAKY-BtERtPNk.js → treemap-KZPCXAKY-C9ovvl15.js} +1 -1
  379. package/web-dist/assets/{vennDiagram-LZ73GAT5-Ke0QhSrP.js → vennDiagram-LZ73GAT5-D3O9WbYV.js} +1 -1
  380. package/web-dist/assets/{xychartDiagram-JWTSCODW-Cl96gv3X.js → xychartDiagram-JWTSCODW-UqN90bHw.js} +1 -1
  381. package/web-dist/index.html +2 -2
  382. package/dist/routes/workspace.d.ts +0 -16
  383. package/dist/routes/workspace.d.ts.map +0 -1
  384. package/dist/routes/workspace.js.map +0 -1
  385. package/dist/routes/workspaces.d.ts +0 -15
  386. package/dist/routes/workspaces.d.ts.map +0 -1
  387. package/dist/routes/workspaces.js.map +0 -1
  388. package/dist/services/workspace-repositories.d.ts +0 -35
  389. package/dist/services/workspace-repositories.d.ts.map +0 -1
  390. package/dist/services/workspace-repositories.js.map +0 -1
  391. package/dist/services/workspace-state.d.ts +0 -8
  392. package/dist/services/workspace-state.d.ts.map +0 -1
  393. package/dist/services/workspace-state.js.map +0 -1
  394. package/dist/services/workspace-watcher.d.ts.map +0 -1
  395. package/dist/services/workspace-watcher.js.map +0 -1
  396. package/dist/services/workspaces.d.ts.map +0 -1
  397. package/dist/services/workspaces.js.map +0 -1
  398. package/dist/tools/workspace-tools.d.ts.map +0 -1
  399. package/dist/tools/workspace-tools.js.map +0 -1
  400. package/web-dist/assets/channel-Dpmc9iFy.js +0 -1
  401. package/web-dist/assets/classDiagram-VBA2DB6C-yqgzo6kv.js +0 -1
  402. package/web-dist/assets/classDiagram-v2-RAHNMMFH-yqgzo6kv.js +0 -1
  403. package/web-dist/assets/clone-BV2MQMkR.js +0 -1
  404. package/web-dist/assets/index-Bir79SR1.css +0 -32
  405. package/web-dist/assets/index-CPsRY9iy.js +0 -1503
  406. package/web-dist/assets/stateDiagram-v2-FVOUBMTO-BxQjvEWb.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { GitService } from "../services/git.js";
2
- import { assignRepositoryToWorkspace, autoAssignWorkspaceRepositories, WorkspaceRepositoryAssignmentError, } from "../services/workspace-repositories.js";
2
+ import { assignRepositoryToProject, autoAssignProjectRepositories, ProjectRepositoryAssignmentError, } from "../services/project-repositories.js";
3
3
  import { requireAuth } from "../security/http-auth.js";
4
- export function registerWorkspaceEntityRoutes(app, config, workspaceService, sessionService, workspaceState, deps = {}) {
4
+ export function registerProjectEntityRoutes(app, config, projectService, sessionService, projectState, deps = {}) {
5
5
  const gitService = deps.repoService ? (deps.gitService ?? new GitService()) : undefined;
6
6
  const parseListLimit = (value) => {
7
7
  if (typeof value !== "string")
@@ -11,60 +11,60 @@ export function registerWorkspaceEntityRoutes(app, config, workspaceService, ses
11
11
  return undefined;
12
12
  return Math.min(parsed, 100);
13
13
  };
14
- const maybeAutoAssignWorkspaceRepos = async (userId) => {
14
+ const maybeAutoAssignProjectRepos = async (userId) => {
15
15
  if (!deps.repoService || !gitService)
16
16
  return;
17
- await autoAssignWorkspaceRepositories({
18
- workspaceService,
17
+ await autoAssignProjectRepositories({
18
+ projectService,
19
19
  repoService: deps.repoService,
20
20
  gitService,
21
21
  userId,
22
22
  ws: deps.ws,
23
23
  });
24
24
  };
25
- const maybeAssignWorkspaceRepo = async (workspaceId, userId) => {
25
+ const maybeAssignProjectRepo = async (projectId, userId) => {
26
26
  if (!deps.repoService || !gitService)
27
27
  return;
28
28
  try {
29
- await assignRepositoryToWorkspace({
30
- workspaceService,
29
+ await assignRepositoryToProject({
30
+ projectService,
31
31
  repoService: deps.repoService,
32
32
  gitService,
33
- workspaceId,
33
+ projectId,
34
34
  userId,
35
35
  ws: deps.ws,
36
36
  });
37
37
  }
38
38
  catch (err) {
39
- if (err instanceof WorkspaceRepositoryAssignmentError) {
40
- if (err.code === "WORKSPACE_NOT_GIT" || err.code === "WORKSPACE_HAS_NO_ROOT")
39
+ if (err instanceof ProjectRepositoryAssignmentError) {
40
+ if (err.code === "PROJECT_NOT_GIT" || err.code === "PROJECT_HAS_NO_ROOT")
41
41
  return;
42
42
  }
43
43
  throw err;
44
44
  }
45
45
  };
46
46
  const sendAssignmentError = (reply, err) => {
47
- if (err instanceof WorkspaceRepositoryAssignmentError) {
48
- const statusCode = err.code === "WORKSPACE_NOT_FOUND" || err.code === "REPOSITORY_NOT_FOUND" ? 404 : 400;
47
+ if (err instanceof ProjectRepositoryAssignmentError) {
48
+ const statusCode = err.code === "PROJECT_NOT_FOUND" || err.code === "REPOSITORY_NOT_FOUND" ? 404 : 400;
49
49
  return reply.status(statusCode).send({ error: err.code, details: err.message });
50
50
  }
51
51
  throw err;
52
52
  };
53
- app.post("/api/workspaces", async (request, reply) => {
53
+ app.post("/api/projects", async (request, reply) => {
54
54
  const authUser = await requireAuth(request, reply, config.jwtSecret);
55
55
  if (!authUser)
56
56
  return;
57
57
  const body = request.body ?? {};
58
- const workspace = workspaceService.getOrCreateForRoot({
58
+ const project = projectService.getOrCreateForRoot({
59
59
  userId: authUser.id,
60
60
  title: typeof body["title"] === "string" ? body["title"] : undefined,
61
61
  rootPath: typeof body["rootPath"] === "string" ? body["rootPath"] : null,
62
62
  nodeId: typeof body["nodeId"] === "string" ? body["nodeId"] : "gateway",
63
63
  });
64
- await maybeAssignWorkspaceRepo(workspace.id, authUser.id);
65
- return reply.status(201).send(workspaceService.getById(workspace.id, authUser.id) ?? workspace);
64
+ await maybeAssignProjectRepo(project.id, authUser.id);
65
+ return reply.status(201).send(projectService.getById(project.id, authUser.id) ?? project);
66
66
  });
67
- app.get("/api/workspaces", async (request, reply) => {
67
+ app.get("/api/projects", async (request, reply) => {
68
68
  const authUser = await requireAuth(request, reply, config.jwtSecret);
69
69
  if (!authUser)
70
70
  return;
@@ -72,75 +72,75 @@ export function registerWorkspaceEntityRoutes(app, config, workspaceService, ses
72
72
  const status = typeof query["status"] === "string" ? query["status"] : "active";
73
73
  const limit = parseListLimit(query["limit"]);
74
74
  if (status === "active")
75
- await maybeAutoAssignWorkspaceRepos(authUser.id);
76
- return workspaceService.listWithSessions(authUser.id, status, limit);
75
+ await maybeAutoAssignProjectRepos(authUser.id);
76
+ return projectService.listWithSessions(authUser.id, status, limit);
77
77
  });
78
- app.get("/api/workspaces/last-active", async (request, reply) => {
78
+ app.get("/api/projects/last-active", async (request, reply) => {
79
79
  const authUser = await requireAuth(request, reply, config.jwtSecret);
80
80
  if (!authUser)
81
81
  return;
82
82
  const session = sessionService.lastActive(authUser.id);
83
- await maybeAutoAssignWorkspaceRepos(authUser.id);
84
- if (!session?.workspaceId) {
85
- return { workspace: null, session };
83
+ await maybeAutoAssignProjectRepos(authUser.id);
84
+ if (!session?.projectId) {
85
+ return { project: null, session };
86
86
  }
87
87
  return {
88
- workspace: workspaceService.getById(session.workspaceId, authUser.id) ?? null,
88
+ project: projectService.getById(session.projectId, authUser.id) ?? null,
89
89
  session,
90
90
  };
91
91
  });
92
- app.post("/api/workspaces/select", async (request, reply) => {
92
+ app.post("/api/projects/select", async (request, reply) => {
93
93
  const authUser = await requireAuth(request, reply, config.jwtSecret);
94
94
  if (!authUser)
95
95
  return;
96
96
  const body = request.body ?? {};
97
- const workspaceId = typeof body["workspaceId"] === "string" ? body["workspaceId"] : null;
97
+ const projectId = typeof body["projectId"] === "string" ? body["projectId"] : null;
98
98
  const sessionId = typeof body["sessionId"] === "string" ? body["sessionId"] : null;
99
- if (workspaceId) {
100
- const workspace = workspaceService.getById(workspaceId, authUser.id);
101
- if (!workspace) {
102
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
99
+ if (projectId) {
100
+ const project = projectService.getById(projectId, authUser.id);
101
+ if (!project) {
102
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
103
103
  }
104
- workspaceService.touch(workspaceId);
104
+ projectService.touch(projectId);
105
105
  }
106
106
  if (sessionId) {
107
107
  sessionService.touch(sessionId);
108
108
  }
109
109
  return { ok: true };
110
110
  });
111
- app.get("/api/workspaces/:id", async (request, reply) => {
111
+ app.get("/api/projects/:id", async (request, reply) => {
112
112
  const authUser = await requireAuth(request, reply, config.jwtSecret);
113
113
  if (!authUser)
114
114
  return;
115
115
  const { id } = request.params;
116
- const workspace = workspaceService.getById(id, authUser.id);
117
- if (!workspace) {
118
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
116
+ const project = projectService.getById(id, authUser.id);
117
+ if (!project) {
118
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
119
119
  }
120
120
  return {
121
- ...workspace,
122
- sessions: sessionService.listByWorkspace(id, "active", authUser.id),
121
+ ...project,
122
+ sessions: sessionService.listByProject(id, "active", authUser.id),
123
123
  };
124
124
  });
125
- app.patch("/api/workspaces/:id", async (request, reply) => {
125
+ app.patch("/api/projects/:id", async (request, reply) => {
126
126
  const authUser = await requireAuth(request, reply, config.jwtSecret);
127
127
  if (!authUser)
128
128
  return;
129
129
  const { id } = request.params;
130
- const workspace = workspaceService.getById(id, authUser.id);
131
- if (!workspace) {
132
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
130
+ const project = projectService.getById(id, authUser.id);
131
+ if (!project) {
132
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
133
133
  }
134
134
  const body = request.body ?? {};
135
- workspaceService.update(id, {
135
+ projectService.update(id, {
136
136
  title: typeof body["title"] === "string" ? body["title"] : undefined,
137
137
  rootPath: typeof body["rootPath"] === "string" ? body["rootPath"] : undefined,
138
138
  nodeId: typeof body["nodeId"] === "string" ? body["nodeId"] : undefined,
139
139
  }, authUser.id);
140
- await maybeAssignWorkspaceRepo(id, authUser.id);
141
- return workspaceService.getById(id, authUser.id);
140
+ await maybeAssignProjectRepo(id, authUser.id);
141
+ return projectService.getById(id, authUser.id);
142
142
  });
143
- app.post("/api/workspaces/:id/repository", async (request, reply) => {
143
+ app.post("/api/projects/:id/repository", async (request, reply) => {
144
144
  const authUser = await requireAuth(request, reply, config.jwtSecret);
145
145
  if (!authUser)
146
146
  return;
@@ -151,11 +151,11 @@ export function registerWorkspaceEntityRoutes(app, config, workspaceService, ses
151
151
  const body = request.body ?? {};
152
152
  const repoId = typeof body["repoId"] === "string" ? body["repoId"] : undefined;
153
153
  try {
154
- const assignment = await assignRepositoryToWorkspace({
155
- workspaceService,
154
+ const assignment = await assignRepositoryToProject({
155
+ projectService,
156
156
  repoService: deps.repoService,
157
157
  gitService,
158
- workspaceId: id,
158
+ projectId: id,
159
159
  userId: authUser.id,
160
160
  repoId,
161
161
  ws: deps.ws,
@@ -166,120 +166,120 @@ export function registerWorkspaceEntityRoutes(app, config, workspaceService, ses
166
166
  return sendAssignmentError(reply, err);
167
167
  }
168
168
  });
169
- app.delete("/api/workspaces/archived", async (request, reply) => {
169
+ app.delete("/api/projects/archived", async (request, reply) => {
170
170
  const authUser = await requireAuth(request, reply, config.jwtSecret);
171
171
  if (!authUser)
172
172
  return;
173
- const archived = workspaceService.list("archived", authUser.id);
174
- for (const workspace of archived) {
175
- sessionService.deleteByWorkspace(workspace.id, authUser.id);
173
+ const archived = projectService.list("archived", authUser.id);
174
+ for (const project of archived) {
175
+ sessionService.deleteByProject(project.id, authUser.id);
176
176
  }
177
- const removed = workspaceService.deleteArchived(authUser.id);
177
+ const removed = projectService.deleteArchived(authUser.id);
178
178
  return { ok: true, removed };
179
179
  });
180
- app.get("/api/workspaces/archived", async (request, reply) => {
180
+ app.get("/api/projects/archived", async (request, reply) => {
181
181
  const authUser = await requireAuth(request, reply, config.jwtSecret);
182
182
  if (!authUser)
183
183
  return;
184
- const archived = workspaceService.list("archived", authUser.id);
185
- return { workspaces: archived };
184
+ const archived = projectService.list("archived", authUser.id);
185
+ return { projects: archived };
186
186
  });
187
- app.post("/api/workspaces/:id/restore", async (request, reply) => {
187
+ app.post("/api/projects/:id/restore", async (request, reply) => {
188
188
  const authUser = await requireAuth(request, reply, config.jwtSecret);
189
189
  if (!authUser)
190
190
  return;
191
191
  const { id } = request.params;
192
- const workspace = workspaceService.getById(id, authUser.id);
193
- if (!workspace) {
194
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
192
+ const project = projectService.getById(id, authUser.id);
193
+ if (!project) {
194
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
195
195
  }
196
- if (workspace.status !== "archived") {
197
- return reply.status(400).send({ error: "BAD_REQUEST", details: "Workspace is not archived" });
196
+ if (project.status !== "archived") {
197
+ return reply.status(400).send({ error: "BAD_REQUEST", details: "Project is not archived" });
198
198
  }
199
- sessionService.restoreByWorkspace(id, authUser.id);
200
- workspaceService.restore(id, authUser.id);
201
- return workspaceService.getById(id, authUser.id);
199
+ sessionService.restoreByProject(id, authUser.id);
200
+ projectService.restore(id, authUser.id);
201
+ return projectService.getById(id, authUser.id);
202
202
  });
203
- app.delete("/api/workspaces/:id", async (request, reply) => {
203
+ app.delete("/api/projects/:id", async (request, reply) => {
204
204
  const authUser = await requireAuth(request, reply, config.jwtSecret);
205
205
  if (!authUser)
206
206
  return;
207
207
  const { id } = request.params;
208
- const workspace = workspaceService.getById(id, authUser.id);
209
- if (!workspace) {
210
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
208
+ const project = projectService.getById(id, authUser.id);
209
+ if (!project) {
210
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
211
211
  }
212
- const sessions = sessionService.listByWorkspace(id, "active", authUser.id);
212
+ const sessions = sessionService.listByProject(id, "active", authUser.id);
213
213
  if (sessions.length > 0) {
214
- return reply.status(409).send({ error: "CONFLICT", details: "Workspace still has active sessions" });
214
+ return reply.status(409).send({ error: "CONFLICT", details: "Project still has active sessions" });
215
215
  }
216
- sessionService.archiveByWorkspace(id, authUser.id);
217
- workspaceService.archive(id, authUser.id);
216
+ sessionService.archiveByProject(id, authUser.id);
217
+ projectService.archive(id, authUser.id);
218
218
  return reply.status(204).send();
219
219
  });
220
- app.get("/api/workspaces/:id/sessions", async (request, reply) => {
220
+ app.get("/api/projects/:id/sessions", async (request, reply) => {
221
221
  const authUser = await requireAuth(request, reply, config.jwtSecret);
222
222
  if (!authUser)
223
223
  return;
224
224
  const { id } = request.params;
225
- const workspace = workspaceService.getById(id, authUser.id);
226
- if (!workspace) {
227
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
225
+ const project = projectService.getById(id, authUser.id);
226
+ if (!project) {
227
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
228
228
  }
229
229
  const query = request.query;
230
230
  const status = typeof query["status"] === "string" ? query["status"] : "active";
231
- return { sessions: sessionService.listByWorkspace(id, status, authUser.id) };
231
+ return { sessions: sessionService.listByProject(id, status, authUser.id) };
232
232
  });
233
- app.post("/api/workspaces/:id/sessions", async (request, reply) => {
233
+ app.post("/api/projects/:id/sessions", async (request, reply) => {
234
234
  const authUser = await requireAuth(request, reply, config.jwtSecret);
235
235
  if (!authUser)
236
236
  return;
237
237
  const { id } = request.params;
238
- const workspace = workspaceService.getById(id, authUser.id);
239
- if (!workspace) {
240
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
238
+ const project = projectService.getById(id, authUser.id);
239
+ if (!project) {
240
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
241
241
  }
242
242
  const body = request.body ?? {};
243
243
  const session = sessionService.create({
244
244
  userId: authUser.id,
245
- workspaceId: id,
246
- workspacePath: workspace.rootPath ?? undefined,
245
+ projectId: id,
246
+ projectPath: project.rootPath ?? undefined,
247
247
  name: typeof body["name"] === "string" ? body["name"] : undefined,
248
248
  });
249
- workspaceService.touch(id);
249
+ projectService.touch(id);
250
250
  return reply.status(201).send(session);
251
251
  });
252
- if (workspaceState) {
253
- app.get("/api/workspaces/:id/state", async (request, reply) => {
252
+ if (projectState) {
253
+ app.get("/api/projects/:id/state", async (request, reply) => {
254
254
  const authUser = await requireAuth(request, reply, config.jwtSecret);
255
255
  if (!authUser)
256
256
  return;
257
257
  const { id } = request.params;
258
- const workspace = workspaceService.getById(id, authUser.id);
259
- if (!workspace) {
260
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
258
+ const project = projectService.getById(id, authUser.id);
259
+ if (!project) {
260
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
261
261
  }
262
262
  const query = request.query;
263
263
  const keysParam = typeof query["keys"] === "string" ? query["keys"] : undefined;
264
264
  const keys = keysParam ? keysParam.split(",").map((k) => k.trim()).filter(Boolean) : undefined;
265
- return workspaceState.get(id, keys);
265
+ return projectState.get(id, keys);
266
266
  });
267
- app.patch("/api/workspaces/:id/state", async (request, reply) => {
267
+ app.patch("/api/projects/:id/state", async (request, reply) => {
268
268
  const authUser = await requireAuth(request, reply, config.jwtSecret);
269
269
  if (!authUser)
270
270
  return;
271
271
  const { id } = request.params;
272
- const workspace = workspaceService.getById(id, authUser.id);
273
- if (!workspace) {
274
- return reply.status(404).send({ error: "NOT_FOUND", details: "Workspace not found" });
272
+ const project = projectService.getById(id, authUser.id);
273
+ if (!project) {
274
+ return reply.status(404).send({ error: "NOT_FOUND", details: "Project not found" });
275
275
  }
276
276
  const body = request.body ?? {};
277
277
  if (typeof body !== "object" || Array.isArray(body)) {
278
278
  return reply.status(400).send({ error: "VALIDATION_ERROR", details: "Body must be a JSON object of key→value pairs" });
279
279
  }
280
- workspaceState.set(id, body);
280
+ projectState.set(id, body);
281
281
  return { ok: true };
282
282
  });
283
283
  }
284
284
  }
285
- //# sourceMappingURL=workspaces.js.map
285
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAuG/C,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CA4NN"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CA4NN"}
@@ -10,103 +10,8 @@
10
10
  * POST /api/providers/:id/auth/logout — log out provider
11
11
  * GET /api/providers/:id/models — list models for a provider
12
12
  */
13
+ import { fetchOpenAIModels, fetchOpenRouterModels, fetchOllamaModels, } from "../providers/model-fetchers.js";
13
14
  import { requireAuth } from "../security/http-auth.js";
14
- // ── Model fetchers with in-memory caches ─────────────────────────
15
- /** Fetch models from OpenRouter API with a 5-second timeout and in-memory cache. */
16
- let orCache = null;
17
- const OR_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
18
- async function fetchOpenRouterModels(apiKey) {
19
- if (orCache && Date.now() - orCache.fetchedAt < OR_CACHE_TTL) {
20
- return orCache.models;
21
- }
22
- const controller = new AbortController();
23
- const timeout = setTimeout(() => controller.abort(), 5000);
24
- try {
25
- const res = await fetch("https://openrouter.ai/api/v1/models", {
26
- headers: { Authorization: `Bearer ${apiKey}` },
27
- signal: controller.signal,
28
- });
29
- if (!res.ok)
30
- return [];
31
- const data = (await res.json());
32
- const models = (data.data ?? [])
33
- .filter((m) => m.id && !m.id.includes(":free"))
34
- .slice(0, 100)
35
- .map((m) => ({
36
- id: m.id,
37
- name: m.name || m.id.split("/").pop() || m.id,
38
- description: m.description?.slice(0, 80),
39
- }));
40
- orCache = { models, fetchedAt: Date.now() };
41
- return models;
42
- }
43
- finally {
44
- clearTimeout(timeout);
45
- }
46
- }
47
- /** Fetch models from OpenAI /v1/models with a 5-second timeout and in-memory cache. */
48
- let openaiCache = null;
49
- const OPENAI_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
50
- /** Model ID prefixes that represent chat-completion-capable models. */
51
- const OPENAI_CHAT_PREFIXES = ["gpt-", "o1", "o3", "o4", "chatgpt-"];
52
- async function fetchOpenAIModels(apiKey, baseUrl) {
53
- const url = baseUrl.replace(/\/+$/, "");
54
- if (openaiCache && openaiCache.baseUrl === url && Date.now() - openaiCache.fetchedAt < OPENAI_CACHE_TTL) {
55
- return openaiCache.models;
56
- }
57
- const controller = new AbortController();
58
- const timeout = setTimeout(() => controller.abort(), 5000);
59
- try {
60
- const res = await fetch(`${url}/models`, {
61
- headers: { Authorization: `Bearer ${apiKey}` },
62
- signal: controller.signal,
63
- });
64
- if (!res.ok)
65
- return [];
66
- const data = (await res.json());
67
- const models = (data.data ?? [])
68
- .filter((m) => m.id && OPENAI_CHAT_PREFIXES.some((p) => m.id.startsWith(p)))
69
- // Remove fine-tune snapshots, realtime, audio-only, transcription variants
70
- .filter((m) => !m.id.includes(":ft-") && !m.id.includes("realtime") && !m.id.includes("transcribe") && !m.id.includes("tts") && !m.id.includes("dall-e") && !m.id.includes("whisper"))
71
- .sort((a, b) => a.id.localeCompare(b.id))
72
- .map((m) => ({
73
- id: m.id,
74
- name: m.id,
75
- description: m.owned_by ? `by ${m.owned_by}` : undefined,
76
- }));
77
- openaiCache = { models, fetchedAt: Date.now(), baseUrl: url };
78
- return models;
79
- }
80
- finally {
81
- clearTimeout(timeout);
82
- }
83
- }
84
- let ollamaCache = null;
85
- const OLLAMA_CACHE_TTL = 30 * 1000; // 30 seconds (local, fast)
86
- async function fetchOllamaModels(baseUrl) {
87
- const url = baseUrl.replace(/\/+$/, "");
88
- if (ollamaCache && ollamaCache.url === url && Date.now() - ollamaCache.fetchedAt < OLLAMA_CACHE_TTL) {
89
- return ollamaCache.models;
90
- }
91
- const controller = new AbortController();
92
- const timeout = setTimeout(() => controller.abort(), 5000);
93
- try {
94
- const res = await fetch(`${url}/api/tags`, { signal: controller.signal });
95
- if (!res.ok)
96
- return [];
97
- const data = (await res.json());
98
- const models = (data.models ?? []).map((m) => ({
99
- id: m.name,
100
- name: m.name,
101
- description: [m.details?.family, m.details?.parameter_size].filter(Boolean).join(" · ") || undefined,
102
- }));
103
- ollamaCache = { models, fetchedAt: Date.now(), url };
104
- return models;
105
- }
106
- finally {
107
- clearTimeout(timeout);
108
- }
109
- }
110
15
  export function registerProviderRoutes(app, config, deps) {
111
16
  const { providerRegistry, ws } = deps;
112
17
  /** List available providers (local + remote) */
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ import type { AppConfig } from "../config.js";
3
3
  import type { ReminderService } from "../services/reminders.js";
4
4
  import type { SessionService } from "../services/sessions.js";
5
5
  import type { ThreadService } from "../services/threads.js";
6
- import type { WorkspaceService } from "../services/workspaces.js";
6
+ import type { ProjectService } from "../services/projects.js";
7
7
  export interface ReminderRouteDeps {
8
8
  reminderService: ReminderService;
9
- workspaceService?: WorkspaceService;
9
+ projectService?: ProjectService;
10
10
  sessionService?: SessionService;
11
11
  threadService?: ThreadService;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reminders.d.ts","sourceRoot":"","sources":["../../src/routes/reminders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAqBD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CAoHN"}
1
+ {"version":3,"file":"reminders.d.ts","sourceRoot":"","sources":["../../src/routes/reminders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAqBD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,iBAAiB,GACtB,IAAI,CA0IN"}