agor-live 0.12.2 → 0.12.3

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 (372) hide show
  1. package/dist/core/api/index.d.cts +4 -4
  2. package/dist/core/api/index.d.ts +4 -4
  3. package/dist/core/{board-DCNkcsyf.d.cts → board-ByCag4EG.d.cts} +8 -1
  4. package/dist/core/{board-C-PU8jok.d.ts → board-CZuyMRpr.d.ts} +8 -1
  5. package/dist/core/claude/index.cjs +46 -5
  6. package/dist/core/claude/index.js +51 -21
  7. package/dist/core/{client-CGO13BG6.d.ts → client-BoLj-jqT.d.ts} +30 -5
  8. package/dist/core/{client-DKbFqX_X.d.cts → client-gnSCmSyL.d.cts} +30 -5
  9. package/dist/core/config/browser.d.cts +1 -1
  10. package/dist/core/config/browser.d.ts +1 -1
  11. package/dist/core/config/index.cjs +60 -4
  12. package/dist/core/config/index.d.cts +6 -5
  13. package/dist/core/config/index.d.ts +6 -5
  14. package/dist/core/config/index.js +64 -20
  15. package/dist/core/{config-manager-DGBdhxtZ.d.ts → config-manager-BLDGbZHT.d.ts} +16 -2
  16. package/dist/core/{config-manager-sCgziLkz.d.cts → config-manager-CsBk-Rh2.d.cts} +16 -2
  17. package/dist/core/db/index.cjs +332 -60
  18. package/dist/core/db/index.d.cts +33 -7
  19. package/dist/core/db/index.d.ts +33 -7
  20. package/dist/core/db/index.js +338 -77
  21. package/dist/core/drizzle/postgres/meta/_journal.json +1 -1
  22. package/dist/core/drizzle/sqlite/meta/_journal.json +1 -1
  23. package/dist/core/{feathers-B0zjReEk.d.ts → feathers-CYMJeMWB.d.ts} +1 -1
  24. package/dist/core/{feathers-C1uChqXy.d.cts → feathers-Cyk1lpAM.d.cts} +1 -1
  25. package/dist/core/gateway/index.cjs +137 -12
  26. package/dist/core/gateway/index.d.cts +22 -6
  27. package/dist/core/gateway/index.d.ts +22 -6
  28. package/dist/core/gateway/index.js +137 -12
  29. package/dist/core/{gateway-Dy9fVyiS.d.ts → gateway-B4CaePYV.d.ts} +2 -2
  30. package/dist/core/{gateway-DGNtjRnd.d.cts → gateway-C2NOdrxu.d.cts} +2 -2
  31. package/dist/core/git/index.d.cts +2 -2
  32. package/dist/core/git/index.d.ts +2 -2
  33. package/dist/core/index.cjs +226 -48
  34. package/dist/core/index.d.cts +8 -8
  35. package/dist/core/index.d.ts +8 -8
  36. package/dist/core/index.js +230 -64
  37. package/dist/core/mcp/index.cjs +24 -2
  38. package/dist/core/mcp/index.js +26 -4
  39. package/dist/core/seed/index.cjs +83 -13
  40. package/dist/core/seed/index.js +88 -29
  41. package/dist/core/{session-Bt9i9089.d.cts → session-BJbTzw3y.d.cts} +17 -1
  42. package/dist/core/{session-Da9rf6n5.d.ts → session-DLVkt-jY.d.ts} +17 -1
  43. package/dist/core/templates/session-context.d.cts +1 -1
  44. package/dist/core/templates/session-context.d.ts +1 -1
  45. package/dist/core/types/index.d.cts +6 -6
  46. package/dist/core/types/index.d.ts +6 -6
  47. package/dist/core/{types-D_wAaaE3.d.cts → types-Ddri21rw.d.cts} +18 -0
  48. package/dist/core/{types-D_wAaaE3.d.ts → types-Ddri21rw.d.ts} +18 -0
  49. package/dist/core/unix/index.cjs +63 -6
  50. package/dist/core/unix/index.d.cts +4 -3
  51. package/dist/core/unix/index.d.ts +4 -3
  52. package/dist/core/unix/index.js +68 -22
  53. package/dist/core/{user-DT1Qzfep.d.ts → user-B77oCF14.d.ts} +1 -1
  54. package/dist/core/{user-C5id0Zhj.d.cts → user-LBRon9n1.d.cts} +1 -1
  55. package/dist/core/utils/permission-mode-mapper.d.cts +1 -1
  56. package/dist/core/utils/permission-mode-mapper.d.ts +1 -1
  57. package/dist/core/utils/url.cjs +22 -0
  58. package/dist/core/utils/url.d.cts +45 -1
  59. package/dist/core/utils/url.d.ts +45 -1
  60. package/dist/core/utils/url.js +18 -0
  61. package/dist/daemon/index.js +168 -38
  62. package/dist/daemon/mcp/routes.js +5 -5
  63. package/dist/daemon/services/gateway.d.ts +9 -0
  64. package/dist/daemon/services/gateway.js +73 -6
  65. package/dist/daemon/services/repos.js +1 -0
  66. package/dist/daemon/services/thread-session-map.d.ts +6 -0
  67. package/dist/daemon/services/thread-session-map.js +9 -0
  68. package/dist/executor/cli.d.ts +0 -0
  69. package/dist/executor/cli.d.ts.map +0 -0
  70. package/dist/executor/cli.js +0 -0
  71. package/dist/executor/commands/git.d.ts +0 -0
  72. package/dist/executor/commands/git.d.ts.map +1 -1
  73. package/dist/executor/commands/git.js +3 -2
  74. package/dist/executor/commands/index.d.ts +0 -0
  75. package/dist/executor/commands/index.d.ts.map +0 -0
  76. package/dist/executor/commands/index.js +0 -0
  77. package/dist/executor/commands/unix.d.ts +0 -0
  78. package/dist/executor/commands/unix.d.ts.map +0 -0
  79. package/dist/executor/commands/unix.js +0 -0
  80. package/dist/executor/commands/zellij.d.ts +0 -0
  81. package/dist/executor/commands/zellij.d.ts.map +0 -0
  82. package/dist/executor/commands/zellij.js +0 -0
  83. package/dist/executor/config.d.ts +0 -0
  84. package/dist/executor/config.d.ts.map +0 -0
  85. package/dist/executor/config.js +0 -0
  86. package/dist/executor/db/feathers-repositories.d.ts +0 -0
  87. package/dist/executor/db/feathers-repositories.d.ts.map +0 -0
  88. package/dist/executor/db/feathers-repositories.js +0 -0
  89. package/dist/executor/handlers/sdk/base-executor.d.ts +0 -0
  90. package/dist/executor/handlers/sdk/base-executor.d.ts.map +0 -0
  91. package/dist/executor/handlers/sdk/base-executor.js +0 -0
  92. package/dist/executor/handlers/sdk/claude.d.ts +0 -0
  93. package/dist/executor/handlers/sdk/claude.d.ts.map +0 -0
  94. package/dist/executor/handlers/sdk/claude.js +0 -0
  95. package/dist/executor/handlers/sdk/codex.d.ts +0 -0
  96. package/dist/executor/handlers/sdk/codex.d.ts.map +0 -0
  97. package/dist/executor/handlers/sdk/codex.js +0 -0
  98. package/dist/executor/handlers/sdk/gemini.d.ts +0 -0
  99. package/dist/executor/handlers/sdk/gemini.d.ts.map +0 -0
  100. package/dist/executor/handlers/sdk/gemini.js +0 -0
  101. package/dist/executor/handlers/sdk/opencode.d.ts +0 -0
  102. package/dist/executor/handlers/sdk/opencode.d.ts.map +0 -0
  103. package/dist/executor/handlers/sdk/opencode.js +0 -0
  104. package/dist/executor/handlers/sdk/tool-registry.d.ts +0 -0
  105. package/dist/executor/handlers/sdk/tool-registry.d.ts.map +0 -0
  106. package/dist/executor/handlers/sdk/tool-registry.js +0 -0
  107. package/dist/executor/index.d.ts +0 -0
  108. package/dist/executor/index.d.ts.map +0 -0
  109. package/dist/executor/index.js +0 -0
  110. package/dist/executor/payload-types.d.ts +8 -0
  111. package/dist/executor/payload-types.d.ts.map +1 -1
  112. package/dist/executor/payload-types.js +2 -0
  113. package/dist/executor/permissions/permission-manager.d.ts +0 -0
  114. package/dist/executor/permissions/permission-manager.d.ts.map +0 -0
  115. package/dist/executor/permissions/permission-manager.js +0 -0
  116. package/dist/executor/permissions/permission-service.d.ts +0 -0
  117. package/dist/executor/permissions/permission-service.d.ts.map +0 -0
  118. package/dist/executor/permissions/permission-service.js +0 -0
  119. package/dist/executor/sdk-handlers/base/index.d.ts +0 -0
  120. package/dist/executor/sdk-handlers/base/index.d.ts.map +0 -0
  121. package/dist/executor/sdk-handlers/base/index.js +0 -0
  122. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +0 -0
  123. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +0 -0
  124. package/dist/executor/sdk-handlers/base/mcp-scoping.js +0 -0
  125. package/dist/executor/sdk-handlers/base/normalizer.interface.d.ts +0 -0
  126. package/dist/executor/sdk-handlers/base/normalizer.interface.d.ts.map +0 -0
  127. package/dist/executor/sdk-handlers/base/normalizer.interface.js +0 -0
  128. package/dist/executor/sdk-handlers/base/tool.interface.d.ts +0 -0
  129. package/dist/executor/sdk-handlers/base/tool.interface.d.ts.map +0 -0
  130. package/dist/executor/sdk-handlers/base/tool.interface.js +0 -0
  131. package/dist/executor/sdk-handlers/base/types.d.ts +0 -0
  132. package/dist/executor/sdk-handlers/base/types.d.ts.map +0 -0
  133. package/dist/executor/sdk-handlers/base/types.js +0 -0
  134. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +0 -0
  135. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +0 -0
  136. package/dist/executor/sdk-handlers/claude/claude-tool.js +0 -0
  137. package/dist/executor/sdk-handlers/claude/import/load-session.d.ts +0 -0
  138. package/dist/executor/sdk-handlers/claude/import/load-session.d.ts.map +0 -0
  139. package/dist/executor/sdk-handlers/claude/import/load-session.js +0 -0
  140. package/dist/executor/sdk-handlers/claude/import/message-converter.d.ts +0 -0
  141. package/dist/executor/sdk-handlers/claude/import/message-converter.d.ts.map +0 -0
  142. package/dist/executor/sdk-handlers/claude/import/message-converter.js +0 -0
  143. package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts +0 -0
  144. package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts.map +0 -0
  145. package/dist/executor/sdk-handlers/claude/import/task-extractor.js +0 -0
  146. package/dist/executor/sdk-handlers/claude/import/transcript-parser.d.ts +0 -0
  147. package/dist/executor/sdk-handlers/claude/import/transcript-parser.d.ts.map +0 -0
  148. package/dist/executor/sdk-handlers/claude/import/transcript-parser.js +0 -0
  149. package/dist/executor/sdk-handlers/claude/index.d.ts +0 -0
  150. package/dist/executor/sdk-handlers/claude/index.d.ts.map +0 -0
  151. package/dist/executor/sdk-handlers/claude/index.js +0 -0
  152. package/dist/executor/sdk-handlers/claude/message-builder.d.ts +0 -0
  153. package/dist/executor/sdk-handlers/claude/message-builder.d.ts.map +0 -0
  154. package/dist/executor/sdk-handlers/claude/message-builder.js +0 -0
  155. package/dist/executor/sdk-handlers/claude/message-processor.d.ts +0 -0
  156. package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +0 -0
  157. package/dist/executor/sdk-handlers/claude/message-processor.js +0 -0
  158. package/dist/executor/sdk-handlers/claude/models.d.ts +0 -0
  159. package/dist/executor/sdk-handlers/claude/models.d.ts.map +0 -0
  160. package/dist/executor/sdk-handlers/claude/models.js +0 -0
  161. package/dist/executor/sdk-handlers/claude/normalizer.d.ts +0 -0
  162. package/dist/executor/sdk-handlers/claude/normalizer.d.ts.map +0 -0
  163. package/dist/executor/sdk-handlers/claude/normalizer.js +0 -0
  164. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts +0 -0
  165. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts.map +0 -0
  166. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.js +0 -0
  167. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +0 -0
  168. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +0 -0
  169. package/dist/executor/sdk-handlers/claude/prompt-service.js +0 -0
  170. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +0 -0
  171. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +0 -0
  172. package/dist/executor/sdk-handlers/claude/query-builder.js +0 -0
  173. package/dist/executor/sdk-handlers/claude/safe-message-service.d.ts +0 -0
  174. package/dist/executor/sdk-handlers/claude/safe-message-service.d.ts.map +0 -0
  175. package/dist/executor/sdk-handlers/claude/safe-message-service.js +0 -0
  176. package/dist/executor/sdk-handlers/claude/session-context.d.ts +0 -0
  177. package/dist/executor/sdk-handlers/claude/session-context.d.ts.map +0 -0
  178. package/dist/executor/sdk-handlers/claude/session-context.js +0 -0
  179. package/dist/executor/sdk-handlers/claude/thinking-detector.d.ts +0 -0
  180. package/dist/executor/sdk-handlers/claude/thinking-detector.d.ts.map +0 -0
  181. package/dist/executor/sdk-handlers/claude/thinking-detector.js +0 -0
  182. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +0 -0
  183. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +0 -0
  184. package/dist/executor/sdk-handlers/codex/codex-tool.js +0 -0
  185. package/dist/executor/sdk-handlers/codex/index.d.ts +0 -0
  186. package/dist/executor/sdk-handlers/codex/index.d.ts.map +0 -0
  187. package/dist/executor/sdk-handlers/codex/index.js +0 -0
  188. package/dist/executor/sdk-handlers/codex/models.d.ts +0 -0
  189. package/dist/executor/sdk-handlers/codex/models.d.ts.map +0 -0
  190. package/dist/executor/sdk-handlers/codex/models.js +0 -0
  191. package/dist/executor/sdk-handlers/codex/normalizer.d.ts +0 -0
  192. package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +0 -0
  193. package/dist/executor/sdk-handlers/codex/normalizer.js +0 -0
  194. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +0 -0
  195. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +0 -0
  196. package/dist/executor/sdk-handlers/codex/prompt-service.js +0 -0
  197. package/dist/executor/sdk-handlers/codex/usage.d.ts +0 -0
  198. package/dist/executor/sdk-handlers/codex/usage.d.ts.map +0 -0
  199. package/dist/executor/sdk-handlers/codex/usage.js +0 -0
  200. package/dist/executor/sdk-handlers/gemini/conversation-converter.d.ts +0 -0
  201. package/dist/executor/sdk-handlers/gemini/conversation-converter.d.ts.map +0 -0
  202. package/dist/executor/sdk-handlers/gemini/conversation-converter.js +0 -0
  203. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +0 -0
  204. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +0 -0
  205. package/dist/executor/sdk-handlers/gemini/gemini-tool.js +0 -0
  206. package/dist/executor/sdk-handlers/gemini/index.d.ts +0 -0
  207. package/dist/executor/sdk-handlers/gemini/index.d.ts.map +0 -0
  208. package/dist/executor/sdk-handlers/gemini/index.js +0 -0
  209. package/dist/executor/sdk-handlers/gemini/models.d.ts +0 -0
  210. package/dist/executor/sdk-handlers/gemini/models.d.ts.map +0 -0
  211. package/dist/executor/sdk-handlers/gemini/models.js +0 -0
  212. package/dist/executor/sdk-handlers/gemini/normalizer.d.ts +0 -0
  213. package/dist/executor/sdk-handlers/gemini/normalizer.d.ts.map +0 -0
  214. package/dist/executor/sdk-handlers/gemini/normalizer.js +0 -0
  215. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts +0 -0
  216. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts.map +0 -0
  217. package/dist/executor/sdk-handlers/gemini/permission-mapper.js +0 -0
  218. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +0 -0
  219. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +0 -0
  220. package/dist/executor/sdk-handlers/gemini/prompt-service.js +0 -0
  221. package/dist/executor/sdk-handlers/gemini/usage.d.ts +0 -0
  222. package/dist/executor/sdk-handlers/gemini/usage.d.ts.map +0 -0
  223. package/dist/executor/sdk-handlers/gemini/usage.js +0 -0
  224. package/dist/executor/sdk-handlers/models.d.ts +0 -0
  225. package/dist/executor/sdk-handlers/models.d.ts.map +0 -0
  226. package/dist/executor/sdk-handlers/models.js +0 -0
  227. package/dist/executor/sdk-handlers/normalizer-factory.d.ts +0 -0
  228. package/dist/executor/sdk-handlers/normalizer-factory.d.ts.map +0 -0
  229. package/dist/executor/sdk-handlers/normalizer-factory.js +0 -0
  230. package/dist/executor/sdk-handlers/opencode/index.d.ts +0 -0
  231. package/dist/executor/sdk-handlers/opencode/index.d.ts.map +0 -0
  232. package/dist/executor/sdk-handlers/opencode/index.js +0 -0
  233. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +0 -0
  234. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +0 -0
  235. package/dist/executor/sdk-handlers/opencode/opencode-tool.js +0 -0
  236. package/dist/executor/services/feathers-client.d.ts +0 -0
  237. package/dist/executor/services/feathers-client.d.ts.map +0 -0
  238. package/dist/executor/services/feathers-client.js +0 -0
  239. package/dist/executor/types/sdk-response.d.ts +0 -0
  240. package/dist/executor/types/sdk-response.d.ts.map +0 -0
  241. package/dist/executor/types/sdk-response.js +0 -0
  242. package/dist/executor/types/token-usage.d.ts +0 -0
  243. package/dist/executor/types/token-usage.d.ts.map +0 -0
  244. package/dist/executor/types/token-usage.js +0 -0
  245. package/dist/executor/types.d.ts +0 -0
  246. package/dist/executor/types.d.ts.map +0 -0
  247. package/dist/executor/types.js +0 -0
  248. package/dist/ui/assets/{_basePickBy-a0JoJgXO.js → _basePickBy-DM-YlwQP.js} +1 -1
  249. package/dist/ui/assets/_basePickBy-DM-YlwQP.js.gz +0 -0
  250. package/dist/ui/assets/{_baseUniq-IFulW561.js → _baseUniq-w9wJK0j5.js} +1 -1
  251. package/dist/ui/assets/_baseUniq-w9wJK0j5.js.gz +0 -0
  252. package/dist/ui/assets/{arc-Dj6SyPh6.js → arc-CVXkw1SJ.js} +1 -1
  253. package/dist/ui/assets/arc-CVXkw1SJ.js.gz +0 -0
  254. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CjXOzrje.js → architectureDiagram-VXUJARFQ-CevjfWlW.js} +1 -1
  255. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CjXOzrje.js.gz → architectureDiagram-VXUJARFQ-CevjfWlW.js.gz} +0 -0
  256. package/dist/ui/assets/{blockDiagram-VD42YOAC-IFpdwkfg.js → blockDiagram-VD42YOAC-b9JU-Vzx.js} +1 -1
  257. package/dist/ui/assets/{blockDiagram-VD42YOAC-IFpdwkfg.js.gz → blockDiagram-VD42YOAC-b9JU-Vzx.js.gz} +0 -0
  258. package/dist/ui/assets/{c4Diagram-YG6GDRKO-qL4Ujfnz.js → c4Diagram-YG6GDRKO-j7VSccDF.js} +1 -1
  259. package/dist/ui/assets/c4Diagram-YG6GDRKO-j7VSccDF.js.gz +0 -0
  260. package/dist/ui/assets/channel-BNIBtjaQ.js +1 -0
  261. package/dist/ui/assets/{chunk-4BX2VUAB-CH6tu0mB.js → chunk-4BX2VUAB-D_codqcR.js} +1 -1
  262. package/dist/ui/assets/{chunk-55IACEB6-DDAZjWTD.js → chunk-55IACEB6-nQq1kviw.js} +1 -1
  263. package/dist/ui/assets/{chunk-B4BG7PRW-BDSu72O0.js → chunk-B4BG7PRW-DlVxaJL9.js} +1 -1
  264. package/dist/ui/assets/chunk-B4BG7PRW-DlVxaJL9.js.gz +0 -0
  265. package/dist/ui/assets/{chunk-DI55MBZ5-C7merGRo.js → chunk-DI55MBZ5-Dw95m49m.js} +1 -1
  266. package/dist/ui/assets/chunk-DI55MBZ5-Dw95m49m.js.gz +0 -0
  267. package/dist/ui/assets/{chunk-FMBD7UC4-DX20G6ZX.js → chunk-FMBD7UC4-Bnk79OV8.js} +1 -1
  268. package/dist/ui/assets/{chunk-QN33PNHL-BvT3a5aI.js → chunk-QN33PNHL-sqjI-sXo.js} +1 -1
  269. package/dist/ui/assets/{chunk-QZHKN3VN-oo-Lxdo7.js → chunk-QZHKN3VN-T7CEGHh9.js} +1 -1
  270. package/dist/ui/assets/{chunk-TZMSLE5B-BV4XHxKb.js → chunk-TZMSLE5B-ok9YQuUI.js} +1 -1
  271. package/dist/ui/assets/chunk-TZMSLE5B-ok9YQuUI.js.gz +0 -0
  272. package/dist/ui/assets/classDiagram-2ON5EDUG-DeHTLUto.js +1 -0
  273. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-DeHTLUto.js +1 -0
  274. package/dist/ui/assets/clone-BObtDhw7.js +1 -0
  275. package/dist/ui/assets/{cose-bilkent-S5V4N54A-BA6VY55u.js → cose-bilkent-S5V4N54A-BtanJFqC.js} +1 -1
  276. package/dist/ui/assets/cose-bilkent-S5V4N54A-BtanJFqC.js.gz +0 -0
  277. package/dist/ui/assets/{dagre-6UL2VRFP-DiuqdLez.js → dagre-6UL2VRFP-CIJlfoaz.js} +1 -1
  278. package/dist/ui/assets/dagre-6UL2VRFP-CIJlfoaz.js.gz +0 -0
  279. package/dist/ui/assets/{diagram-PSM6KHXK-DU4u6xZN.js → diagram-PSM6KHXK-DhKlHuZN.js} +1 -1
  280. package/dist/ui/assets/diagram-PSM6KHXK-DhKlHuZN.js.gz +0 -0
  281. package/dist/ui/assets/{diagram-QEK2KX5R-CltgMeel.js → diagram-QEK2KX5R-BbwaTbd7.js} +1 -1
  282. package/dist/ui/assets/diagram-QEK2KX5R-BbwaTbd7.js.gz +0 -0
  283. package/dist/ui/assets/{diagram-S2PKOQOG-SkvAVcTN.js → diagram-S2PKOQOG-Dx1rRlHZ.js} +1 -1
  284. package/dist/ui/assets/diagram-S2PKOQOG-Dx1rRlHZ.js.gz +0 -0
  285. package/dist/ui/assets/{erDiagram-Q2GNP2WA-DJTHxEdE.js → erDiagram-Q2GNP2WA-w60Up3Mg.js} +1 -1
  286. package/dist/ui/assets/erDiagram-Q2GNP2WA-w60Up3Mg.js.gz +0 -0
  287. package/dist/ui/assets/{flowDiagram-NV44I4VS-BwrFtsSc.js → flowDiagram-NV44I4VS-yvyTqNEi.js} +1 -1
  288. package/dist/ui/assets/flowDiagram-NV44I4VS-yvyTqNEi.js.gz +0 -0
  289. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-BnGmdiBB.js → ganttDiagram-LVOFAZNH-NBBWMpCB.js} +1 -1
  290. package/dist/ui/assets/ganttDiagram-LVOFAZNH-NBBWMpCB.js.gz +0 -0
  291. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-V6mHZ2jy.js → gitGraphDiagram-NY62KEGX-Dc0qrZJi.js} +1 -1
  292. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Dc0qrZJi.js.gz +0 -0
  293. package/dist/ui/assets/{graph-3Ks94Pqc.js → graph-RIZM2qth.js} +1 -1
  294. package/dist/ui/assets/graph-RIZM2qth.js.gz +0 -0
  295. package/dist/ui/assets/{index-Dl_jng3-.js → index-BcHc8U_m.js} +240 -240
  296. package/dist/ui/assets/index-BcHc8U_m.js.gz +0 -0
  297. package/dist/ui/assets/index-BjxbtAmt.css +1 -0
  298. package/dist/ui/assets/index-BjxbtAmt.css.gz +0 -0
  299. package/dist/ui/assets/{infoDiagram-ER5ION4S-DUuNVOek.js → infoDiagram-ER5ION4S-Co1qQ3-G.js} +1 -1
  300. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-D-N__rLx.js → journeyDiagram-XKPGCS4Q-QaBi_wAx.js} +1 -1
  301. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-QaBi_wAx.js.gz +0 -0
  302. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DsPDRbRp.js → kanban-definition-3W4ZIXB7-B3k5rpP3.js} +1 -1
  303. package/dist/ui/assets/kanban-definition-3W4ZIXB7-B3k5rpP3.js.gz +0 -0
  304. package/dist/ui/assets/{layout-TuyQIiWI.js → layout-YqNNovOM.js} +1 -1
  305. package/dist/ui/assets/layout-YqNNovOM.js.gz +0 -0
  306. package/dist/ui/assets/{linear-CQUCx9aD.js → linear-DpjTIW7z.js} +1 -1
  307. package/dist/ui/assets/linear-DpjTIW7z.js.gz +0 -0
  308. package/dist/ui/assets/{mermaid.core-HQwFIIbn.js → mermaid.core-D-fYaKXC.js} +5 -5
  309. package/dist/ui/assets/mermaid.core-D-fYaKXC.js.gz +0 -0
  310. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-DlR4HpYx.js → mindmap-definition-VGOIOE7T-CddQalgD.js} +1 -1
  311. package/dist/ui/assets/mindmap-definition-VGOIOE7T-CddQalgD.js.gz +0 -0
  312. package/dist/ui/assets/{pieDiagram-ADFJNKIX-OfCYTJ7S.js → pieDiagram-ADFJNKIX-BCPzhaBq.js} +1 -1
  313. package/dist/ui/assets/pieDiagram-ADFJNKIX-BCPzhaBq.js.gz +0 -0
  314. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B--irB7LvR.js → quadrantDiagram-AYHSOK5B-DrdJW-2E.js} +1 -1
  315. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DrdJW-2E.js.gz +0 -0
  316. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-iPensRLV.js → requirementDiagram-UZGBJVZJ-dV0cdx6D.js} +1 -1
  317. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-dV0cdx6D.js.gz +0 -0
  318. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-BSidESLx.js → sankeyDiagram-TZEHDZUN-SLmqiy7a.js} +1 -1
  319. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-SLmqiy7a.js.gz +0 -0
  320. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-BUE46svP.js → sequenceDiagram-WL72ISMW-CyH5EbRm.js} +1 -1
  321. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CyH5EbRm.js.gz +0 -0
  322. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BJ2azfLs.js → stateDiagram-FKZM4ZOC-DbtBIYM6.js} +1 -1
  323. package/dist/ui/assets/stateDiagram-FKZM4ZOC-DbtBIYM6.js.gz +0 -0
  324. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DOAHUeXQ.js +1 -0
  325. package/dist/ui/assets/{timeline-definition-IT6M3QCI-YfwKc8ip.js → timeline-definition-IT6M3QCI-CzdpjKni.js} +1 -1
  326. package/dist/ui/assets/timeline-definition-IT6M3QCI-CzdpjKni.js.gz +0 -0
  327. package/dist/ui/assets/{treemap-KMMF4GRG-DMpxEEn1.js → treemap-KMMF4GRG-D_MXp3HZ.js} +1 -1
  328. package/dist/ui/assets/treemap-KMMF4GRG-D_MXp3HZ.js.gz +0 -0
  329. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-Bn_I2TeN.js → xychartDiagram-PRI3JC2R-BMwyKz4M.js} +1 -1
  330. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BMwyKz4M.js.gz +0 -0
  331. package/dist/ui/index.html +2 -2
  332. package/package.json +1 -1
  333. package/dist/ui/assets/_basePickBy-a0JoJgXO.js.gz +0 -0
  334. package/dist/ui/assets/_baseUniq-IFulW561.js.gz +0 -0
  335. package/dist/ui/assets/arc-Dj6SyPh6.js.gz +0 -0
  336. package/dist/ui/assets/c4Diagram-YG6GDRKO-qL4Ujfnz.js.gz +0 -0
  337. package/dist/ui/assets/channel-4SJF66Rh.js +0 -1
  338. package/dist/ui/assets/chunk-B4BG7PRW-BDSu72O0.js.gz +0 -0
  339. package/dist/ui/assets/chunk-DI55MBZ5-C7merGRo.js.gz +0 -0
  340. package/dist/ui/assets/chunk-TZMSLE5B-BV4XHxKb.js.gz +0 -0
  341. package/dist/ui/assets/classDiagram-2ON5EDUG-BLjqJ_M9.js +0 -1
  342. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BLjqJ_M9.js +0 -1
  343. package/dist/ui/assets/clone-DjR0SEZ0.js +0 -1
  344. package/dist/ui/assets/cose-bilkent-S5V4N54A-BA6VY55u.js.gz +0 -0
  345. package/dist/ui/assets/dagre-6UL2VRFP-DiuqdLez.js.gz +0 -0
  346. package/dist/ui/assets/diagram-PSM6KHXK-DU4u6xZN.js.gz +0 -0
  347. package/dist/ui/assets/diagram-QEK2KX5R-CltgMeel.js.gz +0 -0
  348. package/dist/ui/assets/diagram-S2PKOQOG-SkvAVcTN.js.gz +0 -0
  349. package/dist/ui/assets/erDiagram-Q2GNP2WA-DJTHxEdE.js.gz +0 -0
  350. package/dist/ui/assets/flowDiagram-NV44I4VS-BwrFtsSc.js.gz +0 -0
  351. package/dist/ui/assets/ganttDiagram-LVOFAZNH-BnGmdiBB.js.gz +0 -0
  352. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-V6mHZ2jy.js.gz +0 -0
  353. package/dist/ui/assets/graph-3Ks94Pqc.js.gz +0 -0
  354. package/dist/ui/assets/index-CoHRmHKF.css +0 -1
  355. package/dist/ui/assets/index-CoHRmHKF.css.gz +0 -0
  356. package/dist/ui/assets/index-Dl_jng3-.js.gz +0 -0
  357. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-D-N__rLx.js.gz +0 -0
  358. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DsPDRbRp.js.gz +0 -0
  359. package/dist/ui/assets/layout-TuyQIiWI.js.gz +0 -0
  360. package/dist/ui/assets/linear-CQUCx9aD.js.gz +0 -0
  361. package/dist/ui/assets/mermaid.core-HQwFIIbn.js.gz +0 -0
  362. package/dist/ui/assets/mindmap-definition-VGOIOE7T-DlR4HpYx.js.gz +0 -0
  363. package/dist/ui/assets/pieDiagram-ADFJNKIX-OfCYTJ7S.js.gz +0 -0
  364. package/dist/ui/assets/quadrantDiagram-AYHSOK5B--irB7LvR.js.gz +0 -0
  365. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-iPensRLV.js.gz +0 -0
  366. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-BSidESLx.js.gz +0 -0
  367. package/dist/ui/assets/sequenceDiagram-WL72ISMW-BUE46svP.js.gz +0 -0
  368. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BJ2azfLs.js.gz +0 -0
  369. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-B9Lx1w-S.js +0 -1
  370. package/dist/ui/assets/timeline-definition-IT6M3QCI-YfwKc8ip.js.gz +0 -0
  371. package/dist/ui/assets/treemap-KMMF4GRG-DMpxEEn1.js.gz +0 -0
  372. package/dist/ui/assets/xychartDiagram-PRI3JC2R-Bn_I2TeN.js.gz +0 -0
