@mastra/factory 0.23.0-alpha.1 → 0.23.0-alpha.3

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 (75) hide show
  1. package/dist/factory.d.ts +8 -0
  2. package/dist/factory.d.ts.map +1 -1
  3. package/dist/factory.js +16 -6
  4. package/dist/factory.js.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/integrations/github/integration.d.ts +7 -2
  7. package/dist/integrations/github/integration.d.ts.map +1 -1
  8. package/dist/integrations/github/integration.js +5 -2
  9. package/dist/integrations/github/integration.js.map +1 -1
  10. package/dist/integrations/github/routes.d.ts.map +1 -1
  11. package/dist/integrations/github/routes.js +9 -1
  12. package/dist/integrations/github/routes.js.map +1 -1
  13. package/dist/integrations/platform/github/integration.d.ts +3 -1
  14. package/dist/integrations/platform/github/integration.d.ts.map +1 -1
  15. package/dist/integrations/platform/github/integration.js +2 -2
  16. package/dist/integrations/platform/github/integration.js.map +1 -1
  17. package/dist/integrations/slack/slack.d.ts +5 -40
  18. package/dist/integrations/slack/slack.d.ts.map +1 -1
  19. package/dist/integrations/slack/slack.js +43 -132
  20. package/dist/integrations/slack/slack.js.map +1 -1
  21. package/dist/integrations/subscription-session.js +1 -1
  22. package/dist/routes/config.d.ts +3 -0
  23. package/dist/routes/config.d.ts.map +1 -1
  24. package/dist/routes/config.js +73 -3
  25. package/dist/routes/config.js.map +1 -1
  26. package/dist/routes/contracts.d.ts +12 -2
  27. package/dist/routes/contracts.d.ts.map +1 -1
  28. package/dist/routes/contracts.js +2 -2
  29. package/dist/routes/contracts.js.map +1 -1
  30. package/dist/routes/projects.d.ts.map +1 -1
  31. package/dist/routes/projects.js +11 -2
  32. package/dist/routes/projects.js.map +1 -1
  33. package/dist/routes/surface.d.ts.map +1 -1
  34. package/dist/routes/surface.js +13 -4
  35. package/dist/routes/surface.js.map +1 -1
  36. package/dist/routes/tenant-credentials.d.ts +12 -11
  37. package/dist/routes/tenant-credentials.d.ts.map +1 -1
  38. package/dist/routes/tenant-credentials.js +42 -28
  39. package/dist/routes/tenant-credentials.js.map +1 -1
  40. package/dist/routes/work-items.d.ts.map +1 -1
  41. package/dist/routes/work-items.js +7 -3
  42. package/dist/routes/work-items.js.map +1 -1
  43. package/dist/rules/start-coordinator.d.ts +8 -1
  44. package/dist/rules/start-coordinator.d.ts.map +1 -1
  45. package/dist/rules/start-coordinator.js +30 -10
  46. package/dist/rules/start-coordinator.js.map +1 -1
  47. package/dist/session/credential-policy.d.ts +20 -0
  48. package/dist/session/credential-policy.d.ts.map +1 -0
  49. package/dist/session/credential-policy.js +59 -0
  50. package/dist/session/credential-policy.js.map +1 -0
  51. package/dist/session/default-model-hydration.d.ts +13 -7
  52. package/dist/session/default-model-hydration.d.ts.map +1 -1
  53. package/dist/session/default-model-hydration.js +57 -12
  54. package/dist/session/default-model-hydration.js.map +1 -1
  55. package/dist/session/factory-session.d.ts +19 -9
  56. package/dist/session/factory-session.d.ts.map +1 -1
  57. package/dist/session/factory-session.js +56 -37
  58. package/dist/session/factory-session.js.map +1 -1
  59. package/dist/storage/domains/credentials/base.d.ts +4 -8
  60. package/dist/storage/domains/credentials/base.d.ts.map +1 -1
  61. package/dist/storage/domains/credentials/base.js +3 -7
  62. package/dist/storage/domains/credentials/base.js.map +1 -1
  63. package/dist/storage/domains/projects/base.d.ts +13 -5
  64. package/dist/storage/domains/projects/base.d.ts.map +1 -1
  65. package/dist/storage/domains/projects/base.js +16 -7
  66. package/dist/storage/domains/projects/base.js.map +1 -1
  67. package/dist/storage/domains/work-items/base.d.ts +9 -0
  68. package/dist/storage/domains/work-items/base.d.ts.map +1 -1
  69. package/dist/storage/domains/work-items/base.js +17 -1
  70. package/dist/storage/domains/work-items/base.js.map +1 -1
  71. package/dist/supervisor/session.d.ts +3 -1
  72. package/dist/supervisor/session.d.ts.map +1 -1
  73. package/dist/supervisor/session.js +21 -3
  74. package/dist/supervisor/session.js.map +1 -1
  75. package/package.json +9 -8
