@mastra/factory 0.25.0-alpha.4 → 0.25.0-alpha.6

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 (358) hide show
  1. package/README.md +3 -1
  2. package/dist/auth.js +1 -2
  3. package/dist/boards/define-board.js +1 -2
  4. package/dist/boards/index.js +1 -2
  5. package/dist/boards/registry.js +1 -2
  6. package/dist/boards/relocate.js +1 -2
  7. package/dist/boards/review.js +1 -2
  8. package/dist/boards/semantics.js +1 -2
  9. package/dist/boards/transition-policy.js +1 -2
  10. package/dist/boards/work-tool-rules.js +1 -2
  11. package/dist/boards/work-transition-policy.js +1 -2
  12. package/dist/boards/work.js +1 -2
  13. package/dist/default-thinking-level.d.ts +3 -0
  14. package/dist/default-thinking-level.d.ts.map +1 -0
  15. package/dist/default-thinking-level.js +5 -0
  16. package/dist/default-thinking-level.js.map +1 -0
  17. package/dist/environment/build-runner.js +1 -2
  18. package/dist/environment/build-schedule.js +1 -2
  19. package/dist/environment/build-workflow.js +1 -2
  20. package/dist/environment/build.js +1 -2
  21. package/dist/environment/heads.js +1 -2
  22. package/dist/factory.d.ts +4 -2
  23. package/dist/factory.d.ts.map +1 -1
  24. package/dist/factory.js +62 -21
  25. package/dist/factory.js.map +1 -1
  26. package/dist/feed-events.js +1 -2
  27. package/dist/index.js +2 -2
  28. package/dist/integrations/channel-thread-announcements.d.ts +8 -0
  29. package/dist/integrations/channel-thread-announcements.d.ts.map +1 -0
  30. package/dist/integrations/channel-thread-announcements.js +16 -0
  31. package/dist/integrations/channel-thread-announcements.js.map +1 -0
  32. package/dist/integrations/github/acceptance-labels.js +1 -2
  33. package/dist/integrations/github/app-identity.js +1 -2
  34. package/dist/integrations/github/commits.js +1 -2
  35. package/dist/integrations/github/config.js +1 -2
  36. package/dist/integrations/github/default-rules.js +2 -3
  37. package/dist/integrations/github/integration.js +3 -4
  38. package/dist/integrations/github/issue-reconciler.js +1 -2
  39. package/dist/integrations/github/pat.js +1 -2
  40. package/dist/integrations/github/provenance.d.ts.map +1 -1
  41. package/dist/integrations/github/provenance.js +2 -5
  42. package/dist/integrations/github/provenance.js.map +1 -1
  43. package/dist/integrations/github/reconcile-worker.js +1 -2
  44. package/dist/integrations/github/reconciliation-config.js +1 -2
  45. package/dist/integrations/github/routes.js +4 -5
  46. package/dist/integrations/github/rules.d.ts.map +1 -1
  47. package/dist/integrations/github/rules.js +14 -3
  48. package/dist/integrations/github/rules.js.map +1 -1
  49. package/dist/integrations/github/sandbox-release.js +1 -2
  50. package/dist/integrations/github/sandbox.js +1 -2
  51. package/dist/integrations/github/session-subscriptions.js +1 -2
  52. package/dist/integrations/github/settle-or-abort.js +1 -2
  53. package/dist/integrations/github/stale-reviews.js +1 -2
  54. package/dist/integrations/github/subscriptions.js +1 -2
  55. package/dist/integrations/github/token-refresh.js +1 -2
  56. package/dist/integrations/github/webhook.d.ts.map +1 -1
  57. package/dist/integrations/github/webhook.js +17 -3
  58. package/dist/integrations/github/webhook.js.map +1 -1
  59. package/dist/integrations/gitlab/agent-tools.js +1 -2
  60. package/dist/integrations/gitlab/api.js +1 -2
  61. package/dist/integrations/gitlab/default-rules.js +1 -2
  62. package/dist/integrations/gitlab/integration.d.ts +4 -0
  63. package/dist/integrations/gitlab/integration.d.ts.map +1 -1
  64. package/dist/integrations/gitlab/integration.js +12 -4
  65. package/dist/integrations/gitlab/integration.js.map +1 -1
  66. package/dist/integrations/gitlab/issue-reconciler.js +1 -2
  67. package/dist/integrations/gitlab/merge-request-reconciler.js +1 -2
  68. package/dist/integrations/gitlab/reconciler.js +1 -2
  69. package/dist/integrations/gitlab/reconciliation-config.js +1 -2
  70. package/dist/integrations/gitlab/routes.d.ts +6 -0
  71. package/dist/integrations/gitlab/routes.d.ts.map +1 -1
  72. package/dist/integrations/gitlab/routes.js +154 -3
  73. package/dist/integrations/gitlab/routes.js.map +1 -1
  74. package/dist/integrations/gitlab/rules.d.ts.map +1 -1
  75. package/dist/integrations/gitlab/rules.js +5 -3
  76. package/dist/integrations/gitlab/rules.js.map +1 -1
  77. package/dist/integrations/gitlab/session-subscriptions.js +1 -2
  78. package/dist/integrations/gitlab/subscriptions.js +1 -2
  79. package/dist/integrations/gitlab/version-control.js +1 -2
  80. package/dist/integrations/gitlab/webhook-dispatch.js +1 -2
  81. package/dist/integrations/gitlab/webhook.js +1 -2
  82. package/dist/integrations/incidentio/agent-tools.js +1 -2
  83. package/dist/integrations/incidentio/api.js +1 -2
  84. package/dist/integrations/incidentio/claim.js +1 -2
  85. package/dist/integrations/incidentio/default-rules.js +1 -2
  86. package/dist/integrations/incidentio/intake.js +1 -2
  87. package/dist/integrations/incidentio/integration.js +1 -2
  88. package/dist/integrations/incidentio/issue-reconciler.js +1 -2
  89. package/dist/integrations/incidentio/reconciliation-config.js +1 -2
  90. package/dist/integrations/incidentio/routes.js +1 -2
  91. package/dist/integrations/incidentio/rules.js +1 -2
  92. package/dist/integrations/issue-reconcile-worker.js +1 -2
  93. package/dist/integrations/issue-reconciler.js +1 -2
  94. package/dist/integrations/jira/adf.js +1 -2
  95. package/dist/integrations/jira/agent-tools.js +1 -2
  96. package/dist/integrations/jira/api.d.ts +1 -1
  97. package/dist/integrations/jira/api.d.ts.map +1 -1
  98. package/dist/integrations/jira/api.js +2 -3
  99. package/dist/integrations/jira/api.js.map +1 -1
  100. package/dist/integrations/jira/claim.js +1 -2
  101. package/dist/integrations/jira/default-rules.js +1 -2
  102. package/dist/integrations/jira/integration.d.ts +3 -1
  103. package/dist/integrations/jira/integration.d.ts.map +1 -1
  104. package/dist/integrations/jira/integration.js +18 -4
  105. package/dist/integrations/jira/integration.js.map +1 -1
  106. package/dist/integrations/jira/issue-reconciler.js +1 -2
  107. package/dist/integrations/jira/reconciliation-config.js +1 -2
  108. package/dist/integrations/jira/routes.js +1 -2
  109. package/dist/integrations/jira/rules.js +1 -2
  110. package/dist/integrations/linear/agent-tools.d.ts +1 -1
  111. package/dist/integrations/linear/agent-tools.d.ts.map +1 -1
  112. package/dist/integrations/linear/agent-tools.js +5 -5
  113. package/dist/integrations/linear/agent-tools.js.map +1 -1
  114. package/dist/integrations/linear/claim.js +1 -2
  115. package/dist/integrations/linear/default-rules.js +1 -2
  116. package/dist/integrations/linear/integration.d.ts +2 -0
  117. package/dist/integrations/linear/integration.d.ts.map +1 -1
  118. package/dist/integrations/linear/integration.js +2 -2
  119. package/dist/integrations/linear/integration.js.map +1 -1
  120. package/dist/integrations/linear/issue-reconciler.js +1 -2
  121. package/dist/integrations/linear/reconciliation-config.js +1 -2
  122. package/dist/integrations/linear/routes.js +1 -2
  123. package/dist/integrations/linear/rules.js +1 -2
  124. package/dist/integrations/platform/api-client.js +1 -2
  125. package/dist/integrations/platform/connect/routes.js +1 -2
  126. package/dist/integrations/platform/github/event-worker.js +6 -2
  127. package/dist/integrations/platform/github/event-worker.js.map +1 -1
  128. package/dist/integrations/platform/github/integration.js +1 -2
  129. package/dist/integrations/platform/gitlab/event-worker.js +1 -2
  130. package/dist/integrations/platform/gitlab/integration.js +1 -2
  131. package/dist/integrations/platform/incidentio/integration.js +1 -2
  132. package/dist/integrations/platform/jira/agent-tools.js +1 -2
  133. package/dist/integrations/platform/jira/integration.js +1 -2
  134. package/dist/integrations/platform/jira/routes.js +1 -2
  135. package/dist/integrations/platform/linear/event-worker.js +1 -2
  136. package/dist/integrations/platform/linear/integration.d.ts.map +1 -1
  137. package/dist/integrations/platform/linear/integration.js +2 -2
  138. package/dist/integrations/platform/linear/integration.js.map +1 -1
  139. package/dist/integrations/pull-request-head.d.ts +1 -0
  140. package/dist/integrations/pull-request-head.d.ts.map +1 -1
  141. package/dist/integrations/pull-request-head.js +3 -3
  142. package/dist/integrations/pull-request-head.js.map +1 -1
  143. package/dist/integrations/reconciliation-config.js +1 -2
  144. package/dist/integrations/slack/channel-reply-processor.d.ts +1 -0
  145. package/dist/integrations/slack/channel-reply-processor.d.ts.map +1 -1
  146. package/dist/integrations/slack/channel-reply-processor.js +16 -6
  147. package/dist/integrations/slack/channel-reply-processor.js.map +1 -1
  148. package/dist/integrations/slack/channel-session-link-processor.d.ts +1 -0
  149. package/dist/integrations/slack/channel-session-link-processor.d.ts.map +1 -1
  150. package/dist/integrations/slack/channel-session-link-processor.js +2 -3
  151. package/dist/integrations/slack/channel-session-link-processor.js.map +1 -1
  152. package/dist/integrations/slack/connect-route.js +1 -2
  153. package/dist/integrations/slack/emoji-shortcodes.generated.js +1 -2
  154. package/dist/integrations/slack/emoji.js +1 -2
  155. package/dist/integrations/slack/feed-publisher.js +1 -2
  156. package/dist/integrations/slack/integration.d.ts +5 -0
  157. package/dist/integrations/slack/integration.d.ts.map +1 -1
  158. package/dist/integrations/slack/integration.js +13 -2
  159. package/dist/integrations/slack/integration.js.map +1 -1
  160. package/dist/integrations/slack/reply-reminder-processor.js +1 -2
  161. package/dist/integrations/slack/reply-tool.d.ts.map +1 -1
  162. package/dist/integrations/slack/reply-tool.js +4 -13
  163. package/dist/integrations/slack/reply-tool.js.map +1 -1
  164. package/dist/integrations/slack/run-error-card.d.ts +3 -0
  165. package/dist/integrations/slack/run-error-card.d.ts.map +1 -0
  166. package/dist/integrations/slack/run-error-card.js +44 -0
  167. package/dist/integrations/slack/run-error-card.js.map +1 -0
  168. package/dist/integrations/slack/share-file-tool.js +1 -2
  169. package/dist/integrations/slack/slack.d.ts.map +1 -1
  170. package/dist/integrations/slack/slack.js +7 -4
  171. package/dist/integrations/slack/slack.js.map +1 -1
  172. package/dist/integrations/subscription-session.js +1 -2
  173. package/dist/integrations/workos/integration.js +1 -2
  174. package/dist/mcp/disconnect.js +1 -2
  175. package/dist/mcp/events.js +2 -3
  176. package/dist/mcp/routes.js +1 -2
  177. package/dist/packages/_internals/workspace/dist/index.js +1 -2
  178. package/dist/packages/_internals/workspace/dist/index.js.map +1 -1
  179. package/dist/platform-auth-host.js +1 -2
  180. package/dist/provider-display-name.js +1 -2
  181. package/dist/review-verdict.d.ts +1 -0
  182. package/dist/review-verdict.d.ts.map +1 -1
  183. package/dist/review-verdict.js +9 -3
  184. package/dist/review-verdict.js.map +1 -1
  185. package/dist/routes/attention-activity.js +1 -2
  186. package/dist/routes/attention-parked.js +1 -2
  187. package/dist/routes/attention-proposed.js +1 -2
  188. package/dist/routes/attention-providers.js +1 -2
  189. package/dist/routes/attention.js +1 -2
  190. package/dist/routes/automation-runs.js +1 -2
  191. package/dist/routes/config.d.ts +7 -0
  192. package/dist/routes/config.d.ts.map +1 -1
  193. package/dist/routes/config.js +29 -3
  194. package/dist/routes/config.js.map +1 -1
  195. package/dist/routes/contracts.js +1 -2
  196. package/dist/routes/custom-provider-source.js +1 -2
  197. package/dist/routes/fs.js +1 -2
  198. package/dist/routes/intake.js +6 -4
  199. package/dist/routes/intake.js.map +1 -1
  200. package/dist/routes/knowledge.js +1 -2
  201. package/dist/routes/oauth.js +1 -2
  202. package/dist/routes/projects.js +1 -2
  203. package/dist/routes/provider-credentials.js +1 -2
  204. package/dist/routes/route.js +1 -2
  205. package/dist/routes/session-access.js +1 -2
  206. package/dist/routes/skills.js +1 -2
  207. package/dist/routes/source-control-sessions.js +5 -6
  208. package/dist/routes/source-control-settings.js +1 -2
  209. package/dist/routes/surface.js +3 -4
  210. package/dist/routes/surface.js.map +1 -1
  211. package/dist/routes/telemetry.js +1 -2
  212. package/dist/routes/tenant-credentials.js +1 -2
  213. package/dist/routes/work-items.js +2 -3
  214. package/dist/rules/binding-context.js +1 -2
  215. package/dist/rules/decision-applicability.js +1 -2
  216. package/dist/rules/dispatch-errors.js +1 -2
  217. package/dist/rules/dispatcher.d.ts.map +1 -1
  218. package/dist/rules/dispatcher.js +9 -3
  219. package/dist/rules/dispatcher.js.map +1 -1
  220. package/dist/rules/event-rules.js +1 -2
  221. package/dist/rules/processor.js +1 -2
  222. package/dist/rules/resolve.js +1 -2
  223. package/dist/rules/review-source-tool.js +1 -2
  224. package/dist/rules/start-coordinator.js +1 -2
  225. package/dist/rules/terminal-cleanup.js +1 -2
  226. package/dist/rules/tools.js +1 -2
  227. package/dist/rules/transition-service.js +1 -2
  228. package/dist/rules/types.d.ts +4 -1
  229. package/dist/rules/types.d.ts.map +1 -1
  230. package/dist/rules/types.js +1 -2
  231. package/dist/rules/types.js.map +1 -1
  232. package/dist/rules/validation.js +1 -2
  233. package/dist/run-error.d.ts +13 -0
  234. package/dist/run-error.d.ts.map +1 -0
  235. package/dist/run-error.js +81 -0
  236. package/dist/run-error.js.map +1 -0
  237. package/dist/sandbox/callback-factory-sandbox.js +1 -2
  238. package/dist/sandbox/git-ref.js +1 -2
  239. package/dist/sandbox/local-factory-sandbox.d.ts +12 -4
  240. package/dist/sandbox/local-factory-sandbox.d.ts.map +1 -1
  241. package/dist/sandbox/local-factory-sandbox.js +32 -7
  242. package/dist/sandbox/local-factory-sandbox.js.map +1 -1
  243. package/dist/sandbox/materialization.js +1 -2
  244. package/dist/sandbox/session-retirement.js +1 -2
  245. package/dist/sandbox/session-sandbox.js +1 -2
  246. package/dist/sandbox/workdir.js +1 -2
  247. package/dist/secret-encryption.js +1 -2
  248. package/dist/server-error.js +1 -2
  249. package/dist/session/credential-policy.js +1 -2
  250. package/dist/session/default-model-hydration.js +1 -2
  251. package/dist/session/environment-repositories.js +1 -2
  252. package/dist/session/environment-state-processor.d.ts +0 -1
  253. package/dist/session/environment-state-processor.d.ts.map +1 -1
  254. package/dist/session/environment-state-processor.js +2 -3
  255. package/dist/session/environment-state-processor.js.map +1 -1
  256. package/dist/session/factory-session.js +1 -2
  257. package/dist/session/filesystem-capture.js +2 -3
  258. package/dist/session/filesystem-capture.js.map +1 -1
  259. package/dist/session/first-exec-capture.js +2 -3
  260. package/dist/session/first-exec-capture.js.map +1 -1
  261. package/dist/session/first-message-capture.js +1 -2
  262. package/dist/session/live-sessions.js +1 -2
  263. package/dist/session/memory-settings-hydration.js +1 -2
  264. package/dist/session/org-seed.js +1 -2
  265. package/dist/session/reply-credential-processor.js +1 -2
  266. package/dist/session/resource-migration.js +1 -2
  267. package/dist/session/run-audit.js +1 -2
  268. package/dist/session/session-threads.js +1 -2
  269. package/dist/session/session-title.js +1 -2
  270. package/dist/session/shell-commands.js +1 -2
  271. package/dist/session/source-control-tools.js +2 -3
  272. package/dist/session/thinking-default.d.ts +1 -1
  273. package/dist/session/thinking-default.d.ts.map +1 -1
  274. package/dist/session/thinking-default.js +11 -13
  275. package/dist/session/thinking-default.js.map +1 -1
  276. package/dist/session/thread-session-stamp.js +1 -2
  277. package/dist/session/thread-title-mirror.js +1 -2
  278. package/dist/session/thread-title-mirror.js.map +1 -1
  279. package/dist/session/work-item-repository.js +1 -2
  280. package/dist/session-owner-signal.js +1 -2
  281. package/dist/skills/catalog.js +1 -2
  282. package/dist/skills/service.js +1 -2
  283. package/dist/spa-static.js +1 -2
  284. package/dist/state-signing.js +1 -2
  285. package/dist/storage/domains/audit/actions.js +1 -2
  286. package/dist/storage/domains/audit/actors.js +1 -2
  287. package/dist/storage/domains/audit/agent-audit.js +1 -2
  288. package/dist/storage/domains/audit/base.js +1 -2
  289. package/dist/storage/domains/audit/domain.js +1 -2
  290. package/dist/storage/domains/audit/wire.js +1 -2
  291. package/dist/storage/domains/channel-identity/base.js +1 -2
  292. package/dist/storage/domains/comments/activity.js +1 -2
  293. package/dist/storage/domains/comments/actor.js +1 -2
  294. package/dist/storage/domains/comments/base.js +1 -2
  295. package/dist/storage/domains/comments/domain.js +1 -2
  296. package/dist/storage/domains/comments/feed-context.js +1 -2
  297. package/dist/storage/domains/comments/parse.js +1 -2
  298. package/dist/storage/domains/comments/routes.js +1 -2
  299. package/dist/storage/domains/comments/schema.js +1 -2
  300. package/dist/storage/domains/comments/wire.js +1 -2
  301. package/dist/storage/domains/credentials/base.d.ts +4 -1
  302. package/dist/storage/domains/credentials/base.d.ts.map +1 -1
  303. package/dist/storage/domains/credentials/base.js +40 -44
  304. package/dist/storage/domains/credentials/base.js.map +1 -1
  305. package/dist/storage/domains/custom-providers/base.js +1 -2
  306. package/dist/storage/domains/filesystem/base.js +1 -2
  307. package/dist/storage/domains/intake/base.d.ts +5 -0
  308. package/dist/storage/domains/intake/base.d.ts.map +1 -1
  309. package/dist/storage/domains/intake/base.js +10 -2
  310. package/dist/storage/domains/intake/base.js.map +1 -1
  311. package/dist/storage/domains/integrations/base.js +1 -2
  312. package/dist/storage/domains/memory-settings/base.js +1 -2
  313. package/dist/storage/domains/model-defaults/base.js +1 -2
  314. package/dist/storage/domains/projects/base.d.ts +0 -1
  315. package/dist/storage/domains/projects/base.d.ts.map +1 -1
  316. package/dist/storage/domains/projects/base.js +5 -6
  317. package/dist/storage/domains/projects/base.js.map +1 -1
  318. package/dist/storage/domains/queue-health/base.js +1 -2
  319. package/dist/storage/domains/source-control/base.js +1 -2
  320. package/dist/storage/domains/source-control/inmemory.js +1 -2
  321. package/dist/storage/domains/work-items/base.js +1 -2
  322. package/dist/storage/domains/work-items/board-version.js +1 -2
  323. package/dist/storage/domains/work-items/metrics.js +1 -2
  324. package/dist/telemetry-types.js +1 -2
  325. package/dist/telemetry.js +1 -2
  326. package/dist/timing.js +1 -2
  327. package/dist/tools/annotations.js +1 -2
  328. package/dist/tools/approval-tools.js +1 -2
  329. package/dist/tools/deliver.js +2 -3
  330. package/dist/tools/index.js +1 -2
  331. package/dist/tools/messaging-tools.js +1 -2
  332. package/dist/tools/permissions.js +1 -2
  333. package/dist/tools/read-tools.js +1 -2
  334. package/dist/tools/reports.js +1 -2
  335. package/dist/tools/run-watch.d.ts +0 -2
  336. package/dist/tools/run-watch.d.ts.map +1 -1
  337. package/dist/tools/run-watch.js +4 -44
  338. package/dist/tools/run-watch.js.map +1 -1
  339. package/dist/tools/sandbox-tools.js +1 -2
  340. package/dist/tools/scope.js +2 -3
  341. package/dist/tools/session-tools.js +1 -2
  342. package/dist/tools/sessions-state-processor.js +1 -2
  343. package/dist/tools/side-sessions.js +1 -2
  344. package/dist/tools/work-item-tools.js +1 -2
  345. package/dist/work-item-branch.js +1 -2
  346. package/dist/work-item-branch.js.map +1 -1
  347. package/dist/work-items/create-work-item.js +1 -2
  348. package/dist/work-items/decision-actions.js +1 -2
  349. package/dist/workspace.d.ts.map +1 -1
  350. package/dist/workspace.js +1 -3
  351. package/dist/workspace.js.map +1 -1
  352. package/factory-skills/factory-gitlab-review/SKILL.md +1 -1
  353. package/factory-skills/factory-plan/SKILL.md +1 -1
  354. package/factory-skills/factory-rereview/SKILL.md +14 -3
  355. package/factory-skills/factory-review/SKILL.md +14 -3
  356. package/factory-skills/factory-self-review/SKILL.md +1 -1
  357. package/factory-skills/factory-triage/SKILL.md +52 -29
  358. package/package.json +19 -17