@@ -1,9 +1,9 @@
1
1
  import { e as Message } from '../message-DZitapX9.cjs';
2
- import { e as Board, f as BoardExportBlob } from '../board-DCNkcsyf.cjs';
2
+ import { e as Board, f as BoardExportBlob } from '../board-ByCag4EG.cjs';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.cjs';
4
- import { b as AuthenticationResult } from '../feathers-C1uChqXy.cjs';
5
- import { f as Session } from '../session-Bt9i9089.cjs';
6
- import { d as User } from '../user-C5id0Zhj.cjs';
4
+ import { b as AuthenticationResult } from '../feathers-Cyk1lpAM.cjs';
5
+ import { f as Session } from '../session-BJbTzw3y.cjs';
6
+ import { d as User } from '../user-LBRon9n1.cjs';
7
7
  import { i as MCPServer } from '../mcp-DqadENYY.cjs';
8
8
  import { b as Repo, d as Worktree } from '../worktree-hZImhblR.cjs';
9
9
  import { c as Task } from '../task-D5cWUcAY.cjs';
@@ -1,9 +1,9 @@
1
1
  import { e as Message } from '../message-CrqsdxNE.js';
2
- import { e as Board, f as BoardExportBlob } from '../board-C-PU8jok.js';
2
+ import { e as Board, f as BoardExportBlob } from '../board-CZuyMRpr.js';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.js';
4
- import { b as AuthenticationResult } from '../feathers-B0zjReEk.js';
5
- import { f as Session } from '../session-Da9rf6n5.js';
6
- import { d as User } from '../user-DT1Qzfep.js';
4
+ import { b as AuthenticationResult } from '../feathers-CYMJeMWB.js';
5
+ import { f as Session } from '../session-DLVkt-jY.js';
6
+ import { d as User } from '../user-B77oCF14.js';
7
7
  import { i as MCPServer } from '../mcp-Bm9HwvDf.js';
