@mastra/pg 1.10.1-alpha.0 → 1.10.1-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 +30 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-memory-semantic-recall.md +68 -6
- package/dist/docs/references/reference-storage-composite.md +1 -1
- package/dist/docs/references/reference-storage-dynamodb.md +1 -1
- package/dist/docs/references/reference-storage-postgresql.md +1 -1
- package/dist/index.cjs +187 -244
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +187 -244
- package/dist/index.js.map +1 -1
- package/dist/storage/domains/agents/index.d.ts +0 -1
- package/dist/storage/domains/agents/index.d.ts.map +1 -1
- package/dist/storage/domains/mcp-clients/index.d.ts +0 -1
- package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -1
- package/dist/storage/domains/mcp-servers/index.d.ts +0 -1
- package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +2 -1
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/prompt-blocks/index.d.ts +0 -1
- package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -1
- package/dist/storage/domains/scorer-definitions/index.d.ts +0 -1
- package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -1
- package/dist/storage/domains/skills/index.d.ts +0 -1
- package/dist/storage/domains/skills/index.d.ts.map +1 -1
- package/dist/storage/domains/utils.d.ts +18 -0
- package/dist/storage/domains/utils.d.ts.map +1 -1
- package/dist/storage/domains/workspaces/index.d.ts +0 -1
- package/dist/storage/domains/workspaces/index.d.ts.map +1 -1
- package/dist/storage/test-utils.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -2038,7 +2038,6 @@ var PoolAdapter = class {
|
|
|
2038
2038
|
constructor($pool) {
|
|
2039
2039
|
this.$pool = $pool;
|
|
2040
2040
|
}
|
|
2041
|
-
$pool;
|
|
2042
2041
|
connect() {
|
|
2043
2042
|
return this.$pool.connect();
|
|
2044
2043
|
}
|
|
@@ -2107,7 +2106,6 @@ var TransactionClient = class {
|
|
|
2107
2106
|
constructor(client) {
|
|
2108
2107
|
this.client = client;
|
|
2109
2108
|
}
|
|
2110
|
-
client;
|
|
2111
2109
|
async none(query, values) {
|
|
2112
2110
|
await this.client.query(query, values);
|
|
2113
2111
|
return null;
|
|
@@ -3451,6 +3449,15 @@ function getTableName2({ indexName, schemaName }) {
|
|
|
3451
3449
|
const quotedSchemaName = schemaName;
|
|
3452
3450
|
return quotedSchemaName ? `${quotedSchemaName}.${quotedIndexName}` : quotedIndexName;
|
|
3453
3451
|
}
|
|
3452
|
+
function parseJsonResilient(value, _fieldName) {
|
|
3453
|
+
if (value == null) return void 0;
|
|
3454
|
+
if (typeof value !== "string") return value;
|
|
3455
|
+
try {
|
|
3456
|
+
return JSON.parse(value);
|
|
3457
|
+
} catch {
|
|
3458
|
+
return value;
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3454
3461
|
function transformFromSqlRow({
|
|
3455
3462
|
tableName,
|
|
3456
3463
|
sqlRow
|
|
@@ -3712,38 +3719,13 @@ var AgentsPG = class _AgentsPG extends storage.AgentsStorage {
|
|
|
3712
3719
|
await this.#db.clearTable({ tableName: storage.TABLE_AGENT_VERSIONS });
|
|
3713
3720
|
await this.#db.clearTable({ tableName: storage.TABLE_AGENTS });
|
|
3714
3721
|
}
|
|
3715
|
-
parseJson(value, fieldName) {
|
|
3716
|
-
if (!value) return void 0;
|
|
3717
|
-
if (typeof value !== "string") return value;
|
|
3718
|
-
try {
|
|
3719
|
-
return JSON.parse(value);
|
|
3720
|
-
} catch (error$1) {
|
|
3721
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
3722
|
-
const details = {
|
|
3723
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
3724
|
-
};
|
|
3725
|
-
if (fieldName) {
|
|
3726
|
-
details.field = fieldName;
|
|
3727
|
-
}
|
|
3728
|
-
throw new error.MastraError(
|
|
3729
|
-
{
|
|
3730
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
3731
|
-
domain: error.ErrorDomain.STORAGE,
|
|
3732
|
-
category: error.ErrorCategory.SYSTEM,
|
|
3733
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
3734
|
-
details
|
|
3735
|
-
},
|
|
3736
|
-
error$1
|
|
3737
|
-
);
|
|
3738
|
-
}
|
|
3739
|
-
}
|
|
3740
3722
|
parseRow(row) {
|
|
3741
3723
|
return {
|
|
3742
3724
|
id: row.id,
|
|
3743
3725
|
status: row.status,
|
|
3744
3726
|
activeVersionId: row.activeVersionId,
|
|
3745
3727
|
authorId: row.authorId,
|
|
3746
|
-
metadata:
|
|
3728
|
+
metadata: parseJsonResilient(row.metadata),
|
|
3747
3729
|
createdAt: row.createdAtZ || row.createdAt,
|
|
3748
3730
|
updatedAt: row.updatedAtZ || row.updatedAt
|
|
3749
3731
|
};
|
|
@@ -3972,7 +3954,14 @@ var AgentsPG = class _AgentsPG extends storage.AgentsStorage {
|
|
|
3972
3954
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
3973
3955
|
[...queryParams, limitValue, offset]
|
|
3974
3956
|
);
|
|
3975
|
-
const agents = (dataResult || []).
|
|
3957
|
+
const agents = (dataResult || []).flatMap((row) => {
|
|
3958
|
+
try {
|
|
3959
|
+
return [this.parseRow(row)];
|
|
3960
|
+
} catch (err) {
|
|
3961
|
+
this.logger?.warn?.("[PG] Failed to map agent row, skipping", { id: row?.id, error: err });
|
|
3962
|
+
return [];
|
|
3963
|
+
}
|
|
3964
|
+
});
|
|
3976
3965
|
return {
|
|
3977
3966
|
agents,
|
|
3978
3967
|
total,
|
|
@@ -4160,7 +4149,14 @@ var AgentsPG = class _AgentsPG extends storage.AgentsStorage {
|
|
|
4160
4149
|
`SELECT * FROM ${tableName} WHERE "agentId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
4161
4150
|
[agentId, limitValue, offset]
|
|
4162
4151
|
);
|
|
4163
|
-
const versions = (dataResult || []).
|
|
4152
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
4153
|
+
try {
|
|
4154
|
+
return [this.parseVersionRow(row)];
|
|
4155
|
+
} catch (err) {
|
|
4156
|
+
this.logger?.warn?.("[PG] Failed to map agent version row, skipping", { id: row?.id, error: err });
|
|
4157
|
+
return [];
|
|
4158
|
+
}
|
|
4159
|
+
});
|
|
4164
4160
|
return {
|
|
4165
4161
|
versions,
|
|
4166
4162
|
total,
|
|
@@ -4259,22 +4255,22 @@ var AgentsPG = class _AgentsPG extends storage.AgentsStorage {
|
|
|
4259
4255
|
name: row.name,
|
|
4260
4256
|
description: row.description,
|
|
4261
4257
|
instructions: this.deserializeInstructions(row.instructions),
|
|
4262
|
-
model:
|
|
4263
|
-
tools:
|
|
4264
|
-
defaultOptions:
|
|
4265
|
-
workflows:
|
|
4266
|
-
agents:
|
|
4267
|
-
integrationTools:
|
|
4268
|
-
inputProcessors:
|
|
4269
|
-
outputProcessors:
|
|
4270
|
-
memory:
|
|
4271
|
-
scorers:
|
|
4272
|
-
mcpClients:
|
|
4273
|
-
requestContextSchema:
|
|
4274
|
-
workspace:
|
|
4275
|
-
skills:
|
|
4258
|
+
model: parseJsonResilient(row.model),
|
|
4259
|
+
tools: parseJsonResilient(row.tools),
|
|
4260
|
+
defaultOptions: parseJsonResilient(row.defaultOptions),
|
|
4261
|
+
workflows: parseJsonResilient(row.workflows),
|
|
4262
|
+
agents: parseJsonResilient(row.agents),
|
|
4263
|
+
integrationTools: parseJsonResilient(row.integrationTools),
|
|
4264
|
+
inputProcessors: parseJsonResilient(row.inputProcessors),
|
|
4265
|
+
outputProcessors: parseJsonResilient(row.outputProcessors),
|
|
4266
|
+
memory: parseJsonResilient(row.memory),
|
|
4267
|
+
scorers: parseJsonResilient(row.scorers),
|
|
4268
|
+
mcpClients: parseJsonResilient(row.mcpClients),
|
|
4269
|
+
requestContextSchema: parseJsonResilient(row.requestContextSchema),
|
|
4270
|
+
workspace: parseJsonResilient(row.workspace),
|
|
4271
|
+
skills: parseJsonResilient(row.skills),
|
|
4276
4272
|
skillsFormat: row.skillsFormat,
|
|
4277
|
-
changedFields:
|
|
4273
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
4278
4274
|
changeMessage: row.changeMessage,
|
|
4279
4275
|
createdAt: row.createdAtZ || row.createdAt
|
|
4280
4276
|
};
|
|
@@ -6714,7 +6710,14 @@ var MCPClientsPG = class _MCPClientsPG extends storage.MCPClientsStorage {
|
|
|
6714
6710
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
6715
6711
|
[...queryParams, limitValue, offset]
|
|
6716
6712
|
);
|
|
6717
|
-
const mcpClients = (dataResult || []).
|
|
6713
|
+
const mcpClients = (dataResult || []).flatMap((row) => {
|
|
6714
|
+
try {
|
|
6715
|
+
return [this.parseMCPClientRow(row)];
|
|
6716
|
+
} catch (err) {
|
|
6717
|
+
this.logger?.warn?.("[PG] Failed to map mcp client row, skipping", { id: row?.id, error: err });
|
|
6718
|
+
return [];
|
|
6719
|
+
}
|
|
6720
|
+
});
|
|
6718
6721
|
return {
|
|
6719
6722
|
mcpClients,
|
|
6720
6723
|
total,
|
|
@@ -6900,7 +6903,14 @@ var MCPClientsPG = class _MCPClientsPG extends storage.MCPClientsStorage {
|
|
|
6900
6903
|
`SELECT * FROM ${tableName} WHERE "mcpClientId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
6901
6904
|
[mcpClientId, limitValue, offset]
|
|
6902
6905
|
);
|
|
6903
|
-
const versions = (dataResult || []).
|
|
6906
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
6907
|
+
try {
|
|
6908
|
+
return [this.parseVersionRow(row)];
|
|
6909
|
+
} catch (err) {
|
|
6910
|
+
this.logger?.warn?.("[PG] Failed to map mcp client version row, skipping", { id: row?.id, error: err });
|
|
6911
|
+
return [];
|
|
6912
|
+
}
|
|
6913
|
+
});
|
|
6904
6914
|
return {
|
|
6905
6915
|
versions,
|
|
6906
6916
|
total,
|
|
@@ -6987,38 +6997,13 @@ var MCPClientsPG = class _MCPClientsPG extends storage.MCPClientsStorage {
|
|
|
6987
6997
|
// ==========================================================================
|
|
6988
6998
|
// Private Helper Methods
|
|
6989
6999
|
// ==========================================================================
|
|
6990
|
-
parseJson(value, fieldName) {
|
|
6991
|
-
if (!value) return void 0;
|
|
6992
|
-
if (typeof value !== "string") return value;
|
|
6993
|
-
try {
|
|
6994
|
-
return JSON.parse(value);
|
|
6995
|
-
} catch (error$1) {
|
|
6996
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
6997
|
-
const details = {
|
|
6998
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
6999
|
-
};
|
|
7000
|
-
if (fieldName) {
|
|
7001
|
-
details.field = fieldName;
|
|
7002
|
-
}
|
|
7003
|
-
throw new error.MastraError(
|
|
7004
|
-
{
|
|
7005
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
7006
|
-
domain: error.ErrorDomain.STORAGE,
|
|
7007
|
-
category: error.ErrorCategory.SYSTEM,
|
|
7008
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
7009
|
-
details
|
|
7010
|
-
},
|
|
7011
|
-
error$1
|
|
7012
|
-
);
|
|
7013
|
-
}
|
|
7014
|
-
}
|
|
7015
7000
|
parseMCPClientRow(row) {
|
|
7016
7001
|
return {
|
|
7017
7002
|
id: row.id,
|
|
7018
7003
|
status: row.status,
|
|
7019
7004
|
activeVersionId: row.activeVersionId,
|
|
7020
7005
|
authorId: row.authorId,
|
|
7021
|
-
metadata:
|
|
7006
|
+
metadata: parseJsonResilient(row.metadata),
|
|
7022
7007
|
createdAt: new Date(row.createdAtZ || row.createdAt),
|
|
7023
7008
|
updatedAt: new Date(row.updatedAtZ || row.updatedAt)
|
|
7024
7009
|
};
|
|
@@ -7030,8 +7015,8 @@ var MCPClientsPG = class _MCPClientsPG extends storage.MCPClientsStorage {
|
|
|
7030
7015
|
versionNumber: row.versionNumber,
|
|
7031
7016
|
name: row.name,
|
|
7032
7017
|
description: row.description,
|
|
7033
|
-
servers:
|
|
7034
|
-
changedFields:
|
|
7018
|
+
servers: parseJsonResilient(row.servers),
|
|
7019
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
7035
7020
|
changeMessage: row.changeMessage,
|
|
7036
7021
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
7037
7022
|
};
|
|
@@ -7338,7 +7323,14 @@ var MCPServersPG = class _MCPServersPG extends storage.MCPServersStorage {
|
|
|
7338
7323
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
7339
7324
|
[...queryParams, limitValue, offset]
|
|
7340
7325
|
);
|
|
7341
|
-
const mcpServers = (dataResult || []).
|
|
7326
|
+
const mcpServers = (dataResult || []).flatMap((row) => {
|
|
7327
|
+
try {
|
|
7328
|
+
return [this.parseMCPServerRow(row)];
|
|
7329
|
+
} catch (err) {
|
|
7330
|
+
this.logger?.warn?.("[PG] Failed to map mcp server row, skipping", { id: row?.id, error: err });
|
|
7331
|
+
return [];
|
|
7332
|
+
}
|
|
7333
|
+
});
|
|
7342
7334
|
return {
|
|
7343
7335
|
mcpServers,
|
|
7344
7336
|
total,
|
|
@@ -7534,7 +7526,14 @@ var MCPServersPG = class _MCPServersPG extends storage.MCPServersStorage {
|
|
|
7534
7526
|
`SELECT * FROM ${tableName} WHERE "mcpServerId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
7535
7527
|
[mcpServerId, limitValue, offset]
|
|
7536
7528
|
);
|
|
7537
|
-
const versions = (dataResult || []).
|
|
7529
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
7530
|
+
try {
|
|
7531
|
+
return [this.parseVersionRow(row)];
|
|
7532
|
+
} catch (err) {
|
|
7533
|
+
this.logger?.warn?.("[PG] Failed to map mcp server version row, skipping", { id: row?.id, error: err });
|
|
7534
|
+
return [];
|
|
7535
|
+
}
|
|
7536
|
+
});
|
|
7538
7537
|
return {
|
|
7539
7538
|
versions,
|
|
7540
7539
|
total,
|
|
@@ -7621,38 +7620,13 @@ var MCPServersPG = class _MCPServersPG extends storage.MCPServersStorage {
|
|
|
7621
7620
|
// ==========================================================================
|
|
7622
7621
|
// Private Helper Methods
|
|
7623
7622
|
// ==========================================================================
|
|
7624
|
-
parseJson(value, fieldName) {
|
|
7625
|
-
if (!value) return void 0;
|
|
7626
|
-
if (typeof value !== "string") return value;
|
|
7627
|
-
try {
|
|
7628
|
-
return JSON.parse(value);
|
|
7629
|
-
} catch (error$1) {
|
|
7630
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
7631
|
-
const details = {
|
|
7632
|
-
valueLength: String(value.length)
|
|
7633
|
-
};
|
|
7634
|
-
if (fieldName) {
|
|
7635
|
-
details.field = fieldName;
|
|
7636
|
-
}
|
|
7637
|
-
throw new error.MastraError(
|
|
7638
|
-
{
|
|
7639
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
7640
|
-
domain: error.ErrorDomain.STORAGE,
|
|
7641
|
-
category: error.ErrorCategory.SYSTEM,
|
|
7642
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
7643
|
-
details
|
|
7644
|
-
},
|
|
7645
|
-
error$1
|
|
7646
|
-
);
|
|
7647
|
-
}
|
|
7648
|
-
}
|
|
7649
7623
|
parseMCPServerRow(row) {
|
|
7650
7624
|
return {
|
|
7651
7625
|
id: row.id,
|
|
7652
7626
|
status: row.status,
|
|
7653
7627
|
activeVersionId: row.activeVersionId,
|
|
7654
7628
|
authorId: row.authorId,
|
|
7655
|
-
metadata:
|
|
7629
|
+
metadata: parseJsonResilient(row.metadata),
|
|
7656
7630
|
createdAt: new Date(row.createdAtZ || row.createdAt),
|
|
7657
7631
|
updatedAt: new Date(row.updatedAtZ || row.updatedAt)
|
|
7658
7632
|
};
|
|
@@ -7666,14 +7640,14 @@ var MCPServersPG = class _MCPServersPG extends storage.MCPServersStorage {
|
|
|
7666
7640
|
version: row.version,
|
|
7667
7641
|
description: row.description,
|
|
7668
7642
|
instructions: row.instructions,
|
|
7669
|
-
repository:
|
|
7643
|
+
repository: parseJsonResilient(row.repository),
|
|
7670
7644
|
releaseDate: row.releaseDate,
|
|
7671
7645
|
isLatest: row.isLatest,
|
|
7672
7646
|
packageCanonical: row.packageCanonical,
|
|
7673
|
-
tools:
|
|
7674
|
-
agents:
|
|
7675
|
-
workflows:
|
|
7676
|
-
changedFields:
|
|
7647
|
+
tools: parseJsonResilient(row.tools),
|
|
7648
|
+
agents: parseJsonResilient(row.agents),
|
|
7649
|
+
workflows: parseJsonResilient(row.workflows),
|
|
7650
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
7677
7651
|
changeMessage: row.changeMessage,
|
|
7678
7652
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
7679
7653
|
};
|
|
@@ -7880,12 +7854,21 @@ var MemoryPG = class _MemoryPG extends storage.MemoryStorage {
|
|
|
7880
7854
|
resourceId: row.resourceId
|
|
7881
7855
|
};
|
|
7882
7856
|
}
|
|
7883
|
-
async getThreadById({
|
|
7857
|
+
async getThreadById({
|
|
7858
|
+
threadId,
|
|
7859
|
+
resourceId
|
|
7860
|
+
}) {
|
|
7884
7861
|
try {
|
|
7885
7862
|
const tableName = getTableName4({ indexName: storage.TABLE_THREADS, schemaName: getSchemaName4(this.#schema) });
|
|
7863
|
+
let query = `SELECT * FROM ${tableName} WHERE id = $1`;
|
|
7864
|
+
let params = [threadId];
|
|
7865
|
+
if (resourceId !== void 0) {
|
|
7866
|
+
query += ` AND "resourceId" = $2`;
|
|
7867
|
+
params.push(resourceId);
|
|
7868
|
+
}
|
|
7886
7869
|
const thread = await this.#db.client.oneOrNone(
|
|
7887
|
-
|
|
7888
|
-
|
|
7870
|
+
query,
|
|
7871
|
+
params
|
|
7889
7872
|
);
|
|
7890
7873
|
if (!thread) {
|
|
7891
7874
|
return null;
|
|
@@ -11073,7 +11056,14 @@ var PromptBlocksPG = class _PromptBlocksPG extends storage.PromptBlocksStorage {
|
|
|
11073
11056
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
11074
11057
|
[...queryParams, limitValue, offset]
|
|
11075
11058
|
);
|
|
11076
|
-
const promptBlocks = (dataResult || []).
|
|
11059
|
+
const promptBlocks = (dataResult || []).flatMap((row) => {
|
|
11060
|
+
try {
|
|
11061
|
+
return [this.parseBlockRow(row)];
|
|
11062
|
+
} catch (err) {
|
|
11063
|
+
this.logger?.warn?.("[PG] Failed to map prompt block row, skipping", { id: row?.id, error: err });
|
|
11064
|
+
return [];
|
|
11065
|
+
}
|
|
11066
|
+
});
|
|
11077
11067
|
return {
|
|
11078
11068
|
promptBlocks,
|
|
11079
11069
|
total,
|
|
@@ -11260,7 +11250,14 @@ var PromptBlocksPG = class _PromptBlocksPG extends storage.PromptBlocksStorage {
|
|
|
11260
11250
|
`SELECT * FROM ${tableName} WHERE "blockId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
11261
11251
|
[blockId, limitValue, offset]
|
|
11262
11252
|
);
|
|
11263
|
-
const versions = (dataResult || []).
|
|
11253
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
11254
|
+
try {
|
|
11255
|
+
return [this.parseVersionRow(row)];
|
|
11256
|
+
} catch (err) {
|
|
11257
|
+
this.logger?.warn?.("[PG] Failed to map prompt block version row, skipping", { id: row?.id, error: err });
|
|
11258
|
+
return [];
|
|
11259
|
+
}
|
|
11260
|
+
});
|
|
11264
11261
|
return {
|
|
11265
11262
|
versions,
|
|
11266
11263
|
total,
|
|
@@ -11347,37 +11344,13 @@ var PromptBlocksPG = class _PromptBlocksPG extends storage.PromptBlocksStorage {
|
|
|
11347
11344
|
// ==========================================================================
|
|
11348
11345
|
// Private Helper Methods
|
|
11349
11346
|
// ==========================================================================
|
|
11350
|
-
parseJson(value, fieldName) {
|
|
11351
|
-
if (!value) return void 0;
|
|
11352
|
-
if (typeof value !== "string") return value;
|
|
11353
|
-
try {
|
|
11354
|
-
return JSON.parse(value);
|
|
11355
|
-
} catch (error$1) {
|
|
11356
|
-
const details = {
|
|
11357
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
11358
|
-
};
|
|
11359
|
-
if (fieldName) {
|
|
11360
|
-
details.field = fieldName;
|
|
11361
|
-
}
|
|
11362
|
-
throw new error.MastraError(
|
|
11363
|
-
{
|
|
11364
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
11365
|
-
domain: error.ErrorDomain.STORAGE,
|
|
11366
|
-
category: error.ErrorCategory.SYSTEM,
|
|
11367
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
11368
|
-
details
|
|
11369
|
-
},
|
|
11370
|
-
error$1
|
|
11371
|
-
);
|
|
11372
|
-
}
|
|
11373
|
-
}
|
|
11374
11347
|
parseBlockRow(row) {
|
|
11375
11348
|
return {
|
|
11376
11349
|
id: row.id,
|
|
11377
11350
|
status: row.status,
|
|
11378
11351
|
activeVersionId: row.activeVersionId,
|
|
11379
11352
|
authorId: row.authorId,
|
|
11380
|
-
metadata:
|
|
11353
|
+
metadata: parseJsonResilient(row.metadata),
|
|
11381
11354
|
createdAt: new Date(row.createdAtZ || row.createdAt),
|
|
11382
11355
|
updatedAt: new Date(row.updatedAtZ || row.updatedAt)
|
|
11383
11356
|
};
|
|
@@ -11390,9 +11363,9 @@ var PromptBlocksPG = class _PromptBlocksPG extends storage.PromptBlocksStorage {
|
|
|
11390
11363
|
name: row.name,
|
|
11391
11364
|
description: row.description,
|
|
11392
11365
|
content: row.content,
|
|
11393
|
-
rules:
|
|
11394
|
-
requestContextSchema:
|
|
11395
|
-
changedFields:
|
|
11366
|
+
rules: parseJsonResilient(row.rules),
|
|
11367
|
+
requestContextSchema: parseJsonResilient(row.requestContextSchema),
|
|
11368
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
11396
11369
|
changeMessage: row.changeMessage,
|
|
11397
11370
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
11398
11371
|
};
|
|
@@ -12009,7 +11982,14 @@ var ScorerDefinitionsPG = class _ScorerDefinitionsPG extends storage.ScorerDefin
|
|
|
12009
11982
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
12010
11983
|
[...queryParams, limitValue, offset]
|
|
12011
11984
|
);
|
|
12012
|
-
const scorerDefinitions = (dataResult || []).
|
|
11985
|
+
const scorerDefinitions = (dataResult || []).flatMap((row) => {
|
|
11986
|
+
try {
|
|
11987
|
+
return [this.parseScorerRow(row)];
|
|
11988
|
+
} catch (err) {
|
|
11989
|
+
this.logger?.warn?.("[PG] Failed to map scorer definition row, skipping", { id: row?.id, error: err });
|
|
11990
|
+
return [];
|
|
11991
|
+
}
|
|
11992
|
+
});
|
|
12013
11993
|
return {
|
|
12014
11994
|
scorerDefinitions,
|
|
12015
11995
|
total,
|
|
@@ -12200,7 +12180,17 @@ var ScorerDefinitionsPG = class _ScorerDefinitionsPG extends storage.ScorerDefin
|
|
|
12200
12180
|
`SELECT * FROM ${tableName} WHERE "scorerDefinitionId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
12201
12181
|
[scorerDefinitionId, limitValue, offset]
|
|
12202
12182
|
);
|
|
12203
|
-
const versions = (dataResult || []).
|
|
12183
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
12184
|
+
try {
|
|
12185
|
+
return [this.parseVersionRow(row)];
|
|
12186
|
+
} catch (err) {
|
|
12187
|
+
this.logger?.warn?.("[PG] Failed to map scorer definition version row, skipping", {
|
|
12188
|
+
id: row?.id,
|
|
12189
|
+
error: err
|
|
12190
|
+
});
|
|
12191
|
+
return [];
|
|
12192
|
+
}
|
|
12193
|
+
});
|
|
12204
12194
|
return {
|
|
12205
12195
|
versions,
|
|
12206
12196
|
total,
|
|
@@ -12288,38 +12278,13 @@ var ScorerDefinitionsPG = class _ScorerDefinitionsPG extends storage.ScorerDefin
|
|
|
12288
12278
|
// ==========================================================================
|
|
12289
12279
|
// Private Helper Methods
|
|
12290
12280
|
// ==========================================================================
|
|
12291
|
-
parseJson(value, fieldName) {
|
|
12292
|
-
if (!value) return void 0;
|
|
12293
|
-
if (typeof value !== "string") return value;
|
|
12294
|
-
try {
|
|
12295
|
-
return JSON.parse(value);
|
|
12296
|
-
} catch (error$1) {
|
|
12297
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
12298
|
-
const details = {
|
|
12299
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
12300
|
-
};
|
|
12301
|
-
if (fieldName) {
|
|
12302
|
-
details.field = fieldName;
|
|
12303
|
-
}
|
|
12304
|
-
throw new error.MastraError(
|
|
12305
|
-
{
|
|
12306
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
12307
|
-
domain: error.ErrorDomain.STORAGE,
|
|
12308
|
-
category: error.ErrorCategory.SYSTEM,
|
|
12309
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
12310
|
-
details
|
|
12311
|
-
},
|
|
12312
|
-
error$1
|
|
12313
|
-
);
|
|
12314
|
-
}
|
|
12315
|
-
}
|
|
12316
12281
|
parseScorerRow(row) {
|
|
12317
12282
|
return {
|
|
12318
12283
|
id: row.id,
|
|
12319
12284
|
status: row.status,
|
|
12320
12285
|
activeVersionId: row.activeVersionId,
|
|
12321
12286
|
authorId: row.authorId,
|
|
12322
|
-
metadata:
|
|
12287
|
+
metadata: parseJsonResilient(row.metadata),
|
|
12323
12288
|
createdAt: new Date(row.createdAtZ || row.createdAt),
|
|
12324
12289
|
updatedAt: new Date(row.updatedAtZ || row.updatedAt)
|
|
12325
12290
|
};
|
|
@@ -12332,12 +12297,12 @@ var ScorerDefinitionsPG = class _ScorerDefinitionsPG extends storage.ScorerDefin
|
|
|
12332
12297
|
name: row.name,
|
|
12333
12298
|
description: row.description,
|
|
12334
12299
|
type: row.type,
|
|
12335
|
-
model:
|
|
12300
|
+
model: parseJsonResilient(row.model),
|
|
12336
12301
|
instructions: row.instructions,
|
|
12337
|
-
scoreRange:
|
|
12338
|
-
presetConfig:
|
|
12339
|
-
defaultSampling:
|
|
12340
|
-
changedFields:
|
|
12302
|
+
scoreRange: parseJsonResilient(row.scoreRange),
|
|
12303
|
+
presetConfig: parseJsonResilient(row.presetConfig),
|
|
12304
|
+
defaultSampling: parseJsonResilient(row.defaultSampling),
|
|
12305
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
12341
12306
|
changeMessage: row.changeMessage,
|
|
12342
12307
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
12343
12308
|
};
|
|
@@ -13079,7 +13044,14 @@ var SkillsPG = class _SkillsPG extends storage.SkillsStorage {
|
|
|
13079
13044
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
13080
13045
|
[...queryParams, limitValue, offset]
|
|
13081
13046
|
);
|
|
13082
|
-
const skills = (dataResult || []).
|
|
13047
|
+
const skills = (dataResult || []).flatMap((row) => {
|
|
13048
|
+
try {
|
|
13049
|
+
return [this.parseSkillRow(row)];
|
|
13050
|
+
} catch (err) {
|
|
13051
|
+
this.logger?.warn?.("[PG] Failed to map skill row, skipping", { id: row?.id, error: err });
|
|
13052
|
+
return [];
|
|
13053
|
+
}
|
|
13054
|
+
});
|
|
13083
13055
|
return {
|
|
13084
13056
|
skills,
|
|
13085
13057
|
total,
|
|
@@ -13273,7 +13245,14 @@ var SkillsPG = class _SkillsPG extends storage.SkillsStorage {
|
|
|
13273
13245
|
`SELECT * FROM ${tableName} WHERE "skillId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
13274
13246
|
[skillId, limitValue, offset]
|
|
13275
13247
|
);
|
|
13276
|
-
const versions = (dataResult || []).
|
|
13248
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
13249
|
+
try {
|
|
13250
|
+
return [this.parseVersionRow(row)];
|
|
13251
|
+
} catch (err) {
|
|
13252
|
+
this.logger?.warn?.("[PG] Failed to map skill version row, skipping", { id: row?.id, error: err });
|
|
13253
|
+
return [];
|
|
13254
|
+
}
|
|
13255
|
+
});
|
|
13277
13256
|
return {
|
|
13278
13257
|
versions,
|
|
13279
13258
|
total,
|
|
@@ -13360,31 +13339,6 @@ var SkillsPG = class _SkillsPG extends storage.SkillsStorage {
|
|
|
13360
13339
|
// ==========================================================================
|
|
13361
13340
|
// Private Helper Methods
|
|
13362
13341
|
// ==========================================================================
|
|
13363
|
-
parseJson(value, fieldName) {
|
|
13364
|
-
if (!value) return void 0;
|
|
13365
|
-
if (typeof value !== "string") return value;
|
|
13366
|
-
try {
|
|
13367
|
-
return JSON.parse(value);
|
|
13368
|
-
} catch (error$1) {
|
|
13369
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
13370
|
-
const details = {
|
|
13371
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
13372
|
-
};
|
|
13373
|
-
if (fieldName) {
|
|
13374
|
-
details.field = fieldName;
|
|
13375
|
-
}
|
|
13376
|
-
throw new error.MastraError(
|
|
13377
|
-
{
|
|
13378
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
13379
|
-
domain: error.ErrorDomain.STORAGE,
|
|
13380
|
-
category: error.ErrorCategory.SYSTEM,
|
|
13381
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
13382
|
-
details
|
|
13383
|
-
},
|
|
13384
|
-
error$1
|
|
13385
|
-
);
|
|
13386
|
-
}
|
|
13387
|
-
}
|
|
13388
13342
|
parseSkillRow(row) {
|
|
13389
13343
|
return {
|
|
13390
13344
|
id: row.id,
|
|
@@ -13404,14 +13358,14 @@ var SkillsPG = class _SkillsPG extends storage.SkillsStorage {
|
|
|
13404
13358
|
description: row.description,
|
|
13405
13359
|
instructions: row.instructions,
|
|
13406
13360
|
license: row.license,
|
|
13407
|
-
compatibility:
|
|
13408
|
-
source:
|
|
13409
|
-
references:
|
|
13410
|
-
scripts:
|
|
13411
|
-
assets:
|
|
13412
|
-
metadata:
|
|
13413
|
-
tree:
|
|
13414
|
-
changedFields:
|
|
13361
|
+
compatibility: parseJsonResilient(row.compatibility),
|
|
13362
|
+
source: parseJsonResilient(row.source),
|
|
13363
|
+
references: parseJsonResilient(row.references),
|
|
13364
|
+
scripts: parseJsonResilient(row.scripts),
|
|
13365
|
+
assets: parseJsonResilient(row.assets),
|
|
13366
|
+
metadata: parseJsonResilient(row.metadata),
|
|
13367
|
+
tree: parseJsonResilient(row.tree),
|
|
13368
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
13415
13369
|
changeMessage: row.changeMessage,
|
|
13416
13370
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
13417
13371
|
};
|
|
@@ -14177,7 +14131,14 @@ var WorkspacesPG = class _WorkspacesPG extends storage.WorkspacesStorage {
|
|
|
14177
14131
|
`SELECT * FROM ${tableName} ${whereClause} ORDER BY "${field}" ${direction} LIMIT $${paramIdx++} OFFSET $${paramIdx++}`,
|
|
14178
14132
|
[...queryParams, limitValue, offset]
|
|
14179
14133
|
);
|
|
14180
|
-
const workspaces = (dataResult || []).
|
|
14134
|
+
const workspaces = (dataResult || []).flatMap((row) => {
|
|
14135
|
+
try {
|
|
14136
|
+
return [this.parseWorkspaceRow(row)];
|
|
14137
|
+
} catch (err) {
|
|
14138
|
+
this.logger?.warn?.("[PG] Failed to map workspace row, skipping", { id: row?.id, error: err });
|
|
14139
|
+
return [];
|
|
14140
|
+
}
|
|
14141
|
+
});
|
|
14181
14142
|
return {
|
|
14182
14143
|
workspaces,
|
|
14183
14144
|
total,
|
|
@@ -14371,7 +14332,14 @@ var WorkspacesPG = class _WorkspacesPG extends storage.WorkspacesStorage {
|
|
|
14371
14332
|
`SELECT * FROM ${tableName} WHERE "workspaceId" = $1 ORDER BY "${field}" ${direction} LIMIT $2 OFFSET $3`,
|
|
14372
14333
|
[workspaceId, limitValue, offset]
|
|
14373
14334
|
);
|
|
14374
|
-
const versions = (dataResult || []).
|
|
14335
|
+
const versions = (dataResult || []).flatMap((row) => {
|
|
14336
|
+
try {
|
|
14337
|
+
return [this.parseVersionRow(row)];
|
|
14338
|
+
} catch (err) {
|
|
14339
|
+
this.logger?.warn?.("[PG] Failed to map workspace version row, skipping", { id: row?.id, error: err });
|
|
14340
|
+
return [];
|
|
14341
|
+
}
|
|
14342
|
+
});
|
|
14375
14343
|
return {
|
|
14376
14344
|
versions,
|
|
14377
14345
|
total,
|
|
@@ -14458,38 +14426,13 @@ var WorkspacesPG = class _WorkspacesPG extends storage.WorkspacesStorage {
|
|
|
14458
14426
|
// ==========================================================================
|
|
14459
14427
|
// Private Helper Methods
|
|
14460
14428
|
// ==========================================================================
|
|
14461
|
-
parseJson(value, fieldName) {
|
|
14462
|
-
if (!value) return void 0;
|
|
14463
|
-
if (typeof value !== "string") return value;
|
|
14464
|
-
try {
|
|
14465
|
-
return JSON.parse(value);
|
|
14466
|
-
} catch (error$1) {
|
|
14467
|
-
if (error$1 instanceof error.MastraError) throw error$1;
|
|
14468
|
-
const details = {
|
|
14469
|
-
value: value.length > 100 ? value.substring(0, 100) + "..." : value
|
|
14470
|
-
};
|
|
14471
|
-
if (fieldName) {
|
|
14472
|
-
details.field = fieldName;
|
|
14473
|
-
}
|
|
14474
|
-
throw new error.MastraError(
|
|
14475
|
-
{
|
|
14476
|
-
id: storage.createStorageErrorId("PG", "PARSE_JSON", "INVALID_JSON"),
|
|
14477
|
-
domain: error.ErrorDomain.STORAGE,
|
|
14478
|
-
category: error.ErrorCategory.SYSTEM,
|
|
14479
|
-
text: `Failed to parse JSON${fieldName ? ` for field "${fieldName}"` : ""}: ${error$1 instanceof Error ? error$1.message : "Unknown error"}`,
|
|
14480
|
-
details
|
|
14481
|
-
},
|
|
14482
|
-
error$1
|
|
14483
|
-
);
|
|
14484
|
-
}
|
|
14485
|
-
}
|
|
14486
14429
|
parseWorkspaceRow(row) {
|
|
14487
14430
|
return {
|
|
14488
14431
|
id: row.id,
|
|
14489
14432
|
status: row.status,
|
|
14490
14433
|
activeVersionId: row.activeVersionId,
|
|
14491
14434
|
authorId: row.authorId,
|
|
14492
|
-
metadata:
|
|
14435
|
+
metadata: parseJsonResilient(row.metadata),
|
|
14493
14436
|
createdAt: new Date(row.createdAtZ || row.createdAt),
|
|
14494
14437
|
updatedAt: new Date(row.updatedAtZ || row.updatedAt)
|
|
14495
14438
|
};
|
|
@@ -14501,15 +14444,15 @@ var WorkspacesPG = class _WorkspacesPG extends storage.WorkspacesStorage {
|
|
|
14501
14444
|
versionNumber: row.versionNumber,
|
|
14502
14445
|
name: row.name,
|
|
14503
14446
|
description: row.description,
|
|
14504
|
-
filesystem:
|
|
14505
|
-
sandbox:
|
|
14506
|
-
mounts:
|
|
14507
|
-
search:
|
|
14508
|
-
skills:
|
|
14509
|
-
tools:
|
|
14447
|
+
filesystem: parseJsonResilient(row.filesystem),
|
|
14448
|
+
sandbox: parseJsonResilient(row.sandbox),
|
|
14449
|
+
mounts: parseJsonResilient(row.mounts),
|
|
14450
|
+
search: parseJsonResilient(row.search),
|
|
14451
|
+
skills: parseJsonResilient(row.skills),
|
|
14452
|
+
tools: parseJsonResilient(row.tools),
|
|
14510
14453
|
autoSync: Boolean(row.autoSync),
|
|
14511
14454
|
operationTimeout: row.operationTimeout != null ? Number(row.operationTimeout) : void 0,
|
|
14512
|
-
changedFields:
|
|
14455
|
+
changedFields: parseJsonResilient(row.changedFields),
|
|
14513
14456
|
changeMessage: row.changeMessage,
|
|
14514
14457
|
createdAt: new Date(row.createdAtZ || row.createdAt)
|
|
14515
14458
|
};
|