@mastra/core 0.1.27-alpha.1 → 0.1.27-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 (125) hide show
  1. package/README.md +2 -34
  2. package/dist/{next-src/agent → agent}/index.d.ts +10 -3
  3. package/dist/agent/index.d.ts.map +1 -0
  4. package/dist/core.cjs.development.js +33 -14
  5. package/dist/core.cjs.development.js.map +1 -1
  6. package/dist/core.cjs.production.min.js +1 -1
  7. package/dist/core.cjs.production.min.js.map +1 -1
  8. package/dist/core.esm.js +33 -14
  9. package/dist/core.esm.js.map +1 -1
  10. package/dist/engine/index.d.ts.map +1 -0
  11. package/dist/engine/schema.d.ts.map +1 -0
  12. package/dist/engine/types.d.ts.map +1 -0
  13. package/dist/engine/utils.d.ts.map +1 -0
  14. package/dist/index.d.ts +8 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/{next-src/integration → integration}/index.d.ts +1 -3
  17. package/dist/integration/index.d.ts.map +1 -0
  18. package/dist/logger/index.d.ts.map +1 -0
  19. package/dist/{next-src → mastra}/index.d.ts +9 -22
  20. package/dist/mastra/index.d.ts.map +1 -0
  21. package/dist/sync/types.d.ts +16 -0
  22. package/dist/sync/types.d.ts.map +1 -0
  23. package/dist/tools/index.d.ts.map +1 -0
  24. package/dist/tools/types.d.ts.map +1 -0
  25. package/dist/{next-src/vector → vector}/index.d.ts +7 -0
  26. package/dist/vector/index.d.ts.map +1 -0
  27. package/dist/workflows/index.d.ts +102 -0
  28. package/dist/workflows/index.d.ts.map +1 -0
  29. package/dist/workflows/types.d.ts +67 -0
  30. package/dist/workflows/types.d.ts.map +1 -1
  31. package/package.json +14 -13
  32. package/dist/agents/agent-apis.d.ts +0 -1
  33. package/dist/agents/agent-apis.d.ts.map +0 -1
  34. package/dist/agents/file-logger.d.ts +0 -1
  35. package/dist/agents/file-logger.d.ts.map +0 -1
  36. package/dist/agents/index.d.ts +0 -1
  37. package/dist/agents/index.d.ts.map +0 -1
  38. package/dist/agents/openai/assistant.d.ts +0 -1
  39. package/dist/agents/openai/assistant.d.ts.map +0 -1
  40. package/dist/agents/utils.d.ts +0 -1
  41. package/dist/agents/utils.d.ts.map +0 -1
  42. package/dist/agents/vector-sync.d.ts +0 -1
  43. package/dist/agents/vector-sync.d.ts.map +0 -1
  44. package/dist/agents/vercel/index.d.ts +0 -1
  45. package/dist/agents/vercel/index.d.ts.map +0 -1
  46. package/dist/authenticator.d.ts +0 -1
  47. package/dist/authenticator.d.ts.map +0 -1
  48. package/dist/constants.d.ts +0 -2
  49. package/dist/constants.d.ts.map +0 -1
  50. package/dist/framework.d.ts +0 -1
  51. package/dist/framework.d.ts.map +0 -1
  52. package/dist/integration.d.ts +0 -1
  53. package/dist/integration.d.ts.map +0 -1
  54. package/dist/lib/index.d.ts +0 -2
  55. package/dist/lib/index.d.ts.map +0 -1
  56. package/dist/lib/utils/object.d.ts +0 -9
  57. package/dist/lib/utils/object.d.ts.map +0 -1
  58. package/dist/next/callback.d.ts +0 -1
  59. package/dist/next/callback.d.ts.map +0 -1
  60. package/dist/next/connect.d.ts +0 -1
  61. package/dist/next/connect.d.ts.map +0 -1
  62. package/dist/next/cron.d.ts +0 -1
  63. package/dist/next/cron.d.ts.map +0 -1
  64. package/dist/next/index.d.ts +0 -1
  65. package/dist/next/index.d.ts.map +0 -1
  66. package/dist/next/inngest.d.ts +0 -1
  67. package/dist/next/inngest.d.ts.map +0 -1
  68. package/dist/next/utils.d.ts +0 -1
  69. package/dist/next/utils.d.ts.map +0 -1
  70. package/dist/next/webhook.d.ts +0 -1
  71. package/dist/next/webhook.d.ts.map +0 -1
  72. package/dist/next-src/agent/index.d.ts.map +0 -1
  73. package/dist/next-src/engine/index.d.ts.map +0 -1
  74. package/dist/next-src/engine/schema.d.ts.map +0 -1
  75. package/dist/next-src/engine/types.d.ts.map +0 -1
  76. package/dist/next-src/engine/utils.d.ts.map +0 -1
  77. package/dist/next-src/index.d.ts.map +0 -1
  78. package/dist/next-src/integration/index.d.ts.map +0 -1
  79. package/dist/next-src/logger/index.d.ts.map +0 -1
  80. package/dist/next-src/tools/index.d.ts.map +0 -1
  81. package/dist/next-src/tools/types.d.ts.map +0 -1
  82. package/dist/next-src/vector/index.d.ts.map +0 -1
  83. package/dist/schemas.d.ts +0 -98
  84. package/dist/schemas.d.ts.map +0 -1
  85. package/dist/sync-factory.d.ts +0 -1
  86. package/dist/sync-factory.d.ts.map +0 -1
  87. package/dist/sync-fixtures/github.d.ts +0 -950
  88. package/dist/sync-fixtures/github.d.ts.map +0 -1
  89. package/dist/sync-fixtures/stripe.d.ts +0 -93
  90. package/dist/sync-fixtures/stripe.d.ts.map +0 -1
  91. package/dist/types.d.ts +0 -1
  92. package/dist/types.d.ts.map +0 -1
  93. package/dist/utils/errors.d.ts +0 -1
  94. package/dist/utils/errors.d.ts.map +0 -1
  95. package/dist/utils/index.d.ts +0 -1
  96. package/dist/utils/index.d.ts.map +0 -1
  97. package/dist/utils/inngest.d.ts +0 -1
  98. package/dist/utils/inngest.d.ts.map +0 -1
  99. package/dist/utils/text.d.ts +0 -1
  100. package/dist/utils/text.d.ts.map +0 -1
  101. package/dist/vector-access/index.d.ts +0 -1
  102. package/dist/vector-access/index.d.ts.map +0 -1
  103. package/dist/vector-access/types.d.ts +0 -1
  104. package/dist/vector-access/types.d.ts.map +0 -1
  105. package/dist/workflows/apis.d.ts +0 -1
  106. package/dist/workflows/apis.d.ts.map +0 -1
  107. package/dist/workflows/conditions/constants.d.ts +0 -1
  108. package/dist/workflows/conditions/constants.d.ts.map +0 -1
  109. package/dist/workflows/conditions/types.d.ts +0 -1
  110. package/dist/workflows/conditions/types.d.ts.map +0 -1
  111. package/dist/workflows/handler.d.ts +0 -1
  112. package/dist/workflows/handler.d.ts.map +0 -1
  113. package/dist/workflows/runner.d.ts +0 -1
  114. package/dist/workflows/runner.d.ts.map +0 -1
  115. package/dist/workflows/schemas.d.ts +0 -1
  116. package/dist/workflows/schemas.d.ts.map +0 -1
  117. package/dist/workflows/utils.d.ts +0 -1
  118. package/dist/workflows/utils.d.ts.map +0 -1
  119. /package/dist/{next-src/engine → engine}/index.d.ts +0 -0
  120. /package/dist/{next-src/engine → engine}/schema.d.ts +0 -0
  121. /package/dist/{next-src/engine → engine}/types.d.ts +0 -0
  122. /package/dist/{next-src/engine → engine}/utils.d.ts +0 -0
  123. /package/dist/{next-src/logger → logger}/index.d.ts +0 -0
  124. /package/dist/{next-src/tools → tools}/index.d.ts +0 -0
  125. /package/dist/{next-src/tools → tools}/types.d.ts +0 -0
