@mastra/spanner 1.5.0-alpha.0 → 1.5.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 +73 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/index.cjs +182 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +183 -6
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/datasets/index.d.ts.map +1 -1
- package/dist/storage/domains/observability/metrics.d.ts.map +1 -1
- package/dist/storage/domains/workflow-definitions/index.d.ts +22 -0
- package/dist/storage/domains/workflow-definitions/index.d.ts.map +1 -0
- package/dist/storage/index.d.ts +3 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Spanner } from "@google-cloud/spanner";
|
|
2
2
|
import { ErrorCategory, ErrorDomain, MastraError } from "@mastra/core/error";
|
|
3
|
-
import { AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, AgentsStorage, BackgroundTasksStorage, BlobStore, ChannelsStorage, DatasetsStorage, ExperimentsStorage, FavoritesStorage, MCPClientsStorage, MCPServersStorage, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, METRIC_DISTINCT_COLUMNS, MastraCompositeStore, MemoryStorage, ObservabilityStorage, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, PromptBlocksStorage, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, SKILLS_SCHEMA, SKILL_BLOBS_SCHEMA, SKILL_VERSIONS_SCHEMA, SchedulesStorage, ScorerDefinitionsStorage, ScoresStorage, SkillsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, TABLE_BACKGROUND_TASKS, TABLE_CHANNEL_CONFIG, TABLE_CHANNEL_INSTALLATIONS, TABLE_CONFIGS, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, TABLE_FAVORITES, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, TABLE_MESSAGES, 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_WORKFLOW_SNAPSHOT, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, TraceStatus, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, WorkflowsStorage, WorkspacesStorage, calculatePagination, createStorageErrorId, getDefaultValue, hasErrorCode, listMetricsArgsSchema, listTracesArgsSchema, normalizePerPage, normalizeScheduleTarget, toTraceSpans, transformScoreRow, validateStorageMetadataFilter } from "@mastra/core/storage";
|
|
3
|
+
import { AGENTS_SCHEMA, AGENT_VERSIONS_SCHEMA, AgentsStorage, BackgroundTasksStorage, BlobStore, ChannelsStorage, DatasetsStorage, ExperimentsStorage, FavoritesStorage, MCPClientsStorage, MCPServersStorage, MCP_CLIENTS_SCHEMA, MCP_CLIENT_VERSIONS_SCHEMA, MCP_SERVERS_SCHEMA, MCP_SERVER_VERSIONS_SCHEMA, METRIC_DISTINCT_COLUMNS, MastraCompositeStore, MemoryStorage, ObservabilityStorage, PROMPT_BLOCKS_SCHEMA, PROMPT_BLOCK_VERSIONS_SCHEMA, PromptBlocksStorage, SCORER_DEFINITIONS_SCHEMA, SCORER_DEFINITION_VERSIONS_SCHEMA, SKILLS_SCHEMA, SKILL_BLOBS_SCHEMA, SKILL_VERSIONS_SCHEMA, SchedulesStorage, ScorerDefinitionsStorage, ScoresStorage, SkillsStorage, TABLE_AGENTS, TABLE_AGENT_VERSIONS, TABLE_BACKGROUND_TASKS, TABLE_CHANNEL_CONFIG, TABLE_CHANNEL_INSTALLATIONS, TABLE_CONFIGS, TABLE_DATASETS, TABLE_DATASET_ITEMS, TABLE_DATASET_VERSIONS, TABLE_EXPERIMENTS, TABLE_EXPERIMENT_RESULTS, TABLE_FAVORITES, TABLE_MCP_CLIENTS, TABLE_MCP_CLIENT_VERSIONS, TABLE_MCP_SERVERS, TABLE_MCP_SERVER_VERSIONS, TABLE_MESSAGES, 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_WORKFLOW_DEFINITIONS, TABLE_WORKFLOW_SNAPSHOT, TABLE_WORKSPACES, TABLE_WORKSPACE_VERSIONS, TraceStatus, WORKFLOW_DEFINITIONS_SCHEMA, WORKSPACES_SCHEMA, WORKSPACE_VERSIONS_SCHEMA, WorkflowDefinitionsStorage, WorkflowsStorage, WorkspacesStorage, calculatePagination, createStorageErrorId, getDefaultValue, hasErrorCode, listMetricsArgsSchema, listTracesArgsSchema, normalizePerPage, normalizeScheduleTarget, toTraceSpans, transformScoreRow, validateStorageMetadataFilter } from "@mastra/core/storage";
|
|
4
4
|
import { MastraBase } from "@mastra/core/base";
|
|
5
5
|
import { parseSqlIdentifier } from "@mastra/core/utils";
|
|
6
6
|
import { randomUUID } from "crypto";
|
|
@@ -2788,6 +2788,7 @@ function rowToItem(row) {
|
|
|
2788
2788
|
expectedTrajectory: t.expectedTrajectory ?? void 0,
|
|
2789
2789
|
toolMocks: t.toolMocks ?? void 0,
|
|
2790
2790
|
unmockedToolPolicy: t.unmockedToolPolicy ?? void 0,
|
|
2791
|
+
scorerIds: t.scorerIds ?? void 0,
|
|
2791
2792
|
requestContext: t.requestContext ?? void 0,
|
|
2792
2793
|
metadata: t.metadata ?? void 0,
|
|
2793
2794
|
source: t.source ?? void 0,
|
|
@@ -2886,7 +2887,8 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
2886
2887
|
"organizationId",
|
|
2887
2888
|
"projectId",
|
|
2888
2889
|
"externalId",
|
|
2889
|
-
"unmockedToolPolicy"
|
|
2890
|
+
"unmockedToolPolicy",
|
|
2891
|
+
"scorerIds"
|
|
2890
2892
|
]
|
|
2891
2893
|
});
|
|
2892
2894
|
await this.createDefaultIndexes();
|
|
@@ -3352,6 +3354,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3352
3354
|
expectedTrajectory: args.expectedTrajectory ?? null,
|
|
3353
3355
|
toolMocks: args.toolMocks ?? null,
|
|
3354
3356
|
unmockedToolPolicy: args.unmockedToolPolicy ?? null,
|
|
3357
|
+
scorerIds: args.scorerIds ?? null,
|
|
3355
3358
|
requestContext: args.requestContext ?? null,
|
|
3356
3359
|
metadata: args.metadata ?? null,
|
|
3357
3360
|
source: args.source ?? null,
|
|
@@ -3373,6 +3376,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3373
3376
|
expectedTrajectory: args.expectedTrajectory,
|
|
3374
3377
|
toolMocks: args.toolMocks,
|
|
3375
3378
|
unmockedToolPolicy: args.unmockedToolPolicy,
|
|
3379
|
+
scorerIds: args.scorerIds,
|
|
3376
3380
|
requestContext: args.requestContext,
|
|
3377
3381
|
metadata: args.metadata,
|
|
3378
3382
|
source: args.source,
|
|
@@ -3423,6 +3427,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3423
3427
|
expectedTrajectory: args.expectedTrajectory !== void 0 ? args.expectedTrajectory : existing.expectedTrajectory,
|
|
3424
3428
|
toolMocks: args.toolMocks !== void 0 ? args.toolMocks : existing.toolMocks,
|
|
3425
3429
|
unmockedToolPolicy: args.unmockedToolPolicy !== void 0 ? args.unmockedToolPolicy : existing.unmockedToolPolicy,
|
|
3430
|
+
scorerIds: args.scorerIds !== void 0 ? args.scorerIds ?? void 0 : existing.scorerIds,
|
|
3426
3431
|
requestContext: args.requestContext !== void 0 ? args.requestContext : existing.requestContext,
|
|
3427
3432
|
metadata: args.metadata !== void 0 ? args.metadata : existing.metadata,
|
|
3428
3433
|
source: args.source !== void 0 ? args.source : existing.source
|
|
@@ -3449,6 +3454,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3449
3454
|
expectedTrajectory: merged.expectedTrajectory ?? null,
|
|
3450
3455
|
toolMocks: merged.toolMocks ?? null,
|
|
3451
3456
|
unmockedToolPolicy: merged.unmockedToolPolicy ?? null,
|
|
3457
|
+
scorerIds: merged.scorerIds ?? null,
|
|
3452
3458
|
requestContext: merged.requestContext ?? null,
|
|
3453
3459
|
metadata: merged.metadata ?? null,
|
|
3454
3460
|
source: merged.source ?? null,
|
|
@@ -3471,6 +3477,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3471
3477
|
expectedTrajectory: merged.expectedTrajectory,
|
|
3472
3478
|
toolMocks: merged.toolMocks,
|
|
3473
3479
|
unmockedToolPolicy: merged.unmockedToolPolicy,
|
|
3480
|
+
scorerIds: merged.scorerIds,
|
|
3474
3481
|
requestContext: merged.requestContext,
|
|
3475
3482
|
metadata: merged.metadata,
|
|
3476
3483
|
source: merged.source,
|
|
@@ -3530,6 +3537,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3530
3537
|
expectedTrajectory: existing.expectedTrajectory ?? null,
|
|
3531
3538
|
toolMocks: existing.toolMocks ?? null,
|
|
3532
3539
|
unmockedToolPolicy: existing.unmockedToolPolicy ?? null,
|
|
3540
|
+
scorerIds: existing.scorerIds ?? null,
|
|
3533
3541
|
requestContext: existing.requestContext ?? null,
|
|
3534
3542
|
metadata: existing.metadata ?? null,
|
|
3535
3543
|
source: existing.source ?? null,
|
|
@@ -3847,6 +3855,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3847
3855
|
expectedTrajectory: insert.item.expectedTrajectory,
|
|
3848
3856
|
toolMocks: insert.item.toolMocks,
|
|
3849
3857
|
unmockedToolPolicy: insert.item.unmockedToolPolicy,
|
|
3858
|
+
scorerIds: insert.item.scorerIds,
|
|
3850
3859
|
requestContext: insert.item.requestContext,
|
|
3851
3860
|
metadata: insert.item.metadata,
|
|
3852
3861
|
source: insert.item.source,
|
|
@@ -3916,6 +3925,7 @@ var DatasetsSpanner = class DatasetsSpanner extends DatasetsStorage {
|
|
|
3916
3925
|
expectedTrajectory: existing.expectedTrajectory ?? null,
|
|
3917
3926
|
toolMocks: existing.toolMocks ?? null,
|
|
3918
3927
|
unmockedToolPolicy: existing.unmockedToolPolicy ?? null,
|
|
3928
|
+
scorerIds: existing.scorerIds ?? null,
|
|
3919
3929
|
requestContext: existing.requestContext ?? null,
|
|
3920
3930
|
metadata: existing.metadata ?? null,
|
|
3921
3931
|
source: existing.source ?? null,
|
|
@@ -7729,6 +7739,7 @@ function buildWhereClause(filters, startIndex = 0) {
|
|
|
7729
7739
|
const ts = filters.timestamp;
|
|
7730
7740
|
if (ts?.start) bindScalar("timestamp", ts.start, ts.startExclusive ? ">" : ">=");
|
|
7731
7741
|
if (ts?.end) bindScalar("timestamp", ts.end, ts.endExclusive ? "<" : "<=");
|
|
7742
|
+
if (Array.isArray(filters.traceIds)) bindIn("traceId", filters.traceIds);
|
|
7732
7743
|
for (const k of [
|
|
7733
7744
|
"traceId",
|
|
7734
7745
|
"spanId",
|
|
@@ -11500,6 +11511,169 @@ var SkillsSpanner = class SkillsSpanner extends SkillsStorage {
|
|
|
11500
11511
|
}
|
|
11501
11512
|
};
|
|
11502
11513
|
//#endregion
|
|
11514
|
+
//#region src/storage/domains/workflow-definitions/index.ts
|
|
11515
|
+
function rowToDefinition(row) {
|
|
11516
|
+
const parsed = transformFromSpannerRow({
|
|
11517
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11518
|
+
row
|
|
11519
|
+
});
|
|
11520
|
+
if (parsed.inputSchema == null || parsed.outputSchema == null || parsed.graph == null) throw new Error(`Workflow definition row "${String(parsed.id)}" is missing required JSON columns.`);
|
|
11521
|
+
const def = {
|
|
11522
|
+
id: String(parsed.id),
|
|
11523
|
+
inputSchema: parsed.inputSchema,
|
|
11524
|
+
outputSchema: parsed.outputSchema,
|
|
11525
|
+
graph: parsed.graph,
|
|
11526
|
+
status: parsed.status,
|
|
11527
|
+
source: parsed.source,
|
|
11528
|
+
createdAt: parsed.createdAt instanceof Date ? parsed.createdAt : new Date(parsed.createdAt),
|
|
11529
|
+
updatedAt: parsed.updatedAt instanceof Date ? parsed.updatedAt : new Date(parsed.updatedAt)
|
|
11530
|
+
};
|
|
11531
|
+
if (parsed.description != null) def.description = parsed.description;
|
|
11532
|
+
if (parsed.metadata != null) def.metadata = parsed.metadata;
|
|
11533
|
+
if (parsed.stateSchema != null) def.stateSchema = parsed.stateSchema;
|
|
11534
|
+
if (parsed.requestContextSchema != null) def.requestContextSchema = parsed.requestContextSchema;
|
|
11535
|
+
if (parsed.authorId != null) def.authorId = parsed.authorId;
|
|
11536
|
+
return def;
|
|
11537
|
+
}
|
|
11538
|
+
var WorkflowDefinitionsSpanner = class WorkflowDefinitionsSpanner extends WorkflowDefinitionsStorage {
|
|
11539
|
+
database;
|
|
11540
|
+
db;
|
|
11541
|
+
skipDefaultIndexes;
|
|
11542
|
+
indexes;
|
|
11543
|
+
static MANAGED_TABLES = [TABLE_WORKFLOW_DEFINITIONS];
|
|
11544
|
+
constructor(config) {
|
|
11545
|
+
super();
|
|
11546
|
+
const { database, indexes, skipDefaultIndexes, initMode } = resolveSpannerConfig(config);
|
|
11547
|
+
this.database = database;
|
|
11548
|
+
this.db = new SpannerDB({
|
|
11549
|
+
database,
|
|
11550
|
+
skipDefaultIndexes,
|
|
11551
|
+
initMode
|
|
11552
|
+
});
|
|
11553
|
+
this.skipDefaultIndexes = skipDefaultIndexes;
|
|
11554
|
+
this.indexes = indexes?.filter((idx) => WorkflowDefinitionsSpanner.MANAGED_TABLES.includes(idx.table));
|
|
11555
|
+
}
|
|
11556
|
+
async init() {
|
|
11557
|
+
await this.db.createTable({
|
|
11558
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11559
|
+
schema: WORKFLOW_DEFINITIONS_SCHEMA
|
|
11560
|
+
});
|
|
11561
|
+
await this.createDefaultIndexes();
|
|
11562
|
+
await this.createCustomIndexes();
|
|
11563
|
+
}
|
|
11564
|
+
getDefaultIndexDefinitions() {
|
|
11565
|
+
return [{
|
|
11566
|
+
name: "mastra_workflow_definitions_status_idx",
|
|
11567
|
+
table: TABLE_WORKFLOW_DEFINITIONS,
|
|
11568
|
+
columns: ["status"]
|
|
11569
|
+
}];
|
|
11570
|
+
}
|
|
11571
|
+
async createDefaultIndexes() {
|
|
11572
|
+
if (this.skipDefaultIndexes) return;
|
|
11573
|
+
await this.db.createIndexes(this.getDefaultIndexDefinitions());
|
|
11574
|
+
}
|
|
11575
|
+
async createCustomIndexes() {
|
|
11576
|
+
if (!this.indexes || this.indexes.length === 0) return;
|
|
11577
|
+
await this.db.createIndexes(this.indexes);
|
|
11578
|
+
}
|
|
11579
|
+
async dangerouslyClearAll() {
|
|
11580
|
+
await this.db.clearTable({ tableName: TABLE_WORKFLOW_DEFINITIONS });
|
|
11581
|
+
}
|
|
11582
|
+
async upsert(input) {
|
|
11583
|
+
const now = /* @__PURE__ */ new Date();
|
|
11584
|
+
if (!await this.get(input.id)) {
|
|
11585
|
+
if (!("inputSchema" in input) || input.inputSchema === void 0) throw new Error(`Cannot create workflow definition "${input.id}": inputSchema is required.`);
|
|
11586
|
+
if (!("outputSchema" in input) || input.outputSchema === void 0) throw new Error(`Cannot create workflow definition "${input.id}": outputSchema is required.`);
|
|
11587
|
+
if (!("graph" in input) || input.graph === void 0) throw new Error(`Cannot create workflow definition "${input.id}": graph is required.`);
|
|
11588
|
+
const record = {
|
|
11589
|
+
id: input.id,
|
|
11590
|
+
description: input.description ?? null,
|
|
11591
|
+
metadata: input.metadata ?? null,
|
|
11592
|
+
inputSchema: input.inputSchema,
|
|
11593
|
+
outputSchema: input.outputSchema,
|
|
11594
|
+
stateSchema: input.stateSchema ?? null,
|
|
11595
|
+
requestContextSchema: input.requestContextSchema ?? null,
|
|
11596
|
+
graph: input.graph,
|
|
11597
|
+
status: "active",
|
|
11598
|
+
source: "storage",
|
|
11599
|
+
authorId: "authorId" in input ? input.authorId ?? null : null,
|
|
11600
|
+
createdAt: now,
|
|
11601
|
+
updatedAt: now
|
|
11602
|
+
};
|
|
11603
|
+
try {
|
|
11604
|
+
await this.db.insert({
|
|
11605
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11606
|
+
record
|
|
11607
|
+
});
|
|
11608
|
+
} catch (error) {
|
|
11609
|
+
if (!await this.get(input.id)) throw error;
|
|
11610
|
+
return this.applyUpdate(input, now);
|
|
11611
|
+
}
|
|
11612
|
+
const created = await this.get(input.id);
|
|
11613
|
+
if (!created) throw new Error(`Failed to persist workflow definition "${input.id}".`);
|
|
11614
|
+
return created;
|
|
11615
|
+
}
|
|
11616
|
+
return this.applyUpdate(input, now);
|
|
11617
|
+
}
|
|
11618
|
+
async applyUpdate(input, now) {
|
|
11619
|
+
const data = { updatedAt: now };
|
|
11620
|
+
if ("description" in input && input.description !== void 0) data.description = input.description;
|
|
11621
|
+
if ("metadata" in input && input.metadata !== void 0) data.metadata = input.metadata;
|
|
11622
|
+
if ("inputSchema" in input && input.inputSchema !== void 0) data.inputSchema = input.inputSchema;
|
|
11623
|
+
if ("outputSchema" in input && input.outputSchema !== void 0) data.outputSchema = input.outputSchema;
|
|
11624
|
+
if ("stateSchema" in input && input.stateSchema !== void 0) data.stateSchema = input.stateSchema;
|
|
11625
|
+
if ("requestContextSchema" in input && input.requestContextSchema !== void 0) data.requestContextSchema = input.requestContextSchema;
|
|
11626
|
+
if ("graph" in input && input.graph !== void 0) data.graph = input.graph;
|
|
11627
|
+
if ("status" in input && input.status !== void 0) data.status = input.status;
|
|
11628
|
+
if ("authorId" in input && input.authorId !== void 0) data.authorId = input.authorId;
|
|
11629
|
+
await this.db.update({
|
|
11630
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11631
|
+
keys: { id: input.id },
|
|
11632
|
+
data
|
|
11633
|
+
});
|
|
11634
|
+
const updated = await this.get(input.id);
|
|
11635
|
+
if (!updated) throw new Error(`Failed to update workflow definition "${input.id}".`);
|
|
11636
|
+
return updated;
|
|
11637
|
+
}
|
|
11638
|
+
async get(id) {
|
|
11639
|
+
const row = await this.db.load({
|
|
11640
|
+
tableName: TABLE_WORKFLOW_DEFINITIONS,
|
|
11641
|
+
keys: { id }
|
|
11642
|
+
});
|
|
11643
|
+
return row ? rowToDefinition(row) : null;
|
|
11644
|
+
}
|
|
11645
|
+
async list(args) {
|
|
11646
|
+
const params = {};
|
|
11647
|
+
const conditions = [];
|
|
11648
|
+
if (args?.status) {
|
|
11649
|
+
params.status = args.status;
|
|
11650
|
+
conditions.push(`${quoteIdent("status", "column name")} = @status`);
|
|
11651
|
+
}
|
|
11652
|
+
if (args?.authorId !== void 0) {
|
|
11653
|
+
params.authorId = args.authorId;
|
|
11654
|
+
conditions.push(`${quoteIdent("authorId", "column name")} = @authorId`);
|
|
11655
|
+
}
|
|
11656
|
+
const where = conditions.length ? `WHERE ${conditions.join(" AND ")}` : "";
|
|
11657
|
+
const sql = `SELECT * FROM ${quoteIdent(TABLE_WORKFLOW_DEFINITIONS, "table name")} ${where} ORDER BY ${quoteIdent("updatedAt", "column name")} DESC`;
|
|
11658
|
+
const [rows] = await this.database.run({
|
|
11659
|
+
sql,
|
|
11660
|
+
params,
|
|
11661
|
+
json: true
|
|
11662
|
+
});
|
|
11663
|
+
const definitions = rows.map(rowToDefinition);
|
|
11664
|
+
return {
|
|
11665
|
+
definitions,
|
|
11666
|
+
total: definitions.length
|
|
11667
|
+
};
|
|
11668
|
+
}
|
|
11669
|
+
async delete(id) {
|
|
11670
|
+
await this.db.runDml({
|
|
11671
|
+
sql: `DELETE FROM ${quoteIdent(TABLE_WORKFLOW_DEFINITIONS, "table name")} WHERE id = @id`,
|
|
11672
|
+
params: { id }
|
|
11673
|
+
});
|
|
11674
|
+
}
|
|
11675
|
+
};
|
|
11676
|
+
//#endregion
|
|
11503
11677
|
//#region src/storage/domains/workflows/index.ts
|
|
11504
11678
|
/**
|
|
11505
11679
|
* Spanner-backed storage for workflow run snapshots, including persistence,
|
|
@@ -12668,7 +12842,8 @@ const SPANNER_DOMAIN_KEYS = [
|
|
|
12668
12842
|
"datasets",
|
|
12669
12843
|
"experiments",
|
|
12670
12844
|
"favorites",
|
|
12671
|
-
"workspaces"
|
|
12845
|
+
"workspaces",
|
|
12846
|
+
"workflowDefinitions"
|
|
12672
12847
|
];
|
|
12673
12848
|
const isPreConfiguredDatabase = (config) => "database" in config && !!config.database;
|
|
12674
12849
|
/**
|
|
@@ -12756,7 +12931,8 @@ var SpannerStore = class extends MastraCompositeStore {
|
|
|
12756
12931
|
...wants("datasets") && { datasets: new DatasetsSpanner(domainConfig) },
|
|
12757
12932
|
...wants("experiments") && { experiments: new ExperimentsSpanner(domainConfig) },
|
|
12758
12933
|
...wants("favorites") && { favorites: new FavoritesSpanner(domainConfig) },
|
|
12759
|
-
...wants("workspaces") && { workspaces: new WorkspacesSpanner(domainConfig) }
|
|
12934
|
+
...wants("workspaces") && { workspaces: new WorkspacesSpanner(domainConfig) },
|
|
12935
|
+
...wants("workflowDefinitions") && { workflowDefinitions: new WorkflowDefinitionsSpanner(domainConfig) }
|
|
12760
12936
|
};
|
|
12761
12937
|
} catch (e) {
|
|
12762
12938
|
throw new MastraError({
|
|
@@ -12812,7 +12988,8 @@ var SpannerStore = class extends MastraCompositeStore {
|
|
|
12812
12988
|
"datasets",
|
|
12813
12989
|
"experiments",
|
|
12814
12990
|
"workspaces",
|
|
12815
|
-
"favorites"
|
|
12991
|
+
"favorites",
|
|
12992
|
+
"workflowDefinitions"
|
|
12816
12993
|
]) {
|
|
12817
12994
|
const store = this.stores?.[key];
|
|
12818
12995
|
if (store) await store.init();
|
|
@@ -12844,6 +13021,6 @@ var SpannerStore = class extends MastraCompositeStore {
|
|
|
12844
13021
|
}
|
|
12845
13022
|
};
|
|
12846
13023
|
//#endregion
|
|
12847
|
-
export { AgentsSpanner, BackgroundTasksSpanner, BlobsSpanner, ChannelsSpanner, DatasetsSpanner, ExperimentsSpanner, FavoritesSpanner, MCPClientsSpanner, MCPServersSpanner, MemorySpanner, ObservabilitySpanner, PromptBlocksSpanner, SPANNER_DOMAIN_KEYS, SchedulesSpanner, ScorerDefinitionsSpanner, ScoresSpanner, SkillsSpanner, SpannerStore, WorkflowsSpanner, WorkspacesSpanner };
|
|
13024
|
+
export { AgentsSpanner, BackgroundTasksSpanner, BlobsSpanner, ChannelsSpanner, DatasetsSpanner, ExperimentsSpanner, FavoritesSpanner, MCPClientsSpanner, MCPServersSpanner, MemorySpanner, ObservabilitySpanner, PromptBlocksSpanner, SPANNER_DOMAIN_KEYS, SchedulesSpanner, ScorerDefinitionsSpanner, ScoresSpanner, SkillsSpanner, SpannerStore, WorkflowDefinitionsSpanner, WorkflowsSpanner, WorkspacesSpanner };
|
|
12848
13025
|
|
|
12849
13026
|
//# sourceMappingURL=index.js.map
|