agor-live 0.22.0 → 0.23.2

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 (1006) hide show
  1. package/dist/cli/commands/admin/add-to-branch-group.d.ts +2 -13
  2. package/dist/cli/commands/admin/add-to-branch-group.d.ts.map +1 -1
  3. package/dist/cli/commands/admin/add-to-branch-group.js +133 -33
  4. package/dist/cli/commands/admin/create-branch-group.d.ts +2 -13
  5. package/dist/cli/commands/admin/create-branch-group.d.ts.map +1 -1
  6. package/dist/cli/commands/admin/create-branch-group.js +132 -38
  7. package/dist/cli/commands/admin/create-symlink.d.ts +2 -14
  8. package/dist/cli/commands/admin/create-symlink.d.ts.map +1 -1
  9. package/dist/cli/commands/admin/create-symlink.js +138 -61
  10. package/dist/cli/commands/admin/delete-branch-group.d.ts +2 -13
  11. package/dist/cli/commands/admin/delete-branch-group.d.ts.map +1 -1
  12. package/dist/cli/commands/admin/delete-branch-group.js +132 -28
  13. package/dist/cli/commands/admin/delete-user.d.ts +2 -13
  14. package/dist/cli/commands/admin/delete-user.d.ts.map +1 -1
  15. package/dist/cli/commands/admin/delete-user.js +132 -38
  16. package/dist/cli/commands/admin/ensure-user.d.ts +2 -14
  17. package/dist/cli/commands/admin/ensure-user.d.ts.map +1 -1
  18. package/dist/cli/commands/admin/ensure-user.js +131 -46
  19. package/dist/cli/commands/admin/remove-from-branch-group.d.ts +2 -13
  20. package/dist/cli/commands/admin/remove-from-branch-group.d.ts.map +1 -1
  21. package/dist/cli/commands/admin/remove-from-branch-group.js +133 -33
  22. package/dist/cli/commands/admin/remove-symlink.d.ts +2 -14
  23. package/dist/cli/commands/admin/remove-symlink.d.ts.map +1 -1
  24. package/dist/cli/commands/admin/remove-symlink.js +136 -49
  25. package/dist/cli/commands/admin/scrub-git-remotes.d.ts +2 -2
  26. package/dist/cli/commands/admin/scrub-git-remotes.d.ts.map +1 -1
  27. package/dist/cli/commands/admin/scrub-git-remotes.js +128 -86
  28. package/dist/cli/commands/admin/sync-user-symlinks.d.ts +2 -14
  29. package/dist/cli/commands/admin/sync-user-symlinks.d.ts.map +1 -1
  30. package/dist/cli/commands/admin/sync-user-symlinks.js +132 -43
  31. package/dist/cli/commands/auth/whoami.d.ts.map +1 -1
  32. package/dist/cli/commands/auth/whoami.js +2 -1
  33. package/dist/cli/commands/branch/env/request.test.d.ts +2 -0
  34. package/dist/cli/commands/branch/env/request.test.d.ts.map +1 -0
  35. package/dist/cli/commands/branch/env/request.test.js +17723 -0
  36. package/dist/cli/commands/branch/env/restart.d.ts.map +1 -1
  37. package/dist/cli/commands/branch/env/restart.js +7 -1
  38. package/dist/cli/commands/branch/env/start.d.ts.map +1 -1
  39. package/dist/cli/commands/branch/env/start.js +7 -1
  40. package/dist/cli/commands/branch/env/stop.d.ts.map +1 -1
  41. package/dist/cli/commands/branch/env/stop.js +7 -1
  42. package/dist/cli/commands/daemon/status.d.ts.map +1 -1
  43. package/dist/cli/commands/daemon/status.js +2 -1
  44. package/dist/cli/commands/init.d.ts +6 -0
  45. package/dist/cli/commands/init.d.ts.map +1 -1
  46. package/dist/cli/commands/init.js +140 -2
  47. package/dist/cli/commands/local/add-to-branch-group.d.ts +13 -0
  48. package/dist/cli/commands/local/add-to-branch-group.d.ts.map +1 -0
  49. package/dist/cli/commands/local/add-to-branch-group.js +37 -0
  50. package/dist/cli/commands/local/create-branch-group.d.ts +12 -0
  51. package/dist/cli/commands/local/create-branch-group.d.ts.map +1 -0
  52. package/dist/cli/commands/local/create-branch-group.js +35 -0
  53. package/dist/cli/commands/local/create-symlink.d.ts +14 -0
  54. package/dist/cli/commands/local/create-symlink.d.ts.map +1 -0
  55. package/dist/cli/commands/local/create-symlink.js +45 -0
  56. package/dist/cli/commands/{daemon → local/daemon}/sync.d.ts +1 -1
  57. package/dist/cli/commands/local/daemon/sync.d.ts.map +1 -0
  58. package/dist/cli/commands/{daemon → local/daemon}/sync.js +7 -6
  59. package/dist/cli/commands/local/delete-branch-group.d.ts +12 -0
  60. package/dist/cli/commands/local/delete-branch-group.d.ts.map +1 -0
  61. package/dist/cli/commands/local/delete-branch-group.js +35 -0
  62. package/dist/cli/commands/local/delete-user.d.ts +12 -0
  63. package/dist/cli/commands/local/delete-user.d.ts.map +1 -0
  64. package/dist/cli/commands/local/delete-user.js +36 -0
  65. package/dist/cli/commands/local/ensure-user.d.ts +12 -0
  66. package/dist/cli/commands/local/ensure-user.d.ts.map +1 -0
  67. package/dist/cli/commands/local/ensure-user.js +41 -0
  68. package/dist/cli/commands/local/remove-from-branch-group.d.ts +13 -0
  69. package/dist/cli/commands/local/remove-from-branch-group.d.ts.map +1 -0
  70. package/dist/cli/commands/local/remove-from-branch-group.js +37 -0
  71. package/dist/cli/commands/local/remove-symlink.d.ts +13 -0
  72. package/dist/cli/commands/local/remove-symlink.d.ts.map +1 -0
  73. package/dist/cli/commands/local/remove-symlink.js +39 -0
  74. package/dist/cli/commands/local/scrub-git-remotes.d.ts +9 -0
  75. package/dist/cli/commands/local/scrub-git-remotes.d.ts.map +1 -0
  76. package/dist/cli/commands/local/scrub-git-remotes.js +23 -0
  77. package/dist/cli/commands/{admin → local}/sync-unix.d.ts.map +1 -1
  78. package/dist/cli/commands/{admin → local}/sync-unix.js +3 -3
  79. package/dist/cli/commands/local/sync-user-symlinks.d.ts +12 -0
  80. package/dist/cli/commands/local/sync-user-symlinks.d.ts.map +1 -0
  81. package/dist/cli/commands/local/sync-user-symlinks.js +37 -0
  82. package/dist/cli/commands/telemetry/index.d.ts +7 -0
  83. package/dist/cli/commands/telemetry/index.d.ts.map +1 -0
  84. package/dist/cli/commands/telemetry/index.js +40 -0
  85. package/dist/cli/commands/telemetry/off.d.ts +6 -0
  86. package/dist/cli/commands/telemetry/off.d.ts.map +1 -0
  87. package/dist/cli/commands/telemetry/off.js +35 -0
  88. package/dist/cli/commands/telemetry/on.d.ts +6 -0
  89. package/dist/cli/commands/telemetry/on.d.ts.map +1 -0
  90. package/dist/cli/commands/telemetry/on.js +37 -0
  91. package/dist/cli/commands/telemetry/test.d.ts +6 -0
  92. package/dist/cli/commands/telemetry/test.d.ts.map +1 -0
  93. package/dist/cli/commands/telemetry/test.js +56 -0
  94. package/dist/cli/commands/user/create-admin.d.ts.map +1 -1
  95. package/dist/cli/commands/user/create-admin.js +81 -72
  96. package/dist/cli/commands/user/list.d.ts.map +1 -1
  97. package/dist/cli/commands/user/list.js +1 -0
  98. package/dist/cli/commands/whoami.js +2 -1
  99. package/dist/cli/lib/branch-environment-action.d.ts +21 -0
  100. package/dist/cli/lib/branch-environment-action.d.ts.map +1 -0
  101. package/dist/cli/lib/branch-environment-action.js +8 -0
  102. package/dist/core/api/index.cjs +7 -2
  103. package/dist/core/api/index.d.ts +13 -4
  104. package/dist/core/api/index.d.ts.map +1 -1
  105. package/dist/core/api/index.js +7 -2
  106. package/dist/core/claude/index.cjs +518 -89
  107. package/dist/core/claude/index.js +515 -88
  108. package/dist/core/claude-cli/index.cjs +24 -0
  109. package/dist/core/claude-cli/index.js +24 -0
  110. package/dist/core/claude-cli/pricing.d.ts.map +1 -1
  111. package/dist/core/client/index.cjs +52 -7
  112. package/dist/core/client/index.js +48 -7
  113. package/dist/core/config/browser.cjs +3 -5
  114. package/dist/core/config/browser.js +3 -5
  115. package/dist/core/config/config-manager.d.ts +33 -13
  116. package/dist/core/config/config-manager.d.ts.map +1 -1
  117. package/dist/core/config/index.cjs +4259 -4527
  118. package/dist/core/config/index.d.ts +1 -0
  119. package/dist/core/config/index.d.ts.map +1 -1
  120. package/dist/core/config/index.js +4295 -4583
  121. package/dist/core/config/key-resolver.d.ts.map +1 -1
  122. package/dist/core/config/multitenancy.d.ts +33 -0
  123. package/dist/core/config/multitenancy.d.ts.map +1 -0
  124. package/dist/core/config/security-resolver.d.ts +1 -0
  125. package/dist/core/config/security-resolver.d.ts.map +1 -1
  126. package/dist/core/config/types.d.ts +67 -4
  127. package/dist/core/config/types.d.ts.map +1 -1
  128. package/dist/core/db/client.d.ts +34 -2
  129. package/dist/core/db/client.d.ts.map +1 -1
  130. package/dist/core/db/database-wrapper.d.ts.map +1 -1
  131. package/dist/core/db/first-run-bootstrap.d.ts.map +1 -1
  132. package/dist/core/db/index.cjs +2767 -1232
  133. package/dist/core/db/index.d.ts +2 -1
  134. package/dist/core/db/index.d.ts.map +1 -1
  135. package/dist/core/db/index.js +2601 -1094
  136. package/dist/core/db/migrate.d.ts.map +1 -1
  137. package/dist/core/db/repositories/artifacts.d.ts +27 -2
  138. package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
  139. package/dist/core/db/repositories/base.d.ts +18 -0
  140. package/dist/core/db/repositories/base.d.ts.map +1 -1
  141. package/dist/core/db/repositories/board-comments.d.ts +17 -1
  142. package/dist/core/db/repositories/board-comments.d.ts.map +1 -1
  143. package/dist/core/db/repositories/board-objects.d.ts.map +1 -1
  144. package/dist/core/db/repositories/boards.d.ts +54 -3
  145. package/dist/core/db/repositories/boards.d.ts.map +1 -1
  146. package/dist/core/db/repositories/branch-access.d.ts +32 -0
  147. package/dist/core/db/repositories/branch-access.d.ts.map +1 -1
  148. package/dist/core/db/repositories/branches.d.ts +52 -2
  149. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  150. package/dist/core/db/repositories/cards.d.ts +15 -1
  151. package/dist/core/db/repositories/cards.d.ts.map +1 -1
  152. package/dist/core/db/repositories/gateway-channels.d.ts +9 -0
  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 +2 -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/sessions.d.ts +56 -5
  164. package/dist/core/db/repositories/sessions.d.ts.map +1 -1
  165. package/dist/core/db/repositories/tasks.d.ts +7 -2
  166. package/dist/core/db/repositories/tasks.d.ts.map +1 -1
  167. package/dist/core/db/repositories/user-api-keys.d.ts +10 -1
  168. package/dist/core/db/repositories/user-api-keys.d.ts.map +1 -1
  169. package/dist/core/db/repositories/users.d.ts +8 -8
  170. package/dist/core/db/repositories/users.d.ts.map +1 -1
  171. package/dist/core/db/schema.d.ts +1460 -38
  172. package/dist/core/db/schema.d.ts.map +1 -1
  173. package/dist/core/db/schema.postgres.d.ts +1082 -37
  174. package/dist/core/db/schema.postgres.d.ts.map +1 -1
  175. package/dist/core/db/schema.sqlite.d.ts +397 -1
  176. package/dist/core/db/schema.sqlite.d.ts.map +1 -1
  177. package/dist/core/db/tenant-context.d.ts +26 -0
  178. package/dist/core/db/tenant-context.d.ts.map +1 -0
  179. package/dist/core/db/tenant-scope.d.ts +31 -0
  180. package/dist/core/db/tenant-scope.d.ts.map +1 -0
  181. package/dist/core/db/user-utils.d.ts +2 -2
  182. package/dist/core/db/user-utils.d.ts.map +1 -1
  183. package/dist/core/drizzle/postgres/0052_gateway_outbound_messages.sql +45 -0
  184. package/dist/core/drizzle/postgres/0053_user_token_invalidation.sql +1 -0
  185. package/dist/core/drizzle/postgres/0054_app_level_multitenancy.sql +219 -0
  186. package/dist/core/drizzle/postgres/0055_app_level_multitenancy_rls.sql +411 -0
  187. package/dist/core/drizzle/postgres/0056_composite_indexes.sql +15 -0
  188. package/dist/core/drizzle/postgres/0057_message_timestamp_indexes.sql +3 -0
  189. package/dist/core/drizzle/postgres/meta/_journal.json +42 -0
  190. package/dist/core/drizzle/sqlite/0061_gateway_outbound_messages.sql +38 -0
  191. package/dist/core/drizzle/sqlite/0062_user_token_invalidation.sql +1 -0
  192. package/dist/core/drizzle/sqlite/0063_composite_indexes.sql +10 -0
  193. package/dist/core/drizzle/sqlite/0064_message_timestamp_indexes.sql +2 -0
  194. package/dist/core/drizzle/sqlite/meta/_journal.json +28 -0
  195. package/dist/core/environment/render-snapshot.cjs +7 -6
  196. package/dist/core/environment/render-snapshot.d.ts +2 -0
  197. package/dist/core/environment/render-snapshot.d.ts.map +1 -1
  198. package/dist/core/environment/render-snapshot.js +7 -6
  199. package/dist/core/environment/variable-resolver.cjs +3 -1
  200. package/dist/core/environment/variable-resolver.js +3 -1
  201. package/dist/core/environment/webhook.cjs +1 -4
  202. package/dist/core/environment/webhook.js +1 -4
  203. package/dist/core/gateway/connector.d.ts +10 -1
  204. package/dist/core/gateway/connector.d.ts.map +1 -1
  205. package/dist/core/gateway/connectors/slack-manifest.cjs +108 -0
  206. package/dist/core/gateway/connectors/slack-manifest.d.ts +85 -0
  207. package/dist/core/gateway/connectors/slack-manifest.d.ts.map +1 -0
  208. package/dist/core/gateway/connectors/slack-manifest.js +81 -0
  209. package/dist/core/gateway/connectors/slack.d.ts +101 -4
  210. package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
  211. package/dist/core/gateway/index.cjs +495 -29
  212. package/dist/core/gateway/index.d.ts +4 -1
  213. package/dist/core/gateway/index.d.ts.map +1 -1
  214. package/dist/core/gateway/index.js +490 -28
  215. package/dist/core/gateway/system-message.d.ts.map +1 -1
  216. package/dist/core/git/exec.cjs +24 -0
  217. package/dist/core/git/exec.d.ts +6 -4
  218. package/dist/core/git/exec.d.ts.map +1 -1
  219. package/dist/core/git/exec.js +2 -0
  220. package/dist/core/git/index.cjs +3 -1363
  221. package/dist/core/git/index.d.ts +4 -614
  222. package/dist/core/git/index.d.ts.map +1 -1
  223. package/dist/core/git/index.js +1 -1304
  224. package/dist/core/git/pure.cjs +24 -0
  225. package/dist/core/git/pure.d.ts +2 -27
  226. package/dist/core/git/pure.d.ts.map +1 -1
  227. package/dist/core/git/pure.js +2 -0
  228. package/dist/core/index.cjs +11563 -10832
  229. package/dist/core/index.d.ts +2 -0
  230. package/dist/core/index.d.ts.map +1 -1
  231. package/dist/core/index.js +12203 -10962
  232. package/dist/core/lib/feathers-validation.cjs +9 -1
  233. package/dist/core/lib/feathers-validation.d.ts +2 -0
  234. package/dist/core/lib/feathers-validation.d.ts.map +1 -1
  235. package/dist/core/lib/feathers-validation.js +9 -1
  236. package/dist/core/local-actions/git-remotes.d.ts +7 -0
  237. package/dist/core/local-actions/git-remotes.d.ts.map +1 -0
  238. package/dist/core/local-actions/index.cjs +8008 -0
  239. package/dist/core/local-actions/index.d.ts +6 -0
  240. package/dist/core/local-actions/index.d.ts.map +1 -0
  241. package/dist/core/local-actions/index.js +8010 -0
  242. package/dist/core/local-actions/symlinks.d.ts +20 -0
  243. package/dist/core/local-actions/symlinks.d.ts.map +1 -0
  244. package/dist/core/local-actions/types.d.ts +14 -0
  245. package/dist/core/local-actions/types.d.ts.map +1 -0
  246. package/dist/core/local-actions/unix-groups.d.ts +16 -0
  247. package/dist/core/local-actions/unix-groups.d.ts.map +1 -0
  248. package/dist/core/local-actions/unix-users.d.ts +12 -0
  249. package/dist/core/local-actions/unix-users.d.ts.map +1 -0
  250. package/dist/core/mcp/index.cjs +373 -28
  251. package/dist/core/mcp/index.d.ts +1 -1
  252. package/dist/core/mcp/index.d.ts.map +1 -1
  253. package/dist/core/mcp/index.js +369 -27
  254. package/dist/core/mcp/template-patterns.d.ts +15 -0
  255. package/dist/core/mcp/template-patterns.d.ts.map +1 -0
  256. package/dist/core/mcp/template-resolver.d.ts +13 -0
  257. package/dist/core/mcp/template-resolver.d.ts.map +1 -1
  258. package/dist/core/models/browser.cjs +154 -25
  259. package/dist/core/models/browser.js +150 -25
  260. package/dist/core/models/claude.d.ts +2 -2
  261. package/dist/core/models/claude.d.ts.map +1 -1
  262. package/dist/core/models/codex.d.ts +205 -21
  263. package/dist/core/models/codex.d.ts.map +1 -1
  264. package/dist/core/models/index.cjs +154 -25
  265. package/dist/core/models/index.js +150 -25
  266. package/dist/core/package.json +24 -0
  267. package/dist/core/seed/demo-fixtures.d.ts +87 -0
  268. package/dist/core/seed/demo-fixtures.d.ts.map +1 -0
  269. package/dist/core/seed/dev-fixtures.d.ts.map +1 -1
  270. package/dist/core/seed/index.cjs +8569 -5519
  271. package/dist/core/seed/index.d.ts +1 -0
  272. package/dist/core/seed/index.d.ts.map +1 -1
  273. package/dist/core/seed/index.js +8580 -5535
  274. package/dist/core/sessions/index.cjs +110 -24
  275. package/dist/core/sessions/index.js +110 -24
  276. package/dist/core/telemetry/index.cjs +361 -0
  277. package/dist/core/telemetry/index.d.ts +5 -0
  278. package/dist/core/telemetry/index.d.ts.map +1 -0
  279. package/dist/core/telemetry/index.js +315 -0
  280. package/dist/core/telemetry/logger.d.ts +44 -0
  281. package/dist/core/telemetry/logger.d.ts.map +1 -0
  282. package/dist/core/telemetry/model-normalization.d.ts +3 -0
  283. package/dist/core/telemetry/model-normalization.d.ts.map +1 -0
  284. package/dist/core/telemetry/types.d.ts +47 -0
  285. package/dist/core/telemetry/types.d.ts.map +1 -0
  286. package/dist/core/telemetry/version.d.ts +9 -0
  287. package/dist/core/telemetry/version.d.ts.map +1 -0
  288. package/dist/core/templates/agor-system-prompt.md +1 -0
  289. package/dist/core/templates/handlebars-helpers.cjs +3 -1
  290. package/dist/core/templates/handlebars-helpers.d.ts +5 -0
  291. package/dist/core/templates/handlebars-helpers.d.ts.map +1 -1
  292. package/dist/core/templates/handlebars-helpers.js +3 -1
  293. package/dist/core/tools/mcp/auth-secrets.cjs +3460 -3
  294. package/dist/core/tools/mcp/auth-secrets.d.ts.map +1 -1
  295. package/dist/core/tools/mcp/auth-secrets.js +3477 -3
  296. package/dist/core/tools/mcp/http-headers.cjs +17 -1
  297. package/dist/core/tools/mcp/http-headers.d.ts.map +1 -1
  298. package/dist/core/tools/mcp/http-headers.js +15 -1
  299. package/dist/core/tools/mcp/oauth-refresh.cjs +568 -114
  300. package/dist/core/tools/mcp/oauth-refresh.js +566 -115
  301. package/dist/core/types/board.d.ts +14 -0
  302. package/dist/core/types/board.d.ts.map +1 -1
  303. package/dist/core/types/branch.d.ts +13 -0
  304. package/dist/core/types/branch.d.ts.map +1 -1
  305. package/dist/core/types/config-services.d.ts.map +1 -1
  306. package/dist/core/types/feathers.d.ts +6 -0
  307. package/dist/core/types/feathers.d.ts.map +1 -1
  308. package/dist/core/types/gateway.d.ts +90 -1
  309. package/dist/core/types/gateway.d.ts.map +1 -1
  310. package/dist/core/types/index.cjs +42 -0
  311. package/dist/core/types/index.d.ts +1 -0
  312. package/dist/core/types/index.d.ts.map +1 -1
  313. package/dist/core/types/index.js +38 -0
  314. package/dist/core/types/schedule.d.ts +4 -3
  315. package/dist/core/types/schedule.d.ts.map +1 -1
  316. package/dist/core/types/session.d.ts +7 -1
  317. package/dist/core/types/session.d.ts.map +1 -1
  318. package/dist/core/types/tenant.d.ts +15 -0
  319. package/dist/core/types/tenant.d.ts.map +1 -0
  320. package/dist/core/types/user.d.ts +61 -0
  321. package/dist/core/types/user.d.ts.map +1 -1
  322. package/dist/core/unix/index.cjs +1123 -674
  323. package/dist/core/unix/index.js +1071 -624
  324. package/dist/core/utils/emoji-shortcodes.d.ts +13 -0
  325. package/dist/core/utils/emoji-shortcodes.d.ts.map +1 -0
  326. package/dist/core/yaml/index.cjs +8 -8
  327. package/dist/core/yaml/index.d.ts +1 -1
  328. package/dist/core/yaml/index.d.ts.map +1 -1
  329. package/dist/core/yaml/index.js +7 -7
  330. package/dist/daemon/adapters/drizzle.d.ts +26 -4
  331. package/dist/daemon/adapters/drizzle.d.ts.map +1 -1
  332. package/dist/daemon/adapters/drizzle.js +68 -7
  333. package/dist/daemon/auth/api-key-strategy.js +1 -1
  334. package/dist/daemon/auth/executor-runtime-scope.d.ts.map +1 -1
  335. package/dist/daemon/auth/executor-runtime-scope.js +34 -6
  336. package/dist/daemon/auth/executor-session-token.d.ts +15 -0
  337. package/dist/daemon/auth/executor-session-token.d.ts.map +1 -0
  338. package/dist/daemon/auth/executor-session-token.js +17 -0
  339. package/dist/daemon/auth/issue-browser-tokens-hook.d.ts +24 -0
  340. package/dist/daemon/auth/issue-browser-tokens-hook.d.ts.map +1 -0
  341. package/dist/daemon/auth/issue-browser-tokens-hook.js +95 -0
  342. package/dist/daemon/auth/launch-auth.d.ts +5 -4
  343. package/dist/daemon/auth/launch-auth.d.ts.map +1 -1
  344. package/dist/daemon/auth/launch-auth.js +123 -39
  345. package/dist/daemon/auth/refresh-token-service.d.ts +22 -0
  346. package/dist/daemon/auth/refresh-token-service.d.ts.map +1 -0
  347. package/dist/daemon/auth/refresh-token-service.js +133 -0
  348. package/dist/daemon/auth/runtime-tokens.d.ts +3 -1
  349. package/dist/daemon/auth/runtime-tokens.d.ts.map +1 -1
  350. package/dist/daemon/auth/runtime-tokens.js +17 -4
  351. package/dist/daemon/auth/service-jwt-strategy.d.ts +2 -1
  352. package/dist/daemon/auth/service-jwt-strategy.d.ts.map +1 -1
  353. package/dist/daemon/auth/service-jwt-strategy.js +141 -3
  354. package/dist/daemon/auth/token-invalidation.d.ts +11 -0
  355. package/dist/daemon/auth/token-invalidation.d.ts.map +1 -0
  356. package/dist/daemon/auth/token-invalidation.js +38 -0
  357. package/dist/daemon/auth/user-redaction.d.ts +12 -0
  358. package/dist/daemon/auth/user-redaction.d.ts.map +1 -0
  359. package/dist/daemon/auth/user-redaction.js +13 -0
  360. package/dist/daemon/declarations.d.ts +5 -4
  361. package/dist/daemon/declarations.d.ts.map +1 -1
  362. package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
  363. package/dist/daemon/hooks/gateway-route.js +23 -13
  364. package/dist/daemon/index.d.ts.map +1 -1
  365. package/dist/daemon/index.js +8271 -2956
  366. package/dist/daemon/knowledge/pgvector.d.ts +3 -3
  367. package/dist/daemon/knowledge/pgvector.d.ts.map +1 -1
  368. package/dist/daemon/knowledge/pgvector.js +24 -0
  369. package/dist/daemon/knowledge/units.d.ts +2 -2
  370. package/dist/daemon/knowledge/units.d.ts.map +1 -1
  371. package/dist/daemon/main.js +8271 -2956
  372. package/dist/daemon/mcp/server.d.ts +3 -3
  373. package/dist/daemon/mcp/server.d.ts.map +1 -1
  374. package/dist/daemon/mcp/server.js +1740 -81
  375. package/dist/daemon/mcp/tokens.d.ts +2 -2
  376. package/dist/daemon/mcp/tokens.d.ts.map +1 -1
  377. package/dist/daemon/mcp/tokens.js +5 -1
  378. package/dist/daemon/mcp/tool-registry.d.ts.map +1 -1
  379. package/dist/daemon/mcp/tool-registry.js +1 -0
  380. package/dist/daemon/mcp/tools/analytics.d.ts.map +1 -1
  381. package/dist/daemon/mcp/tools/analytics.js +598 -24
  382. package/dist/daemon/mcp/tools/artifacts.js +560 -20
  383. package/dist/daemon/mcp/tools/boards.d.ts.map +1 -1
  384. package/dist/daemon/mcp/tools/boards.js +567 -21
  385. package/dist/daemon/mcp/tools/branches.d.ts.map +1 -1
  386. package/dist/daemon/mcp/tools/branches.js +624 -50
  387. package/dist/daemon/mcp/tools/card-types.js +558 -18
  388. package/dist/daemon/mcp/tools/cards.js +558 -18
  389. package/dist/daemon/mcp/tools/environment.js +566 -18
  390. package/dist/daemon/mcp/tools/gateway-channels.d.ts +4 -0
  391. package/dist/daemon/mcp/tools/gateway-channels.d.ts.map +1 -0
  392. package/dist/daemon/mcp/tools/gateway-channels.js +16187 -0
  393. package/dist/daemon/mcp/tools/knowledge.js +558 -18
  394. package/dist/daemon/mcp/tools/mcp-servers.d.ts.map +1 -1
  395. package/dist/daemon/mcp/tools/mcp-servers.js +893 -18
  396. package/dist/daemon/mcp/tools/messages.d.ts.map +1 -1
  397. package/dist/daemon/mcp/tools/messages.js +618 -32
  398. package/dist/daemon/mcp/tools/proxies.js +568 -20
  399. package/dist/daemon/mcp/tools/repos.js +558 -18
  400. package/dist/daemon/mcp/tools/schedules.d.ts.map +1 -1
  401. package/dist/daemon/mcp/tools/schedules.js +561 -19
  402. package/dist/daemon/mcp/tools/search.js +558 -18
  403. package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
  404. package/dist/daemon/mcp/tools/sessions.js +571 -24
  405. package/dist/daemon/mcp/tools/tasks.js +558 -18
  406. package/dist/daemon/mcp/tools/users.d.ts.map +1 -1
  407. package/dist/daemon/mcp/tools/users.js +577 -23
  408. package/dist/daemon/mcp/tools/widgets.d.ts.map +1 -1
  409. package/dist/daemon/mcp/tools/widgets.js +759 -83
  410. package/dist/daemon/oauth-auth-helpers.d.ts +35 -0
  411. package/dist/daemon/oauth-auth-helpers.d.ts.map +1 -0
  412. package/dist/daemon/oauth-auth-helpers.js +14 -0
  413. package/dist/daemon/register-hooks.d.ts +4 -2
  414. package/dist/daemon/register-hooks.d.ts.map +1 -1
  415. package/dist/daemon/register-hooks.js +1158 -595
  416. package/dist/daemon/register-routes.d.ts +3 -2
  417. package/dist/daemon/register-routes.d.ts.map +1 -1
  418. package/dist/daemon/register-routes.js +3161 -812
  419. package/dist/daemon/register-services.d.ts +2 -2
  420. package/dist/daemon/register-services.d.ts.map +1 -1
  421. package/dist/daemon/register-services.js +2782 -739
  422. package/dist/daemon/services/artifacts.d.ts +34 -6
  423. package/dist/daemon/services/artifacts.d.ts.map +1 -1
  424. package/dist/daemon/services/artifacts.js +109 -8
  425. package/dist/daemon/services/assistant-knowledge.d.ts +2 -2
  426. package/dist/daemon/services/assistant-knowledge.d.ts.map +1 -1
  427. package/dist/daemon/services/board-comments.d.ts +8 -5
  428. package/dist/daemon/services/board-comments.d.ts.map +1 -1
  429. package/dist/daemon/services/board-comments.js +78 -13
  430. package/dist/daemon/services/board-objects.d.ts +8 -5
  431. package/dist/daemon/services/board-objects.d.ts.map +1 -1
  432. package/dist/daemon/services/board-objects.js +14 -4
  433. package/dist/daemon/services/boards.d.ts +39 -5
  434. package/dist/daemon/services/boards.d.ts.map +1 -1
  435. package/dist/daemon/services/boards.js +123 -8
  436. package/dist/daemon/services/branch-owners.d.ts +3 -1
  437. package/dist/daemon/services/branch-owners.d.ts.map +1 -1
  438. package/dist/daemon/services/branch-owners.js +31 -4
  439. package/dist/daemon/services/branches.d.ts +31 -8
  440. package/dist/daemon/services/branches.d.ts.map +1 -1
  441. package/dist/daemon/services/branches.js +272 -36
  442. package/dist/daemon/services/card-types.d.ts +3 -3
  443. package/dist/daemon/services/card-types.d.ts.map +1 -1
  444. package/dist/daemon/services/card-types.js +68 -7
  445. package/dist/daemon/services/cards.d.ts +19 -4
  446. package/dist/daemon/services/cards.d.ts.map +1 -1
  447. package/dist/daemon/services/cards.js +92 -8
  448. package/dist/daemon/services/check-auth.d.ts +2 -2
  449. package/dist/daemon/services/check-auth.d.ts.map +1 -1
  450. package/dist/daemon/services/claude-cli-integration.d.ts +4 -1
  451. package/dist/daemon/services/claude-cli-integration.d.ts.map +1 -1
  452. package/dist/daemon/services/claude-cli-integration.js +117 -65
  453. package/dist/daemon/services/claude-models.d.ts +3 -3
  454. package/dist/daemon/services/claude-models.d.ts.map +1 -1
  455. package/dist/daemon/services/claude-models.js +387 -273
  456. package/dist/daemon/services/config.d.ts +12 -4
  457. package/dist/daemon/services/config.d.ts.map +1 -1
  458. package/dist/daemon/services/config.js +39 -3
  459. package/dist/daemon/services/copilot-models.d.ts +3 -3
  460. package/dist/daemon/services/copilot-models.d.ts.map +1 -1
  461. package/dist/daemon/services/cursor-models.d.ts +3 -3
  462. package/dist/daemon/services/cursor-models.d.ts.map +1 -1
  463. package/dist/daemon/services/files.d.ts +3 -3
  464. package/dist/daemon/services/files.d.ts.map +1 -1
  465. package/dist/daemon/services/files.js +24 -5
  466. package/dist/daemon/services/gateway-channels-test.d.ts +24 -0
  467. package/dist/daemon/services/gateway-channels-test.d.ts.map +1 -0
  468. package/dist/daemon/services/gateway-channels-test.js +66 -0
  469. package/dist/daemon/services/gateway-channels.d.ts +3 -3
  470. package/dist/daemon/services/gateway-channels.d.ts.map +1 -1
  471. package/dist/daemon/services/gateway-channels.js +68 -7
  472. package/dist/daemon/services/gateway.d.ts +63 -3
  473. package/dist/daemon/services/gateway.d.ts.map +1 -1
  474. package/dist/daemon/services/gateway.js +640 -60
  475. package/dist/daemon/services/github-app-setup.d.ts +3 -3
  476. package/dist/daemon/services/github-app-setup.d.ts.map +1 -1
  477. package/dist/daemon/services/groups.d.ts +5 -5
  478. package/dist/daemon/services/groups.d.ts.map +1 -1
  479. package/dist/daemon/services/health-monitor.d.ts +34 -2
  480. package/dist/daemon/services/health-monitor.d.ts.map +1 -1
  481. package/dist/daemon/services/health-monitor.js +155 -30
  482. package/dist/daemon/services/knowledge-document-edits.d.ts +3 -3
  483. package/dist/daemon/services/knowledge-document-edits.d.ts.map +1 -1
  484. package/dist/daemon/services/knowledge-documents.d.ts +3 -3
  485. package/dist/daemon/services/knowledge-documents.d.ts.map +1 -1
  486. package/dist/daemon/services/knowledge-documents.js +92 -7
  487. package/dist/daemon/services/knowledge-embedding-indexer.d.ts +7 -2
  488. package/dist/daemon/services/knowledge-embedding-indexer.d.ts.map +1 -1
  489. package/dist/daemon/services/knowledge-embedding-indexer.js +37 -3
  490. package/dist/daemon/services/knowledge-graph.d.ts +3 -3
  491. package/dist/daemon/services/knowledge-graph.d.ts.map +1 -1
  492. package/dist/daemon/services/knowledge-indexing.d.ts +3 -3
  493. package/dist/daemon/services/knowledge-indexing.d.ts.map +1 -1
  494. package/dist/daemon/services/knowledge-namespaces.d.ts +3 -3
  495. package/dist/daemon/services/knowledge-namespaces.d.ts.map +1 -1
  496. package/dist/daemon/services/knowledge-namespaces.js +72 -8
  497. package/dist/daemon/services/knowledge-reindex.d.ts +3 -3
  498. package/dist/daemon/services/knowledge-reindex.d.ts.map +1 -1
  499. package/dist/daemon/services/knowledge-reindex.js +28 -1
  500. package/dist/daemon/services/knowledge-search.d.ts +3 -3
  501. package/dist/daemon/services/knowledge-search.d.ts.map +1 -1
  502. package/dist/daemon/services/knowledge-settings.d.ts +3 -3
  503. package/dist/daemon/services/knowledge-settings.d.ts.map +1 -1
  504. package/dist/daemon/services/knowledge-settings.js +24 -0
  505. package/dist/daemon/services/knowledge-versions.d.ts +3 -3
  506. package/dist/daemon/services/knowledge-versions.d.ts.map +1 -1
  507. package/dist/daemon/services/knowledge-versions.js +68 -7
  508. package/dist/daemon/services/leaderboard.d.ts +14 -6
  509. package/dist/daemon/services/leaderboard.d.ts.map +1 -1
  510. package/dist/daemon/services/leaderboard.js +74 -15
  511. package/dist/daemon/services/local-actions.d.ts +13 -0
  512. package/dist/daemon/services/local-actions.d.ts.map +1 -0
  513. package/dist/daemon/services/local-actions.js +120 -0
  514. package/dist/daemon/services/mcp-servers.d.ts +3 -3
  515. package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
  516. package/dist/daemon/services/mcp-servers.js +68 -7
  517. package/dist/daemon/services/messages.d.ts +10 -6
  518. package/dist/daemon/services/messages.d.ts.map +1 -1
  519. package/dist/daemon/services/messages.js +87 -7
  520. package/dist/daemon/services/repos.d.ts +6 -6
  521. package/dist/daemon/services/repos.d.ts.map +1 -1
  522. package/dist/daemon/services/repos.js +131 -32
  523. package/dist/daemon/services/scheduler.d.ts +23 -27
  524. package/dist/daemon/services/scheduler.d.ts.map +1 -1
  525. package/dist/daemon/services/scheduler.js +55 -28
  526. package/dist/daemon/services/schedules.d.ts +3 -3
  527. package/dist/daemon/services/schedules.d.ts.map +1 -1
  528. package/dist/daemon/services/schedules.js +68 -7
  529. package/dist/daemon/services/session-env-selections.d.ts +3 -3
  530. package/dist/daemon/services/session-env-selections.d.ts.map +1 -1
  531. package/dist/daemon/services/session-mcp-servers.d.ts +3 -3
  532. package/dist/daemon/services/session-mcp-servers.d.ts.map +1 -1
  533. package/dist/daemon/services/session-streams.d.ts +29 -0
  534. package/dist/daemon/services/session-streams.d.ts.map +1 -0
  535. package/dist/daemon/services/session-streams.js +84 -0
  536. package/dist/daemon/services/session-token-service.d.ts.map +1 -1
  537. package/dist/daemon/services/session-token-service.js +11 -4
  538. package/dist/daemon/services/sessions.d.ts +9 -5
  539. package/dist/daemon/services/sessions.d.ts.map +1 -1
  540. package/dist/daemon/services/sessions.js +143 -10
  541. package/dist/daemon/services/tasks.d.ts +11 -5
  542. package/dist/daemon/services/tasks.d.ts.map +1 -1
  543. package/dist/daemon/services/tasks.js +199 -39
  544. package/dist/daemon/services/terminals.d.ts +21 -3
  545. package/dist/daemon/services/terminals.d.ts.map +1 -1
  546. package/dist/daemon/services/terminals.js +81 -25
  547. package/dist/daemon/services/thread-session-map.d.ts +3 -3
  548. package/dist/daemon/services/thread-session-map.d.ts.map +1 -1
  549. package/dist/daemon/services/thread-session-map.js +68 -7
  550. package/dist/daemon/services/user-avatar-sync.d.ts +21 -0
  551. package/dist/daemon/services/user-avatar-sync.d.ts.map +1 -0
  552. package/dist/daemon/services/user-avatar-sync.js +267 -0
  553. package/dist/daemon/services/users.d.ts +29 -9
  554. package/dist/daemon/services/users.d.ts.map +1 -1
  555. package/dist/daemon/services/users.js +383 -30
  556. package/dist/daemon/services/zone-trigger.d.ts.map +1 -1
  557. package/dist/daemon/services/zone-trigger.js +17 -4
  558. package/dist/daemon/setup/build-info.d.ts +1 -1
  559. package/dist/daemon/setup/build-info.d.ts.map +1 -1
  560. package/dist/daemon/setup/build-info.js +5 -1
  561. package/dist/daemon/setup/database.d.ts +8 -3
  562. package/dist/daemon/setup/database.d.ts.map +1 -1
  563. package/dist/daemon/setup/database.js +26 -6
  564. package/dist/daemon/setup/first-run-admin.d.ts +2 -2
  565. package/dist/daemon/setup/first-run-admin.d.ts.map +1 -1
  566. package/dist/daemon/setup/index.js +137 -25
  567. package/dist/daemon/setup/socketio.d.ts +10 -1
  568. package/dist/daemon/setup/socketio.d.ts.map +1 -1
  569. package/dist/daemon/setup/socketio.js +108 -18
  570. package/dist/daemon/startup.d.ts +13 -2
  571. package/dist/daemon/startup.d.ts.map +1 -1
  572. package/dist/daemon/startup.js +377 -94
  573. package/dist/daemon/utils/append-system-message.d.ts +2 -2
  574. package/dist/daemon/utils/append-system-message.d.ts.map +1 -1
  575. package/dist/daemon/utils/apply-session-config-defaults.d.ts.map +1 -1
  576. package/dist/daemon/utils/apply-session-config-defaults.js +12 -1
  577. package/dist/daemon/utils/authorization.d.ts +3 -1
  578. package/dist/daemon/utils/authorization.d.ts.map +1 -1
  579. package/dist/daemon/utils/authorization.js +36 -7
  580. package/dist/daemon/utils/branch-authorization.d.ts +30 -0
  581. package/dist/daemon/utils/branch-authorization.d.ts.map +1 -1
  582. package/dist/daemon/utils/branch-authorization.js +63 -5
  583. package/dist/daemon/utils/branch-inspect.d.ts +1 -0
  584. package/dist/daemon/utils/branch-inspect.d.ts.map +1 -1
  585. package/dist/daemon/utils/branch-inspect.js +11 -3
  586. package/dist/daemon/utils/emit-service-event.d.ts +56 -0
  587. package/dist/daemon/utils/emit-service-event.d.ts.map +1 -0
  588. package/dist/daemon/utils/emit-service-event.js +23 -0
  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-header-secrets.d.ts +3 -5
  597. package/dist/daemon/utils/mcp-header-secrets.d.ts.map +1 -1
  598. package/dist/daemon/utils/mcp-header-secrets.js +31 -2
  599. package/dist/daemon/utils/mcp-token-authorization.d.ts +18 -13
  600. package/dist/daemon/utils/mcp-token-authorization.d.ts.map +1 -1
  601. package/dist/daemon/utils/mcp-token-authorization.js +11 -5
  602. package/dist/daemon/utils/open-source-telemetry-config.d.ts +6 -0
  603. package/dist/daemon/utils/open-source-telemetry-config.d.ts.map +1 -0
  604. package/dist/daemon/utils/open-source-telemetry-config.js +21 -0
  605. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts +7 -0
  606. package/dist/daemon/utils/open-source-telemetry-heartbeat.d.ts.map +1 -0
  607. package/dist/daemon/utils/open-source-telemetry-heartbeat.js +15 -0
  608. package/dist/daemon/utils/open-source-telemetry-usage.d.ts +9 -0
  609. package/dist/daemon/utils/open-source-telemetry-usage.d.ts.map +1 -0
  610. package/dist/daemon/utils/open-source-telemetry-usage.js +121 -0
  611. package/dist/daemon/utils/realign-repo-origin.d.ts +3 -3
  612. package/dist/daemon/utils/realign-repo-origin.d.ts.map +1 -1
  613. package/dist/daemon/utils/realign-repo-origin.js +47 -16
  614. package/dist/daemon/utils/realtime-access-cache.d.ts +9 -0
  615. package/dist/daemon/utils/realtime-access-cache.d.ts.map +1 -1
  616. package/dist/daemon/utils/realtime-access-cache.js +24 -0
  617. package/dist/daemon/utils/realtime-publish.d.ts +26 -0
  618. package/dist/daemon/utils/realtime-publish.d.ts.map +1 -1
  619. package/dist/daemon/utils/realtime-publish.js +171 -12
  620. package/dist/daemon/utils/session-queue-tenant-scope.d.ts +24 -0
  621. package/dist/daemon/utils/session-queue-tenant-scope.d.ts.map +1 -0
  622. package/dist/daemon/utils/session-queue-tenant-scope.js +133 -0
  623. package/dist/daemon/utils/session-state-hooks.d.ts +3 -3
  624. package/dist/daemon/utils/session-state-hooks.d.ts.map +1 -1
  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/gateway-token/index.d.ts +114 -0
  643. package/dist/daemon/widgets/gateway-token/index.d.ts.map +1 -0
  644. package/dist/daemon/widgets/gateway-token/index.js +14711 -0
  645. package/dist/daemon/widgets/index.d.ts.map +1 -1
  646. package/dist/daemon/widgets/index.js +327 -37
  647. package/dist/daemon/widgets/registry.d.ts +7 -0
  648. package/dist/daemon/widgets/registry.d.ts.map +1 -1
  649. package/dist/daemon/widgets/submissions.js +12 -9
  650. package/dist/executor/commands/environment.d.ts.map +1 -1
  651. package/dist/executor/commands/environment.js +9 -5
  652. package/dist/executor/commands/git.d.ts.map +1 -1
  653. package/dist/executor/commands/git.js +3 -1
  654. package/dist/executor/db/feathers-repositories.d.ts +19 -1
  655. package/dist/executor/db/feathers-repositories.d.ts.map +1 -1
  656. package/dist/executor/db/feathers-repositories.js +31 -1
  657. package/dist/executor/git/index.d.ts +8 -0
  658. package/dist/executor/git/index.d.ts.map +1 -0
  659. package/dist/executor/git/index.js +7 -0
  660. package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
  661. package/dist/executor/handlers/sdk/base-executor.js +4 -1
  662. package/dist/executor/handlers/sdk/claude.d.ts.map +1 -1
  663. package/dist/executor/handlers/sdk/claude.js +1 -1
  664. package/dist/executor/handlers/sdk/codex.d.ts.map +1 -1
  665. package/dist/executor/handlers/sdk/codex.js +1 -1
  666. package/dist/executor/handlers/sdk/copilot.d.ts.map +1 -1
  667. package/dist/executor/handlers/sdk/copilot.js +1 -1
  668. package/dist/executor/handlers/sdk/cursor.d.ts.map +1 -1
  669. package/dist/executor/handlers/sdk/cursor.js +1 -0
  670. package/dist/executor/handlers/sdk/gemini.d.ts.map +1 -1
  671. package/dist/executor/handlers/sdk/gemini.js +1 -1
  672. package/dist/executor/handlers/sdk/git-safe-directory.d.ts.map +1 -1
  673. package/dist/executor/handlers/sdk/git-safe-directory.js +1 -1
  674. package/dist/executor/handlers/sdk/opencode.d.ts.map +1 -1
  675. package/dist/executor/handlers/sdk/opencode.js +1 -1
  676. package/dist/executor/payload-types.d.ts +5 -5
  677. package/dist/executor/sdk-handlers/base/diff-enrichment.js +1 -1
  678. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts +8 -1
  679. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
  680. package/dist/executor/sdk-handlers/base/mcp-scoping.js +58 -6
  681. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts +2 -2
  682. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
  683. package/dist/executor/sdk-handlers/claude/claude-tool.js +2 -2
  684. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts +13 -3
  685. package/dist/executor/sdk-handlers/claude/prompt-service.d.ts.map +1 -1
  686. package/dist/executor/sdk-handlers/claude/prompt-service.js +16 -3
  687. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +2 -1
  688. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  689. package/dist/executor/sdk-handlers/claude/query-builder.js +2 -1
  690. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +8 -12
  691. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  692. package/dist/executor/sdk-handlers/codex/codex-tool.js +14 -17
  693. package/dist/executor/sdk-handlers/codex/normalizer.d.ts.map +1 -1
  694. package/dist/executor/sdk-handlers/codex/normalizer.js +11 -1
  695. package/dist/executor/sdk-handlers/codex/pricing/litellm-openai-model-prices.json +3663 -0
  696. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts +31 -0
  697. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.d.ts.map +1 -0
  698. package/dist/executor/sdk-handlers/codex/pricing/litellm-pricing.js +46 -0
  699. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +3 -2
  700. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  701. package/dist/executor/sdk-handlers/codex/prompt-service.js +131 -12
  702. package/dist/executor/sdk-handlers/codex/usage.d.ts +14 -23
  703. package/dist/executor/sdk-handlers/codex/usage.d.ts.map +1 -1
  704. package/dist/executor/sdk-handlers/codex/usage.js +18 -33
  705. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +2 -2
  706. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
  707. package/dist/executor/sdk-handlers/copilot/copilot-tool.js +2 -2
  708. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +3 -2
  709. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
  710. package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -1
  711. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +2 -2
  712. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
  713. package/dist/executor/sdk-handlers/gemini/gemini-tool.js +2 -2
  714. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +3 -2
  715. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  716. package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -1
  717. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts +3 -2
  718. package/dist/executor/sdk-handlers/opencode/opencode-tool.d.ts.map +1 -1
  719. package/dist/executor/sdk-handlers/opencode/opencode-tool.js +4 -1
  720. package/dist/executor/services/feathers-client.d.ts.map +1 -1
  721. package/dist/executor/services/feathers-client.js +124 -25
  722. package/dist/git/index.cjs +1101 -0
  723. package/dist/git/index.d.ts +533 -0
  724. package/dist/git/index.d.ts.map +1 -0
  725. package/dist/git/index.js +1022 -0
  726. package/dist/git/package.json +21 -0
  727. package/dist/git/pure.cjs +185 -0
  728. package/dist/git/pure.d.ts +39 -0
  729. package/dist/git/pure.d.ts.map +1 -0
  730. package/dist/git/pure.js +139 -0
  731. package/dist/ui/assets/AgorEmojiPickerInner-leeNywMc.js +1 -0
  732. package/dist/ui/assets/App-Dpl4Cc0U.js +4 -0
  733. package/dist/ui/assets/App-Dpl4Cc0U.js.gz +0 -0
  734. package/dist/ui/assets/AppNode-wN3UZlFK.js +1 -0
  735. package/dist/ui/assets/AppNode-wN3UZlFK.js.gz +0 -0
  736. package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js +1 -0
  737. package/dist/ui/assets/ArtifactConsentModal-DjzXcP_L.js.gz +0 -0
  738. package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js +9 -0
  739. package/dist/ui/assets/ArtifactFullscreenPage-B3b_EZ0F.js.gz +0 -0
  740. package/dist/ui/assets/ArtifactNode-DISy2T-6.js +9 -0
  741. package/dist/ui/assets/ArtifactNode-DISy2T-6.js.gz +0 -0
  742. package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js +19 -0
  743. package/dist/ui/assets/AutocompleteTextarea-DUpsoEGr.js.gz +0 -0
  744. package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js +34 -0
  745. package/dist/ui/assets/BoardObjectNodes-BakeGpIX.js.gz +0 -0
  746. package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js +7 -0
  747. package/dist/ui/assets/CodeEditor.inner-HmSdTLW5.js.gz +0 -0
  748. package/dist/ui/assets/ConversationView-mWaA-B1f.js +1 -0
  749. package/dist/ui/assets/ConversationView-mWaA-B1f.js.gz +0 -0
  750. package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js +2 -0
  751. package/dist/ui/assets/EmbeddedTerminal-NNoyPA81.js.gz +0 -0
  752. package/dist/ui/assets/KnowledgePage-CkxVnRvz.js +24 -0
  753. package/dist/ui/assets/KnowledgePage-CkxVnRvz.js.gz +0 -0
  754. package/dist/ui/assets/{MarketingScreenshotPage-zv5RUCuV.js → MarketingScreenshotPage-B86Gs8jx.js} +2 -2
  755. package/dist/ui/assets/MarketingScreenshotPage-B86Gs8jx.js.gz +0 -0
  756. package/dist/ui/assets/MobileApp-BPs-SXvz.js +1 -0
  757. package/dist/ui/assets/MobileApp-BPs-SXvz.js.gz +0 -0
  758. package/dist/ui/assets/{SessionCanvas-mEmYGZhC.css → SessionCanvas-Bh7Yg5dZ.css} +1 -1
  759. package/dist/ui/assets/SessionCanvas-Bh7Yg5dZ.css.gz +0 -0
  760. package/dist/ui/assets/SessionCanvas-xVfDoEtz.js +13 -0
  761. package/dist/ui/assets/SessionCanvas-xVfDoEtz.js.gz +0 -0
  762. package/dist/ui/assets/{StreamdownDemoPage-wzWaqWwr.js → StreamdownDemoPage-CvWLzVsv.js} +2 -2
  763. package/dist/ui/assets/StreamdownDemoPage-CvWLzVsv.js.gz +0 -0
  764. package/dist/ui/assets/TerminalModal-ExOgsuOP.js +2 -0
  765. package/dist/ui/assets/TerminalModal-ExOgsuOP.js.gz +0 -0
  766. package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js +1 -0
  767. package/dist/ui/assets/ThemeSwitcher-Cgyp5ruu.js.gz +0 -0
  768. package/dist/ui/assets/ThemedSyntaxHighlighter.inner-rpCN9S6K.js +1 -0
  769. package/dist/ui/assets/{antd-CfbbHJOz.js → antd-BCqimh1J.js} +5 -5
  770. package/dist/ui/assets/{antd-CfbbHJOz.js.gz → antd-BCqimh1J.js.gz} +0 -0
  771. package/dist/ui/assets/architecture-U656AL7Q-BxSQIjrE.js +1 -0
  772. package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js +36 -0
  773. package/dist/ui/assets/architectureDiagram-VXUJARFQ-pDpGHSqT.js.gz +0 -0
  774. package/dist/ui/assets/{blockDiagram-VD42YOAC-BhZaEN19.js → blockDiagram-VD42YOAC-uP8JTJpK.js} +4 -4
  775. package/dist/ui/assets/blockDiagram-VD42YOAC-uP8JTJpK.js.gz +0 -0
  776. package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dk_UH-sY.js → c4Diagram-YG6GDRKO-qQe72Mm7.js} +2 -2
  777. package/dist/ui/assets/c4Diagram-YG6GDRKO-qQe72Mm7.js.gz +0 -0
  778. package/dist/ui/assets/channel-CoUBs6Zn.js +1 -0
  779. package/dist/ui/assets/{chunk-4BX2VUAB-XprbG2TG.js → chunk-4BX2VUAB-sz-YE8Nt.js} +1 -1
  780. package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js +3 -0
  781. package/dist/ui/assets/chunk-4ZMWKKQ3-3oKtfWXp.js.gz +0 -0
  782. package/dist/ui/assets/chunk-55IACEB6-BS04dgKF.js +1 -0
  783. package/dist/ui/assets/{chunk-ABZYJK2D-BJcrryHK.js → chunk-ABZYJK2D-t3Gkphds.js} +3 -3
  784. package/dist/ui/assets/chunk-ABZYJK2D-t3Gkphds.js.gz +0 -0
  785. package/dist/ui/assets/{chunk-AGHRB4JF-DvxmfbM0.js → chunk-AGHRB4JF-D_QmWxbY.js} +1 -1
  786. package/dist/ui/assets/chunk-AGHRB4JF-D_QmWxbY.js.gz +0 -0
  787. package/dist/ui/assets/{chunk-ATLVNIR6-DbeJ0OrR.js → chunk-ATLVNIR6-Bmg7-Ufz.js} +1 -1
  788. package/dist/ui/assets/chunk-ATLVNIR6-Bmg7-Ufz.js.gz +0 -0
  789. package/dist/ui/assets/{chunk-B4BG7PRW-C53q2ggf.js → chunk-B4BG7PRW-dnSEE1u-.js} +3 -3
  790. package/dist/ui/assets/chunk-B4BG7PRW-dnSEE1u-.js.gz +0 -0
  791. package/dist/ui/assets/{chunk-CVBHYZKI-B3EBSlb3.js → chunk-CVBHYZKI-BStaYnF0.js} +1 -1
  792. package/dist/ui/assets/{chunk-DI55MBZ5-vIyNEQN-.js → chunk-DI55MBZ5-28dvx6o3.js} +1 -1
  793. package/dist/ui/assets/chunk-DI55MBZ5-28dvx6o3.js.gz +0 -0
  794. package/dist/ui/assets/chunk-EXTU4WIE-X-FURkEh.js +1 -0
  795. package/dist/ui/assets/{chunk-FMBD7UC4-rddmfK-Z.js → chunk-FMBD7UC4-C_63gC9S.js} +1 -1
  796. package/dist/ui/assets/{chunk-HN2XXSSU-Dttqcg3b.js → chunk-HN2XXSSU-UFD374KI.js} +1 -1
  797. package/dist/ui/assets/chunk-HN2XXSSU-UFD374KI.js.gz +0 -0
  798. package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js +11 -0
  799. package/dist/ui/assets/chunk-JA3XYJ7Z-B60hLNeR.js.gz +0 -0
  800. package/dist/ui/assets/{chunk-JZLCHNYA-EUmx2y4H.js → chunk-JZLCHNYA-ButC6pwN.js} +5 -5
  801. package/dist/ui/assets/chunk-JZLCHNYA-ButC6pwN.js.gz +0 -0
  802. package/dist/ui/assets/{chunk-MI3HLSF2-65n9Mkyc.js → chunk-MI3HLSF2-BivYzoSV.js} +1 -1
  803. package/dist/ui/assets/chunk-MI3HLSF2-BivYzoSV.js.gz +0 -0
  804. package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js +2 -0
  805. package/dist/ui/assets/chunk-N4CR4FBY-mVWzo5wJ.js.gz +0 -0
  806. package/dist/ui/assets/{chunk-QN33PNHL-DsRKK6NR.js → chunk-QN33PNHL-tXtHZpaG.js} +1 -1
  807. package/dist/ui/assets/{chunk-QXUST7PY-BCYnMiS3.js → chunk-QXUST7PY-DATib_Vv.js} +2 -2
  808. package/dist/ui/assets/chunk-QXUST7PY-DATib_Vv.js.gz +0 -0
  809. package/dist/ui/assets/chunk-QZHKN3VN-y6l249e5.js +1 -0
  810. package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js +2 -0
  811. package/dist/ui/assets/chunk-S3R3BYOJ-BEtfmflI.js.gz +0 -0
  812. package/dist/ui/assets/{chunk-TZMSLE5B-BuQUQcTr.js → chunk-TZMSLE5B-BY1ZtogK.js} +1 -1
  813. package/dist/ui/assets/chunk-TZMSLE5B-BY1ZtogK.js.gz +0 -0
  814. package/dist/ui/assets/classDiagram-2ON5EDUG-BYvq-uPY.js +1 -0
  815. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BYvq-uPY.js +1 -0
  816. package/dist/ui/assets/constants-CYzQKfD1.js +1 -0
  817. package/dist/ui/assets/{cose-bilkent-S5V4N54A-CnPB3ARO.js → cose-bilkent-S5V4N54A-DPvYrqGG.js} +1 -1
  818. package/dist/ui/assets/cose-bilkent-S5V4N54A-DPvYrqGG.js.gz +0 -0
  819. package/dist/ui/assets/{dagre-6UL2VRFP-DhS-k_Se.js → dagre-6UL2VRFP-D800J6qb.js} +1 -1
  820. package/dist/ui/assets/dagre-6UL2VRFP-D800J6qb.js.gz +0 -0
  821. package/dist/ui/assets/{dagre-KgLoHEuy.js → dagre-TNc4wezg.js} +1 -1
  822. package/dist/ui/assets/dagre-TNc4wezg.js.gz +0 -0
  823. package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js +24 -0
  824. package/dist/ui/assets/diagram-PSM6KHXK-CGdP9F-X.js.gz +0 -0
  825. package/dist/ui/assets/{diagram-QEK2KX5R-BPCitvbo.js → diagram-QEK2KX5R-BD5lOCe5.js} +1 -1
  826. package/dist/ui/assets/diagram-QEK2KX5R-BD5lOCe5.js.gz +0 -0
  827. package/dist/ui/assets/{diagram-S2PKOQOG-NW4uK6sx.js → diagram-S2PKOQOG-cp3l22vN.js} +1 -1
  828. package/dist/ui/assets/diagram-S2PKOQOG-cp3l22vN.js.gz +0 -0
  829. package/dist/ui/assets/editor-Cr0W5BQI.js +39 -0
  830. package/dist/ui/assets/editor-Cr0W5BQI.js.gz +0 -0
  831. package/dist/ui/assets/emoji-Bv3m24sO.js +3 -0
  832. package/dist/ui/assets/emoji-Bv3m24sO.js.gz +0 -0
  833. package/dist/ui/assets/{erDiagram-Q2GNP2WA-me1fboaf.js → erDiagram-Q2GNP2WA-CQSXRgqr.js} +2 -2
  834. package/dist/ui/assets/erDiagram-Q2GNP2WA-CQSXRgqr.js.gz +0 -0
  835. package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js +162 -0
  836. package/dist/ui/assets/flowDiagram-NV44I4VS-CKcKpkph.js.gz +0 -0
  837. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js +267 -0
  838. package/dist/ui/assets/ganttDiagram-LVOFAZNH-DlAHzXO5.js.gz +0 -0
  839. package/dist/ui/assets/{gitGraph-F6HP7TQM-CfFE_uAC.js → gitGraph-F6HP7TQM-DeuXy4B1.js} +1 -1
  840. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js +65 -0
  841. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-aB-AI4Vq.js.gz +0 -0
  842. package/dist/ui/assets/index-B-qHc0o5.js +63 -0
  843. package/dist/ui/assets/index-B-qHc0o5.js.gz +0 -0
  844. package/dist/ui/assets/{index-DxuPq13l.css → index-qkT7Qqm2.css} +1 -1
  845. package/dist/ui/assets/index-qkT7Qqm2.css.gz +0 -0
  846. package/dist/ui/assets/{info-NVLQJR56-i_xHYg3f.js → info-NVLQJR56-B9PG7xsc.js} +1 -1
  847. package/dist/ui/assets/{infoDiagram-ER5ION4S-2NL93b78.js → infoDiagram-ER5ION4S-C5Wpoqim.js} +1 -1
  848. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CZF-2DHU.js → journeyDiagram-XKPGCS4Q-CHLziqfS.js} +3 -3
  849. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CHLziqfS.js.gz +0 -0
  850. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-CfvJIOny.js → kanban-definition-3W4ZIXB7-Dq7GzQE_.js} +1 -1
  851. package/dist/ui/assets/kanban-definition-3W4ZIXB7-Dq7GzQE_.js.gz +0 -0
  852. package/dist/ui/assets/{line-DDv8kOJk.js → line-DHKNg83I.js} +1 -1
  853. package/dist/ui/assets/{linear-Daef-l29.js → linear-BvUfn0I8.js} +1 -1
  854. package/dist/ui/assets/linear-BvUfn0I8.js.gz +0 -0
  855. package/dist/ui/assets/{mermaid-parser.core-CdK9QgYV.js → mermaid-parser.core-C6d9tKoo.js} +2 -2
  856. package/dist/ui/assets/mermaid-parser.core-C6d9tKoo.js.gz +0 -0
  857. package/dist/ui/assets/mermaid.core-CxE5KezR.js +11 -0
  858. package/dist/ui/assets/mermaid.core-CxE5KezR.js.gz +0 -0
  859. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-Cb3QMflX.js → mindmap-definition-VGOIOE7T-DmPoQ48w.js} +1 -1
  860. package/dist/ui/assets/mindmap-definition-VGOIOE7T-DmPoQ48w.js.gz +0 -0
  861. package/dist/ui/assets/{packet-BFZMPI3H-Bm2uwz4i.js → packet-BFZMPI3H-JZEkVZxU.js} +1 -1
  862. package/dist/ui/assets/{particles-DsJFOarW.js → particles-CxMmUw86.js} +1 -1
  863. package/dist/ui/assets/particles-CxMmUw86.js.gz +0 -0
  864. package/dist/ui/assets/{pie-7BOR55EZ-5i17tVnF.js → pie-7BOR55EZ-_1II5pYQ.js} +1 -1
  865. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BxIwQWvw.js → pieDiagram-ADFJNKIX-DrNkH33i.js} +1 -1
  866. package/dist/ui/assets/pieDiagram-ADFJNKIX-DrNkH33i.js.gz +0 -0
  867. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-B5HPe4ga.js → quadrantDiagram-AYHSOK5B-DOpC-HEF.js} +3 -3
  868. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DOpC-HEF.js.gz +0 -0
  869. package/dist/ui/assets/{radar-NHE76QYJ-BTn-tq0k.js → radar-NHE76QYJ-DDmqhzEZ.js} +1 -1
  870. package/dist/ui/assets/reactflow-D98uPOMq.js +2 -0
  871. package/dist/ui/assets/reactflow-D98uPOMq.js.gz +0 -0
  872. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-YfI6llkX.js → requirementDiagram-UZGBJVZJ-Bzx0iEPP.js} +1 -1
  873. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-Bzx0iEPP.js.gz +0 -0
  874. package/dist/ui/assets/{sandpack-D7koO5op.js → sandpack-059Z4UWP.js} +38 -38
  875. package/dist/ui/assets/sandpack-059Z4UWP.js.gz +0 -0
  876. package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js +1 -0
  877. package/dist/ui/assets/sandpackDefaults-CPMNDsw7.js.gz +0 -0
  878. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js +10 -0
  879. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-Do9pvfDv.js.gz +0 -0
  880. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-DAe4Um17.js → sequenceDiagram-WL72ISMW-CN8neUTA.js} +6 -6
  881. package/dist/ui/assets/sequenceDiagram-WL72ISMW-CN8neUTA.js.gz +0 -0
  882. package/dist/ui/assets/src-DEbsv3pp.js +34 -0
  883. package/dist/ui/assets/src-DEbsv3pp.js.gz +0 -0
  884. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js +1 -0
  885. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BluWJi8n.js.gz +0 -0
  886. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-DeyqBMDR.js +1 -0
  887. package/dist/ui/assets/streamdown-BT1twtFc.js +521 -0
  888. package/dist/ui/assets/streamdown-BT1twtFc.js.gz +0 -0
  889. package/dist/ui/assets/syntax-CBu6nLfm.js +9 -0
  890. package/dist/ui/assets/syntax-CBu6nLfm.js.gz +0 -0
  891. package/dist/ui/assets/{timeline-definition-IT6M3QCI-D6P5txjT.js → timeline-definition-IT6M3QCI-WdUNkiRj.js} +16 -16
  892. package/dist/ui/assets/timeline-definition-IT6M3QCI-WdUNkiRj.js.gz +0 -0
  893. package/dist/ui/assets/{treemap-KMMF4GRG-Bitm3gy4.js → treemap-KMMF4GRG-CoriU4Jl.js} +1 -1
  894. package/dist/ui/assets/{useUserLocalStorage-Ckb8HsIw.js → useUserLocalStorage-GidNiOPC.js} +1 -1
  895. package/dist/ui/assets/useUserLocalStorage-GidNiOPC.js.gz +0 -0
  896. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CsybjUbd.js → xychartDiagram-PRI3JC2R-CgBAKNt2.js} +1 -1
  897. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CgBAKNt2.js.gz +0 -0
  898. package/dist/ui/index.html +11 -11
  899. package/dist/ui/index.html.gz +0 -0
  900. package/package.json +6 -5
  901. package/scripts/postinstall.js +27 -19
  902. package/dist/cli/commands/daemon/sync.d.ts.map +0 -1
  903. package/dist/ui/assets/App-DcEY8Ota.js +0 -3
  904. package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
  905. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js +0 -1
  906. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
  907. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +0 -9
  908. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
  909. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +0 -18
  910. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
  911. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +0 -34
  912. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
  913. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js +0 -8
  914. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
  915. package/dist/ui/assets/ConversationView-CUWR0gR6.js +0 -1
  916. package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
  917. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +0 -24
  918. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
  919. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
  920. package/dist/ui/assets/MobileApp-VgVnsnsN.js +0 -1
  921. package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
  922. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +0 -20
  923. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
  924. package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
  925. package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
  926. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js +0 -1
  927. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
  928. package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +0 -1
  929. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js +0 -36
  930. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
  931. package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
  932. package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
  933. package/dist/ui/assets/channel-D6_nUWlW.js +0 -1
  934. package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +0 -1
  935. package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
  936. package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
  937. package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
  938. package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
  939. package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
  940. package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +0 -1
  941. package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
  942. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js +0 -11
  943. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
  944. package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
  945. package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
  946. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +0 -2
  947. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
  948. package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
  949. package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +0 -1
  950. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js +0 -2
  951. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
  952. package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
  953. package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +0 -1
  954. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +0 -1
  955. package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
  956. package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
  957. package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
  958. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js +0 -24
  959. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
  960. package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
  961. package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
  962. package/dist/ui/assets/editor-CzFWIUw2.js +0 -39
  963. package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
  964. package/dist/ui/assets/emoji-Dkz4Zzv_.js +0 -3
  965. package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
  966. package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
  967. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js +0 -162
  968. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
  969. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js +0 -267
  970. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
  971. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js +0 -65
  972. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
  973. package/dist/ui/assets/index-BN5_Qq7R.js +0 -324
  974. package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
  975. package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
  976. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
  977. package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
  978. package/dist/ui/assets/katex-CamJ39w1.js +0 -257
  979. package/dist/ui/assets/katex-CamJ39w1.js.gz +0 -0
  980. package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
  981. package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
  982. package/dist/ui/assets/mermaid.core-D6GS9mU-.js +0 -11
  983. package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
  984. package/dist/ui/assets/message-SqLqNYcv.js +0 -36
  985. package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
  986. package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
  987. package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
  988. package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
  989. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
  990. package/dist/ui/assets/reactflow-Bf74ngoo.js +0 -2
  991. package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
  992. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
  993. package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
  994. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js +0 -10
  995. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
  996. package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
  997. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js +0 -1
  998. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
  999. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +0 -1
  1000. package/dist/ui/assets/syntax-C-M-8jOU.js +0 -10
  1001. package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
  1002. package/dist/ui/assets/theme-BQZdiqwv.js +0 -1
  1003. package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
  1004. package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
  1005. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
  1006. /package/dist/cli/commands/{admin → local}/sync-unix.d.ts +0 -0
