agor-live 0.22.0 → 0.23.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 (905) hide show
  1. package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
  2. package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
  3. package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
  4. package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
  5. package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
  6. package/dist/cli/commands/admin/create-branch-group.js +132 -38
  7. package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
  8. package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
  9. package/dist/cli/commands/admin/create-symlink.js +138 -61
  10. package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
  11. package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
  12. package/dist/cli/commands/admin/delete-branch-group.js +132 -28
  13. package/dist/cli/commands/admin/delete-user.d.ts +2 -13
  14. package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
  15. package/dist/cli/commands/admin/delete-user.js +132 -38
  16. package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
  17. package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
  18. package/dist/cli/commands/admin/ensure-user.js +131 -46
  19. package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
  20. package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
  21. package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
  22. package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
  23. package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
  24. package/dist/cli/commands/admin/remove-symlink.js +136 -49
  25. package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
  26. package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
  27. package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
  28. package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
  29. package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
  30. package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
  31. package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
  32. package/dist/cli/commands/auth/whoami.js +2 -1
  33. package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
  34. package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
  35. package/dist/cli/commands/branch/env/request.test.js +17723 -0
  36. package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
  37. package/dist/cli/commands/branch/env/restart.js +7 -1
  38. package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
  39. package/dist/cli/commands/branch/env/start.js +7 -1
  40. package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
  41. package/dist/cli/commands/branch/env/stop.js +7 -1
  42. package/dist/cli/commands/daemon/status.d.ts.map +1 -1
  43. package/dist/cli/commands/daemon/status.js +2 -1
  44. package/dist/cli/commands/init.d.ts +6 -0
  45. package/dist/cli/commands/init.d.ts.map +1 -1
  46. package/dist/cli/commands/init.js +140 -2
  47. package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
  48. package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
  49. package/dist/cli/commands/local/add-to-branch-group.js +37 -0
  50. package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
  51. package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
  52. package/dist/cli/commands/local/create-branch-group.js +35 -0
  53. package/dist/cli/commands/local/create-symlink.d.ts +14 -0
  54. package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
  55. package/dist/cli/commands/local/create-symlink.js +45 -0
  56. package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
  57. package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
  58. package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
  59. package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
  60. package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
  61. package/dist/cli/commands/local/delete-branch-group.js +35 -0
  62. package/dist/cli/commands/local/delete-user.d.ts +12 -0
  63. package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
  64. package/dist/cli/commands/local/delete-user.js +36 -0
  65. package/dist/cli/commands/local/ensure-user.d.ts +12 -0
  66. package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
  67. package/dist/cli/commands/local/ensure-user.js +41 -0
  68. package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
  69. package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
  70. package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
  71. package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
  72. package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
  73. package/dist/cli/commands/local/remove-symlink.js +39 -0
  74. package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
  75. package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
  76. package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
  77. package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
  78. package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
  79. package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
  80. package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
  81. package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
  82. package/dist/cli/commands/telemetry/index.d.ts +7 -0
  83. package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
  84. package/dist/cli/commands/telemetry/index.js +40 -0
  85. package/dist/cli/commands/telemetry/off.d.ts +6 -0
  86. package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
  87. package/dist/cli/commands/telemetry/off.js +35 -0
  88. package/dist/cli/commands/telemetry/on.d.ts +6 -0
  89. package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
  90. package/dist/cli/commands/telemetry/on.js +37 -0
  91. package/dist/cli/commands/telemetry/test.d.ts +6 -0
  92. package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
  93. package/dist/cli/commands/telemetry/test.js +56 -0
  94. package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
  95. package/dist/cli/commands/user/create-admin.js +81 -72
  96. package/dist/cli/commands/user/list.d.ts.map +1 -1
  97. package/dist/cli/commands/user/list.js +1 -0
  98. package/dist/cli/commands/whoami.js +2 -1
  99. package/dist/cli/lib/branch-environment-action.d.ts +21 -0
  100. package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
  101. package/dist/cli/lib/branch-environment-action.js +8 -0
  102. package/dist/core/api/index.cjs +7 -2
  103. package/dist/core/api/index.d.ts +13 -4
  104. package/dist/core/api/index.d.ts.map +1 -1
  105. package/dist/core/api/index.js +7 -2
  106. package/dist/core/claude/index.cjs +482 -77
  107. package/dist/core/claude/index.js +479 -76
  108. package/dist/core/claude-cli/index.cjs +11 -0
  109. package/dist/core/claude-cli/index.js +11 -0
  110. package/dist/core/claude-cli/pricing.d.ts.map +1 -1
  111. package/dist/core/client/index.cjs +35 -7
  112. package/dist/core/client/index.js +32 -7
  113. package/dist/core/config/browser.cjs +3 -5
  114. package/dist/core/config/browser.js +3 -5
  115. package/dist/core/config/config-manager.d.ts +33 -13
  116. package/dist/core/config/config-manager.d.ts.map +1 -1
  117. package/dist/core/config/index.cjs +4259 -4527
  118. package/dist/core/config/index.d.ts +1 -0
  119. package/dist/core/config/index.d.ts.map +1 -1
  120. package/dist/core/config/index.js +4295 -4583
  121. package/dist/core/config/key-resolver.d.ts.map +1 -1
  122. package/dist/core/config/multitenancy.d.ts +33 -0
  123. package/dist/core/config/multitenancy.d.ts.map +1 -0
  124. package/dist/core/config/security-resolver.d.ts +1 -0
  125. package/dist/core/config/security-resolver.d.ts.map +1 -1
  126. package/dist/core/config/types.d.ts +67 -4
  127. package/dist/core/config/types.d.ts.map +1 -1
  128. package/dist/core/db/client.d.ts +34 -2
  129. package/dist/core/db/client.d.ts.map +1 -1
  130. package/dist/core/db/database-wrapper.d.ts.map +1 -1
  131. package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
  132. package/dist/core/db/index.cjs +2422 -1084
  133. package/dist/core/db/index.d.ts +2 -1
  134. package/dist/core/db/index.d.ts.map +1 -1
  135. package/dist/core/db/index.js +2162 -852
  136. package/dist/core/db/migrate.d.ts.map +1 -1
  137. package/dist/core/db/repositories/artifacts.d.ts +27 -2
  138. package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
  139. package/dist/core/db/repositories/base.d.ts +18 -0
  140. package/dist/core/db/repositories/base.d.ts.map +1 -1
  141. package/dist/core/db/repositories/board-comments.d.ts +17 -1
  142. package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
  143. package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
  144. package/dist/core/db/repositories/boards.d.ts +28 -4
  145. package/dist/core/db/repositories/boards.d.ts.map +1 -1
  146. package/dist/core/db/repositories/branch-access.d.ts +32 -0
  147. package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
  148. package/dist/core/db/repositories/branches.d.ts +41 -1
  149. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  150. package/dist/core/db/repositories/cards.d.ts +15 -1
  151. package/dist/core/db/repositories/cards.d.ts.map +1 -1
  152. package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
  153. package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
  154. package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
  155. package/dist/core/db/repositories/index.d.ts +2 -0
  156. package/dist/core/db/repositories/index.d.ts.map +1 -1
  157. package/dist/core/db/repositories/messages.d.ts +9 -2
  158. package/dist/core/db/repositories/messages.d.ts.map +1 -1
  159. package/dist/core/db/repositories/repos.d.ts.map +1 -1
  160. package/dist/core/db/repositories/schedules.d.ts +12 -1
  161. package/dist/core/db/repositories/schedules.d.ts.map +1 -1
  162. package/dist/core/db/repositories/sessions.d.ts +49 -5
  163. package/dist/core/db/repositories/sessions.d.ts.map +1 -1
  164. package/dist/core/db/repositories/tasks.d.ts +7 -2
  165. package/dist/core/db/repositories/tasks.d.ts.map +1 -1
  166. package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
  167. package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
  168. package/dist/core/db/repositories/users.d.ts +8 -8
  169. package/dist/core/db/repositories/users.d.ts.map +1 -1
  170. package/dist/core/db/schema.d.ts +1460 -38
  171. package/dist/core/db/schema.d.ts.map +1 -1
  172. package/dist/core/db/schema.postgres.d.ts +1082 -37
  173. package/dist/core/db/schema.postgres.d.ts.map +1 -1
  174. package/dist/core/db/schema.sqlite.d.ts +397 -1
  175. package/dist/core/db/schema.sqlite.d.ts.map +1 -1
  176. package/dist/core/db/tenant-context.d.ts +26 -0
  177. package/dist/core/db/tenant-context.d.ts.map +1 -0
  178. package/dist/core/db/tenant-scope.d.ts +31 -0
  179. package/dist/core/db/tenant-scope.d.ts.map +1 -0
  180. package/dist/core/db/user-utils.d.ts +2 -2
  181. package/dist/core/db/user-utils.d.ts.map +1 -1
  182. package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
  183. package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
  184. package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
  185. package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
  186. package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
  187. package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
  188. package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
  189. package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
  190. package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
  191. package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
  192. package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
  193. package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
  194. package/dist/core/environment/render-snapshot.cjs +1 -4
  195. package/dist/core/environment/render-snapshot.js +1 -4
  196. package/dist/core/environment/webhook.cjs +1 -4
  197. package/dist/core/environment/webhook.js +1 -4
  198. package/dist/core/gateway/connector.d.ts +10 -1
  199. package/dist/core/gateway/connector.d.ts.map +1 -1
  200. package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
  201. package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
  202. package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
  203. package/dist/core/gateway/connectors/slack-manifest.js +81 -0
  204. package/dist/core/gateway/connectors/slack.d.ts +101 -4
  205. package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
  206. package/dist/core/gateway/index.cjs +495 -29
  207. package/dist/core/gateway/index.d.ts +4 -1
  208. package/dist/core/gateway/index.d.ts.map +1 -1
  209. package/dist/core/gateway/index.js +490 -28
  210. package/dist/core/gateway/system-message.d.ts.map +1 -1
  211. package/dist/core/git/exec.cjs +24 -0
  212. package/dist/core/git/exec.d.ts +6 -4
  213. package/dist/core/git/exec.d.ts.map +1 -1
  214. package/dist/core/git/exec.js +2 -0
  215. package/dist/core/git/index.cjs +3 -1363
  216. package/dist/core/git/index.d.ts +4 -614
  217. package/dist/core/git/index.d.ts.map +1 -1
  218. package/dist/core/git/index.js +1 -1304
  219. package/dist/core/git/pure.cjs +24 -0
  220. package/dist/core/git/pure.d.ts +2 -27
  221. package/dist/core/git/pure.d.ts.map +1 -1
  222. package/dist/core/git/pure.js +2 -0
  223. package/dist/core/index.cjs +11137 -10604
  224. package/dist/core/index.d.ts +2 -0
  225. package/dist/core/index.d.ts.map +1 -1
  226. package/dist/core/index.js +11673 -10630
  227. package/dist/core/lib/feathers-validation.cjs +6 -1
  228. package/dist/core/lib/feathers-validation.d.ts +1 -0
  229. package/dist/core/lib/feathers-validation.d.ts.map +1 -1
  230. package/dist/core/lib/feathers-validation.js +6 -1
  231. package/dist/core/local-actions/git-remotes.d.ts +7 -0
  232. package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
  233. package/dist/core/local-actions/index.cjs +7941 -0
  234. package/dist/core/local-actions/index.d.ts +6 -0
  235. package/dist/core/local-actions/index.d.ts.map +1 -0
  236. package/dist/core/local-actions/index.js +7943 -0
  237. package/dist/core/local-actions/symlinks.d.ts +20 -0
  238. package/dist/core/local-actions/symlinks.d.ts.map +1 -0
  239. package/dist/core/local-actions/types.d.ts +14 -0
  240. package/dist/core/local-actions/types.d.ts.map +1 -0
  241. package/dist/core/local-actions/unix-groups.d.ts +16 -0
  242. package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
  243. package/dist/core/local-actions/unix-users.d.ts +12 -0
  244. package/dist/core/local-actions/unix-users.d.ts.map +1 -0
  245. package/dist/core/mcp/index.cjs +352 -25
  246. package/dist/core/mcp/index.js +351 -24
  247. package/dist/core/models/browser.cjs +148 -25
  248. package/dist/core/models/browser.js +144 -25
  249. package/dist/core/models/claude.d.ts +2 -2
  250. package/dist/core/models/claude.d.ts.map +1 -1
  251. package/dist/core/models/codex.d.ts +205 -21
  252. package/dist/core/models/codex.d.ts.map +1 -1
  253. package/dist/core/models/index.cjs +148 -25
  254. package/dist/core/models/index.js +144 -25
  255. package/dist/core/package.json +24 -0
  256. package/dist/core/seed/demo-fixtures.d.ts +87 -0
  257. package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
  258. package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
  259. package/dist/core/seed/index.cjs +8410 -5504
  260. package/dist/core/seed/index.d.ts +1 -0
  261. package/dist/core/seed/index.d.ts.map +1 -1
  262. package/dist/core/seed/index.js +8434 -5533
  263. package/dist/core/sessions/index.cjs +110 -24
  264. package/dist/core/sessions/index.js +110 -24
  265. package/dist/core/telemetry/index.cjs +361 -0
  266. package/dist/core/telemetry/index.d.ts +5 -0
  267. package/dist/core/telemetry/index.d.ts.map +1 -0
  268. package/dist/core/telemetry/index.js +315 -0
  269. package/dist/core/telemetry/logger.d.ts +44 -0
  270. package/dist/core/telemetry/logger.d.ts.map +1 -0
  271. package/dist/core/telemetry/model-normalization.d.ts +3 -0
  272. package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
  273. package/dist/core/telemetry/types.d.ts +47 -0
  274. package/dist/core/telemetry/types.d.ts.map +1 -0
  275. package/dist/core/telemetry/version.d.ts +9 -0
  276. package/dist/core/telemetry/version.d.ts.map +1 -0
  277. package/dist/core/templates/agor-system-prompt.md +1 -0
  278. package/dist/core/tools/mcp/oauth-refresh.cjs +532 -102
  279. package/dist/core/tools/mcp/oauth-refresh.js +530 -103
  280. package/dist/core/types/board.d.ts +2 -0
  281. package/dist/core/types/board.d.ts.map +1 -1
  282. package/dist/core/types/branch.d.ts +13 -0
  283. package/dist/core/types/branch.d.ts.map +1 -1
  284. package/dist/core/types/config-services.d.ts.map +1 -1
  285. package/dist/core/types/feathers.d.ts +6 -0
  286. package/dist/core/types/feathers.d.ts.map +1 -1
  287. package/dist/core/types/gateway.d.ts +76 -1
  288. package/dist/core/types/gateway.d.ts.map +1 -1
  289. package/dist/core/types/index.cjs +25 -0
  290. package/dist/core/types/index.d.ts +1 -0
  291. package/dist/core/types/index.d.ts.map +1 -1
  292. package/dist/core/types/index.js +22 -0
  293. package/dist/core/types/schedule.d.ts +4 -3
  294. package/dist/core/types/schedule.d.ts.map +1 -1
  295. package/dist/core/types/session.d.ts +7 -1
  296. package/dist/core/types/session.d.ts.map +1 -1
  297. package/dist/core/types/tenant.d.ts +15 -0
  298. package/dist/core/types/tenant.d.ts.map +1 -0
  299. package/dist/core/types/user.d.ts +61 -0
  300. package/dist/core/types/user.d.ts.map +1 -1
  301. package/dist/core/unix/index.cjs +1056 -674
  302. package/dist/core/unix/index.js +1003 -623
  303. package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
  304. package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
  305. package/dist/core/yaml/index.cjs +8 -8
  306. package/dist/core/yaml/index.d.ts +1 -1
  307. package/dist/core/yaml/index.d.ts.map +1 -1
  308. package/dist/core/yaml/index.js +7 -7
  309. package/dist/daemon/adapters/drizzle.d.ts +26 -4
  310. package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
  311. package/dist/daemon/adapters/drizzle.js +68 -7
  312. package/dist/daemon/auth/api-key-strategy.js +1 -1
  313. package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
  314. package/dist/daemon/auth/executor-runtime-scope.js +19 -5
  315. package/dist/daemon/auth/launch-auth.d.ts +5 -4
  316. package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
  317. package/dist/daemon/auth/launch-auth.js +123 -39
  318. package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
  319. package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
  320. package/dist/daemon/auth/refresh-token-service.js +133 -0
  321. package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
  322. package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
  323. package/dist/daemon/auth/runtime-tokens.js +17 -4
  324. package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
  325. package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
  326. package/dist/daemon/auth/service-jwt-strategy.js +127 -1
  327. package/dist/daemon/auth/token-invalidation.d.ts +11 -0
  328. package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
  329. package/dist/daemon/auth/token-invalidation.js +38 -0
  330. package/dist/daemon/auth/user-redaction.d.ts +12 -0
  331. package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
  332. package/dist/daemon/auth/user-redaction.js +13 -0
  333. package/dist/daemon/declarations.d.ts +4 -4
  334. package/dist/daemon/declarations.d.ts.map +1 -1
  335. package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
  336. package/dist/daemon/hooks/gateway-route.js +23 -13
  337. package/dist/daemon/index.d.ts.map +1 -1
  338. package/dist/daemon/index.js +7234 -2866
  339. package/dist/daemon/knowledge/pgvector.d.ts +3 -3
  340. package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
  341. package/dist/daemon/knowledge/pgvector.js +24 -0
  342. package/dist/daemon/knowledge/units.d.ts +2 -2
  343. package/dist/daemon/knowledge/units.d.ts.map +1 -1
  344. package/dist/daemon/main.js +7234 -2866
  345. package/dist/daemon/mcp/server.d.ts +3 -3
  346. package/dist/daemon/mcp/server.d.ts.map +1 -1
  347. package/dist/daemon/mcp/server.js +1467 -71
  348. package/dist/daemon/mcp/tokens.d.ts +2 -2
  349. package/dist/daemon/mcp/tokens.d.ts.map +1 -1
  350. package/dist/daemon/mcp/tokens.js +5 -1
  351. package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
  352. package/dist/daemon/mcp/tool-registry.js +1 -0
  353. package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
  354. package/dist/daemon/mcp/tools/analytics.js +548 -23
  355. package/dist/daemon/mcp/tools/artifacts.js +510 -19
  356. package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
  357. package/dist/daemon/mcp/tools/boards.js +517 -20
  358. package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
  359. package/dist/daemon/mcp/tools/branches.js +574 -49
  360. package/dist/daemon/mcp/tools/card-types.js +508 -17
  361. package/dist/daemon/mcp/tools/cards.js +508 -17
  362. package/dist/daemon/mcp/tools/environment.js +516 -17
  363. package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
  364. package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
  365. package/dist/daemon/mcp/tools/gateway-channels.js +16035 -0
  366. package/dist/daemon/mcp/tools/knowledge.js +508 -17
  367. package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
  368. package/dist/daemon/mcp/tools/mcp-servers.js +843 -17
  369. package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
  370. package/dist/daemon/mcp/tools/messages.js +568 -31
  371. package/dist/daemon/mcp/tools/proxies.js +518 -19
  372. package/dist/daemon/mcp/tools/repos.js +508 -17
  373. package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
  374. package/dist/daemon/mcp/tools/schedules.js +511 -18
  375. package/dist/daemon/mcp/tools/search.js +508 -17
  376. package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
  377. package/dist/daemon/mcp/tools/sessions.js +521 -23
  378. package/dist/daemon/mcp/tools/tasks.js +508 -17
  379. package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
  380. package/dist/daemon/mcp/tools/users.js +527 -22
  381. package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
  382. package/dist/daemon/mcp/tools/widgets.js +536 -18
  383. package/dist/daemon/register-hooks.d.ts +3 -2
  384. package/dist/daemon/register-hooks.d.ts.map +1 -1
  385. package/dist/daemon/register-hooks.js +894 -582
  386. package/dist/daemon/register-routes.d.ts +3 -2
  387. package/dist/daemon/register-routes.d.ts.map +1 -1
  388. package/dist/daemon/register-routes.js +2715 -816
  389. package/dist/daemon/register-services.d.ts +2 -2
  390. package/dist/daemon/register-services.d.ts.map +1 -1
  391. package/dist/daemon/register-services.js +2445 -633
  392. package/dist/daemon/services/artifacts.d.ts +34 -6
  393. package/dist/daemon/services/artifacts.d.ts.map +1 -1
  394. package/dist/daemon/services/artifacts.js +109 -8
  395. package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
  396. package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
  397. package/dist/daemon/services/board-comments.d.ts +8 -5
  398. package/dist/daemon/services/board-comments.d.ts.map +1 -1
  399. package/dist/daemon/services/board-comments.js +78 -13
  400. package/dist/daemon/services/board-objects.d.ts +8 -5
  401. package/dist/daemon/services/board-objects.d.ts.map +1 -1
  402. package/dist/daemon/services/board-objects.js +14 -4
  403. package/dist/daemon/services/boards.d.ts +34 -5
  404. package/dist/daemon/services/boards.d.ts.map +1 -1
  405. package/dist/daemon/services/boards.js +116 -8
  406. package/dist/daemon/services/branch-owners.d.ts +3 -1
  407. package/dist/daemon/services/branch-owners.d.ts.map +1 -1
  408. package/dist/daemon/services/branch-owners.js +31 -4
  409. package/dist/daemon/services/branches.d.ts +31 -8
  410. package/dist/daemon/services/branches.d.ts.map +1 -1
  411. package/dist/daemon/services/branches.js +242 -35
  412. package/dist/daemon/services/card-types.d.ts +3 -3
  413. package/dist/daemon/services/card-types.d.ts.map +1 -1
  414. package/dist/daemon/services/card-types.js +68 -7
  415. package/dist/daemon/services/cards.d.ts +19 -4
  416. package/dist/daemon/services/cards.d.ts.map +1 -1
  417. package/dist/daemon/services/cards.js +92 -8
  418. package/dist/daemon/services/check-auth.d.ts +2 -2
  419. package/dist/daemon/services/check-auth.d.ts.map +1 -1
  420. package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
  421. package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
  422. package/dist/daemon/services/claude-cli-integration.js +117 -65
  423. package/dist/daemon/services/claude-models.d.ts +3 -3
  424. package/dist/daemon/services/claude-models.d.ts.map +1 -1
  425. package/dist/daemon/services/claude-models.js +383 -272
  426. package/dist/daemon/services/config.d.ts +12 -4
  427. package/dist/daemon/services/config.d.ts.map +1 -1
  428. package/dist/daemon/services/config.js +39 -3
  429. package/dist/daemon/services/copilot-models.d.ts +3 -3
  430. package/dist/daemon/services/copilot-models.d.ts.map +1 -1
  431. package/dist/daemon/services/cursor-models.d.ts +3 -3
  432. package/dist/daemon/services/cursor-models.d.ts.map +1 -1
  433. package/dist/daemon/services/files.d.ts +3 -3
  434. package/dist/daemon/services/files.d.ts.map +1 -1
  435. package/dist/daemon/services/files.js +24 -5
  436. package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
  437. package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
  438. package/dist/daemon/services/gateway-channels-test.js +66 -0
  439. package/dist/daemon/services/gateway-channels.d.ts +3 -3
  440. package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
  441. package/dist/daemon/services/gateway-channels.js +68 -7
  442. package/dist/daemon/services/gateway.d.ts +48 -3
  443. package/dist/daemon/services/gateway.d.ts.map +1 -1
  444. package/dist/daemon/services/gateway.js +606 -60
  445. package/dist/daemon/services/github-app-setup.d.ts +3 -3
  446. package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
  447. package/dist/daemon/services/groups.d.ts +5 -5
  448. package/dist/daemon/services/groups.d.ts.map +1 -1
  449. package/dist/daemon/services/health-monitor.d.ts +34 -2
  450. package/dist/daemon/services/health-monitor.d.ts.map +1 -1
  451. package/dist/daemon/services/health-monitor.js +145 -23
  452. package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
  453. package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
  454. package/dist/daemon/services/knowledge-documents.d.ts +3 -3
  455. package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
  456. package/dist/daemon/services/knowledge-documents.js +92 -7
  457. package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
  458. package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
  459. package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
  460. package/dist/daemon/services/knowledge-graph.d.ts +3 -3
  461. package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
  462. package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
  463. package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
  464. package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
  465. package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
  466. package/dist/daemon/services/knowledge-namespaces.js +72 -8
  467. package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
  468. package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
  469. package/dist/daemon/services/knowledge-reindex.js +28 -1
  470. package/dist/daemon/services/knowledge-search.d.ts +3 -3
  471. package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
  472. package/dist/daemon/services/knowledge-settings.d.ts +3 -3
  473. package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
  474. package/dist/daemon/services/knowledge-settings.js +24 -0
  475. package/dist/daemon/services/knowledge-versions.d.ts +3 -3
  476. package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
  477. package/dist/daemon/services/knowledge-versions.js +68 -7
  478. package/dist/daemon/services/leaderboard.d.ts +14 -6
  479. package/dist/daemon/services/leaderboard.d.ts.map +1 -1
  480. package/dist/daemon/services/leaderboard.js +74 -15
  481. package/dist/daemon/services/local-actions.d.ts +13 -0
  482. package/dist/daemon/services/local-actions.d.ts.map +1 -0
  483. package/dist/daemon/services/local-actions.js +120 -0
  484. package/dist/daemon/services/mcp-servers.d.ts +3 -3
  485. package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
  486. package/dist/daemon/services/mcp-servers.js +68 -7
  487. package/dist/daemon/services/messages.d.ts +10 -6
  488. package/dist/daemon/services/messages.d.ts.map +1 -1
  489. package/dist/daemon/services/messages.js +87 -7
  490. package/dist/daemon/services/repos.d.ts +6 -6
  491. package/dist/daemon/services/repos.d.ts.map +1 -1
  492. package/dist/daemon/services/repos.js +131 -32
  493. package/dist/daemon/services/scheduler.d.ts +23 -27
  494. package/dist/daemon/services/scheduler.d.ts.map +1 -1
  495. package/dist/daemon/services/scheduler.js +55 -28
  496. package/dist/daemon/services/schedules.d.ts +3 -3
  497. package/dist/daemon/services/schedules.d.ts.map +1 -1
  498. package/dist/daemon/services/schedules.js +68 -7
  499. package/dist/daemon/services/session-env-selections.d.ts +3 -3
  500. package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
  501. package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
  502. package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
  503. package/dist/daemon/services/session-token-service.d.ts.map +1 -1
  504. package/dist/daemon/services/session-token-service.js +3 -0
  505. package/dist/daemon/services/sessions.d.ts +9 -5
  506. package/dist/daemon/services/sessions.d.ts.map +1 -1
  507. package/dist/daemon/services/sessions.js +143 -10
  508. package/dist/daemon/services/tasks.d.ts +11 -5
  509. package/dist/daemon/services/tasks.d.ts.map +1 -1
  510. package/dist/daemon/services/tasks.js +199 -39
  511. package/dist/daemon/services/terminals.d.ts +21 -3
  512. package/dist/daemon/services/terminals.d.ts.map +1 -1
  513. package/dist/daemon/services/terminals.js +81 -25
  514. package/dist/daemon/services/thread-session-map.d.ts +3 -3
  515. package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
  516. package/dist/daemon/services/thread-session-map.js +68 -7
  517. package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
  518. package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
  519. package/dist/daemon/services/user-avatar-sync.js +267 -0
  520. package/dist/daemon/services/users.d.ts +29 -9
  521. package/dist/daemon/services/users.d.ts.map +1 -1
  522. package/dist/daemon/services/users.js +383 -30
  523. package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
  524. package/dist/daemon/services/zone-trigger.js +17 -4
  525. package/dist/daemon/setup/build-info.d.ts +1 -1
  526. package/dist/daemon/setup/build-info.d.ts.map +1 -1
  527. package/dist/daemon/setup/build-info.js +5 -1
  528. package/dist/daemon/setup/database.d.ts +8 -3
  529. package/dist/daemon/setup/database.d.ts.map +1 -1
  530. package/dist/daemon/setup/database.js +26 -6
  531. package/dist/daemon/setup/first-run-admin.d.ts +2 -2
  532. package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
  533. package/dist/daemon/setup/index.js +97 -17
  534. package/dist/daemon/setup/socketio.d.ts +10 -1
  535. package/dist/daemon/setup/socketio.d.ts.map +1 -1
  536. package/dist/daemon/setup/socketio.js +68 -10
  537. package/dist/daemon/startup.d.ts +13 -2
  538. package/dist/daemon/startup.d.ts.map +1 -1
  539. package/dist/daemon/startup.js +348 -86
  540. package/dist/daemon/utils/append-system-message.d.ts +2 -2
  541. package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
  542. package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
  543. package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
  544. package/dist/daemon/utils/authorization.d.ts +3 -1
  545. package/dist/daemon/utils/authorization.d.ts.map +1 -1
  546. package/dist/daemon/utils/authorization.js +21 -6
  547. package/dist/daemon/utils/branch-authorization.d.ts +30 -0
  548. package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
  549. package/dist/daemon/utils/branch-authorization.js +63 -5
  550. package/dist/daemon/utils/branch-inspect.d.ts +1 -0
  551. package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
  552. package/dist/daemon/utils/branch-inspect.js +11 -3
  553. package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
  554. package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
  555. package/dist/daemon/utils/git-impersonation.d.ts +10 -10
  556. package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
  557. package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
  558. package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
  559. package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
  560. package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
  561. package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
  562. package/dist/daemon/utils/mcp-token-authorization.js +11 -5
  563. package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
  564. package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
  565. package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
  566. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
  567. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
  568. package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
  569. package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
  570. package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
  571. package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
  572. package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
  573. package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
  574. package/dist/daemon/utils/realign-repo-origin.js +47 -16
  575. package/dist/daemon/utils/realtime-publish.d.ts +2 -0
  576. package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
  577. package/dist/daemon/utils/realtime-publish.js +51 -10
  578. package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
  579. package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
  580. package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
  581. package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
  582. package/dist/daemon/utils/session-turn-lock.js +25 -2
  583. package/dist/daemon/utils/spawn-executor.d.ts +23 -1
  584. package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
  585. package/dist/daemon/utils/spawn-executor.js +34 -4
  586. package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
  587. package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
  588. package/dist/daemon/utils/tenant-db-scope.js +114 -0
  589. package/dist/daemon/utils/unix-group-init.d.ts +3 -3
  590. package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
  591. package/dist/daemon/utils/upload.d.ts +6 -9
  592. package/dist/daemon/utils/upload.d.ts.map +1 -1
  593. package/dist/daemon/utils/upload.js +30 -37
  594. package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
  595. package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
  596. package/dist/daemon/widgets/env-vars/index.js +145 -21
  597. package/dist/daemon/widgets/index.js +137 -21
  598. package/dist/executor/commands/environment.d.ts.map +1 -1
  599. package/dist/executor/commands/environment.js +9 -5
  600. package/dist/executor/commands/git.js +1 -1
  601. package/dist/executor/git/index.d.ts +8 -0
  602. package/dist/executor/git/index.d.ts.map +1 -0
  603. package/dist/executor/git/index.js +7 -0
  604. package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
  605. package/dist/executor/handlers/sdk/base-executor.js +4 -1
  606. package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
  607. package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
  608. package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
  609. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +6 -10
  610. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  611. package/dist/executor/sdk-handlers/codex/codex-tool.js +12 -15
  612. package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
  613. package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
  614. package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
  615. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
  616. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
  617. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
  618. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  619. package/dist/executor/sdk-handlers/codex/prompt-service.js +61 -6
  620. package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
  621. package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
  622. package/dist/executor/sdk-handlers/codex/usage.js +18 -33
  623. package/dist/executor/services/feathers-client.js +5 -5
  624. package/dist/git/index.cjs +1101 -0
  625. package/dist/git/index.d.ts +533 -0
  626. package/dist/git/index.d.ts.map +1 -0
  627. package/dist/git/index.js +1022 -0
  628. package/dist/git/package.json +21 -0
  629. package/dist/git/pure.cjs +185 -0
  630. package/dist/git/pure.d.ts +39 -0
  631. package/dist/git/pure.d.ts.map +1 -0
  632. package/dist/git/pure.js +139 -0
  633. package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +1 -0
  634. package/dist/ui/assets/App-hJtcOxHv.js +5 -0
  635. package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
  636. package/dist/ui/assets/AppNode-BhuMpn8O.js +1 -0
  637. package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
  638. package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js +1 -0
  639. package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
  640. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +9 -0
  641. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
  642. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +9 -0
  643. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
  644. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +19 -0
  645. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
  646. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +34 -0
  647. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
  648. package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js +7 -0
  649. package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
  650. package/dist/ui/assets/ConversationView-9-3ma1u-.js +1 -0
  651. package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
  652. package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js +2 -0
  653. package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
  654. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +24 -0
  655. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
  656. package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-CmDPBHOl.js} +2 -2
  657. package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
  658. package/dist/ui/assets/MobileApp-BpgSG_gz.js +1 -0
  659. package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
  660. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +13 -0
  661. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
  662. package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
  663. package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
  664. package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-okKKR2QH.js} +2 -2
  665. package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
  666. package/dist/ui/assets/TerminalModal-D9jMGZXv.js +2 -0
  667. package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
  668. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +1 -0
  669. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
  670. package/dist/ui/assets/ThemedSyntaxHighlighter.inner-C1FdIHn0.js +1 -0
  671. package/dist/ui/assets/{antd-CfbbHJOz.js → antd-DT5ackd0.js} +5 -5
  672. package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-DT5ackd0.js.gz} +0 -0
  673. package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +1 -0
  674. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js +36 -0
  675. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
  676. package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-Dh1_TVW2.js} +4 -4
  677. package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
  678. package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-B1e96AcB.js} +2 -2
  679. package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
  680. package/dist/ui/assets/channel-Jv4dT4S5.js +1 -0
  681. package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-BODpCjJx.js} +1 -1
  682. package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +1 -0
  683. package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-DCTXWSzV.js} +3 -3
  684. package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
  685. package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-CbNphBjE.js} +1 -1
  686. package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
  687. package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-rWg3qxof.js} +1 -1
  688. package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
  689. package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-CgtLCbpE.js} +3 -3
  690. package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
  691. package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-DTL6Zgr0.js} +1 -1
  692. package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-Dwvx2Kva.js} +1 -1
  693. package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
  694. package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +1 -0
  695. package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-BogA_9CV.js} +1 -1
  696. package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-2blQO3Gb.js} +1 -1
  697. package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
  698. package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js +11 -0
  699. package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
  700. package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-BsgZ79Fa.js} +5 -5
  701. package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
  702. package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-dwYeUy5S.js} +1 -1
  703. package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
  704. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +2 -0
  705. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
  706. package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-DxdIDCAa.js} +1 -1
  707. package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-BCK2V0i-.js} +2 -2
  708. package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
  709. package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +1 -0
  710. package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js +2 -0
  711. package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
  712. package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-dX5RaM6g.js} +1 -1
  713. package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
  714. package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +1 -0
  715. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +1 -0
  716. package/dist/ui/assets/constants-GjIDNVyt.js +1 -0
  717. package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-Dx0BJVDl.js} +1 -1
  718. package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
  719. package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-DiQSUxqN.js} +1 -1
  720. package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
  721. package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-Bekd9Vdj.js} +1 -1
  722. package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
  723. package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js +24 -0
  724. package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
  725. package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-CobkCRdj.js} +1 -1
  726. package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
  727. package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-DHEZYivc.js} +1 -1
  728. package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
  729. package/dist/ui/assets/editor-DQIG-JYZ.js +43 -0
  730. package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
  731. package/dist/ui/assets/emoji-B0hLmSLZ.js +3 -0
  732. package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
  733. package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-BVNeTZPQ.js} +2 -2
  734. package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
  735. package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js +162 -0
  736. package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
  737. package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js +267 -0
  738. package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
  739. package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DMFIqn4h.js} +1 -1
  740. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js +65 -0
  741. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
  742. package/dist/ui/assets/index-DTz1Dif6.js +64 -0
  743. package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
  744. package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
  745. package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
  746. package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-DZ3K-w48.js} +1 -1
  747. package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-CxnBJQu6.js} +1 -1
  748. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHYNj-f8.js} +3 -3
  749. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
  750. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-DQPCCsj2.js} +1 -1
  751. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
  752. package/dist/ui/assets/{line-DDv8kOJk.js → line-DBRjKmfa.js} +1 -1
  753. package/dist/ui/assets/{linear-Daef-l29.js → linear-DFao5Wyp.js} +1 -1
  754. package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
  755. package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-DYCfacHj.js} +2 -2
  756. package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
  757. package/dist/ui/assets/mermaid.core-C6xGFSdE.js +11 -0
  758. package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
  759. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-L3Pw-YM7.js} +1 -1
  760. package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
  761. package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-CpL6iNoa.js} +1 -1
  762. package/dist/ui/assets/{particles-DsJFOarW.js → particles-CT8hcJOA.js} +1 -1
  763. package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
  764. package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-hTqChbTo.js} +1 -1
  765. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-Bf4Nou75.js} +1 -1
  766. package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
  767. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DpjUTLB1.js} +3 -3
  768. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
  769. package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-myy7OENC.js} +1 -1
  770. package/dist/ui/assets/reactflow-Cubtnk8i.js +2 -0
  771. package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
  772. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bfrfh-0-.js} +1 -1
  773. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
  774. package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-C58bwfIS.js} +38 -38
  775. package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
  776. package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +1 -0
  777. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js +10 -0
  778. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
  779. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CNgly63p.js} +6 -6
  780. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
  781. package/dist/ui/assets/src-DAeyG22O.js +34 -0
  782. package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
  783. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js +1 -0
  784. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
  785. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +1 -0
  786. package/dist/ui/assets/streamdown-BdAVfkeF.js +521 -0
  787. package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
  788. package/dist/ui/assets/syntax-BOfTnQiy.js +9 -0
  789. package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
  790. package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-CaRH3k4l.js} +16 -16
  791. package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
  792. package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CUaLOV_B.js} +1 -1
  793. package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-C8sgXgXR.js} +1 -1
  794. package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
  795. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-BlhkI9T_.js} +1 -1
  796. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
  797. package/dist/ui/index.html +10 -11
  798. package/dist/ui/index.html.gz +0 -0
  799. package/package.json +6 -5
  800. package/scripts/postinstall.js +27 -19
  801. package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
  802. package/dist/ui/assets/App-DcEY8Ota.js +0 -3
  803. package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
  804. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
  805. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
  806. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
  807. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
  808. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
  809. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
  810. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
  811. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
  812. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
  813. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
  814. package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
  815. package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
  816. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
  817. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
  818. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
  819. package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
  820. package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
  821. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
  822. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
  823. package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
  824. package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
  825. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
  826. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
  827. package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
  828. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
  829. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
  830. package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
  831. package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
  832. package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
  833. package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
  834. package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
  835. package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
  836. package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
  837. package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
  838. package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
  839. package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
  840. package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
  841. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
  842. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
  843. package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
  844. package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
  845. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
  846. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
  847. package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
  848. package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
  849. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
  850. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
  851. package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
  852. package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
  853. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
  854. package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
  855. package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
  856. package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
  857. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
  858. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
  859. package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
  860. package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
  861. package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
  862. package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
  863. package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
  864. package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
  865. package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
  866. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
  867. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
  868. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
  869. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
  870. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
  871. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
  872. package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
  873. package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
  874. package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
  875. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
  876. package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
  877. package/dist/ui/assets/katex-CamJ39w1.js +0 -257
  878. package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
  879. package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
  880. package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
  881. package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
  882. package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
  883. package/dist/ui/assets/message-SqLqNYcv.js +0 -36
  884. package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
  885. package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
  886. package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
  887. package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
  888. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
  889. package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
  890. package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
  891. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
  892. package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
  893. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
  894. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
  895. package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
  896. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
  897. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
  898. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
  899. package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
  900. package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
  901. package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
  902. package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
  903. package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
  904. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
  905. /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
