agor-live 0.10.0 → 0.11.1

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 (318) hide show
  1. package/dist/cli/commands/db/migrate.js +2 -1
  2. package/dist/cli/commands/db/status.d.ts +4 -4
  3. package/dist/cli/commands/db/status.js +63 -29
  4. package/dist/cli/commands/user/create.d.ts +1 -0
  5. package/dist/cli/commands/user/create.js +12 -5
  6. package/dist/cli/commands/user/update.d.ts +1 -0
  7. package/dist/cli/commands/user/update.js +34 -8
  8. package/dist/core/api/index.d.cts +6 -6
  9. package/dist/core/api/index.d.ts +6 -6
  10. package/dist/core/claude/index.cjs +983 -938
  11. package/dist/core/claude/index.d.cts +1 -1
  12. package/dist/core/claude/index.d.ts +1 -1
  13. package/dist/core/claude/index.js +1017 -950
  14. package/dist/core/{client-CFqfLUUF.d.ts → client-DuwBpnZS.d.ts} +52 -18
  15. package/dist/core/{client-Dq6QefL9.d.cts → client-rXuir36R.d.cts} +52 -18
  16. package/dist/core/config/browser.d.cts +3 -191
  17. package/dist/core/config/browser.d.ts +3 -191
  18. package/dist/core/config/index.cjs +1076 -943
  19. package/dist/core/config/index.d.cts +8 -146
  20. package/dist/core/config/index.d.ts +8 -146
  21. package/dist/core/config/index.js +1102 -955
  22. package/dist/core/config-manager-CAIQUOj8.d.ts +218 -0
  23. package/dist/core/config-manager-tIFWlS73.d.cts +218 -0
  24. package/dist/core/db/index.cjs +1318 -947
  25. package/dist/core/db/index.d.cts +179 -24
  26. package/dist/core/db/index.d.ts +179 -24
  27. package/dist/core/db/index.js +1367 -974
  28. package/dist/core/drizzle/postgres/0010_backfill_worktree_others_can.sql +6 -0
  29. package/dist/core/drizzle/postgres/meta/_journal.json +7 -0
  30. package/dist/core/drizzle/sqlite/0022_backfill_worktree_others_can.sql +6 -0
  31. package/dist/core/drizzle/sqlite/meta/_journal.json +7 -0
  32. package/dist/core/environment/variable-resolver.cjs +2 -1
  33. package/dist/core/environment/variable-resolver.d.cts +1 -1
  34. package/dist/core/environment/variable-resolver.d.ts +1 -1
  35. package/dist/core/environment/variable-resolver.js +2 -1
  36. package/dist/core/{feathers-BzHEPnpl.d.cts → feathers-B0zjReEk.d.ts} +39 -14
  37. package/dist/core/{feathers-BzHEPnpl.d.ts → feathers-C1uChqXy.d.cts} +39 -14
  38. package/dist/core/git/index.cjs +36 -82
  39. package/dist/core/git/index.d.cts +6 -15
  40. package/dist/core/git/index.d.ts +6 -15
  41. package/dist/core/git/index.js +37 -83
  42. package/dist/core/index.cjs +1804 -1198
  43. package/dist/core/index.d.cts +15 -12
  44. package/dist/core/index.d.ts +15 -12
  45. package/dist/core/index.js +1885 -1265
  46. package/dist/core/lib/feathers-validation.cjs +7 -1
  47. package/dist/core/lib/feathers-validation.d.cts +1 -1
  48. package/dist/core/lib/feathers-validation.d.ts +1 -1
  49. package/dist/core/lib/feathers-validation.js +7 -1
  50. package/dist/core/mcp/index.cjs +40 -3
  51. package/dist/core/mcp/index.d.cts +9 -1
  52. package/dist/core/mcp/index.d.ts +9 -1
  53. package/dist/core/mcp/index.js +40 -3
  54. package/dist/core/{mcp-C-LwrhHt.d.ts → mcp-Bm9HwvDf.d.ts} +9 -1
  55. package/dist/core/{mcp-oU9TGu_S.d.cts → mcp-DqadENYY.d.cts} +9 -1
  56. package/dist/core/{message-Di6ZwIjG.d.ts → message-CrqsdxNE.d.ts} +8 -1
  57. package/dist/core/{message-BFjPtffm.d.cts → message-DZitapX9.d.cts} +8 -1
  58. package/dist/core/models/index.cjs +8 -0
  59. package/dist/core/models/index.d.cts +1 -1
  60. package/dist/core/models/index.d.ts +1 -1
  61. package/dist/core/models/index.js +8 -0
  62. package/dist/core/package.json +10 -0
  63. package/dist/core/permissions/index.d.cts +1 -1
  64. package/dist/core/permissions/index.d.ts +1 -1
  65. package/dist/core/seed/index.cjs +784 -272
  66. package/dist/core/seed/index.js +804 -270
  67. package/dist/core/{session-DE9tT7Cm.d.cts → session-Bt9i9089.d.cts} +18 -7
  68. package/dist/core/{session-DrzT_Csl.d.ts → session-Da9rf6n5.d.ts} +18 -7
  69. package/dist/core/templates/agor-system-prompt.md +3 -30
  70. package/dist/core/templates/handlebars-helpers.cjs +5 -2
  71. package/dist/core/templates/handlebars-helpers.d.cts +4 -1
  72. package/dist/core/templates/handlebars-helpers.d.ts +4 -1
  73. package/dist/core/templates/handlebars-helpers.js +5 -2
  74. package/dist/core/templates/session-context.cjs +3 -1
  75. package/dist/core/templates/session-context.d.cts +2 -2
  76. package/dist/core/templates/session-context.d.ts +2 -2
  77. package/dist/core/templates/session-context.js +3 -1
  78. package/dist/core/tools/mcp/jwt-auth.cjs +334 -3
  79. package/dist/core/tools/mcp/jwt-auth.d.cts +3 -2
  80. package/dist/core/tools/mcp/jwt-auth.d.ts +3 -2
  81. package/dist/core/tools/mcp/jwt-auth.js +322 -3
  82. package/dist/core/tools/mcp/oauth-auth.cjs +286 -0
  83. package/dist/core/tools/mcp/oauth-auth.d.cts +124 -0
  84. package/dist/core/tools/mcp/oauth-auth.d.ts +124 -0
  85. package/dist/core/tools/mcp/oauth-auth.js +258 -0
  86. package/dist/core/tools/mcp/oauth-mcp-transport.cjs +408 -0
  87. package/dist/core/tools/mcp/oauth-mcp-transport.d.cts +86 -0
  88. package/dist/core/tools/mcp/oauth-mcp-transport.d.ts +86 -0
  89. package/dist/core/tools/mcp/oauth-mcp-transport.js +369 -0
  90. package/dist/core/types/index.cjs +7 -0
  91. package/dist/core/types/index.d.cts +7 -7
  92. package/dist/core/types/index.d.ts +7 -7
  93. package/dist/core/types/index.js +7 -0
  94. package/dist/core/types-eb2uYaBV.d.cts +278 -0
  95. package/dist/core/types-eb2uYaBV.d.ts +278 -0
  96. package/dist/core/unix/index.cjs +3695 -2911
  97. package/dist/core/unix/index.d.cts +115 -31
  98. package/dist/core/unix/index.d.ts +115 -31
  99. package/dist/core/unix/index.js +3413 -2610
  100. package/dist/core/{user-RShA3iU6.d.cts → user-C5id0Zhj.d.cts} +3 -2
  101. package/dist/core/{user-DhXUWd3o.d.ts → user-DT1Qzfep.d.ts} +3 -2
  102. package/dist/core/utils/permission-mode-mapper.cjs +56 -10
  103. package/dist/core/utils/permission-mode-mapper.d.cts +14 -11
  104. package/dist/core/utils/permission-mode-mapper.d.ts +14 -11
  105. package/dist/core/utils/permission-mode-mapper.js +56 -10
  106. package/dist/core/{repo-DkEPOBbI.d.ts → worktree-BR7Inm0-.d.ts} +176 -168
  107. package/dist/core/{repo-DbOIBw1c.d.cts → worktree-hZImhblR.d.cts} +176 -168
  108. package/dist/daemon/auth/service-jwt-strategy.d.ts +39 -0
  109. package/dist/daemon/auth/service-jwt-strategy.js +49 -0
  110. package/dist/daemon/auth/session-token-strategy.js +6 -2
  111. package/dist/daemon/index.js +2604 -1090
  112. package/dist/daemon/mcp/routes.js +716 -59
  113. package/dist/daemon/mcp/tokens.d.ts +48 -17
  114. package/dist/daemon/mcp/tokens.js +42 -61
  115. package/dist/daemon/services/context.js +3 -0
  116. package/dist/daemon/services/file.js +3 -0
  117. package/dist/daemon/services/files.js +12 -1
  118. package/dist/daemon/services/mcp-servers.d.ts +7 -2
  119. package/dist/daemon/services/repos.d.ts +21 -8
  120. package/dist/daemon/services/repos.js +314 -131
  121. package/dist/daemon/services/sessions/hooks/handle-stop.d.ts +12 -1
  122. package/dist/daemon/services/sessions/hooks/handle-stop.js +43 -1
  123. package/dist/daemon/services/sessions.d.ts +12 -2
  124. package/dist/daemon/services/sessions.js +48 -17
  125. package/dist/daemon/services/tasks.js +15 -3
  126. package/dist/daemon/services/terminals.d.ts +49 -42
  127. package/dist/daemon/services/terminals.js +362 -369
  128. package/dist/daemon/services/users.js +2 -2
  129. package/dist/daemon/services/worktree-owners.d.ts +12 -3
  130. package/dist/daemon/services/worktree-owners.js +231 -48
  131. package/dist/daemon/services/worktrees.d.ts +31 -14
  132. package/dist/daemon/services/worktrees.js +351 -77
  133. package/dist/daemon/setup/index.js +47 -1
  134. package/dist/daemon/setup/socketio.js +47 -1
  135. package/dist/daemon/utils/authorization.d.ts +1 -0
  136. package/dist/daemon/utils/authorization.js +3 -0
  137. package/dist/daemon/utils/git-impersonation.d.ts +41 -0
  138. package/dist/daemon/utils/git-impersonation.js +17 -0
  139. package/dist/daemon/utils/spawn-executor.d.ts +214 -0
  140. package/dist/daemon/utils/spawn-executor.js +222 -0
  141. package/dist/daemon/utils/worktree-authorization.d.ts +25 -14
  142. package/dist/daemon/utils/worktree-authorization.js +68 -1
  143. package/dist/executor/cli.d.ts +12 -3
  144. package/dist/executor/cli.d.ts.map +1 -1
  145. package/dist/executor/cli.js +218 -39
  146. package/dist/executor/commands/git.d.ts +49 -0
  147. package/dist/executor/commands/git.d.ts.map +1 -0
  148. package/dist/executor/commands/git.js +591 -0
  149. package/dist/executor/commands/index.d.ts +35 -0
  150. package/dist/executor/commands/index.d.ts.map +1 -0
  151. package/dist/executor/commands/index.js +115 -0
  152. package/dist/executor/commands/unix.d.ts +75 -0
  153. package/dist/executor/commands/unix.d.ts.map +1 -0
  154. package/dist/executor/commands/unix.js +646 -0
  155. package/dist/executor/commands/zellij.d.ts +40 -0
  156. package/dist/executor/commands/zellij.d.ts.map +1 -0
  157. package/dist/executor/commands/zellij.js +438 -0
  158. package/dist/executor/config.d.ts +1 -1
  159. package/dist/executor/config.d.ts.map +1 -1
  160. package/dist/executor/config.js +2 -2
  161. package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
  162. package/dist/executor/handlers/sdk/base-executor.js +15 -3
  163. package/dist/executor/index.d.ts +2 -1
  164. package/dist/executor/index.d.ts.map +1 -1
  165. package/dist/executor/index.js +2 -2
  166. package/dist/executor/payload-types.d.ts +1425 -0
  167. package/dist/executor/payload-types.d.ts.map +1 -0
  168. package/dist/executor/payload-types.js +507 -0
  169. package/dist/executor/sdk-handlers/base/types.d.ts +2 -1
  170. package/dist/executor/sdk-handlers/base/types.d.ts.map +1 -1
  171. package/dist/executor/sdk-handlers/claude/claude-tool.js +9 -9
  172. package/dist/executor/sdk-handlers/claude/message-processor.d.ts +8 -1
  173. package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +1 -1
  174. package/dist/executor/sdk-handlers/claude/message-processor.js +30 -19
  175. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts.map +1 -1
  176. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.js +55 -54
  177. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  178. package/dist/executor/sdk-handlers/claude/query-builder.js +10 -12
  179. package/dist/executor/sdk-handlers/gemini/models.d.ts +1 -1
  180. package/dist/executor/sdk-handlers/gemini/models.d.ts.map +1 -1
  181. package/dist/executor/sdk-handlers/gemini/models.js +8 -0
  182. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts +18 -16
  183. package/dist/executor/sdk-handlers/gemini/permission-mapper.d.ts.map +1 -1
  184. package/dist/executor/sdk-handlers/gemini/permission-mapper.js +27 -25
  185. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  186. package/dist/executor/sdk-handlers/gemini/prompt-service.js +46 -11
  187. package/dist/executor/services/feathers-client.d.ts +0 -4
  188. package/dist/executor/services/feathers-client.d.ts.map +1 -1
  189. package/dist/executor/services/feathers-client.js +0 -11
  190. package/dist/ui/assets/{_basePickBy-Dc5H9BDd.js → _basePickBy-D1zFnaqs.js} +1 -1
  191. package/dist/ui/assets/_basePickBy-D1zFnaqs.js.gz +0 -0
  192. package/dist/ui/assets/{_baseUniq-BgtPiuHg.js → _baseUniq-D8LATcRr.js} +1 -1
  193. package/dist/ui/assets/_baseUniq-D8LATcRr.js.gz +0 -0
  194. package/dist/ui/assets/{arc-DUctr1jD.js → arc-D8U6s2jg.js} +1 -1
  195. package/dist/ui/assets/arc-D8U6s2jg.js.gz +0 -0
  196. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CrV8Isbn.js → architectureDiagram-VXUJARFQ-Zps5hHAf.js} +1 -1
  197. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-CrV8Isbn.js.gz → architectureDiagram-VXUJARFQ-Zps5hHAf.js.gz} +0 -0
  198. package/dist/ui/assets/{blockDiagram-VD42YOAC-BM5lqQxt.js → blockDiagram-VD42YOAC-re5iSrSJ.js} +1 -1
  199. package/dist/ui/assets/blockDiagram-VD42YOAC-re5iSrSJ.js.gz +0 -0
  200. package/dist/ui/assets/{c4Diagram-YG6GDRKO-DBaWD6JL.js → c4Diagram-YG6GDRKO-BWV8l1xr.js} +1 -1
  201. package/dist/ui/assets/c4Diagram-YG6GDRKO-BWV8l1xr.js.gz +0 -0
  202. package/dist/ui/assets/channel-BMzwRO98.js +1 -0
  203. package/dist/ui/assets/{chunk-4BX2VUAB-By6P4UtS.js → chunk-4BX2VUAB-DmaLgEot.js} +1 -1
  204. package/dist/ui/assets/{chunk-55IACEB6-DCahZaZl.js → chunk-55IACEB6-CC4O9o0l.js} +1 -1
  205. package/dist/ui/assets/{chunk-B4BG7PRW-BQ5jWD31.js → chunk-B4BG7PRW-B9y5I_4g.js} +1 -1
  206. package/dist/ui/assets/chunk-B4BG7PRW-B9y5I_4g.js.gz +0 -0
  207. package/dist/ui/assets/{chunk-DI55MBZ5-Cn1nO1Mx.js → chunk-DI55MBZ5-DdxJatuV.js} +1 -1
  208. package/dist/ui/assets/chunk-DI55MBZ5-DdxJatuV.js.gz +0 -0
  209. package/dist/ui/assets/{chunk-FMBD7UC4-c8FwGrf9.js → chunk-FMBD7UC4-Bka6pzNO.js} +1 -1
  210. package/dist/ui/assets/{chunk-QN33PNHL-mWf6evOV.js → chunk-QN33PNHL-DoxBWKMe.js} +1 -1
  211. package/dist/ui/assets/{chunk-QZHKN3VN-CeCuMpHu.js → chunk-QZHKN3VN-D6ckztZA.js} +1 -1
  212. package/dist/ui/assets/{chunk-TZMSLE5B-CGNXJZGH.js → chunk-TZMSLE5B-CSZ-Do9o.js} +1 -1
  213. package/dist/ui/assets/chunk-TZMSLE5B-CSZ-Do9o.js.gz +0 -0
  214. package/dist/ui/assets/classDiagram-2ON5EDUG-ByzA3PuH.js +1 -0
  215. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-ByzA3PuH.js +1 -0
  216. package/dist/ui/assets/clone-BbHiLFFC.js +1 -0
  217. package/dist/ui/assets/{cose-bilkent-S5V4N54A-BnZTid_G.js → cose-bilkent-S5V4N54A-DrBUfYnR.js} +1 -1
  218. package/dist/ui/assets/cose-bilkent-S5V4N54A-DrBUfYnR.js.gz +0 -0
  219. package/dist/ui/assets/{dagre-6UL2VRFP-Dah1fu_0.js → dagre-6UL2VRFP-FCRVHvCA.js} +1 -1
  220. package/dist/ui/assets/dagre-6UL2VRFP-FCRVHvCA.js.gz +0 -0
  221. package/dist/ui/assets/{diagram-PSM6KHXK-ZNTOUzkH.js → diagram-PSM6KHXK-DOZvPtVc.js} +1 -1
  222. package/dist/ui/assets/diagram-PSM6KHXK-DOZvPtVc.js.gz +0 -0
  223. package/dist/ui/assets/{diagram-QEK2KX5R-DUf_2Dlz.js → diagram-QEK2KX5R-CK7zONT5.js} +1 -1
  224. package/dist/ui/assets/diagram-QEK2KX5R-CK7zONT5.js.gz +0 -0
  225. package/dist/ui/assets/{diagram-S2PKOQOG-BZsGTi_e.js → diagram-S2PKOQOG-Dtw59dKH.js} +1 -1
  226. package/dist/ui/assets/diagram-S2PKOQOG-Dtw59dKH.js.gz +0 -0
  227. package/dist/ui/assets/{erDiagram-Q2GNP2WA-ZkVdTORV.js → erDiagram-Q2GNP2WA-Cy45dpA1.js} +1 -1
  228. package/dist/ui/assets/erDiagram-Q2GNP2WA-Cy45dpA1.js.gz +0 -0
  229. package/dist/ui/assets/{flowDiagram-NV44I4VS-CUZShXzW.js → flowDiagram-NV44I4VS-XuyJ5bBo.js} +1 -1
  230. package/dist/ui/assets/flowDiagram-NV44I4VS-XuyJ5bBo.js.gz +0 -0
  231. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-DNQUIZzq.js → ganttDiagram-LVOFAZNH-DqaL_wJl.js} +1 -1
  232. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DqaL_wJl.js.gz +0 -0
  233. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-Btykzt1M.js → gitGraphDiagram-NY62KEGX-B3FuWwlr.js} +1 -1
  234. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-B3FuWwlr.js.gz +0 -0
  235. package/dist/ui/assets/{graph-C-48Big3.js → graph-BG5dWzaR.js} +1 -1
  236. package/dist/ui/assets/graph-BG5dWzaR.js.gz +0 -0
  237. package/dist/ui/assets/{index-D1CCofEs.js → index-BJJVQgAF.js} +249 -239
  238. package/dist/ui/assets/index-BJJVQgAF.js.gz +0 -0
  239. package/dist/ui/assets/{index-CdZOoBmi.css → index-CoHRmHKF.css} +1 -1
  240. package/dist/ui/assets/index-CoHRmHKF.css.gz +0 -0
  241. package/dist/ui/assets/{infoDiagram-ER5ION4S-BbnQazbu.js → infoDiagram-ER5ION4S-nL4GZAX1.js} +1 -1
  242. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-S_aWym8z.js → journeyDiagram-XKPGCS4Q-B8plV6tX.js} +1 -1
  243. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B8plV6tX.js.gz +0 -0
  244. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-DntgmgOy.js → kanban-definition-3W4ZIXB7-BGguxVOE.js} +1 -1
  245. package/dist/ui/assets/kanban-definition-3W4ZIXB7-BGguxVOE.js.gz +0 -0
  246. package/dist/ui/assets/{layout-ZhXFUUQG.js → layout-LkpUHcLK.js} +1 -1
  247. package/dist/ui/assets/layout-LkpUHcLK.js.gz +0 -0
  248. package/dist/ui/assets/{linear-CpdtEmO1.js → linear-0Xbt3wIH.js} +1 -1
  249. package/dist/ui/assets/linear-0Xbt3wIH.js.gz +0 -0
  250. package/dist/ui/assets/{mermaid.core-CqSg9woT.js → mermaid.core-C1LOO7zE.js} +5 -5
  251. package/dist/ui/assets/mermaid.core-C1LOO7zE.js.gz +0 -0
  252. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-CxS-eGbT.js → mindmap-definition-VGOIOE7T-B7HVGNJs.js} +1 -1
  253. package/dist/ui/assets/mindmap-definition-VGOIOE7T-B7HVGNJs.js.gz +0 -0
  254. package/dist/ui/assets/{pieDiagram-ADFJNKIX-CmOM0ENn.js → pieDiagram-ADFJNKIX-CHG8R2Po.js} +1 -1
  255. package/dist/ui/assets/pieDiagram-ADFJNKIX-CHG8R2Po.js.gz +0 -0
  256. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-3k0D6uPf.js → quadrantDiagram-AYHSOK5B-CEsy1_LZ.js} +1 -1
  257. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-CEsy1_LZ.js.gz +0 -0
  258. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BGL1nlEg.js → requirementDiagram-UZGBJVZJ-DEs05ytR.js} +1 -1
  259. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-DEs05ytR.js.gz +0 -0
  260. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-CoPvyXD2.js → sankeyDiagram-TZEHDZUN-DXGYSrCF.js} +1 -1
  261. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DXGYSrCF.js.gz +0 -0
  262. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-CzRex2qf.js → sequenceDiagram-WL72ISMW-BgwC9Kjd.js} +1 -1
  263. package/dist/ui/assets/sequenceDiagram-WL72ISMW-BgwC9Kjd.js.gz +0 -0
  264. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-CGIvtPNE.js → stateDiagram-FKZM4ZOC-CzhOiaAT.js} +1 -1
  265. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CzhOiaAT.js.gz +0 -0
  266. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DPyBpCML.js +1 -0
  267. package/dist/ui/assets/{timeline-definition-IT6M3QCI-DaB6rNEt.js → timeline-definition-IT6M3QCI-D5WfZKkX.js} +1 -1
  268. package/dist/ui/assets/timeline-definition-IT6M3QCI-D5WfZKkX.js.gz +0 -0
  269. package/dist/ui/assets/{treemap-KMMF4GRG-D85rMRGA.js → treemap-KMMF4GRG-Fb1GjBc1.js} +1 -1
  270. package/dist/ui/assets/{treemap-KMMF4GRG-D85rMRGA.js.gz → treemap-KMMF4GRG-Fb1GjBc1.js.gz} +0 -0
  271. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-BeSXPo-C.js → xychartDiagram-PRI3JC2R-l1lSswOS.js} +1 -1
  272. package/dist/ui/assets/xychartDiagram-PRI3JC2R-l1lSswOS.js.gz +0 -0
  273. package/dist/ui/index.html +2 -2
  274. package/package.json +8 -6
  275. package/dist/daemon/services/unix-integration.d.ts +0 -38
  276. package/dist/daemon/services/unix-integration.js +0 -15
  277. package/dist/executor/sdk-handlers/opencode/client.d.ts +0 -108
  278. package/dist/executor/sdk-handlers/opencode/client.d.ts.map +0 -1
  279. package/dist/executor/sdk-handlers/opencode/client.js +0 -366
  280. package/dist/ui/assets/_basePickBy-Dc5H9BDd.js.gz +0 -0
  281. package/dist/ui/assets/_baseUniq-BgtPiuHg.js.gz +0 -0
  282. package/dist/ui/assets/arc-DUctr1jD.js.gz +0 -0
  283. package/dist/ui/assets/blockDiagram-VD42YOAC-BM5lqQxt.js.gz +0 -0
  284. package/dist/ui/assets/c4Diagram-YG6GDRKO-DBaWD6JL.js.gz +0 -0
  285. package/dist/ui/assets/channel-CyVogAGw.js +0 -1
  286. package/dist/ui/assets/chunk-B4BG7PRW-BQ5jWD31.js.gz +0 -0
  287. package/dist/ui/assets/chunk-DI55MBZ5-Cn1nO1Mx.js.gz +0 -0
  288. package/dist/ui/assets/chunk-TZMSLE5B-CGNXJZGH.js.gz +0 -0
  289. package/dist/ui/assets/classDiagram-2ON5EDUG-C8elooyv.js +0 -1
  290. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C8elooyv.js +0 -1
  291. package/dist/ui/assets/clone-xxDSNj54.js +0 -1
  292. package/dist/ui/assets/cose-bilkent-S5V4N54A-BnZTid_G.js.gz +0 -0
  293. package/dist/ui/assets/dagre-6UL2VRFP-Dah1fu_0.js.gz +0 -0
  294. package/dist/ui/assets/diagram-PSM6KHXK-ZNTOUzkH.js.gz +0 -0
  295. package/dist/ui/assets/diagram-QEK2KX5R-DUf_2Dlz.js.gz +0 -0
  296. package/dist/ui/assets/diagram-S2PKOQOG-BZsGTi_e.js.gz +0 -0
  297. package/dist/ui/assets/erDiagram-Q2GNP2WA-ZkVdTORV.js.gz +0 -0
  298. package/dist/ui/assets/flowDiagram-NV44I4VS-CUZShXzW.js.gz +0 -0
  299. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DNQUIZzq.js.gz +0 -0
  300. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Btykzt1M.js.gz +0 -0
  301. package/dist/ui/assets/graph-C-48Big3.js.gz +0 -0
  302. package/dist/ui/assets/index-CdZOoBmi.css.gz +0 -0
  303. package/dist/ui/assets/index-D1CCofEs.js.gz +0 -0
  304. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-S_aWym8z.js.gz +0 -0
  305. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DntgmgOy.js.gz +0 -0
  306. package/dist/ui/assets/layout-ZhXFUUQG.js.gz +0 -0
  307. package/dist/ui/assets/linear-CpdtEmO1.js.gz +0 -0
  308. package/dist/ui/assets/mermaid.core-CqSg9woT.js.gz +0 -0
  309. package/dist/ui/assets/mindmap-definition-VGOIOE7T-CxS-eGbT.js.gz +0 -0
  310. package/dist/ui/assets/pieDiagram-ADFJNKIX-CmOM0ENn.js.gz +0 -0
  311. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-3k0D6uPf.js.gz +0 -0
  312. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BGL1nlEg.js.gz +0 -0
  313. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-CoPvyXD2.js.gz +0 -0
  314. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CzRex2qf.js.gz +0 -0
  315. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CGIvtPNE.js.gz +0 -0
  316. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DqrTNTOr.js +0 -1
  317. package/dist/ui/assets/timeline-definition-IT6M3QCI-DaB6rNEt.js.gz +0 -0
  318. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BeSXPo-C.js.gz +0 -0
