@mastra/factory 0.24.0-alpha.1 → 0.24.0-alpha.11

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 (389) hide show
  1. package/README.md +106 -4
  2. package/dist/auth.d.ts +14 -0
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +45 -9
  5. package/dist/auth.js.map +1 -1
  6. package/dist/boards/review.d.ts.map +1 -1
  7. package/dist/boards/review.js +21 -1
  8. package/dist/boards/review.js.map +1 -1
  9. package/dist/boards/work-transition-policy.d.ts.map +1 -1
  10. package/dist/boards/work-transition-policy.js +12 -1
  11. package/dist/boards/work-transition-policy.js.map +1 -1
  12. package/dist/boards/work.d.ts +14 -0
  13. package/dist/boards/work.d.ts.map +1 -1
  14. package/dist/boards/work.js +70 -7
  15. package/dist/boards/work.js.map +1 -1
  16. package/dist/capabilities/version-control.d.ts +26 -0
  17. package/dist/capabilities/version-control.d.ts.map +1 -1
  18. package/dist/factory.d.ts +8 -0
  19. package/dist/factory.d.ts.map +1 -1
  20. package/dist/factory.js +355 -27
  21. package/dist/factory.js.map +1 -1
  22. package/dist/integrations/base.d.ts +1 -1
  23. package/dist/integrations/base.d.ts.map +1 -1
  24. package/dist/integrations/github/default-rules.d.ts.map +1 -1
  25. package/dist/integrations/github/default-rules.js +1 -16
  26. package/dist/integrations/github/default-rules.js.map +1 -1
  27. package/dist/integrations/github/integration.d.ts.map +1 -1
  28. package/dist/integrations/github/integration.js +37 -1
  29. package/dist/integrations/github/integration.js.map +1 -1
  30. package/dist/integrations/github/routes.d.ts +1 -1
  31. package/dist/integrations/github/routes.d.ts.map +1 -1
  32. package/dist/integrations/github/routes.js +19 -11
  33. package/dist/integrations/github/routes.js.map +1 -1
  34. package/dist/integrations/github/rules.d.ts.map +1 -1
  35. package/dist/integrations/github/rules.js +76 -29
  36. package/dist/integrations/github/rules.js.map +1 -1
  37. package/dist/integrations/github/sandbox-release.d.ts +15 -3
  38. package/dist/integrations/github/sandbox-release.d.ts.map +1 -1
  39. package/dist/integrations/github/sandbox-release.js +20 -3
  40. package/dist/integrations/github/sandbox-release.js.map +1 -1
  41. package/dist/integrations/github/sandbox.d.ts +2 -3
  42. package/dist/integrations/github/sandbox.d.ts.map +1 -1
  43. package/dist/integrations/github/sandbox.js +78 -7
  44. package/dist/integrations/github/sandbox.js.map +1 -1
  45. package/dist/integrations/github/session-subscriptions.d.ts.map +1 -1
  46. package/dist/integrations/github/session-subscriptions.js +1 -2
  47. package/dist/integrations/github/session-subscriptions.js.map +1 -1
  48. package/dist/integrations/github/subscriptions.d.ts +7 -4
  49. package/dist/integrations/github/subscriptions.d.ts.map +1 -1
  50. package/dist/integrations/github/subscriptions.js +5 -5
  51. package/dist/integrations/github/subscriptions.js.map +1 -1
  52. package/dist/integrations/github/webhook.d.ts +4 -2
  53. package/dist/integrations/github/webhook.d.ts.map +1 -1
  54. package/dist/integrations/github/webhook.js +59 -36
  55. package/dist/integrations/github/webhook.js.map +1 -1
  56. package/dist/integrations/gitlab/api.d.ts +16 -1
  57. package/dist/integrations/gitlab/api.d.ts.map +1 -1
  58. package/dist/integrations/gitlab/api.js +9 -0
  59. package/dist/integrations/gitlab/api.js.map +1 -1
  60. package/dist/integrations/gitlab/routes.d.ts.map +1 -1
  61. package/dist/integrations/gitlab/routes.js +10 -6
  62. package/dist/integrations/gitlab/routes.js.map +1 -1
  63. package/dist/integrations/gitlab/rules.d.ts.map +1 -1
  64. package/dist/integrations/gitlab/rules.js +28 -21
  65. package/dist/integrations/gitlab/rules.js.map +1 -1
  66. package/dist/integrations/gitlab/session-subscriptions.d.ts.map +1 -1
  67. package/dist/integrations/gitlab/session-subscriptions.js +1 -2
  68. package/dist/integrations/gitlab/session-subscriptions.js.map +1 -1
  69. package/dist/integrations/gitlab/subscriptions.d.ts +7 -4
  70. package/dist/integrations/gitlab/subscriptions.d.ts.map +1 -1
  71. package/dist/integrations/gitlab/subscriptions.js +5 -5
  72. package/dist/integrations/gitlab/subscriptions.js.map +1 -1
  73. package/dist/integrations/gitlab/version-control.d.ts.map +1 -1
  74. package/dist/integrations/gitlab/version-control.js +37 -3
  75. package/dist/integrations/gitlab/version-control.js.map +1 -1
  76. package/dist/integrations/incidentio/intake.d.ts +1 -1
  77. package/dist/integrations/incidentio/intake.d.ts.map +1 -1
  78. package/dist/integrations/incidentio/intake.js.map +1 -1
  79. package/dist/integrations/linear/agent-tools.d.ts.map +1 -1
  80. package/dist/integrations/linear/agent-tools.js.map +1 -1
  81. package/dist/integrations/platform/connect/routes.d.ts +1 -1
  82. package/dist/integrations/platform/connect/routes.d.ts.map +1 -1
  83. package/dist/integrations/platform/connect/routes.js.map +1 -1
  84. package/dist/integrations/platform/github/integration.d.ts.map +1 -1
  85. package/dist/integrations/platform/github/integration.js +27 -1
  86. package/dist/integrations/platform/github/integration.js.map +1 -1
  87. package/dist/integrations/platform/incidentio/integration.d.ts +1 -1
  88. package/dist/integrations/platform/incidentio/integration.d.ts.map +1 -1
  89. package/dist/integrations/platform/incidentio/integration.js.map +1 -1
  90. package/dist/integrations/platform/jira/integration.d.ts +1 -1
  91. package/dist/integrations/platform/jira/integration.d.ts.map +1 -1
  92. package/dist/integrations/platform/jira/integration.js.map +1 -1
  93. package/dist/integrations/platform/linear/event-worker.d.ts +1 -1
  94. package/dist/integrations/platform/linear/event-worker.d.ts.map +1 -1
  95. package/dist/integrations/platform/linear/event-worker.js.map +1 -1
  96. package/dist/integrations/slack/integration.d.ts.map +1 -1
  97. package/dist/integrations/slack/integration.js +33 -6
  98. package/dist/integrations/slack/integration.js.map +1 -1
  99. package/dist/integrations/slack/slack.d.ts +16 -5
  100. package/dist/integrations/slack/slack.d.ts.map +1 -1
  101. package/dist/integrations/slack/slack.js +137 -64
  102. package/dist/integrations/slack/slack.js.map +1 -1
  103. package/dist/integrations/subscription-session.d.ts +14 -0
  104. package/dist/integrations/subscription-session.d.ts.map +1 -1
  105. package/dist/integrations/subscription-session.js +30 -16
  106. package/dist/integrations/subscription-session.js.map +1 -1
  107. package/dist/mcp/disconnect.d.ts +10 -0
  108. package/dist/mcp/disconnect.d.ts.map +1 -0
  109. package/dist/mcp/disconnect.js +44 -0
  110. package/dist/mcp/disconnect.js.map +1 -0
  111. package/dist/mcp/routes.d.ts +46 -0
  112. package/dist/mcp/routes.d.ts.map +1 -0
  113. package/dist/mcp/routes.js +243 -0
  114. package/dist/mcp/routes.js.map +1 -0
  115. package/dist/provider-display-name.d.ts +2 -0
  116. package/dist/provider-display-name.d.ts.map +1 -0
  117. package/dist/provider-display-name.js +16 -0
  118. package/dist/provider-display-name.js.map +1 -0
  119. package/dist/review-verdict.d.ts +11 -0
  120. package/dist/review-verdict.d.ts.map +1 -1
  121. package/dist/review-verdict.js +16 -1
  122. package/dist/review-verdict.js.map +1 -1
  123. package/dist/routes/attention-activity.d.ts.map +1 -1
  124. package/dist/routes/attention-activity.js +5 -2
  125. package/dist/routes/attention-activity.js.map +1 -1
  126. package/dist/routes/attention-providers.d.ts +0 -1
  127. package/dist/routes/attention-providers.d.ts.map +1 -1
  128. package/dist/routes/attention-providers.js +5 -6
  129. package/dist/routes/attention-providers.js.map +1 -1
  130. package/dist/routes/config.d.ts +44 -5
  131. package/dist/routes/config.d.ts.map +1 -1
  132. package/dist/routes/config.js +181 -58
  133. package/dist/routes/config.js.map +1 -1
  134. package/dist/routes/contracts.d.ts +4 -0
  135. package/dist/routes/contracts.d.ts.map +1 -1
  136. package/dist/routes/contracts.js +3 -1
  137. package/dist/routes/contracts.js.map +1 -1
  138. package/dist/routes/custom-provider-source.d.ts +8 -0
  139. package/dist/routes/custom-provider-source.d.ts.map +1 -1
  140. package/dist/routes/custom-provider-source.js +22 -1
  141. package/dist/routes/custom-provider-source.js.map +1 -1
  142. package/dist/routes/oauth.js +1 -1
  143. package/dist/routes/oauth.js.map +1 -1
  144. package/dist/routes/projects.d.ts +1 -1
  145. package/dist/routes/projects.d.ts.map +1 -1
  146. package/dist/routes/projects.js +1 -1
  147. package/dist/routes/projects.js.map +1 -1
  148. package/dist/routes/provider-credentials.d.ts +7 -2
  149. package/dist/routes/provider-credentials.d.ts.map +1 -1
  150. package/dist/routes/provider-credentials.js +30 -8
  151. package/dist/routes/provider-credentials.js.map +1 -1
  152. package/dist/routes/skills.d.ts +2 -4
  153. package/dist/routes/skills.d.ts.map +1 -1
  154. package/dist/routes/skills.js +19 -65
  155. package/dist/routes/skills.js.map +1 -1
  156. package/dist/routes/source-control-sessions.d.ts +9 -1
  157. package/dist/routes/source-control-sessions.d.ts.map +1 -1
  158. package/dist/routes/source-control-sessions.js +131 -7
  159. package/dist/routes/source-control-sessions.js.map +1 -1
  160. package/dist/routes/surface.d.ts +3 -2
  161. package/dist/routes/surface.d.ts.map +1 -1
  162. package/dist/routes/surface.js +7 -3
  163. package/dist/routes/surface.js.map +1 -1
  164. package/dist/routes/work-items.d.ts.map +1 -1
  165. package/dist/routes/work-items.js +60 -120
  166. package/dist/routes/work-items.js.map +1 -1
  167. package/dist/rules/binding-context.js +7 -7
  168. package/dist/rules/binding-context.js.map +1 -1
  169. package/dist/rules/dispatch-errors.d.ts.map +1 -1
  170. package/dist/rules/dispatch-errors.js +12 -0
  171. package/dist/rules/dispatch-errors.js.map +1 -1
  172. package/dist/rules/dispatcher.d.ts +8 -1
  173. package/dist/rules/dispatcher.d.ts.map +1 -1
  174. package/dist/rules/dispatcher.js +117 -12
  175. package/dist/rules/dispatcher.js.map +1 -1
  176. package/dist/rules/processor.d.ts.map +1 -1
  177. package/dist/rules/processor.js +2 -1
  178. package/dist/rules/processor.js.map +1 -1
  179. package/dist/rules/start-coordinator.d.ts +4 -0
  180. package/dist/rules/start-coordinator.d.ts.map +1 -1
  181. package/dist/rules/start-coordinator.js +36 -4
  182. package/dist/rules/start-coordinator.js.map +1 -1
  183. package/dist/rules/tools.d.ts.map +1 -1
  184. package/dist/rules/tools.js +82 -3
  185. package/dist/rules/tools.js.map +1 -1
  186. package/dist/rules/transition-service.d.ts +17 -0
  187. package/dist/rules/transition-service.d.ts.map +1 -1
  188. package/dist/rules/transition-service.js +25 -0
  189. package/dist/rules/transition-service.js.map +1 -1
  190. package/dist/rules/types.d.ts +2 -4
  191. package/dist/rules/types.d.ts.map +1 -1
  192. package/dist/rules/types.js +1 -4
  193. package/dist/rules/types.js.map +1 -1
  194. package/dist/sandbox/local-factory-sandbox.d.ts.map +1 -1
  195. package/dist/sandbox/local-factory-sandbox.js +1 -0
  196. package/dist/sandbox/local-factory-sandbox.js.map +1 -1
  197. package/dist/sandbox/session-retirement.d.ts +27 -3
  198. package/dist/sandbox/session-retirement.d.ts.map +1 -1
  199. package/dist/sandbox/session-retirement.js +158 -20
  200. package/dist/sandbox/session-retirement.js.map +1 -1
  201. package/dist/secret-encryption.d.ts.map +1 -1
  202. package/dist/secret-encryption.js +65 -25
  203. package/dist/secret-encryption.js.map +1 -1
  204. package/dist/session/channel-reply-processor.d.ts +36 -0
  205. package/dist/session/channel-reply-processor.d.ts.map +1 -0
  206. package/dist/session/channel-reply-processor.js +46 -0
  207. package/dist/session/channel-reply-processor.js.map +1 -0
  208. package/dist/session/channel-session-link-processor.d.ts +39 -0
  209. package/dist/session/channel-session-link-processor.d.ts.map +1 -0
  210. package/dist/session/channel-session-link-processor.js +100 -0
  211. package/dist/session/channel-session-link-processor.js.map +1 -0
  212. package/dist/session/credential-policy.d.ts +1 -1
  213. package/dist/session/credential-policy.d.ts.map +1 -1
  214. package/dist/session/credential-policy.js +7 -6
  215. package/dist/session/credential-policy.js.map +1 -1
  216. package/dist/session/default-model-hydration.d.ts +1 -0
  217. package/dist/session/default-model-hydration.d.ts.map +1 -1
  218. package/dist/session/default-model-hydration.js +3 -2
  219. package/dist/session/default-model-hydration.js.map +1 -1
  220. package/dist/session/environment-state-processor.js +1 -1
  221. package/dist/session/environment-state-processor.js.map +1 -1
  222. package/dist/session/factory-session.d.ts +19 -1
  223. package/dist/session/factory-session.d.ts.map +1 -1
  224. package/dist/session/factory-session.js +5 -2
  225. package/dist/session/factory-session.js.map +1 -1
  226. package/dist/session/filesystem-capture.d.ts +3 -3
  227. package/dist/session/filesystem-capture.d.ts.map +1 -1
  228. package/dist/session/filesystem-capture.js +16 -17
  229. package/dist/session/filesystem-capture.js.map +1 -1
  230. package/dist/session/first-exec-capture.d.ts +1 -1
  231. package/dist/session/first-exec-capture.d.ts.map +1 -1
  232. package/dist/session/first-exec-capture.js +1 -1
  233. package/dist/session/first-exec-capture.js.map +1 -1
  234. package/dist/session/first-message-capture.d.ts +1 -1
  235. package/dist/session/first-message-capture.d.ts.map +1 -1
  236. package/dist/session/first-message-capture.js +1 -1
  237. package/dist/session/first-message-capture.js.map +1 -1
  238. package/dist/session/live-sessions.d.ts +1 -1
  239. package/dist/session/live-sessions.js +1 -1
  240. package/dist/session/live-sessions.js.map +1 -1
  241. package/dist/session/memory-settings-hydration.d.ts +1 -1
  242. package/dist/session/memory-settings-hydration.d.ts.map +1 -1
  243. package/dist/session/memory-settings-hydration.js +1 -1
  244. package/dist/session/memory-settings-hydration.js.map +1 -1
  245. package/dist/session/reply-credential-processor.d.ts +15 -0
  246. package/dist/session/reply-credential-processor.d.ts.map +1 -0
  247. package/dist/session/reply-credential-processor.js +38 -0
  248. package/dist/session/reply-credential-processor.js.map +1 -0
  249. package/dist/session/resource-migration.d.ts +87 -0
  250. package/dist/session/resource-migration.d.ts.map +1 -0
  251. package/dist/session/resource-migration.js +163 -0
  252. package/dist/session/resource-migration.js.map +1 -0
  253. package/dist/session/run-audit.d.ts +24 -0
  254. package/dist/session/run-audit.d.ts.map +1 -1
  255. package/dist/session/run-audit.js +93 -7
  256. package/dist/session/run-audit.js.map +1 -1
  257. package/dist/session/session-threads.d.ts +49 -0
  258. package/dist/session/session-threads.d.ts.map +1 -0
  259. package/dist/session/session-threads.js +70 -0
  260. package/dist/session/session-threads.js.map +1 -0
  261. package/dist/session/source-control-tools.d.ts +19 -1
  262. package/dist/session/source-control-tools.d.ts.map +1 -1
  263. package/dist/session/source-control-tools.js +78 -11
  264. package/dist/session/source-control-tools.js.map +1 -1
  265. package/dist/session/thinking-default.d.ts.map +1 -1
  266. package/dist/session/thinking-default.js +3 -4
  267. package/dist/session/thinking-default.js.map +1 -1
  268. package/dist/session/thread-session-stamp.d.ts +21 -0
  269. package/dist/session/thread-session-stamp.d.ts.map +1 -0
  270. package/dist/session/thread-session-stamp.js +20 -0
  271. package/dist/session/thread-session-stamp.js.map +1 -0
  272. package/dist/session/thread-title-mirror.d.ts +1 -1
  273. package/dist/session/thread-title-mirror.d.ts.map +1 -1
  274. package/dist/session/thread-title-mirror.js +1 -1
  275. package/dist/session/thread-title-mirror.js.map +1 -1
  276. package/dist/session/work-item-repository.d.ts +1 -1
  277. package/dist/session/work-item-repository.d.ts.map +1 -1
  278. package/dist/session/work-item-repository.js.map +1 -1
  279. package/dist/skills/service.d.ts +6 -8
  280. package/dist/skills/service.d.ts.map +1 -1
  281. package/dist/skills/service.js +3 -3
  282. package/dist/skills/service.js.map +1 -1
  283. package/dist/storage/domains/audit/agent-audit.d.ts.map +1 -1
  284. package/dist/storage/domains/audit/agent-audit.js +2 -2
  285. package/dist/storage/domains/audit/agent-audit.js.map +1 -1
  286. package/dist/storage/domains/audit/domain.js +1 -1
  287. package/dist/storage/domains/filesystem/base.d.ts +4 -0
  288. package/dist/storage/domains/filesystem/base.d.ts.map +1 -1
  289. package/dist/storage/domains/filesystem/base.js +5 -0
  290. package/dist/storage/domains/filesystem/base.js.map +1 -1
  291. package/dist/storage/domains/integrations/base.d.ts +8 -0
  292. package/dist/storage/domains/integrations/base.d.ts.map +1 -1
  293. package/dist/storage/domains/integrations/base.js +7 -0
  294. package/dist/storage/domains/integrations/base.js.map +1 -1
  295. package/dist/storage/domains/projects/base.d.ts +6 -0
  296. package/dist/storage/domains/projects/base.d.ts.map +1 -1
  297. package/dist/storage/domains/projects/base.js +12 -0
  298. package/dist/storage/domains/projects/base.js.map +1 -1
  299. package/dist/storage/domains/source-control/base.d.ts +28 -0
  300. package/dist/storage/domains/source-control/base.d.ts.map +1 -1
  301. package/dist/storage/domains/source-control/base.js +48 -0
  302. package/dist/storage/domains/source-control/base.js.map +1 -1
  303. package/dist/storage/domains/source-control/inmemory.d.ts +8 -0
  304. package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -1
  305. package/dist/storage/domains/source-control/inmemory.js +13 -1
  306. package/dist/storage/domains/source-control/inmemory.js.map +1 -1
  307. package/dist/storage/domains/work-items/base.d.ts +79 -7
  308. package/dist/storage/domains/work-items/base.d.ts.map +1 -1
  309. package/dist/storage/domains/work-items/base.js +172 -30
  310. package/dist/storage/domains/work-items/base.js.map +1 -1
  311. package/dist/timing.d.ts +23 -0
  312. package/dist/timing.d.ts.map +1 -1
  313. package/dist/timing.js +85 -6
  314. package/dist/timing.js.map +1 -1
  315. package/dist/tools/annotations.d.ts +7 -0
  316. package/dist/tools/annotations.d.ts.map +1 -0
  317. package/dist/tools/annotations.js +102 -0
  318. package/dist/tools/annotations.js.map +1 -0
  319. package/dist/tools/approval-tools.d.ts +15 -0
  320. package/dist/tools/approval-tools.d.ts.map +1 -0
  321. package/dist/tools/approval-tools.js +79 -0
  322. package/dist/tools/approval-tools.js.map +1 -0
  323. package/dist/tools/deliver.d.ts +71 -0
  324. package/dist/tools/deliver.d.ts.map +1 -0
  325. package/dist/tools/deliver.js +129 -0
  326. package/dist/tools/deliver.js.map +1 -0
  327. package/dist/tools/index.d.ts +30 -0
  328. package/dist/tools/index.d.ts.map +1 -0
  329. package/dist/tools/index.js +36 -0
  330. package/dist/tools/index.js.map +1 -0
  331. package/dist/tools/messaging-tools.d.ts +28 -0
  332. package/dist/tools/messaging-tools.d.ts.map +1 -0
  333. package/dist/tools/messaging-tools.js +396 -0
  334. package/dist/tools/messaging-tools.js.map +1 -0
  335. package/dist/tools/permissions.d.ts +31 -0
  336. package/dist/tools/permissions.d.ts.map +1 -0
  337. package/dist/tools/permissions.js +48 -0
  338. package/dist/tools/permissions.js.map +1 -0
  339. package/dist/tools/read-tools.d.ts +30 -0
  340. package/dist/tools/read-tools.d.ts.map +1 -0
  341. package/dist/tools/read-tools.js +293 -0
  342. package/dist/tools/read-tools.js.map +1 -0
  343. package/dist/tools/reports.d.ts +174 -0
  344. package/dist/tools/reports.d.ts.map +1 -0
  345. package/dist/tools/reports.js +380 -0
  346. package/dist/tools/reports.js.map +1 -0
  347. package/dist/tools/run-watch.d.ts +46 -0
  348. package/dist/tools/run-watch.d.ts.map +1 -0
  349. package/dist/tools/run-watch.js +102 -0
  350. package/dist/tools/run-watch.js.map +1 -0
  351. package/dist/tools/scope.d.ts +54 -0
  352. package/dist/tools/scope.d.ts.map +1 -0
  353. package/dist/tools/scope.js +87 -0
  354. package/dist/tools/scope.js.map +1 -0
  355. package/dist/tools/session-tools.d.ts +43 -0
  356. package/dist/tools/session-tools.d.ts.map +1 -0
  357. package/dist/tools/session-tools.js +410 -0
  358. package/dist/tools/session-tools.js.map +1 -0
  359. package/dist/tools/sessions-state-processor.d.ts +41 -0
  360. package/dist/tools/sessions-state-processor.d.ts.map +1 -0
  361. package/dist/tools/sessions-state-processor.js +190 -0
  362. package/dist/tools/sessions-state-processor.js.map +1 -0
  363. package/dist/tools/side-sessions.d.ts +53 -0
  364. package/dist/tools/side-sessions.d.ts.map +1 -0
  365. package/dist/tools/side-sessions.js +83 -0
  366. package/dist/tools/side-sessions.js.map +1 -0
  367. package/dist/tools/work-item-tools.d.ts +28 -0
  368. package/dist/tools/work-item-tools.d.ts.map +1 -0
  369. package/dist/tools/work-item-tools.js +342 -0
  370. package/dist/tools/work-item-tools.js.map +1 -0
  371. package/dist/work-items/create-work-item.d.ts +55 -0
  372. package/dist/work-items/create-work-item.d.ts.map +1 -0
  373. package/dist/work-items/create-work-item.js +101 -0
  374. package/dist/work-items/create-work-item.js.map +1 -0
  375. package/dist/work-items/decision-actions.d.ts +42 -0
  376. package/dist/work-items/decision-actions.d.ts.map +1 -0
  377. package/dist/work-items/decision-actions.js +70 -0
  378. package/dist/work-items/decision-actions.js.map +1 -0
  379. package/dist/workspace.d.ts +1 -1
  380. package/dist/workspace.d.ts.map +1 -1
  381. package/dist/workspace.js +15 -7
  382. package/dist/workspace.js.map +1 -1
  383. package/factory-skills/factory-gitlab-rereview/SKILL.md +1 -1
  384. package/factory-skills/factory-gitlab-review/SKILL.md +1 -1
  385. package/factory-skills/factory-plan/SKILL.md +4 -4
  386. package/factory-skills/factory-rereview/SKILL.md +3 -1
  387. package/factory-skills/factory-review/SKILL.md +3 -1
  388. package/factory-skills/factory-self-review/SKILL.md +46 -0
  389. package/package.json +14 -14
