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
@@ -33,6 +33,7 @@ __export(gateway_exports, {
33
33
  GitHubConnector: () => GitHubConnector,
34
34
  SlackConnector: () => SlackConnector,
35
35
  TeamsConnector: () => TeamsConnector,
36
+ buildSlackManifest: () => buildSlackManifest,
36
37
  extractQuotedReplyText: () => extractQuotedReplyText,
37
38
  formatGatewayContext: () => formatGatewayContext,
38
39
  formatGatewayFollowUpRoutingMessage: () => formatGatewayFollowUpRoutingMessage,
@@ -42,11 +43,14 @@ __export(gateway_exports, {
42
43
  formatGatewaySystemPayload: () => formatGatewaySystemPayload,
43
44
  getConnector: () => getConnector,
44
45
  hasConnector: () => hasConnector,
46
+ isChannelAllowedByWhitelist: () => isChannelAllowedByWhitelist,
45
47
  markdownToMrkdwn: () => markdownToMrkdwn,
46
48
  normalizeOutbound: () => normalizeOutbound,
47
49
  parseGitHubThreadId: () => parseThreadId,
48
50
  parseTeamsThreadId: () => parseThreadId3,
49
- registerConnector: () => registerConnector
51
+ registerConnector: () => registerConnector,
52
+ requiredBotEvents: () => requiredBotEvents,
53
+ requiredBotScopes: () => requiredBotScopes
50
54
  });
51
55
  module.exports = __toCommonJS(gateway_exports);
52
56
 
@@ -429,6 +433,11 @@ function hasActiveMention2(text, mentionPattern) {
429
433
  mentionPattern.lastIndex = 0;
430
434
  return mentionPattern.test(stripped);
431
435
  }
436
+ function slackTsToIso(ts) {
437
+ const seconds = Number(ts.split(".")[0]);
438
+ if (!Number.isFinite(seconds)) return (/* @__PURE__ */ new Date()).toISOString();
439
+ return new Date(seconds * 1e3).toISOString();
440
+ }
432
441
  function segmentMarkdown(md) {
433
442
  const lines = md.split(/\r?\n/);
434
443
  const segments = [];
@@ -633,6 +642,64 @@ function extractSlackErrorCode(resultOrError) {
633
642
  const candidate = resultOrError;
634
643
  return candidate.data?.error ?? candidate.error;
635
644
  }
645
+ function extractSlackErrorDetail(resultOrError) {
646
+ if (typeof resultOrError !== "object" || resultOrError === null) return {};
647
+ const candidate = resultOrError;
648
+ return {
649
+ code: candidate.data?.error ?? candidate.error ?? candidate.code,
650
+ needed: candidate.data?.needed ?? candidate.needed,
651
+ provided: candidate.data?.provided ?? candidate.provided,
652
+ retryAfter: candidate.retryAfter
653
+ };
654
+ }
655
+ var BOT_TOKEN_ERROR_REASONS = {
656
+ invalid_auth: "The bot token is invalid.",
657
+ account_inactive: "The bot token belongs to a deleted or deactivated account or workspace.",
658
+ token_revoked: "The bot token has been revoked.",
659
+ token_expired: "The bot token has expired.",
660
+ not_authed: "No bot token was provided.",
661
+ no_permission: "The bot token lacks permission to call auth.test."
662
+ };
663
+ var CHANNEL_ACCESS_ERROR_REASONS = {
664
+ not_in_channel: "The bot is not a member of this channel; invite it so it can read messages.",
665
+ channel_not_found: "The channel ID was not found, or the bot cannot see it.",
666
+ is_archived: "The channel is archived."
667
+ };
668
+ function buildTestFailure(capability, detail, reasons) {
669
+ const { code, needed, provided, retryAfter } = detail;
670
+ let reason;
671
+ if (code === "missing_scope") {
672
+ reason = needed ? `Slack reports a missing OAuth scope; add "${needed}".` : "Slack reports a missing OAuth scope.";
673
+ } else if (code === "ratelimited" || retryAfter != null) {
674
+ reason = retryAfter != null ? `Slack rate-limited the probe; retry after ${retryAfter}s. The probe did not retry.` : "Slack rate-limited the probe. The probe did not retry.";
675
+ } else if (code && reasons[code]) {
676
+ reason = reasons[code];
677
+ } else if (code) {
678
+ reason = `Slack returned error "${code}".`;
679
+ } else {
680
+ reason = "A network or unexpected error occurred while contacting Slack.";
681
+ }
682
+ const failure = { capability, reason };
683
+ if (code) failure.slackError = code;
684
+ if (needed) failure.needed = needed;
685
+ if (provided) failure.provided = provided;
686
+ return failure;
687
+ }
688
+ function normalizeAllowedChannelIds(raw) {
689
+ if (Array.isArray(raw)) return raw.filter((id) => typeof id === "string");
690
+ if (typeof raw === "string" && raw) return [raw];
691
+ return [];
692
+ }
693
+ var SLACK_NOT_VERIFIABLE = [
694
+ "Whether the bot token and app-level token belong to the same Slack app.",
695
+ "Whether the required Slack event subscriptions are installed and delivering events.",
696
+ "Whether the full set of required OAuth scopes is granted \u2014 only scopes exercised by the probed API calls are checked."
697
+ ];
698
+ function isChannelAllowedByWhitelist(channelType, channelId, allowedChannelIds) {
699
+ if (channelType === "im") return true;
700
+ if (!allowedChannelIds || allowedChannelIds.length === 0) return true;
701
+ return !!channelId && allowedChannelIds.includes(channelId);
702
+ }
636
703
  var SlackConnector = class _SlackConnector {
637
704
  channelType = "slack";
638
705
  web;
@@ -672,6 +739,122 @@ var SlackConnector = class _SlackConnector {
672
739
  }
673
740
  this.web = new import_web_api.WebClient(this.config.bot_token);
674
741
  }
742
+ /**
743
+ * Build a Slack WebClient for an arbitrary token. Isolated so connection
744
+ * probes can construct a client for the app-level (`xapp-`) token, and so
745
+ * tests can stub the app-token client independently of `this.web`.
746
+ */
747
+ createWebClient(token) {
748
+ return new import_web_api.WebClient(token);
749
+ }
750
+ /**
751
+ * Best-effort probe of the configured Slack credentials and reachability.
752
+ *
753
+ * Probes capabilities directly rather than diffing scope-header strings:
754
+ * - `auth.test()` with the bot token → team + bot identity.
755
+ * - `apps.connections.open()` with the app-level token → Socket Mode /
756
+ * `connections:write` validity.
757
+ * - `conversations.info` on the first whitelisted channel (when any) →
758
+ * channel reachability.
759
+ *
760
+ * Slack's `missing_scope` needed/provided detail and rate-limit `Retry-After`
761
+ * are surfaced verbatim. Never logs or returns token values.
762
+ */
763
+ async testConnection() {
764
+ const failures = [];
765
+ const notVerifiable = [...SLACK_NOT_VERIFIABLE];
766
+ let team;
767
+ let bot;
768
+ let botTokenValid = false;
769
+ try {
770
+ const authTest = await this.web.auth.test();
771
+ if (authTest.ok) {
772
+ botTokenValid = true;
773
+ team = { id: authTest.team_id ?? "", name: authTest.team ?? "" };
774
+ bot = { userId: authTest.user_id ?? "", name: authTest.user ?? "" };
775
+ } else {
776
+ failures.push(
777
+ buildTestFailure("bot_token", extractSlackErrorDetail(authTest), BOT_TOKEN_ERROR_REASONS)
778
+ );
779
+ }
780
+ } catch (error) {
781
+ failures.push(
782
+ buildTestFailure("bot_token", extractSlackErrorDetail(error), BOT_TOKEN_ERROR_REASONS)
783
+ );
784
+ }
785
+ let appTokenValid;
786
+ const appToken = this.config.app_token;
787
+ if (!appToken) {
788
+ appTokenValid = false;
789
+ failures.push({
790
+ capability: "app_token",
791
+ reason: "No app-level token is configured; Socket Mode cannot connect to receive messages."
792
+ });
793
+ } else {
794
+ try {
795
+ const appClient = this.createWebClient(appToken);
796
+ const res = await appClient.apps.connections.open();
797
+ if (res.ok) {
798
+ appTokenValid = true;
799
+ } else {
800
+ appTokenValid = false;
801
+ failures.push(buildTestFailure("app_token", extractSlackErrorDetail(res), {}));
802
+ }
803
+ } catch (error) {
804
+ appTokenValid = false;
805
+ failures.push(buildTestFailure("app_token", extractSlackErrorDetail(error), {}));
806
+ }
807
+ }
808
+ let channelAccess;
809
+ const allowedChannelIds = normalizeAllowedChannelIds(this.config.allowed_channel_ids);
810
+ if (allowedChannelIds.length > 0) {
811
+ const channelId = allowedChannelIds[0];
812
+ let channelOk = false;
813
+ try {
814
+ const info = await this.web.conversations.info({ channel: channelId });
815
+ if (info.ok) {
816
+ channelOk = true;
817
+ } else {
818
+ failures.push(
819
+ buildTestFailure(
820
+ "channel_access",
821
+ extractSlackErrorDetail(info),
822
+ CHANNEL_ACCESS_ERROR_REASONS
823
+ )
824
+ );
825
+ }
826
+ } catch (error) {
827
+ failures.push(
828
+ buildTestFailure(
829
+ "channel_access",
830
+ extractSlackErrorDetail(error),
831
+ CHANNEL_ACCESS_ERROR_REASONS
832
+ )
833
+ );
834
+ }
835
+ channelAccess = [{ channelId, ok: channelOk }];
836
+ if (allowedChannelIds.length > 1) {
837
+ notVerifiable.push(
838
+ `Only the first of ${allowedChannelIds.length} configured channels was probed; the rest were not checked.`
839
+ );
840
+ }
841
+ } else {
842
+ notVerifiable.push(
843
+ "No channel whitelist is configured, so no specific channel reachability was verified."
844
+ );
845
+ }
846
+ const channelsOk = !channelAccess || channelAccess.some((c) => c.ok);
847
+ const ok = botTokenValid && appTokenValid && channelsOk && failures.length === 0;
848
+ return {
849
+ ok,
850
+ ...team ? { team } : {},
851
+ ...bot ? { bot } : {},
852
+ appTokenValid,
853
+ ...channelAccess ? { channelAccess } : {},
854
+ failures,
855
+ notVerifiable
856
+ };
857
+ }
675
858
  /**
676
859
  * Look up a Slack user's email address by their user ID.
677
860
  *
@@ -724,6 +907,33 @@ var SlackConnector = class _SlackConnector {
724
907
  return { email: null, displayName: null };
725
908
  }
726
909
  }
910
+ /**
911
+ * Look up a Slack user by email and return display metadata including a
912
+ * high-resolution avatar URL. Used by Agor's admin-triggered user avatar
913
+ * sync. Prefer image_512 for crisp large/retina rendering, falling back to
914
+ * smaller Slack-provided variants.
915
+ */
916
+ async lookupUserAvatarByEmail(email) {
917
+ const normalized = email.trim().toLowerCase();
918
+ if (!normalized) throw new Error("Slack user email is required");
919
+ const result = await this.web.users.lookupByEmail({ email: normalized }).catch((error) => {
920
+ if (extractSlackErrorCode(error) === "users_not_found") {
921
+ return null;
922
+ }
923
+ throw error;
924
+ });
925
+ if (!result?.ok || !result.user?.id) {
926
+ return null;
927
+ }
928
+ const profile = result.user.profile;
929
+ const avatarUrl = profile?.image_512 || profile?.image_original || profile?.image_1024 || profile?.image_192 || profile?.image_72 || profile?.image_48 || null;
930
+ return {
931
+ slackUserId: result.user.id,
932
+ email: profile?.email ?? normalized,
933
+ displayName: profile?.display_name || profile?.real_name || result.user.real_name || result.user.name || null,
934
+ avatarUrl
935
+ };
936
+ }
727
937
  /**
728
938
  * Look up a Slack channel's name by its ID.
729
939
  *
@@ -935,6 +1145,170 @@ var SlackConnector = class _SlackConnector {
935
1145
  }
936
1146
  return result.ts;
937
1147
  }
1148
+ /**
1149
+ * Send directly to a Slack channel or thread. Used for proactive outbound
1150
+ * emits where no gateway thread_session_map exists yet.
1151
+ */
1152
+ async sendSlackMessage(req) {
1153
+ const blocks = req.blocks && req.blocks.length > 0 ? req.blocks : void 0;
1154
+ const send = (withBlocks) => this.web.chat.postMessage({
1155
+ channel: req.channel,
1156
+ text: req.text,
1157
+ ...withBlocks && blocks ? { blocks } : {},
1158
+ ...req.thread_ts ? { thread_ts: req.thread_ts } : {},
1159
+ unfurl_links: false,
1160
+ unfurl_media: false
1161
+ });
1162
+ let result;
1163
+ try {
1164
+ result = await send(true);
1165
+ } catch (err) {
1166
+ const code = extractSlackErrorCode(err);
1167
+ if (blocks && code && BLOCK_PAYLOAD_ERRORS.has(code)) {
1168
+ console.warn(`[slack] Block payload rejected (${code}); retrying direct send as text-only`);
1169
+ result = await send(false);
1170
+ } else {
1171
+ throw err;
1172
+ }
1173
+ }
1174
+ if (!result.ok || !result.ts) {
1175
+ const code = extractSlackErrorCode(result);
1176
+ if (blocks && code && BLOCK_PAYLOAD_ERRORS.has(code)) {
1177
+ const retry = await send(false);
1178
+ if (!retry.ok || !retry.ts) {
1179
+ throw new Error(`Slack API error: ${retry.error ?? "unknown error"}`);
1180
+ }
1181
+ result = retry;
1182
+ } else {
1183
+ throw new Error(`Slack API error: ${result.error ?? "unknown error"}`);
1184
+ }
1185
+ }
1186
+ const sentTs = result.ts;
1187
+ if (!sentTs) {
1188
+ throw new Error("Slack API error: missing message timestamp");
1189
+ }
1190
+ let permalink = null;
1191
+ try {
1192
+ const link = await this.web.chat.getPermalink({ channel: req.channel, message_ts: sentTs });
1193
+ permalink = link.ok ? link.permalink ?? null : null;
1194
+ } catch {
1195
+ permalink = null;
1196
+ }
1197
+ return {
1198
+ ts: sentTs,
1199
+ channel: req.channel,
1200
+ thread_ts: req.thread_ts ?? sentTs,
1201
+ permalink
1202
+ };
1203
+ }
1204
+ /** Resolve a Slack channel by its human name (with or without #). */
1205
+ async resolveChannelByName(name) {
1206
+ const normalized = name.replace(/^#/, "").trim().toLowerCase();
1207
+ if (!normalized) throw new Error("Slack channel name is required");
1208
+ let cursor;
1209
+ do {
1210
+ const result = await this.web.conversations.list({
1211
+ types: "public_channel,private_channel",
1212
+ limit: 1e3,
1213
+ ...cursor ? { cursor } : {}
1214
+ });
1215
+ if (!result.ok) {
1216
+ throw new Error(`Slack API error: ${result.error ?? "unknown error"}`);
1217
+ }
1218
+ const channels = result.channels ?? [];
1219
+ const match = channels.find((channel) => {
1220
+ if (channel.is_archived) return false;
1221
+ return (channel.name_normalized ?? channel.name ?? "").toLowerCase() === normalized;
1222
+ });
1223
+ if (match?.id) {
1224
+ return { channel: match.id, name: match.name ?? normalized };
1225
+ }
1226
+ cursor = result.response_metadata?.next_cursor || void 0;
1227
+ } while (cursor);
1228
+ throw new Error(`Slack channel not found: #${normalized}`);
1229
+ }
1230
+ /** Resolve a Slack user email to a DM channel with that user. */
1231
+ async openDmByEmail(email) {
1232
+ const normalized = email.trim().toLowerCase();
1233
+ if (!normalized) throw new Error("Slack user email is required");
1234
+ const userResult = await this.web.users.lookupByEmail({ email: normalized });
1235
+ if (!userResult.ok || !userResult.user?.id) {
1236
+ throw new Error(`Slack user lookup failed: ${userResult.error ?? "user_not_found"}`);
1237
+ }
1238
+ const dmResult = await this.web.conversations.open({ users: userResult.user.id });
1239
+ if (!dmResult.ok || !dmResult.channel?.id) {
1240
+ throw new Error(`Slack DM open failed: ${dmResult.error ?? "unknown error"}`);
1241
+ }
1242
+ return { channel: dmResult.channel.id, user_id: userResult.user.id };
1243
+ }
1244
+ async fetchThreadHistory(req) {
1245
+ const { channel, thread_ts } = parseThreadId2(req.threadId);
1246
+ const requestedLimit = Math.min(Math.max(req.limit ?? 50, 1), 200);
1247
+ const messages = [];
1248
+ let cursor;
1249
+ let hasMore = false;
1250
+ do {
1251
+ const rawLimit = req.includeBotMessages ? requestedLimit : Math.min(Math.max(requestedLimit * 4, requestedLimit), 200);
1252
+ const result = await this.web.conversations.replies({
1253
+ channel,
1254
+ ts: thread_ts,
1255
+ limit: rawLimit,
1256
+ ...cursor ? { cursor } : {},
1257
+ ...req.oldestTs ? { oldest: req.oldestTs } : {},
1258
+ ...req.latestTs ? { latest: req.latestTs } : {},
1259
+ ...req.inclusive !== void 0 ? { inclusive: req.inclusive } : {}
1260
+ });
1261
+ if (!result.ok) {
1262
+ throw new Error(`Slack thread history error: ${result.error ?? "unknown error"}`);
1263
+ }
1264
+ const rawMessages = result.messages ?? [];
1265
+ let stoppedAtRequestedLimitWithMoreRaw = false;
1266
+ for (let i = 0; i < rawMessages.length; i++) {
1267
+ const raw = rawMessages[i];
1268
+ if (!raw) continue;
1269
+ const ts = typeof raw.ts === "string" ? raw.ts : void 0;
1270
+ if (!ts) continue;
1271
+ const botId = typeof raw.bot_id === "string" ? raw.bot_id : void 0;
1272
+ const subtype = typeof raw.subtype === "string" ? raw.subtype : void 0;
1273
+ const isBot = !!botId || subtype === "bot_message";
1274
+ if (isBot && !req.includeBotMessages) continue;
1275
+ const userId = typeof raw.user === "string" ? raw.user : void 0;
1276
+ let userName;
1277
+ if (userId) {
1278
+ const profile = await this.lookupUserProfile(userId);
1279
+ userName = profile.displayName ?? void 0;
1280
+ }
1281
+ const botProfile = raw.bot_profile;
1282
+ const botName = typeof botProfile?.name === "string" ? botProfile.name : typeof raw.username === "string" ? raw.username : void 0;
1283
+ const actorLabel = userName ?? botName ?? userId ?? botId ?? "unknown";
1284
+ const text = typeof raw.text === "string" ? raw.text : "";
1285
+ messages.push({
1286
+ ts,
1287
+ iso_time: slackTsToIso(ts),
1288
+ ...userId ? { user_id: userId } : {},
1289
+ ...userName ? { user_name: userName } : {},
1290
+ actor_label: actorLabel,
1291
+ text,
1292
+ is_bot: isBot,
1293
+ is_trigger: req.triggerTs === ts,
1294
+ is_mention: this.botUserId ? text.includes(`<@${this.botUserId}>`) : false
1295
+ });
1296
+ if (messages.length >= requestedLimit) {
1297
+ stoppedAtRequestedLimitWithMoreRaw = i < rawMessages.length - 1;
1298
+ break;
1299
+ }
1300
+ }
1301
+ cursor = result.response_metadata?.next_cursor || void 0;
1302
+ hasMore = result.has_more === true || !!cursor || stoppedAtRequestedLimitWithMoreRaw;
1303
+ } while (!req.includeBotMessages && messages.length < requestedLimit && cursor);
1304
+ return {
1305
+ threadId: req.threadId,
1306
+ channel,
1307
+ thread_ts,
1308
+ messages: messages.slice(0, requestedLimit),
1309
+ has_more: hasMore
1310
+ };
1311
+ }
938
1312
  async startStream(req) {
939
1313
  const { channel, thread_ts } = parseThreadId2(req.threadId);
940
1314
  const chat = this.web.chat;
@@ -1007,7 +1381,7 @@ var SlackConnector = class _SlackConnector {
1007
1381
  * - Public channels (if enable_channels = true)
1008
1382
  * - Private channels (if enable_groups = true)
1009
1383
  * - Group DMs (if enable_mpim = true)
1010
- * - Mention requirement (if require_mention = true)
1384
+ * - Explicit mention requirement for channel-like conversations
1011
1385
  * - Channel whitelist (if allowed_channel_ids is set)
1012
1386
  */
1013
1387
  async startListening(callback) {
@@ -1033,8 +1407,7 @@ var SlackConnector = class _SlackConnector {
1033
1407
  const enableChannels = this.config.enable_channels ?? false;
1034
1408
  const enableGroups = this.config.enable_groups ?? false;
1035
1409
  const enableMpim = this.config.enable_mpim ?? false;
1036
- const requireMention = this.config.require_mention ?? true;
1037
- const allowThreadRepliesWithoutMention = this.config.allow_thread_replies_without_mention ?? true;
1410
+ const requireMention = true;
1038
1411
  let allowedChannelIds;
1039
1412
  if (this.config.allowed_channel_ids) {
1040
1413
  if (Array.isArray(this.config.allowed_channel_ids)) {
@@ -1101,22 +1474,29 @@ var SlackConnector = class _SlackConnector {
1101
1474
  }
1102
1475
  const channelType = event.channel ? await this.resolveChannelType(event.channel, event.channel_type) : void 0;
1103
1476
  const isThreadReply = !!event.thread_ts;
1104
- const isChannelMessage = channelType === "channel" || channelType === "group";
1105
- if (isChannelMessage && !botMentionPattern) {
1477
+ const isChannelLikeMessage = channelType === "channel" || channelType === "group" || channelType === "mpim";
1478
+ if (isChannelLikeMessage && eventType !== "app_mention") {
1479
+ console.debug(
1480
+ `[slack] Skipping non-app_mention event in channel-like conversation type=${eventType} channel=${event.channel} ts=${event.ts}`
1481
+ );
1482
+ return;
1483
+ }
1484
+ if (isChannelLikeMessage && !botMentionPattern) {
1106
1485
  if (eventType === "message" && requireMention) {
1107
1486
  return;
1108
1487
  }
1109
- if (eventType === "app_mention" && !requireMention) {
1110
- return;
1111
- }
1112
1488
  }
1113
- if (isChannelMessage && botMentionPattern) {
1489
+ if (isChannelLikeMessage && botMentionPattern) {
1114
1490
  const mentionOutsideCodeBlock = hasActiveMention2(event.text ?? "", botMentionPattern);
1115
1491
  if (eventType === "app_mention" && !mentionOutsideCodeBlock) {
1116
1492
  return;
1117
1493
  }
1118
1494
  }
1119
- if (!channelType || channelType === "im") {
1495
+ if (!channelType) {
1496
+ console.warn(`[slack] Cannot determine channel_type for channel=${event.channel}`);
1497
+ return;
1498
+ }
1499
+ if (channelType === "im") {
1120
1500
  } else if (channelType === "channel" && !enableChannels) {
1121
1501
  return;
1122
1502
  } else if (channelType === "group" && !enableGroups) {
@@ -1127,15 +1507,14 @@ var SlackConnector = class _SlackConnector {
1127
1507
  console.warn(`[slack] Unknown channel_type="${channelType}"`);
1128
1508
  return;
1129
1509
  }
1130
- if (allowedChannelIds && allowedChannelIds.length > 0) {
1131
- if (!allowedChannelIds.includes(event.channel)) {
1132
- return;
1133
- }
1510
+ if (!isChannelAllowedByWhitelist(channelType, event.channel, allowedChannelIds)) {
1511
+ return;
1134
1512
  }
1135
1513
  let messageText = event.text ?? "";
1136
1514
  let hasMention = false;
1137
- let allowedViaThreadReplyException = false;
1138
- if (requireMention) {
1515
+ const allowedViaThreadReplyException = false;
1516
+ const requiresExplicitMention = channelType !== "im";
1517
+ if (requireMention && requiresExplicitMention) {
1139
1518
  if (!botMentionPattern || !botMentionReplacePattern) {
1140
1519
  if (eventType === "app_mention") {
1141
1520
  hasMention = true;
@@ -1148,15 +1527,14 @@ var SlackConnector = class _SlackConnector {
1148
1527
  } else {
1149
1528
  hasMention = hasActiveMention2(messageText, botMentionPattern);
1150
1529
  if (!hasMention) {
1151
- if (isThreadReply && allowThreadRepliesWithoutMention) {
1152
- allowedViaThreadReplyException = true;
1153
- } else {
1154
- return;
1155
- }
1156
- }
1157
- if (hasMention) {
1158
- messageText = messageText.replace(botMentionReplacePattern, "").trim();
1530
+ return;
1159
1531
  }
1532
+ messageText = messageText.replace(botMentionReplacePattern, "").trim();
1533
+ }
1534
+ } else if (botMentionPattern && botMentionReplacePattern) {
1535
+ hasMention = hasActiveMention2(messageText, botMentionPattern);
1536
+ if (hasMention) {
1537
+ messageText = messageText.replace(botMentionReplacePattern, "").trim();
1160
1538
  }
1161
1539
  }
1162
1540
  if (!this.shouldProcessInboundEventOnce(event.channel, event.ts)) {
@@ -1191,6 +1569,12 @@ var SlackConnector = class _SlackConnector {
1191
1569
  ...event.user ? { slack_user_id: event.user } : {},
1192
1570
  ...slackTeamId ? { slack_team_id: slackTeamId } : {},
1193
1571
  requires_mapping_verification: allowedViaThreadReplyException,
1572
+ ...this.botUserId ? { slack_bot_user_id: this.botUserId } : {},
1573
+ ...typeof event.ts === "string" ? { slack_message_ts: event.ts } : {},
1574
+ ...typeof event.thread_ts === "string" ? { slack_thread_ts: event.thread_ts } : typeof event.ts === "string" ? { slack_thread_ts: event.ts } : {},
1575
+ slack_is_thread_reply: isThreadReply,
1576
+ slack_has_mention: hasMention,
1577
+ slack_event_type: eventType,
1194
1578
  ...slackUserEmail ? { slack_user_email: slackUserEmail } : {},
1195
1579
  ...slackUserDisplayName ? { slack_user_name: slackUserDisplayName } : {},
1196
1580
  ...slackChannelName ? { slack_channel_name: slackChannelName } : {},
@@ -1535,6 +1919,83 @@ function hasConnector(channelType) {
1535
1919
  return connectors.has(channelType);
1536
1920
  }
1537
1921
 
1922
+ // src/gateway/connectors/slack-manifest.ts
1923
+ function hasChannelLikeSurface(opts) {
1924
+ return opts.publicChannels || opts.privateChannels || opts.groupDms;
1925
+ }
1926
+ function sortedUnique(values) {
1927
+ return [...new Set(values)].sort();
1928
+ }
1929
+ function requiredBotScopes(opts) {
1930
+ const scopes = ["chat:write", "im:history", "im:read", "users:read"];
1931
+ if (hasChannelLikeSurface(opts)) {
1932
+ scopes.push("app_mentions:read");
1933
+ }
1934
+ if (opts.publicChannels) {
1935
+ scopes.push("channels:history", "channels:read");
1936
+ }
1937
+ if (opts.privateChannels) {
1938
+ scopes.push("groups:history", "groups:read");
1939
+ }
1940
+ if (opts.groupDms) {
1941
+ scopes.push("mpim:history", "mpim:read");
1942
+ }
1943
+ if (opts.alignUsers) {
1944
+ scopes.push("users:read.email");
1945
+ }
1946
+ if (opts.outbound) {
1947
+ scopes.push(
1948
+ "chat:write.public",
1949
+ "channels:read",
1950
+ "groups:read",
1951
+ "im:write",
1952
+ "users:read.email"
1953
+ );
1954
+ }
1955
+ return sortedUnique(scopes);
1956
+ }
1957
+ function requiredBotEvents(opts) {
1958
+ const events = ["message.im"];
1959
+ if (hasChannelLikeSurface(opts)) {
1960
+ events.push("app_mention");
1961
+ }
1962
+ return sortedUnique(events);
1963
+ }
1964
+ function buildSlackManifest(opts) {
1965
+ return {
1966
+ display_information: {
1967
+ name: opts.appName
1968
+ },
1969
+ features: {
1970
+ bot_user: {
1971
+ display_name: opts.botDisplayName ?? opts.appName,
1972
+ always_online: true
1973
+ },
1974
+ app_home: {
1975
+ messages_tab_enabled: true,
1976
+ messages_tab_read_only_enabled: false,
1977
+ home_tab_enabled: false
1978
+ }
1979
+ },
1980
+ oauth_config: {
1981
+ scopes: {
1982
+ bot: requiredBotScopes(opts)
1983
+ }
1984
+ },
1985
+ settings: {
1986
+ event_subscriptions: {
1987
+ bot_events: requiredBotEvents(opts)
1988
+ },
1989
+ interactivity: {
1990
+ is_enabled: false
1991
+ },
1992
+ org_deploy_enabled: false,
1993
+ socket_mode_enabled: true,
1994
+ token_rotation_enabled: false
1995
+ }
1996
+ };
1997
+ }
1998
+
1538
1999
  // src/gateway/context.ts
1539
2000
  var PLATFORM_LABELS = {
1540
2001
  slack: "Slack",
@@ -1594,15 +2055,16 @@ function formatGatewayMarkdownSessionReference(sessionId, sessionUrl) {
1594
2055
  return sessionUrl ? `[session](${sessionUrl})` : `session ${shortId(sessionId)}`;
1595
2056
  }
1596
2057
  function formatGatewaySessionCreatedMessage(sessionId, sessionUrl) {
1597
- return sessionUrl ? `Session created: ${sessionUrl}` : `Session ${shortId(sessionId)} created, sending prompt to agent...`;
2058
+ return sessionUrl ? `Session created: ${sessionUrl}` : `Session ${shortId(sessionId)} created, sending prompt to agent.`;
1598
2059
  }
1599
2060
  function formatGatewayFollowUpRoutingMessage(sessionId, sessionUrl) {
1600
- return `Follow-up received \u2014 routing to ${formatGatewayMarkdownSessionReference(sessionId, sessionUrl)} ...`;
2061
+ return `Mention received \u2014 routing to ${formatGatewayMarkdownSessionReference(sessionId, sessionUrl)}.`;
1601
2062
  }
1602
2063
  function formatGatewaySystemMessage(channelType, text) {
1603
2064
  const sessionCreatedMatch = text.match(/^Session created: (https?:\/\/\S+)$/);
2065
+ const slackMentionGuidance = "Mention me again to follow up.";
1604
2066
  if (channelType === "slack") {
1605
- const markdown = sessionCreatedMatch ? `${GATEWAY_SYSTEM_PREFIX} Session created: [View session](${sessionCreatedMatch[1]})` : `${GATEWAY_SYSTEM_PREFIX} ${text}`;
2067
+ const markdown = sessionCreatedMatch ? `${GATEWAY_SYSTEM_PREFIX} Session created: [View session](${sessionCreatedMatch[1]}). ${slackMentionGuidance}` : text.startsWith("Session ") && text.includes(" created, sending prompt to agent.") ? `${GATEWAY_SYSTEM_PREFIX} ${text} ${slackMentionGuidance}` : text.startsWith("Mention received") ? `${GATEWAY_SYSTEM_PREFIX} ${text} ${slackMentionGuidance}` : `${GATEWAY_SYSTEM_PREFIX} ${text}`;
1606
2068
  return markdownToMrkdwn(markdown);
1607
2069
  }
1608
2070
  return `${GATEWAY_SYSTEM_PREFIX} ${text}`;
@@ -1632,6 +2094,7 @@ function formatGatewaySystemPayload(channelType, text) {
1632
2094
  GitHubConnector,
1633
2095
  SlackConnector,
1634
2096
  TeamsConnector,
2097
+ buildSlackManifest,
1635
2098
  extractQuotedReplyText,
1636
2099
  formatGatewayContext,
1637
2100
  formatGatewayFollowUpRoutingMessage,
@@ -1641,9 +2104,12 @@ function formatGatewaySystemPayload(channelType, text) {
1641
2104
  formatGatewaySystemPayload,
1642
2105
  getConnector,
1643
2106
  hasConnector,
2107
+ isChannelAllowedByWhitelist,
1644
2108
  markdownToMrkdwn,
1645
2109
  normalizeOutbound,
1646
2110
  parseGitHubThreadId,
1647
2111
  parseTeamsThreadId,
1648
- registerConnector
2112
+ registerConnector,
2113
+ requiredBotEvents,
2114
+ requiredBotScopes
1649
2115
  });
@@ -8,7 +8,10 @@ export type { GatewayConnector, InboundMessage, OutboundPayload } from './connec
8
8
  export { normalizeOutbound } from './connector';
9
9
  export { getConnector, hasConnector, registerConnector } from './connector-registry';
10
10
  export { GitHubConnector, parseThreadId as parseGitHubThreadId } from './connectors/github';
11
- export { markdownToMrkdwn, SlackConnector } from './connectors/slack';
11
+ export type { SlackThreadHistoryMessage, SlackThreadHistoryRequest, SlackThreadHistoryResult, } from './connectors/slack';
12
+ export { isChannelAllowedByWhitelist, markdownToMrkdwn, SlackConnector, } from './connectors/slack';
13
+ export type { SlackAppManifest, SlackBotEventSubscriptions, SlackWizardOptions, } from './connectors/slack-manifest';
14
+ export { buildSlackManifest, requiredBotEvents, requiredBotScopes, } from './connectors/slack-manifest';
12
15
  export { extractQuotedReplyText, parseThreadId as parseTeamsThreadId, TeamsConnector, } from './connectors/teams';
13
16
  export type { GatewayContext } from './context';
14
17
  export { formatGatewayContext } from './context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,aAAa,IAAI,kBAAkB,EACnC,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,aAAa,IAAI,kBAAkB,EACnC,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC"}