agor-live 0.11.1 → 0.11.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 (475) hide show
  1. package/dist/cli/commands/config/index.js +16 -0
  2. package/dist/cli/commands/init.js +4 -4
  3. package/dist/core/claude/index.cjs +6 -6
  4. package/dist/core/claude/index.js +7 -6
  5. package/dist/core/{client-DuwBpnZS.d.ts → client-BOMc8S1H.d.ts} +9 -9
  6. package/dist/core/{client-rXuir36R.d.cts → client-fIC5YbDo.d.cts} +9 -9
  7. package/dist/core/config/index.cjs +13 -7
  8. package/dist/core/config/index.d.cts +12 -5
  9. package/dist/core/config/index.d.ts +12 -5
  10. package/dist/core/config/index.js +14 -7
  11. package/dist/core/db/index.cjs +12 -9
  12. package/dist/core/db/index.d.cts +11 -11
  13. package/dist/core/db/index.d.ts +11 -11
  14. package/dist/core/db/index.js +13 -9
  15. package/dist/core/drizzle/postgres/0011_fix_schedule_timestamp_overflow.sql +7 -0
  16. package/dist/core/drizzle/postgres/0012_fix_session_timestamp_overflow.sql +6 -0
  17. package/dist/core/drizzle/postgres/meta/_journal.json +14 -0
  18. package/dist/core/git/index.cjs +39 -2
  19. package/dist/core/git/index.d.cts +6 -1
  20. package/dist/core/git/index.d.ts +6 -1
  21. package/dist/core/git/index.js +39 -2
  22. package/dist/core/index.cjs +59 -13
  23. package/dist/core/index.d.cts +1 -1
  24. package/dist/core/index.d.ts +1 -1
  25. package/dist/core/index.js +60 -13
  26. package/dist/core/lib/feathers-validation.cjs +2 -0
  27. package/dist/core/lib/feathers-validation.d.cts +1 -0
  28. package/dist/core/lib/feathers-validation.d.ts +1 -0
  29. package/dist/core/lib/feathers-validation.js +2 -0
  30. package/dist/core/mcp/index.cjs +6 -6
  31. package/dist/core/mcp/index.js +7 -6
  32. package/dist/core/models/index.cjs +75 -19
  33. package/dist/core/models/index.d.cts +130 -17
  34. package/dist/core/models/index.d.ts +130 -17
  35. package/dist/core/models/index.js +74 -19
  36. package/dist/core/seed/index.cjs +12 -9
  37. package/dist/core/seed/index.js +13 -9
  38. package/dist/core/unix/index.cjs +14 -8
  39. package/dist/core/unix/index.d.cts +1 -1
  40. package/dist/core/unix/index.d.ts +1 -1
  41. package/dist/core/unix/index.js +15 -8
  42. package/dist/daemon/index.js +275 -101
  43. package/dist/daemon/mcp/routes.js +14 -2
  44. package/dist/daemon/services/mcp-servers.d.ts +2 -7
  45. package/dist/daemon/services/repos.js +10 -3
  46. package/dist/daemon/services/scheduler.d.ts +20 -3
  47. package/dist/daemon/services/scheduler.js +95 -32
  48. package/dist/daemon/services/tasks.js +29 -1
  49. package/dist/daemon/services/terminals.js +6 -1
  50. package/dist/daemon/services/worktrees.js +4 -4
  51. package/dist/executor/sdk-handlers/codex/models.d.ts +2 -26
  52. package/dist/executor/sdk-handlers/codex/models.d.ts.map +1 -1
  53. package/dist/executor/sdk-handlers/codex/models.js +2 -61
  54. package/dist/executor/sdk-handlers/gemini/models.d.ts +3 -30
  55. package/dist/executor/sdk-handlers/gemini/models.d.ts.map +1 -1
  56. package/dist/executor/sdk-handlers/gemini/models.js +3 -69
  57. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts +8 -2
  58. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts.map +1 -1
  59. package/dist/executor/sdk-handlers/gemini/permission-mapper.js +20 -3
  60. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  61. package/dist/executor/sdk-handlers/gemini/prompt-service.js +53 -75
  62. package/dist/executor/sdk-handlers/models.d.ts +1 -1
  63. package/dist/executor/sdk-handlers/models.d.ts.map +1 -1
  64. package/dist/executor/sdk-handlers/models.js +1 -1
  65. package/dist/executor/sdk-handlers/opencode/client.d.ts +108 -0
  66. package/dist/executor/sdk-handlers/opencode/client.d.ts.map +1 -0
  67. package/dist/executor/sdk-handlers/opencode/client.js +366 -0
  68. package/dist/ui/assets/{_basePickBy-D1zFnaqs.js → _basePickBy-Dd6cdu7w.js} +1 -1
  69. package/dist/ui/assets/_basePickBy-Dd6cdu7w.js.gz +0 -0
  70. package/dist/ui/assets/{_baseUniq-D8LATcRr.js → _baseUniq-RJEcVuxa.js} +1 -1
  71. package/dist/ui/assets/_baseUniq-RJEcVuxa.js.gz +0 -0
  72. package/dist/ui/assets/abap-BdImnpbu.js.gz +0 -0
  73. package/dist/ui/assets/actionscript-3-CfeIJUat.js.gz +0 -0
  74. package/dist/ui/assets/ada-bCR0ucgS.js.gz +0 -0
  75. package/dist/ui/assets/andromeeda-C-Jbm3Hp.js.gz +0 -0
  76. package/dist/ui/assets/angular-html-CU67Zn6k.js.gz +0 -0
  77. package/dist/ui/assets/angular-ts-BwZT4LLn.js.gz +0 -0
  78. package/dist/ui/assets/apache-Pmp26Uib.js.gz +0 -0
  79. package/dist/ui/assets/apex-DhZLUxFE.js.gz +0 -0
  80. package/dist/ui/assets/apl-dKokRX4l.js.gz +0 -0
  81. package/dist/ui/assets/applescript-Co6uUVPk.js.gz +0 -0
  82. package/dist/ui/assets/ara-BRHolxvo.js.gz +0 -0
  83. package/dist/ui/assets/{arc-D8U6s2jg.js → arc-BlYyOC-L.js} +1 -1
  84. package/dist/ui/assets/arc-BlYyOC-L.js.gz +0 -0
  85. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-Zps5hHAf.js → architectureDiagram-VXUJARFQ-DhcrErQT.js} +1 -1
  86. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DhcrErQT.js.gz +0 -0
  87. package/dist/ui/assets/asciidoc-Dv7Oe6Be.js.gz +0 -0
  88. package/dist/ui/assets/asm-D_Q5rh1f.js.gz +0 -0
  89. package/dist/ui/assets/astro-CbQHKStN.js.gz +0 -0
  90. package/dist/ui/assets/aurora-x-D-2ljcwZ.js.gz +0 -0
  91. package/dist/ui/assets/awk-DMzUqQB5.js.gz +0 -0
  92. package/dist/ui/assets/ayu-dark-Cv9koXgw.js.gz +0 -0
  93. package/dist/ui/assets/ballerina-BFfxhgS-.js.gz +0 -0
  94. package/dist/ui/assets/bat-BkioyH1T.js.gz +0 -0
  95. package/dist/ui/assets/beancount-k_qm7-4y.js.gz +0 -0
  96. package/dist/ui/assets/berry-D08WgyRC.js.gz +0 -0
  97. package/dist/ui/assets/bibtex-CHM0blh-.js.gz +0 -0
  98. package/dist/ui/assets/bicep-Bmn6On1c.js.gz +0 -0
  99. package/dist/ui/assets/blade-DVc8C-J4.js.gz +0 -0
  100. package/dist/ui/assets/{blockDiagram-VD42YOAC-re5iSrSJ.js → blockDiagram-VD42YOAC-CYmIKBpx.js} +1 -1
  101. package/dist/ui/assets/blockDiagram-VD42YOAC-CYmIKBpx.js.gz +0 -0
  102. package/dist/ui/assets/bsl-BO_Y6i37.js.gz +0 -0
  103. package/dist/ui/assets/c-BIGW1oBm.js.gz +0 -0
  104. package/dist/ui/assets/{c4Diagram-YG6GDRKO-BWV8l1xr.js → c4Diagram-YG6GDRKO-GtroFxtX.js} +1 -1
  105. package/dist/ui/assets/c4Diagram-YG6GDRKO-GtroFxtX.js.gz +0 -0
  106. package/dist/ui/assets/cadence-Bv_4Rxtq.js.gz +0 -0
  107. package/dist/ui/assets/cairo-KRGpt6FW.js.gz +0 -0
  108. package/dist/ui/assets/catppuccin-frappe-DFWUc33u.js.gz +0 -0
  109. package/dist/ui/assets/catppuccin-latte-C9dUb6Cb.js.gz +0 -0
  110. package/dist/ui/assets/catppuccin-macchiato-DQyhUUbL.js.gz +0 -0
  111. package/dist/ui/assets/catppuccin-mocha-D87Tk5Gz.js.gz +0 -0
  112. package/dist/ui/assets/channel-Cb1EAb5q.js +1 -0
  113. package/dist/ui/assets/{chunk-4BX2VUAB-DmaLgEot.js → chunk-4BX2VUAB-xcIdo-Jt.js} +1 -1
  114. package/dist/ui/assets/{chunk-55IACEB6-CC4O9o0l.js → chunk-55IACEB6-CwT2Yi3s.js} +1 -1
  115. package/dist/ui/assets/{chunk-B4BG7PRW-B9y5I_4g.js → chunk-B4BG7PRW-CBdCcNRg.js} +1 -1
  116. package/dist/ui/assets/chunk-B4BG7PRW-CBdCcNRg.js.gz +0 -0
  117. package/dist/ui/assets/{chunk-DI55MBZ5-DdxJatuV.js → chunk-DI55MBZ5-D2UyS3rr.js} +1 -1
  118. package/dist/ui/assets/chunk-DI55MBZ5-D2UyS3rr.js.gz +0 -0
  119. package/dist/ui/assets/{chunk-FMBD7UC4-Bka6pzNO.js → chunk-FMBD7UC4-BYuIr-z-.js} +1 -1
  120. package/dist/ui/assets/{chunk-QN33PNHL-DoxBWKMe.js → chunk-QN33PNHL-CPFeqPBS.js} +1 -1
  121. package/dist/ui/assets/{chunk-QZHKN3VN-D6ckztZA.js → chunk-QZHKN3VN-CpImR60v.js} +1 -1
  122. package/dist/ui/assets/{chunk-TZMSLE5B-CSZ-Do9o.js → chunk-TZMSLE5B-BIFhAsrw.js} +1 -1
  123. package/dist/ui/assets/chunk-TZMSLE5B-BIFhAsrw.js.gz +0 -0
  124. package/dist/ui/assets/clarity-D53aC0YG.js.gz +0 -0
  125. package/dist/ui/assets/classDiagram-2ON5EDUG-DVudl7LL.js +1 -0
  126. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-DVudl7LL.js +1 -0
  127. package/dist/ui/assets/clojure-P80f7IUj.js.gz +0 -0
  128. package/dist/ui/assets/clone-hzvfyFuU.js +1 -0
  129. package/dist/ui/assets/cmake-D1j8_8rp.js.gz +0 -0
  130. package/dist/ui/assets/cobol-nwyudZeR.js.gz +0 -0
  131. package/dist/ui/assets/codeql-DsOJ9woJ.js.gz +0 -0
  132. package/dist/ui/assets/coffee-Ch7k5sss.js.gz +0 -0
  133. package/dist/ui/assets/common-lisp-Cg-RD9OK.js.gz +0 -0
  134. package/dist/ui/assets/coq-DkFqJrB1.js.gz +0 -0
  135. package/dist/ui/assets/{cose-bilkent-S5V4N54A-DrBUfYnR.js → cose-bilkent-S5V4N54A-BaSYx8Vm.js} +1 -1
  136. package/dist/ui/assets/cose-bilkent-S5V4N54A-BaSYx8Vm.js.gz +0 -0
  137. package/dist/ui/assets/cpp-CofmeUqb.js.gz +0 -0
  138. package/dist/ui/assets/crystal-tKQVLTB8.js.gz +0 -0
  139. package/dist/ui/assets/csharp-CX12Zw3r.js.gz +0 -0
  140. package/dist/ui/assets/css-DPfMkruS.js.gz +0 -0
  141. package/dist/ui/assets/csv-fuZLfV_i.js.gz +0 -0
  142. package/dist/ui/assets/cue-D82EKSYY.js.gz +0 -0
  143. package/dist/ui/assets/cypher-COkxafJQ.js.gz +0 -0
  144. package/dist/ui/assets/cytoscape.esm-CF_z7lu9.js.gz +0 -0
  145. package/dist/ui/assets/d-85-TOEBH.js.gz +0 -0
  146. package/dist/ui/assets/{dagre-6UL2VRFP-FCRVHvCA.js → dagre-6UL2VRFP-Ck4QxjYp.js} +1 -1
  147. package/dist/ui/assets/dagre-6UL2VRFP-Ck4QxjYp.js.gz +0 -0
  148. package/dist/ui/assets/dark-plus-eOWES_5F.js.gz +0 -0
  149. package/dist/ui/assets/dart-CF10PKvl.js.gz +0 -0
  150. package/dist/ui/assets/dax-CEL-wOlO.js.gz +0 -0
  151. package/dist/ui/assets/defaultLocale-C4B-KCzX.js.gz +0 -0
  152. package/dist/ui/assets/desktop-BmXAJ9_W.js.gz +0 -0
  153. package/dist/ui/assets/{diagram-PSM6KHXK-DOZvPtVc.js → diagram-PSM6KHXK-rgHhMBpZ.js} +1 -1
  154. package/dist/ui/assets/diagram-PSM6KHXK-rgHhMBpZ.js.gz +0 -0
  155. package/dist/ui/assets/{diagram-QEK2KX5R-CK7zONT5.js → diagram-QEK2KX5R-BvJJM5Yx.js} +1 -1
  156. package/dist/ui/assets/diagram-QEK2KX5R-BvJJM5Yx.js.gz +0 -0
  157. package/dist/ui/assets/{diagram-S2PKOQOG-Dtw59dKH.js → diagram-S2PKOQOG-C_DZRzrA.js} +1 -1
  158. package/dist/ui/assets/diagram-S2PKOQOG-C_DZRzrA.js.gz +0 -0
  159. package/dist/ui/assets/diff-D97Zzqfu.js.gz +0 -0
  160. package/dist/ui/assets/docker-BcOcwvcX.js.gz +0 -0
  161. package/dist/ui/assets/dotenv-Da5cRb03.js.gz +0 -0
  162. package/dist/ui/assets/dracula-BzJJZx-M.js.gz +0 -0
  163. package/dist/ui/assets/dracula-soft-BXkSAIEj.js.gz +0 -0
  164. package/dist/ui/assets/dream-maker-BtqSS_iP.js.gz +0 -0
  165. package/dist/ui/assets/edge-BkV0erSs.js.gz +0 -0
  166. package/dist/ui/assets/elixir-CDX3lj18.js.gz +0 -0
  167. package/dist/ui/assets/elm-DbKCFpqz.js.gz +0 -0
  168. package/dist/ui/assets/emacs-lisp-C9XAeP06.js.gz +0 -0
  169. package/dist/ui/assets/{erDiagram-Q2GNP2WA-Cy45dpA1.js → erDiagram-Q2GNP2WA-W5ErP_Wx.js} +1 -1
  170. package/dist/ui/assets/erDiagram-Q2GNP2WA-W5ErP_Wx.js.gz +0 -0
  171. package/dist/ui/assets/erb-BOJIQeun.js.gz +0 -0
  172. package/dist/ui/assets/erlang-DsQrWhSR.js.gz +0 -0
  173. package/dist/ui/assets/everforest-dark-BgDCqdQA.js.gz +0 -0
  174. package/dist/ui/assets/everforest-light-C8M2exoo.js.gz +0 -0
  175. package/dist/ui/assets/fennel-BYunw83y.js.gz +0 -0
  176. package/dist/ui/assets/fish-BvzEVeQv.js.gz +0 -0
  177. package/dist/ui/assets/{flowDiagram-NV44I4VS-XuyJ5bBo.js → flowDiagram-NV44I4VS-C_IQtBOc.js} +1 -1
  178. package/dist/ui/assets/flowDiagram-NV44I4VS-C_IQtBOc.js.gz +0 -0
  179. package/dist/ui/assets/fluent-C4IJs8-o.js.gz +0 -0
  180. package/dist/ui/assets/fortran-fixed-form-BZjJHVRy.js.gz +0 -0
  181. package/dist/ui/assets/fortran-free-form-D22FLkUw.js.gz +0 -0
  182. package/dist/ui/assets/fsharp-CXgrBDvD.js.gz +0 -0
  183. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-DqaL_wJl.js → ganttDiagram-LVOFAZNH-CyfgIj_q.js} +1 -1
  184. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CyfgIj_q.js.gz +0 -0
  185. package/dist/ui/assets/gdresource-B7Tvp0Sc.js.gz +0 -0
  186. package/dist/ui/assets/gdscript-DTMYz4Jt.js.gz +0 -0
  187. package/dist/ui/assets/gdshader-DkwncUOv.js.gz +0 -0
  188. package/dist/ui/assets/genie-D0YGMca9.js.gz +0 -0
  189. package/dist/ui/assets/gherkin-DyxjwDmM.js.gz +0 -0
  190. package/dist/ui/assets/git-commit-F4YmCXRG.js.gz +0 -0
  191. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-B3FuWwlr.js → gitGraphDiagram-NY62KEGX-BXXHtimG.js} +1 -1
  192. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-BXXHtimG.js.gz +0 -0
  193. package/dist/ui/assets/github-dark-DHJKELXO.js.gz +0 -0
  194. package/dist/ui/assets/github-dark-default-Cuk6v7N8.js.gz +0 -0
  195. package/dist/ui/assets/github-dark-dimmed-DH5Ifo-i.js.gz +0 -0
  196. package/dist/ui/assets/github-dark-high-contrast-E3gJ1_iC.js.gz +0 -0
  197. package/dist/ui/assets/github-light-DAi9KRSo.js.gz +0 -0
  198. package/dist/ui/assets/github-light-default-D7oLnXFd.js.gz +0 -0
  199. package/dist/ui/assets/github-light-high-contrast-BfjtVDDH.js.gz +0 -0
  200. package/dist/ui/assets/gleam-BspZqrRM.js.gz +0 -0
  201. package/dist/ui/assets/glimmer-js-Rg0-pVw9.js.gz +0 -0
  202. package/dist/ui/assets/glimmer-ts-U6CK756n.js.gz +0 -0
  203. package/dist/ui/assets/glsl-DplSGwfg.js.gz +0 -0
  204. package/dist/ui/assets/gnuplot-DdkO51Og.js.gz +0 -0
  205. package/dist/ui/assets/go-Dn2_MT6a.js.gz +0 -0
  206. package/dist/ui/assets/{graph-BG5dWzaR.js → graph-BhYMNTB9.js} +1 -1
  207. package/dist/ui/assets/graph-BhYMNTB9.js.gz +0 -0
  208. package/dist/ui/assets/graphql-ChdNCCLP.js.gz +0 -0
  209. package/dist/ui/assets/groovy-gcz8RCvz.js.gz +0 -0
  210. package/dist/ui/assets/gruvbox-dark-hard-CFHQjOhq.js.gz +0 -0
  211. package/dist/ui/assets/gruvbox-dark-medium-GsRaNv29.js.gz +0 -0
  212. package/dist/ui/assets/gruvbox-dark-soft-CVdnzihN.js.gz +0 -0
  213. package/dist/ui/assets/gruvbox-light-hard-CH1njM8p.js.gz +0 -0
  214. package/dist/ui/assets/gruvbox-light-medium-DRw_LuNl.js.gz +0 -0
  215. package/dist/ui/assets/gruvbox-light-soft-hJgmCMqR.js.gz +0 -0
  216. package/dist/ui/assets/hack-CaT9iCJl.js.gz +0 -0
  217. package/dist/ui/assets/haml-B8DHNrY2.js.gz +0 -0
  218. package/dist/ui/assets/handlebars-BL8al0AC.js.gz +0 -0
  219. package/dist/ui/assets/haskell-Df6bDoY_.js.gz +0 -0
  220. package/dist/ui/assets/haxe-CzTSHFRz.js.gz +0 -0
  221. package/dist/ui/assets/hcl-BWvSN4gD.js.gz +0 -0
  222. package/dist/ui/assets/hjson-D5-asLiD.js.gz +0 -0
  223. package/dist/ui/assets/hlsl-D3lLCCz7.js.gz +0 -0
  224. package/dist/ui/assets/houston-DnULxvSX.js.gz +0 -0
  225. package/dist/ui/assets/html-GMplVEZG.js.gz +0 -0
  226. package/dist/ui/assets/http-jrhK8wxY.js.gz +0 -0
  227. package/dist/ui/assets/hurl-irOxFIW8.js.gz +0 -0
  228. package/dist/ui/assets/hxml-Bvhsp5Yf.js.gz +0 -0
  229. package/dist/ui/assets/hy-DFXneXwc.js.gz +0 -0
  230. package/dist/ui/assets/imba-DGztddWO.js.gz +0 -0
  231. package/dist/ui/assets/index-CoHRmHKF.css.gz +0 -0
  232. package/dist/ui/assets/{index-BJJVQgAF.js → index-D-mUF0ER.js} +197 -197
  233. package/dist/ui/assets/index-D-mUF0ER.js.gz +0 -0
  234. package/dist/ui/assets/{infoDiagram-ER5ION4S-nL4GZAX1.js → infoDiagram-ER5ION4S-bZln55ER.js} +1 -1
  235. package/dist/ui/assets/ini-BEwlwnbL.js.gz +0 -0
  236. package/dist/ui/assets/java-CylS5w8V.js.gz +0 -0
  237. package/dist/ui/assets/javascript-wDzz0qaB.js.gz +0 -0
  238. package/dist/ui/assets/jinja-4LBKfQ-Z.js.gz +0 -0
  239. package/dist/ui/assets/jison-wvAkD_A8.js.gz +0 -0
  240. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-B8plV6tX.js → journeyDiagram-XKPGCS4Q-BoxqjCLk.js} +1 -1
  241. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-BoxqjCLk.js.gz +0 -0
  242. package/dist/ui/assets/json-Cp-IABpG.js.gz +0 -0
  243. package/dist/ui/assets/json5-C9tS-k6U.js.gz +0 -0
  244. package/dist/ui/assets/jsonc-Des-eS-w.js.gz +0 -0
  245. package/dist/ui/assets/jsonl-DcaNXYhu.js.gz +0 -0
  246. package/dist/ui/assets/jsonnet-DFQXde-d.js.gz +0 -0
  247. package/dist/ui/assets/jssm-C2t-YnRu.js.gz +0 -0
  248. package/dist/ui/assets/jsx-g9-lgVsj.js.gz +0 -0
  249. package/dist/ui/assets/julia-C8NyazO9.js.gz +0 -0
  250. package/dist/ui/assets/kanagawa-dragon-CkXjmgJE.js.gz +0 -0
  251. package/dist/ui/assets/kanagawa-lotus-CfQXZHmo.js.gz +0 -0
  252. package/dist/ui/assets/kanagawa-wave-DWedfzmr.js.gz +0 -0
  253. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-BGguxVOE.js → kanban-definition-3W4ZIXB7-C1qBProe.js} +1 -1
  254. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C1qBProe.js.gz +0 -0
  255. package/dist/ui/assets/katex-Br2y_YL1.css.gz +0 -0
  256. package/dist/ui/assets/kdl-DV7GczEv.js.gz +0 -0
  257. package/dist/ui/assets/kotlin-BdnUsdx6.js.gz +0 -0
  258. package/dist/ui/assets/kusto-BvAqAH-y.js.gz +0 -0
  259. package/dist/ui/assets/laserwave-DUszq2jm.js.gz +0 -0
  260. package/dist/ui/assets/latex-BUKiar2Z.js.gz +0 -0
  261. package/dist/ui/assets/{layout-LkpUHcLK.js → layout-0gRRcyCZ.js} +1 -1
  262. package/dist/ui/assets/layout-0gRRcyCZ.js.gz +0 -0
  263. package/dist/ui/assets/lean-DP1Csr6i.js.gz +0 -0
  264. package/dist/ui/assets/less-B1dDrJ26.js.gz +0 -0
  265. package/dist/ui/assets/light-plus-B7mTdjB0.js.gz +0 -0
  266. package/dist/ui/assets/{linear-0Xbt3wIH.js → linear-CW-x7WtK.js} +1 -1
  267. package/dist/ui/assets/linear-CW-x7WtK.js.gz +0 -0
  268. package/dist/ui/assets/liquid-DYVedYrR.js.gz +0 -0
  269. package/dist/ui/assets/llvm-BtvRca6l.js.gz +0 -0
  270. package/dist/ui/assets/log-2UxHyX5q.js.gz +0 -0
  271. package/dist/ui/assets/logo-BtOb2qkB.js.gz +0 -0
  272. package/dist/ui/assets/lua-BbnMAYS6.js.gz +0 -0
  273. package/dist/ui/assets/luau-CXu1NL6O.js.gz +0 -0
  274. package/dist/ui/assets/make-CHLpvVh8.js.gz +0 -0
  275. package/dist/ui/assets/markdown-Cvjx9yec.js.gz +0 -0
  276. package/dist/ui/assets/marko-CPi9NSCl.js.gz +0 -0
  277. package/dist/ui/assets/material-theme-D5KoaKCx.js.gz +0 -0
  278. package/dist/ui/assets/material-theme-darker-BfHTSMKl.js.gz +0 -0
  279. package/dist/ui/assets/material-theme-lighter-B0m2ddpp.js.gz +0 -0
  280. package/dist/ui/assets/material-theme-ocean-CyktbL80.js.gz +0 -0
  281. package/dist/ui/assets/material-theme-palenight-Csfq5Kiy.js.gz +0 -0
  282. package/dist/ui/assets/matlab-D7o27uSR.js.gz +0 -0
  283. package/dist/ui/assets/mdc-DUICxH0z.js.gz +0 -0
  284. package/dist/ui/assets/mdx-Cmh6b_Ma.js.gz +0 -0
  285. package/dist/ui/assets/mermaid-DKYwYmdq.js.gz +0 -0
  286. package/dist/ui/assets/{mermaid.core-C1LOO7zE.js → mermaid.core-DyosMICf.js} +5 -5
  287. package/dist/ui/assets/mermaid.core-DyosMICf.js.gz +0 -0
  288. package/dist/ui/assets/min-dark-CafNBF8u.js.gz +0 -0
  289. package/dist/ui/assets/min-light-CTRr51gU.js.gz +0 -0
  290. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-B7HVGNJs.js → mindmap-definition-VGOIOE7T-w2junnrr.js} +1 -1
  291. package/dist/ui/assets/mindmap-definition-VGOIOE7T-w2junnrr.js.gz +0 -0
  292. package/dist/ui/assets/mipsasm-CKIfxQSi.js.gz +0 -0
  293. package/dist/ui/assets/mojo-1DNp92w6.js.gz +0 -0
  294. package/dist/ui/assets/monokai-D4h5O-jR.js.gz +0 -0
  295. package/dist/ui/assets/move-Bu9oaDYs.js.gz +0 -0
  296. package/dist/ui/assets/narrat-DRg8JJMk.js.gz +0 -0
  297. package/dist/ui/assets/nextflow-CUEJCptM.js.gz +0 -0
  298. package/dist/ui/assets/nginx-DknmC5AR.js.gz +0 -0
  299. package/dist/ui/assets/night-owl-C39BiMTA.js.gz +0 -0
  300. package/dist/ui/assets/nim-CVrawwO9.js.gz +0 -0
  301. package/dist/ui/assets/nix-BbRYJGeE.js.gz +0 -0
  302. package/dist/ui/assets/nord-Ddv68eIx.js.gz +0 -0
  303. package/dist/ui/assets/nushell-C-sUppwS.js.gz +0 -0
  304. package/dist/ui/assets/objective-c-DXmwc3jG.js.gz +0 -0
  305. package/dist/ui/assets/objective-cpp-CLxacb5B.js.gz +0 -0
  306. package/dist/ui/assets/ocaml-C0hk2d4L.js.gz +0 -0
  307. package/dist/ui/assets/one-dark-pro-DVMEJ2y_.js.gz +0 -0
  308. package/dist/ui/assets/one-light-PoHY5YXO.js.gz +0 -0
  309. package/dist/ui/assets/ordinal-Cboi1Yqb.js.gz +0 -0
  310. package/dist/ui/assets/pascal-D93ZcfNL.js.gz +0 -0
  311. package/dist/ui/assets/perl-C0TMdlhV.js.gz +0 -0
  312. package/dist/ui/assets/php-CDn_0X-4.js.gz +0 -0
  313. package/dist/ui/assets/{pieDiagram-ADFJNKIX-CHG8R2Po.js → pieDiagram-ADFJNKIX-F-R6Axq2.js} +1 -1
  314. package/dist/ui/assets/pieDiagram-ADFJNKIX-F-R6Axq2.js.gz +0 -0
  315. package/dist/ui/assets/pkl-u5AG7uiY.js.gz +0 -0
  316. package/dist/ui/assets/plastic-3e1v2bzS.js.gz +0 -0
  317. package/dist/ui/assets/plsql-ChMvpjG-.js.gz +0 -0
  318. package/dist/ui/assets/po-BTJTHyun.js.gz +0 -0
  319. package/dist/ui/assets/poimandres-CS3Unz2-.js.gz +0 -0
  320. package/dist/ui/assets/polar-C0HS_06l.js.gz +0 -0
  321. package/dist/ui/assets/postcss-CXtECtnM.js.gz +0 -0
  322. package/dist/ui/assets/powerquery-CEu0bR-o.js.gz +0 -0
  323. package/dist/ui/assets/powershell-Dpen1YoG.js.gz +0 -0
  324. package/dist/ui/assets/prisma-Dd19v3D-.js.gz +0 -0
  325. package/dist/ui/assets/prolog-CbFg5uaA.js.gz +0 -0
  326. package/dist/ui/assets/proto-DyJlTyXw.js.gz +0 -0
  327. package/dist/ui/assets/pug-CGlum2m_.js.gz +0 -0
  328. package/dist/ui/assets/puppet-BMWR74SV.js.gz +0 -0
  329. package/dist/ui/assets/purescript-CklMAg4u.js.gz +0 -0
  330. package/dist/ui/assets/python-B6aJPvgy.js.gz +0 -0
  331. package/dist/ui/assets/qml-3beO22l8.js.gz +0 -0
  332. package/dist/ui/assets/qss-IeuSbFQv.js.gz +0 -0
  333. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-CEsy1_LZ.js → quadrantDiagram-AYHSOK5B-BIiQdf0y.js} +1 -1
  334. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-BIiQdf0y.js.gz +0 -0
  335. package/dist/ui/assets/r-DiinP2Uv.js.gz +0 -0
  336. package/dist/ui/assets/racket-BqYA7rlc.js.gz +0 -0
  337. package/dist/ui/assets/raku-DXvB9xmW.js.gz +0 -0
  338. package/dist/ui/assets/razor-WgofotgN.js.gz +0 -0
  339. package/dist/ui/assets/red-bN70gL4F.js.gz +0 -0
  340. package/dist/ui/assets/reg-C-SQnVFl.js.gz +0 -0
  341. package/dist/ui/assets/regexp-CDVJQ6XC.js.gz +0 -0
  342. package/dist/ui/assets/rel-C3B-1QV4.js.gz +0 -0
  343. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-DEs05ytR.js → requirementDiagram-UZGBJVZJ-CXPvkYi3.js} +1 -1
  344. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-CXPvkYi3.js.gz +0 -0
  345. package/dist/ui/assets/riscv-BM1_JUlF.js.gz +0 -0
  346. package/dist/ui/assets/rose-pine-BHrmToEH.js.gz +0 -0
  347. package/dist/ui/assets/rose-pine-dawn-CnK8MTSM.js.gz +0 -0
  348. package/dist/ui/assets/rose-pine-moon-NleAzG8P.js.gz +0 -0
  349. package/dist/ui/assets/rosmsg-BJDFO7_C.js.gz +0 -0
  350. package/dist/ui/assets/rst-B0xPkSld.js.gz +0 -0
  351. package/dist/ui/assets/ruby-BvKwtOVI.js.gz +0 -0
  352. package/dist/ui/assets/rust-B1yitclQ.js.gz +0 -0
  353. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-DXGYSrCF.js → sankeyDiagram-TZEHDZUN-bJz5cNkh.js} +1 -1
  354. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-bJz5cNkh.js.gz +0 -0
  355. package/dist/ui/assets/sas-cz2c8ADy.js.gz +0 -0
  356. package/dist/ui/assets/sass-Cj5Yp3dK.js.gz +0 -0
  357. package/dist/ui/assets/scala-C151Ov-r.js.gz +0 -0
  358. package/dist/ui/assets/scheme-C98Dy4si.js.gz +0 -0
  359. package/dist/ui/assets/scss-OYdSNvt2.js.gz +0 -0
  360. package/dist/ui/assets/sdbl-DVxCFoDh.js.gz +0 -0
  361. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-BgwC9Kjd.js → sequenceDiagram-WL72ISMW-RUfVoGfg.js} +1 -1
  362. package/dist/ui/assets/sequenceDiagram-WL72ISMW-RUfVoGfg.js.gz +0 -0
  363. package/dist/ui/assets/shaderlab-Dg9Lc6iA.js.gz +0 -0
  364. package/dist/ui/assets/shellscript-Yzrsuije.js.gz +0 -0
  365. package/dist/ui/assets/slack-dark-BthQWCQV.js.gz +0 -0
  366. package/dist/ui/assets/slack-ochin-DqwNpetd.js.gz +0 -0
  367. package/dist/ui/assets/smalltalk-BERRCDM3.js.gz +0 -0
  368. package/dist/ui/assets/snazzy-light-Bw305WKR.js.gz +0 -0
  369. package/dist/ui/assets/solarized-dark-DXbdFlpD.js.gz +0 -0
  370. package/dist/ui/assets/solarized-light-L9t79GZl.js.gz +0 -0
  371. package/dist/ui/assets/solidity-BbcW6ACK.js.gz +0 -0
  372. package/dist/ui/assets/soy-Brmx7dQM.js.gz +0 -0
  373. package/dist/ui/assets/sparql-rVzFXLq3.js.gz +0 -0
  374. package/dist/ui/assets/splunk-BtCnVYZw.js.gz +0 -0
  375. package/dist/ui/assets/sql-BLtJtn59.js.gz +0 -0
  376. package/dist/ui/assets/ssh-config-_ykCGR6B.js.gz +0 -0
  377. package/dist/ui/assets/stata-BH5u7GGu.js.gz +0 -0
  378. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-CzhOiaAT.js → stateDiagram-FKZM4ZOC-C-ojs54n.js} +1 -1
  379. package/dist/ui/assets/stateDiagram-FKZM4ZOC-C-ojs54n.js.gz +0 -0
  380. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CD6ifGQo.js +1 -0
  381. package/dist/ui/assets/stylus-BEDo0Tqx.js.gz +0 -0
  382. package/dist/ui/assets/svelte-3Dk4HxPD.js.gz +0 -0
  383. package/dist/ui/assets/swift-Dg5xB15N.js.gz +0 -0
  384. package/dist/ui/assets/synthwave-84-CbfX1IO0.js.gz +0 -0
  385. package/dist/ui/assets/system-verilog-CnnmHF94.js.gz +0 -0
  386. package/dist/ui/assets/systemd-4A_iFExJ.js.gz +0 -0
  387. package/dist/ui/assets/talonscript-CkByrt1z.js.gz +0 -0
  388. package/dist/ui/assets/tasl-QIJgUcNo.js.gz +0 -0
  389. package/dist/ui/assets/tcl-dwOrl1Do.js.gz +0 -0
  390. package/dist/ui/assets/templ-W15q3VgB.js.gz +0 -0
  391. package/dist/ui/assets/terraform-BETggiCN.js.gz +0 -0
  392. package/dist/ui/assets/tex-Cppo0RY3.js.gz +0 -0
  393. package/dist/ui/assets/{timeline-definition-IT6M3QCI-D5WfZKkX.js → timeline-definition-IT6M3QCI-BHcwgYS1.js} +1 -1
  394. package/dist/ui/assets/timeline-definition-IT6M3QCI-BHcwgYS1.js.gz +0 -0
  395. package/dist/ui/assets/tokyo-night-hegEt444.js.gz +0 -0
  396. package/dist/ui/assets/toml-vGWfd6FD.js.gz +0 -0
  397. package/dist/ui/assets/{treemap-KMMF4GRG-Fb1GjBc1.js → treemap-KMMF4GRG-Box5aD63.js} +1 -1
  398. package/dist/ui/assets/treemap-KMMF4GRG-Box5aD63.js.gz +0 -0
  399. package/dist/ui/assets/ts-tags-zn1MmPIZ.js.gz +0 -0
  400. package/dist/ui/assets/tsx-COt5Ahok.js.gz +0 -0
  401. package/dist/ui/assets/turtle-BsS91CYL.js.gz +0 -0
  402. package/dist/ui/assets/twig-CO9l9SDP.js.gz +0 -0
  403. package/dist/ui/assets/typescript-BPQ3VLAy.js.gz +0 -0
  404. package/dist/ui/assets/typespec-Df68jz8_.js.gz +0 -0
  405. package/dist/ui/assets/typst-DHCkPAjA.js.gz +0 -0
  406. package/dist/ui/assets/v-BcVCzyr7.js.gz +0 -0
  407. package/dist/ui/assets/vala-CsfeWuGM.js.gz +0 -0
  408. package/dist/ui/assets/vb-D17OF-Vu.js.gz +0 -0
  409. package/dist/ui/assets/verilog-BQ8w6xss.js.gz +0 -0
  410. package/dist/ui/assets/vesper-DU1UobuO.js.gz +0 -0
  411. package/dist/ui/assets/vhdl-CeAyd5Ju.js.gz +0 -0
  412. package/dist/ui/assets/viml-CJc9bBzg.js.gz +0 -0
  413. package/dist/ui/assets/vitesse-black-Bkuqu6BP.js.gz +0 -0
  414. package/dist/ui/assets/vitesse-dark-D0r3Knsf.js.gz +0 -0
  415. package/dist/ui/assets/vitesse-light-CVO1_9PV.js.gz +0 -0
  416. package/dist/ui/assets/vue-CCoi5OLL.js.gz +0 -0
  417. package/dist/ui/assets/vue-html-DAAvJJDi.js.gz +0 -0
  418. package/dist/ui/assets/vue-vine-_Ih-lPRR.js.gz +0 -0
  419. package/dist/ui/assets/vyper-CDx5xZoG.js.gz +0 -0
  420. package/dist/ui/assets/wasm-CG6Dc4jp.js.gz +0 -0
  421. package/dist/ui/assets/wasm-MzD3tlZU.js.gz +0 -0
  422. package/dist/ui/assets/wenyan-BV7otONQ.js.gz +0 -0
  423. package/dist/ui/assets/wgsl-Dx-B1_4e.js.gz +0 -0
  424. package/dist/ui/assets/wikitext-BhOHFoWU.js.gz +0 -0
  425. package/dist/ui/assets/wit-5i3qLPDT.js.gz +0 -0
  426. package/dist/ui/assets/wolfram-lXgVvXCa.js.gz +0 -0
  427. package/dist/ui/assets/xml-sdJ4AIDG.js.gz +0 -0
  428. package/dist/ui/assets/xsl-CtQFsRM5.js.gz +0 -0
  429. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-l1lSswOS.js → xychartDiagram-PRI3JC2R-B9_eb9Fp.js} +1 -1
  430. package/dist/ui/assets/xychartDiagram-PRI3JC2R-B9_eb9Fp.js.gz +0 -0
  431. package/dist/ui/assets/yaml-Buea-lGh.js.gz +0 -0
  432. package/dist/ui/assets/zenscript-DVFEvuxE.js.gz +0 -0
  433. package/dist/ui/assets/zig-VOosw3JB.js.gz +0 -0
  434. package/dist/ui/index.html +1 -1
  435. package/package.json +6 -6
  436. package/dist/ui/assets/_basePickBy-D1zFnaqs.js.gz +0 -0
  437. package/dist/ui/assets/_baseUniq-D8LATcRr.js.gz +0 -0
  438. package/dist/ui/assets/arc-D8U6s2jg.js.gz +0 -0
  439. package/dist/ui/assets/architectureDiagram-VXUJARFQ-Zps5hHAf.js.gz +0 -0
  440. package/dist/ui/assets/blockDiagram-VD42YOAC-re5iSrSJ.js.gz +0 -0
  441. package/dist/ui/assets/c4Diagram-YG6GDRKO-BWV8l1xr.js.gz +0 -0
  442. package/dist/ui/assets/channel-BMzwRO98.js +0 -1
  443. package/dist/ui/assets/chunk-B4BG7PRW-B9y5I_4g.js.gz +0 -0
  444. package/dist/ui/assets/chunk-DI55MBZ5-DdxJatuV.js.gz +0 -0
  445. package/dist/ui/assets/chunk-TZMSLE5B-CSZ-Do9o.js.gz +0 -0
  446. package/dist/ui/assets/classDiagram-2ON5EDUG-ByzA3PuH.js +0 -1
  447. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-ByzA3PuH.js +0 -1
  448. package/dist/ui/assets/clone-BbHiLFFC.js +0 -1
  449. package/dist/ui/assets/cose-bilkent-S5V4N54A-DrBUfYnR.js.gz +0 -0
  450. package/dist/ui/assets/dagre-6UL2VRFP-FCRVHvCA.js.gz +0 -0
  451. package/dist/ui/assets/diagram-PSM6KHXK-DOZvPtVc.js.gz +0 -0
  452. package/dist/ui/assets/diagram-QEK2KX5R-CK7zONT5.js.gz +0 -0
  453. package/dist/ui/assets/diagram-S2PKOQOG-Dtw59dKH.js.gz +0 -0
  454. package/dist/ui/assets/erDiagram-Q2GNP2WA-Cy45dpA1.js.gz +0 -0
  455. package/dist/ui/assets/flowDiagram-NV44I4VS-XuyJ5bBo.js.gz +0 -0
  456. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DqaL_wJl.js.gz +0 -0
  457. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-B3FuWwlr.js.gz +0 -0
  458. package/dist/ui/assets/graph-BG5dWzaR.js.gz +0 -0
  459. package/dist/ui/assets/index-BJJVQgAF.js.gz +0 -0
  460. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B8plV6tX.js.gz +0 -0
  461. package/dist/ui/assets/kanban-definition-3W4ZIXB7-BGguxVOE.js.gz +0 -0
  462. package/dist/ui/assets/layout-LkpUHcLK.js.gz +0 -0
  463. package/dist/ui/assets/linear-0Xbt3wIH.js.gz +0 -0
  464. package/dist/ui/assets/mermaid.core-C1LOO7zE.js.gz +0 -0
  465. package/dist/ui/assets/mindmap-definition-VGOIOE7T-B7HVGNJs.js.gz +0 -0
  466. package/dist/ui/assets/pieDiagram-ADFJNKIX-CHG8R2Po.js.gz +0 -0
  467. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-CEsy1_LZ.js.gz +0 -0
  468. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-DEs05ytR.js.gz +0 -0
  469. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DXGYSrCF.js.gz +0 -0
  470. package/dist/ui/assets/sequenceDiagram-WL72ISMW-BgwC9Kjd.js.gz +0 -0
  471. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CzhOiaAT.js.gz +0 -0
  472. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DPyBpCML.js +0 -1
  473. package/dist/ui/assets/timeline-definition-IT6M3QCI-D5WfZKkX.js.gz +0 -0
  474. package/dist/ui/assets/treemap-KMMF4GRG-Fb1GjBc1.js.gz +0 -0
  475. package/dist/ui/assets/xychartDiagram-PRI3JC2R-l1lSswOS.js.gz +0 -0