8
8
  import { b as Repo, d as Worktree } from '../worktree-BR7Inm0-.js';
9
9
  import { c as Task } from '../task-D0i_mU9u.js';
@@ -1,4 +1,4 @@
1
- import { A as AgenticToolName } from './session-Bt9i9089.cjs';
1
+ import { A as AgenticToolName } from './session-BJbTzw3y.cjs';
2
2
  import { B as BoardID, W as WorktreeID } from './id-BwPJtWxW.cjs';
3
3
 
4
4
  /**
@@ -154,6 +154,13 @@ interface Board {
154
154
  * Access in templates: {{ board.context.team }}
155
155
  */
156
156
  custom_context?: Record<string, unknown>;
157
+ /**
158
+ * External/user-facing URL for viewing this board in the UI
159
+ *
160
+ * Computed property added by API hooks.
161
+ * Format: {baseUrl}/b/{boardId}/
162
+ */
163
+ url: string;
157
164
  }
158
165
  /**
159
166
  * Portable board export format (shell only)
@@ -1,4 +1,4 @@
1
- import { A as AgenticToolName } from './session-Da9rf6n5.js';
1
+ import { A as AgenticToolName } from './session-DLVkt-jY.js';
2
2
  import { B as BoardID, W as WorktreeID } from './id-BwPJtWxW.js';
3
3
 
4
4
  /**
@@ -154,6 +154,13 @@ interface Board {
154
154
  * Access in templates: {{ board.context.team }}
155
155
  */