@@ -3,11 +3,11 @@ import { mergeRequestNumberFromBranch } from "../work-item-branch.js";
3
3
  import { ensureLocalBranch, isCheckoutOf, pushRepositoryBranch, refreshMergeRequestCheckout } from "../integrations/github/sandbox.js";
4
4
  import { resolveSessionWorkdir } from "../sandbox/session-sandbox.js";
5
5
  import { updateSessionEnvironmentRepository } from "./environment-state-processor.js";
6
- import { environmentSlugs, findEnvironmentRepository, resolveSessionRepositories } from "./environment-repositories.js";
7
6
  import { normalizedVerdictLine } from "../review-verdict.js";
7
+ import { environmentSlugs, findEnvironmentRepository, resolveSessionRepositories } from "./environment-repositories.js";
8
8
  import { z } from "zod";
9
9
  import { createTool } from "@mastra/core/tools";
10
- //#region src/session/source-control-tools.ts
10
+ // src/session/source-control-tools.ts
11
11
  /** Returns why a review's leading `Verdict:` line contradicts the submitted event, if it does. */
12
12
  function verdictEventMismatch(event, body) {
13
13
  const match = /^verdict: ?(approve|request changes|changes requested)\b/.exec(normalizedVerdictLine(body) ?? "");
@@ -655,7 +655,6 @@ async function createSourceControlTools({ requestContext, providers, audit, test
655
655
  })
656
656
  };