@@ -1,5 +1,6 @@
1
1
  // src/commands/config/index.ts
2
2
  import { getConfigPath, getDefaultConfig, loadConfig } from "@agor/core/config";
3
+ import { getDatabaseUrl } from "@agor/core/db";
3
4
  import { Command } from "@oclif/core";
4
5
  import chalk from "chalk";
5
6
  var ConfigIndex = class extends Command {
@@ -38,6 +39,21 @@ var ConfigIndex = class extends Command {
38
39
  }
39
40
  }
40
41
  }
42
+ const databaseUrl = getDatabaseUrl();
43
+ const dialect = process.env.AGOR_DB_DIALECT === "postgresql" ? "postgresql" : "sqlite";
44
+ this.log(chalk.bold("\nDatabase Settings:"));
45
+ this.log(` dialect: ${chalk.gray(dialect)}`);
46
+ if (dialect === "postgresql") {
47
+ const maskedUrl = databaseUrl.replace(/:([^:@]+)@/, ":****@");
48
+ this.log(` connection: ${chalk.gray(maskedUrl)}`);
49
+ } else {
50
+ this.log(` database file: ${chalk.gray(databaseUrl)}`);
51
+ }
52
+ this.log(
53
+ chalk.dim(
54
+ " (Configure via AGOR_DB_DIALECT, DATABASE_URL, or AGOR_DB_PATH environment variables)"
55
+ )
56
+ );
41
57
  const daemonConfig = { ...defaults.daemon, ...config.daemon };