@@ -49,9 +49,18 @@ var init_persisted_secret = __esm({
49
49
  // src/startup.ts
50
50
  import { promises as fs } from "fs";
51
51
  import path from "path";
52
- import { getAgorHome, resolveExecutorHeartbeatConfig } from "@agor/core/config";
53
- import { MessagesRepository, SessionRepository as SessionRepository3, shortId as shortId6 } from "@agor/core/db";
54
- import { SessionStatus as SessionStatus2, TaskStatus } from "@agor/core/types";
52
+ import {
53
+ getAgorHome,
54
+ resolveExecutorHeartbeatConfig,
55
+ resolveMultiTenancyConfig
56
+ } from "@agor/core/config";
57
+ import {
58
+ MessagesRepository,
59
+ runWithTenantDatabaseScope as runWithTenantDatabaseScope4,
60
+ SessionRepository as SessionRepository3,
61
+ shortId as shortId6
62
+ } from "@agor/core/db";
63
+ import { isTerminalTaskStatus, SessionStatus as SessionStatus2, TaskStatus } from "@agor/core/types";
55
64
 
56
65
  // src/services/executor-heartbeat-supervisor.ts
57
66
  import { shortId } from "@agor/core/db";
@@ -122,7 +131,14 @@ var ExecutorHeartbeatSupervisor = class {
122
131
 
123
132
  // src/services/health-monitor.ts
124
133
  import { ENVIRONMENT } from "@agor/core/config";
125
- import { shortId as shortId2 } from "@agor/core/db";
134
+ import {
135
+ BranchRepository,
136
+ getHiddenTenantId,
137
+ runWithoutTenantDatabaseScope,
138
+ runWithSystemDatabaseScope,
139
+ runWithTenantDatabaseScope,
140
+ shortId as shortId2
141
+ } from "@agor/core/db";
126
142
  import { NotFoundError } from "@agor/core/utils/errors";
127
143
  var DEBUG_HEALTH_MONITOR = process.env.AGOR_DEBUG_HEALTH_MONITOR === "1" || process.env.DEBUG?.includes("health-monitor");
128
144
  function healthMonitorDebug(...args) {
@@ -130,14 +146,35 @@ function healthMonitorDebug(...args) {
130
146
  console.debug(...args);
131
147
  }
132
148
  }
149
+ function tenantParamsFromBranch(branch) {
150
+ const tenantId = getHiddenTenantId(branch);
151
+ if (!tenantId) return void 0;
152
+ return { tenant: { tenant_id: tenantId, source: "auth_claim" } };
153
+ }
133
154
  var HealthMonitor = class {
134
155
  app;
135
156
  intervals = /* @__PURE__ */ new Map();
157
+ branchParams = /* @__PURE__ */ new Map();
136
158
  isShuttingDown = false;
137
- constructor(app) {
159
+ defaultParams;
160
+ db;
161
+ branchRepo;
162
+ tenantId;
163
+ requireTenantParams;
164
+ discoverActiveEnvironmentRefs;
165
+ constructor(app, options = {}) {
138
166
  this.app = app;
167
+ this.defaultParams = options.defaultParams;
168
+ this.db = options.db;
169
+ this.branchRepo = options.db ? new BranchRepository(options.db) : void 0;
170
+ this.tenantId = typeof options.tenantId === "string" && options.tenantId.trim() ? options.tenantId.trim() : void 0;
171
+ this.requireTenantParams = options.requireTenantParams ?? false;
172
+ this.discoverActiveEnvironmentRefs = options.discoverActiveEnvironmentRefs;
139
173
  this.setupBranchListeners();
140
174
  }
175
+ paramsForBranch(branch) {
176
+ return tenantParamsFromBranch(branch) ?? (this.requireTenantParams ? void 0 : this.defaultParams);
177
+ }
141
178
  /**
142
179
  * Set up WebSocket listeners for branch changes
143
180
  */
@@ -151,6 +188,7 @@ var HealthMonitor = class {
151
188
  });
152
189
  branchesService.on("removed", (branch) => {
153
190
  this.stopMonitoring(branch.branch_id);
191
+ this.branchParams.delete(branch.branch_id);
154
192
  });
155
193
  }
156
194
  /**
@@ -160,31 +198,43 @@ var HealthMonitor = class {
160
198
  if (this.isShuttingDown) return;
161
199
  const status = branch.environment_instance?.status;
162
200
  if (status === "running" || status === "starting") {
201
+ const params = this.paramsForBranch(branch);
202
+ if (!params && this.requireTenantParams) {
203
+ console.error(
204
+ `\u274C Health monitoring skipped for branch ${shortId2(branch.branch_id)}: missing tenant metadata`
205
+ );
206
+ return;
207
+ }
208
+ if (params) this.branchParams.set(branch.branch_id, params);
163
209
  if (!this.intervals.has(branch.branch_id)) {
164
210
  healthMonitorDebug(`\u{1F3E5} Starting health monitoring for branch: ${branch.name}`);
165
- this.startMonitoring(branch.branch_id);
211
+ this.startMonitoring(branch.branch_id, params);
166
212
  }
167
213
  } else {
168
214
  if (this.intervals.has(branch.branch_id)) {
169
215
  healthMonitorDebug(`\u{1F3E5} Stopping health monitoring for branch: ${branch.name}`);
170
216
  this.stopMonitoring(branch.branch_id);
171
217
  }
218
+ this.branchParams.delete(branch.branch_id);
172
219
  }
173
220
  }
174
221
  /**
175
222
  * Start monitoring a branch's health
176
223
  */
177
- startMonitoring(branchId) {
224
+ startMonitoring(branchId, params = this.branchParams.get(branchId)) {
178
225
  this.stopMonitoring(branchId);
179
- setTimeout(() => {
180
- if (this.isShuttingDown) return;
181
- this.checkHealth(branchId);
182
- const interval = setInterval(() => {
226
+ if (params) this.branchParams.set(branchId, params);
227
+ runWithoutTenantDatabaseScope(() => {
228
+ setTimeout(() => {
183
229
  if (this.isShuttingDown) return;
184
230
  this.checkHealth(branchId);
185
- }, ENVIRONMENT.HEALTH_CHECK_INTERVAL_MS);
186
- this.intervals.set(branchId, interval);
187
- }, ENVIRONMENT.STARTUP_GRACE_PERIOD_MS);
231
+ const interval = setInterval(() => {
232
+ if (this.isShuttingDown) return;
233
+ this.checkHealth(branchId);
234
+ }, ENVIRONMENT.HEALTH_CHECK_INTERVAL_MS);
235
+ this.intervals.set(branchId, interval);
236
+ }, ENVIRONMENT.STARTUP_GRACE_PERIOD_MS);
237
+ });
188
238
  }
189
239
  /**
190
240
  * Stop monitoring a branch's health
@@ -202,13 +252,21 @@ var HealthMonitor = class {
202
252
  async checkHealth(branchId) {
203
253
  try {
204
254
  const branchesService = this.app.service("branches");
205
- const branch = await branchesService.get(branchId);
255
+ const params = this.branchParams.get(branchId) ?? (this.requireTenantParams ? void 0 : this.defaultParams);
256
+ if (!params && this.requireTenantParams) {
257
+ console.error(
258
+ `\u274C Health check skipped for branch ${shortId2(branchId)}: missing tenant metadata`
259
+ );
260
+ this.stopMonitoring(branchId);
261
+ return;
262
+ }
263
+ const branch = await branchesService.get(branchId, params);
206
264
  const status = branch.environment_instance?.status;
207
265
  if (status !== "running" && status !== "starting") {
208
266
  this.stopMonitoring(branchId);
209
267
  return;
210
268
  }
211
- await branchesService.checkHealth(branchId);
269
+ await branchesService.checkHealth(branchId, params);
212
270
  } catch (error) {
213
271
  if (error instanceof NotFoundError) {
214
272
  this.stopMonitoring(branchId);
@@ -230,25 +288,100 @@ var HealthMonitor = class {
230
288
  */
231
289
  async initialize() {
232
290
  try {
233
- const branchesService = this.app.service("branches");
234
- const result = await branchesService.find({
235
- query: {
236
- $limit: 1e3
237
- },
238
- paginate: false
239
- });
240
- const branches = Array.isArray(result) ? result : result.data;
241
- const activeBranches = branches.filter(
242
- (w) => w.environment_instance?.status === "running" || w.environment_instance?.status === "starting"
243
- );
244
- for (const branch of activeBranches) {
245
- this.startMonitoring(branch.branch_id);
246
- }
247
- console.log(`\u{1F3E5} Health Monitor initialized (${activeBranches.length} active environment(s))`);
291
+ const activeBranches = this.branchRepo || this.discoverActiveEnvironmentRefs ? await this.initializeFromTenantAwareDiscovery() : await this.initializeFromDefaultParamsScan();
292
+ console.log(`\u{1F3E5} Health Monitor initialized (${activeBranches} active environment(s))`);
248
293
  } catch (error) {
249
294
  console.error("\u274C Failed to initialize Health Monitor:", error);
250
295
  }
251
296
  }
297
+ async initializeFromDefaultParamsScan() {
298
+ const branchesService = this.app.service("branches");
299
+ const result = await branchesService.find({
300
+ ...this.defaultParams,
301
+ query: {
302
+ $limit: 1e3
303
+ },
304
+ paginate: false
305
+ });
306
+ const branches = Array.isArray(result) ? result : result.data;
307
+ const activeBranches = branches.filter(
308
+ (w) => w.environment_instance?.status === "running" || w.environment_instance?.status === "starting"
309
+ );
310
+ for (const branch of activeBranches) {
311
+ const params = this.paramsForBranch(branch);
312
+ if (!params && this.requireTenantParams) {
313
+ console.error(
314
+ `\u274C Health monitoring skipped for branch ${shortId2(branch.branch_id)}: missing tenant metadata`
315
+ );
316
+ continue;
317
+ }
318
+ if (params) this.branchParams.set(branch.branch_id, params);
319
+ this.startMonitoring(branch.branch_id, params);
320
+ }
321
+ return activeBranches.length;
322
+ }
323
+ async initializeFromTenantAwareDiscovery() {
324
+ const refs = await this.findActiveEnvironmentRefs();
325
+ const branchesService = this.app.service("branches");
326
+ let activeCount = 0;
327
+ for (const ref of refs) {
328
+ if (!ref.tenantId) {
329
+ console.error(
330
+ `\u274C Health monitoring skipped for branch ${shortId2(ref.branchId)}: missing tenant metadata`
331
+ );
332
+ continue;
333
+ }
334
+ const params = {
335
+ tenant: {
336
+ tenant_id: ref.tenantId,
337
+ source: this.tenantId ? "static" : "explicit"
338
+ }
339
+ };
340
+ try {
341
+ const loadAndStart = async () => {
342
+ const branch = await branchesService.get(ref.branchId, params);
343
+ const status = branch.environment_instance?.status;
344
+ if (status !== "running" && status !== "starting") return;
345
+ this.branchParams.set(branch.branch_id, tenantParamsFromBranch(branch) ?? params);
346
+ this.startMonitoring(branch.branch_id, this.branchParams.get(branch.branch_id));
347
+ activeCount += 1;
348
+ };
349
+ if (this.db) {
350
+ await runWithTenantDatabaseScope(this.db, ref.tenantId, loadAndStart);
351
+ } else {
352
+ await loadAndStart();
353
+ }
354
+ } catch (error) {
355
+ console.error(
356
+ `\u274C Failed to initialize health monitoring for branch ${shortId2(ref.branchId)}:`,
357
+ error
358
+ );
359
+ }
360
+ }
361
+ return activeCount;
362
+ }
363
+ async findActiveEnvironmentRefs() {
364
+ const normalizeRef = (ref, tenantId) => {
365
+ if ("branchId" in ref) {
366
+ return { branchId: ref.branchId, tenantId: tenantId ?? ref.tenantId };
367
+ }
368
+ return { branchId: ref.branch_id, tenantId: tenantId ?? ref.tenant_id };
369
+ };
370
+ const findRefs = async (tenantId) => {
371
+ const refs = this.discoverActiveEnvironmentRefs ? await this.discoverActiveEnvironmentRefs() : await this.branchRepo.findActiveEnvironmentRefs();
372
+ return refs.map((ref) => normalizeRef(ref, tenantId));
373
+ };
374
+ if (this.tenantId) {
375
+ if (!this.db) return findRefs(this.tenantId);
376
+ return runWithTenantDatabaseScope(this.db, this.tenantId, () => findRefs(this.tenantId));
377
+ }
378
+ if (!this.db) return findRefs();
379
+ return runWithSystemDatabaseScope(
380
+ this.db,
381
+ "health monitor active environment discovery",
382
+ () => findRefs()
383
+ );
384
+ }
252
385
  /**
253
386
  * Cleanup all monitoring intervals
254
387
  *
@@ -261,6 +394,7 @@ var HealthMonitor = class {
261
394
  clearInterval(interval);
262
395
  }
263
396
  this.intervals.clear();
397
+ this.branchParams.clear();
264
398
  console.log(`\u{1F3E5} Health Monitor cleaned up (${stoppedCount} monitor(s) stopped)`);
265
399
  }
266
400
  /**
@@ -287,6 +421,7 @@ import {
287
421
  kbDocumentUnits,
288
422
  kbDocumentVersions,
289
423
  kbEmbeddingSpaces,
424
+ runWithTenantDatabaseScope as runWithTenantDatabaseScope2,
290
425
  select,
291
426
  shortId as shortId3,
292
427
  sql as sql2,
@@ -359,6 +494,28 @@ function rowsOf(result) {
359
494
  function boolValue(value) {
360
495
  return value === true || value === "t" || value === "true" || value === 1 || value === "1";
361
496
  }
497
+ async function ensureEmbeddingTenantIsolation(db) {
498
+ await executeRaw(
499
+ db,
500
+ sql`ALTER TABLE kb_unit_embeddings ADD COLUMN IF NOT EXISTS tenant_id text DEFAULT 'default' NOT NULL`
501
+ );
502
+ await executeRaw(
503
+ db,
504
+ sql`CREATE INDEX IF NOT EXISTS kb_unit_embeddings_tenant_id_idx ON kb_unit_embeddings USING btree (tenant_id)`
505
+ );
506
+ await executeRaw(db, sql`ALTER TABLE kb_unit_embeddings ENABLE ROW LEVEL SECURITY`);
507
+ await executeRaw(db, sql`ALTER TABLE kb_unit_embeddings FORCE ROW LEVEL SECURITY`);
508
+ await executeRaw(
509
+ db,
510
+ sql`DROP POLICY IF EXISTS tenant_isolation_kb_unit_embeddings ON kb_unit_embeddings`
511
+ );
512
+ await executeRaw(
513
+ db,
514
+ sql`CREATE POLICY tenant_isolation_kb_unit_embeddings ON kb_unit_embeddings
515
+ USING (tenant_id = COALESCE(NULLIF(current_setting('agor.tenant_id', true), ''), 'default'))
516
+ WITH CHECK (tenant_id = COALESCE(NULLIF(current_setting('agor.tenant_id', true), ''), 'default'))`
517
+ );
518
+ }
362
519
  async function readCapability(db) {
363
520
  if (!isPostgresDatabase(db)) {
364
521
  return {
@@ -441,6 +598,7 @@ async function ensureKnowledgePgvectorStorage(db) {
441
598
  await executeRaw(
442
599
  db,
443
600
  sql`CREATE TABLE IF NOT EXISTS kb_unit_embeddings (
601
+ tenant_id text DEFAULT 'default' NOT NULL,
444
602
  unit_id varchar(36) NOT NULL REFERENCES public.kb_document_units(unit_id) ON DELETE cascade,
445
603
  embedding_space_id varchar(36) NOT NULL REFERENCES public.kb_embedding_spaces(embedding_space_id) ON DELETE cascade,
446
604
  content_sha256 text NOT NULL,
@@ -453,6 +611,7 @@ async function ensureKnowledgePgvectorStorage(db) {
453
611
  );
454
612
  capability.tableReady = true;
455
613
  }
614
+ await ensureEmbeddingTenantIsolation(db);
456
615
  if (!capability.spaceIndexReady) {
457
616
  await executeRaw(
458
617
  db,
@@ -551,6 +710,7 @@ function buildKnowledgeEmbeddingReuseSql(params) {
551
710
  ORDER BY p.unit_id, old_u.updated_at DESC NULLS LAST, old_u.created_at DESC
552
711
  ), upserted AS (
553
712
  INSERT INTO kb_unit_embeddings (
713
+ tenant_id,
554
714
  unit_id,
555
715
  embedding_space_id,
556
716
  content_sha256,
@@ -560,6 +720,7 @@ function buildKnowledgeEmbeddingReuseSql(params) {
560
720
  updated_at
561
721
  )
562
722
  SELECT
723
+ COALESCE(NULLIF(current_setting('agor.tenant_id', true), ''), 'default'),
563
724
  new_unit_id,
564
725
  ${params.embeddingSpaceId},
565
726
  content_sha256,
@@ -591,8 +752,9 @@ function buildKnowledgeEmbeddingReuseSql(params) {
591
752
  candidates.previous_version_id`;
592
753
  }
593
754
  var KnowledgeEmbeddingIndexer = class {
594
- constructor(db) {
755
+ constructor(db, options = {}) {
595
756
  this.db = db;
757
+ this.options = options;
596
758
  this.variables = new AppVariableRepository(db);
597
759
  }
598
760
  intervalHandle;
@@ -731,6 +893,12 @@ var KnowledgeEmbeddingIndexer = class {
731
893
  }
732
894
  }
733
895
  async tick() {
896
+ if (this.options.tenantId) {
897
+ return runWithTenantDatabaseScope2(this.db, this.options.tenantId, () => this.tickInScope());
898
+ }
899
+ return this.tickInScope();
900
+ }
901
+ async tickInScope() {
734
902
  if (this.running) return;
735
903
  this.running = true;
736
904
  try {
@@ -843,8 +1011,8 @@ var KnowledgeEmbeddingIndexer = class {
843
1011
  const vector = embeddingToPgvector(result.embedding);
844
1012
  await executeRaw2(
845
1013
  this.db,
846
- sql2`INSERT INTO kb_unit_embeddings (unit_id, embedding_space_id, content_sha256, embedding, token_count, created_at, updated_at)
847
- VALUES (${result.id}, ${embeddingSpaceId}, ${sha256Text(content)}, ${vector}::vector, ${result.tokenCount ?? null}, now(), now())
1014
+ sql2`INSERT INTO kb_unit_embeddings (tenant_id, unit_id, embedding_space_id, content_sha256, embedding, token_count, created_at, updated_at)
1015
+ VALUES (COALESCE(NULLIF(current_setting('agor.tenant_id', true), ''), 'default'), ${result.id}, ${embeddingSpaceId}, ${sha256Text(content)}, ${vector}::vector, ${result.tokenCount ?? null}, now(), now())
848
1016
  ON CONFLICT (unit_id, embedding_space_id) DO UPDATE SET
849
1017
  content_sha256 = EXCLUDED.content_sha256,
850
1018
  embedding = EXCLUDED.embedding,
@@ -873,8 +1041,11 @@ var KnowledgeEmbeddingIndexer = class {
873
1041
  // src/services/scheduler.ts
874
1042
  import {
875
1043
  advisoryLockKeyForUuid,
876
- BranchRepository,
1044
+ BranchRepository as BranchRepository2,
1045
+ getCurrentTenantId,
877
1046
  isPostgresDatabase as isPostgresDatabase3,
1047
+ runWithSystemDatabaseScope as runWithSystemDatabaseScope2,
1048
+ runWithTenantDatabaseScope as runWithTenantDatabaseScope3,
878
1049
  ScheduleRepository,
879
1050
  SessionMCPServerRepository,
880
1051
  SessionRepository,
@@ -941,9 +1112,9 @@ function renderSchedulePrompt(template, branch, schedule, scheduledRunAt) {
941
1112
  }
942
1113
  var ScheduleBusyError = class extends Error {
943
1114
  code = "schedule_busy";
944
- constructor(branchName) {
1115
+ constructor(scheduleName) {
945
1116
  super(
946
- `A session is already running in branch "${branchName}" and allow_concurrent_runs is disabled.`
1117
+ `An active run from schedule "${scheduleName}" is already in progress and allow_concurrent_runs is disabled.`
947
1118
  );
948
1119
  this.name = "ScheduleBusyError";
949
1120
  }
@@ -976,9 +1147,10 @@ var SchedulerService = class {
976
1147
  gracePeriod: config.gracePeriod ?? 12e4,
977
1148
  // 2 minutes
978
1149
  debug: config.debug ?? false,
979
- unixUserMode: config.unixUserMode ?? "simple"
1150
+ unixUserMode: config.unixUserMode ?? "simple",
1151
+ tenantId: typeof config.tenantId === "string" && config.tenantId.trim() ? config.tenantId.trim() : void 0
980
1152
  };
981
- this.branchRepo = new BranchRepository(db);
1153
+ this.branchRepo = new BranchRepository2(db);
982
1154
  this.scheduleRepo = new ScheduleRepository(db);
983
1155
  this.sessionRepo = new SessionRepository(db);
984
1156
  this.userRepo = new UsersRepository(db);
@@ -1033,18 +1205,25 @@ var SchedulerService = class {
1033
1205
  async tick() {
1034
1206
  const now = Date.now();
1035
1207
  try {
1036
- const dueSchedules = await this.scheduleRepo.findDue(now + this.config.gracePeriod);
1208
+ const dueScheduleRefs = await this.findDueScheduleRefs(now);
1037
1209
  if (this.config.debug) {
1038
- console.log(`\u{1F504} Scheduler tick: Found ${dueSchedules.length} due schedules`);
1210
+ console.log(`\u{1F504} Scheduler tick: Found ${dueScheduleRefs.length} due schedules`);
1039
1211
  }
1040
- for (const schedule of dueSchedules) {
1041
- try {
1042
- await this.processSchedule(schedule, now);
1043
- } catch (error) {
1212
+ for (const ref of dueScheduleRefs) {
1213
+ if (!ref.tenantId) {
1044
1214
  console.error(
1045
- `\u274C Failed to process schedule ${schedule.schedule_id} (${schedule.name}):`,
1046
- error
1215
+ `\u274C Skipping due schedule ${shortId4(ref.scheduleId)}: missing tenant metadata`
1047
1216
  );
1217
+ continue;
1218
+ }
1219
+ try {
1220
+ await runWithTenantDatabaseScope3(this.db, ref.tenantId, async () => {
1221
+ const schedule = await this.scheduleRepo.findById(ref.scheduleId);
1222
+ if (!schedule) return;
1223
+ await this.processSchedule(schedule, now);
1224
+ });
1225
+ } catch (error) {
1226
+ console.error(`\u274C Failed to process schedule ${shortId4(ref.scheduleId)}:`, error);
1048
1227
  }
1049
1228
  }
1050
1229
  } catch (error) {
@@ -1052,6 +1231,23 @@ var SchedulerService = class {
1052
1231
  throw error;
1053
1232
  }
1054
1233
  }
1234
+ async findDueScheduleRefs(now) {
1235
+ const findDue = async (tenantId) => {
1236
+ const dueSchedules = await this.scheduleRepo.findDueRefs(now + this.config.gracePeriod);
1237
+ return dueSchedules.map((schedule) => ({
1238
+ scheduleId: schedule.schedule_id,
1239
+ tenantId: tenantId ?? schedule.tenant_id
1240
+ }));
1241
+ };
1242
+ if (this.config.tenantId) {
1243
+ return runWithTenantDatabaseScope3(
1244
+ this.db,
1245
+ this.config.tenantId,
1246
+ () => findDue(this.config.tenantId)
1247
+ );
1248
+ }
1249
+ return runWithSystemDatabaseScope2(this.db, "scheduler due schedule discovery", () => findDue());
1250
+ }
1055
1251
  /**
1056
1252
  * Process a single schedule.
1057
1253
  *
@@ -1127,7 +1323,7 @@ var SchedulerService = class {
1127
1323
  * @throws ScheduleNotReadyError when the schedule is disabled or its
1128
1324
  * branch can't be loaded.
1129
1325
  * @throws ScheduleBusyError when allow_concurrent_runs is false and
1130
- * the branch already has an active session.
1326
+ * this schedule already has an active run.
1131
1327
  */
1132
1328
  async executeScheduleNow(opts) {
1133
1329
  const { scheduleId, triggeredBy } = opts;
@@ -1222,9 +1418,9 @@ var SchedulerService = class {
1222
1418
  * 1. Look up the schedule's branch (cascaded delete means it should
1223
1419
  * always exist; we still handle null defensively).
1224
1420
  * 2. Dedup against `sessions(schedule_id, scheduled_run_at)`.
1225
- * 3. Enforce `allow_concurrent_runs` against any active session in the
1226
- * SAME BRANCH (sibling schedules on the same branch are sequential
1227
- * by default; opt out per-schedule via allow_concurrent_runs).
1421
+ * 3. Enforce `allow_concurrent_runs` against any active session spawned
1422
+ * by the SAME SCHEDULE. Different schedules on the same branch do not
1423
+ * block one another.
1228
1424
  * 4. Render prompt template (Handlebars).
1229
1425
  * 5. Look up creator's unix_username for execution context.
1230
1426
  * 6. Create session with schedule metadata + `schedule_id` FK.
@@ -1237,13 +1433,10 @@ var SchedulerService = class {
1237
1433
  * 9. Enforce retention policy (oldest sessions on this schedule_id
1238
1434
  * are deleted).
1239
1435
  *
1240
- * NOTE (multi-daemon, deferred): with the current per-schedule
1241
- * advisory lock, two daemons can each lock different schedules on
1242
- * the same branch and both pass the branch-wide concurrency guard
1243
- * before either creates a session, then both spawn. Branch-scoped
1244
- * coordination (lock on branch when allow_concurrent_runs=false)
1245
- * will be needed once we support multi-daemon. Out of scope for V1
1246
- * since multi-daemon isn't supported yet.
1436
+ * NOTE (multi-daemon, deferred): the per-schedule advisory lock and
1437
+ * partial unique index guard same-schedule races. They deliberately do
1438
+ * not serialize sibling schedules on the same branch, matching the
1439
+ * schedule-scoped meaning of `allow_concurrent_runs=false`.
1247
1440
  */
1248
1441
  async spawnScheduledSession(schedule, scheduledRunAt, now, options = { source: "cron" }) {
1249
1442
  const { source, triggeredBy } = options;
@@ -1267,19 +1460,19 @@ var SchedulerService = class {
1267
1460
  return existingSession;
1268
1461
  }
1269
1462
  if (!schedule.allow_concurrent_runs) {
1270
- const active = await this.sessionRepo.existsInBranchWithStatuses(
1271
- branch.branch_id,
1463
+ const active = await this.sessionRepo.existsInScheduleWithStatuses(
1464
+ schedule.schedule_id,
1272
1465
  ACTIVE_SESSION_STATUSES
1273
1466
  );
1274
1467
  if (active) {
1275
1468
  if (manual) {
1276
1469
  console.log(
1277
- ` \u26D4 ${schedule.name}: manual run blocked \u2014 active session present (allow_concurrent_runs=false)`
1470
+ ` \u26D4 ${schedule.name}: manual run blocked \u2014 active run from this schedule present (allow_concurrent_runs=false)`
1278
1471
  );
1279
- throw new ScheduleBusyError(branch.name);
1472
+ throw new ScheduleBusyError(schedule.name);
1280
1473
  }
1281
1474
  console.log(
1282
- ` \u23ED\uFE0F ${schedule.name}: scheduled run skipped \u2014 active session present (allow_concurrent_runs=false)`
1475
+ ` \u23ED\uFE0F ${schedule.name}: scheduled run skipped \u2014 active run from this schedule present (allow_concurrent_runs=false)`
1283
1476
  );
1284
1477
  await this.updateScheduleMetadata(schedule, scheduledRunAt, null, now);
1285
1478
  return null;
@@ -1382,6 +1575,7 @@ var SchedulerService = class {
1382
1575
  }
1383
1576
  }
1384
1577
  const promptService = this.app.service("/sessions/:id/prompt");
1578
+ const tenantId = getCurrentTenantId();
1385
1579
  await promptService.create(
1386
1580
  {
1387
1581
  prompt: renderedPrompt,
@@ -1392,8 +1586,9 @@ var SchedulerService = class {
1392
1586
  route: { id: createdSession.session_id },
1393
1587
  provider: void 0,
1394
1588
  // Bypass auth for internal scheduler call
1395
- user: creator
1589
+ user: creator,
1396
1590
  // Pass creator user for session token generation
1591
+ ...tenantId ? { tenant: { tenant_id: tenantId, source: "explicit" } } : {}
1397
1592
  }
1398
1593
  );
1399
1594
  await this.updateScheduleMetadata(
@@ -1494,11 +1689,15 @@ async function appendSystemMessage(opts) {
1494
1689
  }
1495
1690
 
1496
1691
  // src/utils/git-remote-credential-scan.ts
1497
- import { BranchRepository as BranchRepository2, RepoRepository, shortId as shortId5 } from "@agor/core/db";
1498
- import { scrubGitConfigRemoteCredentials } from "@agor/core/git";
1692
+ import {
1693
+ BranchRepository as BranchRepository3,
1694
+ RepoRepository,
1695
+ shortId as shortId5
1696
+ } from "@agor/core/db";
1697
+ import { scrubGitConfigRemoteCredentials } from "@agor/core/git/exec";
1499
1698
  async function scrubManagedGitRemoteCredentials(db) {
1500
1699
  const repoRepo = new RepoRepository(db);
1501
- const branchRepo = new BranchRepository2(db);
1700
+ const branchRepo = new BranchRepository3(db);
1502
1701
  const repos = await repoRepo.findAll();
1503
1702
  const repoById = new Map(repos.map((repo) => [repo.repo_id, repo]));
1504
1703
  const remoteRepos = repos.filter((repo) => repo.repo_type === "remote");
@@ -1596,21 +1795,57 @@ async function readAndClearSentinel() {
1596
1795
  return false;
1597
1796
  }
1598
1797
  }
1798
+ function startupTenantParams(config) {
1799
+ const multiTenancy = resolveMultiTenancyConfig(config);
1800
+ return {
1801
+ tenant: {
1802
+ tenant_id: multiTenancy.static_tenant_id,
1803
+ source: "static"
1804
+ }
1805
+ };
1806
+ }
1807
+ async function runStartupTenantDatabaseScope(ctx, work) {
1808
+ return runWithTenantDatabaseScope4(ctx.db, startupTenantParams(ctx.config).tenant.tenant_id, work);
1809
+ }
1599
1810
  async function cleanupOrphanStatuses(ctx) {
1811
+ return runStartupTenantDatabaseScope(ctx, () => cleanupOrphanStatusesInTenantScope(ctx));
1812
+ }
1813
+ async function cleanupOrphanStatusesInTenantScope(ctx) {
1600
1814
  const { app, sessionsService } = ctx;
1601
1815
  const tasksService = app.service("tasks");
1816
+ const startupParams = startupTenantParams(ctx.config);
1602
1817
  const wasGraceful = await readAndClearSentinel();
1603
- const orphanedTasks = await tasksService.getOrphaned();
1818
+ const orphanedTasks = await tasksService.getOrphaned(startupParams);
1604
1819
  if (orphanedTasks.length > 0) {
1605
1820
  for (const task of orphanedTasks) {
1606
- await tasksService.patch(task.task_id, {
1607
- status: TaskStatus.STOPPED
1608
- });
1821
+ await tasksService.patch(
1822
+ task.task_id,
1823
+ {
1824
+ status: TaskStatus.STOPPED
1825
+ },
1826
+ startupParams
1827
+ );
1609
1828
  startupDebug(
1610
1829
  `[startup] stopped orphaned task ${shortId6(task.task_id)} (was: ${task.status})`
1611
1830
  );
1612
1831
  }
1613
1832
  }
1833
+ const queuedResult = await tasksService.find({
1834
+ query: { status: TaskStatus.QUEUED, $limit: 1e3 },
1835
+ ...startupParams
1836
+ });
1837
+ const queuedTasks = queuedResult.data;
1838
+ if (queuedTasks.length > 0) {
1839
+ for (const task of queuedTasks) {
1840
+ await tasksService.patch(
1841
+ task.task_id,
1842
+ {
1843
+ status: TaskStatus.STOPPED
1844
+ },
1845
+ startupParams
1846
+ );
1847
+ }
1848
+ }
1614
1849
  const orphanedSessions = [];
1615
1850
  for (const status of [
1616
1851
  SessionStatus2.RUNNING,
@@ -1620,7 +1855,8 @@ async function cleanupOrphanStatuses(ctx) {
1620
1855
  SessionStatus2.TIMED_OUT
1621
1856
  ]) {
1622
1857
  const result = await sessionsService.find({
1623
- query: { status, $limit: 1e3 }
1858
+ query: { status, $limit: 1e3 },
1859
+ ...startupParams
1624
1860
  });
1625
1861
  orphanedSessions.push(...result.data);
1626
1862
  }
@@ -1632,7 +1868,7 @@ async function cleanupOrphanStatuses(ctx) {
1632
1868
  status: SessionStatus2.IDLE,
1633
1869
  ready_for_prompt: true
1634
1870
  },
1635
- {}
1871
+ startupParams
1636
1872
  );
1637
1873
  startupDebug(
1638
1874
  ` \u2713 Marked session ${shortId6(session.session_id)} as idle (was: ${session.status})`
@@ -1645,7 +1881,7 @@ async function cleanupOrphanStatuses(ctx) {
1645
1881
  let sessionsResetFromOrphanedTasks = 0;
1646
1882
  if (sessionIdsWithOrphanedTasks.size > 0) {
1647
1883
  for (const sessionId of sessionIdsWithOrphanedTasks) {
1648
- const session = await sessionsService.get(sessionId);
1884
+ const session = await sessionsService.get(sessionId, startupParams);
1649
1885
  if (session.status === SessionStatus2.RUNNING || session.status === SessionStatus2.STOPPING || session.status === SessionStatus2.AWAITING_PERMISSION || session.status === SessionStatus2.TIMED_OUT) {
1650
1886
  await app.service("sessions").patch(
1651
1887
  sessionId,
@@ -1653,7 +1889,7 @@ async function cleanupOrphanStatuses(ctx) {
1653
1889
  status: SessionStatus2.IDLE,
1654
1890
  ready_for_prompt: true
1655
1891
  },
1656
- {}
1892
+ startupParams
1657
1893
  );
1658
1894
  sessionsResetFromOrphanedTasks++;
1659
1895
  startupDebug(
@@ -1662,16 +1898,36 @@ async function cleanupOrphanStatuses(ctx) {
1662
1898
  }
1663
1899
  }
1664
1900
  }
1665
- const queuedResult = await tasksService.find({
1666
- query: { status: TaskStatus.QUEUED, $limit: 1e3 }
1901
+ const bootInterruptedTaskIds = /* @__PURE__ */ new Set([
1902
+ ...orphanedTasks.map((t) => t.task_id),
1903
+ ...queuedTasks.map((t) => t.task_id)
1904
+ ]);
1905
+ const idleNotReadyResult = await sessionsService.find({
1906
+ query: { status: SessionStatus2.IDLE, ready_for_prompt: false, $limit: 1e3 },
1907
+ ...startupParams
1667
1908
  });
1668
- const queuedTasks = queuedResult.data;
1669
- if (queuedTasks.length > 0) {
1670
- for (const task of queuedTasks) {
1671
- await tasksService.patch(task.task_id, {
1672
- status: TaskStatus.STOPPED
1673
- });
1909
+ const stuckIdleSessions = [];
1910
+ for (const session of idleNotReadyResult.data) {
1911
+ const latestTaskId = session.tasks?.at(-1);
1912
+ if (!latestTaskId) {
1913
+ continue;
1674
1914
  }
1915
+ let wasInterrupted = bootInterruptedTaskIds.has(latestTaskId);
1916
+ if (!wasInterrupted) {
1917
+ try {
1918
+ const latestTask = await tasksService.get(latestTaskId, startupParams);
1919
+ wasInterrupted = !isTerminalTaskStatus(latestTask.status);
1920
+ } catch {
1921
+ }
1922
+ }
1923
+ if (!wasInterrupted) {
1924
+ continue;
1925
+ }
1926
+ stuckIdleSessions.push(session);
1927
+ await app.service("sessions").patch(session.session_id, { ready_for_prompt: true }, startupParams);
1928
+ startupDebug(
1929
+ ` \u2713 Unblocked stuck-idle session ${shortId6(session.session_id)} (ready_for_prompt was false, latest task interrupted)`
1930
+ );
1675
1931
  }
1676
1932
  const cleanupParts = [
1677
1933
  `${orphanedTasks.length} orphaned task(s) stopped`,
@@ -1681,6 +1937,9 @@ async function cleanupOrphanStatuses(ctx) {
1681
1937
  if (sessionsResetFromOrphanedTasks > 0) {
1682
1938
  cleanupParts.push(`${sessionsResetFromOrphanedTasks} task-owned session(s) reset`);
1683
1939
  }
1940
+ if (stuckIdleSessions.length > 0) {
1941
+ cleanupParts.push(`${stuckIdleSessions.length} stuck-idle session(s) unblocked`);
1942
+ }
1684
1943
  console.log(`[startup] orphan cleanup: ${cleanupParts.join(", ")}`);
1685
1944
  return {
1686
1945
  wasGraceful,
@@ -1692,9 +1951,16 @@ async function cleanupOrphanStatuses(ctx) {
1692
1951
  };
1693
1952
  }
1694
1953
  async function injectRestartNotices(ctx, cleanupResult) {
1954
+ return runStartupTenantDatabaseScope(
1955
+ ctx,
1956
+ () => injectRestartNoticesInTenantScope(ctx, cleanupResult)
1957
+ );
1958
+ }
1959
+ async function injectRestartNoticesInTenantScope(ctx, cleanupResult) {
1695
1960
  const { app, db, sessionsService } = ctx;
1696
1961
  const { wasGraceful, orphanedTasks, orphanedSessions, sessionIdsWithOrphanedTasks } = cleanupResult;
1697
1962
  const tasksService = app.service("tasks");
1963
+ const startupParams = startupTenantParams(ctx.config);
1698
1964
  const affectedSessionIds = /* @__PURE__ */ new Set([
1699
1965
  ...orphanedSessions.map((s) => s.session_id),
1700
1966
  ...Array.from(sessionIdsWithOrphanedTasks)
@@ -1704,7 +1970,7 @@ async function injectRestartNotices(ctx, cleanupResult) {
1704
1970
  }
1705
1971
  console.log(`\u{1F9F9} Injecting daemon restart notices for ${affectedSessionIds.size} session(s)...`);
1706
1972
  const restartType = wasGraceful ? "daemon_restart" : "daemon_crash";
1707
- const messageText = wasGraceful ? "The Agor daemon was restarted while this session was running. Ask the agent to resume where it left off." : "The Agor daemon restarted unexpectedly while this session was running. Ask the agent to resume where it left off.";
1973
+ const messageText = wasGraceful ? "The Agor daemon was restarted while this session was running." : "The Agor daemon restarted unexpectedly while this session was running.";
1708
1974
  const lastOrphanedTaskBySession = /* @__PURE__ */ new Map();
1709
1975
  for (const task of orphanedTasks) {
1710
1976
  const sid = task.session_id;
@@ -1719,10 +1985,10 @@ async function injectRestartNotices(ctx, cleanupResult) {
1719
1985
  try {
1720
1986
  let attachTask = lastOrphanedTaskBySession.get(sessionId);
1721
1987
  if (!attachTask) {
1722
- const session = await sessionsService.get(sessionId);
1988
+ const session = await sessionsService.get(sessionId, startupParams);
1723
1989
  const latestTaskId = session.tasks?.at(-1);
1724
1990
  if (latestTaskId) {
1725
- attachTask = await tasksService.get(latestTaskId);
1991
+ attachTask = await tasksService.get(latestTaskId, startupParams);
1726
1992
  }
1727
1993
  }
1728
1994
  if (!attachTask) {
@@ -1811,7 +2077,13 @@ async function startup(ctx) {
1811
2077
  terminalsService
1812
2078
  } = ctx;
1813
2079
  const orphanCleanupResult = await cleanupOrphanStatuses(ctx);
1814
- const healthMonitor = new HealthMonitor(app);
2080
+ const startupMultiTenancy = resolveMultiTenancyConfig(config);
2081
+ const healthMonitor = new HealthMonitor(app, {
2082
+ defaultParams: startupTenantParams(config),
2083
+ db,
2084
+ tenantId: startupMultiTenancy.mode === "static" ? startupMultiTenancy.static_tenant_id : void 0,
2085
+ requireTenantParams: startupMultiTenancy.mode !== "static"
2086
+ });
1815
2087
  await ensureMasterSecret(config);
1816
2088
  const server = await app.listen(DAEMON_PORT, DAEMON_HOST);
1817
2089
  const displayHost = DAEMON_HOST === "0.0.0.0" ? "localhost" : DAEMON_HOST;
@@ -1823,7 +2095,10 @@ async function startup(ctx) {
1823
2095
  );
1824
2096
  runPostStartJob("health-monitor-initialize", () => healthMonitor.initialize());
1825
2097
  runPostStartJob("daemon-restart-notices", () => injectRestartNotices(ctx, orphanCleanupResult));
1826
- runPostStartJob("git-remote-credential-scrub", () => scrubManagedGitRemoteCredentials(db));
2098
+ runPostStartJob(
2099
+ "git-remote-credential-scrub",
2100
+ () => runStartupTenantDatabaseScope(ctx, () => scrubManagedGitRemoteCredentials(db))
2101
+ );
1827
2102
  runPostStartJob("host-ip-log", async () => {
1828
2103
  const { resolveHostIpAddress } = await import("@agor/core/utils/host-ip");
1829
2104
  const hostIp = resolveHostIpAddress(config.daemon?.host_ip_address);
@@ -1852,29 +2127,36 @@ async function startup(ctx) {
1852
2127
  }
1853
2128
  let schedulerService = null;
1854
2129
  if (svcEnabled("scheduler")) {
2130
+ const multiTenancy = resolveMultiTenancyConfig(config);
1855
2131
  schedulerService = new SchedulerService(db, app, {
1856
2132
  tickInterval: 3e4,
1857
2133
  // 30 seconds
1858
2134
  gracePeriod: 12e4,
1859
2135
  // 2 minutes
1860
2136
  debug: process.env.NODE_ENV !== "production",
1861
- unixUserMode: config.execution?.unix_user_mode ?? "simple"
2137
+ unixUserMode: config.execution?.unix_user_mode ?? "simple",
2138
+ // Static mode keeps the historical single-tenant scope. Auth-resolved
2139
+ // multi-tenant mode leaves this undefined so the scheduler discovers due
2140
+ // schedule tenant metadata at the DB boundary on each tick.
2141
+ tenantId: multiTenancy.mode === "static" ? multiTenancy.static_tenant_id : void 0
1862
2142
  });
1863
- schedulerService.start();
1864
2143
  app.set("scheduler", schedulerService);
1865
- console.log(`\u{1F504} Scheduler started (tick interval: 30s)`);
2144
+ schedulerService.start();
2145
+ console.log("\u{1F504} Scheduler started (tick interval: 30s)");
1866
2146
  }
1867
2147
  let knowledgeEmbeddingIndexer = null;
1868
2148
  if (svcEnabled("knowledge")) {
1869
- knowledgeEmbeddingIndexer = new KnowledgeEmbeddingIndexer(db);
2149
+ knowledgeEmbeddingIndexer = new KnowledgeEmbeddingIndexer(db, {
2150
+ tenantId: startupTenantParams(config).tenant.tenant_id
2151
+ });
1870
2152
  knowledgeEmbeddingIndexer.start();
1871
2153
  app.set("knowledgeEmbeddingIndexer", knowledgeEmbeddingIndexer);
1872
2154
  console.log("\u{1F9E0} Knowledge embedding indexer started");
1873
2155
  }
1874
2156
  const gatewayService = safeService("gateway");
1875
2157
  if (gatewayService) {
1876
- gatewayService.refreshChannelState().then(() => {
1877
- return gatewayService.startListeners();
2158
+ runStartupTenantDatabaseScope(ctx, () => gatewayService.refreshChannelState()).then(() => {
2159
+ return runStartupTenantDatabaseScope(ctx, () => gatewayService.startListeners());
1878
2160
  }).catch((error) => {
1879
2161
  console.error("[gateway] Failed to start listeners:", error);
1880
2162
  });
@@ -1941,6 +2223,7 @@ async function startup(ctx) {
1941
2223
  process.on("SIGINT", () => shutdown("SIGINT"));
1942
2224
  }
1943
2225
  export {
2226
+ cleanupOrphanStatuses,
1944
2227
  runPostStartJob,
1945
2228
  startup
1946
2229
  };