package/README.md CHANGED
@@ -1,40 +1,8 @@
1
- # Future
1
+ # @mastra/core
2
2
 
3
3
  This is a guide to developing the core package.
4
4
 
5
- ### Ensure Docker is Installed
6
-
7
- If you haven't already, install Docker: (Docker Installation)[https://www.docker.com/]
8
-
9
- ### Start Docker Containers
10
-
11
- 1. Navigate to the .dev directory:`cd .dev`
12
- 2. Start the Docker containers:
13
- `docker-compose up -d`
14
-
15
- This command will spin up the necessary services, including the database and the Inngest server.
16
-
17
- ### Setup Environment Variables
18
-
19
- 1. Copy the sample environment variable files:
20
- packages/admin/.env.local.sample
21
- packages/core/.env.local.sample
22
- 2. Duplicate and rename each .env.local.sample file to .env:
23
- cp packages/admin/.env.local.sample packages/admin/.env`
24
- cp packages/core/.env.local.sample packages/core/.env`
25
-
26
- Note: We won’t need to do this again after the first setup if the CLI persists credentials.
27
-
28
5
  ### Install Dependencies for Core Package
29
6
 
30
7
  1. Navigate to the core directory:`cd packages/core`
31
- 2. Install the dependencies:`pnpm install`
32
-
33
- ### Build and Initialize CLI
34
-
35
- 1. Navigate to the cli directory:`cd packages/cli`
36
- 2. Build the project and run the initialization script:`pnpm run build && node dist/index.js init`
37
- 3. When prompted, supply the necessary credentials:
38
-
39
- Database URL: postgresql://postgres:postgres@localhost:5432/postgres
40
- Inngest Server URL: http://localhost:8288
8
+ 2. Install the dependencies:`pnpm install`
@@ -2,12 +2,18 @@ import { UserContent } from 'ai';
2
2
  import { Integration } from '../integration';