42
58
  if (daemonConfig) {
43
59
  this.log(chalk.bold("\nDaemon Settings:"));
@@ -67,7 +67,7 @@ var Init = class _Init extends Command {
67
67
  async getDbStats(dbPath) {
68
68
  try {
69
69
  const { createDatabase: createDatabase2, select, sessions, tasks, messages, repos } = await import("@agor/core/db");
70
- const db = createDatabase2({ url: `file:${dbPath}` });
70
+ const db = createDatabase2({ url: `file:${dbPath}`, dialect: "sqlite" });
71
71
  const sessionRows = await select(db).from(sessions).all();
72
72
  const taskRows = await select(db).from(tasks).all();
73
73
  const messageRows = await select(db).from(messages).all();
@@ -251,7 +251,7 @@ var Init = class _Init extends Command {
251
251
  }
252
252
  this.log("");
253
253
  this.log("\u{1F4BE} Setting up database...");
254
- const db = createDatabase({ url: `file:${dbPath}` });
254
+ const db = createDatabase({ url: `file:${dbPath}`, dialect: "sqlite" });
255
255
  await runMigrations(db);
256
256
  this.log(`${chalk.green(" \u2713")} Created ${dbPath}`);
257
257
  this.log("");
@@ -265,7 +265,7 @@ var Init = class _Init extends Command {
265
265
  await setConfigValue("daemon.allowAnonymous", false);
266
266
  this.log(`${chalk.green(" \u2713")} Enabled authentication (multiplayer mode)`);
267
267
  try {
268
- const db2 = createDatabase({ url: `file:${dbPath}` });
268
+ const db2 = createDatabase({ url: `file:${dbPath}`, dialect: "sqlite" });
269
269
  const defaultEmail = "admin@agor.live";
270
270
  const defaultPassword = "admin";
271
271
  await createUser(db2, {
@@ -404,7 +404,7 @@ var Init = class _Init extends Command {
404
404
  }
405
405
  }
406
406
  ]);
407
- const db = createDatabase({ url: `file:${dbPath}` });
407
+ const db = createDatabase({ url: `file:${dbPath}`, dialect: "sqlite" });
408
408
  const _user = await createUser(db, {
409
409
  email,
410
410
  password,
@@ -110,8 +110,8 @@ var init_schema_postgres = __esm({
110
110
  // Cascade delete sessions when worktree is deleted
111
111
  }),
112
112
  // Scheduler tracking (materialized for deduplication and retention cleanup)
113
- scheduled_run_at: (0, import_pg_core.integer)("scheduled_run_at"),
114
- // Unix timestamp (ms) - authoritative run ID
113
+ scheduled_run_at: (0, import_pg_core.bigint)("scheduled_run_at", { mode: "number" }),
114
+ // Unix timestamp (ms) - authoritative run ID - bigint to support dates beyond 2038
115
115
  scheduled_from_worktree: t.bool("scheduled_from_worktree").notNull().default(false),
116
116
  // UI state (materialized for efficient highlighting queries)
117
117
  ready_for_prompt: t.bool("ready_for_prompt").notNull().default(false),
@@ -286,10 +286,10 @@ var init_schema_postgres = __esm({
286
286
  schedule_enabled: t.bool("schedule_enabled").notNull().default(false),
287
287
  schedule_cron: (0, import_pg_core.text)("schedule_cron"),
288
288
  // Cron expression (e.g., "0 9 * * 1-5")
289
- schedule_last_triggered_at: (0, import_pg_core.integer)("schedule_last_triggered_at"),
290
- // Unix timestamp (ms)
291
- schedule_next_run_at: (0, import_pg_core.integer)("schedule_next_run_at"),
292
- // Unix timestamp (ms)
289
+ schedule_last_triggered_at: (0, import_pg_core.bigint)("schedule_last_triggered_at", { mode: "number" }),
290
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
291
+ schedule_next_run_at: (0, import_pg_core.bigint)("schedule_next_run_at", { mode: "number" }),
292
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
293
293
  // UI state (materialized for efficient highlighting queries)
294
294
  needs_attention: t.bool("needs_attention").notNull().default(true),
295
295
  // Default true for new worktrees
@@ -47,6 +47,7 @@ __export(schema_postgres_exports, {
47
47
  });
48
48
  import { sql } from "drizzle-orm";
49
49
  import {
50
+ bigint,
50
51
  boolean,
51
52
  index,
52
53
  integer,
@@ -99,8 +100,8 @@ var init_schema_postgres = __esm({
99
100
  // Cascade delete sessions when worktree is deleted
100
101
  }),
101
102
  // Scheduler tracking (materialized for deduplication and retention cleanup)
102
- scheduled_run_at: integer("scheduled_run_at"),
103
- // Unix timestamp (ms) - authoritative run ID
103
+ scheduled_run_at: bigint("scheduled_run_at", { mode: "number" }),
104
+ // Unix timestamp (ms) - authoritative run ID - bigint to support dates beyond 2038
104
105
  scheduled_from_worktree: t.bool("scheduled_from_worktree").notNull().default(false),
105
106
  // UI state (materialized for efficient highlighting queries)
106
107
  ready_for_prompt: t.bool("ready_for_prompt").notNull().default(false),
@@ -275,10 +276,10 @@ var init_schema_postgres = __esm({
275
276
  schedule_enabled: t.bool("schedule_enabled").notNull().default(false),
276
277
  schedule_cron: text("schedule_cron"),
277
278
  // Cron expression (e.g., "0 9 * * 1-5")
278
- schedule_last_triggered_at: integer("schedule_last_triggered_at"),
279
- // Unix timestamp (ms)
280
- schedule_next_run_at: integer("schedule_next_run_at"),
281
- // Unix timestamp (ms)
279
+ schedule_last_triggered_at: bigint("schedule_last_triggered_at", { mode: "number" }),
280
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
281
+ schedule_next_run_at: bigint("schedule_next_run_at", { mode: "number" }),
282
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
282
283
  // UI state (materialized for efficient highlighting queries)
283
284
  needs_attention: t.bool("needs_attention").notNull().default(true),
284
285
  // Default true for new worktrees
@@ -221,7 +221,7 @@ declare const sessions$1: drizzle_orm_pg_core.PgTableWithColumns<{
221
221
  name: "scheduled_run_at";
222
222
  tableName: "sessions";
223
223
  dataType: "number";
224
- columnType: "PgInteger";
224
+ columnType: "PgBigInt53";
225
225
  data: number;
226
226
  driverParam: string | number;
227
227
  notNull: false;
@@ -673,7 +673,7 @@ declare const messages$1: drizzle_orm_pg_core.PgTableWithColumns<{
673
673
  tableName: "messages";
674
674
  dataType: "string";
675
675
  columnType: "PgText";
676
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
676
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
677
677
  driverParam: string;
678
678
  notNull: true;
679
679
  hasDefault: false;
@@ -690,7 +690,7 @@ declare const messages$1: drizzle_orm_pg_core.PgTableWithColumns<{
690
690
  tableName: "messages";
691
691
  dataType: "string";
692
692
  columnType: "PgText";
693
- data: "user" | "assistant" | "system";
693
+ data: "system" | "user" | "assistant";
694
694
  driverParam: string;
695
695
  notNull: true;
696
696
  hasDefault: false;
@@ -1473,7 +1473,7 @@ declare const worktrees$1: drizzle_orm_pg_core.PgTableWithColumns<{
1473
1473
  name: "schedule_last_triggered_at";
1474
1474
  tableName: "worktrees";
1475
1475
  dataType: "number";
1476
- columnType: "PgInteger";
1476
+ columnType: "PgBigInt53";
1477
1477
  data: number;
1478
1478
  driverParam: string | number;
1479
1479
  notNull: false;
@@ -1490,7 +1490,7 @@ declare const worktrees$1: drizzle_orm_pg_core.PgTableWithColumns<{
1490
1490
  name: "schedule_next_run_at";
1491
1491
  tableName: "worktrees";
1492
1492
  dataType: "number";
1493
- columnType: "PgInteger";
1493
+ columnType: "PgBigInt53";
1494
1494
  data: number;
1495
1495
  driverParam: string | number;
1496
1496
  notNull: false;
@@ -2252,7 +2252,7 @@ declare const mcpServers$1: drizzle_orm_pg_core.PgTableWithColumns<{
2252
2252
  tableName: "mcp_servers";
2253
2253
  dataType: "string";
2254
2254
  columnType: "PgText";
2255
- data: "session" | "global";
2255
+ data: "global" | "session";
2256
2256
  driverParam: string;
2257
2257
  notNull: true;
2258
2258
  hasDefault: false;
@@ -3677,7 +3677,7 @@ declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
3677
3677
  tableName: "messages";
3678
3678
  dataType: "string";
3679
3679
  columnType: "SQLiteText";
3680
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
3680
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
3681
3681
  driverParam: string;
3682
3682
  notNull: true;
3683
3683
  hasDefault: false;
@@ -3696,7 +3696,7 @@ declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
3696
3696
  tableName: "messages";
3697
3697
  dataType: "string";
3698
3698
  columnType: "SQLiteText";
3699
- data: "user" | "assistant" | "system";
3699
+ data: "system" | "user" | "assistant";
3700
3700
  driverParam: string;
3701
3701
  notNull: true;
3702
3702
  hasDefault: false;
@@ -5320,7 +5320,7 @@ declare const mcpServers: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
5320
5320
  tableName: "mcp_servers";
5321
5321
  dataType: "string";
5322
5322
  columnType: "SQLiteText";
5323
- data: "session" | "global";
5323
+ data: "global" | "session";
5324
5324
  driverParam: string;
5325
5325
  notNull: true;
5326
5326
  hasDefault: false;
@@ -221,7 +221,7 @@ declare const sessions$1: drizzle_orm_pg_core.PgTableWithColumns<{
221
221
  name: "scheduled_run_at";
222
222
  tableName: "sessions";
223
223
  dataType: "number";
224
- columnType: "PgInteger";
224
+ columnType: "PgBigInt53";
225
225
  data: number;
226
226
  driverParam: string | number;
227
227
  notNull: false;
@@ -673,7 +673,7 @@ declare const messages$1: drizzle_orm_pg_core.PgTableWithColumns<{
673
673
  tableName: "messages";
674
674
  dataType: "string";
675
675
  columnType: "PgText";
676
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
676
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
677
677
  driverParam: string;
678
678
  notNull: true;
679
679
  hasDefault: false;
@@ -690,7 +690,7 @@ declare const messages$1: drizzle_orm_pg_core.PgTableWithColumns<{
690
690
  tableName: "messages";
691
691
  dataType: "string";
692
692
  columnType: "PgText";
693
- data: "user" | "assistant" | "system";
693
+ data: "system" | "user" | "assistant";
694
694
  driverParam: string;
695
695
  notNull: true;
696
696
  hasDefault: false;
@@ -1473,7 +1473,7 @@ declare const worktrees$1: drizzle_orm_pg_core.PgTableWithColumns<{
1473
1473
  name: "schedule_last_triggered_at";
1474
1474
  tableName: "worktrees";
1475
1475
  dataType: "number";
1476
- columnType: "PgInteger";
1476
+ columnType: "PgBigInt53";
1477
1477
  data: number;
1478
1478
  driverParam: string | number;
1479
1479
  notNull: false;
@@ -1490,7 +1490,7 @@ declare const worktrees$1: drizzle_orm_pg_core.PgTableWithColumns<{
1490
1490
  name: "schedule_next_run_at";
1491
1491
  tableName: "worktrees";
1492
1492
  dataType: "number";
1493
- columnType: "PgInteger";
1493
+ columnType: "PgBigInt53";
1494
1494
  data: number;
1495
1495
  driverParam: string | number;
1496
1496
  notNull: false;
@@ -2252,7 +2252,7 @@ declare const mcpServers$1: drizzle_orm_pg_core.PgTableWithColumns<{
2252
2252
  tableName: "mcp_servers";
2253
2253
  dataType: "string";
2254
2254
  columnType: "PgText";
2255
- data: "session" | "global";
2255
+ data: "global" | "session";
2256
2256
  driverParam: string;
2257
2257
  notNull: true;
2258
2258
  hasDefault: false;
@@ -3677,7 +3677,7 @@ declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
3677
3677
  tableName: "messages";
3678
3678
  dataType: "string";
3679
3679
  columnType: "SQLiteText";
3680
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
3680
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
3681
3681
  driverParam: string;
3682
3682
  notNull: true;
3683
3683
  hasDefault: false;
@@ -3696,7 +3696,7 @@ declare const messages: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
3696
3696
  tableName: "messages";
3697
3697
  dataType: "string";
3698
3698
  columnType: "SQLiteText";
3699
- data: "user" | "assistant" | "system";
3699
+ data: "system" | "user" | "assistant";
3700
3700
  driverParam: string;
3701
3701
  notNull: true;
3702
3702
  hasDefault: false;
@@ -5320,7 +5320,7 @@ declare const mcpServers: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
5320
5320
  tableName: "mcp_servers";
5321
5321
  dataType: "string";
5322
5322
  columnType: "SQLiteText";
5323
- data: "session" | "global";
5323
+ data: "global" | "session";
5324
5324
  driverParam: string;
5325
5325
  notNull: true;
5326
5326
  hasDefault: false;
@@ -187,8 +187,8 @@ var init_schema_postgres = __esm({
187
187
  // Cascade delete sessions when worktree is deleted
188
188
  }),
189
189
  // Scheduler tracking (materialized for deduplication and retention cleanup)
190
- scheduled_run_at: (0, import_pg_core.integer)("scheduled_run_at"),
191
- // Unix timestamp (ms) - authoritative run ID
190
+ scheduled_run_at: (0, import_pg_core.bigint)("scheduled_run_at", { mode: "number" }),
191
+ // Unix timestamp (ms) - authoritative run ID - bigint to support dates beyond 2038
192
192
  scheduled_from_worktree: t.bool("scheduled_from_worktree").notNull().default(false),
193
193
  // UI state (materialized for efficient highlighting queries)
194
194
  ready_for_prompt: t.bool("ready_for_prompt").notNull().default(false),
@@ -363,10 +363,10 @@ var init_schema_postgres = __esm({
363
363
  schedule_enabled: t.bool("schedule_enabled").notNull().default(false),
364
364
  schedule_cron: (0, import_pg_core.text)("schedule_cron"),
365
365
  // Cron expression (e.g., "0 9 * * 1-5")
366
- schedule_last_triggered_at: (0, import_pg_core.integer)("schedule_last_triggered_at"),
367
- // Unix timestamp (ms)
368
- schedule_next_run_at: (0, import_pg_core.integer)("schedule_next_run_at"),
369
- // Unix timestamp (ms)
366
+ schedule_last_triggered_at: (0, import_pg_core.bigint)("schedule_last_triggered_at", { mode: "number" }),
367
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
368
+ schedule_next_run_at: (0, import_pg_core.bigint)("schedule_next_run_at", { mode: "number" }),
369
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
370
370
  // UI state (materialized for efficient highlighting queries)
371
371
  needs_attention: t.bool("needs_attention").notNull().default(true),
372
372
  // Default true for new worktrees
@@ -1844,11 +1844,17 @@ function resolveSystemEnvironment() {
1844
1844
  return { ...process.env };
1845
1845
  }
1846
1846
  var AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
1847
- async function createUserProcessEnvironment(userId, db, additionalEnv) {
1847
+ async function createUserProcessEnvironment(userId, db, additionalEnv, forImpersonation = false) {
1848
1848
  const env = { ...process.env };
1849
1849
  for (const internalVar of AGOR_INTERNAL_ENV_VARS) {
1850
1850
  delete env[internalVar];
1851
1851
  }
1852
+ const USER_IDENTITY_VARS = ["HOME", "USER", "LOGNAME", "SHELL"];
1853
+ if (forImpersonation) {
1854
+ for (const identityVar of USER_IDENTITY_VARS) {
1855
+ delete env[identityVar];
1856
+ }
1857
+ }
1852
1858
  const userEnvKeys = [];
1853
1859
  if (userId && db) {
1854
1860
  const userEnv = await resolveUserEnvironment(userId, db);
@@ -1,7 +1,7 @@
1
1
  import { h as RepoEnvironmentConfig } from '../worktree-hZImhblR.cjs';
2
2
  export { c as ensureCodexHome, e as expandHomePath, g as getAgorHome, a as getConfigPath, d as getConfigValue, k as getCredential, h as getDaemonUrl, m as getDaemonUser, q as getDataHome, x as getDataHomeAsync, b as getDefaultConfig, t as getReposDir, y as getReposDirAsync, w as getWorktreePath, v as getWorktreesDir, z as getWorktreesDirAsync, i as initConfig, p as isUnixImpersonationEnabled, o as isWorktreeRbacEnabled, l as loadConfig, j as loadConfigSync, n as requireDaemonUser, r as resolveCodexHome, s as saveConfig, f as setConfigValue, u as unsetConfigValue } from '../config-manager-tIFWlS73.cjs';
3
3
  export { DAEMON, DATABASE, ENVIRONMENT, GIT, PAGINATION, RepoReference, RepoReferenceOption, SESSION, WEBSOCKET, extractSlugFromUrl, formatRepoReference, getDefaultRepoReference, getGroupedRepoReferenceOptions, getRepoReferenceOptions, isValidGitUrl, isValidSlug, parseRepoReference, resolveRepoReference } from './browser.cjs';
4
- import { d as Database } from '../client-rXuir36R.cjs';
4
+ import { d as Database } from '../client-fIC5YbDo.cjs';
5
5
  import { b as UserID } from '../id-BwPJtWxW.cjs';
6
6
  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-eb2uYaBV.cjs';
7
7
  import 'drizzle-orm/libsql';
@@ -137,13 +137,15 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
137
137
  * This function:
138
138
  * 1. Starts with system environment (process.env)
139
139
  * 2. Filters out Agor-internal variables (NODE_ENV, AGOR_*, etc.)
140
- * 3. Resolves and merges user-specific encrypted environment variables
141
- * 4. Optionally merges additional environment variables
142
- * 5. Sets AGOR_USER_ENV_KEYS with comma-separated list of user-defined var keys
140
+ * 3. Optionally filters out user-identity vars (HOME/USER/LOGNAME/SHELL) for impersonation
141
+ * 4. Resolves and merges user-specific encrypted environment variables
142
+ * 5. Optionally merges additional environment variables
143
+ * 6. Sets AGOR_USER_ENV_KEYS with comma-separated list of user-defined var keys
143
144
  *
144
145
  * @param userId - User ID to resolve environment for (optional)
145
146
  * @param db - Database instance (required if userId provided)
146
147
  * @param additionalEnv - Additional env vars to merge (optional, highest priority)
148
+ * @param forImpersonation - If true, strips HOME/USER/LOGNAME/SHELL so sudo -u can set them (default: false)
147
149
  * @returns Clean environment object ready for child process spawning
148
150
  *
149
151
  * @example
@@ -152,6 +154,11 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
152
154
  * spawn(command, { cwd, shell: true, env });
153
155
  *
154
156
  * @example
157
+ * // For user impersonation (strips HOME/USER/LOGNAME/SHELL)
158
+ * const env = await createUserProcessEnvironment(worktree.created_by, db, undefined, true);
159
+ * buildSpawnArgs(command, [], { asUser: 'alice', env });
160
+ *
161
+ * @example
155
162
  * // For worktree environment with custom NODE_ENV
156
163
  * const env = await createUserProcessEnvironment(worktree.created_by, db, {
157
164
  * NODE_ENV: 'development',
@@ -162,7 +169,7 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
162
169
  * const env = await createUserProcessEnvironment();
163
170
  * spawn(command, { env });
164
171
  */
165
- declare function createUserProcessEnvironment(userId?: UserID, db?: Database, additionalEnv?: Record<string, string>): Promise<Record<string, string>>;
172
+ declare function createUserProcessEnvironment(userId?: UserID, db?: Database, additionalEnv?: Record<string, string>, forImpersonation?: boolean): Promise<Record<string, string>>;
166
173
 
167
174
  /**
168
175
  * Validation constraints for environment variables
@@ -1,7 +1,7 @@
1
1
  import { h as RepoEnvironmentConfig } from '../worktree-BR7Inm0-.js';
2
2
  export { c as ensureCodexHome, e as expandHomePath, g as getAgorHome, a as getConfigPath, d as getConfigValue, k as getCredential, h as getDaemonUrl, m as getDaemonUser, q as getDataHome, x as getDataHomeAsync, b as getDefaultConfig, t as getReposDir, y as getReposDirAsync, w as getWorktreePath, v as getWorktreesDir, z as getWorktreesDirAsync, i as initConfig, p as isUnixImpersonationEnabled, o as isWorktreeRbacEnabled, l as loadConfig, j as loadConfigSync, n as requireDaemonUser, r as resolveCodexHome, s as saveConfig, f as setConfigValue, u as unsetConfigValue } from '../config-manager-CAIQUOj8.js';
3
3
  export { DAEMON, DATABASE, ENVIRONMENT, GIT, PAGINATION, RepoReference, RepoReferenceOption, SESSION, WEBSOCKET, extractSlugFromUrl, formatRepoReference, getDefaultRepoReference, getGroupedRepoReferenceOptions, getRepoReferenceOptions, isValidGitUrl, isValidSlug, parseRepoReference, resolveRepoReference } from './browser.js';
4
- import { d as Database } from '../client-DuwBpnZS.js';
4
+ import { d as Database } from '../client-BOMc8S1H.js';
5
5
  import { b as UserID } from '../id-BwPJtWxW.js';
6
6
  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-eb2uYaBV.js';
7
7
  import 'drizzle-orm/libsql';
@@ -137,13 +137,15 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
137
137
  * This function:
138
138
  * 1. Starts with system environment (process.env)
139
139
  * 2. Filters out Agor-internal variables (NODE_ENV, AGOR_*, etc.)
140
- * 3. Resolves and merges user-specific encrypted environment variables
141
- * 4. Optionally merges additional environment variables
142
- * 5. Sets AGOR_USER_ENV_KEYS with comma-separated list of user-defined var keys
140
+ * 3. Optionally filters out user-identity vars (HOME/USER/LOGNAME/SHELL) for impersonation
141
+ * 4. Resolves and merges user-specific encrypted environment variables
142
+ * 5. Optionally merges additional environment variables
143
+ * 6. Sets AGOR_USER_ENV_KEYS with comma-separated list of user-defined var keys
143
144
  *
144
145
  * @param userId - User ID to resolve environment for (optional)
145
146
  * @param db - Database instance (required if userId provided)
146
147
  * @param additionalEnv - Additional env vars to merge (optional, highest priority)
148
+ * @param forImpersonation - If true, strips HOME/USER/LOGNAME/SHELL so sudo -u can set them (default: false)
147
149
  * @returns Clean environment object ready for child process spawning
148
150
  *
149
151
  * @example
@@ -152,6 +154,11 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
152
154
  * spawn(command, { cwd, shell: true, env });
153
155
  *
154
156
  * @example
157
+ * // For user impersonation (strips HOME/USER/LOGNAME/SHELL)
158
+ * const env = await createUserProcessEnvironment(worktree.created_by, db, undefined, true);
159
+ * buildSpawnArgs(command, [], { asUser: 'alice', env });
160
+ *
161
+ * @example
155
162
  * // For worktree environment with custom NODE_ENV
156
163
  * const env = await createUserProcessEnvironment(worktree.created_by, db, {
157
164
  * NODE_ENV: 'development',
@@ -162,7 +169,7 @@ declare const AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
162
169
  * const env = await createUserProcessEnvironment();
163
170
  * spawn(command, { env });
164
171
  */
165
- declare function createUserProcessEnvironment(userId?: UserID, db?: Database, additionalEnv?: Record<string, string>): Promise<Record<string, string>>;
172
+ declare function createUserProcessEnvironment(userId?: UserID, db?: Database, additionalEnv?: Record<string, string>, forImpersonation?: boolean): Promise<Record<string, string>>;
166
173
 
167
174
  /**
168
175
  * Validation constraints for environment variables
@@ -124,6 +124,7 @@ __export(schema_postgres_exports, {
124
124
  });
125
125
  import { sql as sql2 } from "drizzle-orm";
126
126
  import {
127
+ bigint,
127
128
  boolean,
128
129
  index,
129
130
  integer,
@@ -176,8 +177,8 @@ var init_schema_postgres = __esm({
176
177
  // Cascade delete sessions when worktree is deleted
177
178
  }),
178
179
  // Scheduler tracking (materialized for deduplication and retention cleanup)
179
- scheduled_run_at: integer("scheduled_run_at"),
180
- // Unix timestamp (ms) - authoritative run ID
180
+ scheduled_run_at: bigint("scheduled_run_at", { mode: "number" }),
181
+ // Unix timestamp (ms) - authoritative run ID - bigint to support dates beyond 2038
181
182
  scheduled_from_worktree: t.bool("scheduled_from_worktree").notNull().default(false),
182
183
  // UI state (materialized for efficient highlighting queries)
183
184
  ready_for_prompt: t.bool("ready_for_prompt").notNull().default(false),
@@ -352,10 +353,10 @@ var init_schema_postgres = __esm({
352
353
  schedule_enabled: t.bool("schedule_enabled").notNull().default(false),
353
354
  schedule_cron: text("schedule_cron"),
354
355
  // Cron expression (e.g., "0 9 * * 1-5")
355
- schedule_last_triggered_at: integer("schedule_last_triggered_at"),
356
- // Unix timestamp (ms)
357
- schedule_next_run_at: integer("schedule_next_run_at"),
358
- // Unix timestamp (ms)
356
+ schedule_last_triggered_at: bigint("schedule_last_triggered_at", { mode: "number" }),
357
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
358
+ schedule_next_run_at: bigint("schedule_next_run_at", { mode: "number" }),
359
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
359
360
  // UI state (materialized for efficient highlighting queries)
360
361
  needs_attention: t.bool("needs_attention").notNull().default(true),
361
362
  // Default true for new worktrees
@@ -1766,11 +1767,17 @@ function resolveSystemEnvironment() {
1766
1767
  return { ...process.env };
1767
1768
  }
1768
1769
  var AGOR_USER_ENV_KEYS_VAR = "AGOR_USER_ENV_KEYS";
1769
- async function createUserProcessEnvironment(userId, db, additionalEnv) {
1770
+ async function createUserProcessEnvironment(userId, db, additionalEnv, forImpersonation = false) {
1770
1771
  const env = { ...process.env };
1771
1772
  for (const internalVar of AGOR_INTERNAL_ENV_VARS) {
1772
1773
  delete env[internalVar];
1773
1774
  }
1775
+ const USER_IDENTITY_VARS = ["HOME", "USER", "LOGNAME", "SHELL"];
1776
+ if (forImpersonation) {
1777
+ for (const identityVar of USER_IDENTITY_VARS) {
1778
+ delete env[identityVar];
1779
+ }
1780
+ }
1774
1781
  const userEnvKeys = [];
1775
1782
  if (userId && db) {
1776
1783
  const userEnv = await resolveUserEnvironment(userId, db);
@@ -264,8 +264,8 @@ var init_schema_postgres = __esm({
264
264
  // Cascade delete sessions when worktree is deleted
265
265
  }),
266
266
  // Scheduler tracking (materialized for deduplication and retention cleanup)
267
- scheduled_run_at: (0, import_pg_core.integer)("scheduled_run_at"),
268
- // Unix timestamp (ms) - authoritative run ID
267
+ scheduled_run_at: (0, import_pg_core.bigint)("scheduled_run_at", { mode: "number" }),
268
+ // Unix timestamp (ms) - authoritative run ID - bigint to support dates beyond 2038
269
269
  scheduled_from_worktree: t.bool("scheduled_from_worktree").notNull().default(false),
270
270
  // UI state (materialized for efficient highlighting queries)
271
271
  ready_for_prompt: t.bool("ready_for_prompt").notNull().default(false),
@@ -440,10 +440,10 @@ var init_schema_postgres = __esm({
440
440
  schedule_enabled: t.bool("schedule_enabled").notNull().default(false),
441
441
  schedule_cron: (0, import_pg_core.text)("schedule_cron"),
442
442
  // Cron expression (e.g., "0 9 * * 1-5")
443
- schedule_last_triggered_at: (0, import_pg_core.integer)("schedule_last_triggered_at"),
444
- // Unix timestamp (ms)
445
- schedule_next_run_at: (0, import_pg_core.integer)("schedule_next_run_at"),
446
- // Unix timestamp (ms)
443
+ schedule_last_triggered_at: (0, import_pg_core.bigint)("schedule_last_triggered_at", { mode: "number" }),
444
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
445
+ schedule_next_run_at: (0, import_pg_core.bigint)("schedule_next_run_at", { mode: "number" }),
446
+ // Unix timestamp (ms) - bigint to support dates beyond 2038
447
447
  // UI state (materialized for efficient highlighting queries)
448
448
  needs_attention: t.bool("needs_attention").notNull().default(true),
449
449
  // Default true for new worktrees
@@ -1574,14 +1574,17 @@ function createDatabase(config) {
1574
1574
  }
1575
1575
  function createPostgresDatabase(config) {
1576
1576
  try {
1577
- const sql10 = (0, import_postgres.default)(config.url, {
1577
+ const options = {
1578
1578
  max: config.pool?.max || 10,
1579
1579
  idle_timeout: config.pool?.idleTimeout || 30,
1580
- ssl: config.ssl,
1581
1580
  // Disable prepared statements - they can cause issues with DDL statements like CREATE SCHEMA
1582
1581
  // and with Drizzle's migration system
1583
1582
  prepare: false
1584
- });
1583
+ };
1584
+ if (config.ssl !== void 0) {
1585
+ options.ssl = config.ssl;
1586
+ }
1587
+ const sql10 = (0, import_postgres.default)(config.url, options);
1585
1588
  return (0, import_postgres_js.drizzle)(sql10, { schema: schema_postgres_exports });
1586
1589
  } catch (error) {
1587
1590
  throw new DatabaseConnectionError(
@@ -1,8 +1,8 @@
1
1
  import { SQL } from 'drizzle-orm';
2
2
  export { SQL, and, asc, desc, eq, inArray, like, or, sql } from 'drizzle-orm';
3
3
  import bcryptjs from 'bcryptjs';
4
- import { d as Database, w as sqliteSchema, x as postgresSchema } from '../client-rXuir36R.cjs';
5
- export { v as BoardCommentInsert, u as BoardCommentRow, k as BoardInsert, t as BoardObjectInsert, s as BoardObjectRow, B as BoardRow, e as DEFAULT_DB_PATH, a as DatabaseConnectionError, D as DbConfig, p as MCPServerInsert, o as MCPServerRow, j as MessageInsert, M as MessageRow, l as RepoInsert, R as RepoRow, h as SessionInsert, r as SessionMCPServerInsert, q as SessionMCPServerRow, S as SessionRow, i as TaskInsert, T as TaskRow, n as UserInsert, U as UserRow, m as WorktreeInsert, W as WorktreeRow, c as createDatabase, b as createDatabaseAsync, f as createLocalDatabase, g as getDatabaseUrl } from '../client-rXuir36R.cjs';
4
+ import { d as Database, w as sqliteSchema, x as postgresSchema } from '../client-fIC5YbDo.cjs';
5
+ export { v as BoardCommentInsert, u as BoardCommentRow, k as BoardInsert, t as BoardObjectInsert, s as BoardObjectRow, B as BoardRow, e as DEFAULT_DB_PATH, a as DatabaseConnectionError, D as DbConfig, p as MCPServerInsert, o as MCPServerRow, j as MessageInsert, M as MessageRow, l as RepoInsert, R as RepoRow, h as SessionInsert, r as SessionMCPServerInsert, q as SessionMCPServerRow, S as SessionRow, i as TaskInsert, T as TaskRow, n as UserInsert, U as UserRow, m as WorktreeInsert, W as WorktreeRow, c as createDatabase, b as createDatabaseAsync, f as createLocalDatabase, g as getDatabaseUrl } from '../client-fIC5YbDo.cjs';
6
6
  import { LibSQLDatabase } from 'drizzle-orm/libsql';
7
7
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
8
8
  import { PgTable } from 'drizzle-orm/pg-core';
@@ -1714,7 +1714,7 @@ declare const sessions: drizzle_orm_pg_core.PgTableWithColumns<{
1714
1714
  name: "scheduled_run_at";
1715
1715
  tableName: "sessions";
1716
1716
  dataType: "number";
1717
- columnType: "PgInteger";
1717
+ columnType: "PgBigInt53";
1718
1718
  data: number;
1719
1719
  driverParam: string | number;
1720
1720
  notNull: false;
@@ -2732,7 +2732,7 @@ declare const messages: drizzle_orm_pg_core.PgTableWithColumns<{
2732
2732
  tableName: "messages";
2733
2733
  dataType: "string";
2734
2734
  columnType: "PgText";
2735
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
2735
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
2736
2736
  driverParam: string;
2737
2737
  notNull: true;
2738
2738
  hasDefault: false;
@@ -2749,7 +2749,7 @@ declare const messages: drizzle_orm_pg_core.PgTableWithColumns<{
2749
2749
  tableName: "messages";
2750
2750
  dataType: "string";
2751
2751
  columnType: "PgText";
2752
- data: "user" | "assistant" | "system";
2752
+ data: "system" | "user" | "assistant";
2753
2753
  driverParam: string;
2754
2754
  notNull: true;
2755
2755
  hasDefault: false;
@@ -2975,7 +2975,7 @@ declare const messages: drizzle_orm_pg_core.PgTableWithColumns<{
2975
2975
  tableName: "messages";
2976
2976
  dataType: "string";
2977
2977
  columnType: "SQLiteText";
2978
- data: "user" | "assistant" | "system" | "file-history-snapshot" | "permission_request";
2978
+ data: "system" | "user" | "assistant" | "file-history-snapshot" | "permission_request";
2979
2979
  driverParam: string;
2980
2980
  notNull: true;
2981
2981
  hasDefault: false;
@@ -2994,7 +2994,7 @@ declare const messages: drizzle_orm_pg_core.PgTableWithColumns<{
2994
2994
  tableName: "messages";
2995
2995
  dataType: "string";
2996
2996
  columnType: "SQLiteText";
2997
- data: "user" | "assistant" | "system";
2997
+ data: "system" | "user" | "assistant";
2998
2998
  driverParam: string;
2999
2999
  notNull: true;
3000
3000
  hasDefault: false;
@@ -4080,7 +4080,7 @@ declare const worktrees: drizzle_orm_pg_core.PgTableWithColumns<{
4080
4080
  name: "schedule_last_triggered_at";
4081
4081
  tableName: "worktrees";
4082
4082
  dataType: "number";
4083
- columnType: "PgInteger";
4083
+ columnType: "PgBigInt53";
4084
4084
  data: number;
4085
4085
  driverParam: string | number;
4086
4086
  notNull: false;
@@ -4097,7 +4097,7 @@ declare const worktrees: drizzle_orm_pg_core.PgTableWithColumns<{
4097
4097
  name: "schedule_next_run_at";
4098
4098
  tableName: "worktrees";
4099
4099
  dataType: "number";
4100
- columnType: "PgInteger";
4100
+ columnType: "PgBigInt53";
4101
4101
  data: number;
4102
4102
  driverParam: string | number;
4103
4103
  notNull: false;
@@ -5865,7 +5865,7 @@ declare const mcpServers: drizzle_orm_pg_core.PgTableWithColumns<{
5865
5865
  tableName: "mcp_servers";
5866
5866
  dataType: "string";
5867
5867
  columnType: "PgText";
5868
- data: "session" | "global";
5868
+ data: "global" | "session";
5869
5869
  driverParam: string;
5870
5870
  notNull: true;
5871
5871
  hasDefault: false;
@@ -6137,7 +6137,7 @@ declare const mcpServers: drizzle_orm_pg_core.PgTableWithColumns<{
6137
6137
  tableName: "mcp_servers";
6138
6138
  dataType: "string";
6139
6139
  columnType: "SQLiteText";
6140
- data: "session" | "global";
6140
+ data: "global" | "session";
6141
6141
  driverParam: string;
6142
6142
  notNull: true;
6143
6143
  hasDefault: false;