@mastra/libsql 1.19.0-alpha.0 → 1.19.0-alpha.2
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 +58 -0
- package/dist/docs/SKILL.md +3 -4
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-agents-agent-approval.md +2 -2
- package/dist/docs/references/docs-deployment-workers.md +14 -14
- package/dist/docs/references/docs-editor-overview.md +349 -0
- package/dist/docs/references/docs-memory-overview.md +14 -0
- package/dist/docs/references/{docs-rag-retrieval.md → guides-rag-retrieval.md} +1 -1
- package/dist/docs/references/reference-core-mastra-class.md +2 -2
- package/dist/docs/references/reference-storage-composite.md +2 -0
- package/dist/index.cjs +187 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +188 -21
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/datasets/index.d.ts.map +1 -1
- package/dist/storage/domains/workflow-definitions/index.d.ts +14 -0
- package/dist/storage/domains/workflow-definitions/index.d.ts.map +1 -0
- package/dist/storage/index.d.ts +2 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/docs/references/docs-agent-builder-deploying.md +0 -124
- package/dist/docs/references/docs-agent-builder-overview.md +0 -114
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createClient } from "@libsql/client";
|
|
2
2
|
import { ErrorCategory, ErrorDomain, MastraError } from "@mastra/core/error";
|
|
3
|
-
import { AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, AgentsStorage, BackgroundTasksStorage, BlobStore, ChannelsStorage, DATASETS_SCHEMA, DATASET_ITEMS_SCHEMA, DATASET_VERSIONS_SCHEMA, DatasetsStorage, EXPERIMENTS_SCHEMA, EXPERIMENT_RESULTS_SCHEMA, ExperimentsStorage, FAVORITES_SCHEMA, FactoryStorage, FavoritesStorage, HarnessStorage, MCPClientsStorage, MCPServersStorage, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, MastraCompositeStore, MemoryStorage, NotificationsStorage, OBSERVATIONAL_MEMORY_TABLE_SCHEMA, ObservabilityStorage, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, PromptBlocksStorage, SCORERS_SCHEMA, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, SKILLS_SCHEMA, SKILL_BLOBS_SCHEMA, SKILL_VERSIONS_SCHEMA, SPAN_SCHEMA, SchedulesStorage, ScorerDefinitionsStorage, ScoresStorage, SkillsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, TABLE_BACKGROUND_TASKS, TABLE_CHANNEL_CONFIG, TABLE_CHANNEL_INSTALLATIONS, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, TABLE_FAVORITES, TABLE_HARNESS_SESSIONS, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, TABLE_MESSAGES, TABLE_NOTIFICATIONS, TABLE_PROMPT_BLOCKS, TABLE_PROMPT_BLOCK_VERSIONS, TABLE_RESOURCES, TABLE_SCHEDULES, TABLE_SCHEDULE_TRIGGERS, TABLE_SCHEMAS, TABLE_SCORERS, TABLE_SCORER_DEFINITIONS, TABLE_SCORER_DEFINITION_VERSIONS, TABLE_SKILLS, TABLE_SKILL_BLOBS, TABLE_SKILL_VERSIONS, TABLE_SPANS, TABLE_THREADS, TABLE_THREAD_STATE, TABLE_TOOL_PROVIDER_CONNECTIONS, TABLE_WORKFLOW_SNAPSHOT, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, THREAD_STATE_SCHEMA, TOOL_PROVIDER_CONNECTIONS_SCHEMA, ThreadStateStorage, ToolProviderConnectionsStorage, TraceStatus, UniqueViolationError, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, WorkflowsStorage, WorkspacesStorage, calculatePagination, createStorageErrorId, createVectorErrorId, ensureDate, getSqlType, hasErrorCode, listTracesArgsSchema, mergeWorkflowStepResult, normalizePerPage, normalizeScheduleTarget, parseDuration, safelyParseJSON, toTraceSpans, transformScoreRow, validateStorageMetadataFilter } from "@mastra/core/storage";
|
|
3
|
+
import { AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, AgentsStorage, BackgroundTasksStorage, BlobStore, ChannelsStorage, DATASETS_SCHEMA, DATASET_ITEMS_SCHEMA, DATASET_VERSIONS_SCHEMA, DatasetsStorage, EXPERIMENTS_SCHEMA, EXPERIMENT_RESULTS_SCHEMA, ExperimentsStorage, FAVORITES_SCHEMA, FactoryStorage, FavoritesStorage, HarnessStorage, MCPClientsStorage, MCPServersStorage, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, MastraCompositeStore, MemoryStorage, NotificationsStorage, OBSERVATIONAL_MEMORY_TABLE_SCHEMA, ObservabilityStorage, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, PromptBlocksStorage, SCORERS_SCHEMA, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, SKILLS_SCHEMA, SKILL_BLOBS_SCHEMA, SKILL_VERSIONS_SCHEMA, SPAN_SCHEMA, SchedulesStorage, ScorerDefinitionsStorage, ScoresStorage, SkillsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, TABLE_BACKGROUND_TASKS, TABLE_CHANNEL_CONFIG, TABLE_CHANNEL_INSTALLATIONS, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, TABLE_FAVORITES, TABLE_HARNESS_SESSIONS, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, TABLE_MESSAGES, TABLE_NOTIFICATIONS, TABLE_PROMPT_BLOCKS, TABLE_PROMPT_BLOCK_VERSIONS, TABLE_RESOURCES, TABLE_SCHEDULES, TABLE_SCHEDULE_TRIGGERS, TABLE_SCHEMAS, TABLE_SCORERS, TABLE_SCORER_DEFINITIONS, TABLE_SCORER_DEFINITION_VERSIONS, TABLE_SKILLS, TABLE_SKILL_BLOBS, TABLE_SKILL_VERSIONS, TABLE_SPANS, TABLE_THREADS, TABLE_THREAD_STATE, TABLE_TOOL_PROVIDER_CONNECTIONS, TABLE_WORKFLOW_DEFINITIONS, TABLE_WORKFLOW_SNAPSHOT, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, THREAD_STATE_SCHEMA, TOOL_PROVIDER_CONNECTIONS_SCHEMA, ThreadStateStorage, ToolProviderConnectionsStorage, TraceStatus, UniqueViolationError, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, WorkflowDefinitionsStorage, WorkflowsStorage, WorkspacesStorage, calculatePagination, createStorageErrorId, createVectorErrorId, ensureDate, getSqlType, hasErrorCode, listTracesArgsSchema, mergeWorkflowStepResult, normalizePerPage, normalizeScheduleTarget, parseDuration, safelyParseJSON, toTraceSpans, transformScoreRow, validateStorageMetadataFilter } from "@mastra/core/storage";
|
|
4
4
|
import { parseFieldKey, parseSqlIdentifier } from "@mastra/core/utils";
|
|
5
5
|
import { MastraVector, validateTopK, validateUpsertInput } from "@mastra/core/vector";
|
|
6
6
|
import { BaseFilterTranslator } from "@mastra/core/vector/filter";
|
|
@@ -2853,7 +2853,7 @@ function serializeJson(v) {
|
|
|
2853
2853
|
if (typeof v === "object" && v != null) return JSON.stringify(v);
|
|
2854
2854
|
return v ?? null;
|
|
2855
2855
|
}
|
|
2856
|
-
function parseJson$
|
|
2856
|
+
function parseJson$3(val) {
|
|
2857
2857
|
if (val == null) return void 0;
|
|
2858
2858
|
if (typeof val === "string") try {
|
|
2859
2859
|
return JSON.parse(val);
|
|
@@ -2868,14 +2868,14 @@ function rowToTask(row) {
|
|
|
2868
2868
|
status: String(row.status),
|
|
2869
2869
|
toolName: String(row.tool_name),
|
|
2870
2870
|
toolCallId: String(row.tool_call_id),
|
|
2871
|
-
args: parseJson$
|
|
2871
|
+
args: parseJson$3(row.args) ?? {},
|
|
2872
2872
|
agentId: String(row.agent_id),
|
|
2873
2873
|
threadId: row.thread_id != null ? String(row.thread_id) : void 0,
|
|
2874
2874
|
resourceId: row.resource_id != null ? String(row.resource_id) : void 0,
|
|
2875
2875
|
runId: String(row.run_id),
|
|
2876
|
-
result: parseJson$
|
|
2877
|
-
error: parseJson$
|
|
2878
|
-
suspendPayload: parseJson$
|
|
2876
|
+
result: parseJson$3(row.result),
|
|
2877
|
+
error: parseJson$3(row.error),
|
|
2878
|
+
suspendPayload: parseJson$3(row.suspend_payload),
|
|
2879
2879
|
retryCount: Number(row.retry_count),
|
|
2880
2880
|
maxRetries: Number(row.max_retries),
|
|
2881
2881
|
timeoutMs: Number(row.timeout_ms),
|
|
@@ -3468,6 +3468,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3468
3468
|
await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "projectId", "TEXT");
|
|
3469
3469
|
await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "toolMocks", "TEXT");
|
|
3470
3470
|
await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "unmockedToolPolicy", "TEXT");
|
|
3471
|
+
await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "scorerIds", "TEXT");
|
|
3471
3472
|
await this.#addColumnIfNotExists(TABLE_DATASET_ITEMS, "externalId", "TEXT");
|
|
3472
3473
|
await this.#client.batch([
|
|
3473
3474
|
{
|
|
@@ -3565,6 +3566,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3565
3566
|
expectedTrajectory: row.expectedTrajectory ? safelyParseJSON(row.expectedTrajectory) : void 0,
|
|
3566
3567
|
toolMocks: row.toolMocks ? safelyParseJSON(row.toolMocks) : void 0,
|
|
3567
3568
|
unmockedToolPolicy: row.unmockedToolPolicy ?? void 0,
|
|
3569
|
+
scorerIds: row.scorerIds ? safelyParseJSON(row.scorerIds) : void 0,
|
|
3568
3570
|
requestContext: row.requestContext ? safelyParseJSON(row.requestContext) : void 0,
|
|
3569
3571
|
metadata: row.metadata ? safelyParseJSON(row.metadata) : void 0,
|
|
3570
3572
|
source: row.source ? safelyParseJSON(row.source) : void 0,
|
|
@@ -3587,6 +3589,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3587
3589
|
expectedTrajectory: row.expectedTrajectory ? safelyParseJSON(row.expectedTrajectory) : void 0,
|
|
3588
3590
|
toolMocks: row.toolMocks ? safelyParseJSON(row.toolMocks) : void 0,
|
|
3589
3591
|
unmockedToolPolicy: row.unmockedToolPolicy ?? void 0,
|
|
3592
|
+
scorerIds: row.scorerIds ? safelyParseJSON(row.scorerIds) : void 0,
|
|
3590
3593
|
requestContext: row.requestContext ? safelyParseJSON(row.requestContext) : void 0,
|
|
3591
3594
|
metadata: row.metadata ? safelyParseJSON(row.metadata) : void 0,
|
|
3592
3595
|
source: row.source ? safelyParseJSON(row.source) : void 0,
|
|
@@ -3900,7 +3903,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3900
3903
|
args: [args.datasetId]
|
|
3901
3904
|
},
|
|
3902
3905
|
{
|
|
3903
|
-
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,
|
|
3906
|
+
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,datasetId,datasetVersion,externalId,organizationId,projectId,validTo,isDeleted,input,groundTruth,expectedTrajectory,toolMocks,unmockedToolPolicy,scorerIds,requestContext,metadata,source,createdAt,updatedAt) VALUES (?,?,(SELECT version FROM ${TABLE_DATASETS} WHERE id = ?),?,(SELECT organizationId FROM ${TABLE_DATASETS} WHERE id = ?),(SELECT projectId FROM ${TABLE_DATASETS} WHERE id = ?),NULL,0,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,?)`,
|
|
3904
3907
|
args: [
|
|
3905
3908
|
id,
|
|
3906
3909
|
args.datasetId,
|
|
@@ -3913,6 +3916,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3913
3916
|
jsonbArg(args.expectedTrajectory),
|
|
3914
3917
|
jsonbArg(args.toolMocks),
|
|
3915
3918
|
args.unmockedToolPolicy ?? null,
|
|
3919
|
+
jsonbArg(args.scorerIds),
|
|
3916
3920
|
jsonbArg(args.requestContext),
|
|
3917
3921
|
jsonbArg(args.metadata),
|
|
3918
3922
|
jsonbArg(args.source),
|
|
@@ -3943,6 +3947,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3943
3947
|
expectedTrajectory: args.expectedTrajectory,
|
|
3944
3948
|
toolMocks: args.toolMocks,
|
|
3945
3949
|
unmockedToolPolicy: args.unmockedToolPolicy,
|
|
3950
|
+
scorerIds: args.scorerIds,
|
|
3946
3951
|
requestContext: args.requestContext,
|
|
3947
3952
|
metadata: args.metadata,
|
|
3948
3953
|
source: args.source,
|
|
@@ -3986,6 +3991,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3986
3991
|
const mergedExpectedTrajectory = args.expectedTrajectory !== void 0 ? args.expectedTrajectory : existing.expectedTrajectory;
|
|
3987
3992
|
const mergedToolMocks = args.toolMocks !== void 0 ? args.toolMocks : existing.toolMocks;
|
|
3988
3993
|
const mergedUnmockedToolPolicy = args.unmockedToolPolicy !== void 0 ? args.unmockedToolPolicy : existing.unmockedToolPolicy;
|
|
3994
|
+
const mergedScorerIds = args.scorerIds !== void 0 ? args.scorerIds ?? void 0 : existing.scorerIds;
|
|
3989
3995
|
const mergedRequestContext = args.requestContext !== void 0 ? args.requestContext : existing.requestContext;
|
|
3990
3996
|
const mergedMetadata = args.metadata !== void 0 ? args.metadata : existing.metadata;
|
|
3991
3997
|
const mergedSource = args.source !== void 0 ? args.source : existing.source;
|
|
@@ -3999,7 +4005,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
3999
4005
|
args: [args.datasetId, args.id]
|
|
4000
4006
|
},
|
|
4001
4007
|
{
|
|
4002
|
-
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,
|
|
4008
|
+
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,datasetId,datasetVersion,externalId,organizationId,projectId,validTo,isDeleted,input,groundTruth,expectedTrajectory,toolMocks,unmockedToolPolicy,scorerIds,requestContext,metadata,source,createdAt,updatedAt) VALUES (?,?,(SELECT version FROM ${TABLE_DATASETS} WHERE id = ?),?,(SELECT organizationId FROM ${TABLE_DATASETS} WHERE id = ?),(SELECT projectId FROM ${TABLE_DATASETS} WHERE id = ?),NULL,0,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,?)`,
|
|
4003
4009
|
args: [
|
|
4004
4010
|
args.id,
|
|
4005
4011
|
args.datasetId,
|
|
@@ -4012,6 +4018,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4012
4018
|
jsonbArg(mergedExpectedTrajectory),
|
|
4013
4019
|
jsonbArg(mergedToolMocks),
|
|
4014
4020
|
mergedUnmockedToolPolicy ?? null,
|
|
4021
|
+
jsonbArg(mergedScorerIds),
|
|
4015
4022
|
jsonbArg(mergedRequestContext),
|
|
4016
4023
|
jsonbArg(mergedMetadata),
|
|
4017
4024
|
jsonbArg(mergedSource),
|
|
@@ -4040,6 +4047,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4040
4047
|
expectedTrajectory: mergedExpectedTrajectory,
|
|
4041
4048
|
toolMocks: mergedToolMocks,
|
|
4042
4049
|
unmockedToolPolicy: mergedUnmockedToolPolicy,
|
|
4050
|
+
scorerIds: mergedScorerIds,
|
|
4043
4051
|
requestContext: mergedRequestContext,
|
|
4044
4052
|
metadata: mergedMetadata,
|
|
4045
4053
|
source: mergedSource,
|
|
@@ -4080,7 +4088,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4080
4088
|
args: [datasetId, id]
|
|
4081
4089
|
},
|
|
4082
4090
|
{
|
|
4083
|
-
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,
|
|
4091
|
+
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,datasetId,datasetVersion,externalId,organizationId,projectId,validTo,isDeleted,input,groundTruth,expectedTrajectory,toolMocks,unmockedToolPolicy,scorerIds,requestContext,metadata,source,createdAt,updatedAt) VALUES (?,?,(SELECT version FROM ${TABLE_DATASETS} WHERE id = ?),?,(SELECT organizationId FROM ${TABLE_DATASETS} WHERE id = ?),(SELECT projectId FROM ${TABLE_DATASETS} WHERE id = ?),NULL,1,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,?)`,
|
|
4084
4092
|
args: [
|
|
4085
4093
|
id,
|
|
4086
4094
|
datasetId,
|
|
@@ -4093,6 +4101,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4093
4101
|
jsonbArg(existing.expectedTrajectory),
|
|
4094
4102
|
jsonbArg(existing.toolMocks),
|
|
4095
4103
|
existing.unmockedToolPolicy ?? null,
|
|
4104
|
+
jsonbArg(existing.scorerIds),
|
|
4096
4105
|
jsonbArg(existing.requestContext),
|
|
4097
4106
|
jsonbArg(existing.metadata),
|
|
4098
4107
|
jsonbArg(existing.source),
|
|
@@ -4388,7 +4397,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4388
4397
|
});
|
|
4389
4398
|
const externalIds = [...new Set(input.items.flatMap((item) => item.externalId ? [item.externalId] : []))];
|
|
4390
4399
|
const historyResult = externalIds.length ? await tx.execute({
|
|
4391
|
-
sql: `SELECT id, datasetId, datasetVersion, externalId, organizationId, projectId, validTo, isDeleted, json(input) AS input, json(groundTruth) AS groundTruth, json(expectedTrajectory) AS expectedTrajectory, json(toolMocks) AS toolMocks, unmockedToolPolicy, json(requestContext) AS requestContext, json(metadata) AS metadata, json(source) AS source, createdAt, updatedAt FROM ${TABLE_DATASET_ITEMS} WHERE datasetId = ? AND externalId IN (${externalIds.map(() => "?").join(",")}) ORDER BY datasetVersion`,
|
|
4400
|
+
sql: `SELECT id, datasetId, datasetVersion, externalId, organizationId, projectId, validTo, isDeleted, json(input) AS input, json(groundTruth) AS groundTruth, json(expectedTrajectory) AS expectedTrajectory, json(toolMocks) AS toolMocks, unmockedToolPolicy, json(scorerIds) AS scorerIds, json(requestContext) AS requestContext, json(metadata) AS metadata, json(source) AS source, createdAt, updatedAt FROM ${TABLE_DATASET_ITEMS} WHERE datasetId = ? AND externalId IN (${externalIds.map(() => "?").join(",")}) ORDER BY datasetVersion`,
|
|
4392
4401
|
args: [input.datasetId, ...externalIds]
|
|
4393
4402
|
}) : { rows: [] };
|
|
4394
4403
|
const plan = this.planDatasetItemBatch(input.items, historyResult.rows.map((row) => this.transformItemRowFull(row)), () => crypto.randomUUID());
|
|
@@ -4403,7 +4412,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4403
4412
|
});
|
|
4404
4413
|
for (const { id, item } of plan.inserts) {
|
|
4405
4414
|
await tx.execute({
|
|
4406
|
-
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,
|
|
4415
|
+
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,datasetId,datasetVersion,externalId,organizationId,projectId,validTo,isDeleted,input,groundTruth,expectedTrajectory,toolMocks,unmockedToolPolicy,scorerIds,requestContext,metadata,source,createdAt,updatedAt) VALUES (?,?,?,?,?,?,NULL,0,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,?)`,
|
|
4407
4416
|
args: [
|
|
4408
4417
|
id,
|
|
4409
4418
|
input.datasetId,
|
|
@@ -4416,6 +4425,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4416
4425
|
jsonbArg(item.expectedTrajectory),
|
|
4417
4426
|
jsonbArg(item.toolMocks),
|
|
4418
4427
|
item.unmockedToolPolicy ?? null,
|
|
4428
|
+
jsonbArg(item.scorerIds),
|
|
4419
4429
|
jsonbArg(item.requestContext),
|
|
4420
4430
|
jsonbArg(item.metadata),
|
|
4421
4431
|
jsonbArg(item.source),
|
|
@@ -4435,6 +4445,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4435
4445
|
expectedTrajectory: item.expectedTrajectory,
|
|
4436
4446
|
toolMocks: item.toolMocks,
|
|
4437
4447
|
unmockedToolPolicy: item.unmockedToolPolicy,
|
|
4448
|
+
scorerIds: item.scorerIds,
|
|
4438
4449
|
requestContext: item.requestContext,
|
|
4439
4450
|
metadata: item.metadata,
|
|
4440
4451
|
source: item.source,
|
|
@@ -4495,7 +4506,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4495
4506
|
args: [input.datasetId, item.id]
|
|
4496
4507
|
});
|
|
4497
4508
|
statements.push({
|
|
4498
|
-
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,
|
|
4509
|
+
sql: `INSERT INTO ${TABLE_DATASET_ITEMS} (id,datasetId,datasetVersion,externalId,organizationId,projectId,validTo,isDeleted,input,groundTruth,expectedTrajectory,toolMocks,unmockedToolPolicy,scorerIds,requestContext,metadata,source,createdAt,updatedAt) VALUES (?,?,(SELECT version FROM ${TABLE_DATASETS} WHERE id = ?),?,?,?,NULL,1,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,jsonb(?),jsonb(?),jsonb(?),jsonb(?),?,?)`,
|
|
4499
4510
|
args: [
|
|
4500
4511
|
item.id,
|
|
4501
4512
|
input.datasetId,
|
|
@@ -4508,6 +4519,7 @@ var DatasetsLibSQL = class extends DatasetsStorage {
|
|
|
4508
4519
|
jsonbArg(item.expectedTrajectory),
|
|
4509
4520
|
jsonbArg(item.toolMocks),
|
|
4510
4521
|
item.unmockedToolPolicy ?? null,
|
|
4522
|
+
jsonbArg(item.scorerIds),
|
|
4511
4523
|
jsonbArg(item.requestContext),
|
|
4512
4524
|
jsonbArg(item.metadata),
|
|
4513
4525
|
jsonbArg(item.source),
|
|
@@ -8529,7 +8541,7 @@ const statusTimestamp = (status, now) => {
|
|
|
8529
8541
|
if (status === "discarded") return { discardedAt: now };
|
|
8530
8542
|
return {};
|
|
8531
8543
|
};
|
|
8532
|
-
function parseJson$
|
|
8544
|
+
function parseJson$2(value) {
|
|
8533
8545
|
if (value == null) return void 0;
|
|
8534
8546
|
if (typeof value === "string") try {
|
|
8535
8547
|
return JSON.parse(value);
|
|
@@ -8551,14 +8563,14 @@ function rowToNotification(row) {
|
|
|
8551
8563
|
priority: String(row.priority),
|
|
8552
8564
|
status: String(row.status),
|
|
8553
8565
|
summary: String(row.summary),
|
|
8554
|
-
payload: parseJson$
|
|
8566
|
+
payload: parseJson$2(row.payload),
|
|
8555
8567
|
resourceId: row.resourceId == null ? void 0 : String(row.resourceId),
|
|
8556
8568
|
agentId: row.agentId == null ? void 0 : String(row.agentId),
|
|
8557
8569
|
sourceId: row.sourceId == null ? void 0 : String(row.sourceId),
|
|
8558
8570
|
dedupeKey: row.dedupeKey == null ? void 0 : String(row.dedupeKey),
|
|
8559
8571
|
coalesceKey: row.coalesceKey == null ? void 0 : String(row.coalesceKey),
|
|
8560
8572
|
coalescedCount: Number(row.coalescedCount ?? 1),
|
|
8561
|
-
attributes: parseJson$
|
|
8573
|
+
attributes: parseJson$2(row.attributes),
|
|
8562
8574
|
createdAt: new Date(String(row.createdAt)),
|
|
8563
8575
|
updatedAt: new Date(String(row.updatedAt)),
|
|
8564
8576
|
deliveredAt: parseDate(row.deliveredAt),
|
|
@@ -8574,7 +8586,7 @@ function rowToNotification(row) {
|
|
|
8574
8586
|
lastDeliveryError: row.lastDeliveryError == null ? void 0 : String(row.lastDeliveryError),
|
|
8575
8587
|
deliveredSignalId: row.deliveredSignalId == null ? void 0 : String(row.deliveredSignalId),
|
|
8576
8588
|
summarySignalId: row.summarySignalId == null ? void 0 : String(row.summarySignalId),
|
|
8577
|
-
metadata: parseJson$
|
|
8589
|
+
metadata: parseJson$2(row.metadata)
|
|
8578
8590
|
};
|
|
8579
8591
|
}
|
|
8580
8592
|
function addArrayFilter(conditions, args, column, value) {
|
|
@@ -9765,7 +9777,7 @@ var PromptBlocksLibSQL = class extends PromptBlocksStorage {
|
|
|
9765
9777
|
};
|
|
9766
9778
|
//#endregion
|
|
9767
9779
|
//#region src/storage/domains/schedules/index.ts
|
|
9768
|
-
function parseJson(val) {
|
|
9780
|
+
function parseJson$1(val) {
|
|
9769
9781
|
if (val == null) return void 0;
|
|
9770
9782
|
if (typeof val === "string") try {
|
|
9771
9783
|
return JSON.parse(val);
|
|
@@ -9779,7 +9791,7 @@ function toNumber(val) {
|
|
|
9779
9791
|
return Number(val);
|
|
9780
9792
|
}
|
|
9781
9793
|
function rowToSchedule(row) {
|
|
9782
|
-
const target = parseJson(row.target);
|
|
9794
|
+
const target = parseJson$1(row.target);
|
|
9783
9795
|
if (!target) throw new Error(`Schedule row ${row.id} has invalid target`);
|
|
9784
9796
|
const schedule = {
|
|
9785
9797
|
id: String(row.id),
|
|
@@ -9793,7 +9805,7 @@ function rowToSchedule(row) {
|
|
|
9793
9805
|
if (row.timezone != null) schedule.timezone = String(row.timezone);
|
|
9794
9806
|
if (row.last_fire_at != null) schedule.lastFireAt = toNumber(row.last_fire_at);
|
|
9795
9807
|
if (row.last_run_id != null) schedule.lastRunId = String(row.last_run_id);
|
|
9796
|
-
const metadata = parseJson(row.metadata);
|
|
9808
|
+
const metadata = parseJson$1(row.metadata);
|
|
9797
9809
|
if (metadata !== void 0) schedule.metadata = metadata;
|
|
9798
9810
|
if (row.owner_type != null) schedule.ownerType = String(row.owner_type);
|
|
9799
9811
|
if (row.owner_id != null) schedule.ownerId = String(row.owner_id);
|
|
@@ -9811,7 +9823,7 @@ function rowToTrigger(row) {
|
|
|
9811
9823
|
};
|
|
9812
9824
|
if (row.error != null) trigger.error = String(row.error);
|
|
9813
9825
|
if (row.parent_trigger_id != null) trigger.parentTriggerId = String(row.parent_trigger_id);
|
|
9814
|
-
const metadata = parseJson(row.metadata);
|
|
9826
|
+
const metadata = parseJson$1(row.metadata);
|
|
9815
9827
|
if (metadata !== void 0) trigger.metadata = metadata;
|
|
9816
9828
|
return trigger;
|
|
9817
9829
|
}
|
|
@@ -11692,6 +11704,159 @@ var ToolProviderConnectionsLibSQL = class extends ToolProviderConnectionsStorage
|
|
|
11692
11704
|
}
|
|
11693
11705
|
};
|
|
11694
11706
|
//#endregion
|
|
11707
|
+
//#region src/storage/domains/workflow-definitions/index.ts
|
|
11708
|
+
function parseJson(val, column, rowId) {
|
|
11709
|
+
if (val == null) return void 0;
|
|
11710
|
+
if (typeof val === "string") try {
|
|
11711
|
+
return JSON.parse(val);
|
|
11712
|
+
} catch {
|
|
11713
|
+
throw new Error(`Workflow definition row "${String(rowId)}" has malformed JSON in column "${column}".`);
|
|
11714
|
+
}
|
|
11715
|
+
return val;
|
|
11716
|
+
}
|
|
11717
|
+
function rowToDefinition(row) {
|
|
11718
|
+
const inputSchema = parseJson(row.inputSchema, "inputSchema", row.id);
|
|
11719
|
+
const outputSchema = parseJson(row.outputSchema, "outputSchema", row.id);
|
|
11720
|
+
const graph = parseJson(row.graph, "graph", row.id);
|
|
11721
|
+
if (inputSchema === void 0 || outputSchema === void 0 || graph === void 0) throw new Error(`Workflow definition row "${row.id}" is missing required JSON columns.`);
|
|
11722
|
+
const def = {
|
|
11723
|
+
id: String(row.id),
|
|
11724
|
+
inputSchema,
|
|
11725
|
+
outputSchema,
|
|
11726
|
+
graph,
|
|
11727
|
+
status: row.status,
|
|
11728
|
+
source: row.source,
|
|
11729
|
+
createdAt: new Date(row.createdAt),
|
|
11730
|
+
updatedAt: new Date(row.updatedAt)
|
|
11731
|
+
};
|
|
11732
|
+
if (row.description != null) def.description = String(row.description);
|
|
11733
|
+
const metadata = parseJson(row.metadata, "metadata", row.id);
|
|
11734
|
+
if (metadata !== void 0) def.metadata = metadata;
|
|
11735
|
+
const stateSchema = parseJson(row.stateSchema, "stateSchema", row.id);
|
|
11736
|
+
if (stateSchema !== void 0) def.stateSchema = stateSchema;
|
|
11737
|
+
const requestContextSchema = parseJson(row.requestContextSchema, "requestContextSchema", row.id);
|
|
11738
|
+
if (requestContextSchema !== void 0) def.requestContextSchema = requestContextSchema;
|
|
11739
|
+
if (row.authorId != null) def.authorId = String(row.authorId);
|
|
11740
|
+
return def;
|
|
11741
|
+
}
|
|
11742
|
+
var WorkflowDefinitionsLibSQL = class extends WorkflowDefinitionsStorage {
|
|
11743
|
+
#db;
|
|
11744
|
+
#client;
|
|
11745
|
+
constructor(config) {
|
|
11746
|
+
super();
|
|
11747
|
+
const client = resolveClient(config);
|
|
11748
|
+
this.#client = client;
|
|
11749
|
+
this.#db = new LibSQLDB({
|
|
11750
|
+
client,
|
|
11751
|
+
maxRetries: config.maxRetries,
|
|
11752
|
+
initialBackoffMs: config.initialBackoffMs
|
|
11753
|
+
});
|
|
11754
|
+
}
|
|
11755
|
+
async init() {
|
|
11756
|
+
await this.#db.createTable({
|
|
11757
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11758
|
+
schema: TABLE_SCHEMAS[TABLE_WORKFLOW_DEFINITIONS]
|
|
11759
|
+
});
|
|
11760
|
+
await this.#client.execute({
|
|
11761
|
+
sql: `CREATE INDEX IF NOT EXISTS idx_workflow_definitions_status ON "${TABLE_WORKFLOW_DEFINITIONS}" ("status")`,
|
|
11762
|
+
args: []
|
|
11763
|
+
});
|
|
11764
|
+
}
|
|
11765
|
+
async dangerouslyClearAll() {
|
|
11766
|
+
await this.#db.deleteData({ tableName: TABLE_WORKFLOW_DEFINITIONS });
|
|
11767
|
+
}
|
|
11768
|
+
async upsert(input) {
|
|
11769
|
+
const now = /* @__PURE__ */ new Date();
|
|
11770
|
+
if (!await this.get(input.id)) {
|
|
11771
|
+
if (!("inputSchema" in input) || !input.inputSchema) throw new Error(`Cannot create workflow definition "${input.id}": inputSchema is required.`);
|
|
11772
|
+
if (!("outputSchema" in input) || !input.outputSchema) throw new Error(`Cannot create workflow definition "${input.id}": outputSchema is required.`);
|
|
11773
|
+
if (!("graph" in input) || !input.graph) throw new Error(`Cannot create workflow definition "${input.id}": graph is required.`);
|
|
11774
|
+
const record = {
|
|
11775
|
+
id: input.id,
|
|
11776
|
+
description: input.description ?? null,
|
|
11777
|
+
metadata: input.metadata ?? null,
|
|
11778
|
+
inputSchema: input.inputSchema,
|
|
11779
|
+
outputSchema: input.outputSchema,
|
|
11780
|
+
stateSchema: input.stateSchema ?? null,
|
|
11781
|
+
requestContextSchema: input.requestContextSchema ?? null,
|
|
11782
|
+
graph: input.graph,
|
|
11783
|
+
status: "active",
|
|
11784
|
+
source: "storage",
|
|
11785
|
+
authorId: "authorId" in input ? input.authorId ?? null : null,
|
|
11786
|
+
createdAt: now,
|
|
11787
|
+
updatedAt: now
|
|
11788
|
+
};
|
|
11789
|
+
try {
|
|
11790
|
+
await this.#db.insertOnly({
|
|
11791
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11792
|
+
record
|
|
11793
|
+
});
|
|
11794
|
+
} catch (error) {
|
|
11795
|
+
if (!await this.get(input.id)) throw error;
|
|
11796
|
+
return this.#applyUpdate(input, now);
|
|
11797
|
+
}
|
|
11798
|
+
const created = await this.get(input.id);
|
|
11799
|
+
if (!created) throw new Error(`Failed to persist workflow definition "${input.id}".`);
|
|
11800
|
+
return created;
|
|
11801
|
+
}
|
|
11802
|
+
return this.#applyUpdate(input, now);
|
|
11803
|
+
}
|
|
11804
|
+
async #applyUpdate(input, now) {
|
|
11805
|
+
const data = { updatedAt: now };
|
|
11806
|
+
if ("description" in input && input.description !== void 0) data.description = input.description;
|
|
11807
|
+
if ("metadata" in input && input.metadata !== void 0) data.metadata = input.metadata;
|
|
11808
|
+
if ("inputSchema" in input && input.inputSchema !== void 0) data.inputSchema = input.inputSchema;
|
|
11809
|
+
if ("outputSchema" in input && input.outputSchema !== void 0) data.outputSchema = input.outputSchema;
|
|
11810
|
+
if ("stateSchema" in input && input.stateSchema !== void 0) data.stateSchema = input.stateSchema;
|
|
11811
|
+
if ("requestContextSchema" in input && input.requestContextSchema !== void 0) data.requestContextSchema = input.requestContextSchema;
|
|
11812
|
+
if ("graph" in input && input.graph !== void 0) data.graph = input.graph;
|
|
11813
|
+
if ("status" in input && input.status !== void 0) data.status = input.status;
|
|
11814
|
+
if ("authorId" in input && input.authorId !== void 0) data.authorId = input.authorId;
|
|
11815
|
+
await this.#db.update({
|
|
11816
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11817
|
+
keys: { id: input.id },
|
|
11818
|
+
data
|
|
11819
|
+
});
|
|
11820
|
+
const updated = await this.get(input.id);
|
|
11821
|
+
if (!updated) throw new Error(`Failed to update workflow definition "${input.id}".`);
|
|
11822
|
+
return updated;
|
|
11823
|
+
}
|
|
11824
|
+
async get(id) {
|
|
11825
|
+
const row = (await this.#client.execute({
|
|
11826
|
+
sql: `SELECT ${buildSelectColumns(TABLE_WORKFLOW_DEFINITIONS)} FROM "${TABLE_WORKFLOW_DEFINITIONS}" WHERE id = ?`,
|
|
11827
|
+
args: [id]
|
|
11828
|
+
})).rows[0];
|
|
11829
|
+
return row ? rowToDefinition(row) : null;
|
|
11830
|
+
}
|
|
11831
|
+
async list(args) {
|
|
11832
|
+
const conditions = [];
|
|
11833
|
+
const params = [];
|
|
11834
|
+
if (args?.status) {
|
|
11835
|
+
conditions.push("status = ?");
|
|
11836
|
+
params.push(args.status);
|
|
11837
|
+
}
|
|
11838
|
+
if (args?.authorId !== void 0) {
|
|
11839
|
+
conditions.push("authorId = ?");
|
|
11840
|
+
params.push(args.authorId);
|
|
11841
|
+
}
|
|
11842
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
|
|
11843
|
+
const definitions = (await this.#client.execute({
|
|
11844
|
+
sql: `SELECT ${buildSelectColumns(TABLE_WORKFLOW_DEFINITIONS)} FROM "${TABLE_WORKFLOW_DEFINITIONS}" ${where} ORDER BY updatedAt DESC`,
|
|
11845
|
+
args: params
|
|
11846
|
+
})).rows.map((row) => rowToDefinition(row));
|
|
11847
|
+
return {
|
|
11848
|
+
definitions,
|
|
11849
|
+
total: definitions.length
|
|
11850
|
+
};
|
|
11851
|
+
}
|
|
11852
|
+
async delete(id) {
|
|
11853
|
+
await this.#client.execute({
|
|
11854
|
+
sql: `DELETE FROM "${TABLE_WORKFLOW_DEFINITIONS}" WHERE id = ?`,
|
|
11855
|
+
args: [id]
|
|
11856
|
+
});
|
|
11857
|
+
}
|
|
11858
|
+
};
|
|
11859
|
+
//#endregion
|
|
11695
11860
|
//#region src/storage/domains/workflows/index.ts
|
|
11696
11861
|
var WorkflowsLibSQL = class WorkflowsLibSQL extends WorkflowsStorage {
|
|
11697
11862
|
/**
|
|
@@ -12986,6 +13151,7 @@ var LibSQLStore = class extends MastraCompositeStore {
|
|
|
12986
13151
|
};
|
|
12987
13152
|
const scores = new ScoresLibSQL(domainConfig);
|
|
12988
13153
|
const workflows = new WorkflowsLibSQL(domainConfig);
|
|
13154
|
+
const workflowDefinitions = new WorkflowDefinitionsLibSQL(domainConfig);
|
|
12989
13155
|
const memory = new MemoryLibSQL(domainConfig);
|
|
12990
13156
|
const observability = new ObservabilityLibSQL(domainConfig);
|
|
12991
13157
|
const agents = new AgentsLibSQL(domainConfig);
|
|
@@ -13009,6 +13175,7 @@ var LibSQLStore = class extends MastraCompositeStore {
|
|
|
13009
13175
|
this.stores = {
|
|
13010
13176
|
scores,
|
|
13011
13177
|
workflows,
|
|
13178
|
+
workflowDefinitions,
|
|
13012
13179
|
memory,
|
|
13013
13180
|
observability,
|
|
13014
13181
|
agents,
|
|
@@ -13197,6 +13364,6 @@ Example Complex Query:
|
|
|
13197
13364
|
]
|
|
13198
13365
|
}`;
|
|
13199
13366
|
//#endregion
|
|
13200
|
-
export { AgentsLibSQL, BackgroundTasksLibSQL, BlobsLibSQL, ChannelsLibSQL, DatasetsLibSQL, LibSQLStore as DefaultStorage, LibSQLStore, ExperimentsLibSQL, FavoritesLibSQL, HarnessLibSQL, LIBSQL_PROMPT, LibSQLFactoryStorage, LibSQLVector, MCPClientsLibSQL, MCPServersLibSQL, MemoryLibSQL, NotificationsLibSQL, ObservabilityLibSQL, PromptBlocksLibSQL, SchedulesLibSQL, ScorerDefinitionsLibSQL, ScoresLibSQL, SkillsLibSQL, ThreadStateLibSQL, ToolProviderConnectionsLibSQL, WorkflowsLibSQL, WorkspacesLibSQL };
|
|
13367
|
+
export { AgentsLibSQL, BackgroundTasksLibSQL, BlobsLibSQL, ChannelsLibSQL, DatasetsLibSQL, LibSQLStore as DefaultStorage, LibSQLStore, ExperimentsLibSQL, FavoritesLibSQL, HarnessLibSQL, LIBSQL_PROMPT, LibSQLFactoryStorage, LibSQLVector, MCPClientsLibSQL, MCPServersLibSQL, MemoryLibSQL, NotificationsLibSQL, ObservabilityLibSQL, PromptBlocksLibSQL, SchedulesLibSQL, ScorerDefinitionsLibSQL, ScoresLibSQL, SkillsLibSQL, ThreadStateLibSQL, ToolProviderConnectionsLibSQL, WorkflowDefinitionsLibSQL, WorkflowsLibSQL, WorkspacesLibSQL };
|
|
13201
13368
|
|
|
13202
13369
|
//# sourceMappingURL=index.js.map
|