@mastra/factory 0.23.0-alpha.2 → 0.23.0-alpha.4

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 (53) hide show
  1. package/dist/factory.d.ts +8 -0
  2. package/dist/factory.d.ts.map +1 -1
  3. package/dist/factory.js +2 -1
  4. package/dist/factory.js.map +1 -1
  5. package/dist/integrations/slack/slack.d.ts +4 -39
  6. package/dist/integrations/slack/slack.d.ts.map +1 -1
  7. package/dist/integrations/slack/slack.js +18 -77
  8. package/dist/integrations/slack/slack.js.map +1 -1
  9. package/dist/routes/config.d.ts +3 -0
  10. package/dist/routes/config.d.ts.map +1 -1
  11. package/dist/routes/config.js +72 -2
  12. package/dist/routes/config.js.map +1 -1
  13. package/dist/routes/contracts.d.ts +12 -2
  14. package/dist/routes/contracts.d.ts.map +1 -1
  15. package/dist/routes/contracts.js +2 -2
  16. package/dist/routes/contracts.js.map +1 -1
  17. package/dist/routes/projects.d.ts.map +1 -1
  18. package/dist/routes/projects.js +7 -2
  19. package/dist/routes/projects.js.map +1 -1
  20. package/dist/routes/surface.d.ts.map +1 -1
  21. package/dist/routes/surface.js +3 -1
  22. package/dist/routes/surface.js.map +1 -1
  23. package/dist/routes/work-items.d.ts.map +1 -1
  24. package/dist/routes/work-items.js +4 -2
  25. package/dist/routes/work-items.js.map +1 -1
  26. package/dist/rules/start-coordinator.d.ts +3 -2
  27. package/dist/rules/start-coordinator.d.ts.map +1 -1
  28. package/dist/rules/start-coordinator.js +2 -1
  29. package/dist/rules/start-coordinator.js.map +1 -1
  30. package/dist/session/credential-policy.d.ts +13 -5
  31. package/dist/session/credential-policy.d.ts.map +1 -1
  32. package/dist/session/credential-policy.js +23 -10
  33. package/dist/session/credential-policy.js.map +1 -1
  34. package/dist/session/default-model-hydration.d.ts +6 -1
  35. package/dist/session/default-model-hydration.d.ts.map +1 -1
  36. package/dist/session/default-model-hydration.js +18 -17
  37. package/dist/session/default-model-hydration.js.map +1 -1
  38. package/dist/session/factory-session.d.ts +5 -3
  39. package/dist/session/factory-session.d.ts.map +1 -1
  40. package/dist/session/factory-session.js +2 -1
  41. package/dist/session/factory-session.js.map +1 -1
  42. package/dist/storage/domains/projects/base.d.ts +13 -5
  43. package/dist/storage/domains/projects/base.d.ts.map +1 -1
  44. package/dist/storage/domains/projects/base.js +16 -7
  45. package/dist/storage/domains/projects/base.js.map +1 -1
  46. package/dist/storage/domains/work-items/base.d.ts +8 -0
  47. package/dist/storage/domains/work-items/base.d.ts.map +1 -1
  48. package/dist/storage/domains/work-items/base.js +14 -0
  49. package/dist/storage/domains/work-items/base.js.map +1 -1
  50. package/dist/supervisor/session.d.ts.map +1 -1
  51. package/dist/supervisor/session.js +2 -1
  52. package/dist/supervisor/session.js.map +1 -1
  53. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/supervisor/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,+BAA+B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAE7F,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI9F;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;CAC/C,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAWlC;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IACJ,QAAQ,EAAE,sBAAsB,CAAC;IACjC,aAAa,EAAE,oBAAoB,CAAC;CACrC,GACA,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/supervisor/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,+BAA+B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAKnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAE7F,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAI9F;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;CAC/C,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAWlC;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;IACJ,QAAQ,EAAE,sBAAsB,CAAC;IACjC,aAAa,EAAE,oBAAoB,CAAC;CACrC,GACA,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -52,7 +52,8 @@ async function hydrateSupervisorSession(session, deps) {
52
52
  modelDefaults: deps.modelDefaults,
53
53
  factoryProjectId,
54
54
  orgId: project.orgId,
55
- ownerUserId: project.createdBy
55
+ ownerUserId: project.createdBy,
56
+ context: "run"
56
57
  });