3
3
  import { Logger } from '../logger';
4
4
  import { AllTools, ToolApi } from '../tools/types';
5
- type OpenAIVercelModelNames = 'gpt-4' | 'gpt-4-turbo' | 'gpt-3.5-turbo';
5
+ type OpenAIVercelModelNames = 'gpt-4' | 'gpt-4-turbo' | 'gpt-3.5-turbo' | 'gpt-4o' | 'gpt-4o-mini';
6
6
  type OpenAIVercelConfig = {
7
7
  provider: 'OPEN_AI_VERCEL';
8
8
  name: OpenAIVercelModelNames;
9
9
  toolChoice: 'auto' | 'required';
10
10
  };
11
+ type GoogleVercelModelNames = 'gemini-1.5-pro-latest' | 'gemini-1.5-pro' | 'gemini-1.5-flash-latest' | 'gemini-1.5-flash';
12
+ type GoogleVercelConfig = {
13
+ provider: 'GOOGLE_VERCEL';
14
+ name: GoogleVercelModelNames;
15
+ toolChoice: 'auto' | 'required';
16
+ };
11
17
  type AnthropicVercelModelNames = 'claude-3-opus-20240229' | 'claude-3-sonnet-20240229' | 'claude-3-haiku-20240307' | 'claude-3-5-sonnet-20240620';
12
18
  type AnthropicVercelConfig = {
13
19
  provider: 'ANTHROPIC_VERCEL';
@@ -20,7 +26,7 @@ type GroqVercelConfig = {
20
26
  name: GroqVercelModelNames;
21
27
  toolChoice: 'auto' | 'required';
22
28
  };
23
- type ModelConfig = OpenAIVercelConfig | AnthropicVercelConfig | GroqVercelConfig;
29
+ type ModelConfig = OpenAIVercelConfig | AnthropicVercelConfig | GroqVercelConfig | GoogleVercelConfig;
24
30
  export declare class Agent<TIntegrations extends Integration[] | undefined = undefined, TTools extends Record<string, ToolApi<TIntegrations>> | undefined = undefined, TKeys extends keyof AllTools<TIntegrations, TTools> = keyof AllTools<TIntegrations, TTools>> {
25
31
  #private;
26
32
  name: string;
@@ -53,9 +59,10 @@ export declare class Agent<TIntegrations extends Integration[] | undefined = und
53
59
  onStepFinish?: (step: string) => void;
54
60
  maxSteps?: number;
55
61
  }): Promise<import("ai").GenerateTextResult<{}>>;