package/dist/factory.d.ts CHANGED
@@ -18,6 +18,7 @@
18
18
  * Integration readiness is derived from each instance's declared capabilities
19
19
  * and the storage domains those capabilities require.
20
20
  */
21
+ import type { BuiltinToolId } from '@mastra/core/agent-controller';
21
22
  import type { PubSub } from '@mastra/core/events';
22
23
  import type { Knowledge } from '@mastra/core/knowledge';
23
24
  import type { Mastra } from '@mastra/core/mastra';
@@ -108,6 +109,13 @@ export interface MastraFactoryConfig {
108
109
  * (`'eager'`), so the boot overlaps the model's own latency.
109
110
  */
110
111
  sandboxStart?: FactorySandboxStart;
112
+ /**
113
+ * Agent controller built-in tools (e.g. `submit_plan`) removed from every
114
+ * Factory session, along with their prompt guidance. Use this when a custom
115
+ * board gates planning with its own phase transition, so the in-session plan
116
+ * approval cannot bypass that gate.
117
+ */
118
+ disableBuiltinTools?: BuiltinToolId[];
111
119
  /** Background Factory dispatcher configuration. */
112
120
  dispatcher?: MastraFactoryDispatcherConfig;
113
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/factory.js CHANGED
@@ -6,6 +6,9 @@ import { createBoardRegistry } from "./boards/registry.js";
6
6
  import "./boards/index.js";
7
7
  import { isValidGitRef } from "./sandbox/git-ref.js";
8
8
  import { FactoryEnvironmentStateProcessor } from "./session/environment-state-processor.js";
9
+ import { createPlaintextFactorySecretEncryption } from "./secret-encryption.js";
10
+ import { ModelCredentialsStorage } from "./storage/domains/credentials/base.js";
11
+ import { createTenantCredentialPrimer, primeTenantCredentials, registerTenantCredentialResolver } from "./routes/tenant-credentials.js";
9
12
  import { FactoryProjectsStorage } from "./storage/domains/projects/base.js";
10
13
  import { SourceControlStorage } from "./storage/domains/source-control/base.js";
11
14
  import { environmentSlugs, resolveSessionRepositories } from "./session/environment-repositories.js";
@@ -25,15 +28,13 @@ import { PlatformApiClient, platformApiClientConfigFromEnv } from "./integration
25
28
  import { buildPlatformConnectRoutes } from "./integrations/platform/connect/routes.js";
26
29
  import { observeSessionFirstExec } from "./session/first-exec-capture.js";
27
30
  import { observeSessionFilesystem } from "./session/filesystem-capture.js";
28
- import { createPlaintextFactorySecretEncryption } from "./secret-encryption.js";
29
- import { ModelCredentialsStorage } from "./storage/domains/credentials/base.js";
30
- import { createTenantCredentialPrimer, primeTenantCredentials, registerTenantCredentialResolver } from "./routes/tenant-credentials.js";
31
31
  import { prepareSessionRunContext } from "./integrations/subscription-session.js";
32
32
  import { PlatformGithubIntegration } from "./integrations/platform/github/integration.js";
33
33
  import { PlatformGitLabIntegration } from "./integrations/platform/gitlab/integration.js";
34
34
  import { PlatformIncidentioIntegration } from "./integrations/platform/incidentio/integration.js";
35
35
  import { PlatformJiraIntegration } from "./integrations/platform/jira/integration.js";
36
36
  import { PlatformLinearIntegration } from "./integrations/platform/linear/integration.js";
37
+ import { resolveFactoryCredentialTenant } from "./session/credential-policy.js";
37
38
  import { hydrateSessionMemorySettings, layerPersonalMemorySettings } from "./session/memory-settings-hydration.js";
38
39
  import { MemorySettingsStorage, factoryMemorySettingsUserId } from "./storage/domains/memory-settings/base.js";
39
40
  import { resolveDeploymentModelProviders } from "./routes/config.js";
@@ -338,7 +339,6 @@ var MastraFactory = class {
338
339
  allowedOrigins
339
340
  }));
