@mastra/factory 0.8.0-alpha.15 → 0.8.0-alpha.16

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 (2) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @mastra/factory
2
2
 
3
+ ## 0.8.0-alpha.16
4
+
5
+ ### Minor Changes
6
+
7
+ - Made Factory session workspace resolution lazy. Resolving a session now returns the workspace immediately with a lazy sandbox handle; sandbox provisioning, repository materialization, branch checkout, and setup run in the background at session start (or on the first filesystem/sandbox operation) instead of blocking agent start. Storage reads during resolution are parallelized, failed background materializations are retried on the next use, and metadata-only resolutions such as thread-list polling never trigger sandbox work. ([#21803](https://github.com/mastra-ai/mastra/pull/21803))
8
+
9
+ - Sped up new Factory agent sessions with warm repo base checkpoints. When a repository is connected, Factory now builds a base sandbox checkpoint (clone plus setup command) in the background, rebuilds it when pull requests merge to the default branch or pushes land there, and keeps it fresh via the periodic reconcile sweep. New sessions boot from the base checkpoint and skip the full clone and setup, falling back to the previous cold path when no checkpoint is available. ([#21803](https://github.com/mastra-ai/mastra/pull/21803))
10
+
11
+ ### Patch Changes
12
+
13
+ - Factory sessions can start before their sandbox is ready: resolving a session returns its workspace immediately, and background checkpoint-build failures now show up in logs instead of disappearing. ([#21803](https://github.com/mastra-ai/mastra/pull/21803))
14
+
15
+ - Stop a running local Factory session from wedging when its checkout directory disappears. A tool spawned into a removed directory fails with `spawn /bin/sh ENOENT` — an error that names the shell rather than the sandbox — so it was never recognized as a dead sandbox, and every later filesystem or command tool (including GitHub token refresh) failed the same way for the rest of the run. A missing working directory is now treated as the local equivalent of a destroyed sandbox: if the session is still live, the revival ladder rebuilds the checkout and retries the command; if the session was retired (retirement deletes the checkout on purpose), the run fails fast with a clear retirement error instead of resurrecting the retired checkout — before provisioning anything, so a retired session never consumes a sandbox or fleet budget slot, and a sandbox already mid-build when retirement lands is torn down rather than left bound to a dead session. A missing _command_ reports the same ENOENT code, so the working directory is probed to tell the two apart and healthy sandboxes are never rebuilt for an unknown command. ([#21803](https://github.com/mastra-ai/mastra/pull/21803))
16
+
17
+ - Factory sessions now revive a sandbox that dies mid-session instead of erroring the turn. When a command fails with a destroyed-sandbox error (for example after idle garbage collection), or with an exec-transport error whose connection never opened (so the command provably never started), the session drops the dead handle, re-runs the provisioning pipeline (reattach, checkpoint-seeded provision, or fresh clone), and retries the command once. Transport errors where the command may have already run are surfaced instead of replayed, so side effects like `git commit` cannot execute twice. Concurrent failures coalesce onto a single revival. ([#21803](https://github.com/mastra-ai/mastra/pull/21803))
18
+
19
+ - Updated dependencies [[`58c43d3`](https://github.com/mastra-ai/mastra/commit/58c43d3f7cb2eeaeb8ac733ae71dde822348e588)]:
20
+ - @mastra/core@1.60.0-alpha.14
21
+ - @mastra/code-sdk@1.3.0-alpha.14
22
+
3
23
  ## 0.8.0-alpha.15
4
24
 
5
25
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/factory",
3
- "version": "0.8.0-alpha.15",
3
+ "version": "0.8.0-alpha.16",
4
4
  "description": "Mastra Software Factory module: the server core behind the Mastra Software Factory — storage domains, integrations, and surfaces for agent-powered software delivery",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -52,10 +52,10 @@
52
52
  "hono": "^4.12.8",
53
53
  "zod": "^4.3.6",
54
54
  "@mastra/auth-studio": "1.3.4-alpha.0",
55
+ "@mastra/code-sdk": "1.3.0-alpha.14",
56
+ "@mastra/slack": "1.6.1",
55
57
  "@mastra/auth-workos": "1.6.4",
56
- "@mastra/code-sdk": "1.3.0-alpha.13",
57
- "@mastra/core": "1.60.0-alpha.13",
58
- "@mastra/slack": "1.6.1"
58
+ "@mastra/core": "1.60.0-alpha.14"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "22.20.1",
@@ -65,9 +65,9 @@
65
65
  "typescript-eslint": "^8.57.0",
66
66
  "vitest": "4.1.10",
67
67
  "@internal/lint": "0.0.123",
68
- "@mastra/libsql": "1.21.0-alpha.1",
68
+ "@mastra/pg": "1.21.0-alpha.4",
69
69
  "@internal/types-builder": "0.0.98",
70
- "@mastra/pg": "1.21.0-alpha.4"
70
+ "@mastra/libsql": "1.21.0-alpha.1"
71
71
  },
72
72
  "engines": {
73
73
  "node": ">=22.19.0"