156
156
  custom_context?: Record<string, unknown>;
157
+ /**
158
+ * External/user-facing URL for viewing this board in the UI
159
+ *
160
+ * Computed property added by API hooks.
161
+ * Format: {baseUrl}/b/{boardId}/
162
+ */
163
+ url: string;
157
164
  }
158
165
  /**
159
166
  * Portable board export format (shell only)
@@ -62,13 +62,15 @@ __export(schema_postgres_exports, {
62
62
  repos: () => repos,
63
63
  sessionMcpServers: () => sessionMcpServers,
64
64
  sessions: () => sessions,
65
+ sessionsRelations: () => sessionsRelations,
65
66
  tasks: () => tasks,
66
67
  threadSessionMap: () => threadSessionMap,
67
68
  users: () => users,
68
69
  worktreeOwners: () => worktreeOwners,
69
- worktrees: () => worktrees
70
+ worktrees: () => worktrees,
71
+ worktreesRelations: () => worktreesRelations
70
72
  });
71
- var import_drizzle_orm, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap;
73
+ var import_drizzle_orm, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap, sessionsRelations, worktreesRelations;
72
74
  var init_schema_postgres = __esm({
73
75
  "src/db/schema.postgres.ts"() {
74
76
  "use strict";
@@ -557,6 +559,15 @@ var init_schema_postgres = __esm({
557
559
  channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
558
560
  })
559
561
  );
562
+ sessionsRelations = (0, import_drizzle_orm.relations)(sessions, ({ one }) => ({
563
+ worktree: one(worktrees, {
564
+ fields: [sessions.worktree_id],
565
+ references: [worktrees.worktree_id]
566
+ })
567
+ }));
568
+ worktreesRelations = (0, import_drizzle_orm.relations)(worktrees, ({ many }) => ({
569
+ sessions: many(sessions)
570
+ }));
560
571
  }
561
572
  });
562
573
 
@@ -572,13 +583,15 @@ __export(schema_sqlite_exports, {
572
583
  repos: () => repos2,
573
584
  sessionMcpServers: () => sessionMcpServers2,
574
585
  sessions: () => sessions2,
586
+ sessionsRelations: () => sessionsRelations2,
575
587
  tasks: () => tasks2,
576
588
  threadSessionMap: () => threadSessionMap2,
577
589
  users: () => users2,
578
590
  worktreeOwners: () => worktreeOwners2,
579
- worktrees: () => worktrees2
591
+ worktrees: () => worktrees2,
592
+ worktreesRelations: () => worktreesRelations2
580
593
  });
581
- var import_drizzle_orm2, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2;
594
+ var import_drizzle_orm2, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2, sessionsRelations2, worktreesRelations2;
582
595
  var init_schema_sqlite = __esm({
583
596
  "src/db/schema.sqlite.ts"() {
584
597
  "use strict";
@@ -1068,6 +1081,15 @@ var init_schema_sqlite = __esm({
1068
1081
  channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
1069
1082
  })
1070
1083
  );
1084
+ sessionsRelations2 = (0, import_drizzle_orm2.relations)(sessions2, ({ one }) => ({
1085
+ worktree: one(worktrees2, {
1086
+ fields: [sessions2.worktree_id],
1087
+ references: [worktrees2.worktree_id]
1088
+ })
1089
+ }));
1090
+ worktreesRelations2 = (0, import_drizzle_orm2.relations)(worktrees2, ({ many }) => ({
1091
+ sessions: many(sessions2)
1092
+ }));
1071
1093
  }
1072
1094
  });
1073
1095
 
@@ -1334,8 +1356,27 @@ init_schema();
1334
1356
  // src/db/repositories/boards.ts
1335
1357
  init_cjs_shims();
1336
1358
  var import_drizzle_orm7 = require("drizzle-orm");
1337
- var yaml = __toESM(require("js-yaml"), 1);
1359
+ var yaml2 = __toESM(require("js-yaml"), 1);
1360
+
1361
+ // src/config/config-manager.ts
1362
+ init_cjs_shims();
1363
+ var import_node_fs2 = require("fs");
1364
+ var import_promises = __toESM(require("fs/promises"), 1);
1365
+ var import_node_os2 = __toESM(require("os"), 1);
1366
+ var import_node_path4 = __toESM(require("path"), 1);
1367
+ var import_js_yaml = __toESM(require("js-yaml"), 1);
1368
+
1369
+ // src/config/constants.ts
1370
+ init_cjs_shims();
1371
+
1372
+ // src/db/repositories/boards.ts
1373
+ init_ids();
1374
+
1375
+ // src/utils/url.ts
1376
+ init_cjs_shims();
1338
1377
  init_ids();
1378
+
1379
+ // src/db/repositories/boards.ts
1339
1380
  init_database_wrapper();
1340
1381
  init_schema();
1341
1382
 
@@ -41,13 +41,15 @@ __export(schema_postgres_exports, {
41
41
  repos: () => repos,
42
42
  sessionMcpServers: () => sessionMcpServers,
43
43
  sessions: () => sessions,
44
+ sessionsRelations: () => sessionsRelations,
44
45
  tasks: () => tasks,
45
46
  threadSessionMap: () => threadSessionMap,
46
47
  users: () => users,
47
48
  worktreeOwners: () => worktreeOwners,
48
- worktrees: () => worktrees
49
+ worktrees: () => worktrees,
50
+ worktreesRelations: () => worktreesRelations
49
51
  });
50
- import { sql } from "drizzle-orm";
52
+ import { relations, sql } from "drizzle-orm";
51
53
  import {
52
54
  bigint,
53
55
  boolean,
@@ -61,7 +63,7 @@ import {
61
63
  uniqueIndex,
62
64
  varchar
63
65
  } from "drizzle-orm/pg-core";
64
- var t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap;
66
+ var t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap, sessionsRelations, worktreesRelations;
65
67
  var init_schema_postgres = __esm({
66
68
  "src/db/schema.postgres.ts"() {
67
69
  "use strict";
@@ -548,6 +550,15 @@ var init_schema_postgres = __esm({
548
550
  channelStatusIdx: index("idx_thread_map_channel_status").on(table.channel_id, table.status)
549
551
  })
550
552
  );
553
+ sessionsRelations = relations(sessions, ({ one }) => ({
554
+ worktree: one(worktrees, {
555
+ fields: [sessions.worktree_id],
556
+ references: [worktrees.worktree_id]
557
+ })
558
+ }));
559
+ worktreesRelations = relations(worktrees, ({ many }) => ({
560
+ sessions: many(sessions)
561
+ }));
551
562
  }
552
563
  });
553
564
 
@@ -563,13 +574,15 @@ __export(schema_sqlite_exports, {
563
574
  repos: () => repos2,
564
575
  sessionMcpServers: () => sessionMcpServers2,
565
576
  sessions: () => sessions2,
577
+ sessionsRelations: () => sessionsRelations2,
566
578
  tasks: () => tasks2,
567
579
  threadSessionMap: () => threadSessionMap2,
568
580
  users: () => users2,
569
581
  worktreeOwners: () => worktreeOwners2,
570
- worktrees: () => worktrees2
582
+ worktrees: () => worktrees2,
583
+ worktreesRelations: () => worktreesRelations2
571
584
  });
572
- import { sql as sql2 } from "drizzle-orm";
585
+ import { relations as relations2, sql as sql2 } from "drizzle-orm";
573
586
  import {
574
587
  index as index2,
575
588
  integer as integer2,
@@ -578,7 +591,7 @@ import {
578
591
  text as text2,
579
592
  uniqueIndex as uniqueIndex2
580
593
  } from "drizzle-orm/sqlite-core";
581
- var t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2;
594
+ var t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2, sessionsRelations2, worktreesRelations2;
582
595
  var init_schema_sqlite = __esm({
583
596
  "src/db/schema.sqlite.ts"() {
584
597
  "use strict";
@@ -1066,6 +1079,15 @@ var init_schema_sqlite = __esm({
1066
1079
  channelStatusIdx: index2("idx_thread_map_channel_status").on(table.channel_id, table.status)
1067
1080
  })
1068
1081
  );
1082
+ sessionsRelations2 = relations2(sessions2, ({ one }) => ({
1083
+ worktree: one(worktrees2, {
1084
+ fields: [sessions2.worktree_id],
1085
+ references: [worktrees2.worktree_id]
1086
+ })
1087
+ }));
1088
+ worktreesRelations2 = relations2(worktrees2, ({ many }) => ({
1089
+ sessions: many(sessions2)
1090
+ }));
1069
1091
  }
1070
1092
  });
1071
1093
 
@@ -1317,9 +1339,28 @@ import { eq as eq3 } from "drizzle-orm";
1317
1339
 
1318
1340
  // src/db/repositories/boards.ts
1319
1341
  init_esm_shims();
1320
- init_ids();
1321
1342
  import { and as and2, eq as eq4, like as like2, ne } from "drizzle-orm";
1322
- import * as yaml from "js-yaml";
1343
+ import * as yaml2 from "js-yaml";
1344
+
1345
+ // src/config/config-manager.ts
1346
+ init_esm_shims();
1347
+ import { readFileSync } from "fs";
1348
+ import fs2 from "fs/promises";
1349
+ import os from "os";
1350
+ import path3 from "path";
1351
+ import yaml from "js-yaml";
1352
+
1353
+ // src/config/constants.ts
1354
+ init_esm_shims();
1355
+
1356
+ // src/db/repositories/boards.ts
1357
+ init_ids();
1358
+
1359
+ // src/utils/url.ts
1360
+ init_esm_shims();
1361
+ init_ids();
1362
+
1363
+ // src/db/repositories/boards.ts
1323
1364
  init_database_wrapper();
1324
1365
  init_schema();
1325
1366
 
@@ -1434,21 +1475,10 @@ init_esm_shims();
1434
1475
  init_esm_shims();
1435
1476
 
1436
1477
  // src/db/repositories/sessions.ts
1478
+ import { and as and4, desc, eq as eq9, inArray, isNotNull, isNull as isNull2, like as like6, or, sql as sql6 } from "drizzle-orm";
1437
1479
  init_ids();
1438
1480
  init_database_wrapper();
1439
1481
  init_schema();
1440
- import {
1441
- and as and4,
1442
- desc,
1443
- eq as eq9,
1444
- getTableColumns,
1445
- inArray,
1446
- isNotNull,
1447
- isNull as isNull2,
1448
- like as like6,
1449
- or,
1450
- sql as sql6
1451
- } from "drizzle-orm";
1452
1482
 
1453
1483
  // src/db/repositories/tasks.ts
1454
1484
  init_esm_shims();
@@ -1480,7 +1510,7 @@ import {
1480
1510
  and as and7,
1481
1511
  desc as desc2,
1482
1512
  eq as eq14,
1483
- getTableColumns as getTableColumns2,
1513
+ getTableColumns,
1484
1514
  inArray as inArray2,
1485
1515
  isNotNull as isNotNull2,
1486
1516
  isNull as isNull3,
@@ -1,8 +1,9 @@
1
1
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
2
2
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
3
+ import * as drizzle_orm from 'drizzle-orm';
3
4
  import { e as Message } from './message-CrqsdxNE.js';
4
- import { f as Session, P as PermissionMode, c as CodexSandboxMode, d as CodexApprovalPolicy } from './session-Da9rf6n5.js';
5
- import { d as BoardObject } from './board-C-PU8jok.js';
5
+ import { f as Session, P as PermissionMode, c as CodexSandboxMode, d as CodexApprovalPolicy } from './session-DLVkt-jY.js';
6
+ import { d as BoardObject } from './board-CZuyMRpr.js';
6
7
  import { c as Task } from './task-D0i_mU9u.js';
7
8
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
8
9
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
@@ -3423,9 +3424,20 @@ type GatewayChannelRow$1 = typeof gatewayChannels$1.$inferSelect;
3423
3424
  type GatewayChannelInsert$1 = typeof gatewayChannels$1.$inferInsert;
3424
3425
  type ThreadSessionMapRow$1 = typeof threadSessionMap$1.$inferSelect;
3425
3426
  type ThreadSessionMapInsert$1 = typeof threadSessionMap$1.$inferInsert;
3427
+ /**
3428
+ * Drizzle Relations for Relational Queries
3429
+ *
3430
+ * These enable automatic JOINs using db.query.sessions.findFirst({ with: { worktree: true } })
3431
+ */
3432
+ declare const sessionsRelations$1: drizzle_orm.Relations<"sessions", {
3433
+ worktree: drizzle_orm.One<"worktrees", true>;
3434
+ }>;
3435
+ declare const worktreesRelations$1: drizzle_orm.Relations<"worktrees", {
3436
+ sessions: drizzle_orm.Many<"sessions">;
3437
+ }>;
3426
3438
 
