@mastra/code-sdk 0.0.0-aggregate-trace-20261015182851

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 (749) hide show
  1. package/LICENSE.md +32 -0
  2. package/README.md +284 -0
  3. package/dist/acp/agent.d.ts +48 -0
  4. package/dist/acp/agent.d.ts.map +1 -0
  5. package/dist/acp/agent.js +416 -0
  6. package/dist/acp/agent.js.map +1 -0
  7. package/dist/acp/errors.d.ts +3 -0
  8. package/dist/acp/errors.d.ts.map +1 -0
  9. package/dist/acp/errors.js +14 -0
  10. package/dist/acp/errors.js.map +1 -0
  11. package/dist/acp/event-mapper.d.ts +28 -0
  12. package/dist/acp/event-mapper.d.ts.map +1 -0
  13. package/dist/acp/event-mapper.js +279 -0
  14. package/dist/acp/event-mapper.js.map +1 -0
  15. package/dist/acp/index.d.ts +9 -0
  16. package/dist/acp/index.d.ts.map +1 -0
  17. package/dist/acp/index.js +24 -0
  18. package/dist/acp/index.js.map +1 -0
  19. package/dist/acp/runtime.d.ts +5 -0
  20. package/dist/acp/runtime.d.ts.map +1 -0
  21. package/dist/acp/runtime.js +91 -0
  22. package/dist/acp/runtime.js.map +1 -0
  23. package/dist/acp/server.d.ts +4 -0
  24. package/dist/acp/server.d.ts.map +1 -0
  25. package/dist/acp/server.js +38 -0
  26. package/dist/acp/server.js.map +1 -0
  27. package/dist/acp/skills.d.ts +6 -0
  28. package/dist/acp/skills.d.ts.map +1 -0
  29. package/dist/acp/skills.js +33 -0
  30. package/dist/acp/skills.js.map +1 -0
  31. package/dist/acp.d.ts +2 -0
  32. package/dist/acp.d.ts.map +1 -0
  33. package/dist/acp.js +2 -0
  34. package/dist/agent-connections/messaging-processor.d.ts +17 -0
  35. package/dist/agent-connections/messaging-processor.d.ts.map +1 -0
  36. package/dist/agent-connections/messaging-processor.js +134 -0
  37. package/dist/agent-connections/messaging-processor.js.map +1 -0
  38. package/dist/agent-connections/ownership.d.ts +24 -0
  39. package/dist/agent-connections/ownership.d.ts.map +1 -0
  40. package/dist/agent-connections/ownership.js +99 -0
  41. package/dist/agent-connections/ownership.js.map +1 -0
  42. package/dist/agent-connections/registry.d.ts +20 -0
  43. package/dist/agent-connections/registry.d.ts.map +1 -0
  44. package/dist/agent-connections/registry.js +170 -0
  45. package/dist/agent-connections/registry.js.map +1 -0
  46. package/dist/agent-connections/session-advertisement.d.ts +27 -0
  47. package/dist/agent-connections/session-advertisement.d.ts.map +1 -0
  48. package/dist/agent-connections/session-advertisement.js +89 -0
  49. package/dist/agent-connections/session-advertisement.js.map +1 -0
  50. package/dist/agent-connections/signal-provider.d.ts +141 -0
  51. package/dist/agent-connections/signal-provider.d.ts.map +1 -0
  52. package/dist/agent-connections/signal-provider.js +38 -0
  53. package/dist/agent-connections/signal-provider.js.map +1 -0
  54. package/dist/agent-connections/state-processor.d.ts +23 -0
  55. package/dist/agent-connections/state-processor.d.ts.map +1 -0
  56. package/dist/agent-connections/state-processor.js +273 -0
  57. package/dist/agent-connections/state-processor.js.map +1 -0
  58. package/dist/agent-connections/thread-state.d.ts +41 -0
  59. package/dist/agent-connections/thread-state.d.ts.map +1 -0
  60. package/dist/agent-connections/thread-state.js +160 -0
  61. package/dist/agent-connections/thread-state.js.map +1 -0
  62. package/dist/agent-connections/tools.d.ts +133 -0
  63. package/dist/agent-connections/tools.d.ts.map +1 -0
  64. package/dist/agent-connections/tools.js +552 -0
  65. package/dist/agent-connections/tools.js.map +1 -0
  66. package/dist/agent-connections/types.d.ts +99 -0
  67. package/dist/agent-connections/types.d.ts.map +1 -0
  68. package/dist/agent-connections/types.js +7 -0
  69. package/dist/agent-connections/types.js.map +1 -0
  70. package/dist/agent-connections/untrusted-text.d.ts +5 -0
  71. package/dist/agent-connections/untrusted-text.d.ts.map +1 -0
  72. package/dist/agent-connections/untrusted-text.js +22 -0
  73. package/dist/agent-connections/untrusted-text.js.map +1 -0
  74. package/dist/agents/background-completion-events.d.ts +16 -0
  75. package/dist/agents/background-completion-events.d.ts.map +1 -0
  76. package/dist/agents/background-completion-events.js +19 -0
  77. package/dist/agents/background-completion-events.js.map +1 -0
  78. package/dist/agents/background-completion.d.ts +9 -0
  79. package/dist/agents/background-completion.d.ts.map +1 -0
  80. package/dist/agents/background-completion.js +59 -0
  81. package/dist/agents/background-completion.js.map +1 -0
  82. package/dist/agents/context-audit.d.ts +84 -0
  83. package/dist/agents/context-audit.d.ts.map +1 -0
  84. package/dist/agents/context-audit.js +118 -0
  85. package/dist/agents/context-audit.js.map +1 -0
  86. package/dist/agents/credential-resolver.d.ts +67 -0
  87. package/dist/agents/credential-resolver.d.ts.map +1 -0
  88. package/dist/agents/credential-resolver.js +136 -0
  89. package/dist/agents/credential-resolver.js.map +1 -0
  90. package/dist/agents/custom-provider-source.d.ts +35 -0
  91. package/dist/agents/custom-provider-source.d.ts.map +1 -0
  92. package/dist/agents/custom-provider-source.js +25 -0
  93. package/dist/agents/custom-provider-source.js.map +1 -0
  94. package/dist/agents/instructions.d.ts +40 -0
  95. package/dist/agents/instructions.d.ts.map +1 -0
  96. package/dist/agents/instructions.js +63 -0
  97. package/dist/agents/instructions.js.map +1 -0
  98. package/dist/agents/mastracode-gateway.d.ts +76 -0
  99. package/dist/agents/mastracode-gateway.d.ts.map +1 -0
  100. package/dist/agents/mastracode-gateway.js +434 -0
  101. package/dist/agents/mastracode-gateway.js.map +1 -0
  102. package/dist/agents/memory.d.ts +39 -0
  103. package/dist/agents/memory.d.ts.map +1 -0
  104. package/dist/agents/memory.js +266 -0
  105. package/dist/agents/memory.js.map +1 -0
  106. package/dist/agents/model.d.ts +123 -0
  107. package/dist/agents/model.d.ts.map +1 -0
  108. package/dist/agents/model.js +295 -0
  109. package/dist/agents/model.js.map +1 -0
  110. package/dist/agents/modes/build.d.ts +12 -0
  111. package/dist/agents/modes/build.d.ts.map +1 -0
  112. package/dist/agents/modes/build.js +36 -0
  113. package/dist/agents/modes/build.js.map +1 -0
  114. package/dist/agents/modes/explore.d.ts +10 -0
  115. package/dist/agents/modes/explore.d.ts.map +1 -0
  116. package/dist/agents/modes/explore.js +28 -0
  117. package/dist/agents/modes/explore.js.map +1 -0
  118. package/dist/agents/modes/plan.d.ts +8 -0
  119. package/dist/agents/modes/plan.d.ts.map +1 -0
  120. package/dist/agents/modes/plan.js +46 -0
  121. package/dist/agents/modes/plan.js.map +1 -0
  122. package/dist/agents/prompts/agent-instructions.d.ts +99 -0
  123. package/dist/agents/prompts/agent-instructions.d.ts.map +1 -0
  124. package/dist/agents/prompts/agent-instructions.js +275 -0
  125. package/dist/agents/prompts/agent-instructions.js.map +1 -0
  126. package/dist/agents/prompts/build.d.ts +12 -0
  127. package/dist/agents/prompts/build.d.ts.map +1 -0
  128. package/dist/agents/prompts/build.js +76 -0
  129. package/dist/agents/prompts/build.js.map +1 -0
  130. package/dist/agents/prompts/fast.d.ts +5 -0
  131. package/dist/agents/prompts/fast.d.ts.map +1 -0
  132. package/dist/agents/prompts/fast.js +26 -0
  133. package/dist/agents/prompts/fast.js.map +1 -0
  134. package/dist/agents/prompts/index.d.ts +54 -0
  135. package/dist/agents/prompts/index.d.ts.map +1 -0
  136. package/dist/agents/prompts/index.js +127 -0
  137. package/dist/agents/prompts/index.js.map +1 -0
  138. package/dist/agents/prompts/model.d.ts +5 -0
  139. package/dist/agents/prompts/model.d.ts.map +1 -0
  140. package/dist/agents/prompts/model.js +23 -0
  141. package/dist/agents/prompts/model.js.map +1 -0
  142. package/dist/agents/prompts/plan.d.ts +8 -0
  143. package/dist/agents/prompts/plan.d.ts.map +1 -0
  144. package/dist/agents/prompts/plan.js +129 -0
  145. package/dist/agents/prompts/plan.js.map +1 -0
  146. package/dist/agents/prompts/tool-guidance.d.ts +18 -0
  147. package/dist/agents/prompts/tool-guidance.d.ts.map +1 -0
  148. package/dist/agents/prompts/tool-guidance.js +181 -0
  149. package/dist/agents/prompts/tool-guidance.js.map +1 -0
  150. package/dist/agents/sandbox-filesystem.d.ts +151 -0
  151. package/dist/agents/sandbox-filesystem.d.ts.map +1 -0
  152. package/dist/agents/sandbox-filesystem.js +581 -0
  153. package/dist/agents/sandbox-filesystem.js.map +1 -0
  154. package/dist/agents/subagents/execute.d.ts +3 -0
  155. package/dist/agents/subagents/execute.d.ts.map +1 -0
  156. package/dist/agents/subagents/execute.js +27 -0
  157. package/dist/agents/subagents/execute.js.map +1 -0
  158. package/dist/agents/subagents/explore.d.ts +3 -0
  159. package/dist/agents/subagents/explore.d.ts.map +1 -0
  160. package/dist/agents/subagents/explore.js +18 -0
  161. package/dist/agents/subagents/explore.js.map +1 -0
  162. package/dist/agents/subagents/plan.d.ts +3 -0
  163. package/dist/agents/subagents/plan.d.ts.map +1 -0
  164. package/dist/agents/subagents/plan.js +18 -0
  165. package/dist/agents/subagents/plan.js.map +1 -0
  166. package/dist/agents/thread-caveman-state.d.ts +17 -0
  167. package/dist/agents/thread-caveman-state.d.ts.map +1 -0
  168. package/dist/agents/thread-caveman-state.js +107 -0
  169. package/dist/agents/thread-caveman-state.js.map +1 -0
  170. package/dist/agents/tool-availability.d.ts +12 -0
  171. package/dist/agents/tool-availability.d.ts.map +1 -0
  172. package/dist/agents/tool-availability.js +129 -0
  173. package/dist/agents/tool-availability.js.map +1 -0
  174. package/dist/agents/tools.d.ts +37 -0
  175. package/dist/agents/tools.d.ts.map +1 -0
  176. package/dist/agents/tools.js +131 -0
  177. package/dist/agents/tools.js.map +1 -0
  178. package/dist/agents/workflow-builder-agent.d.ts +2 -0
  179. package/dist/agents/workflow-builder-agent.d.ts.map +1 -0
  180. package/dist/agents/workflow-builder-agent.js +82 -0
  181. package/dist/agents/workflow-builder-agent.js.map +1 -0
  182. package/dist/agents/workspace.d.ts +33 -0
  183. package/dist/agents/workspace.d.ts.map +1 -0
  184. package/dist/agents/workspace.js +208 -0
  185. package/dist/agents/workspace.js.map +1 -0
  186. package/dist/analytics.d.ts +18 -0
  187. package/dist/analytics.d.ts.map +1 -0
  188. package/dist/analytics.js +162 -0
  189. package/dist/analytics.js.map +1 -0
  190. package/dist/auth/account-rotation-processor.d.ts +182 -0
  191. package/dist/auth/account-rotation-processor.d.ts.map +1 -0
  192. package/dist/auth/account-rotation-processor.js +609 -0
  193. package/dist/auth/account-rotation-processor.js.map +1 -0
  194. package/dist/auth/account-routing-context.d.ts +13 -0
  195. package/dist/auth/account-routing-context.d.ts.map +1 -0
  196. package/dist/auth/account-routing-context.js +41 -0
  197. package/dist/auth/account-routing-context.js.map +1 -0
  198. package/dist/auth/authorization-input.d.ts +16 -0
  199. package/dist/auth/authorization-input.d.ts.map +1 -0
  200. package/dist/auth/authorization-input.js +42 -0
  201. package/dist/auth/authorization-input.js.map +1 -0
  202. package/dist/auth/device-code.d.ts +93 -0
  203. package/dist/auth/device-code.d.ts.map +1 -0
  204. package/dist/auth/device-code.js +129 -0
  205. package/dist/auth/device-code.js.map +1 -0
  206. package/dist/auth/index.d.ts +13 -0
  207. package/dist/auth/index.d.ts.map +1 -0
  208. package/dist/auth/index.js +9 -0
  209. package/dist/auth/pkce.d.ts +13 -0
  210. package/dist/auth/pkce.d.ts.map +1 -0
  211. package/dist/auth/pkce.js +32 -0
  212. package/dist/auth/pkce.js.map +1 -0
  213. package/dist/auth/provider-auth-error.d.ts +12 -0
  214. package/dist/auth/provider-auth-error.d.ts.map +1 -0
  215. package/dist/auth/provider-auth-error.js +16 -0
  216. package/dist/auth/provider-auth-error.js.map +1 -0
  217. package/dist/auth/providers/anthropic.d.ts +40 -0
  218. package/dist/auth/providers/anthropic.d.ts.map +1 -0
  219. package/dist/auth/providers/anthropic.js +120 -0
  220. package/dist/auth/providers/anthropic.js.map +1 -0
  221. package/dist/auth/providers/github-copilot.d.ts +154 -0
  222. package/dist/auth/providers/github-copilot.d.ts.map +1 -0
  223. package/dist/auth/providers/github-copilot.js +362 -0
  224. package/dist/auth/providers/github-copilot.js.map +1 -0
  225. package/dist/auth/providers/kimi-coding.d.ts +38 -0
  226. package/dist/auth/providers/kimi-coding.d.ts.map +1 -0
  227. package/dist/auth/providers/kimi-coding.js +228 -0
  228. package/dist/auth/providers/kimi-coding.js.map +1 -0
  229. package/dist/auth/providers/openai-codex.d.ts +141 -0
  230. package/dist/auth/providers/openai-codex.d.ts.map +1 -0
  231. package/dist/auth/providers/openai-codex.js +533 -0
  232. package/dist/auth/providers/openai-codex.js.map +1 -0
  233. package/dist/auth/providers/xai.d.ts +64 -0
  234. package/dist/auth/providers/xai.d.ts.map +1 -0
  235. package/dist/auth/providers/xai.js +226 -0
  236. package/dist/auth/providers/xai.js.map +1 -0
  237. package/dist/auth/storage.d.ts +214 -0
  238. package/dist/auth/storage.d.ts.map +1 -0
  239. package/dist/auth/storage.js +774 -0
  240. package/dist/auth/storage.js.map +1 -0
  241. package/dist/auth/types.d.ts +164 -0
  242. package/dist/auth/types.d.ts.map +1 -0
  243. package/dist/auth/types.js +1 -0
  244. package/dist/clipboard/index.d.ts +26 -0
  245. package/dist/clipboard/index.d.ts.map +1 -0
  246. package/dist/clipboard/index.js +226 -0
  247. package/dist/clipboard/index.js.map +1 -0
  248. package/dist/constants.d.ts +12 -0
  249. package/dist/constants.d.ts.map +1 -0
  250. package/dist/constants.js +20 -0
  251. package/dist/constants.js.map +1 -0
  252. package/dist/error-classification.d.ts +10 -0
  253. package/dist/error-classification.d.ts.map +1 -0
  254. package/dist/error-classification.js +22 -0
  255. package/dist/error-classification.js.map +1 -0
  256. package/dist/evals/context-builder.d.ts +41 -0
  257. package/dist/evals/context-builder.d.ts.map +1 -0
  258. package/dist/evals/context-builder.js +161 -0
  259. package/dist/evals/context-builder.js.map +1 -0
  260. package/dist/evals/index.d.ts +4 -0
  261. package/dist/evals/index.d.ts.map +1 -0
  262. package/dist/evals/index.js +5 -0
  263. package/dist/evals/scorers/classify-command.d.ts +31 -0
  264. package/dist/evals/scorers/classify-command.d.ts.map +1 -0
  265. package/dist/evals/scorers/classify-command.js +73 -0
  266. package/dist/evals/scorers/classify-command.js.map +1 -0
  267. package/dist/evals/scorers/efficiency.d.ts +44 -0
  268. package/dist/evals/scorers/efficiency.d.ts.map +1 -0
  269. package/dist/evals/scorers/efficiency.js +259 -0
  270. package/dist/evals/scorers/efficiency.js.map +1 -0
  271. package/dist/evals/scorers/extract-tools.d.ts +25 -0
  272. package/dist/evals/scorers/extract-tools.d.ts.map +1 -0
  273. package/dist/evals/scorers/extract-tools.js +60 -0
  274. package/dist/evals/scorers/extract-tools.js.map +1 -0
  275. package/dist/evals/scorers/index.d.ts +3 -0
  276. package/dist/evals/scorers/index.d.ts.map +1 -0
  277. package/dist/evals/scorers/index.js +3 -0
  278. package/dist/evals/scorers/outcome.d.ts +49 -0
  279. package/dist/evals/scorers/outcome.d.ts.map +1 -0
  280. package/dist/evals/scorers/outcome.js +347 -0
  281. package/dist/evals/scorers/outcome.js.map +1 -0
  282. package/dist/experimental-agent.d.ts +11 -0
  283. package/dist/experimental-agent.d.ts.map +1 -0
  284. package/dist/experimental-agent.js +36 -0
  285. package/dist/experimental-agent.js.map +1 -0
  286. package/dist/goal-manager.d.ts +114 -0
  287. package/dist/goal-manager.d.ts.map +1 -0
  288. package/dist/goal-manager.js +354 -0
  289. package/dist/goal-manager.js.map +1 -0
  290. package/dist/goal-signal.d.ts +14 -0
  291. package/dist/goal-signal.d.ts.map +1 -0
  292. package/dist/goal-signal.js +17 -0
  293. package/dist/goal-signal.js.map +1 -0
  294. package/dist/headless/cli.d.ts +48 -0
  295. package/dist/headless/cli.d.ts.map +1 -0
  296. package/dist/headless/cli.js +239 -0
  297. package/dist/headless/cli.js.map +1 -0
  298. package/dist/headless/flags.d.ts +33 -0
  299. package/dist/headless/flags.d.ts.map +1 -0
  300. package/dist/headless/flags.js +203 -0
  301. package/dist/headless/flags.js.map +1 -0
  302. package/dist/headless/format.d.ts +39 -0
  303. package/dist/headless/format.d.ts.map +1 -0
  304. package/dist/headless/format.js +85 -0
  305. package/dist/headless/format.js.map +1 -0
  306. package/dist/headless/index.d.ts +25 -0
  307. package/dist/headless/index.d.ts.map +1 -0
  308. package/dist/headless/index.js +6 -0
  309. package/dist/headless/policy.d.ts +17 -0
  310. package/dist/headless/policy.d.ts.map +1 -0
  311. package/dist/headless/policy.js +42 -0
  312. package/dist/headless/policy.js.map +1 -0
  313. package/dist/headless/run-mc.d.ts +7 -0
  314. package/dist/headless/run-mc.d.ts.map +1 -0
  315. package/dist/headless/run-mc.js +408 -0
  316. package/dist/headless/run-mc.js.map +1 -0
  317. package/dist/headless/types.d.ts +174 -0
  318. package/dist/headless/types.d.ts.map +1 -0
  319. package/dist/headless/types.js +19 -0
  320. package/dist/headless/types.js.map +1 -0
  321. package/dist/hooks/config.d.ts +11 -0
  322. package/dist/hooks/config.d.ts.map +1 -0
  323. package/dist/hooks/config.js +80 -0
  324. package/dist/hooks/config.js.map +1 -0
  325. package/dist/hooks/executor.d.ts +13 -0
  326. package/dist/hooks/executor.d.ts.map +1 -0
  327. package/dist/hooks/executor.js +129 -0
  328. package/dist/hooks/executor.js.map +1 -0
  329. package/dist/hooks/index.d.ts +6 -0
  330. package/dist/hooks/index.d.ts.map +1 -0
  331. package/dist/hooks/index.js +5 -0
  332. package/dist/hooks/manager.d.ts +54 -0
  333. package/dist/hooks/manager.d.ts.map +1 -0
  334. package/dist/hooks/manager.js +241 -0
  335. package/dist/hooks/manager.js.map +1 -0
  336. package/dist/hooks/types.d.ts +172 -0
  337. package/dist/hooks/types.d.ts.map +1 -0
  338. package/dist/hooks/types.js +8 -0
  339. package/dist/hooks/types.js.map +1 -0
  340. package/dist/index.d.ts +463 -0
  341. package/dist/index.d.ts.map +1 -0
  342. package/dist/index.js +1305 -0
  343. package/dist/index.js.map +1 -0
  344. package/dist/ipc/ipc-reporter.d.ts +14 -0
  345. package/dist/ipc/ipc-reporter.d.ts.map +1 -0
  346. package/dist/ipc/ipc-reporter.js +21 -0
  347. package/dist/ipc/ipc-reporter.js.map +1 -0
  348. package/dist/knowledge-inspector.d.ts +123 -0
  349. package/dist/knowledge-inspector.d.ts.map +1 -0
  350. package/dist/knowledge-inspector.js +516 -0
  351. package/dist/knowledge-inspector.js.map +1 -0
  352. package/dist/knowledge-scope.d.ts +35 -0
  353. package/dist/knowledge-scope.d.ts.map +1 -0
  354. package/dist/knowledge-scope.js +47 -0
  355. package/dist/knowledge-scope.js.map +1 -0
  356. package/dist/lsp/client.d.ts +56 -0
  357. package/dist/lsp/client.d.ts.map +1 -0
  358. package/dist/lsp/client.js +251 -0
  359. package/dist/lsp/client.js.map +1 -0
  360. package/dist/lsp/index.d.ts +4 -0
  361. package/dist/lsp/index.d.ts.map +1 -0
  362. package/dist/lsp/index.js +4 -0
  363. package/dist/lsp/language.d.ts +9 -0
  364. package/dist/lsp/language.d.ts.map +1 -0
  365. package/dist/lsp/language.js +44 -0
  366. package/dist/lsp/language.js.map +1 -0
  367. package/dist/lsp/manager.d.ts +34 -0
  368. package/dist/lsp/manager.d.ts.map +1 -0
  369. package/dist/lsp/manager.js +82 -0
  370. package/dist/lsp/manager.js.map +1 -0
  371. package/dist/lsp/server.d.ts +27 -0
  372. package/dist/lsp/server.d.ts.map +1 -0
  373. package/dist/lsp/server.js +159 -0
  374. package/dist/lsp/server.js.map +1 -0
  375. package/dist/lsp/workspace.d.ts +9 -0
  376. package/dist/lsp/workspace.d.ts.map +1 -0
  377. package/dist/lsp/workspace.js +55 -0
  378. package/dist/lsp/workspace.js.map +1 -0
  379. package/dist/mcp/config.d.ts +77 -0
  380. package/dist/mcp/config.d.ts.map +1 -0
  381. package/dist/mcp/config.js +316 -0
  382. package/dist/mcp/config.js.map +1 -0
  383. package/dist/mcp/index.d.ts +6 -0
  384. package/dist/mcp/index.d.ts.map +1 -0
  385. package/dist/mcp/index.js +3 -0
  386. package/dist/mcp/manager.d.ts +102 -0
  387. package/dist/mcp/manager.d.ts.map +1 -0
  388. package/dist/mcp/manager.js +650 -0
  389. package/dist/mcp/manager.js.map +1 -0
  390. package/dist/mcp/state.d.ts +35 -0
  391. package/dist/mcp/state.d.ts.map +1 -0
  392. package/dist/mcp/state.js +97 -0
  393. package/dist/mcp/state.js.map +1 -0
  394. package/dist/mcp/types.d.ts +139 -0
  395. package/dist/mcp/types.d.ts.map +1 -0
  396. package/dist/mcp/types.js +1 -0
  397. package/dist/onboarding/custom-packs.d.ts +7 -0
  398. package/dist/onboarding/custom-packs.d.ts.map +1 -0
  399. package/dist/onboarding/custom-packs.js +20 -0
  400. package/dist/onboarding/custom-packs.js.map +1 -0
  401. package/dist/onboarding/custom-providers.d.ts +4 -0
  402. package/dist/onboarding/custom-providers.d.ts.map +1 -0
  403. package/dist/onboarding/custom-providers.js +30 -0
  404. package/dist/onboarding/custom-providers.js.map +1 -0
  405. package/dist/onboarding/index.d.ts +5 -0
  406. package/dist/onboarding/index.d.ts.map +1 -0
  407. package/dist/onboarding/index.js +3 -0
  408. package/dist/onboarding/om-settings.d.ts +47 -0
  409. package/dist/onboarding/om-settings.d.ts.map +1 -0
  410. package/dist/onboarding/om-settings.js +83 -0
  411. package/dist/onboarding/om-settings.js.map +1 -0
  412. package/dist/onboarding/pack-activation.d.ts +52 -0
  413. package/dist/onboarding/pack-activation.d.ts.map +1 -0
  414. package/dist/onboarding/pack-activation.js +108 -0
  415. package/dist/onboarding/pack-activation.js.map +1 -0
  416. package/dist/onboarding/packs.d.ts +102 -0
  417. package/dist/onboarding/packs.d.ts.map +1 -0
  418. package/dist/onboarding/packs.js +278 -0
  419. package/dist/onboarding/packs.js.map +1 -0
  420. package/dist/onboarding/settings.d.ts +538 -0
  421. package/dist/onboarding/settings.d.ts.map +1 -0
  422. package/dist/onboarding/settings.js +1060 -0
  423. package/dist/onboarding/settings.js.map +1 -0
  424. package/dist/permissions.d.ts +55 -0
  425. package/dist/permissions.d.ts.map +1 -0
  426. package/dist/permissions.js +142 -0
  427. package/dist/permissions.js.map +1 -0
  428. package/dist/plugin.d.ts +156 -0
  429. package/dist/plugin.d.ts.map +1 -0
  430. package/dist/plugin.js +30 -0
  431. package/dist/plugin.js.map +1 -0
  432. package/dist/plugins/dependencies.d.ts +9 -0
  433. package/dist/plugins/dependencies.d.ts.map +1 -0
  434. package/dist/plugins/dependencies.js +87 -0
  435. package/dist/plugins/dependencies.js.map +1 -0
  436. package/dist/plugins/install.d.ts +21 -0
  437. package/dist/plugins/install.d.ts.map +1 -0
  438. package/dist/plugins/install.js +190 -0
  439. package/dist/plugins/install.js.map +1 -0
  440. package/dist/plugins/loader.d.ts +19 -0
  441. package/dist/plugins/loader.d.ts.map +1 -0
  442. package/dist/plugins/loader.js +260 -0
  443. package/dist/plugins/loader.js.map +1 -0
  444. package/dist/plugins/manager.d.ts +98 -0
  445. package/dist/plugins/manager.d.ts.map +1 -0
  446. package/dist/plugins/manager.js +456 -0
  447. package/dist/plugins/manager.js.map +1 -0
  448. package/dist/plugins/manifest.d.ts +14 -0
  449. package/dist/plugins/manifest.d.ts.map +1 -0
  450. package/dist/plugins/manifest.js +50 -0
  451. package/dist/plugins/manifest.js.map +1 -0
  452. package/dist/plugins/package-link.d.ts +3 -0
  453. package/dist/plugins/package-link.d.ts.map +1 -0
  454. package/dist/plugins/package-link.js +61 -0
  455. package/dist/plugins/package-link.js.map +1 -0
  456. package/dist/plugins/paths.d.ts +10 -0
  457. package/dist/plugins/paths.d.ts.map +1 -0
  458. package/dist/plugins/paths.js +25 -0
  459. package/dist/plugins/paths.js.map +1 -0
  460. package/dist/plugins/registry.d.ts +8 -0
  461. package/dist/plugins/registry.d.ts.map +1 -0
  462. package/dist/plugins/registry.js +112 -0
  463. package/dist/plugins/registry.js.map +1 -0
  464. package/dist/plugins/scaffold.d.ts +10 -0
  465. package/dist/plugins/scaffold.d.ts.map +1 -0
  466. package/dist/plugins/scaffold.js +116 -0
  467. package/dist/plugins/scaffold.js.map +1 -0
  468. package/dist/plugins/signal-lane.d.ts +58 -0
  469. package/dist/plugins/signal-lane.d.ts.map +1 -0
  470. package/dist/plugins/signal-lane.js +166 -0
  471. package/dist/plugins/signal-lane.js.map +1 -0
  472. package/dist/plugins/types.d.ts +81 -0
  473. package/dist/plugins/types.d.ts.map +1 -0
  474. package/dist/plugins/types.js +1 -0
  475. package/dist/process-memory-diagnostics.d.ts +135 -0
  476. package/dist/process-memory-diagnostics.d.ts.map +1 -0
  477. package/dist/process-memory-diagnostics.js +499 -0
  478. package/dist/process-memory-diagnostics.js.map +1 -0
  479. package/dist/processors/plan-rejection-abort.d.ts +12 -0
  480. package/dist/processors/plan-rejection-abort.d.ts.map +1 -0
  481. package/dist/processors/plan-rejection-abort.js +54 -0
  482. package/dist/processors/plan-rejection-abort.js.map +1 -0
  483. package/dist/providers/amazon-bedrock-gateway.d.ts +47 -0
  484. package/dist/providers/amazon-bedrock-gateway.d.ts.map +1 -0
  485. package/dist/providers/amazon-bedrock-gateway.js +144 -0
  486. package/dist/providers/amazon-bedrock-gateway.js.map +1 -0
  487. package/dist/providers/amazon-bedrock.d.ts +28 -0
  488. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  489. package/dist/providers/amazon-bedrock.js +102 -0
  490. package/dist/providers/amazon-bedrock.js.map +1 -0
  491. package/dist/providers/anthropic-prompt-cache.d.ts +19 -0
  492. package/dist/providers/anthropic-prompt-cache.d.ts.map +1 -0
  493. package/dist/providers/anthropic-prompt-cache.js +11 -0
  494. package/dist/providers/anthropic-prompt-cache.js.map +1 -0
  495. package/dist/providers/anthropic-thinking.d.ts +5 -0
  496. package/dist/providers/anthropic-thinking.d.ts.map +1 -0
  497. package/dist/providers/anthropic-thinking.js +25 -0
  498. package/dist/providers/anthropic-thinking.js.map +1 -0
  499. package/dist/providers/claude-max.d.ts +67 -0
  500. package/dist/providers/claude-max.d.ts.map +1 -0
  501. package/dist/providers/claude-max.js +226 -0
  502. package/dist/providers/claude-max.js.map +1 -0
  503. package/dist/providers/github-copilot-gateway.d.ts +35 -0
  504. package/dist/providers/github-copilot-gateway.d.ts.map +1 -0
  505. package/dist/providers/github-copilot-gateway.js +61 -0
  506. package/dist/providers/github-copilot-gateway.js.map +1 -0
  507. package/dist/providers/github-copilot.d.ts +60 -0
  508. package/dist/providers/github-copilot.d.ts.map +1 -0
  509. package/dist/providers/github-copilot.js +318 -0
  510. package/dist/providers/github-copilot.js.map +1 -0
  511. package/dist/providers/google-thinking.d.ts +31 -0
  512. package/dist/providers/google-thinking.d.ts.map +1 -0
  513. package/dist/providers/google-thinking.js +67 -0
  514. package/dist/providers/google-thinking.js.map +1 -0
  515. package/dist/providers/kimi-coding.d.ts +14 -0
  516. package/dist/providers/kimi-coding.d.ts.map +1 -0
  517. package/dist/providers/kimi-coding.js +78 -0
  518. package/dist/providers/kimi-coding.js.map +1 -0
  519. package/dist/providers/model-ids.d.ts +30 -0
  520. package/dist/providers/model-ids.d.ts.map +1 -0
  521. package/dist/providers/model-ids.js +79 -0
  522. package/dist/providers/model-ids.js.map +1 -0
  523. package/dist/providers/openai-codex.d.ts +84 -0
  524. package/dist/providers/openai-codex.d.ts.map +1 -0
  525. package/dist/providers/openai-codex.js +347 -0
  526. package/dist/providers/openai-codex.js.map +1 -0
  527. package/dist/providers/provider-thinking.d.ts +23 -0
  528. package/dist/providers/provider-thinking.d.ts.map +1 -0
  529. package/dist/providers/provider-thinking.js +64 -0
  530. package/dist/providers/provider-thinking.js.map +1 -0
  531. package/dist/providers/thinking-request.d.ts +14 -0
  532. package/dist/providers/thinking-request.d.ts.map +1 -0
  533. package/dist/providers/thinking-request.js +90 -0
  534. package/dist/providers/thinking-request.js.map +1 -0
  535. package/dist/providers/xai.d.ts +33 -0
  536. package/dist/providers/xai.d.ts.map +1 -0
  537. package/dist/providers/xai.js +71 -0
  538. package/dist/providers/xai.js.map +1 -0
  539. package/dist/schedules/index.d.ts +10 -0
  540. package/dist/schedules/index.d.ts.map +1 -0
  541. package/dist/schedules/index.js +6 -0
  542. package/dist/schedules/interval.d.ts +49 -0
  543. package/dist/schedules/interval.d.ts.map +1 -0
  544. package/dist/schedules/interval.js +215 -0
  545. package/dist/schedules/interval.js.map +1 -0
  546. package/dist/schedules/prompt.d.ts +36 -0
  547. package/dist/schedules/prompt.d.ts.map +1 -0
  548. package/dist/schedules/prompt.js +39 -0
  549. package/dist/schedules/prompt.js.map +1 -0
  550. package/dist/schedules/run-script.d.ts +8 -0
  551. package/dist/schedules/run-script.d.ts.map +1 -0
  552. package/dist/schedules/run-script.js +83 -0
  553. package/dist/schedules/run-script.js.map +1 -0
  554. package/dist/schedules/scheduler.d.ts +101 -0
  555. package/dist/schedules/scheduler.d.ts.map +1 -0
  556. package/dist/schedules/scheduler.js +169 -0
  557. package/dist/schedules/scheduler.js.map +1 -0
  558. package/dist/schedules/tools.d.ts +57 -0
  559. package/dist/schedules/tools.d.ts.map +1 -0
  560. package/dist/schedules/tools.js +220 -0
  561. package/dist/schedules/tools.js.map +1 -0
  562. package/dist/schema.d.ts +499 -0
  563. package/dist/schema.d.ts.map +1 -0
  564. package/dist/schema.js +134 -0
  565. package/dist/schema.js.map +1 -0
  566. package/dist/theme-palette.d.ts +17 -0
  567. package/dist/theme-palette.d.ts.map +1 -0
  568. package/dist/theme-palette.js +21 -0
  569. package/dist/theme-palette.js.map +1 -0
  570. package/dist/thinking-catalog.d.ts +4 -0
  571. package/dist/thinking-catalog.d.ts.map +1 -0
  572. package/dist/thinking-catalog.js +13 -0
  573. package/dist/thinking-catalog.js.map +1 -0
  574. package/dist/thinking.d.ts +37 -0
  575. package/dist/thinking.d.ts.map +1 -0
  576. package/dist/thinking.js +137 -0
  577. package/dist/thinking.js.map +1 -0
  578. package/dist/tool-names.d.ts +77 -0
  579. package/dist/tool-names.d.ts.map +1 -0
  580. package/dist/tool-names.js +56 -0
  581. package/dist/tool-names.js.map +1 -0
  582. package/dist/tools/index.d.ts +6 -0
  583. package/dist/tools/index.d.ts.map +1 -0
  584. package/dist/tools/index.js +3 -0
  585. package/dist/tools/request-sandbox-access.d.ts +6 -0
  586. package/dist/tools/request-sandbox-access.d.ts.map +1 -0
  587. package/dist/tools/request-sandbox-access.js +80 -0
  588. package/dist/tools/request-sandbox-access.js.map +1 -0
  589. package/dist/tools/utils.d.ts +20 -0
  590. package/dist/tools/utils.d.ts.map +1 -0
  591. package/dist/tools/utils.js +32 -0
  592. package/dist/tools/utils.js.map +1 -0
  593. package/dist/tools/web-search.d.ts +114 -0
  594. package/dist/tools/web-search.d.ts.map +1 -0
  595. package/dist/tools/web-search.js +155 -0
  596. package/dist/tools/web-search.js.map +1 -0
  597. package/dist/tools/workflows/create-workflow.d.ts +7 -0
  598. package/dist/tools/workflows/create-workflow.d.ts.map +1 -0
  599. package/dist/tools/workflows/create-workflow.js +81 -0
  600. package/dist/tools/workflows/create-workflow.js.map +1 -0
  601. package/dist/tools/workflows/delete-workflow.d.ts +7 -0
  602. package/dist/tools/workflows/delete-workflow.d.ts.map +1 -0
  603. package/dist/tools/workflows/delete-workflow.js +21 -0
  604. package/dist/tools/workflows/delete-workflow.js.map +1 -0
  605. package/dist/tools/workflows/ephemeral-memory.d.ts +28 -0
  606. package/dist/tools/workflows/ephemeral-memory.d.ts.map +1 -0
  607. package/dist/tools/workflows/ephemeral-memory.js +44 -0
  608. package/dist/tools/workflows/ephemeral-memory.js.map +1 -0
  609. package/dist/tools/workflows/extract-json-schema.d.ts +12 -0
  610. package/dist/tools/workflows/extract-json-schema.d.ts.map +1 -0
  611. package/dist/tools/workflows/extract-json-schema.js +22 -0
  612. package/dist/tools/workflows/extract-json-schema.js.map +1 -0
  613. package/dist/tools/workflows/get-workflow.d.ts +11 -0
  614. package/dist/tools/workflows/get-workflow.d.ts.map +1 -0
  615. package/dist/tools/workflows/get-workflow.js +34 -0
  616. package/dist/tools/workflows/get-workflow.js.map +1 -0
  617. package/dist/tools/workflows/list-available-agents.d.ts +8 -0
  618. package/dist/tools/workflows/list-available-agents.d.ts.map +1 -0
  619. package/dist/tools/workflows/list-available-agents.js +32 -0
  620. package/dist/tools/workflows/list-available-agents.js.map +1 -0
  621. package/dist/tools/workflows/list-available-classifiers.d.ts +19 -0
  622. package/dist/tools/workflows/list-available-classifiers.d.ts.map +1 -0
  623. package/dist/tools/workflows/list-available-classifiers.js +56 -0
  624. package/dist/tools/workflows/list-available-classifiers.js.map +1 -0
  625. package/dist/tools/workflows/list-available-tools.d.ts +9 -0
  626. package/dist/tools/workflows/list-available-tools.d.ts.map +1 -0
  627. package/dist/tools/workflows/list-available-tools.js +40 -0
  628. package/dist/tools/workflows/list-available-tools.js.map +1 -0
  629. package/dist/tools/workflows/list-available-workflows.d.ts +9 -0
  630. package/dist/tools/workflows/list-available-workflows.d.ts.map +1 -0
  631. package/dist/tools/workflows/list-available-workflows.js +32 -0
  632. package/dist/tools/workflows/list-available-workflows.js.map +1 -0
  633. package/dist/tools/workflows/list-workflows.d.ts +9 -0
  634. package/dist/tools/workflows/list-workflows.d.ts.map +1 -0
  635. package/dist/tools/workflows/list-workflows.js +33 -0
  636. package/dist/tools/workflows/list-workflows.js.map +1 -0
  637. package/dist/tools/workflows/run-workflow.d.ts +9 -0
  638. package/dist/tools/workflows/run-workflow.d.ts.map +1 -0
  639. package/dist/tools/workflows/run-workflow.js +52 -0
  640. package/dist/tools/workflows/run-workflow.js.map +1 -0
  641. package/dist/tools/workflows/save-workflow.d.ts +1125 -0
  642. package/dist/tools/workflows/save-workflow.d.ts.map +1 -0
  643. package/dist/tools/workflows/save-workflow.js +28 -0
  644. package/dist/tools/workflows/save-workflow.js.map +1 -0
  645. package/dist/tools/workflows/tool-ids.d.ts +16 -0
  646. package/dist/tools/workflows/tool-ids.d.ts.map +1 -0
  647. package/dist/tools/workflows/tool-ids.js +20 -0
  648. package/dist/tools/workflows/tool-ids.js.map +1 -0
  649. package/dist/utils/binaries.d.ts +7 -0
  650. package/dist/utils/binaries.d.ts.map +1 -0
  651. package/dist/utils/binaries.js +78 -0
  652. package/dist/utils/binaries.js.map +1 -0
  653. package/dist/utils/debug-log.d.ts +12 -0
  654. package/dist/utils/debug-log.d.ts.map +1 -0
  655. package/dist/utils/debug-log.js +59 -0
  656. package/dist/utils/debug-log.js.map +1 -0
  657. package/dist/utils/discarding-scores-storage.d.ts +33 -0
  658. package/dist/utils/discarding-scores-storage.d.ts.map +1 -0
  659. package/dist/utils/discarding-scores-storage.js +54 -0
  660. package/dist/utils/discarding-scores-storage.js.map +1 -0
  661. package/dist/utils/errors.d.ts +36 -0
  662. package/dist/utils/errors.d.ts.map +1 -0
  663. package/dist/utils/errors.js +196 -0
  664. package/dist/utils/errors.js.map +1 -0
  665. package/dist/utils/gateway-sync.d.ts +26 -0
  666. package/dist/utils/gateway-sync.d.ts.map +1 -0
  667. package/dist/utils/gateway-sync.js +61 -0
  668. package/dist/utils/gateway-sync.js.map +1 -0
  669. package/dist/utils/maintenance-lock.d.ts +42 -0
  670. package/dist/utils/maintenance-lock.d.ts.map +1 -0
  671. package/dist/utils/maintenance-lock.js +199 -0
  672. package/dist/utils/maintenance-lock.js.map +1 -0
  673. package/dist/utils/notification-dispatch.d.ts +59 -0
  674. package/dist/utils/notification-dispatch.d.ts.map +1 -0
  675. package/dist/utils/notification-dispatch.js +109 -0
  676. package/dist/utils/notification-dispatch.js.map +1 -0
  677. package/dist/utils/open-url.d.ts +10 -0
  678. package/dist/utils/open-url.d.ts.map +1 -0
  679. package/dist/utils/open-url.js +30 -0
  680. package/dist/utils/open-url.js.map +1 -0
  681. package/dist/utils/path-security.d.ts +2 -0
  682. package/dist/utils/path-security.d.ts.map +1 -0
  683. package/dist/utils/path-security.js +10 -0
  684. package/dist/utils/path-security.js.map +1 -0
  685. package/dist/utils/plan-diff.d.ts +25 -0
  686. package/dist/utils/plan-diff.d.ts.map +1 -0
  687. package/dist/utils/plan-diff.js +62 -0
  688. package/dist/utils/plan-diff.js.map +1 -0
  689. package/dist/utils/plans.d.ts +59 -0
  690. package/dist/utils/plans.d.ts.map +1 -0
  691. package/dist/utils/plans.js +117 -0
  692. package/dist/utils/plans.js.map +1 -0
  693. package/dist/utils/project.d.ts +160 -0
  694. package/dist/utils/project.d.ts.map +1 -0
  695. package/dist/utils/project.js +364 -0
  696. package/dist/utils/project.js.map +1 -0
  697. package/dist/utils/prune-cli.d.ts +24 -0
  698. package/dist/utils/prune-cli.d.ts.map +1 -0
  699. package/dist/utils/prune-cli.js +125 -0
  700. package/dist/utils/prune-cli.js.map +1 -0
  701. package/dist/utils/signals-pubsub.d.ts +101 -0
  702. package/dist/utils/signals-pubsub.d.ts.map +1 -0
  703. package/dist/utils/signals-pubsub.js +410 -0
  704. package/dist/utils/signals-pubsub.js.map +1 -0
  705. package/dist/utils/slash-command-loader.d.ts +52 -0
  706. package/dist/utils/slash-command-loader.d.ts.map +1 -0
  707. package/dist/utils/slash-command-loader.js +142 -0
  708. package/dist/utils/slash-command-loader.js.map +1 -0
  709. package/dist/utils/slash-command-processor.d.ts +14 -0
  710. package/dist/utils/slash-command-processor.d.ts.map +1 -0
  711. package/dist/utils/slash-command-processor.js +109 -0
  712. package/dist/utils/slash-command-processor.js.map +1 -0
  713. package/dist/utils/stdin-pipe.d.ts +33 -0
  714. package/dist/utils/stdin-pipe.d.ts.map +1 -0
  715. package/dist/utils/stdin-pipe.js +96 -0
  716. package/dist/utils/stdin-pipe.js.map +1 -0
  717. package/dist/utils/storage-factory.d.ts +50 -0
  718. package/dist/utils/storage-factory.d.ts.map +1 -0
  719. package/dist/utils/storage-factory.js +121 -0
  720. package/dist/utils/storage-factory.js.map +1 -0
  721. package/dist/utils/storage-maintenance.d.ts +121 -0
  722. package/dist/utils/storage-maintenance.d.ts.map +1 -0
  723. package/dist/utils/storage-maintenance.js +355 -0
  724. package/dist/utils/storage-maintenance.js.map +1 -0
  725. package/dist/utils/thread-lock.d.ts +26 -0
  726. package/dist/utils/thread-lock.d.ts.map +1 -0
  727. package/dist/utils/thread-lock.js +112 -0
  728. package/dist/utils/thread-lock.js.map +1 -0
  729. package/dist/utils/token-estimator.d.ts +3 -0
  730. package/dist/utils/token-estimator.d.ts.map +1 -0
  731. package/dist/utils/token-estimator.js +21 -0
  732. package/dist/utils/token-estimator.js.map +1 -0
  733. package/dist/utils/update-check.d.ts +151 -0
  734. package/dist/utils/update-check.d.ts.map +1 -0
  735. package/dist/utils/update-check.js +432 -0
  736. package/dist/utils/update-check.js.map +1 -0
  737. package/dist/voice/stt-registry.d.ts +64 -0
  738. package/dist/voice/stt-registry.d.ts.map +1 -0
  739. package/dist/voice/stt-registry.js +144 -0
  740. package/dist/voice/stt-registry.js.map +1 -0
  741. package/dist/workflows/register-primitives.d.ts +52 -0
  742. package/dist/workflows/register-primitives.d.ts.map +1 -0
  743. package/dist/workflows/register-primitives.js +40 -0
  744. package/dist/workflows/register-primitives.js.map +1 -0
  745. package/dist/workflows/service.d.ts +64 -0
  746. package/dist/workflows/service.d.ts.map +1 -0
  747. package/dist/workflows/service.js +53 -0
  748. package/dist/workflows/service.js.map +1 -0
  749. package/package.json +107 -0