57
58
  await session.state.set({
58
59
  factoryProjectId,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","names":[],"sources":["../../src/supervisor/session.ts"],"sourcesContent":["/**\n * The supervisor session: one per factory, addressed by a self-describing\n * resourceId so a restarted server can recover its scope without a lookup\n * table. The session has no repository, no sandbox and no work-item seat —\n * its tools talk to storage directly.\n */\n\nimport type { MastraCodeState } from '@mastra/code-sdk/schema';\nimport type { AgentController, AgentControllerRequestContext } from '@mastra/core/agent-controller';\nimport type { RequestContext } from '@mastra/core/request-context';\n\nimport { getFactoryAuthOrgId, getFactoryAuthUserFromContext } from '../auth.js';\nimport { primeTenantCredentialsForTenant } from '../routes/tenant-credentials.js';\nimport { hydrateFactorySession, resolveFactorySessionModel } from '../session/factory-session.js';\nimport type { ModelDefaultsStorage } from '../storage/domains/model-defaults/base.js';\nimport type { FactoryProjectsStorage } from '../storage/domains/projects/base.js';\nimport type { SupervisorScope } from './read-tools.js';\n\nconst RESOURCE_PREFIX = 'factory-supervisor:';\n\ntype FactorySession = Awaited<ReturnType<AgentController<MastraCodeState>['createSession']>>;\n\nexport function supervisorResourceId(factoryProjectId: string): string {\n return `${RESOURCE_PREFIX}${factoryProjectId}`;\n}\n\n/** The supervisor thread shares the session's id: one thread per factory. */\nexport function supervisorThreadId(factoryProjectId: string): string {\n return supervisorResourceId(factoryProjectId);\n}\n\nexport function parseSupervisorResourceId(resourceId: string | undefined | null): string | null {\n if (!resourceId?.startsWith(RESOURCE_PREFIX)) return null;\n const factoryProjectId = resourceId.slice(RESOURCE_PREFIX.length);\n return factoryProjectId.length > 0 ? factoryProjectId : null;\n}\n\n/**\n * Scope a request to a supervisor session the caller is allowed to drive:\n * the resourceId must name a project, and the caller's org must own it.\n * Anything else yields null and the supervisor tools stay unregistered.\n */\nexport async function resolveSupervisorScope(options: {\n requestContext: RequestContext | undefined;\n projects: Pick<FactoryProjectsStorage, 'get'>;\n}): Promise<SupervisorScope | null> {\n const { requestContext } = options;\n if (!requestContext || typeof requestContext.get !== 'function') return null;\n const context = requestContext.get('controller') as AgentControllerRequestContext<MastraCodeState> | undefined;\n const factoryProjectId = parseSupervisorResourceId(context?.resourceId);\n if (!factoryProjectId) return null;\n const orgId = getFactoryAuthOrgId(getFactoryAuthUserFromContext(requestContext));\n if (!orgId) return null;\n const project = await options.projects.get({ orgId, id: factoryProjectId });\n if (!project) return null;\n return { orgId, factoryProjectId };\n}\n\n/**\n * Session-start hook: stamp the owning project onto a supervisor session and\n * apply the factory's default model. Runs on every (re)creation so a restarted\n * server heals the in-memory state. Sessions\n * that are not supervisors are left untouched.\n */\nexport async function hydrateSupervisorSession(\n session: FactorySession,\n deps: {\n projects: FactoryProjectsStorage;\n modelDefaults: ModelDefaultsStorage;\n },\n): Promise<void> {\n const factoryProjectId = parseSupervisorResourceId(session.identity.getResourceId());\n if (!factoryProjectId) return;\n const project = await deps.projects.getById({ id: factoryProjectId });\n if (!project) return;\n const sessionModel = await resolveFactorySessionModel({\n projects: deps.projects,\n modelDefaults: deps.modelDefaults,\n factoryProjectId,\n orgId: project.orgId,\n ownerUserId: project.createdBy,\n });\n await session.state.set({\n factoryProjectId,\n factoryOrgId: project.orgId,\n factoryModelScope: sessionModel.modelScope,\n factoryOwnerUserId: project.createdBy,\n });\n await primeTenantCredentialsForTenant({\n orgId: project.orgId,\n userId: project.createdBy,\n credentialScope: sessionModel.modelScope,\n });\n await hydrateFactorySession(session, {\n orgId: project.orgId,\n modelScope: sessionModel.modelScope,\n ownerUserId: project.createdBy,\n defaultModelId: sessionModel.modelId,\n });\n}\n"],"mappings":";;;;AAkBA,MAAM,kBAAkB;AAIxB,SAAgB,qBAAqB,kBAAkC;CACrE,OAAO,GAAG,kBAAkB;AAC9B;;AAGA,SAAgB,mBAAmB,kBAAkC;CACnE,OAAO,qBAAqB,gBAAgB;AAC9C;AAEA,SAAgB,0BAA0B,YAAsD;CAC9F,IAAI,CAAC,YAAY,WAAW,eAAe,GAAG,OAAO;CACrD,MAAM,mBAAmB,WAAW,MAAM,EAAsB;CAChE,OAAO,iBAAiB,SAAS,IAAI,mBAAmB;AAC1D;;;;;;AAOA,eAAsB,uBAAuB,SAGT;CAClC,MAAM,EAAE,mBAAmB;CAC3B,IAAI,CAAC,kBAAkB,OAAO,eAAe,QAAQ,YAAY,OAAO;CAExE,MAAM,mBAAmB,0BADT,eAAe,IAAI,YACsB,CAAC,EAAE,UAAU;CACtE,IAAI,CAAC,kBAAkB,OAAO;CAC9B,MAAM,QAAQ,oBAAoB,8BAA8B,cAAc,CAAC;CAC/E,IAAI,CAAC,OAAO,OAAO;CAEnB,IAAI,CAAC,MADiB,QAAQ,SAAS,IAAI;EAAE;EAAO,IAAI;CAAiB,CAAC,GAC5D,OAAO;CACrB,OAAO;EAAE;EAAO;CAAiB;AACnC;;;;;;;AAQA,eAAsB,yBACpB,SACA,MAIe;CACf,MAAM,mBAAmB,0BAA0B,QAAQ,SAAS,cAAc,CAAC;CACnF,IAAI,CAAC,kBAAkB;CACvB,MAAM,UAAU,MAAM,KAAK,SAAS,QAAQ,EAAE,IAAI,iBAAiB,CAAC;CACpE,IAAI,CAAC,SAAS;CACd,MAAM,eAAe,MAAM,2BAA2B;EACpD,UAAU,KAAK;EACf,eAAe,KAAK;EACpB;EACA,OAAO,QAAQ;EACf,aAAa,QAAQ;CACvB,CAAC;CACD,MAAM,QAAQ,MAAM,IAAI;EACtB;EACA,cAAc,QAAQ;EACtB,mBAAmB,aAAa;EAChC,oBAAoB,QAAQ;CAC9B,CAAC;CACD,MAAM,gCAAgC;EACpC,OAAO,QAAQ;EACf,QAAQ,QAAQ;EAChB,iBAAiB,aAAa;CAChC,CAAC;CACD,MAAM,sBAAsB,SAAS;EACnC,OAAO,QAAQ;EACf,YAAY,aAAa;EACzB,aAAa,QAAQ;EACrB,gBAAgB,aAAa;CAC/B,CAAC;AACH"}
1
+ {"version":3,"file":"session.js","names":[],"sources":["../../src/supervisor/session.ts"],"sourcesContent":["/**\n * The supervisor session: one per factory, addressed by a self-describing\n * resourceId so a restarted server can recover its scope without a lookup\n * table. The session has no repository, no sandbox and no work-item seat —\n * its tools talk to storage directly.\n */\n\nimport type { MastraCodeState } from '@mastra/code-sdk/schema';\nimport type { AgentController, AgentControllerRequestContext } from '@mastra/core/agent-controller';\nimport type { RequestContext } from '@mastra/core/request-context';\n\nimport { getFactoryAuthOrgId, getFactoryAuthUserFromContext } from '../auth.js';\nimport { primeTenantCredentialsForTenant } from '../routes/tenant-credentials.js';\nimport { hydrateFactorySession, resolveFactorySessionModel } from '../session/factory-session.js';\nimport type { ModelDefaultsStorage } from '../storage/domains/model-defaults/base.js';\nimport type { FactoryProjectsStorage } from '../storage/domains/projects/base.js';\nimport type { SupervisorScope } from './read-tools.js';\n\nconst RESOURCE_PREFIX = 'factory-supervisor:';\n\ntype FactorySession = Awaited<ReturnType<AgentController<MastraCodeState>['createSession']>>;\n\nexport function supervisorResourceId(factoryProjectId: string): string {\n return `${RESOURCE_PREFIX}${factoryProjectId}`;\n}\n\n/** The supervisor thread shares the session's id: one thread per factory. */\nexport function supervisorThreadId(factoryProjectId: string): string {\n return supervisorResourceId(factoryProjectId);\n}\n\nexport function parseSupervisorResourceId(resourceId: string | undefined | null): string | null {\n if (!resourceId?.startsWith(RESOURCE_PREFIX)) return null;\n const factoryProjectId = resourceId.slice(RESOURCE_PREFIX.length);\n return factoryProjectId.length > 0 ? factoryProjectId : null;\n}\n\n/**\n * Scope a request to a supervisor session the caller is allowed to drive:\n * the resourceId must name a project, and the caller's org must own it.\n * Anything else yields null and the supervisor tools stay unregistered.\n */\nexport async function resolveSupervisorScope(options: {\n requestContext: RequestContext | undefined;\n projects: Pick<FactoryProjectsStorage, 'get'>;\n}): Promise<SupervisorScope | null> {\n const { requestContext } = options;\n if (!requestContext || typeof requestContext.get !== 'function') return null;\n const context = requestContext.get('controller') as AgentControllerRequestContext<MastraCodeState> | undefined;\n const factoryProjectId = parseSupervisorResourceId(context?.resourceId);\n if (!factoryProjectId) return null;\n const orgId = getFactoryAuthOrgId(getFactoryAuthUserFromContext(requestContext));\n if (!orgId) return null;\n const project = await options.projects.get({ orgId, id: factoryProjectId });\n if (!project) return null;\n return { orgId, factoryProjectId };\n}\n\n/**\n * Session-start hook: stamp the owning project onto a supervisor session and\n * apply the factory's default model. Runs on every (re)creation so a restarted\n * server heals the in-memory state. Sessions\n * that are not supervisors are left untouched.\n */\nexport async function hydrateSupervisorSession(\n session: FactorySession,\n deps: {\n projects: FactoryProjectsStorage;\n modelDefaults: ModelDefaultsStorage;\n },\n): Promise<void> {\n const factoryProjectId = parseSupervisorResourceId(session.identity.getResourceId());\n if (!factoryProjectId) return;\n const project = await deps.projects.getById({ id: factoryProjectId });\n if (!project) return;\n const sessionModel = await resolveFactorySessionModel({\n projects: deps.projects,\n modelDefaults: deps.modelDefaults,\n factoryProjectId,\n orgId: project.orgId,\n ownerUserId: project.createdBy,\n context: 'run',\n });\n await session.state.set({\n factoryProjectId,\n factoryOrgId: project.orgId,\n factoryModelScope: sessionModel.modelScope,\n factoryOwnerUserId: project.createdBy,\n });\n await primeTenantCredentialsForTenant({\n orgId: project.orgId,\n userId: project.createdBy,\n credentialScope: sessionModel.modelScope,\n });\n await hydrateFactorySession(session, {\n orgId: project.orgId,\n modelScope: sessionModel.modelScope,\n ownerUserId: project.createdBy,\n defaultModelId: sessionModel.modelId,\n });\n}\n"],"mappings":";;;;AAkBA,MAAM,kBAAkB;AAIxB,SAAgB,qBAAqB,kBAAkC;CACrE,OAAO,GAAG,kBAAkB;AAC9B;;AAGA,SAAgB,mBAAmB,kBAAkC;CACnE,OAAO,qBAAqB,gBAAgB;AAC9C;AAEA,SAAgB,0BAA0B,YAAsD;CAC9F,IAAI,CAAC,YAAY,WAAW,eAAe,GAAG,OAAO;CACrD,MAAM,mBAAmB,WAAW,MAAM,EAAsB;CAChE,OAAO,iBAAiB,SAAS,IAAI,mBAAmB;AAC1D;;;;;;AAOA,eAAsB,uBAAuB,SAGT;CAClC,MAAM,EAAE,mBAAmB;CAC3B,IAAI,CAAC,kBAAkB,OAAO,eAAe,QAAQ,YAAY,OAAO;CAExE,MAAM,mBAAmB,0BADT,eAAe,IAAI,YACsB,CAAC,EAAE,UAAU;CACtE,IAAI,CAAC,kBAAkB,OAAO;CAC9B,MAAM,QAAQ,oBAAoB,8BAA8B,cAAc,CAAC;CAC/E,IAAI,CAAC,OAAO,OAAO;CAEnB,IAAI,CAAC,MADiB,QAAQ,SAAS,IAAI;EAAE;EAAO,IAAI;CAAiB,CAAC,GAC5D,OAAO;CACrB,OAAO;EAAE;EAAO;CAAiB;AACnC;;;;;;;AAQA,eAAsB,yBACpB,SACA,MAIe;CACf,MAAM,mBAAmB,0BAA0B,QAAQ,SAAS,cAAc,CAAC;CACnF,IAAI,CAAC,kBAAkB;CACvB,MAAM,UAAU,MAAM,KAAK,SAAS,QAAQ,EAAE,IAAI,iBAAiB,CAAC;CACpE,IAAI,CAAC,SAAS;CACd,MAAM,eAAe,MAAM,2BAA2B;EACpD,UAAU,KAAK;EACf,eAAe,KAAK;EACpB;EACA,OAAO,QAAQ;EACf,aAAa,QAAQ;EACrB,SAAS;CACX,CAAC;CACD,MAAM,QAAQ,MAAM,IAAI;EACtB;EACA,cAAc,QAAQ;EACtB,mBAAmB,aAAa;EAChC,oBAAoB,QAAQ;CAC9B,CAAC;CACD,MAAM,gCAAgC;EACpC,OAAO,QAAQ;EACf,QAAQ,QAAQ;EAChB,iBAAiB,aAAa;CAChC,CAAC;CACD,MAAM,sBAAsB,SAAS;EACnC,OAAO,QAAQ;EACf,YAAY,aAAa;EACzB,aAAa,QAAQ;EACrB,gBAAgB,aAAa;CAC/B,CAAC;AACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/factory",
3
- "version": "0.23.0-alpha.2",
3
+ "version": "0.23.0-alpha.4",
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": {
@@ -57,11 +57,11 @@
57
57
  "hono": "^4.13.7",
58
58
  "posthog-node": "^5.46.1",
59
59
  "zod": "^4.6.4",
60
- "@mastra/auth-workos": "1.6.6",
61
- "@mastra/code-sdk": "1.14.0-alpha.2",
62
60
  "@mastra/auth-studio": "1.3.9",
63
- "@mastra/slack": "1.7.2",
64
- "@mastra/core": "1.78.0-alpha.2"
61
+ "@mastra/auth-workos": "1.6.6",
62
+ "@mastra/code-sdk": "1.14.0-alpha.4",
63
+ "@mastra/core": "1.78.0-alpha.4",
64
+ "@mastra/slack": "1.7.2"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/node": "22.20.1",
@@ -71,11 +71,11 @@
71
71
  "typescript-eslint": "^8.57.0",
72
72
  "vitest": "4.1.11",
73
73
  "@internal/lint": "0.0.143",
74
- "@mastra/pg": "1.31.2-alpha.0",
75
- "@internal/workspace": "0.0.15",
76
74
  "@mastra/libsql": "1.26.2-alpha.0",
77
- "@mastra/server": "1.78.0-alpha.2",
78
- "@internal/types-builder": "0.0.118"
75
+ "@mastra/pg": "1.31.2-alpha.1",
76
+ "@mastra/server": "1.78.0-alpha.4",
77
+ "@internal/types-builder": "0.0.118",
78
+ "@internal/workspace": "0.0.15"
79
79
  },
80
80
  "engines": {
81
81
  "node": ">=22.19.0"