657
657
  }
658
- //#endregion
659
658
  export { FACTORY_TEST_CHECK_NAME, createSourceControlTools, reviewedHeadFromBody, verdictEventMismatch };
660
659
 
661
660
  //# sourceMappingURL=source-control-tools.js.map
@@ -5,7 +5,7 @@ import type { FactoryModelPolicyDependencies } from './credential-policy.js';
5
5
  interface FactoryThinkingDefaultDependencies extends FactoryModelPolicyDependencies {
6
6
  modelDefaults: Pick<ModelDefaultsStorage, 'ensureReady' | 'get'>;
7
7
  }
8
- /** A session's unpicked thinking level: its routed personal level, else its Factory's; unsigned requests get the Factory's. */
8
+ /** A session's unpicked thinking level: the level of the defaults set it routes to; unsigned requests get the Factory's. */
9
9
  export declare function resolveFactoryThinkingLevel(requestContext: RequestContext | undefined, deps: FactoryThinkingDefaultDependencies): Promise<ThinkingLevelSetting>;
10
10
  export {};
11
11
  //# sourceMappingURL=thinking-default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-default.d.ts","sourceRoot":"","sources":["../../src/session/thinking-default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAI7E,UAAU,kCAAmC,SAAQ,8BAA8B;IACjF,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;CAClE;AAkBD,+HAA+H;AAC/H,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,kCAAkC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAsB/B"}