@@ -115,10 +115,18 @@ export declare class SourceControlStorageInMemory implements SourceControlStorag
115
115
  viewerUserId: string;
116
116
  }) => Promise<SourceControlSession[]>;
117
117
  getBySessionId: (sessionId: string) => Promise<SourceControlSession | null>;
118
+ listByOrigin: ({ orgId, originSessionId }: {
119
+ orgId: string;
120
+ originSessionId: string;
121
+ }) => Promise<SourceControlSession[]>;
118
122
  rename: ({ sessionId, title }: {
119
123
  sessionId: string;
120
124
  title: string;
121
125
  }) => Promise<void>;
126
+ setOriginMuted: ({ sessionId, muted }: {
127
+ sessionId: string;
128
+ muted: boolean;
129
+ }) => Promise<void>;
122
130
  getForBranch: (args: SessionBranchKey) => Promise<SourceControlSession | null>;
123
131
  create: (input: CreateSourceControlSessionInput) => Promise<SourceControlSession>;
124
132
  setSandbox: ({ id, sandboxId, sandboxWorkdir, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"inmemory.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/source-control/inmemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inmemory.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/source-control/inmemory.ts"],"names":[],"mappings":"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"}
@@ -302,6 +302,7 @@ var SourceControlStorageInMemory = class {
302
302
  if (!row) return null;
303
303
  return this.projectRepositoriesRows.some((link) => link.id === row.projectRepositoryId) ? row : null;
304
304
  },