@@ -9,6 +9,7 @@ import {
9
9
  validateEnvVar
10
10
  } from "@agor/core/config";
11
11
  import {
12
+ and,
12
13
  compare,
13
14
  decryptApiKey,
14
15
  deleteFrom,
@@ -20,15 +21,282 @@ import {
20
21
  update,
21
22
  users
22
23
  } from "@agor/core/db";
23
- import { Forbidden, NotAuthenticated } from "@agor/core/feathers";
24
- import { isLikelyGitToken } from "@agor/core/git";
24
+ import { Forbidden as Forbidden2, NotAuthenticated } from "@agor/core/feathers";
25
+ import { isLikelyGitToken } from "@agor/core/git/pure";
25
26
  import {
26
27
  extractAgenticToolsPublicValues,
27
- hasMinimumRole,
28
+ hasMinimumRole as hasMinimumRole2,
28
29
  normalizeRole,
29
- ROLES,
30
+ ROLES as ROLES2,
30
31
  toAgenticToolsStatus
31
32
  } from "@agor/core/types";
33
+
34
+ // src/services/user-avatar-sync.ts
35
+ import {
36
+ AppVariableRepository,
37
+ GatewayChannelRepository,
38
+ UsersRepository
39
+ } from "@agor/core/db";
40
+ import { Forbidden } from "@agor/core/feathers";
41
+ import { SlackConnector } from "@agor/core/gateway";
42
+ import { hasMinimumRole, ROLES } from "@agor/core/types";
43
+ var NAMESPACE = "user_avatars";
44
+ var SETTINGS_KEY = "settings";
45
+ var DEFAULT_SETTINGS = {
46
+ enabled: false,
47
+ provider: null,
48
+ gateway_channel_id: null
49
+ };
50
+ function isAdmin(params) {
51
+ return hasMinimumRole(params?.user?.role, ROLES.ADMIN);
52
+ }
53
+ function requireAdmin(params) {
54
+ if (params?.provider && !isAdmin(params)) {
55
+ throw new Forbidden("Only admins can manage user avatars");
56
+ }
57
+ }
58
+ function parseSettings(raw) {
59
+ if (!raw) return DEFAULT_SETTINGS;
60
+ try {
61
+ return { ...DEFAULT_SETTINGS, ...JSON.parse(raw) };
62
+ } catch {
63
+ return DEFAULT_SETTINGS;
64
+ }
65
+ }
66
+ function isUsableAvatarUrl(url) {
67
+ if (!url) return false;
68
+ try {
69
+ const parsed = new URL(url);
70
+ return parsed.protocol === "https:";
71
+ } catch {
72
+ return false;
73
+ }
74
+ }
75
+ var UserAvatarSyncManager = class {
76
+ constructor(db, app) {
77
+ this.app = app;
78
+ this.variables = new AppVariableRepository(db);
79
+ this.gatewayChannels = new GatewayChannelRepository(db);
80
+ this.users = new UsersRepository(db);
81
+ }
82
+ variables;
83
+ gatewayChannels;
84
+ users;
85
+ async getSettings(params) {
86
+ requireAdmin(params);
87
+ const raw = await this.variables.getPlain(NAMESPACE, SETTINGS_KEY);
88
+ return parseSettings(raw);
89
+ }
90
+ async updateSettings(data, params) {
91
+ requireAdmin(params);
92
+ const current = await this.getSettings();
93
+ const next = {
94
+ ...current,
95
+ ...data,
96
+ provider: data.enabled === false ? null : data.provider ?? current.provider ?? "slack",
97
+ gateway_channel_id: data.enabled === false ? null : data.gateway_channel_id ?? current.gateway_channel_id
98
+ };
99
+ if (next.enabled && !next.gateway_channel_id) {
100
+ throw new Error("Select a Slack gateway channel before enabling Slack avatars");
101
+ }
102
+ await this.saveSettings(
103
+ next,
104
+ params?.user?.user_id
105
+ );
106
+ if (data.enabled === false) {
107
+ await this.clearSlackAvatars();
108
+ }
109
+ return next;
110
+ }
111
+ async syncAvatars(data = {}, params) {
112
+ requireAdmin(params);
113
+ const settings = await this.getSettings();
114
+ const gatewayChannelId = data.gateway_channel_id ?? settings.gateway_channel_id;
115
+ const result = data.user_id ? await this.refreshSingleUser(data.user_id, gatewayChannelId, {
116
+ mode: "single"
117
+ }) : await this.refreshAllUsers(gatewayChannelId);
118
+ const nextSettings = {
119
+ ...settings,
120
+ enabled: true,
121
+ provider: "slack",
122
+ gateway_channel_id: gatewayChannelId ?? settings.gateway_channel_id,
123
+ last_sync_at: result.finished_at,
124
+ last_sync_result: result
125
+ };
126
+ await this.saveSettings(
127
+ nextSettings,
128
+ params?.user?.user_id
129
+ );
130
+ return result;
131
+ }
132
+ async refreshUserFromSettings(userId) {
133
+ const settings = await this.getSettings();
134
+ if (!settings.enabled || settings.provider !== "slack" || !settings.gateway_channel_id) {
135
+ return null;
136
+ }
137
+ return this.refreshSingleUser(userId, settings.gateway_channel_id, {
138
+ mode: "single"
139
+ });
140
+ }
141
+ async saveSettings(settings, updatedBy) {
142
+ await this.variables.set({
143
+ namespace: NAMESPACE,
144
+ key: SETTINGS_KEY,
145
+ value: JSON.stringify(settings),
146
+ content_type: "application/json",
147
+ updated_by: updatedBy ?? null
148
+ });
149
+ }
150
+ async clearSlackAvatars() {
151
+ const allUsers = await this.users.findAll();
152
+ const slackUsers = allUsers.filter((user) => user.avatar_source === "slack");
153
+ await Promise.all(
154
+ slackUsers.map(
155
+ (user) => this.app.service("users").patch(
156
+ user.user_id,
157
+ {
158
+ avatar_url: null,
159
+ avatar: null,
160
+ avatar_source: null,
161
+ avatar_source_id: null,
162
+ avatar_synced_at: null
163
+ },
164
+ {
165
+ skipAvatarRefresh: true,
166
+ user: {
167
+ user_id: "user-avatars-service",
168
+ email: "user-avatars@agor.internal",
169
+ role: ROLES.ADMIN,
170
+ _isServiceAccount: true
171
+ }
172
+ }
173
+ )
174
+ )
175
+ );
176
+ }
177
+ async getSlackGateway(gatewayChannelId) {
178
+ if (!gatewayChannelId) throw new Error("Select a Slack gateway channel first");
179
+ const channel = await this.gatewayChannels.findById(gatewayChannelId);
180
+ if (!channel) throw new Error(`Gateway channel not found: ${gatewayChannelId}`);
181
+ if (channel.channel_type !== "slack") throw new Error("Selected gateway channel is not Slack");
182
+ if (!channel.config?.bot_token || typeof channel.config.bot_token !== "string") {
183
+ throw new Error("Selected Slack gateway is missing a bot token");
184
+ }
185
+ return channel;
186
+ }
187
+ async refreshAllUsers(gatewayChannelId) {
188
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
189
+ const channel = await this.getSlackGateway(gatewayChannelId);
190
+ const connector = new SlackConnector(channel.config);
191
+ const allUsers = await this.users.findAll();
192
+ let matched = 0;
193
+ let updated = 0;
194
+ let skipped = 0;
195
+ let failed = 0;
196
+ const failures = [];
197
+ for (const user of allUsers) {
198
+ try {
199
+ const one = await this.refreshUserWithConnector(user, connector);
200
+ matched += one.matched;
201
+ updated += one.updated;
202
+ skipped += one.skipped;
203
+ failed += one.failed;
204
+ failures.push(...one.failures);
205
+ } catch (error) {
206
+ failed += 1;
207
+ failures.push({
208
+ user_id: user.user_id,
209
+ email: user.email,
210
+ reason: error instanceof Error ? error.message : String(error)
211
+ });
212
+ }
213
+ }
214
+ return {
215
+ ok: failed === 0,
216
+ mode: "bulk",
217
+ gateway_channel_id: channel.id,
218
+ started_at: startedAt,
219
+ finished_at: (/* @__PURE__ */ new Date()).toISOString(),
220
+ matched,
221
+ updated,
222
+ skipped,
223
+ failed,
224
+ failures
225
+ };
226
+ }
227
+ async refreshSingleUser(userId, gatewayChannelId, options) {
228
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
229
+ const channel = await this.getSlackGateway(gatewayChannelId);
230
+ const connector = new SlackConnector(channel.config);
231
+ const user = await this.users.findById(userId);
232
+ if (!user) throw new Error(`User not found: ${userId}`);
233
+ const one = await this.refreshUserWithConnector(user, connector);
234
+ return {
235
+ ok: one.failed === 0,
236
+ mode: options.mode,
237
+ gateway_channel_id: channel.id,
238
+ started_at: startedAt,
239
+ finished_at: (/* @__PURE__ */ new Date()).toISOString(),
240
+ ...one
241
+ };
242
+ }
243
+ async refreshUserWithConnector(user, connector) {
244
+ if (!user.email) {
245
+ return { matched: 0, updated: 0, skipped: 1, failed: 0, failures: [] };
246
+ }
247
+ if (user.preferences?.use_slack_avatar === false) {
248
+ return { matched: 0, updated: 0, skipped: 1, failed: 0, failures: [] };
249
+ }
250
+ try {
251
+ const profile = await connector.lookupUserAvatarByEmail(user.email);
252
+ if (!profile) {
253
+ return { matched: 0, updated: 0, skipped: 1, failed: 0, failures: [] };
254
+ }
255
+ if (!isUsableAvatarUrl(profile.avatarUrl)) {
256
+ return { matched: 1, updated: 0, skipped: 1, failed: 0, failures: [] };
257
+ }
258
+ await this.app.service("users").patch(
259
+ user.user_id,
260
+ {
261
+ avatar_url: profile.avatarUrl,
262
+ avatar_source: "slack",
263
+ avatar_source_id: profile.slackUserId,
264
+ avatar_synced_at: (/* @__PURE__ */ new Date()).toISOString()
265
+ },
266
+ {
267
+ skipAvatarRefresh: true,
268
+ // users.patch has field-level/profile ownership hooks even for
269
+ // internal calls. Avatar sync is an admin-only service action, so
270
+ // carry an internal service user through the hook chain rather than
271
+ // bypassing the users service and losing Feathers events.
272
+ user: {
273
+ user_id: "user-avatars-service",
274
+ email: "user-avatars@agor.internal",
275
+ role: ROLES.ADMIN,
276
+ _isServiceAccount: true
277
+ }
278
+ }
279
+ );
280
+ return { matched: 1, updated: 1, skipped: 0, failed: 0, failures: [] };
281
+ } catch (error) {
282
+ return {
283
+ matched: 0,
284
+ updated: 0,
285
+ skipped: 0,
286
+ failed: 1,
287
+ failures: [
288
+ {
289
+ user_id: user.user_id,
290
+ email: user.email,
291
+ reason: error instanceof Error ? error.message : String(error)
292
+ }
293
+ ]
294
+ };
295
+ }
296
+ }
297
+ };
298
+
299
+ // src/services/users.ts
32
300
  function optionalNonNegativeInteger(value) {
33
301
  if (value === void 0 || value === null || value === "") return void 0;
34
302
  const numeric = typeof value === "number" ? value : Number(value);
@@ -40,18 +308,44 @@ function queryString(value) {
40
308
  const trimmed = value.trim();
41
309
  return trimmed.length > 0 ? trimmed : void 0;
42
310
  }
311
+ function usersTableHasTenantColumn() {
312
+ return "tenant_id" in users;
313
+ }
314
+ function tenantPredicate(params) {
315
+ const tenantId = params?.tenant?.tenant_id;
316
+ if (!tenantId || !usersTableHasTenantColumn()) return void 0;
317
+ return eq(users.tenant_id, tenantId);
318
+ }
319
+ function withTenantPredicate(params, predicate) {
320
+ const tenant = tenantPredicate(params);
321
+ return tenant ? and(predicate, tenant) : predicate;
322
+ }
323
+ function tenantInsertValues(params) {
324
+ const tenantId = params?.tenant?.tenant_id;
325
+ return tenantId && usersTableHasTenantColumn() ? { tenant_id: tenantId } : {};
326
+ }
43
327
  var LOCAL_AUTH_LOOKUP_PARAM = Symbol("agor.users.local-auth-lookup");
328
+ var AUTH_INTERNAL_USER_LOOKUP_PARAM = Symbol("agor.users.auth-internal-lookup");
44
329
  function markLocalAuthenticationLookup(params) {
45
330
  params[LOCAL_AUTH_LOOKUP_PARAM] = true;
46
331
  }
332
+ function markAuthenticationUserLookup(params) {
333
+ params[AUTH_INTERNAL_USER_LOOKUP_PARAM] = true;
334
+ }
47
335
  function isLocalAuthenticationLookup(params) {
48
336
  return params?.[LOCAL_AUTH_LOOKUP_PARAM] === true;
49
337
  }
338
+ function isAuthenticationUserLookup(params) {
339
+ return params?.[AUTH_INTERNAL_USER_LOOKUP_PARAM] === true;
340
+ }
341
+ function shouldIncludeAuthMetadata(params, includePassword = false) {
342
+ return includePassword || !params?.provider || isAuthenticationUserLookup(params);
343
+ }
50
344
  function isServiceAccount(params) {
51
345
  return !!params?.user?._isServiceAccount;
52
346
  }
53
- function isAdmin(params) {
54
- return hasMinimumRole(params?.user?.role, ROLES.ADMIN);
347
+ function isAdmin2(params) {
348
+ return hasMinimumRole2(params?.user?.role, ROLES2.ADMIN);
55
349
  }
56
350
  function isSelfEmailLookup(params, email) {
57
351
  const requesterEmail = params?.user?.email;
@@ -62,10 +356,10 @@ function ensureCanExactEmailLookup(params, email) {
62
356
  if (!params?.user) {
63
357
  throw new NotAuthenticated("Authentication required");
64
358
  }
65
- if (isServiceAccount(params) || isAdmin(params) || isSelfEmailLookup(params, email)) {
359
+ if (isServiceAccount(params) || isAdmin2(params) || isSelfEmailLookup(params, email)) {
66
360
  return;
67
361
  }
68
- throw new Forbidden("Exact email user lookup is restricted");
362
+ throw new Forbidden2("Exact email user lookup is restricted");
69
363
  }
70
364
  function applyAgenticToolsPatch(current, patch) {
71
365
  const next = { ...current };
@@ -94,8 +388,18 @@ function applyAgenticToolsPatch(current, patch) {
94
388
  return next;
95
389
  }
96
390
  var UsersService = class {
97
- constructor(db) {
391
+ constructor(db, app) {
98
392
  this.db = db;
393
+ if (app) {
394
+ this.avatarSync = new UserAvatarSyncManager(db, app);
395
+ }
396
+ }
397
+ avatarSync;
398
+ requireAvatarSync() {
399
+ if (!this.avatarSync) {
400
+ throw new Error("User avatar sync is not available in this service context");
401
+ }
402
+ return this.avatarSync;
99
403
  }
100
404
  /**
101
405
  * Find all users.
@@ -116,10 +420,10 @@ var UsersService = class {
116
420
  let rows;
117
421
  if (email) {
118
422
  ensureCanExactEmailLookup(params, email);
119
- const row = await select(this.db).from(users).where(eq(users.email, email)).one();
423
+ const row = await select(this.db).from(users).where(withTenantPredicate(params, eq(users.email, email))).one();
120
424
  rows = row ? [row] : [];
121
425
  } else {
122
- rows = await select(this.db).from(users).all();
426
+ rows = tenantPredicate(params) ? await select(this.db).from(users).where(tenantPredicate(params)).all() : await select(this.db).from(users).all();
123
427
  }
124
428
  rows = rows.sort(
125
429
  (a, b) => a.email.localeCompare(b.email) || a.user_id.localeCompare(b.user_id)
@@ -137,7 +441,10 @@ var UsersService = class {
137
441
  const skip = optionalNonNegativeInteger(rawQuery.$skip) ?? optionalNonNegativeInteger(rawQuery.skip) ?? optionalNonNegativeInteger(rawQuery.offset) ?? 0;
138
442
  const limit = optionalNonNegativeInteger(rawQuery.$limit) ?? optionalNonNegativeInteger(rawQuery.limit);
139
443
  const pageRows = limit === void 0 ? rows.slice(skip) : rows.slice(skip, skip + Math.max(limit, 0));
140
- const results = pageRows.map((row) => this.rowToUser(row, includePassword, requesterId));
444
+ const includeAuthMetadata = shouldIncludeAuthMetadata(params, includePassword);
445
+ const results = pageRows.map(
446
+ (row) => this.rowToUser(row, includePassword, requesterId, includeAuthMetadata)
447
+ );
141
448
  return {
142
449
  total,
143
450
  limit: limit ?? results.length,
@@ -149,26 +456,26 @@ var UsersService = class {
149
456
  * Get user by ID
150
457
  */
151
458
  async get(id, params) {
152
- const row = await select(this.db).from(users).where(eq(users.user_id, id)).one();
459
+ const row = await select(this.db).from(users).where(withTenantPredicate(params, eq(users.user_id, id))).one();
153
460
  if (!row) {
154
461
  throw new Error(`User not found: ${id}`);
155
462
  }
156
463
  const requesterId = params?.user?.user_id;
157
- return this.rowToUser(row, false, requesterId);
464
+ return this.rowToUser(row, false, requesterId, shouldIncludeAuthMetadata(params));
158
465
  }
159
466
  /**
160
467
  * Create new user
161
468
  */
162
- async create(data, _params) {
163
- const existing = await select(this.db).from(users).where(eq(users.email, data.email)).one();
469
+ async create(data, params) {
470
+ const existing = await select(this.db).from(users).where(withTenantPredicate(params, eq(users.email, data.email))).one();
164
471
  if (existing) {
165
472
  throw new Error(`User with email ${data.email} already exists`);
166
473
  }
167
474
  const hashedPassword = await hash(data.password, 10);
168
475
  const now = /* @__PURE__ */ new Date();
169
476
  const user_id = generateId();
170
- const role = data.role || ROLES.MEMBER;
171
- const defaultEmoji = role === ROLES.ADMIN ? "\u2B50" : "\u{1F464}";
477
+ const role = data.role || ROLES2.MEMBER;
478
+ const defaultEmoji = role === ROLES2.ADMIN ? "\u2B50" : "\u{1F464}";
172
479
  const row = await insert(this.db, users).values({
173
480
  user_id,
174
481
  email: data.email,
@@ -180,11 +487,16 @@ var UsersService = class {
180
487
  must_change_password: data.must_change_password ?? false,
181
488
  created_at: now,
182
489
  updated_at: now,
490
+ ...tenantInsertValues(params),
183
491
  data: {
492
+ avatar_url: data.avatar_url ?? data.avatar ?? void 0,
493
+ avatar_source: data.avatar_source ?? (data.avatar_url ?? data.avatar ? "manual" : void 0),
494
+ avatar_source_id: data.avatar_source_id ?? void 0,
495
+ avatar_synced_at: data.avatar_synced_at ?? void 0,
184
496
  preferences: {}
185
497
  }
186
498
  }).returning().one();
187
- return this.rowToUser(row);
499
+ return this.rowToUser(row, false, void 0, shouldIncludeAuthMetadata(params));
188
500
  }
189
501
  /**
190
502
  * Update user
@@ -194,6 +506,7 @@ var UsersService = class {
194
506
  const updates = { updated_at: now };
195
507
  if (data.password) {
196
508
  updates.password = await hash(data.password, 10);
509
+ updates.tokens_valid_after = now;
197
510
  updates.must_change_password = data.must_change_password ?? false;
198
511
  } else if (data.must_change_password !== void 0) {
199
512
  updates.must_change_password = data.must_change_password;
@@ -205,9 +518,9 @@ var UsersService = class {
205
518
  if (data.unix_username !== void 0) updates.unix_username = data.unix_username;
206
519
  if (data.onboarding_completed !== void 0)
207
520
  updates.onboarding_completed = data.onboarding_completed;
208
- if (data.avatar || data.preferences || data.agentic_tools || data.env_vars || data.env_var_scopes || data.default_agentic_config) {
209
- const current = await this.get(id);
210
- const currentRow = await select(this.db).from(users).where(eq(users.user_id, id)).one();
521
+ if (data.avatar_url !== void 0 || data.avatar !== void 0 || data.avatar_source !== void 0 || data.avatar_source_id !== void 0 || data.avatar_synced_at !== void 0 || data.preferences || data.agentic_tools || data.env_vars || data.env_var_scopes || data.default_agentic_config) {
522
+ const current = await this.get(id, params);
523
+ const currentRow = await select(this.db).from(users).where(withTenantPredicate(params, eq(users.user_id, id))).one();
211
524
  const currentData = currentRow?.data;
212
525
  const nextAgenticTools = data.agentic_tools ? applyAgenticToolsPatch(currentData?.agentic_tools ?? {}, data.agentic_tools) : currentData?.agentic_tools ?? {};
213
526
  const normalizedExisting = normalizeStoredEnvMap(currentData?.env_vars);
@@ -264,8 +577,18 @@ var UsersService = class {
264
577
  console.log(`\u{1F527} Updated scope for env var ${key}: ${scope}`);
265
578
  }
266
579
  }
580
+ const avatarUrlTouched = data.avatar_url !== void 0 || data.avatar !== void 0;
581
+ const avatarCleared = data.avatar_url === null || data.avatar === null;
582
+ const inferredManualAvatarSource = avatarUrlTouched && !avatarCleared && data.avatar_source === void 0;
583
+ const avatarSourceChangedAwayFromSlack = data.avatar_source !== void 0 && data.avatar_source !== null && data.avatar_source !== "slack";
267
584
  updates.data = {
268
- avatar: data.avatar ?? current.avatar,
585
+ ...currentData,
586
+ avatar_url: avatarCleared ? void 0 : data.avatar_url ?? data.avatar ?? current.avatar_url,
587
+ // Deprecated legacy alias: read for back-compat, stop writing it on avatar updates.
588
+ avatar: void 0,
589
+ avatar_source: data.avatar_source === null || avatarCleared ? void 0 : data.avatar_source !== void 0 ? data.avatar_source : inferredManualAvatarSource ? "manual" : current.avatar_source,
590
+ avatar_source_id: data.avatar_source_id === null || avatarCleared || inferredManualAvatarSource || avatarSourceChangedAwayFromSlack && data.avatar_source_id === void 0 ? void 0 : data.avatar_source_id ?? current.avatar_source_id,
591
+ avatar_synced_at: data.avatar_synced_at === null || avatarCleared || inferredManualAvatarSource || avatarSourceChangedAwayFromSlack && data.avatar_synced_at === void 0 ? void 0 : data.avatar_synced_at ?? current.avatar_synced_at,
269
592
  preferences: data.preferences ?? current.preferences,
270
593
  agentic_tools: Object.keys(nextAgenticTools).length > 0 ? nextAgenticTools : void 0,
271
594
  env_vars: Object.keys(nextEnvVars).length > 0 ? nextEnvVars : void 0,
@@ -277,13 +600,13 @@ var UsersService = class {
277
600
  throw new Error(`User not found: ${id}`);
278
601
  }
279
602
  const requesterId = params?.user?.user_id;
280
- return this.rowToUser(row, false, requesterId);
603
+ return this.rowToUser(row, false, requesterId, shouldIncludeAuthMetadata(params));
281
604
  }
282
605
  /**
283
606
  * Delete user
284
607
  */
285
- async remove(id, _params) {
286
- const user = await this.get(id);
608
+ async remove(id, params) {
609
+ const user = await this.get(id, params);
287
610
  await deleteFrom(this.db, users).where(eq(users.user_id, id)).run();
288
611
  return user;
289
612
  }
@@ -386,11 +709,23 @@ var UsersService = class {
386
709
  }
387
710
  const isService = !!caller._isServiceAccount;
388
711
  if (!isService && caller.user_id !== userId) {
389
- throw new Forbidden("Cannot access another user's git environment");
712
+ throw new Forbidden2("Cannot access another user's git environment");
390
713
  }
391
714
  }
392
715
  return resolveUserEnvironment(userId, this.db);
393
716
  }
717
+ async getAvatarSettings(_data, params) {
718
+ return this.requireAvatarSync().getSettings(params);
719
+ }
720
+ async updateAvatarSettings(data, params) {
721
+ return this.requireAvatarSync().updateSettings(data, params);
722
+ }
723
+ async syncAvatars(data = {}, params) {
724
+ return this.requireAvatarSync().syncAvatars(data, params);
725
+ }
726
+ async refreshAvatarFromSettings(userId) {
727
+ return this.requireAvatarSync().refreshUserFromSettings(userId);
728
+ }
394
729
  /**
395
730
  * Convert database row to User type
396
731
  *
@@ -403,7 +738,7 @@ var UsersService = class {
403
738
  * including admins viewing someone else's profile — public values are
404
739
  * omitted, since base URLs can leak internal hostnames.
405
740
  */
406
- rowToUser(row, includePassword = false, requesterId) {
741
+ rowToUser(row, includePassword = false, requesterId, includeAuthMetadata = true) {
407
742
  const data = row.data;
408
743
  const normalizedEnvVars = normalizeStoredEnvMap(data.env_vars);
409
744
  const envVarMetadata = Object.keys(normalizedEnvVars).length > 0 ? Object.fromEntries(
@@ -419,7 +754,11 @@ var UsersService = class {
419
754
  emoji: row.emoji ?? void 0,
420
755
  role: normalizeRole(row.role ?? void 0),
421
756
  unix_username: row.unix_username ?? void 0,
757
+ avatar_url: data.avatar_url ?? data.avatar,
422
758
  avatar: data.avatar,
759
+ avatar_source: data.avatar_source,
760
+ avatar_source_id: data.avatar_source_id,
761
+ avatar_synced_at: data.avatar_synced_at,
423
762
  preferences: data.preferences,
424
763
  onboarding_completed: !!row.onboarding_completed,
425
764
  must_change_password: !!row.must_change_password,
@@ -436,6 +775,12 @@ var UsersService = class {
436
775
  // Return default agentic config
437
776
  default_agentic_config: data.default_agentic_config
438
777
  };
778
+ if (includeAuthMetadata && row.tokens_valid_after) {
779
+ user.tokens_valid_after = new Date(row.tokens_valid_after);
780
+ }
781
+ if (includeAuthMetadata && "tenant_id" in row) {
782
+ user.tenant_id = row.tenant_id;
783
+ }
439
784
  if (includePassword) {
440
785
  user.password = row.password;
441
786
  }
@@ -468,10 +813,15 @@ var UsersServiceWithAuth = class extends UsersService {
468
813
  name: row.name ?? void 0,
469
814
  emoji: row.emoji ?? void 0,
470
815
  role: normalizeRole(row.role ?? void 0),
816
+ avatar_url: data.avatar_url ?? data.avatar,
471
817
  avatar: data.avatar,
818
+ avatar_source: data.avatar_source,
819
+ avatar_source_id: data.avatar_source_id,
820
+ avatar_synced_at: data.avatar_synced_at,
472
821
  preferences: data.preferences,
473
822
  onboarding_completed: !!row.onboarding_completed,
474
823
  must_change_password: !!row.must_change_password,
824
+ tokens_valid_after: row.tokens_valid_after ? new Date(row.tokens_valid_after) : void 0,
475
825
  created_at: row.created_at,
476
826
  updated_at: row.updated_at ?? void 0,
477
827
  agentic_tools: toAgenticToolsStatus(data.agentic_tools),
@@ -479,13 +829,16 @@ var UsersServiceWithAuth = class extends UsersService {
479
829
  };
480
830
  }
481
831
  };
482
- function createUsersService(db) {
483
- return new UsersServiceWithAuth(db);
832
+ function createUsersService(db, app) {
833
+ return new UsersServiceWithAuth(db, app);
484
834
  }
485
835
  export {
836
+ AUTH_INTERNAL_USER_LOOKUP_PARAM,
486
837
  LOCAL_AUTH_LOOKUP_PARAM,
487
838
  UsersService,
488
839
  createUsersService,
840
+ isAuthenticationUserLookup,
489
841
  isLocalAuthenticationLookup,
842
+ markAuthenticationUserLookup,
490
843
  markLocalAuthenticationLookup
491
844
  };
@@ -1 +1 @@
1
- {"version":3,"file":"zone-trigger.d.ts","sourceRoot":"","sources":["../../src/services/zone-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIrF,MAAM,WAAW,6BAA6B;IAE5C,GAAG,EAAE,GAAG,CAAC;IAET,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACzF,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,eAAe,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7E,CAAC;IACF,IAAI,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAID;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAqFzC"}
1
+ {"version":3,"file":"zone-trigger.d.ts","sourceRoot":"","sources":["../../src/services/zone-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAKrF,MAAM,WAAW,6BAA6B;IAE5C,GAAG,EAAE,GAAG,CAAC;IAET,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACzF,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,eAAe,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7E,CAAC;IACF,IAAI,EAAE,IAAI,CAAC;IACX,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;CACZ;AAID;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAsFzC"}
@@ -113,6 +113,13 @@ function generateTaskId() {
113
113
  return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
114
114
  }
115
115
  function findExecutorPath() {
116
+ const configuredPath = process.env.AGOR_EXECUTOR_PATH;
117
+ if (configuredPath) {
118
+ if (!existsSync(configuredPath)) {
119
+ throw new Error(`Configured AGOR_EXECUTOR_PATH does not exist: ${configuredPath}`);
120
+ }
121
+ return configuredPath;
122
+ }
116
123
  const dirname = typeof __dirname !== "undefined" ? __dirname : path.dirname(fileURLToPath(import.meta.url));
117
124
  const possiblePaths = [
118
125
  path.join(dirname, "../executor/cli.js"),
@@ -412,12 +419,16 @@ function createServiceToken(jwtSecret, expiresIn, scope = {}) {
412
419
  expiresIn || "5m"
413
420
  );
414
421
  }
415
- function generateSessionToken(app) {
422
+ function serviceTokenScopeForParams(params) {
423
+ const tenantId = params?.tenant?.tenant_id ?? params?.tenant_id ?? params?.user?.tenant_id;
424
+ return tenantId ? { tenant_id: tenantId } : {};
425
+ }
426
+ function generateSessionToken(app, scope = {}) {
416
427
  const jwtSecret = app.settings.authentication?.secret;
417
428
  if (!jwtSecret) {
418
429
  throw new Error("JWT secret not configured in app settings");
419
430
  }
420
- return createServiceToken(jwtSecret);
431
+ return createServiceToken(jwtSecret, void 0, scope);
421
432
  }
422
433
 
423
434
  // src/utils/branch-inspect.ts
@@ -426,7 +437,8 @@ function isBranchInspectResult(value) {
426
437
  }
427
438
  async function inspectBranchViaExecutor(app, branchId, options = {}) {
428
439
  const sessionToken = generateSessionToken(
429
- app
440
+ app,
441
+ options.serviceTokenScope
430
442
  );
431
443
  const result = await runExecutorCommand(
432
444
  {
@@ -506,7 +518,8 @@ async function fireAlwaysNewZoneTrigger(input) {
506
518
  const asUser = db ? await resolveExecutorReadAsUser(db, user) : void 0;
507
519
  const { currentSha, currentRef } = await inspectBranchViaExecutor(app, branch.branch_id, {
508
520
  asUser,
509
- logPrefix: `[zone-trigger ${branch.name}]`
521
+ logPrefix: `[zone-trigger ${branch.name}]`,
522
+ serviceTokenScope: serviceTokenScopeForParams(params)
510
523
  });
511
524
  const newSession = await app.service("sessions").create(
512
525
  {
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Precedence (first match wins):
10
10
  * 1. process.env.AGOR_BUILD_SHA — Docker --build-arg, CI
11
- * 2. <daemon-dist>/.build-info — written by packages/agor-live/build.sh
11
+ * 2. <daemon-dist>/.build-info — written by daemon build script
12
12
  * 3. git rev-parse --short HEAD — local source installs
13
13
  * 4. 'dev' — disables the version check entirely
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"build-info.d.ts","sourceRoot":"","sources":["../../src/setup/build-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;CAC7C;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAmD9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEhE"}
1
+ {"version":3,"file":"build-info.d.ts","sourceRoot":"","sources":["../../src/setup/build-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;CAC7C;AAID;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAyD9D;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEhE"}
@@ -14,7 +14,11 @@ function loadBuildInfo(importMetaUrl) {
14
14
  };
15
15
  }
16
16
  const currentDir = dirname(fileURLToPath(importMetaUrl));
17
- const candidates = [join(currentDir, "../.build-info"), join(currentDir, "../../.build-info")];
17
+ const candidates = [
18
+ join(currentDir, ".build-info"),
19
+ join(currentDir, "../.build-info"),
20
+ join(currentDir, "../../.build-info")
21
+ ];
18
22
  for (const path of candidates) {
19
23
  try {
20
24
  const raw = readFileSync(path, "utf-8");