agor-live 0.21.2 → 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 (974) 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 +8 -2
  38. package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
  39. package/dist/cli/commands/branch/env/start.js +8 -2
  40. package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
  41. package/dist/cli/commands/branch/env/stop.js +8 -2
  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 +12 -3
  103. package/dist/core/api/index.d.ts +16 -2
  104. package/dist/core/api/index.d.ts.map +1 -1
  105. package/dist/core/api/index.js +12 -3
  106. package/dist/core/claude/index.cjs +634 -81
  107. package/dist/core/claude/index.js +631 -80
  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 +78 -10
  112. package/dist/core/client/index.js +69 -10
  113. package/dist/core/config/browser.cjs +5 -7
  114. package/dist/core/config/browser.js +5 -7
  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/constants.d.ts +1 -1
  118. package/dist/core/config/index.cjs +4277 -4391
  119. package/dist/core/config/index.d.ts +1 -0
  120. package/dist/core/config/index.d.ts.map +1 -1
  121. package/dist/core/config/index.js +4299 -4433
  122. package/dist/core/config/key-resolver.d.ts.map +1 -1
  123. package/dist/core/config/multitenancy.d.ts +33 -0
  124. package/dist/core/config/multitenancy.d.ts.map +1 -0
  125. package/dist/core/config/security-resolver.d.ts +1 -0
  126. package/dist/core/config/security-resolver.d.ts.map +1 -1
  127. package/dist/core/config/types.d.ts +75 -4
  128. package/dist/core/config/types.d.ts.map +1 -1
  129. package/dist/core/db/client.d.ts +34 -2
  130. package/dist/core/db/client.d.ts.map +1 -1
  131. package/dist/core/db/database-wrapper.d.ts.map +1 -1
  132. package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
  133. package/dist/core/db/index.cjs +2765 -1018
  134. package/dist/core/db/index.d.ts +2 -1
  135. package/dist/core/db/index.d.ts.map +1 -1
  136. package/dist/core/db/index.js +2612 -895
  137. package/dist/core/db/migrate.d.ts.map +1 -1
  138. package/dist/core/db/repositories/artifacts.d.ts +27 -2
  139. package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
  140. package/dist/core/db/repositories/base.d.ts +18 -0
  141. package/dist/core/db/repositories/base.d.ts.map +1 -1
  142. package/dist/core/db/repositories/board-comments.d.ts +17 -1
  143. package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
  144. package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
  145. package/dist/core/db/repositories/boards.d.ts +28 -4
  146. package/dist/core/db/repositories/boards.d.ts.map +1 -1
  147. package/dist/core/db/repositories/branch-access.d.ts +32 -0
  148. package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
  149. package/dist/core/db/repositories/branches.d.ts +54 -2
  150. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  151. package/dist/core/db/repositories/cards.d.ts +15 -1
  152. package/dist/core/db/repositories/cards.d.ts.map +1 -1
  153. package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
  154. package/dist/core/db/repositories/gateway-outbound-messages.d.ts +19 -0
  155. package/dist/core/db/repositories/gateway-outbound-messages.d.ts.map +1 -0
  156. package/dist/core/db/repositories/index.d.ts +3 -0
  157. package/dist/core/db/repositories/index.d.ts.map +1 -1
  158. package/dist/core/db/repositories/messages.d.ts +9 -2
  159. package/dist/core/db/repositories/messages.d.ts.map +1 -1
  160. package/dist/core/db/repositories/repos.d.ts.map +1 -1
  161. package/dist/core/db/repositories/schedules.d.ts +12 -1
  162. package/dist/core/db/repositories/schedules.d.ts.map +1 -1
  163. package/dist/core/db/repositories/session-relationships.d.ts +30 -0
  164. package/dist/core/db/repositories/session-relationships.d.ts.map +1 -0
  165. package/dist/core/db/repositories/sessions.d.ts +49 -5
  166. package/dist/core/db/repositories/sessions.d.ts.map +1 -1
  167. package/dist/core/db/repositories/tasks.d.ts +7 -2
  168. package/dist/core/db/repositories/tasks.d.ts.map +1 -1
  169. package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
  170. package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
  171. package/dist/core/db/repositories/users.d.ts +18 -7
  172. package/dist/core/db/repositories/users.d.ts.map +1 -1
  173. package/dist/core/db/schema.d.ts +2605 -766
  174. package/dist/core/db/schema.d.ts.map +1 -1
  175. package/dist/core/db/schema.postgres.d.ts +1318 -49
  176. package/dist/core/db/schema.postgres.d.ts.map +1 -1
  177. package/dist/core/db/schema.sqlite.d.ts +667 -45
  178. package/dist/core/db/schema.sqlite.d.ts.map +1 -1
  179. package/dist/core/db/tenant-context.d.ts +26 -0
  180. package/dist/core/db/tenant-context.d.ts.map +1 -0
  181. package/dist/core/db/tenant-scope.d.ts +31 -0
  182. package/dist/core/db/tenant-scope.d.ts.map +1 -0
  183. package/dist/core/db/user-utils.d.ts +2 -2
  184. package/dist/core/db/user-utils.d.ts.map +1 -1
  185. package/dist/core/drizzle/postgres/0050_artifact_source_session.sql +3 -0
  186. package/dist/core/drizzle/postgres/0051_session_relationships.sql +26 -0
  187. package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
  188. package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
  189. package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
  190. package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
  191. package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
  192. package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
  193. package/dist/core/drizzle/postgres/meta/_journal.json +56 -0
  194. package/dist/core/drizzle/sqlite/0059_artifact_source_session.sql +2 -0
  195. package/dist/core/drizzle/sqlite/0060_session_relationships.sql +23 -0
  196. package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
  197. package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
  198. package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
  199. package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
  200. package/dist/core/drizzle/sqlite/meta/_journal.json +42 -0
  201. package/dist/core/environment/render-snapshot.cjs +1 -4
  202. package/dist/core/environment/render-snapshot.js +1 -4
  203. package/dist/core/environment/webhook.cjs +1 -4
  204. package/dist/core/environment/webhook.js +1 -4
  205. package/dist/core/gateway/connector-registry.d.ts.map +1 -1
  206. package/dist/core/gateway/connector.d.ts +32 -1
  207. package/dist/core/gateway/connector.d.ts.map +1 -1
  208. package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
  209. package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
  210. package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
  211. package/dist/core/gateway/connectors/slack-manifest.js +81 -0
  212. package/dist/core/gateway/connectors/slack.d.ts +136 -7
  213. package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
  214. package/dist/core/gateway/connectors/teams.d.ts +107 -0
  215. package/dist/core/gateway/connectors/teams.d.ts.map +1 -0
  216. package/dist/core/gateway/context.d.ts.map +1 -1
  217. package/dist/core/gateway/index.cjs +1044 -78
  218. package/dist/core/gateway/index.d.ts +6 -2
  219. package/dist/core/gateway/index.d.ts.map +1 -1
  220. package/dist/core/gateway/index.js +1031 -77
  221. package/dist/core/gateway/system-message.d.ts +21 -0
  222. package/dist/core/gateway/system-message.d.ts.map +1 -1
  223. package/dist/core/git/exec.cjs +24 -0
  224. package/dist/core/git/exec.d.ts +6 -4
  225. package/dist/core/git/exec.d.ts.map +1 -1
  226. package/dist/core/git/exec.js +2 -0
  227. package/dist/core/git/index.cjs +3 -1363
  228. package/dist/core/git/index.d.ts +4 -614
  229. package/dist/core/git/index.d.ts.map +1 -1
  230. package/dist/core/git/index.js +1 -1304
  231. package/dist/core/git/pure.cjs +24 -0
  232. package/dist/core/git/pure.d.ts +2 -27
  233. package/dist/core/git/pure.d.ts.map +1 -1
  234. package/dist/core/git/pure.js +2 -0
  235. package/dist/core/index.cjs +11268 -10246
  236. package/dist/core/index.d.ts +2 -0
  237. package/dist/core/index.d.ts.map +1 -1
  238. package/dist/core/index.js +11703 -10179
  239. package/dist/core/lib/feathers-validation.cjs +6 -1
  240. package/dist/core/lib/feathers-validation.d.ts +1 -0
  241. package/dist/core/lib/feathers-validation.d.ts.map +1 -1
  242. package/dist/core/lib/feathers-validation.js +6 -1
  243. package/dist/core/local-actions/git-remotes.d.ts +7 -0
  244. package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
  245. package/dist/core/local-actions/index.cjs +7941 -0
  246. package/dist/core/local-actions/index.d.ts +6 -0
  247. package/dist/core/local-actions/index.d.ts.map +1 -0
  248. package/dist/core/local-actions/index.js +7943 -0
  249. package/dist/core/local-actions/symlinks.d.ts +20 -0
  250. package/dist/core/local-actions/symlinks.d.ts.map +1 -0
  251. package/dist/core/local-actions/types.d.ts +14 -0
  252. package/dist/core/local-actions/types.d.ts.map +1 -0
  253. package/dist/core/local-actions/unix-groups.d.ts +16 -0
  254. package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
  255. package/dist/core/local-actions/unix-users.d.ts +12 -0
  256. package/dist/core/local-actions/unix-users.d.ts.map +1 -0
  257. package/dist/core/mcp/index.cjs +498 -34
  258. package/dist/core/mcp/index.js +497 -33
  259. package/dist/core/mcp/template-resolver.d.ts.map +1 -1
  260. package/dist/core/models/browser.cjs +148 -25
  261. package/dist/core/models/browser.js +144 -25
  262. package/dist/core/models/claude.d.ts +2 -2
  263. package/dist/core/models/claude.d.ts.map +1 -1
  264. package/dist/core/models/codex.d.ts +205 -21
  265. package/dist/core/models/codex.d.ts.map +1 -1
  266. package/dist/core/models/index.cjs +148 -25
  267. package/dist/core/models/index.js +144 -25
  268. package/dist/core/package.json +24 -0
  269. package/dist/core/seed/demo-fixtures.d.ts +87 -0
  270. package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
  271. package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
  272. package/dist/core/seed/index.cjs +8785 -5563
  273. package/dist/core/seed/index.d.ts +1 -0
  274. package/dist/core/seed/index.d.ts.map +1 -1
  275. package/dist/core/seed/index.js +8787 -5570
  276. package/dist/core/sessions/index.cjs +129 -24
  277. package/dist/core/sessions/index.js +129 -24
  278. package/dist/core/telemetry/index.cjs +361 -0
  279. package/dist/core/telemetry/index.d.ts +5 -0
  280. package/dist/core/telemetry/index.d.ts.map +1 -0
  281. package/dist/core/telemetry/index.js +315 -0
  282. package/dist/core/telemetry/logger.d.ts +44 -0
  283. package/dist/core/telemetry/logger.d.ts.map +1 -0
  284. package/dist/core/telemetry/model-normalization.d.ts +3 -0
  285. package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
  286. package/dist/core/telemetry/types.d.ts +47 -0
  287. package/dist/core/telemetry/types.d.ts.map +1 -0
  288. package/dist/core/telemetry/version.d.ts +9 -0
  289. package/dist/core/telemetry/version.d.ts.map +1 -0
  290. package/dist/core/templates/agor-system-prompt.md +22 -53
  291. package/dist/core/templates/session-context.cjs +2 -73
  292. package/dist/core/templates/session-context.d.ts +9 -53
  293. package/dist/core/templates/session-context.d.ts.map +1 -1
  294. package/dist/core/templates/session-context.js +2 -72
  295. package/dist/core/tools/mcp/jwt-auth.cjs +2 -20
  296. package/dist/core/tools/mcp/jwt-auth.d.ts.map +1 -1
  297. package/dist/core/tools/mcp/jwt-auth.js +2 -20
  298. package/dist/core/tools/mcp/oauth-mcp-transport.cjs +2 -15
  299. package/dist/core/tools/mcp/oauth-mcp-transport.d.ts.map +1 -1
  300. package/dist/core/tools/mcp/oauth-mcp-transport.js +2 -15
  301. package/dist/core/tools/mcp/oauth-refresh.cjs +684 -106
  302. package/dist/core/tools/mcp/oauth-refresh.js +682 -107
  303. package/dist/core/types/artifact.d.ts +5 -1
  304. package/dist/core/types/artifact.d.ts.map +1 -1
  305. package/dist/core/types/board.d.ts +2 -0
  306. package/dist/core/types/board.d.ts.map +1 -1
  307. package/dist/core/types/branch.d.ts +27 -0
  308. package/dist/core/types/branch.d.ts.map +1 -1
  309. package/dist/core/types/config-services.d.ts.map +1 -1
  310. package/dist/core/types/feathers.d.ts +6 -0
  311. package/dist/core/types/feathers.d.ts.map +1 -1
  312. package/dist/core/types/gateway.d.ts +77 -2
  313. package/dist/core/types/gateway.d.ts.map +1 -1
  314. package/dist/core/types/id.d.ts +1 -0
  315. package/dist/core/types/id.d.ts.map +1 -1
  316. package/dist/core/types/index.cjs +61 -0
  317. package/dist/core/types/index.d.ts +1 -0
  318. package/dist/core/types/index.d.ts.map +1 -1
  319. package/dist/core/types/index.js +52 -0
  320. package/dist/core/types/schedule.d.ts +4 -3
  321. package/dist/core/types/schedule.d.ts.map +1 -1
  322. package/dist/core/types/session.d.ts +72 -2
  323. package/dist/core/types/session.d.ts.map +1 -1
  324. package/dist/core/types/task.d.ts +9 -0
  325. package/dist/core/types/task.d.ts.map +1 -1
  326. package/dist/core/types/tenant.d.ts +15 -0
  327. package/dist/core/types/tenant.d.ts.map +1 -0
  328. package/dist/core/types/user.d.ts +61 -0
  329. package/dist/core/types/user.d.ts.map +1 -1
  330. package/dist/core/unix/index.cjs +1367 -669
  331. package/dist/core/unix/index.js +1330 -634
  332. package/dist/core/unix/unix-integration-service.d.ts +10 -7
  333. package/dist/core/unix/unix-integration-service.d.ts.map +1 -1
  334. package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
  335. package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
  336. package/dist/core/utils/permission-mode-mapper.cjs +19 -0
  337. package/dist/core/utils/permission-mode-mapper.js +19 -0
  338. package/dist/core/yaml/index.cjs +8 -8
  339. package/dist/core/yaml/index.d.ts +1 -1
  340. package/dist/core/yaml/index.d.ts.map +1 -1
  341. package/dist/core/yaml/index.js +7 -7
  342. package/dist/daemon/adapters/drizzle.d.ts +26 -4
  343. package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
  344. package/dist/daemon/adapters/drizzle.js +68 -7
  345. package/dist/daemon/auth/api-key-strategy.js +1 -1
  346. package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
  347. package/dist/daemon/auth/executor-runtime-scope.js +19 -5
  348. package/dist/daemon/auth/launch-auth.d.ts +5 -4
  349. package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
  350. package/dist/daemon/auth/launch-auth.js +123 -39
  351. package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
  352. package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
  353. package/dist/daemon/auth/refresh-token-service.js +133 -0
  354. package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
  355. package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
  356. package/dist/daemon/auth/runtime-tokens.js +17 -4
  357. package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
  358. package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
  359. package/dist/daemon/auth/service-jwt-strategy.js +127 -1
  360. package/dist/daemon/auth/token-invalidation.d.ts +11 -0
  361. package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
  362. package/dist/daemon/auth/token-invalidation.js +38 -0
  363. package/dist/daemon/auth/user-redaction.d.ts +12 -0
  364. package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
  365. package/dist/daemon/auth/user-redaction.js +13 -0
  366. package/dist/daemon/declarations.d.ts +8 -1
  367. package/dist/daemon/declarations.d.ts.map +1 -1
  368. package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
  369. package/dist/daemon/hooks/gateway-route.js +69 -7
  370. package/dist/daemon/index.d.ts.map +1 -1
  371. package/dist/daemon/index.js +10429 -4408
  372. package/dist/daemon/knowledge/pgvector.d.ts +3 -3
  373. package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
  374. package/dist/daemon/knowledge/pgvector.js +24 -0
  375. package/dist/daemon/knowledge/units.d.ts +2 -2
  376. package/dist/daemon/knowledge/units.d.ts.map +1 -1
  377. package/dist/daemon/main.js +10429 -4408
  378. package/dist/daemon/mcp/server.d.ts +3 -3
  379. package/dist/daemon/mcp/server.d.ts.map +1 -1
  380. package/dist/daemon/mcp/server.js +1621 -87
  381. package/dist/daemon/mcp/tokens.d.ts +2 -2
  382. package/dist/daemon/mcp/tokens.d.ts.map +1 -1
  383. package/dist/daemon/mcp/tokens.js +5 -1
  384. package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
  385. package/dist/daemon/mcp/tool-registry.js +1 -0
  386. package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
  387. package/dist/daemon/mcp/tools/analytics.js +553 -29
  388. package/dist/daemon/mcp/tools/artifacts.d.ts.map +1 -1
  389. package/dist/daemon/mcp/tools/artifacts.js +516 -25
  390. package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
  391. package/dist/daemon/mcp/tools/boards.js +522 -26
  392. package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
  393. package/dist/daemon/mcp/tools/branches.js +579 -55
  394. package/dist/daemon/mcp/tools/card-types.js +513 -23
  395. package/dist/daemon/mcp/tools/cards.js +513 -23
  396. package/dist/daemon/mcp/tools/environment.d.ts.map +1 -1
  397. package/dist/daemon/mcp/tools/environment.js +534 -28
  398. package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
  399. package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
  400. package/dist/daemon/mcp/tools/gateway-channels.js +16035 -0
  401. package/dist/daemon/mcp/tools/knowledge.js +513 -23
  402. package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
  403. package/dist/daemon/mcp/tools/mcp-servers.js +848 -23
  404. package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
  405. package/dist/daemon/mcp/tools/messages.js +573 -37
  406. package/dist/daemon/mcp/tools/proxies.js +523 -25
  407. package/dist/daemon/mcp/tools/repos.js +513 -23
  408. package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
  409. package/dist/daemon/mcp/tools/schedules.js +516 -24
  410. package/dist/daemon/mcp/tools/search.js +513 -23
  411. package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
  412. package/dist/daemon/mcp/tools/sessions.js +660 -33
  413. package/dist/daemon/mcp/tools/tasks.js +513 -23
  414. package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
  415. package/dist/daemon/mcp/tools/users.js +532 -28
  416. package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
  417. package/dist/daemon/mcp/tools/widgets.js +542 -25
  418. package/dist/daemon/register-hooks.d.ts +8 -3
  419. package/dist/daemon/register-hooks.d.ts.map +1 -1
  420. package/dist/daemon/register-hooks.js +1146 -609
  421. package/dist/daemon/register-routes.d.ts +3 -2
  422. package/dist/daemon/register-routes.d.ts.map +1 -1
  423. package/dist/daemon/register-routes.js +2926 -829
  424. package/dist/daemon/register-services.d.ts +2 -2
  425. package/dist/daemon/register-services.d.ts.map +1 -1
  426. package/dist/daemon/register-services.js +4209 -1140
  427. package/dist/daemon/services/artifacts.d.ts +43 -6
  428. package/dist/daemon/services/artifacts.d.ts.map +1 -1
  429. package/dist/daemon/services/artifacts.js +134 -9
  430. package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
  431. package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
  432. package/dist/daemon/services/board-comments.d.ts +8 -5
  433. package/dist/daemon/services/board-comments.d.ts.map +1 -1
  434. package/dist/daemon/services/board-comments.js +78 -13
  435. package/dist/daemon/services/board-objects.d.ts +8 -5
  436. package/dist/daemon/services/board-objects.d.ts.map +1 -1
  437. package/dist/daemon/services/board-objects.js +14 -4
  438. package/dist/daemon/services/boards.d.ts +34 -5
  439. package/dist/daemon/services/boards.d.ts.map +1 -1
  440. package/dist/daemon/services/boards.js +116 -8
  441. package/dist/daemon/services/branch-owners.d.ts +3 -1
  442. package/dist/daemon/services/branch-owners.d.ts.map +1 -1
  443. package/dist/daemon/services/branch-owners.js +31 -4
  444. package/dist/daemon/services/branches.d.ts +39 -6
  445. package/dist/daemon/services/branches.d.ts.map +1 -1
  446. package/dist/daemon/services/branches.js +703 -210
  447. package/dist/daemon/services/card-types.d.ts +3 -3
  448. package/dist/daemon/services/card-types.d.ts.map +1 -1
  449. package/dist/daemon/services/card-types.js +68 -7
  450. package/dist/daemon/services/cards.d.ts +19 -4
  451. package/dist/daemon/services/cards.d.ts.map +1 -1
  452. package/dist/daemon/services/cards.js +92 -8
  453. package/dist/daemon/services/check-auth.d.ts +2 -2
  454. package/dist/daemon/services/check-auth.d.ts.map +1 -1
  455. package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
  456. package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
  457. package/dist/daemon/services/claude-cli-integration.js +117 -65
  458. package/dist/daemon/services/claude-models.d.ts +3 -3
  459. package/dist/daemon/services/claude-models.d.ts.map +1 -1
  460. package/dist/daemon/services/claude-models.js +1048 -397
  461. package/dist/daemon/services/config.d.ts +12 -4
  462. package/dist/daemon/services/config.d.ts.map +1 -1
  463. package/dist/daemon/services/config.js +39 -3
  464. package/dist/daemon/services/copilot-models.d.ts +3 -3
  465. package/dist/daemon/services/copilot-models.d.ts.map +1 -1
  466. package/dist/daemon/services/cursor-models.d.ts +3 -3
  467. package/dist/daemon/services/cursor-models.d.ts.map +1 -1
  468. package/dist/daemon/services/files.d.ts +3 -3
  469. package/dist/daemon/services/files.d.ts.map +1 -1
  470. package/dist/daemon/services/files.js +24 -5
  471. package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
  472. package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
  473. package/dist/daemon/services/gateway-channels-test.js +66 -0
  474. package/dist/daemon/services/gateway-channels.d.ts +3 -3
  475. package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
  476. package/dist/daemon/services/gateway-channels.js +68 -7
  477. package/dist/daemon/services/gateway.d.ts +106 -5
  478. package/dist/daemon/services/gateway.d.ts.map +1 -1
  479. package/dist/daemon/services/gateway.js +1184 -95
  480. package/dist/daemon/services/github-app-setup.d.ts +3 -3
  481. package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
  482. package/dist/daemon/services/groups.d.ts +7 -5
  483. package/dist/daemon/services/groups.d.ts.map +1 -1
  484. package/dist/daemon/services/groups.js +56 -0
  485. package/dist/daemon/services/health-monitor.d.ts +34 -2
  486. package/dist/daemon/services/health-monitor.d.ts.map +1 -1
  487. package/dist/daemon/services/health-monitor.js +145 -23
  488. package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
  489. package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
  490. package/dist/daemon/services/knowledge-documents.d.ts +3 -3
  491. package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
  492. package/dist/daemon/services/knowledge-documents.js +92 -7
  493. package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
  494. package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
  495. package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
  496. package/dist/daemon/services/knowledge-graph.d.ts +3 -3
  497. package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
  498. package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
  499. package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
  500. package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
  501. package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
  502. package/dist/daemon/services/knowledge-namespaces.js +72 -8
  503. package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
  504. package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
  505. package/dist/daemon/services/knowledge-reindex.js +28 -1
  506. package/dist/daemon/services/knowledge-search.d.ts +3 -3
  507. package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
  508. package/dist/daemon/services/knowledge-settings.d.ts +3 -3
  509. package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
  510. package/dist/daemon/services/knowledge-settings.js +24 -0
  511. package/dist/daemon/services/knowledge-versions.d.ts +3 -3
  512. package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
  513. package/dist/daemon/services/knowledge-versions.js +68 -7
  514. package/dist/daemon/services/leaderboard.d.ts +14 -6
  515. package/dist/daemon/services/leaderboard.d.ts.map +1 -1
  516. package/dist/daemon/services/leaderboard.js +74 -15
  517. package/dist/daemon/services/local-actions.d.ts +13 -0
  518. package/dist/daemon/services/local-actions.d.ts.map +1 -0
  519. package/dist/daemon/services/local-actions.js +120 -0
  520. package/dist/daemon/services/mcp-servers.d.ts +3 -3
  521. package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
  522. package/dist/daemon/services/mcp-servers.js +68 -13
  523. package/dist/daemon/services/messages.d.ts +10 -6
  524. package/dist/daemon/services/messages.d.ts.map +1 -1
  525. package/dist/daemon/services/messages.js +87 -7
  526. package/dist/daemon/services/repos.d.ts +6 -6
  527. package/dist/daemon/services/repos.d.ts.map +1 -1
  528. package/dist/daemon/services/repos.js +131 -32
  529. package/dist/daemon/services/scheduler.d.ts +23 -27
  530. package/dist/daemon/services/scheduler.d.ts.map +1 -1
  531. package/dist/daemon/services/scheduler.js +61 -30
  532. package/dist/daemon/services/schedules.d.ts +3 -3
  533. package/dist/daemon/services/schedules.d.ts.map +1 -1
  534. package/dist/daemon/services/schedules.js +68 -7
  535. package/dist/daemon/services/session-env-selections.d.ts +3 -3
  536. package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
  537. package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
  538. package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
  539. package/dist/daemon/services/session-token-service.d.ts.map +1 -1
  540. package/dist/daemon/services/session-token-service.js +3 -0
  541. package/dist/daemon/services/sessions.d.ts +20 -8
  542. package/dist/daemon/services/sessions.d.ts.map +1 -1
  543. package/dist/daemon/services/sessions.js +211 -17
  544. package/dist/daemon/services/tasks.d.ts +24 -7
  545. package/dist/daemon/services/tasks.d.ts.map +1 -1
  546. package/dist/daemon/services/tasks.js +235 -59
  547. package/dist/daemon/services/terminals.d.ts +21 -3
  548. package/dist/daemon/services/terminals.d.ts.map +1 -1
  549. package/dist/daemon/services/terminals.js +81 -25
  550. package/dist/daemon/services/thread-session-map.d.ts +3 -3
  551. package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
  552. package/dist/daemon/services/thread-session-map.js +68 -7
  553. package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
  554. package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
  555. package/dist/daemon/services/user-avatar-sync.js +267 -0
  556. package/dist/daemon/services/users.d.ts +29 -9
  557. package/dist/daemon/services/users.d.ts.map +1 -1
  558. package/dist/daemon/services/users.js +383 -30
  559. package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
  560. package/dist/daemon/services/zone-trigger.js +17 -4
  561. package/dist/daemon/setup/build-info.d.ts +1 -1
  562. package/dist/daemon/setup/build-info.d.ts.map +1 -1
  563. package/dist/daemon/setup/build-info.js +5 -1
  564. package/dist/daemon/setup/database.d.ts +8 -3
  565. package/dist/daemon/setup/database.d.ts.map +1 -1
  566. package/dist/daemon/setup/database.js +26 -6
  567. package/dist/daemon/setup/first-run-admin.d.ts +2 -2
  568. package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
  569. package/dist/daemon/setup/index.js +97 -17
  570. package/dist/daemon/setup/socketio.d.ts +10 -1
  571. package/dist/daemon/setup/socketio.d.ts.map +1 -1
  572. package/dist/daemon/setup/socketio.js +68 -10
  573. package/dist/daemon/startup.d.ts +13 -2
  574. package/dist/daemon/startup.d.ts.map +1 -1
  575. package/dist/daemon/startup.js +354 -88
  576. package/dist/daemon/utils/append-system-message.d.ts +2 -2
  577. package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
  578. package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
  579. package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
  580. package/dist/daemon/utils/authorization.d.ts +3 -1
  581. package/dist/daemon/utils/authorization.d.ts.map +1 -1
  582. package/dist/daemon/utils/authorization.js +21 -6
  583. package/dist/daemon/utils/branch-authorization.d.ts +30 -0
  584. package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
  585. package/dist/daemon/utils/branch-authorization.js +63 -5
  586. package/dist/daemon/utils/branch-inspect.d.ts +1 -0
  587. package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
  588. package/dist/daemon/utils/branch-inspect.js +11 -3
  589. package/dist/daemon/utils/executor-read-impersonation.d.ts +2 -2
  590. package/dist/daemon/utils/executor-read-impersonation.d.ts.map +1 -1
  591. package/dist/daemon/utils/git-impersonation.d.ts +10 -10
  592. package/dist/daemon/utils/git-impersonation.d.ts.map +1 -1
  593. package/dist/daemon/utils/git-remote-credential-scan.d.ts +3 -3
  594. package/dist/daemon/utils/git-remote-credential-scan.d.ts.map +1 -1
  595. package/dist/daemon/utils/git-remote-credential-scan.js +6 -2
  596. package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
  597. package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
  598. package/dist/daemon/utils/mcp-token-authorization.js +11 -5
  599. package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
  600. package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
  601. package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
  602. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
  603. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
  604. package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
  605. package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
  606. package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
  607. package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
  608. package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
  609. package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
  610. package/dist/daemon/utils/realign-repo-origin.js +47 -16
  611. package/dist/daemon/utils/realtime-publish.d.ts +2 -0
  612. package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
  613. package/dist/daemon/utils/realtime-publish.js +51 -10
  614. package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
  615. package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
  616. package/dist/daemon/utils/session-stop.d.ts +43 -0
  617. package/dist/daemon/utils/session-stop.d.ts.map +1 -0
  618. package/dist/daemon/utils/session-stop.js +102 -0
  619. package/dist/daemon/utils/session-task-state.d.ts +7 -2
  620. package/dist/daemon/utils/session-task-state.d.ts.map +1 -1
  621. package/dist/daemon/utils/session-task-state.js +9 -3
  622. package/dist/daemon/utils/session-tasks.d.ts +4 -4
  623. package/dist/daemon/utils/session-tasks.d.ts.map +1 -1
  624. package/dist/daemon/utils/session-tasks.js +4 -8
  625. package/dist/daemon/utils/session-turn-lock.d.ts +8 -1
  626. package/dist/daemon/utils/session-turn-lock.d.ts.map +1 -1
  627. package/dist/daemon/utils/session-turn-lock.js +25 -2
  628. package/dist/daemon/utils/spawn-executor.d.ts +23 -1
  629. package/dist/daemon/utils/spawn-executor.d.ts.map +1 -1
  630. package/dist/daemon/utils/spawn-executor.js +34 -4
  631. package/dist/daemon/utils/tenant-db-scope.d.ts +20 -0
  632. package/dist/daemon/utils/tenant-db-scope.d.ts.map +1 -0
  633. package/dist/daemon/utils/tenant-db-scope.js +114 -0
  634. package/dist/daemon/utils/unix-group-init.d.ts +3 -3
  635. package/dist/daemon/utils/unix-group-init.d.ts.map +1 -1
  636. package/dist/daemon/utils/upload.d.ts +6 -9
  637. package/dist/daemon/utils/upload.d.ts.map +1 -1
  638. package/dist/daemon/utils/upload.js +30 -37
  639. package/dist/daemon/widgets/env-vars/index.d.ts +26 -1
  640. package/dist/daemon/widgets/env-vars/index.d.ts.map +1 -1
  641. package/dist/daemon/widgets/env-vars/index.js +145 -21
  642. package/dist/daemon/widgets/index.js +137 -21
  643. package/dist/executor/commands/environment.d.ts +13 -0
  644. package/dist/executor/commands/environment.d.ts.map +1 -0
  645. package/dist/executor/commands/environment.js +291 -0
  646. package/dist/executor/commands/git.js +1 -1
  647. package/dist/executor/commands/index.d.ts.map +1 -1
  648. package/dist/executor/commands/index.js +5 -1
  649. package/dist/executor/commands/unix.d.ts +8 -1
  650. package/dist/executor/commands/unix.d.ts.map +1 -1
  651. package/dist/executor/commands/unix.js +157 -2
  652. package/dist/executor/git/index.d.ts +8 -0
  653. package/dist/executor/git/index.d.ts.map +1 -0
  654. package/dist/executor/git/index.js +7 -0
  655. package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
  656. package/dist/executor/handlers/sdk/base-executor.js +4 -1
  657. package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
  658. package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
  659. package/dist/executor/payload-types.d.ts +201 -5
  660. package/dist/executor/payload-types.d.ts.map +1 -1
  661. package/dist/executor/payload-types.js +98 -0
  662. package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
  663. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
  664. package/dist/executor/sdk-handlers/base/mcp-scoping.js +14 -0
  665. package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +1 -1
  666. package/dist/executor/sdk-handlers/claude/message-processor.js +0 -1
  667. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +1 -0
  668. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  669. package/dist/executor/sdk-handlers/claude/query-builder.js +91 -39
  670. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +6 -10
  671. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  672. package/dist/executor/sdk-handlers/codex/codex-tool.js +12 -15
  673. package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
  674. package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
  675. package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
  676. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
  677. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
  678. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
  679. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +12 -5
  680. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  681. package/dist/executor/sdk-handlers/codex/prompt-service.js +133 -36
  682. package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
  683. package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
  684. package/dist/executor/sdk-handlers/codex/usage.js +18 -33
  685. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +2 -4
  686. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
  687. package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -13
  688. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +2 -4
  689. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  690. package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -13
  691. package/dist/executor/services/feathers-client.js +5 -5
  692. package/dist/git/index.cjs +1101 -0
  693. package/dist/git/index.d.ts +533 -0
  694. package/dist/git/index.d.ts.map +1 -0
  695. package/dist/git/index.js +1022 -0
  696. package/dist/git/package.json +21 -0
  697. package/dist/git/pure.cjs +185 -0
  698. package/dist/git/pure.d.ts +39 -0
  699. package/dist/git/pure.d.ts.map +1 -0
  700. package/dist/git/pure.js +139 -0
  701. package/dist/ui/assets/AgorEmojiPickerInner-DQjr8M3_.js +1 -0
  702. package/dist/ui/assets/App-hJtcOxHv.js +5 -0
  703. package/dist/ui/assets/App-hJtcOxHv.js.gz +0 -0
  704. package/dist/ui/assets/AppNode-BhuMpn8O.js +1 -0
  705. package/dist/ui/assets/AppNode-BhuMpn8O.js.gz +0 -0
  706. package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js +1 -0
  707. package/dist/ui/assets/ArtifactConsentModal-oMMzRn8L.js.gz +0 -0
  708. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js +9 -0
  709. package/dist/ui/assets/ArtifactFullscreenPage-B3wT8t8f.js.gz +0 -0
  710. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js +9 -0
  711. package/dist/ui/assets/ArtifactNode-BzQcrwFS.js.gz +0 -0
  712. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js +19 -0
  713. package/dist/ui/assets/AutocompleteTextarea-Dau-V_30.js.gz +0 -0
  714. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js +34 -0
  715. package/dist/ui/assets/BoardObjectNodes-DdKWv_ZT.js.gz +0 -0
  716. package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js +7 -0
  717. package/dist/ui/assets/CodeEditor.inner-Cuj6RuLL.js.gz +0 -0
  718. package/dist/ui/assets/ConversationView-9-3ma1u-.js +1 -0
  719. package/dist/ui/assets/ConversationView-9-3ma1u-.js.gz +0 -0
  720. package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js +2 -0
  721. package/dist/ui/assets/EmbeddedTerminal-Lx5I9EOJ.js.gz +0 -0
  722. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js +24 -0
  723. package/dist/ui/assets/KnowledgePage-Dz8YAMYC.js.gz +0 -0
  724. package/dist/ui/assets/MarketingScreenshotPage-9Qd7eZsm.css +1 -0
  725. package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js +143 -0
  726. package/dist/ui/assets/MarketingScreenshotPage-CmDPBHOl.js.gz +0 -0
  727. package/dist/ui/assets/MobileApp-BpgSG_gz.js +1 -0
  728. package/dist/ui/assets/MobileApp-BpgSG_gz.js.gz +0 -0
  729. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js +13 -0
  730. package/dist/ui/assets/SessionCanvas-B6_mtlxK.js.gz +0 -0
  731. package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css +1 -0
  732. package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
  733. package/dist/ui/assets/{StreamdownDemoPage-B9wbgp2s.js → StreamdownDemoPage-okKKR2QH.js} +2 -2
  734. package/dist/ui/assets/StreamdownDemoPage-okKKR2QH.js.gz +0 -0
  735. package/dist/ui/assets/TerminalModal-D9jMGZXv.js +2 -0
  736. package/dist/ui/assets/TerminalModal-D9jMGZXv.js.gz +0 -0
  737. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js +1 -0
  738. package/dist/ui/assets/ThemeSwitcher-D9HgT37l.js.gz +0 -0
  739. package/dist/ui/assets/ThemedSyntaxHighlighter.inner-C1FdIHn0.js +1 -0
  740. package/dist/ui/assets/antd-DT5ackd0.js +401 -0
  741. package/dist/ui/assets/antd-DT5ackd0.js.gz +0 -0
  742. package/dist/ui/assets/architecture-U656AL7Q-DMnxkQRZ.js +1 -0
  743. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js +36 -0
  744. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DwTJGGoj.js.gz +0 -0
  745. package/dist/ui/assets/{blockDiagram-VD42YOAC-CzGHAHao.js → blockDiagram-VD42YOAC-Dh1_TVW2.js} +4 -4
  746. package/dist/ui/assets/blockDiagram-VD42YOAC-Dh1_TVW2.js.gz +0 -0
  747. package/dist/ui/assets/{c4Diagram-YG6GDRKO-DscJyaWN.js → c4Diagram-YG6GDRKO-B1e96AcB.js} +2 -2
  748. package/dist/ui/assets/c4Diagram-YG6GDRKO-B1e96AcB.js.gz +0 -0
  749. package/dist/ui/assets/channel-Jv4dT4S5.js +1 -0
  750. package/dist/ui/assets/{chunk-4BX2VUAB-DoWpTvP8.js → chunk-4BX2VUAB-BODpCjJx.js} +1 -1
  751. package/dist/ui/assets/chunk-55IACEB6-lJXvUquf.js +1 -0
  752. package/dist/ui/assets/{chunk-ABZYJK2D-RzDCrjE6.js → chunk-ABZYJK2D-DCTXWSzV.js} +3 -3
  753. package/dist/ui/assets/chunk-ABZYJK2D-DCTXWSzV.js.gz +0 -0
  754. package/dist/ui/assets/{chunk-AGHRB4JF-jidCS5Of.js → chunk-AGHRB4JF-CbNphBjE.js} +1 -1
  755. package/dist/ui/assets/chunk-AGHRB4JF-CbNphBjE.js.gz +0 -0
  756. package/dist/ui/assets/{chunk-ATLVNIR6-BEIIfJtC.js → chunk-ATLVNIR6-rWg3qxof.js} +1 -1
  757. package/dist/ui/assets/chunk-ATLVNIR6-rWg3qxof.js.gz +0 -0
  758. package/dist/ui/assets/{chunk-B4BG7PRW-B8b6dQQ2.js → chunk-B4BG7PRW-CgtLCbpE.js} +3 -3
  759. package/dist/ui/assets/chunk-B4BG7PRW-CgtLCbpE.js.gz +0 -0
  760. package/dist/ui/assets/{chunk-CVBHYZKI-D-mQAfrk.js → chunk-CVBHYZKI-DTL6Zgr0.js} +1 -1
  761. package/dist/ui/assets/{chunk-DI55MBZ5-BfATX3V8.js → chunk-DI55MBZ5-Dwvx2Kva.js} +1 -1
  762. package/dist/ui/assets/chunk-DI55MBZ5-Dwvx2Kva.js.gz +0 -0
  763. package/dist/ui/assets/chunk-EXTU4WIE-DHyaqTsP.js +1 -0
  764. package/dist/ui/assets/{chunk-FMBD7UC4-fqXscNvc.js → chunk-FMBD7UC4-BogA_9CV.js} +1 -1
  765. package/dist/ui/assets/{chunk-HN2XXSSU-BCHvD80g.js → chunk-HN2XXSSU-2blQO3Gb.js} +1 -1
  766. package/dist/ui/assets/chunk-HN2XXSSU-2blQO3Gb.js.gz +0 -0
  767. package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js +11 -0
  768. package/dist/ui/assets/chunk-JA3XYJ7Z-Cr1rmOui.js.gz +0 -0
  769. package/dist/ui/assets/{chunk-JZLCHNYA-cKMooY3y.js → chunk-JZLCHNYA-BsgZ79Fa.js} +5 -5
  770. package/dist/ui/assets/chunk-JZLCHNYA-BsgZ79Fa.js.gz +0 -0
  771. package/dist/ui/assets/{chunk-MI3HLSF2-BlzO5wOE.js → chunk-MI3HLSF2-dwYeUy5S.js} +1 -1
  772. package/dist/ui/assets/chunk-MI3HLSF2-dwYeUy5S.js.gz +0 -0
  773. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js +2 -0
  774. package/dist/ui/assets/chunk-N4CR4FBY-DEMgSRVe.js.gz +0 -0
  775. package/dist/ui/assets/{chunk-QN33PNHL-DIHGQ_pd.js → chunk-QN33PNHL-DxdIDCAa.js} +1 -1
  776. package/dist/ui/assets/{chunk-QXUST7PY-C9l0muI0.js → chunk-QXUST7PY-BCK2V0i-.js} +2 -2
  777. package/dist/ui/assets/chunk-QXUST7PY-BCK2V0i-.js.gz +0 -0
  778. package/dist/ui/assets/chunk-QZHKN3VN-CALjGrEE.js +1 -0
  779. package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js +2 -0
  780. package/dist/ui/assets/chunk-S3R3BYOJ-GP3zIxrB.js.gz +0 -0
  781. package/dist/ui/assets/{chunk-TZMSLE5B-DZwI0C_2.js → chunk-TZMSLE5B-dX5RaM6g.js} +1 -1
  782. package/dist/ui/assets/chunk-TZMSLE5B-dX5RaM6g.js.gz +0 -0
  783. package/dist/ui/assets/classDiagram-2ON5EDUG-C3_RVP70.js +1 -0
  784. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-C3_RVP70.js +1 -0
  785. package/dist/ui/assets/constants-GjIDNVyt.js +1 -0
  786. package/dist/ui/assets/{cose-bilkent-S5V4N54A-Ipik-oSD.js → cose-bilkent-S5V4N54A-Dx0BJVDl.js} +1 -1
  787. package/dist/ui/assets/cose-bilkent-S5V4N54A-Dx0BJVDl.js.gz +0 -0
  788. package/dist/ui/assets/cursor-QEb7m-rN.png +0 -0
  789. package/dist/ui/assets/{dagre-6UL2VRFP-BDpyWQnh.js → dagre-6UL2VRFP-DiQSUxqN.js} +1 -1
  790. package/dist/ui/assets/dagre-6UL2VRFP-DiQSUxqN.js.gz +0 -0
  791. package/dist/ui/assets/{dagre-CgA4KhUX.js → dagre-Bekd9Vdj.js} +1 -1
  792. package/dist/ui/assets/dagre-Bekd9Vdj.js.gz +0 -0
  793. package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js +24 -0
  794. package/dist/ui/assets/diagram-PSM6KHXK-DtJnDQjc.js.gz +0 -0
  795. package/dist/ui/assets/{diagram-QEK2KX5R-BWPW28XI.js → diagram-QEK2KX5R-CobkCRdj.js} +1 -1
  796. package/dist/ui/assets/diagram-QEK2KX5R-CobkCRdj.js.gz +0 -0
  797. package/dist/ui/assets/{diagram-S2PKOQOG-BIHhcGoV.js → diagram-S2PKOQOG-DHEZYivc.js} +1 -1
  798. package/dist/ui/assets/diagram-S2PKOQOG-DHEZYivc.js.gz +0 -0
  799. package/dist/ui/assets/editor-DQIG-JYZ.js +43 -0
  800. package/dist/ui/assets/editor-DQIG-JYZ.js.gz +0 -0
  801. package/dist/ui/assets/emoji-B0hLmSLZ.js +3 -0
  802. package/dist/ui/assets/emoji-B0hLmSLZ.js.gz +0 -0
  803. package/dist/ui/assets/{erDiagram-Q2GNP2WA-ubTaAFcK.js → erDiagram-Q2GNP2WA-BVNeTZPQ.js} +2 -2
  804. package/dist/ui/assets/erDiagram-Q2GNP2WA-BVNeTZPQ.js.gz +0 -0
  805. package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js +162 -0
  806. package/dist/ui/assets/flowDiagram-NV44I4VS-C73VFdyk.js.gz +0 -0
  807. package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js +267 -0
  808. package/dist/ui/assets/ganttDiagram-LVOFAZNH-B_RosuD1.js.gz +0 -0
  809. package/dist/ui/assets/{gitGraph-F6HP7TQM-DghoobE6.js → gitGraph-F6HP7TQM-DMFIqn4h.js} +1 -1
  810. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js +65 -0
  811. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-hxbgwNA1.js.gz +0 -0
  812. package/dist/ui/assets/index-DTz1Dif6.js +64 -0
  813. package/dist/ui/assets/index-DTz1Dif6.js.gz +0 -0
  814. package/dist/ui/assets/index-qkT7Qqm2.css +1 -0
  815. package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
  816. package/dist/ui/assets/{info-NVLQJR56-0ZldEXPQ.js → info-NVLQJR56-DZ3K-w48.js} +1 -1
  817. package/dist/ui/assets/{infoDiagram-ER5ION4S-DMmPX-il.js → infoDiagram-ER5ION4S-CxnBJQu6.js} +1 -1
  818. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CrVickA2.js → journeyDiagram-XKPGCS4Q-CHYNj-f8.js} +3 -3
  819. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHYNj-f8.js.gz +0 -0
  820. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-C_BsdHYL.js → kanban-definition-3W4ZIXB7-DQPCCsj2.js} +1 -1
  821. package/dist/ui/assets/kanban-definition-3W4ZIXB7-DQPCCsj2.js.gz +0 -0
  822. package/dist/ui/assets/{line-CfBP7Yic.js → line-DBRjKmfa.js} +1 -1
  823. package/dist/ui/assets/{linear-BsjageUB.js → linear-DFao5Wyp.js} +1 -1
  824. package/dist/ui/assets/linear-DFao5Wyp.js.gz +0 -0
  825. package/dist/ui/assets/{mermaid-parser.core-DZdP-NFq.js → mermaid-parser.core-DYCfacHj.js} +2 -2
  826. package/dist/ui/assets/mermaid-parser.core-DYCfacHj.js.gz +0 -0
  827. package/dist/ui/assets/mermaid.core-C6xGFSdE.js +11 -0
  828. package/dist/ui/assets/mermaid.core-C6xGFSdE.js.gz +0 -0
  829. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-BbmaUjMY.js → mindmap-definition-VGOIOE7T-L3Pw-YM7.js} +1 -1
  830. package/dist/ui/assets/mindmap-definition-VGOIOE7T-L3Pw-YM7.js.gz +0 -0
  831. package/dist/ui/assets/{packet-BFZMPI3H-D_ZhkXuT.js → packet-BFZMPI3H-CpL6iNoa.js} +1 -1
  832. package/dist/ui/assets/{particles-Dv28pjOd.js → particles-CT8hcJOA.js} +1 -1
  833. package/dist/ui/assets/particles-CT8hcJOA.js.gz +0 -0
  834. package/dist/ui/assets/{pie-7BOR55EZ-Dn0Q3qNx.js → pie-7BOR55EZ-hTqChbTo.js} +1 -1
  835. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BbyjfYu8.js → pieDiagram-ADFJNKIX-Bf4Nou75.js} +1 -1
  836. package/dist/ui/assets/pieDiagram-ADFJNKIX-Bf4Nou75.js.gz +0 -0
  837. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-Bc3GqMKz.js → quadrantDiagram-AYHSOK5B-DpjUTLB1.js} +3 -3
  838. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DpjUTLB1.js.gz +0 -0
  839. package/dist/ui/assets/{radar-NHE76QYJ-BHwoAy1q.js → radar-NHE76QYJ-myy7OENC.js} +1 -1
  840. package/dist/ui/assets/reactflow-Cubtnk8i.js +2 -0
  841. package/dist/ui/assets/reactflow-Cubtnk8i.js.gz +0 -0
  842. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BQaKKL09.js → requirementDiagram-UZGBJVZJ-Bfrfh-0-.js} +1 -1
  843. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bfrfh-0-.js.gz +0 -0
  844. package/dist/ui/assets/{sandpack-BQW_FQ7G.js → sandpack-C58bwfIS.js} +38 -38
  845. package/dist/ui/assets/sandpack-C58bwfIS.js.gz +0 -0
  846. package/dist/ui/assets/sandpackDefaults-Bkga8XAE.js +1 -0
  847. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js +10 -0
  848. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-ClZAZ6va.js.gz +0 -0
  849. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Dw32824o.js → sequenceDiagram-WL72ISMW-CNgly63p.js} +6 -6
  850. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CNgly63p.js.gz +0 -0
  851. package/dist/ui/assets/src-DAeyG22O.js +34 -0
  852. package/dist/ui/assets/src-DAeyG22O.js.gz +0 -0
  853. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js +1 -0
  854. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BrEAoDpE.js.gz +0 -0
  855. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-BNL52_oN.js +1 -0
  856. package/dist/ui/assets/streamdown-BdAVfkeF.js +521 -0
  857. package/dist/ui/assets/streamdown-BdAVfkeF.js.gz +0 -0
  858. package/dist/ui/assets/syntax-BOfTnQiy.js +9 -0
  859. package/dist/ui/assets/syntax-BOfTnQiy.js.gz +0 -0
  860. package/dist/ui/assets/{timeline-definition-IT6M3QCI-Jh_WZzXv.js → timeline-definition-IT6M3QCI-CaRH3k4l.js} +16 -16
  861. package/dist/ui/assets/timeline-definition-IT6M3QCI-CaRH3k4l.js.gz +0 -0
  862. package/dist/ui/assets/{treemap-KMMF4GRG-CPYIgjxE.js → treemap-KMMF4GRG-CUaLOV_B.js} +1 -1
  863. package/dist/ui/assets/{knowledgeRoutes-CivaUqha.js → useUserLocalStorage-C8sgXgXR.js} +1 -1
  864. package/dist/ui/assets/useUserLocalStorage-C8sgXgXR.js.gz +0 -0
  865. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CERc7Rdb.js → xychartDiagram-PRI3JC2R-BlhkI9T_.js} +1 -1
  866. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BlhkI9T_.js.gz +0 -0
  867. package/dist/ui/index.html +13 -12
  868. package/dist/ui/index.html.gz +0 -0
  869. package/package.json +12 -10
  870. package/scripts/postinstall.js +27 -19
  871. package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
  872. package/dist/ui/assets/App-9s2WHM6S.js +0 -22
  873. package/dist/ui/assets/App-9s2WHM6S.js.gz +0 -0
  874. package/dist/ui/assets/App-BAdBsEnV.css +0 -1
  875. package/dist/ui/assets/App-BAdBsEnV.css.gz +0 -0
  876. package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js +0 -1
  877. package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js.gz +0 -0
  878. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js +0 -9
  879. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js.gz +0 -0
  880. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js +0 -18
  881. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js.gz +0 -0
  882. package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js +0 -8
  883. package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js.gz +0 -0
  884. package/dist/ui/assets/ConversationView-Dyddw2b1.js +0 -34
  885. package/dist/ui/assets/ConversationView-Dyddw2b1.js.gz +0 -0
  886. package/dist/ui/assets/KnowledgePage-CdftslnF.js +0 -24
  887. package/dist/ui/assets/KnowledgePage-CdftslnF.js.gz +0 -0
  888. package/dist/ui/assets/MobileApp-BdBMpnJ1.js +0 -1
  889. package/dist/ui/assets/MobileApp-BdBMpnJ1.js.gz +0 -0
  890. package/dist/ui/assets/StreamdownDemoPage-B9wbgp2s.js.gz +0 -0
  891. package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js +0 -1
  892. package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js.gz +0 -0
  893. package/dist/ui/assets/antd-C-HfEC4E.js +0 -400
  894. package/dist/ui/assets/antd-C-HfEC4E.js.gz +0 -0
  895. package/dist/ui/assets/architecture-U656AL7Q-dkBewUpN.js +0 -1
  896. package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js +0 -36
  897. package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js.gz +0 -0
  898. package/dist/ui/assets/blockDiagram-VD42YOAC-CzGHAHao.js.gz +0 -0
  899. package/dist/ui/assets/c4Diagram-YG6GDRKO-DscJyaWN.js.gz +0 -0
  900. package/dist/ui/assets/channel-DvRQqEqC.js +0 -1
  901. package/dist/ui/assets/chunk-55IACEB6-DojF2pZN.js +0 -1
  902. package/dist/ui/assets/chunk-ABZYJK2D-RzDCrjE6.js.gz +0 -0
  903. package/dist/ui/assets/chunk-AGHRB4JF-jidCS5Of.js.gz +0 -0
  904. package/dist/ui/assets/chunk-ATLVNIR6-BEIIfJtC.js.gz +0 -0
  905. package/dist/ui/assets/chunk-B4BG7PRW-B8b6dQQ2.js.gz +0 -0
  906. package/dist/ui/assets/chunk-DI55MBZ5-BfATX3V8.js.gz +0 -0
  907. package/dist/ui/assets/chunk-EXTU4WIE-BKt6lPJM.js +0 -1
  908. package/dist/ui/assets/chunk-HN2XXSSU-BCHvD80g.js.gz +0 -0
  909. package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js +0 -11
  910. package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js.gz +0 -0
  911. package/dist/ui/assets/chunk-JZLCHNYA-cKMooY3y.js.gz +0 -0
  912. package/dist/ui/assets/chunk-MI3HLSF2-BlzO5wOE.js.gz +0 -0
  913. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js +0 -2
  914. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js.gz +0 -0
  915. package/dist/ui/assets/chunk-QXUST7PY-C9l0muI0.js.gz +0 -0
  916. package/dist/ui/assets/chunk-QZHKN3VN-CZskCFCf.js +0 -1
  917. package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js +0 -2
  918. package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js.gz +0 -0
  919. package/dist/ui/assets/chunk-TZMSLE5B-DZwI0C_2.js.gz +0 -0
  920. package/dist/ui/assets/classDiagram-2ON5EDUG-BFASUbmZ.js +0 -1
  921. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BFASUbmZ.js +0 -1
  922. package/dist/ui/assets/cose-bilkent-S5V4N54A-Ipik-oSD.js.gz +0 -0
  923. package/dist/ui/assets/dagre-6UL2VRFP-BDpyWQnh.js.gz +0 -0
  924. package/dist/ui/assets/dagre-CgA4KhUX.js.gz +0 -0
  925. package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js +0 -24
  926. package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js.gz +0 -0
  927. package/dist/ui/assets/diagram-QEK2KX5R-BWPW28XI.js.gz +0 -0
  928. package/dist/ui/assets/diagram-S2PKOQOG-BIHhcGoV.js.gz +0 -0
  929. package/dist/ui/assets/editor-C-HJ7Yw0.js +0 -39
  930. package/dist/ui/assets/editor-C-HJ7Yw0.js.gz +0 -0
  931. package/dist/ui/assets/emoji-D8F6B62m.js +0 -3
  932. package/dist/ui/assets/emoji-D8F6B62m.js.gz +0 -0
  933. package/dist/ui/assets/erDiagram-Q2GNP2WA-ubTaAFcK.js.gz +0 -0
  934. package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js +0 -162
  935. package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js.gz +0 -0
  936. package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js +0 -267
  937. package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js.gz +0 -0
  938. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js +0 -65
  939. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js.gz +0 -0
  940. package/dist/ui/assets/index-D9OElx9A.css +0 -1
  941. package/dist/ui/assets/index-D9OElx9A.css.gz +0 -0
  942. package/dist/ui/assets/index-DxPuzG7E.js +0 -350
  943. package/dist/ui/assets/index-DxPuzG7E.js.gz +0 -0
  944. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CrVickA2.js.gz +0 -0
  945. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C_BsdHYL.js.gz +0 -0
  946. package/dist/ui/assets/katex-CamJ39w1.js +0 -257
  947. package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
  948. package/dist/ui/assets/knowledgeRoutes-CivaUqha.js.gz +0 -0
  949. package/dist/ui/assets/linear-BsjageUB.js.gz +0 -0
  950. package/dist/ui/assets/mermaid-parser.core-DZdP-NFq.js.gz +0 -0
  951. package/dist/ui/assets/mermaid.core-TNrI0pHG.js +0 -11
  952. package/dist/ui/assets/mermaid.core-TNrI0pHG.js.gz +0 -0
  953. package/dist/ui/assets/message-BtWWJ9Af.js +0 -36
  954. package/dist/ui/assets/message-BtWWJ9Af.js.gz +0 -0
  955. package/dist/ui/assets/mindmap-definition-VGOIOE7T-BbmaUjMY.js.gz +0 -0
  956. package/dist/ui/assets/particles-Dv28pjOd.js.gz +0 -0
  957. package/dist/ui/assets/pieDiagram-ADFJNKIX-BbyjfYu8.js.gz +0 -0
  958. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-Bc3GqMKz.js.gz +0 -0
  959. package/dist/ui/assets/reactflow-BVYPxNhc.js +0 -2
  960. package/dist/ui/assets/reactflow-BVYPxNhc.js.gz +0 -0
  961. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BQaKKL09.js.gz +0 -0
  962. package/dist/ui/assets/sandpack-BQW_FQ7G.js.gz +0 -0
  963. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js +0 -10
  964. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js.gz +0 -0
  965. package/dist/ui/assets/sequenceDiagram-WL72ISMW-Dw32824o.js.gz +0 -0
  966. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js +0 -1
  967. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js.gz +0 -0
  968. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-Cuqwvgfg.js +0 -1
  969. package/dist/ui/assets/syntax-VJrU5BEu.js +0 -10
  970. package/dist/ui/assets/syntax-VJrU5BEu.js.gz +0 -0
  971. package/dist/ui/assets/theme-DZtFA8b4.js +0 -1
  972. package/dist/ui/assets/timeline-definition-IT6M3QCI-Jh_WZzXv.js.gz +0 -0
  973. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CERc7Rdb.js.gz +0 -0
  974. /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