305
+ listByOrigin: async ({ orgId, originSessionId }) => this.sessionsRows.filter((row) => row.orgId === orgId && row.originSessionId === originSessionId && this.projectRepositoriesRows.some((link) => link.id === row.projectRepositoryId)),
305
306
  rename: async ({ sessionId, title }) => {
306
307
  const row = this.sessionsRows.find((candidate) => candidate.sessionId === sessionId);
307
308
  if (row) {
@@ -309,6 +310,13 @@ var SourceControlStorageInMemory = class {
309
310
  row.updatedAt = /* @__PURE__ */ new Date();
310
311
  }
311
312
  },
313
+ setOriginMuted: async ({ sessionId, muted }) => {
314
+ const row = this.sessionsRows.find((candidate) => candidate.sessionId === sessionId);
315
+ if (row) {
316
+ row.originMutedAt = muted ? /* @__PURE__ */ new Date() : null;
317
+ row.updatedAt = /* @__PURE__ */ new Date();
318
+ }
319
+ },
312
320
  getForBranch: async (args) => this.sessionsRows.find((row) => ("factoryProjectId" in args ? row.factoryProjectId === args.factoryProjectId && this.projectRepositoriesRows.some((link) => link.id === row.projectRepositoryId) : row.projectRepositoryId === args.projectRepositoryId) && row.userId === args.userId && row.branch === args.branch) ?? null,
313
321
  create: async (input) => {
314
322
  const link = this.projectRepositoriesRows.find((row) => row.id === input.projectRepositoryId);
@@ -325,12 +333,16 @@ var SourceControlStorageInMemory = class {
325
333
  if (this.sessionsRows.some((row) => row.sessionId === input.sessionId)) throw new UniqueViolationError("Source-control session ID already exists");
326
334
  if (this.sessionsRows.some((row) => row.factoryProjectId === factoryProjectId && row.userId === input.userId && row.branch === input.branch)) throw new UniqueViolationError("Source-control session branch already exists in this factory");
327
335
  const now = /* @__PURE__ */ new Date();
336
+ const { origin, ...fields } = input;
328
337
  const session = {
329
338
  id: globalThis.crypto.randomUUID(),
330
- ...input,
339
+ ...fields,
331
340
  factoryProjectId,
332
341
  title: input.title ?? null,
333
342
  visibility: input.visibility ?? "org",
343
+ originSessionId: origin?.sessionId ?? null,
344
+ originThreadId: origin?.threadId ?? null,
345
+ originMutedAt: null,
334
346
  sandboxId: null,
335
347
  sandboxWorkdir: null,
336
348
  materializedAt: null,
@@ -1 +1 @@
1
- {"version":3,"file":"inmemory.js","names":[],"sources":["../../../../src/storage/domains/source-control/inmemory.ts"],"sourcesContent":["import { UniqueViolationError } from '@mastra/core/storage';\n\nimport type {\n ConfiguredExternalRepositoryKey,\n CreateProjectSourceControlConnectionInput,\n CreateSourceControlSessionInput,\n ExternalRepositoryProjectTarget,\n LinkProjectRepositoryInput,\n ProjectRepository,\n ProjectSourceControlConnection,\n SessionBranchKey,\n SetProjectRepositoryBuildStatusInput,\n SourceControlInstallation,\n SourceControlRepository,\n SourceControlSession,\n SourceControlSessionRepository,\n SourceControlStorageHandle,\n UpdateProjectRepositoryInput,\n UpsertSessionRepositoryInput,\n UpsertSourceControlInstallationInput,\n UpsertSourceControlRepositoryInput,\n} from './base.js';\n\n/** In-memory provider-scoped source-control handle for route tests. */\nexport class SourceControlStorageInMemory implements SourceControlStorageHandle {\n readonly integrationId: string;\n installationsRows: SourceControlInstallation[] = [];\n repositoriesRows: SourceControlRepository[] = [];\n connectionsRows: ProjectSourceControlConnection[] = [];\n projectRepositoriesRows: ProjectRepository[] = [];\n sessionsRows: SourceControlSession[] = [];\n sessionRepositoriesRows: SourceControlSessionRepository[] = [];\n\n constructor(integrationId = 'github') {\n this.integrationId = integrationId;\n }\n\n readonly installations = {\n list: async ({ orgId }: { orgId: string }): Promise<SourceControlInstallation[]> =>\n this.installationsRows.filter(row => row.orgId === orgId),\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<SourceControlInstallation | null> =>\n this.installationsRows.find(row => row.orgId === orgId && row.id === id) ?? null,\n findByExternalId: async ({\n orgId,\n externalId,\n }: {\n orgId: string;\n externalId: string;\n }): Promise<SourceControlInstallation | null> =>\n this.installationsRows.find(row => row.orgId === orgId && row.externalId === externalId) ?? null,\n upsert: async (input: UpsertSourceControlInstallationInput): Promise<SourceControlInstallation> => {\n const existing = this.installationsRows.find(\n row => row.orgId === input.orgId && row.externalId === input.externalId,\n );\n if (existing) {\n Object.assign(existing, {\n connectedByUserId: input.connectedByUserId,\n accountName: input.accountName ?? null,\n accountType: input.accountType ?? null,\n providerMetadata: input.providerMetadata ?? {},\n });\n return existing;\n }\n const created: SourceControlInstallation = {\n id: globalThis.crypto.randomUUID(),\n integrationId: this.integrationId,\n orgId: input.orgId,\n connectedByUserId: input.connectedByUserId,\n externalId: input.externalId,\n accountName: input.accountName ?? null,\n accountType: input.accountType ?? null,\n providerMetadata: input.providerMetadata ?? {},\n createdAt: new Date(),\n };\n this.installationsRows.push(created);\n return created;\n },\n delete: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n const index = this.installationsRows.findIndex(row => row.orgId === orgId && row.id === id);\n if (index < 0) return false;\n this.installationsRows.splice(index, 1);\n return true;\n },\n };\n\n readonly repositories = {\n list: async ({ orgId, installationId }: { orgId: string; installationId: string }) => {\n const installation = await this.installations.get({ orgId, id: installationId });\n return installation ? this.repositoriesRows.filter(row => row.installationId === installationId) : [];\n },\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<SourceControlRepository | null> => {\n const row = this.repositoriesRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.installations.get({ orgId, id: row.installationId })) ? row : null;\n },\n findByExternalId: async ({\n orgId,\n installationId,\n externalId,\n }: {\n orgId: string;\n installationId: string;\n externalId: string;\n }) => {\n const rows = await this.repositories.list({ orgId, installationId });\n return rows.find(row => row.externalId === externalId) ?? null;\n },\n findBySlug: async ({ orgId, installationId, slug }: { orgId: string; installationId: string; slug: string }) => {\n const rows = await this.repositories.list({ orgId, installationId });\n return rows.find(row => row.slug === slug) ?? null;\n },\n upsert: async ({\n orgId,\n input,\n }: {\n orgId: string;\n input: UpsertSourceControlRepositoryInput;\n }): Promise<SourceControlRepository> => {\n if (!(await this.installations.get({ orgId, id: input.installationId }))) {\n throw new Error('Source-control installation not found');\n }\n const existing = this.repositoriesRows.find(\n row => row.installationId === input.installationId && row.externalId === input.externalId,\n );\n const now = new Date();\n if (existing) {\n Object.assign(existing, {\n slug: input.slug,\n defaultBranch: input.defaultBranch,\n providerMetadata: input.providerMetadata ?? {},\n updatedAt: now,\n });\n return existing;\n }\n const created: SourceControlRepository = {\n id: globalThis.crypto.randomUUID(),\n installationId: input.installationId,\n externalId: input.externalId,\n slug: input.slug,\n defaultBranch: input.defaultBranch,\n providerMetadata: input.providerMetadata ?? {},\n createdAt: now,\n updatedAt: now,\n };\n this.repositoriesRows.push(created);\n return created;\n },\n migrateInstallation: async ({\n orgId,\n id,\n newInstallationId,\n }: {\n orgId: string;\n id: string;\n newInstallationId: string;\n }) => {\n const existing = await this.repositories.get({ orgId, id });\n if (!existing) {\n throw new Error(`Repository ${id} not found in organization ${orgId}`);\n }\n if (!(await this.installations.get({ orgId, id: newInstallationId }))) {\n throw new Error('Source-control installation not found');\n }\n // Check if a repository with the same external_id exists under the new installation\n const conflict = this.repositoriesRows.find(\n row => row.installationId === newInstallationId && row.externalId === existing.externalId,\n );\n if (conflict) {\n // Return the existing repository under the new installation\n return conflict;\n }\n // Update the repository's installation\n existing.installationId = newInstallationId;\n existing.updatedAt = new Date();\n // Migrate dependent connections to the new installation\n for (const conn of this.connectionsRows) {\n if (conn.installationId === existing.installationId) {\n conn.installationId = newInstallationId;\n }\n }\n return existing;\n },\n };\n\n readonly connections = {\n list: async ({ factoryProjectId }: { orgId: string; factoryProjectId: string }) =>\n this.connectionsRows.filter(row => row.factoryProjectId === factoryProjectId),\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<ProjectSourceControlConnection | null> => {\n const row = this.connectionsRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.installations.get({ orgId, id: row.installationId })) ? row : null;\n },\n create: async (input: CreateProjectSourceControlConnectionInput): Promise<ProjectSourceControlConnection> => {\n if (!(await this.installations.get({ orgId: input.orgId, id: input.installationId }))) {\n throw new Error('Source-control installation not found');\n }\n const existing = this.connectionsRows.find(\n row =>\n row.factoryProjectId === input.factoryProjectId &&\n row.integrationId === this.integrationId &&\n row.installationId === input.installationId,\n );\n if (existing) return existing;\n const created: ProjectSourceControlConnection = {\n id: globalThis.crypto.randomUUID(),\n factoryProjectId: input.factoryProjectId,\n integrationId: this.integrationId,\n installationId: input.installationId,\n createdByUserId: input.createdByUserId,\n createdAt: new Date(),\n };\n this.connectionsRows.push(created);\n return created;\n },\n delete: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n if (!(await this.connections.get({ orgId, id }))) return false;\n for (const link of this.projectRepositoriesRows.filter(row => row.connectionId === id)) {\n await this.projectRepositories.unlink({ orgId, id: link.id });\n }\n this.connectionsRows.splice(0, this.connectionsRows.length, ...this.connectionsRows.filter(row => row.id !== id));\n return true;\n },\n };\n\n readonly projectRepositories = {\n list: async ({ orgId, connectionId }: { orgId: string; connectionId: string }) =>\n (await this.connections.get({ orgId, id: connectionId }))\n ? this.projectRepositoriesRows.filter(row => row.connectionId === connectionId)\n : [],\n listConfiguredExternalKeys: async (): Promise<ConfiguredExternalRepositoryKey[]> => {\n const keys = new Map<string, ConfiguredExternalRepositoryKey>();\n for (const connection of this.connectionsRows.filter(row => row.integrationId === this.integrationId)) {\n const installation = this.installationsRows.find(row => row.id === connection.installationId);\n if (!installation) continue;\n for (const link of this.projectRepositoriesRows.filter(row => row.connectionId === connection.id)) {\n const repository = this.repositoriesRows.find(row => row.id === link.repositoryId);\n if (!repository) continue;\n keys.set(`${installation.externalId}\\u0000${repository.externalId}`, {\n installationExternalId: installation.externalId,\n repositoryExternalId: repository.externalId,\n });\n }\n }\n return [...keys.values()];\n },\n listByExternalRepository: async ({\n installationExternalId,\n repositoryExternalId,\n }: {\n installationExternalId: string;\n repositoryExternalId: string;\n }): Promise<ExternalRepositoryProjectTarget[]> => {\n const targets: ExternalRepositoryProjectTarget[] = [];\n for (const installation of this.installationsRows.filter(row => row.externalId === installationExternalId)) {\n const repository = this.repositoriesRows.find(\n row => row.installationId === installation.id && row.externalId === repositoryExternalId,\n );\n if (!repository) continue;\n for (const projectRepository of this.projectRepositoriesRows.filter(\n row => row.repositoryId === repository.id,\n )) {\n const connection = this.connectionsRows.find(\n row =>\n row.id === projectRepository.connectionId &&\n row.installationId === installation.id &&\n row.integrationId === this.integrationId,\n );\n if (!connection) continue;\n targets.push({\n orgId: installation.orgId,\n factoryProjectId: connection.factoryProjectId,\n projectRepository,\n });\n }\n }\n return targets;\n },\n listByProject: async ({ orgId, factoryProjectId }: { orgId: string; factoryProjectId: string }) => {\n const connectionIds = new Set(\n (await this.connections.list({ orgId, factoryProjectId }))\n .filter(row => row.integrationId === this.integrationId)\n .map(row => row.id),\n );\n return this.projectRepositoriesRows\n .filter(row => connectionIds.has(row.connectionId))\n .sort((a, b) => a.position - b.position || a.createdAt.getTime() - b.createdAt.getTime());\n },\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<ProjectRepository | null> => {\n const row = this.projectRepositoriesRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.connections.get({ orgId, id: row.connectionId })) ? row : null;\n },\n link: async (input: LinkProjectRepositoryInput): Promise<ProjectRepository> => {\n const connection = await this.connections.get({ orgId: input.orgId, id: input.connectionId });\n const repository = await this.repositories.get({ orgId: input.orgId, id: input.repositoryId });\n if (!connection || !repository || repository.installationId !== connection.installationId) {\n throw new Error('Source-control connection or repository not found');\n }\n const existing = this.projectRepositoriesRows.find(\n row => row.connectionId === input.connectionId && row.repositoryId === input.repositoryId,\n );\n if (existing) return existing;\n // Mirrors base.ts: order and dedupe span every connection of the project.\n const siblingConnectionIds = new Set(\n this.connectionsRows.filter(row => row.factoryProjectId === connection.factoryProjectId).map(row => row.id),\n );\n const siblings = this.projectRepositoriesRows.filter(row => siblingConnectionIds.has(row.connectionId));\n const position = 1 + Math.max(0, ...siblings.map(row => row.position));\n const inEnvironment = !siblings.some(\n row =>\n row.inEnvironment &&\n this.repositoriesRows.find(candidate => candidate.id === row.repositoryId)?.slug === repository.slug,\n );\n const now = new Date();\n const created: ProjectRepository = {\n id: globalThis.crypto.randomUUID(),\n connectionId: input.connectionId,\n repositoryId: input.repositoryId,\n createdByUserId: input.createdByUserId,\n branch: input.branch ?? null,\n sandboxProvider: input.sandboxProvider,\n sandboxWorkdir: input.sandboxWorkdir,\n setupCommand: input.setupCommand ?? null,\n teardownCommand: input.teardownCommand ?? null,\n position,\n inEnvironment,\n lastBuildStatus: 'unbuilt',\n lastBuildError: null,\n lastBuiltAt: null,\n createdAt: now,\n updatedAt: now,\n };\n this.projectRepositoriesRows.push(created);\n return created;\n },\n update: async ({\n orgId,\n id,\n input,\n }: {\n orgId: string;\n id: string;\n input: UpdateProjectRepositoryInput;\n }): Promise<ProjectRepository | null> => {\n const row = await this.projectRepositories.get({ orgId, id });\n if (!row) return null;\n Object.assign(row, input, { updatedAt: new Date() });\n return row;\n },\n setBuildStatus: async ({\n orgId,\n id,\n status,\n error,\n builtAt,\n }: SetProjectRepositoryBuildStatusInput): Promise<ProjectRepository | null> => {\n const row = await this.projectRepositories.get({ orgId, id });\n if (!row) return null;\n Object.assign(row, {\n lastBuildStatus: status,\n lastBuildError: error ?? null,\n lastBuiltAt: builtAt ?? null,\n updatedAt: new Date(),\n });\n return row;\n },\n unlink: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n if (!(await this.projectRepositories.get({ orgId, id }))) return false;\n const sessionIds = new Set(this.sessionsRows.filter(row => row.projectRepositoryId === id).map(r => r.sessionId));\n this.sessionRepositoriesRows = this.sessionRepositoriesRows.filter(\n row => row.projectRepositoryId !== id && !sessionIds.has(row.sessionId),\n );\n this.sessionsRows.splice(\n 0,\n this.sessionsRows.length,\n ...this.sessionsRows.filter(row => row.projectRepositoryId !== id),\n );\n this.projectRepositoriesRows.splice(\n 0,\n this.projectRepositoriesRows.length,\n ...this.projectRepositoriesRows.filter(row => row.id !== id),\n );\n return true;\n },\n };\n\n readonly sessions = {\n list: async ({ projectRepositoryId, viewerUserId }: { projectRepositoryId: string; viewerUserId: string }) =>\n this.sessionsRows.filter(\n row =>\n row.projectRepositoryId === projectRepositoryId &&\n (row.visibility !== 'private' || row.userId === viewerUserId),\n ),\n listByProjectRepository: async ({ projectRepositoryId }: { projectRepositoryId: string }) =>\n this.sessionsRows.filter(row => row.projectRepositoryId === projectRepositoryId),\n listByProject: async ({\n orgId,\n factoryProjectId,\n viewerUserId,\n }: {\n orgId: string;\n factoryProjectId: string;\n viewerUserId: string;\n }) => {\n const connectionIds = new Set(\n this.connectionsRows.filter(row => row.factoryProjectId === factoryProjectId).map(row => row.id),\n );\n const linkIds = new Set(\n this.projectRepositoriesRows.filter(row => connectionIds.has(row.connectionId)).map(row => row.id),\n );\n return this.sessionsRows.filter(\n row =>\n row.factoryProjectId === factoryProjectId &&\n row.orgId === orgId &&\n row.projectRepositoryId !== null &&\n linkIds.has(row.projectRepositoryId) &&\n (row.visibility !== 'private' || row.userId === viewerUserId),\n );\n },\n getBySessionId: async (sessionId: string): Promise<SourceControlSession | null> => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (!row) return null;\n // Mirrors base.ts: a session whose project-repository link is gone does not resolve.\n return this.projectRepositoriesRows.some(link => link.id === row.projectRepositoryId) ? row : null;\n },\n rename: async ({ sessionId, title }: { sessionId: string; title: string }): Promise<void> => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row) {\n row.title = title;\n row.updatedAt = new Date();\n }\n },\n getForBranch: async (args: SessionBranchKey): Promise<SourceControlSession | null> =>\n this.sessionsRows.find(\n row =>\n ('factoryProjectId' in args\n ? row.factoryProjectId === args.factoryProjectId &&\n // Mirrors base.ts: only sessions on this integration's links resolve.\n this.projectRepositoriesRows.some(link => link.id === row.projectRepositoryId)\n : row.projectRepositoryId === args.projectRepositoryId) &&\n row.userId === args.userId &&\n row.branch === args.branch,\n ) ?? null,\n create: async (input: CreateSourceControlSessionInput): Promise<SourceControlSession> => {\n const link = this.projectRepositoriesRows.find(row => row.id === input.projectRepositoryId);\n const connection = link && this.connectionsRows.find(row => row.id === link.connectionId);\n if (!connection) throw new Error('Project repository not found for this integration.');\n if (input.factoryProjectId !== undefined && input.factoryProjectId !== connection.factoryProjectId) {\n throw new Error('Session factory does not match the repository link.');\n }\n const factoryProjectId = connection.factoryProjectId;\n // Mirrors base.ts: reuse is keyed by the link; another link's branch is a unique violation below.\n const existing = await this.sessions.getForBranch({\n projectRepositoryId: input.projectRepositoryId,\n userId: input.userId,\n branch: input.branch,\n });\n if (existing) return existing;\n // Both checks stay synchronous with the push below so concurrent creates see each other, as a unique index would.\n if (this.sessionsRows.some(row => row.sessionId === input.sessionId)) {\n throw new UniqueViolationError('Source-control session ID already exists');\n }\n if (\n this.sessionsRows.some(\n row =>\n row.factoryProjectId === factoryProjectId && row.userId === input.userId && row.branch === input.branch,\n )\n ) {\n throw new UniqueViolationError('Source-control session branch already exists in this factory');\n }\n const now = new Date();\n const session: SourceControlSession = {\n id: globalThis.crypto.randomUUID(),\n ...input,\n factoryProjectId,\n title: input.title ?? null,\n visibility: input.visibility ?? 'org',\n sandboxId: null,\n sandboxWorkdir: null,\n materializedAt: null,\n firstMessageAt: null,\n firstMeaningfulExecAt: null,\n createdAt: now,\n updatedAt: now,\n };\n this.sessionsRows.push(session);\n return session;\n },\n setSandbox: async ({\n id,\n sandboxId,\n sandboxWorkdir,\n }: {\n id: string;\n sandboxId: string | null;\n sandboxWorkdir: string;\n }) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row) Object.assign(row, { sandboxId, sandboxWorkdir, updatedAt: new Date() });\n },\n markMaterialized: async ({ id }: { id: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row && row.materializedAt === null) Object.assign(row, { materializedAt: new Date(), updatedAt: new Date() });\n },\n markFirstMessage: async ({ sessionId }: { sessionId: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row && row.firstMessageAt === null) Object.assign(row, { firstMessageAt: new Date(), updatedAt: new Date() });\n },\n markFirstMeaningfulExec: async ({ sessionId }: { sessionId: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row && row.firstMeaningfulExecAt === null) {\n Object.assign(row, { firstMeaningfulExecAt: new Date(), updatedAt: new Date() });\n }\n },\n delete: async (id: string) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row) {\n this.sessionRepositoriesRows = this.sessionRepositoriesRows.filter(r => r.sessionId !== row.sessionId);\n }\n this.sessionsRows.splice(0, this.sessionsRows.length, ...this.sessionsRows.filter(row => row.id !== id));\n },\n };\n\n readonly sessionRepositories = {\n upsert: async (input: UpsertSessionRepositoryInput): Promise<SourceControlSessionRepository> => {\n const now = new Date();\n const existing = this.sessionRepositoriesRows.find(\n row => row.sessionId === input.sessionId && row.projectRepositoryId === input.projectRepositoryId,\n );\n if (existing) {\n if (input.branch !== undefined) {\n existing.branch = input.branch;\n existing.pushedAt = input.pushedAt ?? now;\n } else if (input.pushedAt) {\n existing.pushedAt = input.pushedAt;\n }\n if (input.changeRequestId !== undefined) existing.changeRequestId = input.changeRequestId;\n if (input.changeRequestUrl !== undefined) existing.changeRequestUrl = input.changeRequestUrl;\n existing.updatedAt = now;\n return existing;\n }\n const branch = input.branch ?? input.fallbackBranch;\n if (!branch) throw new Error('A session repository row needs a branch when it is first recorded.');\n const created: SourceControlSessionRepository = {\n id: globalThis.crypto.randomUUID(),\n sessionId: input.sessionId,\n projectRepositoryId: input.projectRepositoryId,\n branch,\n changeRequestId: input.changeRequestId ?? null,\n changeRequestUrl: input.changeRequestUrl ?? null,\n pushedAt: input.pushedAt ?? now,\n updatedAt: now,\n createdAt: now,\n };\n this.sessionRepositoriesRows.push(created);\n return created;\n },\n listBySession: async ({ sessionId }: { sessionId: string }): Promise<SourceControlSessionRepository[]> =>\n this.sessionRepositoriesRows.filter(row => row.sessionId === sessionId),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"inmemory.js","names":[],"sources":["../../../../src/storage/domains/source-control/inmemory.ts"],"sourcesContent":["import { UniqueViolationError } from '@mastra/core/storage';\n\nimport type {\n ConfiguredExternalRepositoryKey,\n CreateProjectSourceControlConnectionInput,\n CreateSourceControlSessionInput,\n ExternalRepositoryProjectTarget,\n LinkProjectRepositoryInput,\n ProjectRepository,\n ProjectSourceControlConnection,\n SessionBranchKey,\n SetProjectRepositoryBuildStatusInput,\n SourceControlInstallation,\n SourceControlRepository,\n SourceControlSession,\n SourceControlSessionRepository,\n SourceControlStorageHandle,\n UpdateProjectRepositoryInput,\n UpsertSessionRepositoryInput,\n UpsertSourceControlInstallationInput,\n UpsertSourceControlRepositoryInput,\n} from './base.js';\n\n/** In-memory provider-scoped source-control handle for route tests. */\nexport class SourceControlStorageInMemory implements SourceControlStorageHandle {\n readonly integrationId: string;\n installationsRows: SourceControlInstallation[] = [];\n repositoriesRows: SourceControlRepository[] = [];\n connectionsRows: ProjectSourceControlConnection[] = [];\n projectRepositoriesRows: ProjectRepository[] = [];\n sessionsRows: SourceControlSession[] = [];\n sessionRepositoriesRows: SourceControlSessionRepository[] = [];\n\n constructor(integrationId = 'github') {\n this.integrationId = integrationId;\n }\n\n readonly installations = {\n list: async ({ orgId }: { orgId: string }): Promise<SourceControlInstallation[]> =>\n this.installationsRows.filter(row => row.orgId === orgId),\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<SourceControlInstallation | null> =>\n this.installationsRows.find(row => row.orgId === orgId && row.id === id) ?? null,\n findByExternalId: async ({\n orgId,\n externalId,\n }: {\n orgId: string;\n externalId: string;\n }): Promise<SourceControlInstallation | null> =>\n this.installationsRows.find(row => row.orgId === orgId && row.externalId === externalId) ?? null,\n upsert: async (input: UpsertSourceControlInstallationInput): Promise<SourceControlInstallation> => {\n const existing = this.installationsRows.find(\n row => row.orgId === input.orgId && row.externalId === input.externalId,\n );\n if (existing) {\n Object.assign(existing, {\n connectedByUserId: input.connectedByUserId,\n accountName: input.accountName ?? null,\n accountType: input.accountType ?? null,\n providerMetadata: input.providerMetadata ?? {},\n });\n return existing;\n }\n const created: SourceControlInstallation = {\n id: globalThis.crypto.randomUUID(),\n integrationId: this.integrationId,\n orgId: input.orgId,\n connectedByUserId: input.connectedByUserId,\n externalId: input.externalId,\n accountName: input.accountName ?? null,\n accountType: input.accountType ?? null,\n providerMetadata: input.providerMetadata ?? {},\n createdAt: new Date(),\n };\n this.installationsRows.push(created);\n return created;\n },\n delete: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n const index = this.installationsRows.findIndex(row => row.orgId === orgId && row.id === id);\n if (index < 0) return false;\n this.installationsRows.splice(index, 1);\n return true;\n },\n };\n\n readonly repositories = {\n list: async ({ orgId, installationId }: { orgId: string; installationId: string }) => {\n const installation = await this.installations.get({ orgId, id: installationId });\n return installation ? this.repositoriesRows.filter(row => row.installationId === installationId) : [];\n },\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<SourceControlRepository | null> => {\n const row = this.repositoriesRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.installations.get({ orgId, id: row.installationId })) ? row : null;\n },\n findByExternalId: async ({\n orgId,\n installationId,\n externalId,\n }: {\n orgId: string;\n installationId: string;\n externalId: string;\n }) => {\n const rows = await this.repositories.list({ orgId, installationId });\n return rows.find(row => row.externalId === externalId) ?? null;\n },\n findBySlug: async ({ orgId, installationId, slug }: { orgId: string; installationId: string; slug: string }) => {\n const rows = await this.repositories.list({ orgId, installationId });\n return rows.find(row => row.slug === slug) ?? null;\n },\n upsert: async ({\n orgId,\n input,\n }: {\n orgId: string;\n input: UpsertSourceControlRepositoryInput;\n }): Promise<SourceControlRepository> => {\n if (!(await this.installations.get({ orgId, id: input.installationId }))) {\n throw new Error('Source-control installation not found');\n }\n const existing = this.repositoriesRows.find(\n row => row.installationId === input.installationId && row.externalId === input.externalId,\n );\n const now = new Date();\n if (existing) {\n Object.assign(existing, {\n slug: input.slug,\n defaultBranch: input.defaultBranch,\n providerMetadata: input.providerMetadata ?? {},\n updatedAt: now,\n });\n return existing;\n }\n const created: SourceControlRepository = {\n id: globalThis.crypto.randomUUID(),\n installationId: input.installationId,\n externalId: input.externalId,\n slug: input.slug,\n defaultBranch: input.defaultBranch,\n providerMetadata: input.providerMetadata ?? {},\n createdAt: now,\n updatedAt: now,\n };\n this.repositoriesRows.push(created);\n return created;\n },\n migrateInstallation: async ({\n orgId,\n id,\n newInstallationId,\n }: {\n orgId: string;\n id: string;\n newInstallationId: string;\n }) => {\n const existing = await this.repositories.get({ orgId, id });\n if (!existing) {\n throw new Error(`Repository ${id} not found in organization ${orgId}`);\n }\n if (!(await this.installations.get({ orgId, id: newInstallationId }))) {\n throw new Error('Source-control installation not found');\n }\n // Check if a repository with the same external_id exists under the new installation\n const conflict = this.repositoriesRows.find(\n row => row.installationId === newInstallationId && row.externalId === existing.externalId,\n );\n if (conflict) {\n // Return the existing repository under the new installation\n return conflict;\n }\n // Update the repository's installation\n existing.installationId = newInstallationId;\n existing.updatedAt = new Date();\n // Migrate dependent connections to the new installation\n for (const conn of this.connectionsRows) {\n if (conn.installationId === existing.installationId) {\n conn.installationId = newInstallationId;\n }\n }\n return existing;\n },\n };\n\n readonly connections = {\n list: async ({ factoryProjectId }: { orgId: string; factoryProjectId: string }) =>\n this.connectionsRows.filter(row => row.factoryProjectId === factoryProjectId),\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<ProjectSourceControlConnection | null> => {\n const row = this.connectionsRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.installations.get({ orgId, id: row.installationId })) ? row : null;\n },\n create: async (input: CreateProjectSourceControlConnectionInput): Promise<ProjectSourceControlConnection> => {\n if (!(await this.installations.get({ orgId: input.orgId, id: input.installationId }))) {\n throw new Error('Source-control installation not found');\n }\n const existing = this.connectionsRows.find(\n row =>\n row.factoryProjectId === input.factoryProjectId &&\n row.integrationId === this.integrationId &&\n row.installationId === input.installationId,\n );\n if (existing) return existing;\n const created: ProjectSourceControlConnection = {\n id: globalThis.crypto.randomUUID(),\n factoryProjectId: input.factoryProjectId,\n integrationId: this.integrationId,\n installationId: input.installationId,\n createdByUserId: input.createdByUserId,\n createdAt: new Date(),\n };\n this.connectionsRows.push(created);\n return created;\n },\n delete: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n if (!(await this.connections.get({ orgId, id }))) return false;\n for (const link of this.projectRepositoriesRows.filter(row => row.connectionId === id)) {\n await this.projectRepositories.unlink({ orgId, id: link.id });\n }\n this.connectionsRows.splice(0, this.connectionsRows.length, ...this.connectionsRows.filter(row => row.id !== id));\n return true;\n },\n };\n\n readonly projectRepositories = {\n list: async ({ orgId, connectionId }: { orgId: string; connectionId: string }) =>\n (await this.connections.get({ orgId, id: connectionId }))\n ? this.projectRepositoriesRows.filter(row => row.connectionId === connectionId)\n : [],\n listConfiguredExternalKeys: async (): Promise<ConfiguredExternalRepositoryKey[]> => {\n const keys = new Map<string, ConfiguredExternalRepositoryKey>();\n for (const connection of this.connectionsRows.filter(row => row.integrationId === this.integrationId)) {\n const installation = this.installationsRows.find(row => row.id === connection.installationId);\n if (!installation) continue;\n for (const link of this.projectRepositoriesRows.filter(row => row.connectionId === connection.id)) {\n const repository = this.repositoriesRows.find(row => row.id === link.repositoryId);\n if (!repository) continue;\n keys.set(`${installation.externalId}\\u0000${repository.externalId}`, {\n installationExternalId: installation.externalId,\n repositoryExternalId: repository.externalId,\n });\n }\n }\n return [...keys.values()];\n },\n listByExternalRepository: async ({\n installationExternalId,\n repositoryExternalId,\n }: {\n installationExternalId: string;\n repositoryExternalId: string;\n }): Promise<ExternalRepositoryProjectTarget[]> => {\n const targets: ExternalRepositoryProjectTarget[] = [];\n for (const installation of this.installationsRows.filter(row => row.externalId === installationExternalId)) {\n const repository = this.repositoriesRows.find(\n row => row.installationId === installation.id && row.externalId === repositoryExternalId,\n );\n if (!repository) continue;\n for (const projectRepository of this.projectRepositoriesRows.filter(\n row => row.repositoryId === repository.id,\n )) {\n const connection = this.connectionsRows.find(\n row =>\n row.id === projectRepository.connectionId &&\n row.installationId === installation.id &&\n row.integrationId === this.integrationId,\n );\n if (!connection) continue;\n targets.push({\n orgId: installation.orgId,\n factoryProjectId: connection.factoryProjectId,\n projectRepository,\n });\n }\n }\n return targets;\n },\n listByProject: async ({ orgId, factoryProjectId }: { orgId: string; factoryProjectId: string }) => {\n const connectionIds = new Set(\n (await this.connections.list({ orgId, factoryProjectId }))\n .filter(row => row.integrationId === this.integrationId)\n .map(row => row.id),\n );\n return this.projectRepositoriesRows\n .filter(row => connectionIds.has(row.connectionId))\n .sort((a, b) => a.position - b.position || a.createdAt.getTime() - b.createdAt.getTime());\n },\n get: async ({ orgId, id }: { orgId: string; id: string }): Promise<ProjectRepository | null> => {\n const row = this.projectRepositoriesRows.find(candidate => candidate.id === id);\n if (!row) return null;\n return (await this.connections.get({ orgId, id: row.connectionId })) ? row : null;\n },\n link: async (input: LinkProjectRepositoryInput): Promise<ProjectRepository> => {\n const connection = await this.connections.get({ orgId: input.orgId, id: input.connectionId });\n const repository = await this.repositories.get({ orgId: input.orgId, id: input.repositoryId });\n if (!connection || !repository || repository.installationId !== connection.installationId) {\n throw new Error('Source-control connection or repository not found');\n }\n const existing = this.projectRepositoriesRows.find(\n row => row.connectionId === input.connectionId && row.repositoryId === input.repositoryId,\n );\n if (existing) return existing;\n // Mirrors base.ts: order and dedupe span every connection of the project.\n const siblingConnectionIds = new Set(\n this.connectionsRows.filter(row => row.factoryProjectId === connection.factoryProjectId).map(row => row.id),\n );\n const siblings = this.projectRepositoriesRows.filter(row => siblingConnectionIds.has(row.connectionId));\n const position = 1 + Math.max(0, ...siblings.map(row => row.position));\n const inEnvironment = !siblings.some(\n row =>\n row.inEnvironment &&\n this.repositoriesRows.find(candidate => candidate.id === row.repositoryId)?.slug === repository.slug,\n );\n const now = new Date();\n const created: ProjectRepository = {\n id: globalThis.crypto.randomUUID(),\n connectionId: input.connectionId,\n repositoryId: input.repositoryId,\n createdByUserId: input.createdByUserId,\n branch: input.branch ?? null,\n sandboxProvider: input.sandboxProvider,\n sandboxWorkdir: input.sandboxWorkdir,\n setupCommand: input.setupCommand ?? null,\n teardownCommand: input.teardownCommand ?? null,\n position,\n inEnvironment,\n lastBuildStatus: 'unbuilt',\n lastBuildError: null,\n lastBuiltAt: null,\n createdAt: now,\n updatedAt: now,\n };\n this.projectRepositoriesRows.push(created);\n return created;\n },\n update: async ({\n orgId,\n id,\n input,\n }: {\n orgId: string;\n id: string;\n input: UpdateProjectRepositoryInput;\n }): Promise<ProjectRepository | null> => {\n const row = await this.projectRepositories.get({ orgId, id });\n if (!row) return null;\n Object.assign(row, input, { updatedAt: new Date() });\n return row;\n },\n setBuildStatus: async ({\n orgId,\n id,\n status,\n error,\n builtAt,\n }: SetProjectRepositoryBuildStatusInput): Promise<ProjectRepository | null> => {\n const row = await this.projectRepositories.get({ orgId, id });\n if (!row) return null;\n Object.assign(row, {\n lastBuildStatus: status,\n lastBuildError: error ?? null,\n lastBuiltAt: builtAt ?? null,\n updatedAt: new Date(),\n });\n return row;\n },\n unlink: async ({ orgId, id }: { orgId: string; id: string }): Promise<boolean> => {\n if (!(await this.projectRepositories.get({ orgId, id }))) return false;\n const sessionIds = new Set(this.sessionsRows.filter(row => row.projectRepositoryId === id).map(r => r.sessionId));\n this.sessionRepositoriesRows = this.sessionRepositoriesRows.filter(\n row => row.projectRepositoryId !== id && !sessionIds.has(row.sessionId),\n );\n this.sessionsRows.splice(\n 0,\n this.sessionsRows.length,\n ...this.sessionsRows.filter(row => row.projectRepositoryId !== id),\n );\n this.projectRepositoriesRows.splice(\n 0,\n this.projectRepositoriesRows.length,\n ...this.projectRepositoriesRows.filter(row => row.id !== id),\n );\n return true;\n },\n };\n\n readonly sessions = {\n list: async ({ projectRepositoryId, viewerUserId }: { projectRepositoryId: string; viewerUserId: string }) =>\n this.sessionsRows.filter(\n row =>\n row.projectRepositoryId === projectRepositoryId &&\n (row.visibility !== 'private' || row.userId === viewerUserId),\n ),\n listByProjectRepository: async ({ projectRepositoryId }: { projectRepositoryId: string }) =>\n this.sessionsRows.filter(row => row.projectRepositoryId === projectRepositoryId),\n listByProject: async ({\n orgId,\n factoryProjectId,\n viewerUserId,\n }: {\n orgId: string;\n factoryProjectId: string;\n viewerUserId: string;\n }) => {\n const connectionIds = new Set(\n this.connectionsRows.filter(row => row.factoryProjectId === factoryProjectId).map(row => row.id),\n );\n const linkIds = new Set(\n this.projectRepositoriesRows.filter(row => connectionIds.has(row.connectionId)).map(row => row.id),\n );\n return this.sessionsRows.filter(\n row =>\n row.factoryProjectId === factoryProjectId &&\n row.orgId === orgId &&\n row.projectRepositoryId !== null &&\n linkIds.has(row.projectRepositoryId) &&\n (row.visibility !== 'private' || row.userId === viewerUserId),\n );\n },\n getBySessionId: async (sessionId: string): Promise<SourceControlSession | null> => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (!row) return null;\n // Mirrors base.ts: a session whose project-repository link is gone does not resolve.\n return this.projectRepositoriesRows.some(link => link.id === row.projectRepositoryId) ? row : null;\n },\n listByOrigin: async ({ orgId, originSessionId }: { orgId: string; originSessionId: string }) =>\n this.sessionsRows.filter(\n row =>\n row.orgId === orgId &&\n row.originSessionId === originSessionId &&\n // Mirrors base.ts: only sessions on this integration's links resolve.\n this.projectRepositoriesRows.some(link => link.id === row.projectRepositoryId),\n ),\n rename: async ({ sessionId, title }: { sessionId: string; title: string }): Promise<void> => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row) {\n row.title = title;\n row.updatedAt = new Date();\n }\n },\n setOriginMuted: async ({ sessionId, muted }: { sessionId: string; muted: boolean }): Promise<void> => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row) {\n row.originMutedAt = muted ? new Date() : null;\n row.updatedAt = new Date();\n }\n },\n getForBranch: async (args: SessionBranchKey): Promise<SourceControlSession | null> =>\n this.sessionsRows.find(\n row =>\n ('factoryProjectId' in args\n ? row.factoryProjectId === args.factoryProjectId &&\n // Mirrors base.ts: only sessions on this integration's links resolve.\n this.projectRepositoriesRows.some(link => link.id === row.projectRepositoryId)\n : row.projectRepositoryId === args.projectRepositoryId) &&\n row.userId === args.userId &&\n row.branch === args.branch,\n ) ?? null,\n create: async (input: CreateSourceControlSessionInput): Promise<SourceControlSession> => {\n const link = this.projectRepositoriesRows.find(row => row.id === input.projectRepositoryId);\n const connection = link && this.connectionsRows.find(row => row.id === link.connectionId);\n if (!connection) throw new Error('Project repository not found for this integration.');\n if (input.factoryProjectId !== undefined && input.factoryProjectId !== connection.factoryProjectId) {\n throw new Error('Session factory does not match the repository link.');\n }\n const factoryProjectId = connection.factoryProjectId;\n // Mirrors base.ts: reuse is keyed by the link; another link's branch is a unique violation below.\n const existing = await this.sessions.getForBranch({\n projectRepositoryId: input.projectRepositoryId,\n userId: input.userId,\n branch: input.branch,\n });\n if (existing) return existing;\n // Both checks stay synchronous with the push below so concurrent creates see each other, as a unique index would.\n if (this.sessionsRows.some(row => row.sessionId === input.sessionId)) {\n throw new UniqueViolationError('Source-control session ID already exists');\n }\n if (\n this.sessionsRows.some(\n row =>\n row.factoryProjectId === factoryProjectId && row.userId === input.userId && row.branch === input.branch,\n )\n ) {\n throw new UniqueViolationError('Source-control session branch already exists in this factory');\n }\n const now = new Date();\n const { origin, ...fields } = input;\n const session: SourceControlSession = {\n id: globalThis.crypto.randomUUID(),\n ...fields,\n factoryProjectId,\n title: input.title ?? null,\n visibility: input.visibility ?? 'org',\n originSessionId: origin?.sessionId ?? null,\n originThreadId: origin?.threadId ?? null,\n originMutedAt: null,\n sandboxId: null,\n sandboxWorkdir: null,\n materializedAt: null,\n firstMessageAt: null,\n firstMeaningfulExecAt: null,\n createdAt: now,\n updatedAt: now,\n };\n this.sessionsRows.push(session);\n return session;\n },\n setSandbox: async ({\n id,\n sandboxId,\n sandboxWorkdir,\n }: {\n id: string;\n sandboxId: string | null;\n sandboxWorkdir: string;\n }) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row) Object.assign(row, { sandboxId, sandboxWorkdir, updatedAt: new Date() });\n },\n markMaterialized: async ({ id }: { id: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row && row.materializedAt === null) Object.assign(row, { materializedAt: new Date(), updatedAt: new Date() });\n },\n markFirstMessage: async ({ sessionId }: { sessionId: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row && row.firstMessageAt === null) Object.assign(row, { firstMessageAt: new Date(), updatedAt: new Date() });\n },\n markFirstMeaningfulExec: async ({ sessionId }: { sessionId: string }) => {\n const row = this.sessionsRows.find(candidate => candidate.sessionId === sessionId);\n if (row && row.firstMeaningfulExecAt === null) {\n Object.assign(row, { firstMeaningfulExecAt: new Date(), updatedAt: new Date() });\n }\n },\n delete: async (id: string) => {\n const row = this.sessionsRows.find(candidate => candidate.id === id);\n if (row) {\n this.sessionRepositoriesRows = this.sessionRepositoriesRows.filter(r => r.sessionId !== row.sessionId);\n }\n this.sessionsRows.splice(0, this.sessionsRows.length, ...this.sessionsRows.filter(row => row.id !== id));\n },\n };\n\n readonly sessionRepositories = {\n upsert: async (input: UpsertSessionRepositoryInput): Promise<SourceControlSessionRepository> => {\n const now = new Date();\n const existing = this.sessionRepositoriesRows.find(\n row => row.sessionId === input.sessionId && row.projectRepositoryId === input.projectRepositoryId,\n );\n if (existing) {\n if (input.branch !== undefined) {\n existing.branch = input.branch;\n existing.pushedAt = input.pushedAt ?? now;\n } else if (input.pushedAt) {\n existing.pushedAt = input.pushedAt;\n }\n if (input.changeRequestId !== undefined) existing.changeRequestId = input.changeRequestId;\n if (input.changeRequestUrl !== undefined) existing.changeRequestUrl = input.changeRequestUrl;\n existing.updatedAt = now;\n return existing;\n }\n const branch = input.branch ?? input.fallbackBranch;\n if (!branch) throw new Error('A session repository row needs a branch when it is first recorded.');\n const created: SourceControlSessionRepository = {\n id: globalThis.crypto.randomUUID(),\n sessionId: input.sessionId,\n projectRepositoryId: input.projectRepositoryId,\n branch,\n changeRequestId: input.changeRequestId ?? null,\n changeRequestUrl: input.changeRequestUrl ?? null,\n pushedAt: input.pushedAt ?? now,\n updatedAt: now,\n createdAt: now,\n };\n this.sessionRepositoriesRows.push(created);\n return created;\n },\n listBySession: async ({ sessionId }: { sessionId: string }): Promise<SourceControlSessionRepository[]> =>\n this.sessionRepositoriesRows.filter(row => row.sessionId === sessionId),\n };\n}\n"],"mappings":"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"}
@@ -87,6 +87,8 @@ export interface CommitFactoryRuleEvaluationInput {
87
87
  decisionType: string;
88
88
  }>;
89
89
  now: Date;
90
+ /** Consent-bearing actor behind the evaluation; their id pre-approves the skill runs it queues. */
91
+ consentedBy?: string;
90
92
  }
91
93
  export type CommitFactoryRuleEvaluationResult = {
92
94
  status: 'committed';
@@ -126,8 +128,8 @@ export interface FactoryRuleEvaluationRecord {
126
128
  }
127
129
  /** `proposed` is parked awaiting approval; `dismissed` is human, `superseded` is automatic. */
128
130
  export type FactoryDispatchStatus = 'pending' | 'proposed' | 'dismissed' | 'superseded' | 'leased' | 'retry' | 'succeeded' | 'failed';
129
- declare const FACTORY_DISPATCH_FAILURE_CODES: readonly ["session_unavailable", "source_control_missing", "source_repository_missing", "source_repository_ambiguous", "unsupported_provider_item", "notification_delivery_failed", "run_terminal_event_missing", "skill_delivery_ambiguous", "run_overdue", "repository_git_missing", "repository_egress_blocked", "repository_clone_failed", "repository_pull_failed", "repository_push_failed", "repository_commit_failed", "repository_cli_missing", "repository_pr_failed", "run_configuration_invalid", "unknown"];
130
- declare const STORED_FACTORY_DISPATCH_FAILURE_CODES: readonly ["session_unavailable", "source_control_missing", "source_repository_missing", "source_repository_ambiguous", "unsupported_provider_item", "notification_delivery_failed", "run_terminal_event_missing", "skill_delivery_ambiguous", "run_overdue", "repository_git_missing", "repository_egress_blocked", "repository_clone_failed", "repository_pull_failed", "repository_push_failed", "repository_commit_failed", "repository_cli_missing", "repository_pr_failed", "run_configuration_invalid", "unknown", "plan_awaiting_approval", "run_awaiting_input"];
131
+ declare const FACTORY_DISPATCH_FAILURE_CODES: readonly ["session_unavailable", "source_control_missing", "source_repository_missing", "source_repository_ambiguous", "unsupported_provider_item", "notification_delivery_failed", "run_terminal_event_missing", "skill_delivery_ambiguous", "run_overdue", "repository_git_missing", "repository_egress_blocked", "repository_clone_failed", "repository_pull_failed", "repository_push_failed", "repository_commit_failed", "repository_cli_missing", "repository_pr_failed", "run_configuration_invalid", "run_credentials_unavailable", "run_user_unauthenticated", "run_failed", "unknown"];
132
+ declare const STORED_FACTORY_DISPATCH_FAILURE_CODES: readonly ["session_unavailable", "source_control_missing", "source_repository_missing", "source_repository_ambiguous", "unsupported_provider_item", "notification_delivery_failed", "run_terminal_event_missing", "skill_delivery_ambiguous", "run_overdue", "repository_git_missing", "repository_egress_blocked", "repository_clone_failed", "repository_pull_failed", "repository_push_failed", "repository_commit_failed", "repository_cli_missing", "repository_pr_failed", "run_configuration_invalid", "run_credentials_unavailable", "run_user_unauthenticated", "run_failed", "unknown", "plan_awaiting_approval", "run_awaiting_input"];
131
133
  export type FactoryDispatchFailureCode = (typeof FACTORY_DISPATCH_FAILURE_CODES)[number];
132
134
  export type StoredFactoryDispatchFailureCode = (typeof STORED_FACTORY_DISPATCH_FAILURE_CODES)[number];
133
135
  export interface FactoryDeferredDecisionPageInput {
@@ -239,9 +241,11 @@ export interface RevokeFactoryRunBindingInput {
239
241
  revokedAt: Date;
240
242
  }
241
243
  export interface RevokeStaleFactoryRunBindingsInput {
242
- /** Active bindings created before this instant are revoked regardless of item state. */
244
+ /** Active bindings created before this instant are revoked regardless of item state, unless `keep` exempts them. */
243
245
  olderThan: Date;
244
246
  now: Date;
247
+ /** Exempts an over-age binding from the age test only; the item-state checks still apply. */
248
+ keep?: (binding: FactoryRunBindingRecord) => Promise<boolean>;
245
249
  }
246
250
  export interface RevokeFactoryRunBindingsForWorkItemInput {
247
251
  orgId: string;
@@ -455,6 +459,32 @@ export interface UpsertWorkItemResult {
455
459
  previous: WorkItemPriorState;
456
460
  }
457
461
  export declare const WORK_ITEMS_SCHEMA: CollectionSchema;
462
+ export declare const FACTORY_WORK_ITEM_SUBSCRIPTIONS_SCHEMA: CollectionSchema;
463
+ /** Why a session follows a work item: it filed it, started a role on it, or asked to. */
464
+ export type WorkItemSubscriptionReason = 'created' | 'started' | 'subscribed';
465
+ /** A session following a work item, so it hears what happens to it. */
466
+ export interface WorkItemSubscription {
467
+ id: string;
468
+ orgId: string;
469
+ factoryProjectId: string;
470
+ workItemId: string;
471
+ sessionId: string;
472
+ threadId: string;
473
+ resourceId: string;
474
+ userId: string;
475
+ reason: WorkItemSubscriptionReason;
476
+ createdAt: Date;
477
+ }
478
+ export interface SubscribeToWorkItemInput {
479
+ orgId: string;
480
+ factoryProjectId: string;
481
+ workItemId: string;
482
+ sessionId: string;
483
+ threadId: string;
484
+ resourceId: string;
485
+ userId: string;
486
+ reason: WorkItemSubscriptionReason;
487
+ }
458
488
  /**
459
489
  * The one shape a platform id takes in a lookup key, for cards and for the
460
490
  * comments mirrored off them alike: whoever writes a second builder reopens the
@@ -689,6 +719,12 @@ export declare class WorkItemsStorage extends FactoryStorageDomain {
689
719
  factoryProjectId: string;
690
720
  sessionId: string;
691
721
  }): Promise<FactoryRunBindingRecord | null>;
722
+ /** Whether this session was ever bound to a run, on any thread and whether or not the binding was revoked. */
723
+ hasRunBindingForSession(input: {
724
+ orgId: string;
725
+ factoryProjectId: string;
726
+ sessionId: string;
727
+ }): Promise<boolean>;
692
728
  /** Resolve exact bound-session state for processor awareness; ambiguous cross-tenant matches return null. */
693
729
  findRunBindingBySession(address: FactoryRunBindingSessionAddress): Promise<FactoryRunBindingRecord | null>;
694
730
  /** Revoke one exact tenant-scoped binding. */
@@ -700,14 +736,28 @@ export declare class WorkItemsStorage extends FactoryStorageDomain {
700
736
  */
701
737
  revokeRunBindingsForWorkItem(input: RevokeFactoryRunBindingsForWorkItemInput): Promise<number>;
702
738
  /**
703
- * Revoke leaked/legacy active bindings: older than `olderThan`, or whose
704
- * work item is gone, malformed, or already terminal. Terminal-stage cleanup
705
- * handles bindings go-forward; this sweep drains anything that slipped past
706
- * it. Returns the number of bindings revoked.
739
+ * Revoke leaked/legacy active bindings: older than `olderThan` (unless
740
+ * `keep` vouches for them), or whose work item is gone, malformed, or
741
+ * already terminal. Terminal-stage cleanup handles bindings go-forward; this
742
+ * sweep drains anything that slipped past it. Returns the number of bindings revoked.
707
743
  */
708
744
  revokeStaleRunBindings(input: RevokeStaleFactoryRunBindingsInput): Promise<number>;
709
745
  /** Enumerate active bindings for the server-owned restart reconciler. */
710
746
  listActiveRunBindings(): Promise<FactoryRunBindingRecord[]>;
747
+ /**
748
+ * The work items a session was ever bound to run, revoked bindings included.
749
+ * `null` stands for a bound item that no longer loads. Empty when the session
750
+ * never ran a work item.
751
+ */
752
+ listRunBoundItems(sessionId: string): Promise<(WorkItemRow | null)[]>;
753
+ /**
754
+ * Move a session's bindings from the legacy `resourceId = sessionId` onto
755
+ * `resourceId`. Only rows still on the session id change, so a rerun is a no-op.
756
+ */
757
+ moveRunBindingsToResource(input: {
758
+ sessionId: string;
759
+ resourceId: string;
760
+ }): Promise<number>;
711
761
  /** List binding history, optionally narrowed to one work item. */
712
762
  listRunBindings(orgId: string, factoryProjectId: string, workItemId?: string): Promise<FactoryRunBindingRecord[]>;
713
763
  listPendingStarts(orgId: string, factoryProjectId: string): Promise<FactoryPendingStartRecord[]>;
@@ -749,6 +799,28 @@ export declare class WorkItemsStorage extends FactoryStorageDomain {
749
799
  item: WorkItemRow;
750
800
  previous: WorkItemPriorState;
751
801
  } | null>;
802
+ /**
803
+ * Make a session follow a work item. Idempotent: following again keeps the
804
+ * first subscription, including its reason (filing beats a later subscribe).
805
+ */
806
+ subscribeToWorkItem(input: SubscribeToWorkItemInput): Promise<WorkItemSubscription>;
807
+ /** Stop a session following a work item. Returns whether it was following. */
808
+ unsubscribeFromWorkItem({ orgId, workItemId, sessionId, }: {
809
+ orgId: string;
810
+ workItemId: string;
811
+ sessionId: string;
812
+ }): Promise<boolean>;
813
+ /** The sessions following a work item, earliest first. */
814
+ listWorkItemSubscribers({ orgId, workItemId, }: {
815
+ orgId: string;
816
+ workItemId: string;
817
+ }): Promise<WorkItemSubscription[]>;
818
+ /** The work items one session follows in a Factory, earliest first. */
819
+ listSessionSubscriptions({ orgId, factoryProjectId, sessionId, }: {
820
+ orgId: string;
821
+ factoryProjectId: string;
822
+ sessionId: string;
823
+ }): Promise<WorkItemSubscription[]>;
752
824
  delete({ orgId, id, purgeRuleState, }: {
753
825
  orgId: string;
754
826
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/work-items/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/work-items/base.ts"],"names":[],"mappings":"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"}