340
341
  await timedPhase("prepare.storage.init", () => storage.init());
341
- if (auth) registerTenantCredentialResolver(modelCredentialsStorage, deploymentModelProviders);
342
342
  registerCustomProvidersSource({
343
343
  storage: customProvidersStorage,
344
344
  authEnabled: Boolean(auth)
@@ -355,6 +355,11 @@ var MastraFactory = class {
355
355
  if (integration.versionControl && integrationSourceControl) integration.versionControl.initialize({ storage: integrationSourceControl });
356
356
  }
357
357
  const sourceControlSessions = createSourceControlSessionLookup([.../* @__PURE__ */ new Set(["github", ...integrations.filter((integration) => integration.versionControl).map(({ id }) => id)])].map((id) => sourceControlStorage.forIntegration(id)));
358
+ if (auth) registerTenantCredentialResolver(modelCredentialsStorage, deploymentModelProviders, (requestContext) => resolveFactoryCredentialTenant(requestContext, {
359
+ projects: factoryProjectsStorage,
360
+ sourceControl: sourceControlSessions,
361
+ workItems: workItemsStorage
362
+ }));
358
363
  const integrationRegistrations = integrations.map((integration) => {
359
364
  const requiredDomains = [
360
365
  "integrations",
@@ -567,6 +572,7 @@ var MastraFactory = class {
567
572
  const prepared = await timedPhase("prepare.controllerMount", () => prepareAgentControllerMount({
568
573
  controllerId: CONTROLLER_ID,
569
574
  coAuthor: { name: "mastra-platform[bot]" },
575
+ ...this.#config.disableBuiltinTools?.length ? { disableBuiltinTools: this.#config.disableBuiltinTools } : {},
570
576
  modes: false,
571
577
  workspace: createWorkspaceFactory({
572
578
  ...sandboxConfig ? { sandbox: sandboxConfig } : {},
@@ -891,12 +897,16 @@ var MastraFactory = class {
891
897
  observeSessionThreadTitle(session, { sourceControl: { sessions: sourceControlSessions } });
892
898
  observeSessionRunEnd(session, { audit: auditDomain });
893
899
  });
894
- prepared.base.controller.onSessionCreated((session) => hydrateSupervisorSession(session, { projects: factoryProjectsStorage }).catch((error) => {
900
+ prepared.base.controller.onSessionCreated((session) => hydrateSupervisorSession(session, {
901
+ projects: factoryProjectsStorage,
902
+ modelDefaults: modelDefaultsStorage
903
+ }).catch((error) => {
895
904
  console.warn("[Factory Supervisor] Failed to hydrate supervisor session", { error: error instanceof Error ? error.message : String(error) });
896
905
  }), { blocking: true });
897
906
  prepared.base.controller.onSessionCreated((session) => hydrateSessionMemorySettings(session, { sourceControl: { sessions: sourceControlSessions } }), { blocking: true });
898
907
  prepared.base.controller.onSessionCreated((session) => hydrateSessionDefaultModel(session, {
899
- sourceControl: { sessions: sourceControlSessions },
908
+ sourceControl: sourceControlSessions,
909
+ projects: factoryProjectsStorage,
900
910
  workItems: workItemsStorage,
901
911
  modelDefaults: modelDefaultsStorage
902
912
  }), { blocking: true });