@@ -29,7 +29,7 @@ var DbMigrate = class _DbMigrate extends Command {
29
29
  status.applied.forEach((tag) => {
30
30
  this.log(` ${chalk.dim("\u2022")} ${tag}`);
31
31
  });
32
- return;
32
+ process.exit(0);
33
33
  }
34
34
  this.log(chalk.yellow("\u26A0\uFE0F Found pending migrations:"));
35
35
  this.log("");
@@ -97,6 +97,7 @@ var DbMigrate = class _DbMigrate extends Command {
97
97
  this.log("");
98
98
  this.log("You can now start the daemon with:");
99
99
  this.log(chalk.cyan(" agor daemon start"));
100
+ process.exit(0);
100
101
  } catch (error) {
101
102
  this.error(
102
103
  `Failed to run migrations: ${error instanceof Error ? error.message : String(error)}`
@@ -1,12 +1,12 @@
1
+ import * as _oclif_core_interfaces from '@oclif/core/interfaces';
1
2
  import { Command } from '@oclif/core';
2
3
 
3
- /**
4
- * `agor db status` - Show applied database migrations
5
- */
6
-
7
4
  declare class DbStatus extends Command {
8
5
  static description: string;
9
6
  static examples: string[];
7
+ static flags: {
8
+ verbose: _oclif_core_interfaces.BooleanFlag<boolean>;
9
+ };
10
10
  run(): Promise<void>;
11
11
  }
12
12
 
@@ -1,48 +1,82 @@
1
1
  // src/commands/db/status.ts
2
- import { createDatabase, getDatabaseUrl, isSQLiteDatabase, sql } from "@agor/core/db";
3
- import { Command } from "@oclif/core";
2
+ import {
3
+ checkMigrationStatus,
4
+ createDatabase,
5
+ getDatabaseUrl,
6
+ isSQLiteDatabase,
7
+ sql
8
+ } from "@agor/core/db";
9
+ import { Command, Flags } from "@oclif/core";
4
10
  import chalk from "chalk";
5
11
  var DbStatus = class _DbStatus extends Command {
6
12
  static description = "Show applied database migrations";
7
13
  static examples = ["<%= config.bin %> <%= command.id %>"];
14
+ static flags = {
15
+ verbose: Flags.boolean({
16
+ char: "v",
17
+ description: "Show detailed migration information including hashes and pending migrations",
18
+ default: false
19
+ })
20
+ };
8
21
  async run() {
9
- await this.parse(_DbStatus);
22
+ const { flags } = await this.parse(_DbStatus);
10
23
  try {
11
24
  const dbUrl = getDatabaseUrl();
12
25
  const db = createDatabase({ url: dbUrl });
13
- const tableCheck = isSQLiteDatabase(db) ? await db.run(
14
- sql`SELECT name FROM sqlite_master WHERE type='table' AND name='__drizzle_migrations'`
15
- ) : await db.execute(
16
- sql`SELECT table_name as name FROM information_schema.tables WHERE table_schema = 'drizzle' AND table_name = '__drizzle_migrations'`
17
- );
18
- const tableCheckRows = isSQLiteDatabase(db) ? tableCheck.rows : tableCheck;
19
- if (tableCheckRows.length === 0) {
26
+ const status = await checkMigrationStatus(db);
27
+ if (status.applied.length === 0 && status.pending.length === 0) {
20
28
  this.log(
21
29
  `${chalk.yellow("\u26A0")} No migrations table found. Run ${chalk.cyan("agor db migrate")} to initialize.`
22
30
  );
23
- return;
31
+ process.exit(0);
24
32
  }
25
- const result = isSQLiteDatabase(db) ? await db.run(
26
- sql`SELECT hash, created_at FROM __drizzle_migrations ORDER BY created_at ASC`
27
- ) : await db.execute(
28
- sql`SELECT hash, created_at FROM drizzle.__drizzle_migrations ORDER BY created_at ASC`
29
- );
30
- const rows = isSQLiteDatabase(db) ? result.rows : result;
31
- if (rows.length === 0) {
32
- this.log("No migrations applied yet");
33
- return;
33
+ if (status.applied.length > 0) {
34
+ this.log(chalk.bold("\nApplied migrations:\n"));
35
+ for (const tag of status.applied) {
36
+ this.log(` ${chalk.green("\u2713")} ${tag}`);
37
+ }
38
+ this.log(`
39
+ ${chalk.bold(`Total: ${status.applied.length} migration(s)`)}`);
40
+ } else {
41
+ this.log(chalk.yellow("No migrations applied yet"));
34
42
  }
35
- this.log(chalk.bold("\nApplied migrations:\n"));
36
- rows.forEach((row) => {
37
- const migration = row;
38
- const date = new Date(Number(migration.created_at));
39
- const formattedDate = date.toLocaleString();
43
+ if (status.hasPending) {
44
+ this.log("");
45
+ this.log(chalk.yellow(chalk.bold("\u26A0\uFE0F Pending migrations:\n")));
46
+ for (const tag of status.pending) {
47
+ this.log(` ${chalk.yellow("\u2022")} ${tag}`);
48
+ }
49
+ this.log("");
50
+ this.log(chalk.dim(`Run ${chalk.cyan("agor db migrate")} to apply pending migrations.`));
51
+ }
52
+ if (flags.verbose) {
53
+ this.log("");
54
+ this.log(chalk.bold("Detailed information:"));
55
+ this.log("");
56
+ const result = isSQLiteDatabase(db) ? await db.run(sql`SELECT id, hash, created_at FROM __drizzle_migrations ORDER BY id ASC`) : await db.execute(
57
+ sql`SELECT id, hash, created_at FROM drizzle.__drizzle_migrations ORDER BY id ASC`
58
+ );
59
+ const rows = isSQLiteDatabase(db) ? result.rows : result;
40
60
  this.log(
41
- ` ${chalk.green("\u2713")} ${chalk.cyan(migration.hash)} ${chalk.dim(`(${formattedDate})`)}`
61
+ `${chalk.dim("Database contains")} ${rows.length} ${chalk.dim("migration record(s)")}`
42
62
  );
43
- });
44
- this.log(`
45
- ${chalk.bold(`Total: ${rows.length} migration(s)`)}`);
63
+ this.log(
64
+ `${chalk.dim("Journal expects")} ${status.applied.length + status.pending.length} ${chalk.dim("migration(s)")}`
65
+ );
66
+ this.log("");
67
+ if (rows.length > 0) {
68
+ this.log(chalk.dim("Migration hashes in database:"));
69
+ rows.forEach((row, index) => {
70
+ const migration = row;
71
+ const date = new Date(Number(migration.created_at));
72
+ const formattedDate = date.toLocaleString();
73
+ this.log(
74
+ ` ${chalk.dim(`#${migration.id}:`)} ${migration.hash.substring(0, 12)}... ${chalk.dim(`(${formattedDate})`)}`
75
+ );
76
+ });
77
+ }
78
+ }
79
+ process.exit(0);
46
80
  } catch (error) {
47
81
  this.error(
48
82
  `Failed to get migration status: ${error instanceof Error ? error.message : String(error)}`
@@ -11,6 +11,7 @@ declare class UserCreate extends BaseCommand {
11
11
  name: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
12
12
  password: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
13
13
  role: _oclif_core_interfaces.OptionFlag<string, _oclif_core_interfaces.CustomOptions>;
14
+ 'unix-username': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
14
15
  'force-password-change': _oclif_core_interfaces.BooleanFlag<boolean>;
15
16
  };
16
17
  run(): Promise<void>;
@@ -142,7 +142,8 @@ var UserCreate = class _UserCreate extends BaseCommand {
142
142
  static examples = [
143
143
  "<%= config.bin %> <%= command.id %>",
144
144
  "<%= config.bin %> <%= command.id %> --email admin@localhost --name Admin",
145
- "<%= config.bin %> <%= command.id %> --email max@example.com --role admin"
145
+ "<%= config.bin %> <%= command.id %> --email max@example.com --role admin --unix-username max",
146
+ "<%= config.bin %> <%= command.id %> --email max@example.com --force-password-change"
146
147
  ];
147
148
  static flags = {
148
149
  email: Flags.string({
@@ -168,6 +169,10 @@ var UserCreate = class _UserCreate extends BaseCommand {
168
169
  // owner role unused
169
170
  default: "admin"
170
171
  }),
172
+ "unix-username": Flags.string({
173
+ description: "Unix username for shell access (defaults to email prefix)",
174
+ required: false
175
+ }),
171
176
  "force-password-change": Flags.boolean({
172
177
  description: "Force user to change password on first login",
173
178
  default: false
@@ -233,15 +238,17 @@ var UserCreate = class _UserCreate extends BaseCommand {
233
238
  password,
234
239
  name: name || void 0,
235
240
  role: flags.role,
241
+ unix_username: flags["unix-username"],
236
242
  must_change_password: flags["force-password-change"]
237
243
  };
238
244
  const user = await client.service("users").create(userData);
239
245
  this.log(`${chalk2.green("\u2713")} User created successfully`);
240
246
  this.log("");
241
- this.log(` Email: ${chalk2.cyan(user.email)}`);
242
- this.log(` Name: ${chalk2.cyan(user.name || "(not set)")}`);
243
- this.log(` Role: ${chalk2.cyan(user.role)}`);
244
- this.log(` ID: ${chalk2.gray(user.user_id.substring(0, 8))}`);
247
+ this.log(` Email: ${chalk2.cyan(user.email)}`);
248
+ this.log(` Name: ${chalk2.cyan(user.name || "(not set)")}`);
249
+ this.log(` Role: ${chalk2.cyan(user.role)}`);
250
+ this.log(` Unix Username: ${chalk2.cyan(user.unix_username || "(not set)")}`);
251
+ this.log(` ID: ${chalk2.gray(user.user_id.substring(0, 8))}`);
245
252
  if (user.must_change_password) {
246
253
  this.log(` ${chalk2.yellow("\u26A0")} User must change password on first login`);
247
254
  }
@@ -14,6 +14,7 @@ declare class UserUpdate extends BaseCommand {
14
14
  name: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
15
15
  password: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
16
16
  role: _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
17
+ 'unix-username': _oclif_core_interfaces.OptionFlag<string | undefined, _oclif_core_interfaces.CustomOptions>;
17
18
  'force-password-change': _oclif_core_interfaces.BooleanFlag<boolean>;
18
19
  };
19
20
  run(): Promise<void>;
@@ -142,7 +142,9 @@ var UserUpdate = class _UserUpdate extends BaseCommand {
142
142
  static examples = [
143
143
  '<%= config.bin %> <%= command.id %> test@example.com --name "New Name"',
144
144
  "<%= config.bin %> <%= command.id %> 0199d1bd --role member",
145
- "<%= config.bin %> <%= command.id %> test@example.com --password newpassword123"
145
+ "<%= config.bin %> <%= command.id %> test@example.com --password newpassword123",
146
+ "<%= config.bin %> <%= command.id %> test@example.com --unix-username testuser",
147
+ "<%= config.bin %> <%= command.id %> 0199d1bd --force-password-change"
146
148
  ];
147
149
  static args = {
148
150
  user: Args.string({
@@ -164,8 +166,11 @@ var UserUpdate = class _UserUpdate extends BaseCommand {
164
166
  description: "New role",
165
167
  options: ["owner", "admin", "member", "viewer"]
166
168
  }),
169
+ "unix-username": Flags.string({
170
+ description: "New Unix username for shell access"
171
+ }),
167
172
  "force-password-change": Flags.boolean({
168
- description: "Force user to change password on next login",
173
+ description: "Force user to change password on next login (omit to leave unchanged)",
169
174
  allowNo: true
170
175
  // Allows --no-force-password-change to clear the flag
171
176
  })
@@ -187,7 +192,7 @@ var UserUpdate = class _UserUpdate extends BaseCommand {
187
192
  ${chalk2.gray(` No user matching: ${args.user}`)}`
188
193
  );
189
194
  }
190
- if (!flags.email && !flags.name && !flags.password && !flags.role && flags["force-password-change"] === void 0) {
195
+ if (!flags.email && !flags.name && !flags.password && !flags.role && !flags["unix-username"] && flags["force-password-change"] === void 0) {
191
196
  const { fields } = await inquirer.prompt([
192
197
  {
193
198
  type: "checkbox",
@@ -197,7 +202,9 @@ ${chalk2.gray(` No user matching: ${args.user}`)}`
197
202
  { name: "Email", value: "email" },
198
203
  { name: "Name", value: "name" },
199
204
  { name: "Password", value: "password" },
200
- { name: "Role", value: "role" }
205
+ { name: "Role", value: "role" },
206
+ { name: "Unix Username", value: "unix_username" },
207
+ { name: "Force Password Change", value: "force_password_change" }
201
208
  ]
202
209
  }
203
210
  ]);
@@ -245,18 +252,36 @@ ${chalk2.gray(` No user matching: ${args.user}`)}`
245
252
  when: fields.includes("role"),
246
253
  choices: ["owner", "admin", "member", "viewer"],
247
254
  default: user.role
255
+ },
256
+ {
257
+ type: "input",
258
+ name: "unix_username",
259
+ message: "New Unix username:",
260
+ when: fields.includes("unix_username"),
261
+ default: user.unix_username
262
+ },
263
+ {
264
+ type: "confirm",
265
+ name: "force_password_change",
266
+ message: "Force user to change password on next login?",
267
+ when: fields.includes("force_password_change"),
268
+ default: user.must_change_password
248
269
  }
249
270
  ]);
250
271
  if (answers.email) flags.email = answers.email;
251
272
  if (answers.name) flags.name = answers.name;
252
273
  if (answers.password) flags.password = answers.password;
253
274
  if (answers.role) flags.role = answers.role;
275
+ if (answers.unix_username) flags["unix-username"] = answers.unix_username;
276
+ if (answers.force_password_change !== void 0)
277
+ flags["force-password-change"] = answers.force_password_change;
254
278
  }
255
279
  const updates = {};
256
280
  if (flags.email) updates.email = flags.email;
257
281
  if (flags.name) updates.name = flags.name;
258
282
  if (flags.password) updates.password = flags.password;
259
283
  if (flags.role) updates.role = flags.role;
284
+ if (flags["unix-username"]) updates.unix_username = flags["unix-username"];
260
285
  if (flags["force-password-change"] !== void 0) {
261
286
  updates.must_change_password = flags["force-password-change"];
262
287
  }
@@ -270,10 +295,11 @@ ${chalk2.gray(` No user matching: ${args.user}`)}`
270
295
  const updatedUser = await usersService.patch(user.user_id, updates);
271
296
  this.log(`${chalk2.green("\u2713")} User updated successfully`);
272
297
  this.log("");
273
- this.log(` Email: ${chalk2.cyan(updatedUser.email)}`);
274
- this.log(` Name: ${chalk2.cyan(updatedUser.name || "(not set)")}`);
275
- this.log(` Role: ${chalk2.cyan(updatedUser.role)}`);
276
- this.log(` ID: ${chalk2.gray(updatedUser.user_id.substring(0, 8))}`);
298
+ this.log(` Email: ${chalk2.cyan(updatedUser.email)}`);
299
+ this.log(` Name: ${chalk2.cyan(updatedUser.name || "(not set)")}`);
300
+ this.log(` Role: ${chalk2.cyan(updatedUser.role)}`);
301
+ this.log(` Unix Username: ${chalk2.cyan(updatedUser.unix_username || "(not set)")}`);
302
+ this.log(` ID: ${chalk2.gray(updatedUser.user_id.substring(0, 8))}`);
277
303
  if (updatedUser.must_change_password) {
278
304
  this.log(` ${chalk2.yellow("\u26A0")} User must change password on next login`);
279
305
  }
@@ -1,11 +1,11 @@
1
- import { e as Message } from '../message-BFjPtffm.cjs';
1
+ import { e as Message } from '../message-DZitapX9.cjs';
2
2
  import { e as Board, f as BoardExportBlob } from '../board-BGkmgUH3.cjs';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.cjs';
4
- import { b as AuthenticationResult } from '../feathers-BzHEPnpl.cjs';
5
- import { i as MCPServer } from '../mcp-oU9TGu_S.cjs';
6
- import { d as User } from '../user-RShA3iU6.cjs';
7
- import { b as Repo, d as Worktree } from '../repo-DbOIBw1c.cjs';
8
- import { f as Session } from '../session-DE9tT7Cm.cjs';
4
+ import { b as AuthenticationResult } from '../feathers-C1uChqXy.cjs';
5
+ import { i as MCPServer } from '../mcp-DqadENYY.cjs';
6
+ import { d as User } from '../user-C5id0Zhj.cjs';
7
+ import { b as Repo, d as Worktree } from '../worktree-hZImhblR.cjs';
8
+ import { f as Session } from '../session-Bt9i9089.cjs';
9
9
  import { c as Task } from '../task-D5cWUcAY.cjs';
10
10
  import { Params, Paginated, Application } from '@feathersjs/feathers';
11
11
  import { Socket } from 'socket.io-client';
@@ -1,11 +1,11 @@
1
- import { e as Message } from '../message-Di6ZwIjG.js';
1
+ import { e as Message } from '../message-CrqsdxNE.js';
2
2
  import { e as Board, f as BoardExportBlob } from '../board-CKJQAhxz.js';
3
3
  import { a as ContextFileListItem, b as ContextFileDetail } from '../context-ByxGjp5l.js';
4
- import { b as AuthenticationResult } from '../feathers-BzHEPnpl.js';
5
- import { i as MCPServer } from '../mcp-C-LwrhHt.js';
6
- import { d as User } from '../user-DhXUWd3o.js';
7
- import { b as Repo, d as Worktree } from '../repo-DkEPOBbI.js';
8
- import { f as Session } from '../session-DrzT_Csl.js';
4
+ import { b as AuthenticationResult } from '../feathers-B0zjReEk.js';
5
+ import { i as MCPServer } from '../mcp-Bm9HwvDf.js';
6
+ import { d as User } from '../user-DT1Qzfep.js';
7
+ import { b as Repo, d as Worktree } from '../worktree-BR7Inm0-.js';
8
+ import { f as Session } from '../session-Da9rf6n5.js';
9
9
  import { c as Task } from '../task-D0i_mU9u.js';
10
10
  import { Params, Paginated, Application } from '@feathersjs/feathers';
11
11
  import { Socket } from 'socket.io-client';