3427
3439
  declare namespace postgresSchema {
3428
- export { type BoardCommentInsert$1 as BoardCommentInsert, type BoardCommentRow$1 as BoardCommentRow, type BoardInsert$1 as BoardInsert, type BoardObjectInsert$1 as BoardObjectInsert, type BoardObjectRow$1 as BoardObjectRow, type BoardRow$1 as BoardRow, type GatewayChannelInsert$1 as GatewayChannelInsert, type GatewayChannelRow$1 as GatewayChannelRow, type MCPServerInsert$1 as MCPServerInsert, type MCPServerRow$1 as MCPServerRow, type MessageInsert$1 as MessageInsert, type MessageRow$1 as MessageRow, type RepoInsert$1 as RepoInsert, type RepoRow$1 as RepoRow, type SessionInsert$1 as SessionInsert, type SessionMCPServerInsert$1 as SessionMCPServerInsert, type SessionMCPServerRow$1 as SessionMCPServerRow, type SessionRow$1 as SessionRow, type TaskInsert$1 as TaskInsert, type TaskRow$1 as TaskRow, type ThreadSessionMapInsert$1 as ThreadSessionMapInsert, type ThreadSessionMapRow$1 as ThreadSessionMapRow, type UserInsert$1 as UserInsert, type UserRow$1 as UserRow, type WorktreeInsert$1 as WorktreeInsert, type WorktreeRow$1 as WorktreeRow, boardComments$1 as boardComments, boardObjects$1 as boardObjects, boards$1 as boards, gatewayChannels$1 as gatewayChannels, mcpServers$1 as mcpServers, messages$1 as messages, repos$1 as repos, sessionMcpServers$1 as sessionMcpServers, sessions$1 as sessions, tasks$1 as tasks, threadSessionMap$1 as threadSessionMap, users$1 as users, worktreeOwners$1 as worktreeOwners, worktrees$1 as worktrees };
3440
+ export { type BoardCommentInsert$1 as BoardCommentInsert, type BoardCommentRow$1 as BoardCommentRow, type BoardInsert$1 as BoardInsert, type BoardObjectInsert$1 as BoardObjectInsert, type BoardObjectRow$1 as BoardObjectRow, type BoardRow$1 as BoardRow, type GatewayChannelInsert$1 as GatewayChannelInsert, type GatewayChannelRow$1 as GatewayChannelRow, type MCPServerInsert$1 as MCPServerInsert, type MCPServerRow$1 as MCPServerRow, type MessageInsert$1 as MessageInsert, type MessageRow$1 as MessageRow, type RepoInsert$1 as RepoInsert, type RepoRow$1 as RepoRow, type SessionInsert$1 as SessionInsert, type SessionMCPServerInsert$1 as SessionMCPServerInsert, type SessionMCPServerRow$1 as SessionMCPServerRow, type SessionRow$1 as SessionRow, type TaskInsert$1 as TaskInsert, type TaskRow$1 as TaskRow, type ThreadSessionMapInsert$1 as ThreadSessionMapInsert, type ThreadSessionMapRow$1 as ThreadSessionMapRow, type UserInsert$1 as UserInsert, type UserRow$1 as UserRow, type WorktreeInsert$1 as WorktreeInsert, type WorktreeRow$1 as WorktreeRow, boardComments$1 as boardComments, boardObjects$1 as boardObjects, boards$1 as boards, gatewayChannels$1 as gatewayChannels, mcpServers$1 as mcpServers, messages$1 as messages, repos$1 as repos, sessionMcpServers$1 as sessionMcpServers, sessions$1 as sessions, sessionsRelations$1 as sessionsRelations, tasks$1 as tasks, threadSessionMap$1 as threadSessionMap, users$1 as users, worktreeOwners$1 as worktreeOwners, worktrees$1 as worktrees, worktreesRelations$1 as worktreesRelations };
3429
3441
  }
3430
3442
 
3431
3443
  /**
@@ -6938,6 +6950,17 @@ type GatewayChannelRow = typeof gatewayChannels.$inferSelect;
6938
6950
  type GatewayChannelInsert = typeof gatewayChannels.$inferInsert;
6939
6951
  type ThreadSessionMapRow = typeof threadSessionMap.$inferSelect;
6940
6952
  type ThreadSessionMapInsert = typeof threadSessionMap.$inferInsert;
6953
+ /**
6954
+ * Drizzle Relations for Relational Queries
6955
+ *
6956
+ * These enable automatic JOINs using db.query.sessions.findFirst({ with: { worktree: true } })
6957
+ */
6958
+ declare const sessionsRelations: drizzle_orm.Relations<"sessions", {
6959
+ worktree: drizzle_orm.One<"worktrees", true>;
6960
+ }>;
6961
+ declare const worktreesRelations: drizzle_orm.Relations<"worktrees", {
6962
+ sessions: drizzle_orm.Many<"sessions">;
6963
+ }>;
6941
6964
 