@@ -0,0 +1,266 @@
1
+ import "../constants.js";
2
+ import { getOmScope } from "../utils/project.js";
3
+ import { MASTRACODE_AUTO_OM_MODELS, resolveAutoOMModelId } from "../onboarding/packs.js";
4
+ import { loadSettings } from "../onboarding/settings.js";
5
+ import { LOCAL_KNOWLEDGE_ORG_ID, resolveKnowledgeScopeIdentity } from "../knowledge-scope.js";
6
+ import "../providers/anthropic-prompt-cache.js";
7
+ import { getActiveMemoryRoute, resolveModel } from "./model.js";
8
+ import { Memory, Subconscious } from "@mastra/memory";
9
+ import { fastembed } from "@mastra/fastembed";
10
+ //#region src/agents/memory.ts
11
+ /**
12
+ * Resolve the active model route's memory models, starting at a same-thread
13
+ * pending fallback hop. Returns `'auto'` when the route's first memory model is
14
+ * Auto, and `undefined` when the route sets no memory model.
15
+ */
16
+ function resolveRouteMemoryModels(state, threadId, resolve) {
17
+ const memoryRoute = getActiveMemoryRoute(state, threadId);
18
+ if (memoryRoute[0]?.memoryModelId === "auto") return "auto";
19
+ const seenModelIds = /* @__PURE__ */ new Set();
20
+ const appearances = /* @__PURE__ */ new Map();
21
+ const entries = [];
22
+ for (const entry of memoryRoute) {
23
+ if (!entry.memoryModelId || entry.memoryModelId === "auto" || seenModelIds.has(entry.memoryModelId)) continue;
24
+ seenModelIds.add(entry.memoryModelId);
25
+ const occurrence = (appearances.get(entry.id) ?? 0) + 1;
26
+ appearances.set(entry.id, occurrence);
27
+ try {
28
+ entries.push({
29
+ id: `${entry.id}:memory${occurrence === 1 ? "" : `#${occurrence}`}`,
30
+ model: resolve(entry.memoryModelId)
31
+ });
32
+ } catch {
33
+ break;
34
+ }
35
+ }
36
+ return entries.length > 0 ? entries : void 0;
37
+ }
38
+ function getFactoryMemorySettingsContext(requestContext) {
39
+ return requestContext.get("mastra__factoryMemorySettings");
40
+ }
41
+ function isFactoryMemorySettingsUnavailable(settings) {
42
+ return settings !== null && typeof settings === "object" && "status" in settings && settings.status === "unavailable";
43
+ }
44
+ function getMainModelId(requestContext) {
45
+ const controller = requestContext.get("controller");
46
+ return controller?.session.modelId || controller?.getState()?.currentModelId;
47
+ }
48
+ /**
49
+ * Resolve one OM role's model for this invocation. Returns `'auto'` for Memory's
50
+ * auto policy, or a concrete model. Factory's DB row is authoritative for
51
+ * Factory sessions (an unreadable row falls back to auto). Otherwise the active
52
+ * model route's memory models win, then the per-role selection, then legacy
53
+ * concrete settings.
54
+ */
55
+ function resolveOmRoleModelForRequest(role, requestContext, settingsPath, options) {
56
+ const controller = requestContext.get("controller");
57
+ const state = controller?.getState();
58
+ const resolveOptions = {
59
+ remapForCodexOAuth: true,
60
+ requestContext,
61
+ anthropicPromptCacheScope: "system"
62
+ };
63
+ const factorySettingsContext = getFactoryMemorySettingsContext(requestContext);
64
+ const isFactory = typeof state?.factoryProjectId === "string";
65
+ const useModel = (modelId) => {
66
+ requestContext.set(`om.${role}.selectionMode`, "model");
67
+ requestContext.set(`om.${role}.effectiveModelId`, modelId);
68
+ return resolveModel(modelId, resolveOptions);
69
+ };
70
+ const useAuto = () => {
71
+ requestContext.set(`om.${role}.selectionMode`, "auto");
72
+ requestContext.set(`om.${role}.effectiveModelId`, resolveAutoOMModelId(getMainModelId(requestContext)));
73
+ return "auto";
74
+ };
75
+ if (isFactoryMemorySettingsUnavailable(factorySettingsContext) || factorySettingsContext === void 0 && isFactory) return useAuto();
76
+ if (factorySettingsContext !== void 0) {
77
+ const factoryModelId = factorySettingsContext?.[`${role}ModelId`];
78
+ return factoryModelId ? useModel(factoryModelId) : useAuto();
79
+ }
80
+ const settings = options?.disableSettingsOmSeed ? void 0 : loadSettings(settingsPath);
81
+ const routeMemory = resolveRouteMemoryModels(state, controller?.threadId, (modelId) => resolveModel(modelId, resolveOptions));
82
+ if (routeMemory === "auto") return useAuto();
83
+ if (routeMemory) {
84
+ requestContext.set(`om.${role}.selectionMode`, "model");
85
+ requestContext.set(`om.${role}.effectiveModelId`, routeMemory[0]?.model.modelId);
86
+ return routeMemory.length === 1 ? routeMemory[0].model : routeMemory;
87
+ }
88
+ const selection = state?.[`${role}ModelSelection`];
89
+ if (selection === "auto") return useAuto();
90
+ if (typeof selection === "string" && selection) return useModel(selection);
91
+ if (selection && typeof selection === "object" && "modelId" in selection && typeof selection.modelId === "string" && selection.modelId) return useModel(selection.modelId);
92
+ const roleOverride = role === "observer" ? settings?.models?.observerModelOverride : settings?.models?.reflectorModelOverride;
93
+ if (roleOverride) return useModel(roleOverride);
94
+ const legacyModelId = state?.[`${role}ModelId`];
95
+ if (typeof legacyModelId === "string" && legacyModelId) return useModel(legacyModelId);
96
+ return useAuto();
97
+ }
98
+ const DYNAMIC_AGENTS_MD_INSTRUCTION = "Messages wrapped in <system-reminder type=\"dynamic-agents-md\" ...>...</system-reminder> are ephemeral project-context instructions injected from files on disk. Do NOT observe or extract information from these messages — they are reloaded automatically when needed and should not be stored in memory.";
99
+ const CAVEMAN_OM_INSTRUCTION = `Respond terse like smart caveman. All technical substance stay. Only fluff die.
100
+
101
+ Use full caveman compression style.
102
+
103
+ Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). Technical terms exact. Code blocks unchanged. Errors quoted exact. Leave out the words "agent" and "assistant" at the start of each observation line, it is assumed each line is referring to the assistant unless it specifically says it was about the user. Leave out parenthesis and other text characters like * that would not contribute to understanding the observations.
104
+
105
+ Pattern: \`[thing] [action] [reason]. [next step]\`
106
+
107
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
108
+ Yes: "Bug in auth middleware. Token expiry check use < not <=. Fix:"
109
+
110
+ Example 1
111
+ 🔴 14:31 user asks why React component rerenders
112
+ 🟡 14:32 saw inline object prop create new ref each render, cause rerender
113
+ ✅ 14:34 fixed render issue by wrap object in useMemo
114
+
115
+ Example 2
116
+ 🟡 15:10 explained pool reuse DB connections, skip repeat handshake overhead
117
+
118
+ Don't say "Agent did x", say "did x". It will be assumed the agent did what was observed. The who should only be specified for the user or other third parties: "user asked x"
119
+
120
+ Drop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question, and anything that requires remembering verbatim content. Resume caveman after clear part done`;
121
+ const REPORTED_ORG_UNRESOLVED_LIMIT = 500;
122
+ const reportedOrgUnresolved = /* @__PURE__ */ new Set();
123
+ function reportOrgUnresolved(controller, factoryProjectId, reason) {
124
+ const sessionId = controller?.session?.id;
125
+ if (sessionId) {
126
+ if (reportedOrgUnresolved.has(sessionId)) return;
127
+ if (reportedOrgUnresolved.size >= REPORTED_ORG_UNRESOLVED_LIMIT) reportedOrgUnresolved.delete(reportedOrgUnresolved.values().next().value);
128
+ reportedOrgUnresolved.add(sessionId);
129
+ }
130
+ const session = controller?.session;
131
+ console.error(`[Subconscious] Knowledge curation disabled: no organization resolved for session ${session?.id ?? "unknown"} (project ${factoryProjectId ?? "none"})${reason ? `: ${reason}` : ""}. Knowledge is not written rather than written where it cannot be read.`);
132
+ }
133
+ /**
134
+ * Whether the experimental subconscious (knowledge graph + reminder sidekick)
135
+ * is switched on for this process: it needs a vector store and the opt-in flag.
136
+ */
137
+ function isSubconsciousEnabled(vector) {
138
+ return Boolean(vector) && process.env.MASTRACODE_EXPERIMENTAL_SUBCONSCIOUS === "1";
139
+ }
140
+ /**
141
+ * Whether the subconscious tools (`knowledge_*`, `ask_memory`) are registered
142
+ * for a given session. Beyond the process-level switch, a Factory-owned
143
+ * session that cannot resolve its org refuses the subconscious entirely (see
144
+ * `getDynamicMemory`, which applies the same two checks inline because it also
145
+ * needs the resolved identity). The system prompt's tool guidance calls here so
146
+ * it never advertises tools that `getDynamicMemory` did not register.
147
+ */
148
+ function hasSubconsciousTools(vector, state) {
149
+ return isSubconsciousEnabled(vector) && resolveKnowledgeScopeIdentity(state).resolved;
150
+ }
151
+ /**
152
+ * Dynamic memory factory function.
153
+ * Reads OM thresholds from controller state via requestContext.
154
+ * Model functions also read from requestContext (no mutable bridge needed).
155
+ */
156
+ function getDynamicMemory(storage, vector, settingsPath, options, knowledge) {
157
+ let cachedMemory = null;
158
+ let cachedMemoryKey = null;
159
+ const retiredMemories = /* @__PURE__ */ new Set();
160
+ const getObserverModel = ({ requestContext }) => resolveOmRoleModelForRequest("observer", requestContext, settingsPath, options);
161
+ const getReflectorModel = ({ requestContext }) => resolveOmRoleModelForRequest("reflector", requestContext, settingsPath, options);
162
+ const resolveMemoryModel = (modelId, { requestContext }) => resolveModel(modelId, {
163
+ remapForCodexOAuth: true,
164
+ requestContext,
165
+ anthropicPromptCacheScope: "system"
166
+ });
167
+ const resolveMemory = ({ requestContext }) => {
168
+ const controller = requestContext.get("controller");
169
+ const state = controller?.getState();
170
+ const subconsciousEnabled = isSubconsciousEnabled(vector);
171
+ const factoryProjectId = state?.factoryProjectId;
172
+ const isFactory = typeof factoryProjectId === "string" && factoryProjectId.trim().length > 0;
173
+ let orgUnresolvedRefusal = false;
174
+ if (subconsciousEnabled) {
175
+ const identity = resolveKnowledgeScopeIdentity(state);
176
+ if (identity.resolved) requestContext.set("organizationId", identity.organizationId);
177
+ else {
178
+ orgUnresolvedRefusal = true;
179
+ reportOrgUnresolved(controller, identity.knowledgeResourceId, identity.reason);
180
+ }
181
+ if (identity.knowledgeResourceId) requestContext.set("knowledgeResourceId", identity.knowledgeResourceId);
182
+ }
183
+ const subconsciousAvailable = subconsciousEnabled && !orgUnresolvedRefusal;
184
+ const omScope = state?.omScope ?? getOmScope(state?.projectPath);
185
+ const factorySettingsContext = getFactoryMemorySettingsContext(requestContext);
186
+ const factorySettings = isFactoryMemorySettingsUnavailable(factorySettingsContext) || factorySettingsContext === void 0 && isFactory ? null : factorySettingsContext;
187
+ const obsThreshold = factorySettings !== void 0 ? factorySettings?.observationThreshold ?? 3e4 : state?.observationThreshold ?? 3e4;
188
+ const refThreshold = factorySettings !== void 0 ? factorySettings?.reflectionThreshold ?? 4e4 : state?.reflectionThreshold ?? 4e4;
189
+ const caveman = state?.cavemanObservations ?? false;
190
+ const observerPreviousObservationTokens = 1e3;
191
+ const observeAttachments = factorySettings !== void 0 ? factorySettings?.observeAttachments ?? "auto" : state?.observeAttachments;
192
+ const cacheKey = `${obsThreshold}:${refThreshold}:${omScope}:${observerPreviousObservationTokens}:${caveman ? 1 : 0}:${observeAttachments}:${isFactory ? 1 : 0}:${subconsciousAvailable ? 1 : 0}`;
193
+ if (cachedMemory && cachedMemoryKey === cacheKey) return cachedMemory;
194
+ const isResourceScope = omScope === "resource";
195
+ const observerInstruction = caveman ? `${DYNAMIC_AGENTS_MD_INSTRUCTION}\n\n${CAVEMAN_OM_INSTRUCTION}` : DYNAMIC_AGENTS_MD_INSTRUCTION;
196
+ const reflectionInstruction = caveman ? CAVEMAN_OM_INSTRUCTION : void 0;
197
+ if (cachedMemory) {
198
+ const retired = cachedMemory;
199
+ retiredMemories.add(retired);
200
+ retired.settled().catch(() => {}).finally(() => retiredMemories.delete(retired));
201
+ }
202
+ cachedMemory = new Memory({
203
+ storage,
204
+ ...knowledge ? { knowledge } : {},
205
+ vector: vector || false,
206
+ embedder: vector ? fastembed.small : void 0,
207
+ options: {
208
+ generateTitle: process.env.MASTRACODE_DISABLE_TITLE_GENERATION === "1" ? false : { model: ({ requestContext }) => {
209
+ const resolved = getObserverModel({ requestContext });
210
+ if (resolved === "auto") return resolveMemoryModel(resolveAutoOMModelId(getMainModelId(requestContext)), { requestContext });
211
+ return Array.isArray(resolved) ? resolved[0].model : resolved;
212
+ } },
213
+ observationalMemory: process.env.MASTRACODE_DISABLE_OBSERVATIONAL_MEMORY === "1" ? false : {
214
+ enabled: true,
215
+ autoModels: MASTRACODE_AUTO_OM_MODELS,
216
+ resolveModel: resolveMemoryModel,
217
+ temporalMarkers: true,
218
+ retrieval: vector ? { vector: true } : true,
219
+ experimental_subconscious: subconsciousAvailable ? new Subconscious({
220
+ defaultScope: "resource",
221
+ pins: true,
222
+ ...isFactory ? { maxSteps: 25 } : {}
223
+ }) : void 0,
224
+ scope: omScope,
225
+ activateAfterIdle: {
226
+ default: "auto",
227
+ anthropic: "1h"
228
+ },
229
+ activateOnProviderChange: true,
230
+ observation: {
231
+ bufferTokens: isResourceScope ? false : 1 / 5,
232
+ bufferActivation: isResourceScope ? void 0 : 2e3,
233
+ model: getObserverModel,
234
+ messageTokens: obsThreshold,
235
+ blockAfter: 2,
236
+ previousObserverTokens: observerPreviousObservationTokens,
237
+ threadTitle: true,
238
+ instruction: observerInstruction,
239
+ observeAttachments
240
+ },
241
+ reflection: {
242
+ bufferActivation: isResourceScope ? void 0 : 1 / 2,
243
+ blockAfter: 1.1,
244
+ model: getReflectorModel,
245
+ observationTokens: refThreshold,
246
+ instruction: reflectionInstruction
247
+ }
248
+ }
249
+ }
250
+ });
251
+ cachedMemoryKey = cacheKey;
252
+ return cachedMemory;
253
+ };
254
+ return Object.assign(resolveMemory, {
255
+ /**
256
+ * Wait for background memory work (buffered observations, reflections, indexing) in every
257
+ * instance this factory created. Await before closing storage.
258
+ */
259
+ async settled() {
260
+ await Promise.allSettled([cachedMemory?.settled(), ...[...retiredMemories].map((memory) => memory.settled())]);
261
+ } });
262
+ }
263
+ //#endregion
264
+ export { LOCAL_KNOWLEDGE_ORG_ID, getDynamicMemory, hasSubconsciousTools, isSubconsciousEnabled };
265
+
266
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","names":[],"sources":["../../src/agents/memory.ts"],"sourcesContent":["import type { AgentControllerRequestContext } from '@mastra/core/agent-controller';\nimport type { Knowledge } from '@mastra/core/knowledge';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { MastraCompositeStore } from '@mastra/core/storage';\nimport type { MastraVector } from '@mastra/core/vector';\nimport { fastembed } from '@mastra/fastembed';\nimport { Memory, Subconscious } from '@mastra/memory';\nimport { DEFAULT_OBS_THRESHOLD, DEFAULT_REF_THRESHOLD } from '../constants.js';\nimport { LOCAL_KNOWLEDGE_ORG_ID, resolveKnowledgeScopeIdentity } from '../knowledge-scope.js';\nimport { MASTRACODE_AUTO_OM_MODELS, resolveAutoOMModelId } from '../onboarding/packs.js';\nimport { loadSettings } from '../onboarding/settings.js';\nimport { ANTHROPIC_PROMPT_CACHE_TTL } from '../providers/anthropic-prompt-cache.js';\nimport type { MastraCodeState } from '../schema.js';\nimport { getOmScope } from '../utils/project.js';\nimport { getActiveMemoryRoute, resolveModel } from './model.js';\n\n/** Route-backed OM fallback entry. */\ntype MemoryModelRouteEntry = { id: string; model: ReturnType<typeof resolveModel> };\n\n/**\n * Resolve the active model route's memory models, starting at a same-thread\n * pending fallback hop. Returns `'auto'` when the route's first memory model is\n * Auto, and `undefined` when the route sets no memory model.\n */\nfunction resolveRouteMemoryModels(\n state: MastraCodeState | undefined,\n threadId: string | null | undefined,\n resolve: (modelId: string) => ReturnType<typeof resolveModel>,\n): MemoryModelRouteEntry[] | 'auto' | undefined {\n const memoryRoute = getActiveMemoryRoute(state, threadId);\n if (memoryRoute[0]?.memoryModelId === 'auto') return 'auto';\n const seenModelIds = new Set<string>();\n const appearances = new Map<string, number>();\n const entries: MemoryModelRouteEntry[] = [];\n for (const entry of memoryRoute) {\n if (!entry.memoryModelId || entry.memoryModelId === 'auto' || seenModelIds.has(entry.memoryModelId)) continue;\n seenModelIds.add(entry.memoryModelId);\n const occurrence = (appearances.get(entry.id) ?? 0) + 1;\n appearances.set(entry.id, occurrence);\n try {\n entries.push({\n id: `${entry.id}:memory${occurrence === 1 ? '' : `#${occurrence}`}`,\n model: resolve(entry.memoryModelId),\n });\n } catch {\n break;\n }\n }\n return entries.length > 0 ? entries : undefined;\n}\n\n/**\n * The authoritative per-caller Factory memory-settings row, placed on the request\n * context before Factory's model-dependent processors run. `null` means the row\n * exists but is empty (every role auto). An unavailable sentinel or a missing\n * value on a Factory-owned session falls back to Auto roles and default\n * thresholds/attachments, so memory keeps working while Factory reports the error.\n */\ninterface FactoryMemorySettings {\n observerModelId: string | null;\n reflectorModelId: string | null;\n observationThreshold: number | null;\n reflectionThreshold: number | null;\n observeAttachments: 'auto' | boolean | null;\n}\n\ntype FactoryMemorySettingsContext =\n | FactoryMemorySettings\n | null\n | { status: 'unavailable'; reason: string }\n | undefined;\n\nfunction getFactoryMemorySettingsContext(requestContext: RequestContext): FactoryMemorySettingsContext {\n return requestContext.get('mastra__factoryMemorySettings') as FactoryMemorySettingsContext;\n}\n\nfunction isFactoryMemorySettingsUnavailable(\n settings: FactoryMemorySettingsContext,\n): settings is { status: 'unavailable'; reason: string } {\n return settings !== null && typeof settings === 'object' && 'status' in settings && settings.status === 'unavailable';\n}\n\nfunction getMainModelId(requestContext: RequestContext): string | undefined {\n const controller = requestContext.get('controller') as AgentControllerRequestContext<MastraCodeState> | undefined;\n return controller?.session.modelId || (controller?.getState()?.currentModelId as string | undefined);\n}\n\n/**\n * Resolve one OM role's model for this invocation. Returns `'auto'` for Memory's\n * auto policy, or a concrete model. Factory's DB row is authoritative for\n * Factory sessions (an unreadable row falls back to auto). Otherwise the active\n * model route's memory models win, then the per-role selection, then legacy\n * concrete settings.\n */\nfunction resolveOmRoleModelForRequest(\n role: 'observer' | 'reflector',\n requestContext: RequestContext,\n settingsPath?: string,\n options?: { disableSettingsOmSeed?: boolean },\n): 'auto' | ReturnType<typeof resolveModel> | MemoryModelRouteEntry[] {\n const controller = requestContext.get('controller') as AgentControllerRequestContext<MastraCodeState> | undefined;\n const state = controller?.getState() as MastraCodeState | undefined;\n const resolveOptions = { remapForCodexOAuth: true, requestContext, anthropicPromptCacheScope: 'system' } as const;\n const factorySettingsContext = getFactoryMemorySettingsContext(requestContext);\n const isFactory = typeof state?.factoryProjectId === 'string';\n\n const useModel = (modelId: string) => {\n requestContext.set(`om.${role}.selectionMode`, 'model');\n requestContext.set(`om.${role}.effectiveModelId`, modelId);\n return resolveModel(modelId, resolveOptions);\n };\n const useAuto = () => {\n requestContext.set(`om.${role}.selectionMode`, 'auto');\n // These two keys are declared in the span-context allowlist\n // (`mastracode/sdk/src/index.ts`), so traces can report intent separately from\n // the effective concrete model without either being mistaken for a model ID.\n requestContext.set(`om.${role}.effectiveModelId`, resolveAutoOMModelId(getMainModelId(requestContext)));\n return 'auto' as const;\n };\n\n if (\n isFactoryMemorySettingsUnavailable(factorySettingsContext) ||\n (factorySettingsContext === undefined && isFactory)\n ) {\n return useAuto();\n }\n if (factorySettingsContext !== undefined) {\n const factoryModelId = factorySettingsContext?.[`${role}ModelId`];\n return factoryModelId ? useModel(factoryModelId) : useAuto();\n }\n\n // The configured settings file, not the default one: a caller that points the\n // agent at another settings path must get the same override resolution for\n // observational memory as it does for the main model. Hosts that disable the\n // settings seed never read it.\n const settings = options?.disableSettingsOmSeed ? undefined : loadSettings(settingsPath);\n const routeMemory = resolveRouteMemoryModels(state, controller?.threadId, modelId =>\n resolveModel(modelId, resolveOptions),\n );\n if (routeMemory === 'auto') return useAuto();\n if (routeMemory) {\n requestContext.set(`om.${role}.selectionMode`, 'model');\n requestContext.set(`om.${role}.effectiveModelId`, routeMemory[0]?.model.modelId);\n return routeMemory.length === 1 ? routeMemory[0]!.model : routeMemory;\n }\n\n const selection: unknown = state?.[`${role}ModelSelection`];\n if (selection === 'auto') return useAuto();\n if (typeof selection === 'string' && selection) return useModel(selection);\n if (\n selection &&\n typeof selection === 'object' &&\n 'modelId' in selection &&\n typeof selection.modelId === 'string' &&\n selection.modelId\n ) {\n return useModel(selection.modelId);\n }\n\n const roleOverride =\n role === 'observer' ? settings?.models?.observerModelOverride : settings?.models?.reflectorModelOverride;\n if (roleOverride) return useModel(roleOverride);\n const legacyModelId = state?.[`${role}ModelId`];\n if (typeof legacyModelId === 'string' && legacyModelId) return useModel(legacyModelId);\n return useAuto();\n}\n\nconst DYNAMIC_AGENTS_MD_INSTRUCTION =\n 'Messages wrapped in <system-reminder type=\"dynamic-agents-md\" ...>...</system-reminder> are ephemeral project-context instructions injected from files on disk. Do NOT observe or extract information from these messages — they are reloaded automatically when needed and should not be stored in memory.';\n\n// Derived from https://github.com/JuliusBrussee/caveman and adapted for OM use with fixed full-level compression.\nconst CAVEMAN_OM_INSTRUCTION = `Respond terse like smart caveman. All technical substance stay. Only fluff die.\n\nUse full caveman compression style.\n\nDrop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not \"implement a solution for\"). Technical terms exact. Code blocks unchanged. Errors quoted exact. Leave out the words \"agent\" and \"assistant\" at the start of each observation line, it is assumed each line is referring to the assistant unless it specifically says it was about the user. Leave out parenthesis and other text characters like * that would not contribute to understanding the observations.\n\nPattern: \\`[thing] [action] [reason]. [next step]\\`\n\nNot: \"Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by...\"\nYes: \"Bug in auth middleware. Token expiry check use < not <=. Fix:\"\n\nExample 1\n🔴 14:31 user asks why React component rerenders\n🟡 14:32 saw inline object prop create new ref each render, cause rerender\n✅ 14:34 fixed render issue by wrap object in useMemo\n\nExample 2\n🟡 15:10 explained pool reuse DB connections, skip repeat handshake overhead\n\nDon't say \"Agent did x\", say \"did x\". It will be assumed the agent did what was observed. The who should only be specified for the user or other third parties: \"user asked x\"\n\nDrop caveman for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question, and anything that requires remembering verbatim content. Resume caveman after clear part done`;\n\nexport { LOCAL_KNOWLEDGE_ORG_ID };\n\n// One error per session, not per memory resolution. Keyed on the session id\n// rather than the controller object: the controller is read off the request\n// context on every resolution, so it is a fresh object per request and would\n// dedupe nothing. Bounded so a long-running Factory process cannot grow this\n// without limit — refusing sessions are rare, and losing the oldest ids only\n// costs one extra log line.\nconst REPORTED_ORG_UNRESOLVED_LIMIT = 500;\nconst reportedOrgUnresolved = new Set<string>();\n\nfunction reportOrgUnresolved(\n controller: AgentControllerRequestContext<MastraCodeState> | undefined,\n factoryProjectId: string | undefined,\n reason?: string,\n) {\n const sessionId = controller?.session?.id;\n if (sessionId) {\n if (reportedOrgUnresolved.has(sessionId)) return;\n if (reportedOrgUnresolved.size >= REPORTED_ORG_UNRESOLVED_LIMIT) {\n reportedOrgUnresolved.delete(reportedOrgUnresolved.values().next().value as string);\n }\n reportedOrgUnresolved.add(sessionId);\n }\n const session = controller?.session;\n console.error(\n `[Subconscious] Knowledge curation disabled: no organization resolved for session ${session?.id ?? 'unknown'} (project ${factoryProjectId ?? 'none'})${reason ? `: ${reason}` : ''}. Knowledge is not written rather than written where it cannot be read.`,\n );\n}\n\n/**\n * Whether the experimental subconscious (knowledge graph + reminder sidekick)\n * is switched on for this process: it needs a vector store and the opt-in flag.\n */\nexport function isSubconsciousEnabled(vector: MastraVector | undefined): boolean {\n return Boolean(vector) && process.env.MASTRACODE_EXPERIMENTAL_SUBCONSCIOUS === '1';\n}\n\n/**\n * Whether the subconscious tools (`knowledge_*`, `ask_memory`) are registered\n * for a given session. Beyond the process-level switch, a Factory-owned\n * session that cannot resolve its org refuses the subconscious entirely (see\n * `getDynamicMemory`, which applies the same two checks inline because it also\n * needs the resolved identity). The system prompt's tool guidance calls here so\n * it never advertises tools that `getDynamicMemory` did not register.\n */\nexport function hasSubconsciousTools(vector: MastraVector | undefined, state: MastraCodeState | undefined): boolean {\n return isSubconsciousEnabled(vector) && resolveKnowledgeScopeIdentity(state).resolved;\n}\n\n/**\n * Dynamic memory factory function.\n * Reads OM thresholds from controller state via requestContext.\n * Model functions also read from requestContext (no mutable bridge needed).\n */\nexport function getDynamicMemory(\n storage: MastraCompositeStore,\n vector?: MastraVector,\n settingsPath?: string,\n options?: { disableSettingsOmSeed?: boolean },\n knowledge?: Knowledge,\n) {\n // Cache is scoped per storage instance (per getDynamicMemory call) so a\n // Memory bound to one storage is never reused after storage changes.\n let cachedMemory: Memory | null = null;\n let cachedMemoryKey: string | null = null;\n // Instances replaced by a config change may still have background work in flight.\n const retiredMemories = new Set<Memory>();\n\n // Observer/reflector model functions — read the current model ID from\n // controller state via requestContext (propagated by OM's agent.generate).\n // Bound here so the configured settings path reaches role overrides and pack\n // memory-model resolution.\n const getObserverModel = ({ requestContext }: { requestContext: RequestContext }) =>\n resolveOmRoleModelForRequest('observer', requestContext, settingsPath, options);\n const getReflectorModel = ({ requestContext }: { requestContext: RequestContext }) =>\n resolveOmRoleModelForRequest('reflector', requestContext, settingsPath, options);\n // Routes the concrete model Memory's `'auto'` picks through Mastra Code's\n // credential-aware resolver, like every other Mastra Code model.\n const resolveMemoryModel = (modelId: string, { requestContext }: { requestContext?: RequestContext }) =>\n resolveModel(modelId, { remapForCodexOAuth: true, requestContext, anthropicPromptCacheScope: 'system' });\n\n const resolveMemory = ({ requestContext }: { requestContext: RequestContext }) => {\n const controller = requestContext.get('controller') as AgentControllerRequestContext<MastraCodeState> | undefined;\n const state = controller?.getState() as MastraCodeState | undefined;\n const subconsciousEnabled = isSubconsciousEnabled(vector);\n const factoryProjectId = state?.factoryProjectId;\n const isFactory = typeof factoryProjectId === 'string' && factoryProjectId.trim().length > 0;\n\n // A Factory-owned session that could not resolve its org refuses to curate:\n // writing under a substituted identity produces knowledge the fail-closed\n // read path can never see.\n let orgUnresolvedRefusal = false;\n\n if (subconsciousEnabled) {\n const identity = resolveKnowledgeScopeIdentity(state);\n if (identity.resolved) {\n requestContext.set('organizationId', identity.organizationId);\n } else {\n orgUnresolvedRefusal = true;\n reportOrgUnresolved(controller, identity.knowledgeResourceId, identity.reason);\n }\n if (identity.knowledgeResourceId) {\n requestContext.set('knowledgeResourceId', identity.knowledgeResourceId);\n }\n }\n\n const subconsciousAvailable = subconsciousEnabled && !orgUnresolvedRefusal;\n\n const omScope = state?.omScope ?? getOmScope(state?.projectPath);\n\n // The Factory row is authoritative and read per invocation, so a stored\n // threshold/attachment change reaches the running Memory without a session.\n const factorySettingsContext = getFactoryMemorySettingsContext(requestContext);\n const factorySettingsUnavailable =\n isFactoryMemorySettingsUnavailable(factorySettingsContext) || (factorySettingsContext === undefined && isFactory);\n const factorySettings = factorySettingsUnavailable ? null : factorySettingsContext;\n const obsThreshold =\n factorySettings !== undefined\n ? (factorySettings?.observationThreshold ?? DEFAULT_OBS_THRESHOLD)\n : (state?.observationThreshold ?? DEFAULT_OBS_THRESHOLD);\n const refThreshold =\n factorySettings !== undefined\n ? (factorySettings?.reflectionThreshold ?? DEFAULT_REF_THRESHOLD)\n : (state?.reflectionThreshold ?? DEFAULT_REF_THRESHOLD);\n const caveman = state?.cavemanObservations ?? false;\n\n const observerPreviousObservationTokens = 1000;\n // The row is authoritative: an absent value means the user left it on Auto,\n // which the config API reports as 'auto' and Memory resolves by model\n // capability.\n const observeAttachments =\n factorySettings !== undefined ? (factorySettings?.observeAttachments ?? 'auto') : state?.observeAttachments;\n // Factory sessions get a factory-only Subconscious config, so the cache key\n // carries Factory presence and settings availability to keep those configs\n // from cross-serving.\n const cacheKey = `${obsThreshold}:${refThreshold}:${omScope}:${observerPreviousObservationTokens}:${caveman ? 1 : 0}:${observeAttachments}:${isFactory ? 1 : 0}:${subconsciousAvailable ? 1 : 0}`;\n if (cachedMemory && cachedMemoryKey === cacheKey) {\n return cachedMemory;\n }\n\n // Async buffering is not supported with resource scope — disable it\n const isResourceScope = omScope === 'resource';\n\n const observerInstruction = caveman\n ? `${DYNAMIC_AGENTS_MD_INSTRUCTION}\\n\\n${CAVEMAN_OM_INSTRUCTION}`\n : DYNAMIC_AGENTS_MD_INSTRUCTION;\n const reflectionInstruction = caveman ? CAVEMAN_OM_INSTRUCTION : undefined;\n\n if (cachedMemory) {\n const retired = cachedMemory;\n retiredMemories.add(retired);\n // settled() rejects if the instance's OM engine failed to start; that must not surface as\n // an unhandled rejection from a background retirement.\n void retired\n .settled()\n .catch(() => {})\n .finally(() => retiredMemories.delete(retired));\n }\n\n cachedMemory = new Memory({\n storage,\n ...(knowledge ? { knowledge } : {}),\n vector: vector || false,\n embedder: vector ? fastembed.small : undefined,\n options: {\n // Generate a durable title from the first user message. Every client uses\n // the same title in its thread list and active-session chrome. Title\n // generation takes the primary OM model only — its model field does not\n // accept fallback arrays.\n generateTitle:\n process.env.MASTRACODE_DISABLE_TITLE_GENERATION === '1'\n ? false\n : {\n model: ({ requestContext }) => {\n const resolved = getObserverModel({ requestContext });\n if (resolved === 'auto') {\n return resolveMemoryModel(resolveAutoOMModelId(getMainModelId(requestContext)), { requestContext });\n }\n return Array.isArray(resolved) ? resolved[0]!.model : resolved;\n },\n },\n observationalMemory:\n process.env.MASTRACODE_DISABLE_OBSERVATIONAL_MEMORY === '1'\n ? false\n : {\n enabled: true,\n autoModels: MASTRACODE_AUTO_OM_MODELS,\n resolveModel: resolveMemoryModel,\n temporalMarkers: true,\n retrieval: vector ? { vector: true } : true,\n experimental_subconscious: subconsciousAvailable\n ? new Subconscious({\n defaultScope: 'resource',\n pins: true,\n ...(isFactory ? { maxSteps: 25 } : {}),\n })\n : undefined,\n scope: omScope,\n // The main agent writes Anthropic cache entries with this TTL; 'auto' can't see it.\n activateAfterIdle: { default: 'auto', anthropic: ANTHROPIC_PROMPT_CACHE_TTL },\n activateOnProviderChange: true,\n observation: {\n bufferTokens: isResourceScope ? false : 1 / 5,\n bufferActivation: isResourceScope ? undefined : 2000,\n model: getObserverModel,\n messageTokens: obsThreshold,\n blockAfter: 2,\n previousObserverTokens: observerPreviousObservationTokens,\n threadTitle: true,\n instruction: observerInstruction,\n observeAttachments,\n },\n reflection: {\n bufferActivation: isResourceScope ? undefined : 1 / 2,\n blockAfter: 1.1,\n model: getReflectorModel,\n observationTokens: refThreshold,\n instruction: reflectionInstruction,\n },\n },\n },\n });\n cachedMemoryKey = cacheKey;\n\n return cachedMemory;\n };\n\n return Object.assign(resolveMemory, {\n /**\n * Wait for background memory work (buffered observations, reflections, indexing) in every\n * instance this factory created. Await before closing storage.\n */\n async settled(): Promise<void> {\n // Drain every instance even if one rejects, so teardown can still close storage.\n await Promise.allSettled([cachedMemory?.settled(), ...[...retiredMemories].map(memory => memory.settled())]);\n },\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import type { ModelWithRetries } from '@mastra/core/agent';
2
+ import { ModelRouterLanguageModel } from '@mastra/core/llm';
3
+ import type { GatewayLanguageModel, IdentifiedModelConfig, MastraModelGatewayInterface } from '@mastra/core/llm';
4
+ import { RequestContext } from '@mastra/core/request-context';
5
+ import type { CredentialStore } from '../auth/types.js';
6
+ import type { AnthropicPromptCacheScope } from '../providers/anthropic-prompt-cache.js';
7
+ import type { ThinkingLevelSetting } from '../thinking.js';
8
+ import { MastraCodeGateway } from './mastracode-gateway.js';
9
+ import type { MastraCodeGatewayOptions } from './mastracode-gateway.js';
10
+ export { getAnthropicApiKey, getOpenAIApiKey, MASTRACODE_GATEWAY_ID, MastraCodeGateway, remapOpenAIModelForCodexOAuth, resolveAuth, } from './mastracode-gateway.js';
11
+ export type { MastraCodeCustomProvider, MastraCodeGatewayOptions } from './mastracode-gateway.js';
12
+ export { setCredentialStoreProvider, hasCredentialStoreProvider, resolveTenantFromRequestContext, } from './credential-resolver.js';
13
+ export type { CredentialTenant, CredentialStoreProvider } from './credential-resolver.js';
14
+ export { setCustomProvidersSource, hasCustomProvidersSource, resolveCustomProviders, } from './custom-provider-source.js';
15
+ export type { CustomProvidersSource } from './custom-provider-source.js';
16
+ type ResolvedModel = GatewayLanguageModel | ModelRouterLanguageModel;
17
+ export declare function createRequestScopedCredentialStore(base: CredentialStore, requestContext?: RequestContext): CredentialStore;
18
+ export declare function createMastraCodeGateway(options: MastraCodeGatewayOptions): MastraCodeGateway;
19
+ export declare function createMastraCodeModelCatalogProvider(gateway: MastraModelGatewayInterface): import("@mastra/core/harness").CustomModelCatalogProvider;
20
+ /**
21
+ * Placeholder for future model ID normalization.
22
+ * Currently returns the input unchanged, but exists as a seam
23
+ * for aliasing, casing fixes, or validation in the future.
24
+ */
25
+ export declare function resolveModelId(modelId: string): string;
26
+ /**
27
+ * Resolve a model ID to the correct provider instance.
28
+ * Shared by the main agent, observer, and reflector.
29
+ *
30
+ * - For anthropic/* models: Uses stored OAuth credentials when present, otherwise direct API key
31
+ * - For openai/* models: Uses OAuth when configured, otherwise direct API key from AuthStorage
32
+ * - For moonshotai/* models: Uses Moonshot AI Anthropic-compatible endpoint
33
+ * - For all other providers: Uses Mastra's model router (models.dev gateway)
34
+ */
35
+ export declare function resolveModel(modelId: string, options?: {
36
+ thinkingLevel?: ThinkingLevelSetting;
37
+ remapForCodexOAuth?: boolean;
38
+ requestContext?: RequestContext;
39
+ anthropicPromptCacheScope?: AnthropicPromptCacheScope;
40
+ }): ResolvedModel;
41
+ export interface ThinkingRequestContext {
42
+ state?: {
43
+ thinkingLevel?: unknown;
44
+ };
45
+ session?: {
46
+ modeId?: string;
47
+ };
48
+ }
49
+ /**
50
+ * Resolve the effective thinking level for the current request.
51
+ *
52
+ * Precedence:
53
+ * 1. Session override (`state.thinkingLevel`, set via /think or the session
54
+ * settings panel).
55
+ * 2. Per-mode default from settings (`models.modeThinkingDefaults[mode]`),
56
+ * only when the context carries a session mode.
57
+ * 3. Global default (`preferences.thinkingLevel`).
58
+ *
59
+ * Resolved per-request (not seeded at session start) so configuration changes
60
+ * apply to the next request of every session — including automated
61
+ * (rule-driven) Factory runs that nobody ever opens interactively.
62
+ */
63
+ export declare function resolveRequestThinkingLevel(agentControllerContext: ThinkingRequestContext | undefined, settingsPath?: string): ThinkingLevelSetting;
64
+ /**
65
+ * Dynamic model function that reads the current model and optional ordered
66
+ * fallback route from controller state. Route entry ids are opaque host-owned
67
+ * identifiers; repeated ids receive occurrence suffixes because core tracks the
68
+ * active fallback index by id across agentic steps.
69
+ */
70
+ export declare function getDynamicModel({ requestContext }: {
71
+ requestContext: RequestContext;
72
+ }, settingsPath?: string, { modeless }?: {
73
+ modeless?: boolean;
74
+ }): IdentifiedModelConfig | ModelWithRetries[];
75
+ type MemoryRouteState = {
76
+ modelRoute?: {
77
+ entries?: Array<{
78
+ id?: unknown;
79
+ memoryModelId?: unknown;
80
+ }>;
81
+ };
82
+ mastracodePendingModelFallback?: {
83
+ toEntryId?: unknown;
84
+ threadId?: unknown;
85
+ } | null;
86
+ };
87
+ /**
88
+ * The active model route for memory: the session route, starting at a pending
89
+ * fallback hop captured for this thread.
90
+ */
91
+ export declare function getActiveMemoryRoute<TEntry extends {
92
+ id?: unknown;
93
+ memoryModelId?: unknown;
94
+ }>(state: {
95
+ modelRoute?: {
96
+ entries?: TEntry[];
97
+ };
98
+ mastracodePendingModelFallback?: MemoryRouteState['mastracodePendingModelFallback'];
99
+ } | undefined, threadId?: string | null): TEntry[];
100
+ /**
101
+ * The memory model the active route applies to both OM roles: `'auto'`, the
102
+ * first concrete memory model, or `undefined` when the route sets none (both
103
+ * roles then follow their `/om` settings).
104
+ */
105
+ export declare function getActiveRouteMemoryModelId(state: Readonly<Record<string, unknown>> | undefined, threadId?: string | null): string | undefined;
106
+ /**
107
+ * Goal judge model resolver for the agent's `goal.judge` config. Resolves the
108
+ * configured goal judge model through mastracode's gateway so provider
109
+ * credentials (stored in auth storage, not just env) are injected — a bare model
110
+ * id handed to core's default model router would fail to find the API key.
111
+ *
112
+ * Returns `undefined` when no judge model is configured, which keeps the goal
113
+ * step a complete no-op (the goal mechanism requires a judge to do anything).
114
+ *
115
+ * `settingsPath` must be the same source `createMastraCode()` reads from so the
116
+ * judge model and the goal budget (`goalMaxTurns`) come from one config — with a
117
+ * custom `settingsPath` a bare `loadSettings()` here could read a different file
118
+ * and silently turn the goal step into a no-op.
119
+ */
120
+ export declare function getGoalJudgeModel({ requestContext }: {
121
+ requestContext: RequestContext;
122
+ }, settingsPath?: string): ResolvedModel | undefined;
123
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/agents/model.ts"],"names":[],"mappings":"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"}