1
+ {"version":3,"file":"thinking-default.d.ts","sourceRoot":"","sources":["../../src/session/thinking-default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAI7E,UAAU,kCAAmC,SAAQ,8BAA8B;IACjF,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,KAAK,CAAC,CAAC;CAClE;AAkBD,4HAA4H;AAC5H,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,kCAAkC,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAuB/B"}
@@ -1,7 +1,7 @@
1
- import { DEFAULT_FACTORY_THINKING_LEVEL } from "../storage/domains/projects/base.js";
1
+ import { DEFAULT_THINKING_LEVEL } from "../default-thinking-level.js";
2
2
  import { UUID_PATTERN } from "../routes/contracts.js";
3
3
  import { resolveFactoryModelPolicy, routedPersonalDefaults } from "./credential-policy.js";
4
- //#region src/session/thinking-default.ts
4
+ // src/session/thinking-default.ts
5
5
  const FACTORY_PROJECT_ID = new RegExp(UUID_PATTERN);
6
6
  function sessionlessFactoryProjectId(controller) {
7
7
  const stateProjectId = (controller.getState?.())?.factoryProjectId;
@@ -12,26 +12,24 @@ function sessionlessFactoryProjectId(controller) {
12
12
  async function unsignedFactoryProjectId(controller, deps) {
13
13
  return (controller.sessionId ? await deps.sourceControl.getBySessionId(controller.sessionId) : null)?.factoryProjectId ?? sessionlessFactoryProjectId(controller);
14
14
  }
15
- /** A session's unpicked thinking level: its routed personal level, else its Factory's; unsigned requests get the Factory's. */
15
+ /** A session's unpicked thinking level: the level of the defaults set it routes to; unsigned requests get the Factory's. */
16
16
  async function resolveFactoryThinkingLevel(requestContext, deps) {
17
- if (!requestContext) return DEFAULT_FACTORY_THINKING_LEVEL;
17
+ if (!requestContext) return DEFAULT_THINKING_LEVEL;
18
18
  const controller = requestContext.get("controller");
19
- if (!controller) return DEFAULT_FACTORY_THINKING_LEVEL;
19
+ if (!controller) return DEFAULT_THINKING_LEVEL;
20
20
  try {
21
21
  const policy = await resolveFactoryModelPolicy(requestContext, deps);
22
- const factoryProjectId = policy ? policy.factoryProjectId ?? sessionlessFactoryProjectId(controller) : await unsignedFactoryProjectId(controller, deps);
23
- const factoryLevel = (factoryProjectId ? await deps.projects.getById({ id: factoryProjectId }) : null)?.defaultThinkingLevel ?? "medium";
24
- if (!policy) return factoryLevel;
25
- return (await routedPersonalDefaults(policy.tenant, deps.modelDefaults).catch((error) => {
26
- console.warn("[factory] Could not read the personal thinking default; using the Factory level.", error);
22
+ if (policy && policy.tenant.credentialScope !== "factory") return (await routedPersonalDefaults(policy.tenant, deps.modelDefaults).catch((error) => {
23
+ console.warn("[factory] Could not read the personal thinking default; using medium.", error);
27
24
  return null;
28
- }))?.thinkingLevel ?? factoryLevel;
25
+ }))?.thinkingLevel ?? "medium";
26
+ const factoryProjectId = policy ? policy.factoryProjectId ?? sessionlessFactoryProjectId(controller) : await unsignedFactoryProjectId(controller, deps);
27
+ return (factoryProjectId ? await deps.projects.getById({ id: factoryProjectId }) : null)?.defaultThinkingLevel ?? "medium";
29
28
  } catch (error) {
30
29
  console.warn("[factory] Could not read the thinking default; using medium.", error);
31
- return DEFAULT_FACTORY_THINKING_LEVEL;
30
+ return DEFAULT_THINKING_LEVEL;
32
31
  }
33
32
  }
34
- //#endregion
35
33
  export { resolveFactoryThinkingLevel };
36
34
 
37
35
  //# sourceMappingURL=thinking-default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinking-default.js","names":[],"sources":["../../src/session/thinking-default.ts"],"sourcesContent":["import type { ThinkingLevelSetting } from '@mastra/code-sdk/thinking';\nimport type { AgentControllerRequestContext } from '@mastra/core/agent-controller';\nimport type { RequestContext } from '@mastra/core/request-context';\n\nimport { UUID_PATTERN } from '../routes/contracts.js';\nimport type { ModelDefaultsStorage } from '../storage/domains/model-defaults/base.js';\nimport { DEFAULT_FACTORY_THINKING_LEVEL } from '../storage/domains/projects/base.js';\nimport { resolveFactoryModelPolicy, routedPersonalDefaults } from './credential-policy.js';\nimport type { FactoryModelPolicyDependencies } from './credential-policy.js';\n\nconst FACTORY_PROJECT_ID = new RegExp(UUID_PATTERN);\n\ninterface FactoryThinkingDefaultDependencies extends FactoryModelPolicyDependencies {\n modelDefaults: Pick<ModelDefaultsStorage, 'ensureReady' | 'get'>;\n}\n\nfunction sessionlessFactoryProjectId(controller: AgentControllerRequestContext): string | undefined {\n const stateProjectId = (controller.getState?.() as { factoryProjectId?: unknown } | undefined)?.factoryProjectId;\n if (typeof stateProjectId === 'string' && stateProjectId) return stateProjectId;\n // Session-less Factory pages address the Factory itself: the resourceId is the project id.\n const { resourceId } = controller;\n return resourceId && FACTORY_PROJECT_ID.test(resourceId) ? resourceId : undefined;\n}\n\nasync function unsignedFactoryProjectId(\n controller: AgentControllerRequestContext,\n deps: FactoryThinkingDefaultDependencies,\n): Promise<string | undefined> {\n const sourceSession = controller.sessionId ? await deps.sourceControl.getBySessionId(controller.sessionId) : null;\n return sourceSession?.factoryProjectId ?? sessionlessFactoryProjectId(controller);\n}\n\n/** A session's unpicked thinking level: its routed personal level, else its Factory's; unsigned requests get the Factory's. */\nexport async function resolveFactoryThinkingLevel(\n requestContext: RequestContext | undefined,\n deps: FactoryThinkingDefaultDependencies,\n): Promise<ThinkingLevelSetting> {\n if (!requestContext) return DEFAULT_FACTORY_THINKING_LEVEL;\n const controller = requestContext.get('controller') as AgentControllerRequestContext | undefined;\n if (!controller) return DEFAULT_FACTORY_THINKING_LEVEL;\n try {\n const policy = await resolveFactoryModelPolicy(requestContext, deps);\n const factoryProjectId = policy\n ? (policy.factoryProjectId ?? sessionlessFactoryProjectId(controller))\n : await unsignedFactoryProjectId(controller, deps);\n const project = factoryProjectId ? await deps.projects.getById({ id: factoryProjectId }) : null;\n const factoryLevel = project?.defaultThinkingLevel ?? DEFAULT_FACTORY_THINKING_LEVEL;\n if (!policy) return factoryLevel;\n const personalDefaults = await routedPersonalDefaults(policy.tenant, deps.modelDefaults).catch(error => {\n console.warn('[factory] Could not read the personal thinking default; using the Factory level.', error);\n return null;\n });\n return personalDefaults?.thinkingLevel ?? factoryLevel;\n } catch (error) {\n // A missed lookup costs reasoning depth, not the run.\n console.warn('[factory] Could not read the thinking default; using medium.', error);\n return DEFAULT_FACTORY_THINKING_LEVEL;\n }\n}\n"],"mappings":";;;;AAUA,MAAM,qBAAqB,IAAI,OAAO,YAAY;AAMlD,SAAS,4BAA4B,YAA+D;CAClG,MAAM,kBAAkB,WAAW,WAAW,EAAA,EAAkD;CAChG,IAAI,OAAO,mBAAmB,YAAY,gBAAgB,OAAO;CAEjE,MAAM,EAAE,eAAe;CACvB,OAAO,cAAc,mBAAmB,KAAK,UAAU,IAAI,aAAa,KAAA;AAC1E;AAEA,eAAe,yBACb,YACA,MAC6B;CAE7B,QADsB,WAAW,YAAY,MAAM,KAAK,cAAc,eAAe,WAAW,SAAS,IAAI,KAAA,EACvF,oBAAoB,4BAA4B,UAAU;AAClF;;AAGA,eAAsB,4BACpB,gBACA,MAC+B;CAC/B,IAAI,CAAC,gBAAgB,OAAO;CAC5B,MAAM,aAAa,eAAe,IAAI,YAAY;CAClD,IAAI,CAAC,YAAY,OAAO;CACxB,IAAI;EACF,MAAM,SAAS,MAAM,0BAA0B,gBAAgB,IAAI;EACnE,MAAM,mBAAmB,SACpB,OAAO,oBAAoB,4BAA4B,UAAU,IAClE,MAAM,yBAAyB,YAAY,IAAI;EAEnD,MAAM,gBADU,mBAAmB,MAAM,KAAK,SAAS,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,KAAA,EAC7D,wBAAA;EAC9B,IAAI,CAAC,QAAQ,OAAO;EAKpB,QAAO,MAJwB,uBAAuB,OAAO,QAAQ,KAAK,aAAa,CAAC,CAAC,OAAM,UAAS;GACtG,QAAQ,KAAK,oFAAoF,KAAK;GACtG,OAAO;EACT,CAAC,EAAA,EACwB,iBAAiB;CAC5C,SAAS,OAAO;EAEd,QAAQ,KAAK,gEAAgE,KAAK;EAClF,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"thinking-default.js","names":[],"sources":["../../src/session/thinking-default.ts"],"sourcesContent":["import type { ThinkingLevelSetting } from '@mastra/code-sdk/thinking';\nimport type { AgentControllerRequestContext } from '@mastra/core/agent-controller';\nimport type { RequestContext } from '@mastra/core/request-context';\n\nimport { DEFAULT_THINKING_LEVEL } from '../default-thinking-level.js';\nimport { UUID_PATTERN } from '../routes/contracts.js';\nimport type { ModelDefaultsStorage } from '../storage/domains/model-defaults/base.js';\nimport { resolveFactoryModelPolicy, routedPersonalDefaults } from './credential-policy.js';\nimport type { FactoryModelPolicyDependencies } from './credential-policy.js';\n\nconst FACTORY_PROJECT_ID = new RegExp(UUID_PATTERN);\n\ninterface FactoryThinkingDefaultDependencies extends FactoryModelPolicyDependencies {\n modelDefaults: Pick<ModelDefaultsStorage, 'ensureReady' | 'get'>;\n}\n\nfunction sessionlessFactoryProjectId(controller: AgentControllerRequestContext): string | undefined {\n const stateProjectId = (controller.getState?.() as { factoryProjectId?: unknown } | undefined)?.factoryProjectId;\n if (typeof stateProjectId === 'string' && stateProjectId) return stateProjectId;\n // Session-less Factory pages address the Factory itself: the resourceId is the project id.\n const { resourceId } = controller;\n return resourceId && FACTORY_PROJECT_ID.test(resourceId) ? resourceId : undefined;\n}\n\nasync function unsignedFactoryProjectId(\n controller: AgentControllerRequestContext,\n deps: FactoryThinkingDefaultDependencies,\n): Promise<string | undefined> {\n const sourceSession = controller.sessionId ? await deps.sourceControl.getBySessionId(controller.sessionId) : null;\n return sourceSession?.factoryProjectId ?? sessionlessFactoryProjectId(controller);\n}\n\n/** A session's unpicked thinking level: the level of the defaults set it routes to; unsigned requests get the Factory's. */\nexport async function resolveFactoryThinkingLevel(\n requestContext: RequestContext | undefined,\n deps: FactoryThinkingDefaultDependencies,\n): Promise<ThinkingLevelSetting> {\n if (!requestContext) return DEFAULT_THINKING_LEVEL;\n const controller = requestContext.get('controller') as AgentControllerRequestContext | undefined;\n if (!controller) return DEFAULT_THINKING_LEVEL;\n try {\n const policy = await resolveFactoryModelPolicy(requestContext, deps);\n if (policy && policy.tenant.credentialScope !== 'factory') {\n const personalDefaults = await routedPersonalDefaults(policy.tenant, deps.modelDefaults).catch(error => {\n console.warn('[factory] Could not read the personal thinking default; using medium.', error);\n return null;\n });\n return personalDefaults?.thinkingLevel ?? DEFAULT_THINKING_LEVEL;\n }\n const factoryProjectId = policy\n ? (policy.factoryProjectId ?? sessionlessFactoryProjectId(controller))\n : await unsignedFactoryProjectId(controller, deps);\n const project = factoryProjectId ? await deps.projects.getById({ id: factoryProjectId }) : null;\n return project?.defaultThinkingLevel ?? DEFAULT_THINKING_LEVEL;\n } catch (error) {\n // A missed lookup costs reasoning depth, not the run.\n console.warn('[factory] Could not read the thinking default; using medium.', error);\n return DEFAULT_THINKING_LEVEL;\n }\n}\n"],"mappings":";;;;AAUA,MAAM,qBAAqB,IAAI,OAAO,YAAY;AAMlD,SAAS,4BAA4B,YAA+D;CAClG,MAAM,kBAAkB,WAAW,WAAW,EAAA,EAAkD;CAChG,IAAI,OAAO,mBAAmB,YAAY,gBAAgB,OAAO;CAEjE,MAAM,EAAE,eAAe;CACvB,OAAO,cAAc,mBAAmB,KAAK,UAAU,IAAI,aAAa,KAAA;AAC1E;AAEA,eAAe,yBACb,YACA,MAC6B;CAE7B,QADsB,WAAW,YAAY,MAAM,KAAK,cAAc,eAAe,WAAW,SAAS,IAAI,KAAA,EACvF,oBAAoB,4BAA4B,UAAU;AAClF;;AAGA,eAAsB,4BACpB,gBACA,MAC+B;CAC/B,IAAI,CAAC,gBAAgB,OAAO;CAC5B,MAAM,aAAa,eAAe,IAAI,YAAY;CAClD,IAAI,CAAC,YAAY,OAAO;CACxB,IAAI;EACF,MAAM,SAAS,MAAM,0BAA0B,gBAAgB,IAAI;EACnE,IAAI,UAAU,OAAO,OAAO,oBAAoB,WAK9C,QAAO,MAJwB,uBAAuB,OAAO,QAAQ,KAAK,aAAa,CAAC,CAAC,OAAM,UAAS;GACtG,QAAQ,KAAK,yEAAyE,KAAK;GAC3F,OAAO;EACT,CAAC,EAAA,EACwB,iBAAA;EAE3B,MAAM,mBAAmB,SACpB,OAAO,oBAAoB,4BAA4B,UAAU,IAClE,MAAM,yBAAyB,YAAY,IAAI;EAEnD,QADgB,mBAAmB,MAAM,KAAK,SAAS,QAAQ,EAAE,IAAI,iBAAiB,CAAC,IAAI,KAAA,EAC3E,wBAAA;CAClB,SAAS,OAAO;EAEd,QAAQ,KAAK,gEAAgE,KAAK;EAClF,OAAO;CACT;AACF"}
@@ -1,4 +1,4 @@
1
- //#region src/session/thread-session-stamp.ts
1
+ // src/session/thread-session-stamp.ts
2
2
  /**
3
3
  * Stamp each thread a session creates with `factorySessionId`. Sessions share
4
4
  * their Factory's or user's resource, so the stamp is what ties a new thread
@@ -14,7 +14,6 @@ function observeSessionThreadStamp(session) {
14
14
  }).catch((error) => console.warn("[Factory thread stamp] Unable to tie the new thread to its session.", error));
15
15
  });
16
16
  }
17
- //#endregion
18
17
  export { observeSessionThreadStamp };
19
18
 
20
19
  //# sourceMappingURL=thread-session-stamp.js.map
@@ -1,5 +1,5 @@
1
1
  import { normalizeSessionTitle } from "./session-title.js";
2
- //#region src/session/thread-title-mirror.ts
2
+ // src/session/thread-title-mirror.ts
3
3
  /**
4
4
  * Project the bound thread's title onto its source-control session row, from
5
5
  * whichever namer produced it — core on the first turn, the observational-memory
@@ -45,7 +45,6 @@ function observeSessionThreadTitle(session, { sourceControl }) {
45
45
  }
46
46
  });
47
47
  }
48
- //#endregion
49
48
  export { observeSessionThreadTitle };
50
49
 
51
50
  //# sourceMappingURL=thread-title-mirror.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread-title-mirror.js","names":[],"sources":["../../src/session/thread-title-mirror.ts"],"sourcesContent":["import type { AgentControllerEvent, AgentControllerThread } from '@mastra/core/agent-controller';\n\nimport type { SourceControlStorageHandle } from '../storage/domains/source-control/base.js';\nimport { normalizeSessionTitle } from './session-title.js';\n\nexport interface ThreadTitleMirrorSession {\n readonly identity: { getId(): string };\n readonly thread: { getById(args: { threadId: string }): Promise<AgentControllerThread | null> };\n subscribe(listener: (event: AgentControllerEvent) => void): () => void;\n}\n\nexport interface ThreadTitleMirrorDependencies {\n sourceControl: {\n sessions: Pick<SourceControlStorageHandle['sessions'], 'getBySessionId' | 'rename'>;\n };\n}\n\n/**\n * Project the bound thread's title onto its source-control session row, from\n * whichever namer produced it — core on the first turn, the observational-memory\n * observer as the thread grows, or an explicit rename.\n *\n * The factory sidebar reads the session row, which otherwise keeps the raw first\n * prompt (chat sessions) or nothing at all (work sessions, which then show their\n * branch). Binding a thread reconciles the row against the stored title, so a\n * session started before this ran — or one whose rename event was missed — is\n * named the next time it is opened.\n *\n * A session names threads it is no longer showing, and each write reads the row\n * before replacing it. Titles for any other thread are therefore dropped, and\n * writes run one at a time so the last event wins rather than the fastest.\n */\nexport function observeSessionThreadTitle(\n session: ThreadTitleMirrorSession,\n { sourceControl }: ThreadTitleMirrorDependencies,\n): () => void {\n const sessionId = session.identity.getId();\n let boundThreadId: string | undefined;\n let writes: Promise<void> = Promise.resolve();\n\n const project = (threadId: string, rawTitle: string | undefined): void => {\n // A thread can be named before anything binds one, so the first thread to\n // surface a title speaks for the row until `thread_changed` rebinds it.\n boundThreadId ??= threadId;\n if (threadId !== boundThreadId) return;\n const title = rawTitle ? normalizeSessionTitle(rawTitle) : null;\n if (!title) return;\n\n writes = writes\n .then(async () => {\n if (threadId !== boundThreadId) return;\n const row = await sourceControl.sessions.getBySessionId(sessionId);\n if (!row || row.title === title) return;\n await sourceControl.sessions.rename({ sessionId, title });\n })\n .catch(error => console.warn('[Factory thread-title mirror] Unable to persist the session title.', error));\n };\n\n return session.subscribe(event => {\n switch (event.type) {\n case 'thread_title_updated':\n return project(event.threadId, event.title);\n case 'om_thread_title_updated':\n return project(event.threadId, event.newTitle);\n case 'thread_changed': {\n boundThreadId = event.threadId;\n void session.thread\n .getById({ threadId: event.threadId })\n .then(thread => project(event.threadId, thread?.title))\n .catch(error => console.warn('[Factory thread-title mirror] Unable to read the bound thread.', error));\n return;\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,SAAgB,0BACd,SACA,EAAE,iBACU;CACZ,MAAM,YAAY,QAAQ,SAAS,MAAM;CACzC,IAAI;CACJ,IAAI,SAAwB,QAAQ,QAAQ;CAE5C,MAAM,WAAW,UAAkB,aAAuC;EAGxE,kBAAkB;EAClB,IAAI,aAAa,eAAe;EAChC,MAAM,QAAQ,WAAW,sBAAsB,QAAQ,IAAI;EAC3D,IAAI,CAAC,OAAO;EAEZ,SAAS,OACN,KAAK,YAAY;GAChB,IAAI,aAAa,eAAe;GAChC,MAAM,MAAM,MAAM,cAAc,SAAS,eAAe,SAAS;GACjE,IAAI,CAAC,OAAO,IAAI,UAAU,OAAO;GACjC,MAAM,cAAc,SAAS,OAAO;IAAE;IAAW;GAAM,CAAC;EAC1D,CAAC,CAAC,CACD,OAAM,UAAS,QAAQ,KAAK,sEAAsE,KAAK,CAAC;CAC7G;CAEA,OAAO,QAAQ,WAAU,UAAS;EAChC,QAAQ,MAAM,MAAd;GACE,KAAK,wBACH,OAAO,QAAQ,MAAM,UAAU,MAAM,KAAK;GAC5C,KAAK,2BACH,OAAO,QAAQ,MAAM,UAAU,MAAM,QAAQ;GAC/C,KAAK;IACH,gBAAgB,MAAM;IACtB,QAAa,OACV,QAAQ,EAAE,UAAU,MAAM,SAAS,CAAC,CAAC,CACrC,MAAK,WAAU,QAAQ,MAAM,UAAU,QAAQ,KAAK,CAAC,CAAC,CACtD,OAAM,UAAS,QAAQ,KAAK,kEAAkE,KAAK,CAAC;IACvG;EAEJ;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"thread-title-mirror.js","names":[],"sources":["../../src/session/thread-title-mirror.ts"],"sourcesContent":["import type { AgentControllerEvent, AgentControllerThread } from '@mastra/core/agent-controller';\n\nimport type { SourceControlStorageHandle } from '../storage/domains/source-control/base.js';\nimport { normalizeSessionTitle } from './session-title.js';\n\nexport interface ThreadTitleMirrorSession {\n readonly identity: { getId(): string };\n readonly thread: { getById(args: { threadId: string }): Promise<AgentControllerThread | null> };\n subscribe(listener: (event: AgentControllerEvent) => void): () => void;\n}\n\nexport interface ThreadTitleMirrorDependencies {\n sourceControl: {\n sessions: Pick<SourceControlStorageHandle['sessions'], 'getBySessionId' | 'rename'>;\n };\n}\n\n/**\n * Project the bound thread's title onto its source-control session row, from\n * whichever namer produced it — core on the first turn, the observational-memory\n * observer as the thread grows, or an explicit rename.\n *\n * The factory sidebar reads the session row, which otherwise keeps the raw first\n * prompt (chat sessions) or nothing at all (work sessions, which then show their\n * branch). Binding a thread reconciles the row against the stored title, so a\n * session started before this ran — or one whose rename event was missed — is\n * named the next time it is opened.\n *\n * A session names threads it is no longer showing, and each write reads the row\n * before replacing it. Titles for any other thread are therefore dropped, and\n * writes run one at a time so the last event wins rather than the fastest.\n */\nexport function observeSessionThreadTitle(\n session: ThreadTitleMirrorSession,\n { sourceControl }: ThreadTitleMirrorDependencies,\n): () => void {\n const sessionId = session.identity.getId();\n let boundThreadId: string | undefined;\n let writes: Promise<void> = Promise.resolve();\n\n const project = (threadId: string, rawTitle: string | undefined): void => {\n // A thread can be named before anything binds one, so the first thread to\n // surface a title speaks for the row until `thread_changed` rebinds it.\n boundThreadId ??= threadId;\n if (threadId !== boundThreadId) return;\n const title = rawTitle ? normalizeSessionTitle(rawTitle) : null;\n if (!title) return;\n\n writes = writes\n .then(async () => {\n if (threadId !== boundThreadId) return;\n const row = await sourceControl.sessions.getBySessionId(sessionId);\n if (!row || row.title === title) return;\n await sourceControl.sessions.rename({ sessionId, title });\n })\n .catch(error => console.warn('[Factory thread-title mirror] Unable to persist the session title.', error));\n };\n\n return session.subscribe(event => {\n switch (event.type) {\n case 'thread_title_updated':\n return project(event.threadId, event.title);\n case 'om_thread_title_updated':\n return project(event.threadId, event.newTitle);\n case 'thread_changed': {\n boundThreadId = event.threadId;\n void session.thread\n .getById({ threadId: event.threadId })\n .then(thread => project(event.threadId, thread?.title))\n .catch(error => console.warn('[Factory thread-title mirror] Unable to read the bound thread.', error));\n return undefined;\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAgCA,SAAgB,0BACd,SACA,EAAE,iBACU;CACZ,MAAM,YAAY,QAAQ,SAAS,MAAM;CACzC,IAAI;CACJ,IAAI,SAAwB,QAAQ,QAAQ;CAE5C,MAAM,WAAW,UAAkB,aAAuC;EAGxE,kBAAkB;EAClB,IAAI,aAAa,eAAe;EAChC,MAAM,QAAQ,WAAW,sBAAsB,QAAQ,IAAI;EAC3D,IAAI,CAAC,OAAO;EAEZ,SAAS,OACN,KAAK,YAAY;GAChB,IAAI,aAAa,eAAe;GAChC,MAAM,MAAM,MAAM,cAAc,SAAS,eAAe,SAAS;GACjE,IAAI,CAAC,OAAO,IAAI,UAAU,OAAO;GACjC,MAAM,cAAc,SAAS,OAAO;IAAE;IAAW;GAAM,CAAC;EAC1D,CAAC,CAAC,CACD,OAAM,UAAS,QAAQ,KAAK,sEAAsE,KAAK,CAAC;CAC7G;CAEA,OAAO,QAAQ,WAAU,UAAS;EAChC,QAAQ,MAAM,MAAd;GACE,KAAK,wBACH,OAAO,QAAQ,MAAM,UAAU,MAAM,KAAK;GAC5C,KAAK,2BACH,OAAO,QAAQ,MAAM,UAAU,MAAM,QAAQ;GAC/C,KAAK;IACH,gBAAgB,MAAM;IACtB,QAAa,OACV,QAAQ,EAAE,UAAU,MAAM,SAAS,CAAC,CAAC,CACrC,MAAK,WAAU,QAAQ,MAAM,UAAU,QAAQ,KAAK,CAAC,CAAC,CACtD,OAAM,UAAS,QAAQ,KAAK,kEAAkE,KAAK,CAAC;IACvG;EAEJ;CACF,CAAC;AACH"}
@@ -1,5 +1,5 @@
1
1
  import { SourceControlConnectionNotFoundError } from "../storage/domains/source-control/base.js";
2
- //#region src/session/work-item-repository.ts
2
+ // src/session/work-item-repository.ts
3
3
  async function listLinkedRepositories(args) {
4
4
  const { sourceControl, orgId, factoryProjectId } = args;
5
5
  const connections = await sourceControl.connections.list({
@@ -107,7 +107,6 @@ async function resolveWorkItemRepository(args) {
107
107
  candidates
108
108
  };
109
109
  }
110
- //#endregion
111
110
  export { resolveWorkItemRepository };
112
111
 
113
112
  //# sourceMappingURL=work-item-repository.js.map
@@ -1,6 +1,5 @@
1
- //#region src/session-owner-signal.ts
1
+ // src/session-owner-signal.ts
2
2
  const SESSION_OWNER_SIGNAL_TAG = "factory-session-owner";
3
- //#endregion
4
3
  export { SESSION_OWNER_SIGNAL_TAG };
5
4
 
6
5
  //# sourceMappingURL=session-owner-signal.js.map
@@ -2,7 +2,7 @@ import { BUNDLED_FACTORY_SKILLS_PATH, FACTORY_SKILL_NAMES, resolveLocalFactorySk
2
2
  import { join } from "path";
3
3
  import { readFile } from "fs/promises";
4
4
  import { validateSkillContent } from "@mastra/core/skills";
5
- //#region src/skills/catalog.ts
5
+ // src/skills/catalog.ts
6
6
  /**
7
7
  * Read-only catalog of the Factory skills.
8
8
  *
@@ -56,7 +56,6 @@ async function listFactorySkills() {
56
56
  }
57
57
  return skills;
58
58
  }
59
- //#endregion
60
59
  export { listFactorySkills };
61
60
 
62
61
  //# sourceMappingURL=catalog.js.map
@@ -1,6 +1,6 @@
1
1
  import { REVIEW_ONLY_FACTORY_SKILLS, rescanFactorySkills } from "../workspace.js";
2
2
  import { formatSkillActivation } from "@mastra/core/workspace";
3
- //#region src/skills/service.ts
3
+ // src/skills/service.ts
4
4
  var SkillInvocationError = class extends Error {
5
5
  code;
6
6
  constructor(code, message) {
@@ -72,7 +72,6 @@ async function resolveSkillResumeInvocation(controller, input) {
72
72
  contents
73
73
  };
74
74
  }
75
- //#endregion
76
75
  export { SkillInvocationError, formatSkillMessage, resolvePromptInvocation, resolveSkillInvocation, resolveSkillResumeInvocation };
77
76
 
78
77
  //# sourceMappingURL=service.js.map
@@ -2,7 +2,7 @@ import { existsSync } from "fs";
2
2
  import { dirname, extname, join, normalize, resolve, sep } from "path";
3
3
  import { fileURLToPath } from "url";
4
4
  import { readFile, stat } from "fs/promises";
5
- //#region src/spa-static.ts
5
+ // src/spa-static.ts
6
6
  /**
7
7
  * Same-origin SPA serving for production.
8
8
  *
@@ -98,7 +98,6 @@ function createSpaStaticMiddleware(uiDist) {
98
98
  return next();
99
99
  };
100
100
  }
101
- //#endregion
102
101
  export { createSpaStaticMiddleware, resolveUiDistDir };
103
102
 
104
103
  //# sourceMappingURL=spa-static.js.map
@@ -1,5 +1,5 @@
1
1
  import { createHmac, timingSafeEqual } from "crypto";
2
- //#region src/state-signing.ts
2
+ // src/state-signing.ts
3
3
  /**
4
4
  * Shared OAuth/install `state` signing for web integrations.
5
5
  *
@@ -77,7 +77,6 @@ function createStateSigner(secret) {
77
77
  }
78
78
  };
79
79
  }
80
- //#endregion
81
80
  export { createStateSigner };
82
81
 
83
82
  //# sourceMappingURL=state-signing.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/audit/actions.ts
1
+ // src/storage/domains/audit/actions.ts
2
2
  /**
3
3
  * Every action the trail can hold, by namespace. Register new ones in the
4
4
  * WorkOS dashboard under Audit Logs → Events before the mirror accepts them.
@@ -64,7 +64,6 @@ function isAuditAction(value) {
64
64
  function auditActionsInNamespaces(namespaces) {
65
65
  return namespaces.flatMap((namespace) => AUDIT_ACTIONS[namespace].map((leaf) => `factory.${namespace}.${leaf}`));
66
66
  }
67
- //#endregion
68
67
  export { AUDIT_ACTIONS, auditActionsInNamespaces, auditNamespaces, isAuditAction, isAuditNamespace, parseAuditAction };
69
68
 
70
69
  //# sourceMappingURL=actions.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/audit/actors.ts
1
+ // src/storage/domains/audit/actors.ts
2
2
  const AUDIT_ACTOR_TYPES = [
3
3
  "human",
4
4
  "agent",
@@ -19,7 +19,6 @@ function isHumanActorId(actorId) {
19
19
  if (!actorId) return false;
20
20
  return !AUTOMATION_ACTORS.has(actorId) && !actorId.startsWith("agent:") && !actorId.startsWith("github:");
21
21
  }
22
- //#endregion
23
22
  export { AUDIT_ACTOR_TYPES, isAuditActorType, isHumanActorId };
24
23
 
25
24
  //# sourceMappingURL=actors.js.map
@@ -1,5 +1,5 @@
1
1
  import { executableCommand, runsPullRequestCreate } from "../../../session/shell-commands.js";
2
- //#region src/storage/domains/audit/agent-audit.ts
2
+ // src/storage/domains/audit/agent-audit.ts
3
3
  /** Match command-start positions while ignoring command text embedded in heredoc bodies. */
4
4
  const GIT_COMMIT_RE = /(?:^|\n|;|&&|\|\|)\s*git\s+commit(?:\s|$)/;
5
5
  const GIT_PUSH_RE = /(?:^|\n|;|&&|\|\|)\s*git\s+push(?:\s|$)/;
@@ -87,7 +87,6 @@ async function observeAgentGitAction({ audit, toolContext, resolveRepositorySlug
87
87
  console.warn("[Audit] Failed to observe agent git action", { error: err instanceof Error ? err.message : String(err) });
88
88
  }
89
89
  }
90
- //#endregion
91
90
  export { observeAgentGitAction };
92
91
 
93
92
  //# sourceMappingURL=agent-audit.js.map
@@ -1,5 +1,5 @@
1
1
  import { FactoryStorageDomain, UniqueViolationError } from "@mastra/core/storage";
2
- //#region src/storage/domains/audit/base.ts
2
+ // src/storage/domains/audit/base.ts
3
3
  /**
4
4
  * Factory audit events domain — the append-only "who did what, when" trail
5
5
  * behind the software factory.
@@ -218,7 +218,6 @@ var AuditStorage = class extends FactoryStorageDomain {
218
218
  };
219
219
  }
220
220
  };
221
- //#endregion
222
221
  export { ACTOR_PROFILE_METADATA_KEY, AUDIT_EVENTS_SCHEMA, AuditStorage, auditActorProfile, auditCursorAt, boundAuditMetadata, clampAuditLimit, decodeAuditAfterCursor, decodeAuditCursor, encodeAuditCursor };
223
222
 
224
223
  //# sourceMappingURL=base.js.map
@@ -4,7 +4,7 @@ import { auditActionsInNamespaces, isAuditNamespace } from "./actions.js";
4
4
  import { isHumanActorId } from "./actors.js";
5
5
  import { toWireAuditEvent } from "./wire.js";
6
6
  import { registerApiRoute } from "@mastra/core/server";
7
- //#region src/storage/domains/audit/domain.ts
7
+ // src/storage/domains/audit/domain.ts
8
8
  function readStoredActorProfile(metadata) {
9
9
  if (!metadata) return void 0;
10
10
  const raw = metadata[ACTOR_PROFILE_METADATA_KEY];
@@ -242,7 +242,6 @@ var AuditDomain = class {
242
242
  };
243
243
  }
244
244
  };
245
- //#endregion
246
245
  export { AuditDomain, auditRequestContext, auditRequestOrigin };
247
246
 
248
247
  //# sourceMappingURL=domain.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/audit/wire.ts
1
+ // src/storage/domains/audit/wire.ts
2
2
  function toWireAuditEvent(row) {
3
3
  return {
4
4
  id: row.id,
@@ -10,7 +10,6 @@ function toWireAuditEvent(row) {
10
10
  occurredAt: row.occurredAt.toISOString()
11
11
  };
12
12
  }
13
- //#endregion
14
13
  export { toWireAuditEvent };
15
14
 
16
15
  //# sourceMappingURL=wire.js.map
@@ -1,5 +1,5 @@
1
1
  import { FactoryStorageDomain } from "@mastra/core/storage";
2
- //#region src/storage/domains/channel-identity/base.ts
2
+ // src/storage/domains/channel-identity/base.ts
3
3
  const CHANNEL_ACCOUNT_LINKS_SCHEMA = {
4
4
  name: "channel_account_links",
5
5
  columns: {
@@ -158,7 +158,6 @@ var ChannelIdentityStorage = class extends FactoryStorageDomain {
158
158
  }) > 0;
159
159
  }
160
160
  };
161
- //#endregion
162
161
  export { CHANNEL_ACCOUNT_LINKS_SCHEMA, ChannelIdentityStorage };
163
162
 
164
163
  //# sourceMappingURL=base.js.map
@@ -1,6 +1,6 @@
1
1
  import { isMentionableActorId } from "./actor.js";
2
2
  import { UniqueViolationError } from "@mastra/core/storage";
3
- //#region src/storage/domains/comments/activity.ts
3
+ // src/storage/domains/comments/activity.ts
4
4
  /** The actor rule-materialized work items are created by; a phantom, never a participant. */
5
5
  const RULE_DISPATCHER_ACTOR_ID = "factory-rule-dispatcher";
6
6
  /** Ceiling: an author silent for this many comments stops receiving; a real participants table is the upgrade. */
@@ -88,7 +88,6 @@ async function listActivityForUser(ops, { orgId, factoryProjectId, userId, befor
88
88
  ...before ? { cursor: { values: [before.occurredAt, before.id] } } : {}
89
89
  })).map(toWorkItemActivity);
90
90
  }
91
- //#endregion
92
91
  export { PARTICIPANT_SCAN_LIMIT, fanOutWorkItemActivity, listActivityForUser };
93
92
 
94
93
  //# sourceMappingURL=activity.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/comments/actor.ts
1
+ // src/storage/domains/comments/actor.ts
2
2
  function isMentionableActorId(id) {
3
3
  return id.length > 0 && !id.includes(":");
4
4
  }
@@ -32,7 +32,6 @@ function actorFromChannelAuthor(external, link) {
32
32
  external
33
33
  };
34
34
  }
35
- //#endregion
36
35
  export { actorFromAgentBinding, actorFromAuthUser, actorFromChannelAuthor, isMentionableActorId };
37
36
 
38
37
  //# sourceMappingURL=actor.js.map
@@ -3,7 +3,7 @@ import { FACTORY_BOARD_VERSIONS_SCHEMA, bumpBoardVersions, trackBoardWrites } fr
3
3
  import { externalSourceKey } from "../work-items/base.js";
4
4
  import { fanOutWorkItemActivity, listActivityForUser } from "./activity.js";
5
5
  import { FactoryStorageDomain, UniqueViolationError } from "@mastra/core/storage";
6
- //#region src/storage/domains/comments/base.ts
6
+ // src/storage/domains/comments/base.ts
7
7
  /**
8
8
  * Work-item comments domain — one message list per work item, materialized
9
9
  * from every source. Local creates and platform mirrors (Slack, Linear,
@@ -527,7 +527,6 @@ var WorkItemCommentsStorage = class extends FactoryStorageDomain {
527
527
  }
528
528
  }
529
529
  };
530
- //#endregion
531
530
  export { CommentTokenConflictError, MAX_COMMENT_BODY_LENGTH, MAX_COMMENT_MENTIONS, MAX_COMMENT_QUOTE_LENGTH, WORK_ITEM_ACTIVITY_SCHEMA, WORK_ITEM_COMMENTS_SCHEMA, WORK_ITEM_COMMENT_MENTIONS_SCHEMA, WorkItemCommentsStorage, clampCommentLimit, commentBodyError, commentSourceKey, decodeCommentCursor, encodeCommentCursor, supersedesFeedActivity };
532
531
 
533
532
  //# sourceMappingURL=base.js.map
@@ -4,7 +4,7 @@ import { factoryMentionAttentionIdentity } from "../work-items/base.js";
4
4
  import { CommentTokenConflictError, commentBodyError } from "./base.js";
5
5
  import { toWireComment } from "./wire.js";
6
6
  import { buildCommentRoutes } from "./routes.js";
7
- //#region src/storage/domains/comments/domain.ts
7
+ // src/storage/domains/comments/domain.ts
8
8
  const MAX_ROSTER_SIZE = 100;
9
9
  const ROSTER_CACHE_TTL_MS = 6e4;
10
10
  var CommentsDomain = class {
@@ -279,7 +279,6 @@ var CommentsDomain = class {
279
279
  });
280
280
  }
281
281
  };
282
- //#endregion
283
282
  export { CommentsDomain, toWireComment };
284
283
 
285
284
  //# sourceMappingURL=domain.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/comments/feed-context.ts
1
+ // src/storage/domains/comments/feed-context.ts
2
2
  /** The one block that may trail a skill envelope in a kickoff; both transcript renderers allow only it. */
3
3
  const WORK_ITEM_FEED_TAG = "work-item-feed";
4
4
  const MAX_FEED_COMMENTS = 20;
@@ -83,7 +83,6 @@ async function withWorkItemFeed(reader, scope, message) {
83
83
  workItemId
84
84
  }));
85
85
  }
86
- //#endregion
87
86
  export { FactoryFeedReader, WORK_ITEM_FEED_TAG, withFeedContext, withWorkItemFeed };
88
87
 
89
88
  //# sourceMappingURL=feed-context.js.map
@@ -1,6 +1,6 @@
1
1
  import { isMentionableActorId } from "./actor.js";
2
2
  import { commentBodyError } from "./base.js";
3
- //#region src/storage/domains/comments/parse.ts
3
+ // src/storage/domains/comments/parse.ts
4
4
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
5
5
  const CLIENT_TOKEN_RE = /^[A-Za-z0-9-]{8,64}$/;
6
6
  function isRecord(value) {
@@ -84,7 +84,6 @@ function parseEditCommentBody(raw) {
84
84
  ...expectedRevision !== void 0 ? { expectedRevision } : {}
85
85
  };
86
86
  }
87
- //#endregion
88
87
  export { UUID_RE, isRecord, parseCreateCommentBody, parseEditCommentBody, readJson };
89
88
 
90
89
  //# sourceMappingURL=parse.js.map
@@ -7,7 +7,7 @@ import { toWireComment } from "./wire.js";
7
7
  import { registerApiRoute } from "@mastra/core/server";
8
8
  import { withAck } from "@mastra/core/events";
9
9
  import { streamSSE } from "hono/streaming";
10
- //#region src/storage/domains/comments/routes.ts
10
+ // src/storage/domains/comments/routes.ts
11
11
  /**
12
12
  * HTTP for the item feed. Every handler is the same shape: resolve the tenant,
13
13
  * validate the path ids, delegate to a `CommentsDomain` service method, map its
@@ -296,7 +296,6 @@ function buildCommentRoutes(dependencies) {
296
296
  })
297
297
  ];
298
298
  }
299
- //#endregion
300
299
  export { buildCommentRoutes };
301
300
 
302
301
  //# sourceMappingURL=routes.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/comments/schema.ts
1
+ // src/storage/domains/comments/schema.ts
2
2
  const WORK_ITEM_COMMENTS_SCHEMA = {
3
3
  name: "work_item_comments",
4
4
  columns: {
@@ -173,7 +173,6 @@ const WORK_ITEM_ACTIVITY_SCHEMA = {
173
173
  ]
174
174
  }]
175
175
  };
176
- //#endregion
177
176
  export { WORK_ITEM_ACTIVITY_SCHEMA, WORK_ITEM_COMMENTS_SCHEMA, WORK_ITEM_COMMENT_MENTIONS_SCHEMA };
178
177
 
179
178
  //# sourceMappingURL=schema.js.map
@@ -1,4 +1,4 @@
1
- //#region src/storage/domains/comments/wire.ts
1
+ // src/storage/domains/comments/wire.ts
2
2
  const LOCAL_SOURCE_KEY_PREFIX = "local:comment:";
3
3
  function toWireAuthor({ kind, id, displayName, avatarUrl }) {
4
4
  return {
@@ -31,7 +31,6 @@ function toWireComment(comment, viewerId) {
31
31
  ...comment.deletedAt ? { deletedAt: comment.deletedAt.toISOString() } : {}
32
32
  };
33
33
  }
34
- //#endregion
35
34
  export { toWireComment };
36
35
 
37
36
  //# sourceMappingURL=wire.js.map
@@ -39,6 +39,8 @@ export interface CredentialRecord {
39
39
  scope: CredentialScope;
40
40
  credential: AuthCredential;
41
41
  updatedAt: Date;
42
+ /** When the last OAuth token refresh failed; cleared by the next successful refresh or a new sign-in. */
43
+ refreshFailedAt?: Date;
42
44
  }
43
45
  /** Result of per-caller resolution: the winning credential and its scope. */
44
46
  export interface ResolvedCredential {
@@ -109,7 +111,8 @@ export declare class ModelCredentialsStorage extends FactoryStorageDomain {
109
111
  * rotating refresh tokens. The expiry is re-checked under the lock —
110
112
  * another replica may have refreshed already, in which case `refreshFn` is
111
113
  * skipped and the fresh credential is returned. Returns `undefined` when no
112
- * OAuth row exists for the tenant.
114
+ * OAuth row exists for the tenant. A failed `refreshFn` is recorded on the
115
+ * row (surfaced as `CredentialRecord.refreshFailedAt`) and rethrown.
113
116
  */
114
117
  refreshOAuth(tenant: CredentialTenant, provider: string, refreshFn: (current: OAuthCredential) => Promise<OAuthCredential>): Promise<OAuthCredential | undefined>;
115
118
  /** Persist a pending login flow started by a web route. */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/credentials/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/credentials/base.ts"],"names":[],"mappings":"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"}