6942
6965
  type sqliteSchema_BoardCommentInsert = BoardCommentInsert;
6943
6966
  type sqliteSchema_BoardCommentRow = BoardCommentRow;
@@ -6974,13 +6997,15 @@ declare const sqliteSchema_messages: typeof messages;
6974
6997
  declare const sqliteSchema_repos: typeof repos;
6975
6998
  declare const sqliteSchema_sessionMcpServers: typeof sessionMcpServers;
6976
6999
  declare const sqliteSchema_sessions: typeof sessions;
7000
+ declare const sqliteSchema_sessionsRelations: typeof sessionsRelations;
6977
7001
  declare const sqliteSchema_tasks: typeof tasks;
6978
7002
  declare const sqliteSchema_threadSessionMap: typeof threadSessionMap;
6979
7003
  declare const sqliteSchema_users: typeof users;
6980
7004
  declare const sqliteSchema_worktreeOwners: typeof worktreeOwners;
6981
7005
  declare const sqliteSchema_worktrees: typeof worktrees;
7006
+ declare const sqliteSchema_worktreesRelations: typeof worktreesRelations;
6982
7007
  declare namespace sqliteSchema {
6983
- export { type sqliteSchema_BoardCommentInsert as BoardCommentInsert, type sqliteSchema_BoardCommentRow as BoardCommentRow, type sqliteSchema_BoardInsert as BoardInsert, type sqliteSchema_BoardObjectInsert as BoardObjectInsert, type sqliteSchema_BoardObjectRow as BoardObjectRow, type sqliteSchema_BoardRow as BoardRow, type sqliteSchema_GatewayChannelInsert as GatewayChannelInsert, type sqliteSchema_GatewayChannelRow as GatewayChannelRow, type sqliteSchema_MCPServerInsert as MCPServerInsert, type sqliteSchema_MCPServerRow as MCPServerRow, type sqliteSchema_MessageInsert as MessageInsert, type sqliteSchema_MessageRow as MessageRow, type sqliteSchema_RepoInsert as RepoInsert, type sqliteSchema_RepoRow as RepoRow, type sqliteSchema_SessionInsert as SessionInsert, type sqliteSchema_SessionMCPServerInsert as SessionMCPServerInsert, type sqliteSchema_SessionMCPServerRow as SessionMCPServerRow, type sqliteSchema_SessionRow as SessionRow, type sqliteSchema_TaskInsert as TaskInsert, type sqliteSchema_TaskRow as TaskRow, type sqliteSchema_ThreadSessionMapInsert as ThreadSessionMapInsert, type sqliteSchema_ThreadSessionMapRow as ThreadSessionMapRow, type sqliteSchema_UserInsert as UserInsert, type sqliteSchema_UserRow as UserRow, type sqliteSchema_WorktreeInsert as WorktreeInsert, type sqliteSchema_WorktreeRow as WorktreeRow, sqliteSchema_boardComments as boardComments, sqliteSchema_boardObjects as boardObjects, sqliteSchema_boards as boards, sqliteSchema_gatewayChannels as gatewayChannels, sqliteSchema_mcpServers as mcpServers, sqliteSchema_messages as messages, sqliteSchema_repos as repos, sqliteSchema_sessionMcpServers as sessionMcpServers, sqliteSchema_sessions as sessions, sqliteSchema_tasks as tasks, sqliteSchema_threadSessionMap as threadSessionMap, sqliteSchema_users as users, sqliteSchema_worktreeOwners as worktreeOwners, sqliteSchema_worktrees as worktrees };
7008
+ export { type sqliteSchema_BoardCommentInsert as BoardCommentInsert, type sqliteSchema_BoardCommentRow as BoardCommentRow, type sqliteSchema_BoardInsert as BoardInsert, type sqliteSchema_BoardObjectInsert as BoardObjectInsert, type sqliteSchema_BoardObjectRow as BoardObjectRow, type sqliteSchema_BoardRow as BoardRow, type sqliteSchema_GatewayChannelInsert as GatewayChannelInsert, type sqliteSchema_GatewayChannelRow as GatewayChannelRow, type sqliteSchema_MCPServerInsert as MCPServerInsert, type sqliteSchema_MCPServerRow as MCPServerRow, type sqliteSchema_MessageInsert as MessageInsert, type sqliteSchema_MessageRow as MessageRow, type sqliteSchema_RepoInsert as RepoInsert, type sqliteSchema_RepoRow as RepoRow, type sqliteSchema_SessionInsert as SessionInsert, type sqliteSchema_SessionMCPServerInsert as SessionMCPServerInsert, type sqliteSchema_SessionMCPServerRow as SessionMCPServerRow, type sqliteSchema_SessionRow as SessionRow, type sqliteSchema_TaskInsert as TaskInsert, type sqliteSchema_TaskRow as TaskRow, type sqliteSchema_ThreadSessionMapInsert as ThreadSessionMapInsert, type sqliteSchema_ThreadSessionMapRow as ThreadSessionMapRow, type sqliteSchema_UserInsert as UserInsert, type sqliteSchema_UserRow as UserRow, type sqliteSchema_WorktreeInsert as WorktreeInsert, type sqliteSchema_WorktreeRow as WorktreeRow, sqliteSchema_boardComments as boardComments, sqliteSchema_boardObjects as boardObjects, sqliteSchema_boards as boards, sqliteSchema_gatewayChannels as gatewayChannels, sqliteSchema_mcpServers as mcpServers, sqliteSchema_messages as messages, sqliteSchema_repos as repos, sqliteSchema_sessionMcpServers as sessionMcpServers, sqliteSchema_sessions as sessions, sqliteSchema_sessionsRelations as sessionsRelations, sqliteSchema_tasks as tasks, sqliteSchema_threadSessionMap as threadSessionMap, sqliteSchema_users as users, sqliteSchema_worktreeOwners as worktreeOwners, sqliteSchema_worktrees as worktrees, sqliteSchema_worktreesRelations as worktreesRelations };
6984
7009
  }
6985
7010
 
6986
7011
  /**
@@ -7108,4 +7133,4 @@ declare function getDatabaseUrl(): string;
7108
7133
  */
7109
7134
  declare function createLocalDatabase(customPath?: string): Database;
7110
7135
 
7111
- export { postgresSchema as A, type BoardRow as B, type DbConfig as D, type GatewayChannelRow as G, type MessageRow as M, type RepoRow as R, type SessionRow as S, type TaskRow as T, type UserRow as U, type WorktreeRow as W, DatabaseConnectionError as a, createDatabaseAsync as b, createDatabase as c, type Database as d, DEFAULT_DB_PATH as e, createLocalDatabase as f, getDatabaseUrl as g, type SessionInsert as h, type TaskInsert as i, type MessageInsert as j, type BoardInsert as k, type RepoInsert as l, type WorktreeInsert as m, type UserInsert as n, type MCPServerRow as o, type MCPServerInsert as p, type SessionMCPServerRow as q, type SessionMCPServerInsert as r, type BoardObjectRow as s, type BoardObjectInsert as t, type BoardCommentRow as u, type BoardCommentInsert as v, type GatewayChannelInsert as w, type ThreadSessionMapRow as x, type ThreadSessionMapInsert as y, sqliteSchema as z };
7136
+ export { worktreesRelations as A, type BoardRow as B, sqliteSchema as C, type DbConfig as D, postgresSchema as E, type GatewayChannelRow as G, type MessageRow as M, type RepoRow as R, type SessionRow as S, type TaskRow as T, type UserRow as U, type WorktreeRow as W, DatabaseConnectionError as a, createDatabaseAsync as b, createDatabase as c, type Database as d, DEFAULT_DB_PATH as e, createLocalDatabase as f, getDatabaseUrl as g, type SessionInsert as h, type TaskInsert as i, type MessageInsert as j, type BoardInsert as k, type RepoInsert as l, type WorktreeInsert as m, type UserInsert as n, type MCPServerRow as o, type MCPServerInsert as p, type SessionMCPServerRow as q, type SessionMCPServerInsert as r, type BoardObjectRow as s, type BoardObjectInsert as t, type BoardCommentRow as u, type BoardCommentInsert as v, type GatewayChannelInsert as w, type ThreadSessionMapRow as x, type ThreadSessionMapInsert as y, sessionsRelations as z };
@@ -1,8 +1,9 @@
1
1
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
2
2
  import { PostgresJsDatabase } from 'drizzle-orm/postgres-js';
3
+ import * as drizzle_orm from 'drizzle-orm';
3
4
  import { e as Message } from './message-DZitapX9.cjs';
4
- import { f as Session, P as PermissionMode, c as CodexSandboxMode, d as CodexApprovalPolicy } from './session-Bt9i9089.cjs';
5
- import { d as BoardObject } from './board-DCNkcsyf.cjs';
5
+ import { f as Session, P as PermissionMode, c as CodexSandboxMode, d as CodexApprovalPolicy } from './session-BJbTzw3y.cjs';
6
+ import { d as BoardObject } from './board-ByCag4EG.cjs';
6
7
  import { c as Task } from './task-D5cWUcAY.cjs';
7
8
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
8
9
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
@@ -3423,9 +3424,20 @@ type GatewayChannelRow$1 = typeof gatewayChannels$1.$inferSelect;
3423
3424
  type GatewayChannelInsert$1 = typeof gatewayChannels$1.$inferInsert;
3424
3425
  type ThreadSessionMapRow$1 = typeof threadSessionMap$1.$inferSelect;
3425
3426
  type ThreadSessionMapInsert$1 = typeof threadSessionMap$1.$inferInsert;
3427
+ /**
3428
+ * Drizzle Relations for Relational Queries
3429
+ *
3430
+ * These enable automatic JOINs using db.query.sessions.findFirst({ with: { worktree: true } })
3431
+ */
3432
+ declare const sessionsRelations$1: drizzle_orm.Relations<"sessions", {
3433
+ worktree: drizzle_orm.One<"worktrees", true>;
3434
+ }>;
3435
+ declare const worktreesRelations$1: drizzle_orm.Relations<"worktrees", {
3436
+ sessions: drizzle_orm.Many<"sessions">;
3437
+ }>;
3426
3438
 