56
- stream({ messages, onStepFinish, maxSteps, }: {
62
+ stream({ messages, onStepFinish, onFinish, maxSteps, }: {
57
63
  messages: UserContent[];
58
64
  onStepFinish?: (step: string) => void;
65
+ onFinish?: (result: string) => Promise<void> | void;
59
66
  maxSteps?: number;
60
67
  }): Promise<import("ai").StreamTextResult<{}>>;
61
68
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var redis = require('@upstash/redis');
6
- var fs = require('fs');
7
- var path = require('path');
5
+ var zod = require('zod');
8
6
  var anthropic = require('@ai-sdk/anthropic');
9
7
  var openai = require('@ai-sdk/openai');
10
8
  var ai = require('ai');
11
- var zod = require('zod');
9
+ var redis = require('@upstash/redis');
10
+ var fs = require('fs');
11
+ var path = require('path');
12
12
 
13
13
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
14
14
  try {
@@ -854,7 +854,9 @@ var Agent = /*#__PURE__*/function () {
854
854
  if (enabled && tool) {
855
855
  memo[k] = {
856
856
  description: tool.description,
857
- parameters: tool.schema,
857
+ parameters: zod.z.object({
858
+ data: tool.schema
859
+ }),
858
860
  execute: tool.executor
859
861
  };
860
862
  }
@@ -1003,13 +1005,13 @@ var Agent = /*#__PURE__*/function () {
1003
1005
  return text;
1004
1006
  }();
1005
1007
  _proto.stream = /*#__PURE__*/function () {
1006
- var _stream = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
1008
+ var _stream = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref4) {
1007
1009
  var _this3 = this;
1008
- var messages, _onStepFinish3, _ref4$maxSteps, maxSteps, params, argsForExecute, messageObjects;
1009
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1010
- while (1) switch (_context4.prev = _context4.next) {
1010
+ var messages, _onStepFinish3, _onFinish, _ref4$maxSteps, maxSteps, params, argsForExecute, messageObjects;
1011
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1012
+ while (1) switch (_context5.prev = _context5.next) {
1011
1013
  case 0:
1012
- messages = _ref4.messages, _onStepFinish3 = _ref4.onStepFinish, _ref4$maxSteps = _ref4.maxSteps, maxSteps = _ref4$maxSteps === void 0 ? 5 : _ref4$maxSteps;
1014
+ messages = _ref4.messages, _onStepFinish3 = _ref4.onStepFinish, _onFinish = _ref4.onFinish, _ref4$maxSteps = _ref4.maxSteps, maxSteps = _ref4$maxSteps === void 0 ? 5 : _ref4$maxSteps;
1013
1015
  this.logger.info("Starting stream generation for agent " + this.name);
1014
1016
  params = this.getAgentParams({
1015
1017
  tools: this.convertTools(),
@@ -1048,6 +1050,23 @@ var Agent = /*#__PURE__*/function () {
1048
1050
  return _onStepFinish4.apply(this, arguments);
1049
1051
  }
1050
1052
  return onStepFinish;
1053
+ }(),
1054
+ onFinish: function () {
1055
+ var _onFinish2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(props) {
1056
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1057
+ while (1) switch (_context4.prev = _context4.next) {
1058
+ case 0:
1059
+ _onFinish == null || _onFinish(JSON.stringify(props, null, 2));
1060
+ case 1:
1061
+ case "end":
1062
+ return _context4.stop();
1063
+ }
1064
+ }, _callee4);
1065
+ }));
1066
+ function onFinish(_x5) {
1067
+ return _onFinish2.apply(this, arguments);
1068
+ }
1069
+ return onFinish;
1051
1070
  }()
1052
1071
  };
1053
1072
  messageObjects = messages.map(function (content) {
@@ -1061,17 +1080,17 @@ var Agent = /*#__PURE__*/function () {
1061
1080
  content: this.instructions
1062
1081
  });
1063
1082
  this.logger.debug("Streaming text with " + messageObjects.length + " messages");
1064
- _context4.next = 9;
1083
+ _context5.next = 9;
1065
1084
  return ai.streamText(_extends({
1066
1085
  messages: messageObjects
1067
1086
  }, argsForExecute));
1068
1087
  case 9:
1069
- return _context4.abrupt("return", _context4.sent);
1088
+ return _context5.abrupt("return", _context5.sent);
1070
1089
  case 10:
1071
1090
  case "end":
1072
- return _context4.stop();
1091
+ return _context5.stop();
1073
1092
  }
1074
- }, _callee4, this);
1093
+ }, _callee5, this);
1075
1094
  }));
1076
1095
  function stream(_x3) {
1077
1096
  return _stream.apply(this, arguments);