@mastra/mysql 0.2.0 → 0.3.0-alpha.0
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.
- package/CHANGELOG.md +13 -0
- package/dist/index.cjs +29 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +30 -7
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/datasets/index.d.ts.map +1 -1
- package/dist/storage/domains/experiments/index.d.ts.map +1 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MastraError, ErrorCategory, ErrorDomain } from '@mastra/core/error';
|
|
2
|
-
import { StoreOperations, TABLE_CONFIGS, TABLE_WORKFLOW_SNAPSHOT, TABLE_SPANS, AgentsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, createStorageErrorId, normalizePerPage, calculatePagination, BlobStore, SKILL_BLOBS_SCHEMA, TABLE_SKILL_BLOBS, DatasetsStorage, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, DATASETS_SCHEMA, DATASET_ITEMS_SCHEMA, DATASET_VERSIONS_SCHEMA, ExperimentsStorage, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, EXPERIMENTS_SCHEMA, EXPERIMENT_RESULTS_SCHEMA, MCPClientsStorage, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCPServersStorage, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, MemoryStorage, TABLE_THREADS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCHEMAS, ObservabilityStorage, SPAN_SCHEMA, listTracesArgsSchema, TraceStatus, toTraceSpans, PromptBlocksStorage, TABLE_PROMPT_BLOCKS, TABLE_PROMPT_BLOCK_VERSIONS, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, ScorerDefinitionsStorage, TABLE_SCORER_DEFINITIONS, TABLE_SCORER_DEFINITION_VERSIONS, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, ScoresStorage, TABLE_SCORERS, SCORERS_SCHEMA, SkillsStorage, TABLE_SKILLS, TABLE_SKILL_VERSIONS, SKILLS_SCHEMA, SKILL_VERSIONS_SCHEMA, WorkflowsStorage, WorkspacesStorage, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, MastraCompositeStore, TABLE_FAVORITES, BackgroundTasksStorage, TABLE_BACKGROUND_TASKS, ChannelsStorage, TABLE_CHANNEL_INSTALLATIONS, TABLE_CHANNEL_CONFIG, FavoritesStorage, FAVORITES_SCHEMA, SchedulesStorage, TABLE_SCHEDULES, TABLE_SCHEDULE_TRIGGERS, ToolProviderConnectionsStorage, TABLE_TOOL_PROVIDER_CONNECTIONS, TOOL_PROVIDER_CONNECTIONS_SCHEMA } from '@mastra/core/storage';
|
|
2
|
+
import { StoreOperations, TABLE_CONFIGS, TABLE_WORKFLOW_SNAPSHOT, TABLE_SPANS, AgentsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, createStorageErrorId, normalizePerPage, calculatePagination, BlobStore, SKILL_BLOBS_SCHEMA, TABLE_SKILL_BLOBS, DatasetsStorage, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, DATASETS_SCHEMA, DATASET_ITEMS_SCHEMA, DATASET_VERSIONS_SCHEMA, ExperimentsStorage, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, EXPERIMENTS_SCHEMA, EXPERIMENT_RESULTS_SCHEMA, MCPClientsStorage, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCPServersStorage, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, MemoryStorage, TABLE_THREADS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCHEMAS, OBSERVATIONAL_MEMORY_TABLE_SCHEMA, ObservabilityStorage, SPAN_SCHEMA, listTracesArgsSchema, TraceStatus, toTraceSpans, PromptBlocksStorage, TABLE_PROMPT_BLOCKS, TABLE_PROMPT_BLOCK_VERSIONS, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, ScorerDefinitionsStorage, TABLE_SCORER_DEFINITIONS, TABLE_SCORER_DEFINITION_VERSIONS, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, ScoresStorage, TABLE_SCORERS, SCORERS_SCHEMA, SkillsStorage, TABLE_SKILLS, TABLE_SKILL_VERSIONS, SKILLS_SCHEMA, SKILL_VERSIONS_SCHEMA, WorkflowsStorage, WorkspacesStorage, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, MastraCompositeStore, TABLE_FAVORITES, BackgroundTasksStorage, TABLE_BACKGROUND_TASKS, ChannelsStorage, TABLE_CHANNEL_INSTALLATIONS, TABLE_CHANNEL_CONFIG, FavoritesStorage, FAVORITES_SCHEMA, SchedulesStorage, TABLE_SCHEDULES, TABLE_SCHEDULE_TRIGGERS, ToolProviderConnectionsStorage, TABLE_TOOL_PROVIDER_CONNECTIONS, TOOL_PROVIDER_CONNECTIONS_SCHEMA } from '@mastra/core/storage';
|
|
3
3
|
import { createPool } from 'mysql2/promise';
|
|
4
4
|
import { parseSqlIdentifier } from '@mastra/core/utils';
|
|
5
5
|
import { randomUUID } from 'crypto';
|
|
@@ -2056,6 +2056,21 @@ var DatasetsMySQL = class _DatasetsMySQL extends DatasetsStorage {
|
|
|
2056
2056
|
#indexes;
|
|
2057
2057
|
/** Tables managed by this domain */
|
|
2058
2058
|
static MANAGED_TABLES = [TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS];
|
|
2059
|
+
/**
|
|
2060
|
+
* Item-level tool mocks are not persisted by the MySQL adapter. Reject writes
|
|
2061
|
+
* that carry them so the feature fails loudly here instead of silently dropping
|
|
2062
|
+
* the mocks and then running tools live during experiments.
|
|
2063
|
+
*/
|
|
2064
|
+
#rejectToolMocks(toolMocks) {
|
|
2065
|
+
if (Array.isArray(toolMocks) && toolMocks.length > 0) {
|
|
2066
|
+
throw new MastraError({
|
|
2067
|
+
id: "MYSQL_DATASET_TOOL_MOCKS_UNSUPPORTED",
|
|
2068
|
+
domain: ErrorDomain.STORAGE,
|
|
2069
|
+
category: ErrorCategory.USER,
|
|
2070
|
+
text: "Tool mocks are not supported on the MySQL storage adapter. Use a supported adapter (LibSQL, PostgreSQL, MongoDB, or Spanner) to persist dataset item tool mocks."
|
|
2071
|
+
});
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2059
2074
|
/**
|
|
2060
2075
|
* Returns default index definitions for the datasets domain tables.
|
|
2061
2076
|
* Currently no default indexes are defined for datasets.
|
|
@@ -2360,6 +2375,7 @@ var DatasetsMySQL = class _DatasetsMySQL extends DatasetsStorage {
|
|
|
2360
2375
|
}
|
|
2361
2376
|
// --- SCD-2 item mutations ---
|
|
2362
2377
|
async _doAddItem(args) {
|
|
2378
|
+
this.#rejectToolMocks(args.toolMocks);
|
|
2363
2379
|
const connection = await this.pool.getConnection();
|
|
2364
2380
|
try {
|
|
2365
2381
|
await connection.beginTransaction();
|
|
@@ -2421,6 +2437,7 @@ var DatasetsMySQL = class _DatasetsMySQL extends DatasetsStorage {
|
|
|
2421
2437
|
}
|
|
2422
2438
|
}
|
|
2423
2439
|
async _doUpdateItem(args) {
|
|
2440
|
+
this.#rejectToolMocks(args.toolMocks);
|
|
2424
2441
|
const existing = await this.getItemById({ id: args.id });
|
|
2425
2442
|
if (!existing) {
|
|
2426
2443
|
throw new MastraError({
|
|
@@ -2763,6 +2780,9 @@ var DatasetsMySQL = class _DatasetsMySQL extends DatasetsStorage {
|
|
|
2763
2780
|
}
|
|
2764
2781
|
// --- Bulk operations (SCD-2 internally) ---
|
|
2765
2782
|
async _doBatchInsertItems(input) {
|
|
2783
|
+
for (const item of input.items) {
|
|
2784
|
+
this.#rejectToolMocks(item.toolMocks);
|
|
2785
|
+
}
|
|
2766
2786
|
const dataset = await this.getDatasetById({ id: input.datasetId });
|
|
2767
2787
|
if (!dataset) {
|
|
2768
2788
|
throw new MastraError({
|
|
@@ -3239,6 +3259,14 @@ var ExperimentsMySQL = class _ExperimentsMySQL extends ExperimentsStorage {
|
|
|
3239
3259
|
}
|
|
3240
3260
|
}
|
|
3241
3261
|
async addExperimentResult(input) {
|
|
3262
|
+
if (input.toolMockReport) {
|
|
3263
|
+
throw new MastraError({
|
|
3264
|
+
id: "MYSQL_EXPERIMENT_TOOL_MOCK_REPORT_UNSUPPORTED",
|
|
3265
|
+
domain: ErrorDomain.STORAGE,
|
|
3266
|
+
category: ErrorCategory.USER,
|
|
3267
|
+
text: "Tool mock reports are not supported on the MySQL storage adapter. Use a supported adapter (LibSQL, PostgreSQL, MongoDB, or Spanner) to persist experiment tool mock reports."
|
|
3268
|
+
});
|
|
3269
|
+
}
|
|
3242
3270
|
try {
|
|
3243
3271
|
const id = input.id ?? randomUUID();
|
|
3244
3272
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -4792,12 +4820,7 @@ var MemoryMySQL = class _MemoryMySQL extends MemoryStorage {
|
|
|
4792
4820
|
await this.operations.createTable({ tableName: TABLE_THREADS, schema: TABLE_SCHEMAS[TABLE_THREADS] });
|
|
4793
4821
|
await this.operations.createTable({ tableName: TABLE_MESSAGES, schema: TABLE_SCHEMAS[TABLE_MESSAGES] });
|
|
4794
4822
|
await this.operations.createTable({ tableName: TABLE_RESOURCES, schema: TABLE_SCHEMAS[TABLE_RESOURCES] });
|
|
4795
|
-
|
|
4796
|
-
try {
|
|
4797
|
-
const { OBSERVATIONAL_MEMORY_TABLE_SCHEMA } = await import('@mastra/core/storage');
|
|
4798
|
-
omSchema = OBSERVATIONAL_MEMORY_TABLE_SCHEMA?.[OM_TABLE];
|
|
4799
|
-
} catch {
|
|
4800
|
-
}
|
|
4823
|
+
const omSchema = OBSERVATIONAL_MEMORY_TABLE_SCHEMA?.[OM_TABLE];
|
|
4801
4824
|
if (omSchema) {
|
|
4802
4825
|
await this.operations.createTable({
|
|
4803
4826
|
tableName: OM_TABLE,
|