@@ -1,10 +1,15 @@
1
1
  // src/utils/session-task-state.ts
2
- import { isTerminalTaskStatus, SessionStatus, TaskStatus } from "@agor/core/types";
2
+ import {
3
+ isTerminalTaskStatus,
4
+ SessionStatus,
5
+ sessionCanStartTask,
6
+ TaskStatus
7
+ } from "@agor/core/types";
3
8
  function isTaskBlockingPrompt(task) {
4
9
  return task.status !== TaskStatus.QUEUED && !isTerminalTaskStatus(task.status);
5
10
  }
6
- function sessionCanStartTask(status, readyForPrompt) {
7
- return status === SessionStatus.IDLE || status === SessionStatus.FAILED && readyForPrompt === true;
11
+ function isTerminalQueueProcessingSuppressed(params) {
12
+ return params?.suppressTerminalQueueProcessing === true;
8
13
  }
9
14
  function shouldReconcileSessionPromptState(session, tasks, options = {}) {
10
15
  if (session.status !== SessionStatus.FAILED) return false;
@@ -14,6 +19,7 @@ function shouldReconcileSessionPromptState(session, tasks, options = {}) {
14
19
  }
15
20
  export {
16
21
  isTaskBlockingPrompt,
22
+ isTerminalQueueProcessingSuppressed,
17
23
  sessionCanStartTask,
18
24
  shouldReconcileSessionPromptState
19
25
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Helpers for finding "active" tasks for a session — RUNNING /
3
- * AWAITING_PERMISSION / STOPPING — sorted by recency.
2
+ * Helpers for finding "active" tasks for a session — RUNNING / STOPPING / AWAITING_PERMISSION /
3
+ * AWAITING_INPUT — sorted by recency.
4
4
  *
5
5
  * Background: `TasksService.find()` short-circuits on `session_id: string`
6
6
  * (see `services/tasks.ts:65-110`) and returns ALL session tasks in
@@ -16,14 +16,14 @@
16
16
  import type { Application } from '@agor/core/feathers';
17
17
  import type { Params, SessionID, Task } from '@agor/core/types';
18
18
  /** Statuses considered "active" — an executor may still be doing work. */
19
- export declare const ACTIVE_TASK_STATUSES: ReadonlySet<string>;
19
+ export declare const ACTIVE_TASK_STATUSES: ReadonlySet<import("@agor/core").TaskStatus>;
20
20
  /**
21
21
  * All tasks for the session, returned in recency-DESC order (most recently
22
22
  * started/created first). Useful when callers want a fallback path.
23
23
  */
24
24
  export declare function findTasksForSession(app: Application, sessionId: SessionID, params?: Params): Promise<Task[]>;
25
25
  /**
26
- * The session's active tasks (RUNNING / AWAITING_PERMISSION / STOPPING),
26
+ * The session's active/executor-owned tasks,
27
27
  * recency-DESC. Empty when nothing is active.
28
28
  */
29
29
  export declare function findActiveTasksForSession(app: Application, sessionId: SessionID, params?: Params): Promise<Task[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-tasks.d.ts","sourceRoot":"","sources":["../../src/utils/session-tasks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAa,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG3E,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAInD,CAAC;AAMH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,EAAE,CAAC,CAajB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,EAAE,CAAC,CAGjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAI3B"}
1
+ {"version":3,"file":"session-tasks.d.ts","sourceRoot":"","sources":["../../src/utils/session-tasks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAa,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG3E,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,8CAA0B,CAAC;AAM5D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,EAAE,CAAC,CAajB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,EAAE,CAAC,CAGjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAI3B"}
@@ -1,10 +1,6 @@
1
1
  // src/utils/session-tasks.ts
2
- import { TaskStatus } from "@agor/core/types";
3
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
4
- TaskStatus.RUNNING,
5
- TaskStatus.AWAITING_PERMISSION,
6
- TaskStatus.STOPPING
7
- ]);
2
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
3
+ var ACTIVE_TASK_STATUSES = EXECUTING_TASK_STATUSES;
8
4
  function recencyKey(t) {
9
5
  return new Date(t.started_at || t.created_at).getTime();
10
6
  }
@@ -24,12 +20,12 @@ async function findTasksForSession(app, sessionId, params) {
24
20
  }
25
21
  async function findActiveTasksForSession(app, sessionId, params) {
26
22
  const all = await findTasksForSession(app, sessionId, params);
27
- return all.filter((t) => ACTIVE_TASK_STATUSES.has(t.status));
23
+ return all.filter((t) => isTaskExecuting(t));
28
24
  }
29
25
  async function findHostTaskForSession(app, sessionId, params) {
30
26
  const all = await findTasksForSession(app, sessionId, params);
31
27
  if (all.length === 0) return void 0;
32
- return all.find((t) => ACTIVE_TASK_STATUSES.has(t.status)) ?? all[0];
28
+ return all.find((t) => isTaskExecuting(t)) ?? all[0];
33
29
  }
34
30
  export {
35
31
  ACTIVE_TASK_STATUSES,
@@ -27,6 +27,13 @@ export type SessionTurnLocks = Map<SessionID, Promise<void>>;
27
27
  * callers contending for the same session wait their turn (FIFO-ish — set
28
28
  * order through the Map). Errors thrown by `fn` propagate to the caller and
29
29
  * the lock is released either way.
30
+ *
31
+ * Pass `options.waiterTimeoutMs` to limit how long this call waits for the
32
+ * lock. If the timeout fires before the lock is available, throws an Error.
33
+ * Use this on HTTP request handlers so a stuck lock holder (broken DB
34
+ * connection, etc.) does not hang the request indefinitely.
30
35
  */
31
- export declare function withSessionTurnLock<T>(locks: SessionTurnLocks, sessionId: SessionID, fn: () => Promise<T>): Promise<T>;
36
+ export declare function withSessionTurnLock<T>(locks: SessionTurnLocks, sessionId: SessionID, fn: () => Promise<T>, options?: {
37
+ waiterTimeoutMs?: number;
38
+ }): Promise<T>;
32
39
  //# sourceMappingURL=session-turn-lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-turn-lock.d.ts","sourceRoot":"","sources":["../../src/utils/session-turn-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
1
+ {"version":3,"file":"session-turn-lock.d.ts","sourceRoot":"","sources":["../../src/utils/session-turn-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,CAAC,CAAC,CAiDZ"}
@@ -1,7 +1,30 @@
1
1
  // src/utils/session-turn-lock.ts
2
- async function withSessionTurnLock(locks, sessionId, fn) {
2
+ async function withSessionTurnLock(locks, sessionId, fn, options) {
3
+ const waiterTimeoutMs = options?.waiterTimeoutMs;
4
+ const waitStart = waiterTimeoutMs !== void 0 ? Date.now() : 0;
3
5
  while (locks.has(sessionId)) {
4
- await locks.get(sessionId)?.catch(() => void 0);
6
+ const existingLock = locks.get(sessionId);
7
+ if (waiterTimeoutMs !== void 0) {
8
+ const remaining = waiterTimeoutMs - (Date.now() - waitStart);
9
+ if (remaining <= 0) {
10
+ throw new Error(
11
+ `Session turn lock acquisition timed out after ${waiterTimeoutMs}ms (session ${sessionId})`
12
+ );
13
+ }
14
+ const outcome = await Promise.race([
15
+ // Swallow the awaited promise's rejection — the original caller already
16
+ // received the error; waiters only care about lock ordering.
17
+ existingLock?.catch(() => void 0).then(() => "released"),
18
+ new Promise((resolve) => setTimeout(() => resolve("timeout"), remaining))
19
+ ]);
20
+ if (outcome === "timeout") {
21
+ throw new Error(
22
+ `Session turn lock acquisition timed out after ${waiterTimeoutMs}ms (session ${sessionId})`
23
+ );
24
+ }
25
+ } else {
26
+ await existingLock?.catch(() => void 0);
27
+ }
5
28
  }
6
29
  let resolveLock;
7
30
  const lockPromise = new Promise((resolve) => {
@@ -22,6 +22,7 @@
22
22
  */
23
23
  import { type ChildProcess } from 'node:child_process';
24
24
  import type { AgorExecutionSettings } from '@agor/core/config';
25
+ import type { AuthenticatedParams } from '@agor/core/types';
25
26
  import type { SignOptions } from 'jsonwebtoken';
26
27
  /** Set the daemon URL for executor payloads. Call once at daemon startup. */
27
28
  export declare function configureDaemonUrl(url: string): void;
@@ -119,6 +120,13 @@ export declare function getDaemonUrl(): string;
119
120
  * @returns JWT access token
120
121
  */
121
122
  export declare function createServiceToken(jwtSecret: string, expiresIn?: SignOptions['expiresIn'], scope?: Record<string, unknown>): string;
123
+ /**
124
+ * Build extra JWT claims for executor/service tokens from authenticated service
125
+ * params. In Cloud required-from-auth mode, executor RPCs must carry the same
126
+ * tenant claim as the request that spawned them; otherwise the daemon handles
127
+ * them as the static/default tenant.
128
+ */
129
+ export declare function serviceTokenScopeForParams(params?: Partial<AuthenticatedParams>): Record<string, unknown>;
122
130
  /**
123
131
  * Generate a session token from the Feathers app
124
132
  *
@@ -134,7 +142,21 @@ export declare function generateSessionToken(app: {
134
142
  secret?: string;
135
143
  };
136
144
  };
137
- }): string;
145
+ }, scope?: Record<string, unknown>): string;
146
+ /**
147
+ * Generate a tenant-scoped executor service token from Feathers params.
148
+ *
149
+ * Prefer this over manually composing `generateSessionToken(app,
150
+ * serviceTokenScopeForParams(params))` so required-from-auth deployments do not
151
+ * accidentally drop tenant context on new executor call paths.
152
+ */
153
+ export declare function generateScopedServiceToken(app: {
154
+ settings: {
155
+ authentication?: {
156
+ secret?: string;
157
+ };
158
+ };
159
+ }, params?: Partial<AuthenticatedParams>): string;
138
160
  /**
139
161
  * Configuration for executor spawning.
140
162
  * Loaded from ~/.agor/config.yaml execution section.
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-executor.d.ts","sourceRoot":"","sources":["../../src/utils/spawn-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-executor.d.ts","sourceRoot":"","sources":["../../src/utils/spawn-executor.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,13 @@ function generateTaskId() {
127
127
  return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
128
128
  }
129
129
  function findExecutorPath() {
130
+ const configuredPath = process.env.AGOR_EXECUTOR_PATH;
131
+ if (configuredPath) {
132
+ if (!existsSync(configuredPath)) {
133
+ throw new Error(`Configured AGOR_EXECUTOR_PATH does not exist: ${configuredPath}`);
134
+ }
135
+ return configuredPath;
136
+ }
130
137
  const dirname = typeof __dirname !== "undefined" ? __dirname : path.dirname(fileURLToPath(import.meta.url));
131
138
  const possiblePaths = [
132
139
  path.join(dirname, "../executor/cli.js"),
@@ -237,6 +244,12 @@ function spawnExecutorLocal(payload, options) {
237
244
  options.onExit?.(127);
238
245
  return;
239
246
  }
247
+ let reportedExit = false;
248
+ const reportExit = (code) => {
249
+ if (reportedExit) return;
250
+ reportedExit = true;
251
+ options.onExit?.(code);
252
+ };
240
253
  const executorProcess = spawn(cmd, args, {
241
254
  cwd,
242
255
  env: asUser ? void 0 : { ...envWithDaemonUrl },
@@ -250,6 +263,7 @@ function spawnExecutorLocal(payload, options) {
250
263
  onSpawn?.(executorProcess);
251
264
  executorProcess.on("error", (error) => {
252
265
  console.error(`${logPrefix} Spawn error:`, error.message);
266
+ reportExit(127);
253
267
  });
254
268
  executorProcess.on("exit", (code) => {
255
269
  if (code === 0) {
@@ -257,7 +271,7 @@ function spawnExecutorLocal(payload, options) {
257
271
  } else {
258
272
  console.error(`${logPrefix} Executor exited with code ${code}`);
259
273
  }
260
- options.onExit?.(code);
274
+ reportExit(code);
261
275
  });
262
276
  executorProcess.stdin?.write(JSON.stringify(payload));
263
277
  executorProcess.stdin?.end();
@@ -270,6 +284,12 @@ function spawnExecutorWithTemplate(payload, options) {
270
284
  console.log(`${logPrefix} Task ID: ${templateVariables.task_id}`);
271
285
  console.log(`${logPrefix} Command: ${payload.command}`);
272
286
  console.log(`${logPrefix} Template command (first 200 chars): ${command.slice(0, 200)}...`);
287
+ let reportedExit = false;
288
+ const reportExit = (code) => {
289
+ if (reportedExit) return;
290
+ reportedExit = true;
291
+ options.onExit?.(code);
292
+ };
273
293
  const executorProcess = spawn("sh", ["-c", command], {
274
294
  env: { ...process.env, LOG_LEVEL: logLevel },
275
295
  stdio: ["pipe", "pipe", "pipe"]
@@ -283,6 +303,7 @@ function spawnExecutorWithTemplate(payload, options) {
283
303
  });
284
304
  executorProcess.on("error", (error) => {
285
305
  console.error(`${logPrefix} Spawn error:`, error.message);
306
+ reportExit(127);
286
307
  });
287
308
  executorProcess.on("exit", (code) => {
288
309
  if (code === 0) {
@@ -294,7 +315,7 @@ function spawnExecutorWithTemplate(payload, options) {
294
315
  `${logPrefix} Executor exited with code ${code} (task: ${templateVariables.task_id})`
295
316
  );
296
317
  }
297
- options.onExit?.(code);
318
+ reportExit(code);
298
319
  });
299
320
  executorProcess.stdin?.write(JSON.stringify(payload));
300
321
  executorProcess.stdin?.end();
@@ -574,12 +595,19 @@ function createServiceToken(jwtSecret, expiresIn, scope = {}) {
574
595
  expiresIn || "5m"
575
596
  );
576
597
  }
577
- function generateSessionToken(app) {
598
+ function serviceTokenScopeForParams(params) {
599
+ const tenantId = params?.tenant?.tenant_id ?? params?.tenant_id ?? params?.user?.tenant_id;
600
+ return tenantId ? { tenant_id: tenantId } : {};
601
+ }
602
+ function generateSessionToken(app, scope = {}) {
578
603
  const jwtSecret = app.settings.authentication?.secret;
579
604
  if (!jwtSecret) {
580
605
  throw new Error("JWT secret not configured in app settings");
581
606
  }
582
- return createServiceToken(jwtSecret);
607
+ return createServiceToken(jwtSecret, void 0, scope);
608
+ }
609
+ function generateScopedServiceToken(app, params) {
610
+ return generateSessionToken(app, serviceTokenScopeForParams(params));
583
611
  }
584
612
  function createConfiguredSpawner(executionConfig) {
585
613
  return function configuredSpawnExecutor(payload, options = {}) {
@@ -600,10 +628,12 @@ export {
600
628
  createConfiguredSpawner,
601
629
  createServiceToken,
602
630
  findExecutorPath,
631
+ generateScopedServiceToken,
603
632
  generateSessionToken,
604
633
  generateTaskId,
605
634
  getDaemonUrl,
606
635
  runExecutorCommand,
636
+ serviceTokenScopeForParams,
607
637
  spawnExecutor,
608
638
  spawnExecutorFireAndForget,
609
639
  substituteTemplateVariables
@@ -0,0 +1,20 @@
1
+ import { type AgorConfig } from '@agor/core/config';
2
+ import { type TenantScopeAwareDatabase } from '@agor/core/db';
3
+ import type { HookContext } from '@agor/core/types';
4
+ interface TenantDatabaseScopeOptions {
5
+ db: TenantScopeAwareDatabase;
6
+ config: AgorConfig;
7
+ jwtSecret: string;
8
+ }
9
+ export declare function resolveTenantIdForDeferredScope(params?: unknown): string | undefined;
10
+ /**
11
+ * Schedule asynchronous work outside the current ALS store, then re-enter a
12
+ * fresh tenant database scope for the captured tenant. Use this for delayed
13
+ * executor/queue/gateway work: bare setImmediate inherits possibly-committed
14
+ * transaction objects, but a bare runWithoutTenantDatabaseScope loses Postgres
15
+ * RLS context entirely.
16
+ */
17
+ export declare function deferWithTenantDatabaseScope(db: TenantScopeAwareDatabase, params: unknown, work: () => Promise<void>, onError?: (error: unknown) => void): void;
18
+ export declare function createTenantDatabaseScopeAroundHook(options: TenantDatabaseScopeOptions): (context: HookContext, next: () => Promise<void>) => Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=tenant-db-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-db-scope.d.ts","sourceRoot":"","sources":["../../src/utils/tenant-db-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAI7E,UAAU,0BAA0B;IAClC,EAAE,EAAE,wBAAwB,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAgB,+BAA+B,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,wBAAwB,EAC5B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI,CAmCN;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,0BAA0B,IAkDvE,SAAS,WAAW,EAAE,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAY9E"}
@@ -0,0 +1,114 @@
1
+ // src/utils/tenant-db-scope.ts
2
+ import {
3
+ resolveMultiTenancyConfig,
4
+ resolveTenantContext,
5
+ TenantResolutionError
6
+ } from "@agor/core/config";
7
+ import {
8
+ enqueueTenantDatabasePostCommitCallback,
9
+ getCurrentTenantId,
10
+ runWithoutTenantDatabaseScope,
11
+ runWithTenantDatabaseScope
12
+ } from "@agor/core/db";
13
+ import { NotAuthenticated } from "@agor/core/feathers";
14
+ import jwt2 from "jsonwebtoken";
15
+
16
+ // src/auth/runtime-tokens.ts
17
+ import jwt from "jsonwebtoken";
18
+ var RUNTIME_JWT_ISSUER = "agor";
19
+ var RUNTIME_JWT_AUDIENCE = "https://agor.dev";
20
+
21
+ // src/utils/tenant-db-scope.ts
22
+ function readHeaderValue(headers, name) {
23
+ if (!headers) return null;
24
+ const wanted = name.toLowerCase();
25
+ for (const [key, value] of Object.entries(headers)) {
26
+ if (key.toLowerCase() !== wanted) continue;
27
+ const raw = Array.isArray(value) ? value[0] : value;
28
+ return typeof raw === "string" && raw.trim() ? raw.trim() : null;
29
+ }
30
+ return null;
31
+ }
32
+ function resolveTenantIdForDeferredScope(params) {
33
+ const scopedParams = params;
34
+ return scopedParams?.tenant?.tenant_id ?? getCurrentTenantId();
35
+ }
36
+ function deferWithTenantDatabaseScope(db, params, work, onError) {
37
+ const tenantId = resolveTenantIdForDeferredScope(params);
38
+ if (!tenantId) {
39
+ const error = new Error("Missing tenant context for deferred tenant-scoped work");
40
+ if (onError) {
41
+ onError(error);
42
+ } else {
43
+ console.error("[tenant-db-scope] Deferred tenant-scoped work skipped:", error);
44
+ }
45
+ return;
46
+ }
47
+ const schedule = () => {
48
+ runWithoutTenantDatabaseScope(() => {
49
+ setImmediate(() => {
50
+ void runWithTenantDatabaseScope(db, tenantId, work).catch((error) => {
51
+ if (onError) {
52
+ onError(error);
53
+ return;
54
+ }
55
+ console.error("[tenant-db-scope] Deferred tenant-scoped work failed:", error);
56
+ });
57
+ });
58
+ });
59
+ };
60
+ if (enqueueTenantDatabasePostCommitCallback(async () => schedule())) {
61
+ return;
62
+ }
63
+ schedule();
64
+ }
65
+ function createTenantDatabaseScopeAroundHook(options) {
66
+ const multiTenancy = resolveMultiTenancyConfig(options.config);
67
+ const bearerPayloadFromHeaders = (headers) => {
68
+ const authorization = readHeaderValue(headers, "authorization");
69
+ const match = authorization?.match(/^Bearer\s+(.+)$/i);
70
+ if (!match || !options.jwtSecret) return void 0;
71
+ try {
72
+ return jwt2.verify(match[1], options.jwtSecret, {
73
+ issuer: RUNTIME_JWT_ISSUER,
74
+ audience: RUNTIME_JWT_AUDIENCE
75
+ });
76
+ } catch {
77
+ return void 0;
78
+ }
79
+ };
80
+ const resolveTenantForDatabaseScope = (context) => {
81
+ const params = context.params;
82
+ const connectionTenant = params.connection?.tenant ?? params.connection?.data?.tenant;
83
+ const paramsWithConnectionTenant = connectionTenant && typeof connectionTenant === "object" && "tenant_id" in connectionTenant ? { ...params, tenant: params.tenant ?? connectionTenant } : params;
84
+ try {
85
+ return resolveTenantContext(multiTenancy, {
86
+ params: paramsWithConnectionTenant,
87
+ authPayload: paramsWithConnectionTenant.authentication?.payload ?? bearerPayloadFromHeaders(paramsWithConnectionTenant.headers),
88
+ headers: paramsWithConnectionTenant.headers
89
+ });
90
+ } catch (error) {
91
+ const inheritedTenantId = getCurrentTenantId();
92
+ if (error instanceof TenantResolutionError && inheritedTenantId) {
93
+ return { tenant_id: inheritedTenantId, source: "explicit" };
94
+ }
95
+ throw error;
96
+ }
97
+ };
98
+ return async (context, next) => {
99
+ try {
100
+ context.params.tenant = resolveTenantForDatabaseScope(context);
101
+ } catch (error) {
102
+ if (error instanceof TenantResolutionError) {
103
+ throw new NotAuthenticated(error.message);
104
+ }
105
+ throw error;
106
+ }
107
+ await runWithTenantDatabaseScope(options.db, context.params.tenant?.tenant_id, next);
108
+ };
109
+ }
110
+ export {
111
+ createTenantDatabaseScopeAroundHook,
112
+ deferWithTenantDatabaseScope,
113
+ resolveTenantIdForDeferredScope
114
+ };
@@ -10,8 +10,8 @@
10
10
  * client.service('repos').initializeUnixGroup(...)
11
11
  * client.service('branches').initializeUnixGroup(...)
12
12
  */
13
- import type { Database } from '@agor/core/db';
13
+ import type { TenantScopeAwareDatabase } from '@agor/core/db';
14
14
  import type { Application } from '@agor/core/feathers';
15
- export declare function initializeRepoUnixGroup(db: Database, app: Application, repoId: string, userId?: string): Promise<string>;
16
- export declare function initializeBranchUnixGroup(db: Database, app: Application, branchId: string, othersAccess: 'none' | 'read' | 'write'): Promise<string>;
15
+ export declare function initializeRepoUnixGroup(db: TenantScopeAwareDatabase, app: Application, repoId: string, userId?: string): Promise<string>;
16
+ export declare function initializeBranchUnixGroup(db: TenantScopeAwareDatabase, app: Application, branchId: string, othersAccess: 'none' | 'read' | 'write'): Promise<string>;
17
17
  //# sourceMappingURL=unix-group-init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unix-group-init.d.ts","sourceRoot":"","sources":["../../src/utils/unix-group-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAoCvD,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAID,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GACtC,OAAO,CAAC,MAAM,CAAC,CAmGjB"}
1
+ {"version":3,"file":"unix-group-init.d.ts","sourceRoot":"","sources":["../../src/utils/unix-group-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAoCvD,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,wBAAwB,EAC5B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAsEjB;AAID,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,wBAAwB,EAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GACtC,OAAO,CAAC,MAAM,CAAC,CAmGjB"}
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * Upload middleware using multer for file upload handling
3
3
  *
4
- * Supports uploading files to:
5
- * - Branch (.agor/uploads/) - Default, agent-accessible
6
- * - Temp folder - Ephemeral uploads
7
- * - Global (~/.agor/uploads/) - Shared across sessions
4
+ * Stores daemon-side uploads under ~/.agor/uploads/.
8
5
  */
9
- import type { BranchRepository, SessionRepository } from '@agor/core/db';
10
6
  import type { NextFunction, Request, Response } from 'express';
11
7
  import multer from 'multer';
12
8
  /**
@@ -26,17 +22,18 @@ export declare const MAX_UPLOAD_FILES_PER_REQUEST = 10;
26
22
  /** Max combined size of all files in a single request (bytes). */
27
23
  export declare const MAX_UPLOAD_TOTAL_SIZE: number;
28
24
  /**
29
- * Destination types for file uploads
25
+ * Resolve the only supported daemon-side upload directory.
30
26
  */
31
- export type UploadDestination = 'branch' | 'temp' | 'global';
27
+ export declare function getUploadDirectory(): string;
28
+ export declare function validateUploadDestinationQuery(destination: unknown): void;
32
29
  /**
33
30
  * Create multer storage configuration
34
31
  */
35
- export declare function createUploadStorage(sessionRepo: SessionRepository, branchRepo: BranchRepository): multer.StorageEngine;
32
+ export declare function createUploadStorage(): multer.StorageEngine;
36
33
  /**
37
34
  * Create configured multer instance
38
35
  */
39
- export declare function createUploadMiddleware(sessionRepo: SessionRepository, branchRepo: BranchRepository): multer.Multer;
36
+ export declare function createUploadMiddleware(): multer.Multer;
40
37
  /**
41
38
  * Pre-multer middleware: reject any request whose declared `Content-Length`
42
39
  * exceeds {@link MAX_UPLOAD_TOTAL_SIZE} before we spend time streaming bytes
@@ -1 +1 @@
1
- {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/utils/upload.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAoBxD,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,yDAAyD;AACzD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,QAAoB,CAAC;AAKvD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,wBAgG/F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,gBAAgB,iBAuC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,KAC5B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAY/D;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,KAC5B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAoB9E"}
1
+ {"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/utils/upload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAoBxD,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,yDAAyD;AACzD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,QAAoB,CAAC;AAOvD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAiBzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,yBA6DlC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,kBAsCrC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,KAC5B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAY/D;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,KAC5B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAoB9E"}
@@ -1,8 +1,7 @@
1
1
  // src/utils/upload.ts
2
2
  import fs from "fs/promises";
3
- import os from "os";
4
3
  import path from "path";
5
- import { shortId } from "@agor/core/db";
4
+ import { getAgorHome } from "@agor/core/config";
6
5
  import multer from "multer";
7
6
  var ALLOWED_UPLOAD_MIME_TYPES = /* @__PURE__ */ new Set([
8
7
  // Images
@@ -29,46 +28,38 @@ var MAX_UPLOAD_FILE_SIZE = 50 * 1024 * 1024;
29
28
  var MAX_UPLOAD_FILES_PER_REQUEST = 10;
30
29
  var MAX_UPLOAD_TOTAL_SIZE = 100 * 1024 * 1024;
31
30
  var DEBUG_UPLOAD = process.env.NODE_ENV !== "production";
32
- function createUploadStorage(sessionRepo, branchRepo) {
31
+ var LEGACY_IGNORED_UPLOAD_DESTINATIONS = /* @__PURE__ */ new Set(["branch", "global"]);
32
+ function getUploadDirectory() {
33
+ return path.join(getAgorHome(), "uploads");
34
+ }
35
+ function validateUploadDestinationQuery(destination) {
36
+ if (destination == null || destination === "") return;
37
+ if (Array.isArray(destination)) {
38
+ throw Object.assign(new Error("Upload destination options are no longer supported"), {
39
+ status: 400
40
+ });
41
+ }
42
+ const value = String(destination);
43
+ if (LEGACY_IGNORED_UPLOAD_DESTINATIONS.has(value)) return;
44
+ throw Object.assign(
45
+ new Error(
46
+ `Upload destination '${value}' is no longer supported; uploads are stored in ~/.agor/uploads/`
47
+ ),
48
+ { status: 400 }
49
+ );
50
+ }
51
+ function createUploadStorage() {
33
52
  const storage = multer.diskStorage({
34
53
  destination: async (req, _file, cb) => {
35
54
  try {
36
55
  const { sessionId } = req.params;
37
- const destination = req.query.destination || "branch";
38
- if (!["branch", "temp", "global"].includes(destination)) {
39
- console.error(`\u274C [Upload Storage] Invalid destination: ${destination}`);
40
- return cb(new Error(`Invalid destination: ${destination}`), "");
41
- }
56
+ validateUploadDestinationQuery(req.query.destination);
42
57
  if (DEBUG_UPLOAD) {
43
58
  console.log(
44
- `\u{1F4C2} [Upload Storage] Processing upload for session ${sessionId ? shortId(sessionId) : "unknown"}`
59
+ `\u{1F4C2} [Upload Storage] Processing upload for session ${sessionId || "unknown"}`
45
60
  );
46
- console.log(` Destination type: ${destination}`);
47
- }
48
- if (!sessionId) {
49
- console.error("\u274C [Upload Storage] No session ID provided");
50
- return cb(new Error("Session ID required"), "");
51
- }
52
- const session = await sessionRepo.findById(sessionId);
53
- if (!session) {
54
- console.error(`\u274C [Upload Storage] Session not found: ${shortId(sessionId)}`);
55
- return cb(new Error(`Session not found: ${sessionId}`), "");
56
- }
57
- if (!session.branch_id) {
58
- console.error(`\u274C [Upload Storage] Session ${shortId(sessionId)} has no branch`);
59
- return cb(new Error(`Session ${sessionId} has no associated branch`), "");
60
- }
61
- const branch = await branchRepo.findById(session.branch_id);
62
- if (!branch) {
63
- console.error(`\u274C [Upload Storage] Branch not found: ${shortId(session.branch_id)}`);
64
- return cb(new Error(`Branch not found: ${session.branch_id}`), "");
65
61
  }
66
- const paths = {
67
- branch: path.join(branch.path, ".agor", "uploads"),
68
- temp: path.join(os.tmpdir(), "agor-uploads"),
69
- global: path.join(os.homedir(), ".agor", "uploads")
70
- };
71
- const dest = paths[destination] || paths.branch;
62
+ const dest = getUploadDirectory();
72
63
  if (DEBUG_UPLOAD) console.log(`\u{1F4C1} [Upload Storage] Target directory: ${dest}`);
73
64
  await fs.mkdir(dest, { recursive: true });
74
65
  if (DEBUG_UPLOAD) console.log(`\u2705 [Upload Storage] Directory created/verified: ${dest}`);
@@ -95,8 +86,8 @@ function createUploadStorage(sessionRepo, branchRepo) {
95
86
  });
96
87
  return storage;
97
88
  }
98
- function createUploadMiddleware(sessionRepo, branchRepo) {
99
- const storage = createUploadStorage(sessionRepo, branchRepo);
89
+ function createUploadMiddleware() {
90
+ const storage = createUploadStorage();
100
91
  return multer({
101
92
  storage,
102
93
  limits: {
@@ -169,5 +160,7 @@ export {
169
160
  createUploadMiddleware,
170
161
  createUploadStorage,
171
162
  enforceParsedTotalUploadSize,
172
- enforceTotalUploadSize
163
+ enforceTotalUploadSize,
164
+ getUploadDirectory,
165
+ validateUploadDestinationQuery
173
166
  };