3427
3439
  declare namespace postgresSchema {
3428
- export { type BoardCommentInsert$1 as BoardCommentInsert, type BoardCommentRow$1 as BoardCommentRow, type BoardInsert$1 as BoardInsert, type BoardObjectInsert$1 as BoardObjectInsert, type BoardObjectRow$1 as BoardObjectRow, type BoardRow$1 as BoardRow, type GatewayChannelInsert$1 as GatewayChannelInsert, type GatewayChannelRow$1 as GatewayChannelRow, type MCPServerInsert$1 as MCPServerInsert, type MCPServerRow$1 as MCPServerRow, type MessageInsert$1 as MessageInsert, type MessageRow$1 as MessageRow, type RepoInsert$1 as RepoInsert, type RepoRow$1 as RepoRow, type SessionInsert$1 as SessionInsert, type SessionMCPServerInsert$1 as SessionMCPServerInsert, type SessionMCPServerRow$1 as SessionMCPServerRow, type SessionRow$1 as SessionRow, type TaskInsert$1 as TaskInsert, type TaskRow$1 as TaskRow, type ThreadSessionMapInsert$1 as ThreadSessionMapInsert, type ThreadSessionMapRow$1 as ThreadSessionMapRow, type UserInsert$1 as UserInsert, type UserRow$1 as UserRow, type WorktreeInsert$1 as WorktreeInsert, type WorktreeRow$1 as WorktreeRow, boardComments$1 as boardComments, boardObjects$1 as boardObjects, boards$1 as boards, gatewayChannels$1 as gatewayChannels, mcpServers$1 as mcpServers, messages$1 as messages, repos$1 as repos, sessionMcpServers$1 as sessionMcpServers, sessions$1 as sessions, tasks$1 as tasks, threadSessionMap$1 as threadSessionMap, users$1 as users, worktreeOwners$1 as worktreeOwners, worktrees$1 as worktrees };
3440
+ export { type BoardCommentInsert$1 as BoardCommentInsert, type BoardCommentRow$1 as BoardCommentRow, type BoardInsert$1 as BoardInsert, type BoardObjectInsert$1 as BoardObjectInsert, type BoardObjectRow$1 as BoardObjectRow, type BoardRow$1 as BoardRow, type GatewayChannelInsert$1 as GatewayChannelInsert, type GatewayChannelRow$1 as GatewayChannelRow, type MCPServerInsert$1 as MCPServerInsert, type MCPServerRow$1 as MCPServerRow, type MessageInsert$1 as MessageInsert, type MessageRow$1 as MessageRow, type RepoInsert$1 as RepoInsert, type RepoRow$1 as RepoRow, type SessionInsert$1 as SessionInsert, type SessionMCPServerInsert$1 as SessionMCPServerInsert, type SessionMCPServerRow$1 as SessionMCPServerRow, type SessionRow$1 as SessionRow, type TaskInsert$1 as TaskInsert, type TaskRow$1 as TaskRow, type ThreadSessionMapInsert$1 as ThreadSessionMapInsert, type ThreadSessionMapRow$1 as ThreadSessionMapRow, type UserInsert$1 as UserInsert, type UserRow$1 as UserRow, type WorktreeInsert$1 as WorktreeInsert, type WorktreeRow$1 as WorktreeRow, boardComments$1 as boardComments, boardObjects$1 as boardObjects, boards$1 as boards, gatewayChannels$1 as gatewayChannels, mcpServers$1 as mcpServers, messages$1 as messages, repos$1 as repos, sessionMcpServers$1 as sessionMcpServers, sessions$1 as sessions, sessionsRelations$1 as sessionsRelations, tasks$1 as tasks, threadSessionMap$1 as threadSessionMap, users$1 as users, worktreeOwners$1 as worktreeOwners, worktrees$1 as worktrees, worktreesRelations$1 as worktreesRelations };
3429
3441
  }
3430
3442
 
3431
3443
  /**
@@ -6938,6 +6950,17 @@ type GatewayChannelRow = typeof gatewayChannels.$inferSelect;
6938
6950
  type GatewayChannelInsert = typeof gatewayChannels.$inferInsert;
6939
6951
  type ThreadSessionMapRow = typeof threadSessionMap.$inferSelect;
6940
6952
  type ThreadSessionMapInsert = typeof threadSessionMap.$inferInsert;
6953
+ /**
6954
+ * Drizzle Relations for Relational Queries
6955
+ *
6956
+ * These enable automatic JOINs using db.query.sessions.findFirst({ with: { worktree: true } })
6957
+ */
6958
+ declare const sessionsRelations: drizzle_orm.Relations<"sessions", {
6959
+ worktree: drizzle_orm.One<"worktrees", true>;
6960
+ }>;
6961
+ declare const worktreesRelations: drizzle_orm.Relations<"worktrees", {
6962
+ sessions: drizzle_orm.Many<"sessions">;
6963
+ }>;
6941
6964
 
6942
6965
  type sqliteSchema_BoardCommentInsert = BoardCommentInsert;
6943
6966
  type sqliteSchema_BoardCommentRow = BoardCommentRow;
@@ -6974,13 +6997,15 @@ declare const sqliteSchema_messages: typeof messages;
6974
6997
  declare const sqliteSchema_repos: typeof repos;
6975
6998
  declare const sqliteSchema_sessionMcpServers: typeof sessionMcpServers;
6976
6999
  declare const sqliteSchema_sessions: typeof sessions;
7000
+ declare const sqliteSchema_sessionsRelations: typeof sessionsRelations;
6977
7001
  declare const sqliteSchema_tasks: typeof tasks;
6978
7002
  declare const sqliteSchema_threadSessionMap: typeof threadSessionMap;
6979
7003
  declare const sqliteSchema_users: typeof users;
6980
7004
  declare const sqliteSchema_worktreeOwners: typeof worktreeOwners;
6981
7005
  declare const sqliteSchema_worktrees: typeof worktrees;
7006
+ declare const sqliteSchema_worktreesRelations: typeof worktreesRelations;
6982
7007
  declare namespace sqliteSchema {
6983
- export { type sqliteSchema_BoardCommentInsert as BoardCommentInsert, type sqliteSchema_BoardCommentRow as BoardCommentRow, type sqliteSchema_BoardInsert as BoardInsert, type sqliteSchema_BoardObjectInsert as BoardObjectInsert, type sqliteSchema_BoardObjectRow as BoardObjectRow, type sqliteSchema_BoardRow as BoardRow, type sqliteSchema_GatewayChannelInsert as GatewayChannelInsert, type sqliteSchema_GatewayChannelRow as GatewayChannelRow, type sqliteSchema_MCPServerInsert as MCPServerInsert, type sqliteSchema_MCPServerRow as MCPServerRow, type sqliteSchema_MessageInsert as MessageInsert, type sqliteSchema_MessageRow as MessageRow, type sqliteSchema_RepoInsert as RepoInsert, type sqliteSchema_RepoRow as RepoRow, type sqliteSchema_SessionInsert as SessionInsert, type sqliteSchema_SessionMCPServerInsert as SessionMCPServerInsert, type sqliteSchema_SessionMCPServerRow as SessionMCPServerRow, type sqliteSchema_SessionRow as SessionRow, type sqliteSchema_TaskInsert as TaskInsert, type sqliteSchema_TaskRow as TaskRow, type sqliteSchema_ThreadSessionMapInsert as ThreadSessionMapInsert, type sqliteSchema_ThreadSessionMapRow as ThreadSessionMapRow, type sqliteSchema_UserInsert as UserInsert, type sqliteSchema_UserRow as UserRow, type sqliteSchema_WorktreeInsert as WorktreeInsert, type sqliteSchema_WorktreeRow as WorktreeRow, sqliteSchema_boardComments as boardComments, sqliteSchema_boardObjects as boardObjects, sqliteSchema_boards as boards, sqliteSchema_gatewayChannels as gatewayChannels, sqliteSchema_mcpServers as mcpServers, sqliteSchema_messages as messages, sqliteSchema_repos as repos, sqliteSchema_sessionMcpServers as sessionMcpServers, sqliteSchema_sessions as sessions, sqliteSchema_tasks as tasks, sqliteSchema_threadSessionMap as threadSessionMap, sqliteSchema_users as users, sqliteSchema_worktreeOwners as worktreeOwners, sqliteSchema_worktrees as worktrees };
7008
+ export { type sqliteSchema_BoardCommentInsert as BoardCommentInsert, type sqliteSchema_BoardCommentRow as BoardCommentRow, type sqliteSchema_BoardInsert as BoardInsert, type sqliteSchema_BoardObjectInsert as BoardObjectInsert, type sqliteSchema_BoardObjectRow as BoardObjectRow, type sqliteSchema_BoardRow as BoardRow, type sqliteSchema_GatewayChannelInsert as GatewayChannelInsert, type sqliteSchema_GatewayChannelRow as GatewayChannelRow, type sqliteSchema_MCPServerInsert as MCPServerInsert, type sqliteSchema_MCPServerRow as MCPServerRow, type sqliteSchema_MessageInsert as MessageInsert, type sqliteSchema_MessageRow as MessageRow, type sqliteSchema_RepoInsert as RepoInsert, type sqliteSchema_RepoRow as RepoRow, type sqliteSchema_SessionInsert as SessionInsert, type sqliteSchema_SessionMCPServerInsert as SessionMCPServerInsert, type sqliteSchema_SessionMCPServerRow as SessionMCPServerRow, type sqliteSchema_SessionRow as SessionRow, type sqliteSchema_TaskInsert as TaskInsert, type sqliteSchema_TaskRow as TaskRow, type sqliteSchema_ThreadSessionMapInsert as ThreadSessionMapInsert, type sqliteSchema_ThreadSessionMapRow as ThreadSessionMapRow, type sqliteSchema_UserInsert as UserInsert, type sqliteSchema_UserRow as UserRow, type sqliteSchema_WorktreeInsert as WorktreeInsert, type sqliteSchema_WorktreeRow as WorktreeRow, sqliteSchema_boardComments as boardComments, sqliteSchema_boardObjects as boardObjects, sqliteSchema_boards as boards, sqliteSchema_gatewayChannels as gatewayChannels, sqliteSchema_mcpServers as mcpServers, sqliteSchema_messages as messages, sqliteSchema_repos as repos, sqliteSchema_sessionMcpServers as sessionMcpServers, sqliteSchema_sessions as sessions, sqliteSchema_sessionsRelations as sessionsRelations, sqliteSchema_tasks as tasks, sqliteSchema_threadSessionMap as threadSessionMap, sqliteSchema_users as users, sqliteSchema_worktreeOwners as worktreeOwners, sqliteSchema_worktrees as worktrees, sqliteSchema_worktreesRelations as worktreesRelations };
6984
7009
  }
6985
7010
 
6986
7011
  /**
@@ -7108,4 +7133,4 @@ declare function getDatabaseUrl(): string;
7108
7133
  */
7109
7134
  declare function createLocalDatabase(customPath?: string): Database;
7110
7135
 
7111
- export { postgresSchema as A, type BoardRow as B, type DbConfig as D, type GatewayChannelRow as G, type MessageRow as M, type RepoRow as R, type SessionRow as S, type TaskRow as T, type UserRow as U, type WorktreeRow as W, DatabaseConnectionError as a, createDatabaseAsync as b, createDatabase as c, type Database as d, DEFAULT_DB_PATH as e, createLocalDatabase as f, getDatabaseUrl as g, type SessionInsert as h, type TaskInsert as i, type MessageInsert as j, type BoardInsert as k, type RepoInsert as l, type WorktreeInsert as m, type UserInsert as n, type MCPServerRow as o, type MCPServerInsert as p, type SessionMCPServerRow as q, type SessionMCPServerInsert as r, type BoardObjectRow as s, type BoardObjectInsert as t, type BoardCommentRow as u, type BoardCommentInsert as v, type GatewayChannelInsert as w, type ThreadSessionMapRow as x, type ThreadSessionMapInsert as y, sqliteSchema as z };
7136
+ export { worktreesRelations as A, type BoardRow as B, sqliteSchema as C, type DbConfig as D, postgresSchema as E, type GatewayChannelRow as G, type MessageRow as M, type RepoRow as R, type SessionRow as S, type TaskRow as T, type UserRow as U, type WorktreeRow as W, DatabaseConnectionError as a, createDatabaseAsync as b, createDatabase as c, type Database as d, DEFAULT_DB_PATH as e, createLocalDatabase as f, getDatabaseUrl as g, type SessionInsert as h, type TaskInsert as i, type MessageInsert as j, type BoardInsert as k, type RepoInsert as l, type WorktreeInsert as m, type UserInsert as n, type MCPServerRow as o, type MCPServerInsert as p, type SessionMCPServerRow as q, type SessionMCPServerInsert as r, type BoardObjectRow as s, type BoardObjectInsert as t, type BoardCommentRow as u, type BoardCommentInsert as v, type GatewayChannelInsert as w, type ThreadSessionMapRow as x, type ThreadSessionMapInsert as y, sessionsRelations as z };
@@ -1,6 +1,6 @@
1
1
  import { R as RepoSlug, W as WorktreeName, b as Repo, d as Worktree } from '../worktree-hZImhblR.cjs';
2
2
  import { U as UUID } from '../id-BwPJtWxW.cjs';
3
- export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from '../types-D_wAaaE3.cjs';
3
+ export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from '../types-Ddri21rw.cjs';
4
4
 
5
5
  /**
6
6
  * App-level constants for Agor
@@ -1,6 +1,6 @@
1
1
  import { R as RepoSlug, W as WorktreeName, b as Repo, d as Worktree } from '../worktree-BR7Inm0-.js';
2
2
  import { U as UUID } from '../id-BwPJtWxW.js';
3
- export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from '../types-D_wAaaE3.js';
3
+ export { f as AgorCodexSettings, j as AgorConfig, i as AgorCredentials, b as AgorDaemonSettings, e as AgorDatabaseSettings, A as AgorDefaults, a as AgorDisplaySettings, g as AgorExecutionSettings, d as AgorOpenCodeSettings, h as AgorPathSettings, c as AgorUISettings, k as ConfigKey, C as CredentialKey, U as UnknownJson } from '../types-Ddri21rw.js';
4
4
 
5
5
  /**
6
6
  * App-level constants for Agor
@@ -139,13 +139,15 @@ __export(schema_postgres_exports, {
139
139
  repos: () => repos,
140
140
  sessionMcpServers: () => sessionMcpServers,
141
141
  sessions: () => sessions,
142
+ sessionsRelations: () => sessionsRelations,
142
143
  tasks: () => tasks,
143
144
  threadSessionMap: () => threadSessionMap,
144
145
  users: () => users,
145
146
  worktreeOwners: () => worktreeOwners,
146
- worktrees: () => worktrees
147
+ worktrees: () => worktrees,
148
+ worktreesRelations: () => worktreesRelations
147
149
  });
148
- var import_drizzle_orm2, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap;
150
+ var import_drizzle_orm2, import_pg_core, t, sessions, tasks, messages, boards, repos, worktrees, worktreeOwners, users, mcpServers, boardObjects, sessionMcpServers, boardComments, gatewayChannels, threadSessionMap, sessionsRelations, worktreesRelations;
149
151
  var init_schema_postgres = __esm({
150
152
  "src/db/schema.postgres.ts"() {
151
153
  "use strict";
@@ -634,6 +636,15 @@ var init_schema_postgres = __esm({
634
636
  channelStatusIdx: (0, import_pg_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
635
637
  })
636
638
  );
639
+ sessionsRelations = (0, import_drizzle_orm2.relations)(sessions, ({ one }) => ({
640
+ worktree: one(worktrees, {
641
+ fields: [sessions.worktree_id],
642
+ references: [worktrees.worktree_id]
643
+ })
644
+ }));
645
+ worktreesRelations = (0, import_drizzle_orm2.relations)(worktrees, ({ many }) => ({
646
+ sessions: many(sessions)
647
+ }));
637
648
  }
638
649
  });
639
650
 
@@ -649,13 +660,15 @@ __export(schema_sqlite_exports, {
649
660
  repos: () => repos2,
650
661
  sessionMcpServers: () => sessionMcpServers2,
651
662
  sessions: () => sessions2,
663
+ sessionsRelations: () => sessionsRelations2,
652
664
  tasks: () => tasks2,
653
665
  threadSessionMap: () => threadSessionMap2,
654
666
  users: () => users2,
655
667
  worktreeOwners: () => worktreeOwners2,
656
- worktrees: () => worktrees2
668
+ worktrees: () => worktrees2,
669
+ worktreesRelations: () => worktreesRelations2
657
670
  });
658
- var import_drizzle_orm3, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2;
671
+ var import_drizzle_orm3, import_sqlite_core, t2, sessions2, tasks2, messages2, boards2, repos2, worktrees2, worktreeOwners2, users2, mcpServers2, boardObjects2, sessionMcpServers2, boardComments2, gatewayChannels2, threadSessionMap2, sessionsRelations2, worktreesRelations2;
659
672
  var init_schema_sqlite = __esm({
660
673
  "src/db/schema.sqlite.ts"() {
661
674
  "use strict";
@@ -1145,6 +1158,15 @@ var init_schema_sqlite = __esm({
1145
1158
  channelStatusIdx: (0, import_sqlite_core.index)("idx_thread_map_channel_status").on(table.channel_id, table.status)
1146
1159
  })
1147
1160
  );
1161
+ sessionsRelations2 = (0, import_drizzle_orm3.relations)(sessions2, ({ one }) => ({
1162
+ worktree: one(worktrees2, {
1163
+ fields: [sessions2.worktree_id],
1164
+ references: [worktrees2.worktree_id]
1165
+ })
1166
+ }));
1167
+ worktreesRelations2 = (0, import_drizzle_orm3.relations)(worktrees2, ({ many }) => ({
1168
+ sessions: many(sessions2)
1169
+ }));
1148
1170
  }
1149
1171
  });
1150
1172
 
@@ -1242,6 +1264,7 @@ __export(config_exports, {
1242
1264
  formatValidationError: () => formatValidationError,
1243
1265
  formatValidationErrors: () => formatValidationErrors,
1244
1266
  getAgorHome: () => getAgorHome,
1267
+ getBaseUrl: () => getBaseUrl,
1245
1268
  getConfigPath: () => getConfigPath,
1246
1269
  getConfigValue: () => getConfigValue,
1247
1270
  getCredential: () => getCredential,
@@ -1685,6 +1708,32 @@ async function getDaemonUrl() {
1685
1708
  const host = config.daemon?.host || defaults.daemon?.host || DAEMON.DEFAULT_HOST;
1686
1709
  return `http://${host}:${port}`;
1687
1710
  }
1711
+ function validateBaseUrl(url) {
1712
+ const trimmed = url.trim().replace(/\/$/, "");
1713
+ if (!trimmed.startsWith("http://") && !trimmed.startsWith("https://")) {
1714
+ throw new Error(`Invalid base URL: "${url}". Must start with http:// or https://`);
1715
+ }
1716
+ try {
1717
+ new URL(trimmed);
1718
+ } catch {
1719
+ throw new Error(`Invalid base URL format: "${url}". Must be a valid HTTP(S) URL.`);
1720
+ }
1721
+ return trimmed;
1722
+ }
1723
+ async function getBaseUrl() {
1724
+ if (process.env.AGOR_BASE_URL) {
1725
+ return validateBaseUrl(process.env.AGOR_BASE_URL);
1726
+ }
1727
+ const config = await loadConfig();
1728
+ if (config.daemon?.base_url) {
1729
+ return validateBaseUrl(config.daemon.base_url);
1730
+ }
1731
+ const defaults = getDefaultConfig();
1732
+ const envPort = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : void 0;
1733
+ const port = envPort || config.daemon?.port || defaults.daemon?.port || DAEMON.DEFAULT_PORT;
1734
+ const host = config.daemon?.host || defaults.daemon?.host || DAEMON.DEFAULT_HOST;
1735
+ return `http://${host}:${port}`;
1736
+ }
1688
1737
  function loadConfigSync() {
1689
1738
  const configPath = getConfigPath();
1690
1739
  try {
@@ -2166,6 +2215,12 @@ init_cjs_shims();
2166
2215
  var import_drizzle_orm8 = require("drizzle-orm");
2167
2216
  var yaml3 = __toESM(require("js-yaml"), 1);
2168
2217
  init_ids();
2218
+
2219
+ // src/utils/url.ts
2220
+ init_cjs_shims();
2221
+ init_ids();
2222
+
2223
+ // src/db/repositories/boards.ts
2169
2224
  init_database_wrapper();
2170
2225
  init_schema();
2171
2226
 
@@ -2548,6 +2603,7 @@ var CredentialKey = /* @__PURE__ */ ((CredentialKey2) => {
2548
2603
  formatValidationError,
2549
2604
  formatValidationErrors,
2550
2605
  getAgorHome,
2606
+ getBaseUrl,
2551
2607
  getConfigPath,
2552
2608
  getConfigValue,
2553
2609
  getCredential,