@lumifai/harness-tool-pack-postgres 0.0.1 → 0.2.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @lumifai/harness-tool-pack-postgres
2
2
 
3
- PostgreSQL schema inspection, JSON query, and guarded insert tools for the Lumif harness.
3
+ PostgreSQL schema inspection, JSON query, guarded insert, and allowlisted file-write tools for the Lumif harness.
4
4
 
5
5
  ## Setup
6
6
 
@@ -15,6 +15,20 @@ createPostgresToolPack({
15
15
  });
16
16
  ```
17
17
 
18
+ To enable the file-based insert/update tools, add explicit table and column allowlists to the same
19
+ pack. Without `allowedTables`, those tools are not registered.
20
+
21
+ ```ts
22
+ createPostgresToolPack({
23
+ connectionString: process.env.DATABASE_URL,
24
+ allowedTables: ['public.campaign_briefs'],
25
+ allowedColumns: {
26
+ 'public.campaign_briefs': ['id', 'name', 'metadata'],
27
+ },
28
+ jsonColumns: { 'public.campaign_briefs': ['metadata'] },
29
+ });
30
+ ```
31
+
18
32
  Access control (which schemas, tables, columns, and rows are visible or writable)
19
33
  is enforced in the database by the connection role's `GRANT`s and row-level
20
34
  security policies. Provision a dedicated role with the minimum privileges needed
@@ -23,13 +37,15 @@ as that role; the tools expose exactly what the role can see and write.
23
37
 
24
38
  ## Tools
25
39
 
26
- | Tool | Purpose |
27
- | ----------------------------- | ----------------------------------------------- |
28
- | `postgres_list_schemas` | List accessible schemas with relation counts |
29
- | `postgres_get_schema_details` | Columns, keys, foreign keys, optional indexes |
30
- | `postgres_preview_data` | Bounded preview of one relation |
31
- | `postgres_query` | Execute a validated JSON `QueryPlan` |
32
- | `postgres_insert` | Insert rows from inline JSON or a workspace CSV |
40
+ | Tool | Purpose |
41
+ | ----------------------------- | ------------------------------------------------- |
42
+ | `postgres_list_schemas` | List accessible schemas with relation counts |
43
+ | `postgres_get_schema_details` | Columns, keys, foreign keys, optional indexes |
44
+ | `postgres_preview_data` | Bounded preview of one relation |
45
+ | `postgres_query` | Execute a validated JSON `QueryPlan` |
46
+ | `postgres_insert` | Insert rows from inline JSON or a workspace CSV |
47
+ | `postgres_insert_from_file` | Insert rows from an allowlisted workspace JSON |
48
+ | `postgres_update_from_file` | Update one row from an allowlisted workspace JSON |
33
49
 
34
50
  Raw SQL is intentionally unsupported.
35
51
 
@@ -55,13 +71,13 @@ Raw SQL is intentionally unsupported.
55
71
  "relation": "users",
56
72
  "source": {
57
73
  "kind": "csv",
58
- "path": "/data/users.csv"
74
+ "path": "data/users.csv"
59
75
  }
60
76
  }
61
77
  ```
62
78
 
63
- CSV paths must be absolute within the Mastra workspace filesystem
64
- (for example `/data/users.csv`). Host filesystem paths are rejected. Partial
79
+ CSV paths must be workspace-relative within the Mastra workspace filesystem
80
+ (for example `data/users.csv`). Host filesystem paths are rejected. Partial
65
81
  success is intentional: valid rows commit; rejected rows are returned with
66
82
  row indexes and error codes. Structural failures (missing workspace, bad CSV,
67
83
  unknown table) fail the tool call.
package/dist/catalog.d.ts CHANGED
@@ -3,6 +3,10 @@ export type CatalogColumn = {
3
3
  name: string;
4
4
  dataType: string;
5
5
  isNullable: boolean;
6
+ /** True when PostgreSQL can populate the column without an insert value. */
7
+ hasDefault?: boolean;
8
+ isGenerated?: boolean;
9
+ enumValues?: string[];
6
10
  ordinalPosition: number;
7
11
  };
8
12
  export type CatalogRelation = {
@@ -43,3 +47,9 @@ export declare function loadPostgresCatalog(client: Client, options?: {
43
47
  }): Promise<PostgresCatalog>;
44
48
  export declare function loadRelationIndexes(client: Client, schema: string, relation: string): Promise<CatalogRelation['indexes']>;
45
49
  export declare function getCatalogRelation(catalog: PostgresCatalog, schema: string, name: string): CatalogRelation | undefined;
50
+ /**
51
+ * Intersect a loaded catalog with an optional `schema.table` allowlist.
52
+ * When `allowlist` is undefined, the catalog is returned unchanged.
53
+ * When provided (including empty), only matching relations remain.
54
+ */
55
+ export declare function intersectCatalogAllowlist(catalog: PostgresCatalog, allowlist: readonly string[] | undefined): PostgresCatalog;
package/dist/catalog.js CHANGED
@@ -4,6 +4,7 @@ exports.listSchemaSummaries = listSchemaSummaries;
4
4
  exports.loadPostgresCatalog = loadPostgresCatalog;
5
5
  exports.loadRelationIndexes = loadRelationIndexes;
6
6
  exports.getCatalogRelation = getCatalogRelation;
7
+ exports.intersectCatalogAllowlist = intersectCatalogAllowlist;
7
8
  const constants_1 = require("./constants");
8
9
  function relationKey(schema, name) {
9
10
  return `${schema}.${name}`;
@@ -63,10 +64,25 @@ async function loadPostgresCatalog(client, options) {
63
64
  WHERE table_schema = ANY($1::text[])
64
65
  AND table_type IN ('BASE TABLE', 'VIEW')
65
66
  ORDER BY table_schema, table_name`, [schemaList]);
66
- const columnsResult = await client.query(`SELECT table_schema, table_name, column_name, data_type, is_nullable, ordinal_position
67
+ const columnsResult = await client.query(`SELECT table_schema, table_name, column_name, data_type, is_nullable,
68
+ column_default, udt_schema, udt_name, is_identity, identity_generation,
69
+ is_generated, ordinal_position
67
70
  FROM information_schema.columns
68
71
  WHERE table_schema = ANY($1::text[])
69
72
  ORDER BY table_schema, table_name, ordinal_position`, [schemaList]);
73
+ const enumResult = await client.query(`SELECT n.nspname AS type_schema, t.typname AS type_name, e.enumlabel AS enum_label
74
+ FROM pg_catalog.pg_type t
75
+ JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
76
+ JOIN pg_catalog.pg_enum e ON e.enumtypid = t.oid
77
+ WHERE n.nspname = ANY($1::text[])
78
+ ORDER BY n.nspname, t.typname, e.enumsortorder`, [schemaList]);
79
+ const enumValuesByType = new Map();
80
+ for (const row of enumResult.rows) {
81
+ const key = `${row.type_schema}.${row.type_name}`;
82
+ const values = enumValuesByType.get(key) ?? [];
83
+ values.push(row.enum_label);
84
+ enumValuesByType.set(key, values);
85
+ }
70
86
  const pkResult = await client.query(`SELECT tc.table_schema, tc.table_name, kcu.column_name, kcu.ordinal_position
71
87
  FROM information_schema.table_constraints tc
72
88
  JOIN information_schema.key_column_usage kcu
@@ -122,10 +138,18 @@ async function loadPostgresCatalog(client, options) {
122
138
  if (!relation) {
123
139
  continue;
124
140
  }
141
+ const isIdentityAlways = column.is_identity === 'YES' && column.identity_generation === 'ALWAYS';
125
142
  relation.columns.push({
126
143
  name: column.column_name,
127
144
  dataType: column.data_type,
128
145
  isNullable: column.is_nullable === 'YES',
146
+ hasDefault: column.column_default !== null ||
147
+ column.is_identity === 'YES' ||
148
+ column.is_generated !== 'NEVER',
149
+ // STORED generated columns and GENERATED ALWAYS AS IDENTITY must be omitted on insert.
150
+ // GENERATED BY DEFAULT AS IDENTITY stays hasDefault-only (value may be supplied).
151
+ isGenerated: column.is_generated !== 'NEVER' || isIdentityAlways,
152
+ enumValues: enumValuesByType.get(`${column.udt_schema}.${column.udt_name}`),
129
153
  ordinalPosition: column.ordinal_position,
130
154
  });
131
155
  }
@@ -218,4 +242,26 @@ function extractIndexColumns(indexDef) {
218
242
  function getCatalogRelation(catalog, schema, name) {
219
243
  return catalog.relations.get(relationKey(schema, name));
220
244
  }
245
+ /**
246
+ * Intersect a loaded catalog with an optional `schema.table` allowlist.
247
+ * When `allowlist` is undefined, the catalog is returned unchanged.
248
+ * When provided (including empty), only matching relations remain.
249
+ */
250
+ function intersectCatalogAllowlist(catalog, allowlist) {
251
+ if (allowlist === undefined) {
252
+ return catalog;
253
+ }
254
+ const allowed = new Set(allowlist);
255
+ const relations = new Map();
256
+ for (const [key, relation] of catalog.relations) {
257
+ if (allowed.has(key)) {
258
+ relations.set(key, relation);
259
+ }
260
+ }
261
+ const schemas = new Set();
262
+ for (const relation of relations.values()) {
263
+ schemas.add(relation.schema);
264
+ }
265
+ return { schemas, relations };
266
+ }
221
267
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  export { DEFAULT_POSTGRES_QUERY_LIMIT, MAX_POSTGRES_QUERY_LIMIT, DEFAULT_MAX_INSERT_ROWS, MAX_INSERT_ROWS, createPostgresTools, createPostgresToolPack, resolvePostgresSkillPath, queryPlanSchema, previewInputSchema, schemaDetailsInputSchema, insertInputSchema, insertResultSchema, } from './postgres';
2
+ export { createPostgresWriteTools, resolvePostgresWriteSkillPath, validatePostgresWriteOptions, assertAllowedTable, DEFAULT_POSTGRES_WRITE_MAX_ROWS, MAX_POSTGRES_PARAMETERS, } from './postgres-write';
2
3
  export type { PostgresToolsOptions } from './postgres';
4
+ export { createPostgresValidationTool, validatePostgresFile, validateRows } from './validation';
5
+ export type { TableValidationSchema, ValidateFileInput, ValidateFileOutput } from './validation';
6
+ export type { PostgresConflictMode, PostgresWriteToolsOptions } from './postgres-write';
7
+ export { DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS, DEFAULT_POSTGRES_LOCK_TIMEOUT_MS, DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS, withPostgresTransaction, } from './pg-client';
8
+ export type { PostgresTransactionOptions } from './pg-client';
3
9
  export type { QueryPlan, QueryResult } from './query-language';
4
10
  export type { InsertInput, InsertResult } from './insert-language';
5
11
  export { QUERY_PLAN_VERSION } from './constants';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isPostgresToolError = exports.PostgresToolError = exports.QUERY_PLAN_VERSION = exports.insertResultSchema = exports.insertInputSchema = exports.schemaDetailsInputSchema = exports.previewInputSchema = exports.queryPlanSchema = exports.resolvePostgresSkillPath = exports.createPostgresToolPack = exports.createPostgresTools = exports.MAX_INSERT_ROWS = exports.DEFAULT_MAX_INSERT_ROWS = exports.MAX_POSTGRES_QUERY_LIMIT = exports.DEFAULT_POSTGRES_QUERY_LIMIT = void 0;
3
+ exports.isPostgresToolError = exports.PostgresToolError = exports.QUERY_PLAN_VERSION = exports.withPostgresTransaction = exports.DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS = exports.DEFAULT_POSTGRES_LOCK_TIMEOUT_MS = exports.DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS = exports.validateRows = exports.validatePostgresFile = exports.createPostgresValidationTool = exports.MAX_POSTGRES_PARAMETERS = exports.DEFAULT_POSTGRES_WRITE_MAX_ROWS = exports.assertAllowedTable = exports.validatePostgresWriteOptions = exports.resolvePostgresWriteSkillPath = exports.createPostgresWriteTools = exports.insertResultSchema = exports.insertInputSchema = exports.schemaDetailsInputSchema = exports.previewInputSchema = exports.queryPlanSchema = exports.resolvePostgresSkillPath = exports.createPostgresToolPack = exports.createPostgresTools = exports.MAX_INSERT_ROWS = exports.DEFAULT_MAX_INSERT_ROWS = exports.MAX_POSTGRES_QUERY_LIMIT = exports.DEFAULT_POSTGRES_QUERY_LIMIT = void 0;
4
4
  var postgres_1 = require("./postgres");
5
5
  Object.defineProperty(exports, "DEFAULT_POSTGRES_QUERY_LIMIT", { enumerable: true, get: function () { return postgres_1.DEFAULT_POSTGRES_QUERY_LIMIT; } });
6
6
  Object.defineProperty(exports, "MAX_POSTGRES_QUERY_LIMIT", { enumerable: true, get: function () { return postgres_1.MAX_POSTGRES_QUERY_LIMIT; } });
@@ -14,6 +14,22 @@ Object.defineProperty(exports, "previewInputSchema", { enumerable: true, get: fu
14
14
  Object.defineProperty(exports, "schemaDetailsInputSchema", { enumerable: true, get: function () { return postgres_1.schemaDetailsInputSchema; } });
15
15
  Object.defineProperty(exports, "insertInputSchema", { enumerable: true, get: function () { return postgres_1.insertInputSchema; } });
16
16
  Object.defineProperty(exports, "insertResultSchema", { enumerable: true, get: function () { return postgres_1.insertResultSchema; } });
17
+ var postgres_write_1 = require("./postgres-write");
18
+ Object.defineProperty(exports, "createPostgresWriteTools", { enumerable: true, get: function () { return postgres_write_1.createPostgresWriteTools; } });
19
+ Object.defineProperty(exports, "resolvePostgresWriteSkillPath", { enumerable: true, get: function () { return postgres_write_1.resolvePostgresWriteSkillPath; } });
20
+ Object.defineProperty(exports, "validatePostgresWriteOptions", { enumerable: true, get: function () { return postgres_write_1.validatePostgresWriteOptions; } });
21
+ Object.defineProperty(exports, "assertAllowedTable", { enumerable: true, get: function () { return postgres_write_1.assertAllowedTable; } });
22
+ Object.defineProperty(exports, "DEFAULT_POSTGRES_WRITE_MAX_ROWS", { enumerable: true, get: function () { return postgres_write_1.DEFAULT_POSTGRES_WRITE_MAX_ROWS; } });
23
+ Object.defineProperty(exports, "MAX_POSTGRES_PARAMETERS", { enumerable: true, get: function () { return postgres_write_1.MAX_POSTGRES_PARAMETERS; } });
24
+ var validation_1 = require("./validation");
25
+ Object.defineProperty(exports, "createPostgresValidationTool", { enumerable: true, get: function () { return validation_1.createPostgresValidationTool; } });
26
+ Object.defineProperty(exports, "validatePostgresFile", { enumerable: true, get: function () { return validation_1.validatePostgresFile; } });
27
+ Object.defineProperty(exports, "validateRows", { enumerable: true, get: function () { return validation_1.validateRows; } });
28
+ var pg_client_1 = require("./pg-client");
29
+ Object.defineProperty(exports, "DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS", { enumerable: true, get: function () { return pg_client_1.DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS; } });
30
+ Object.defineProperty(exports, "DEFAULT_POSTGRES_LOCK_TIMEOUT_MS", { enumerable: true, get: function () { return pg_client_1.DEFAULT_POSTGRES_LOCK_TIMEOUT_MS; } });
31
+ Object.defineProperty(exports, "DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS", { enumerable: true, get: function () { return pg_client_1.DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS; } });
32
+ Object.defineProperty(exports, "withPostgresTransaction", { enumerable: true, get: function () { return pg_client_1.withPostgresTransaction; } });
17
33
  var constants_1 = require("./constants");
18
34
  Object.defineProperty(exports, "QUERY_PLAN_VERSION", { enumerable: true, get: function () { return constants_1.QUERY_PLAN_VERSION; } });
19
35
  var errors_1 = require("./errors");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAaoB;AAZlB,wHAAA,4BAA4B,OAAA;AAC5B,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,oHAAA,wBAAwB,OAAA;AACxB,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAKpB,yCAAiD;AAAxC,+GAAA,kBAAkB,OAAA;AAC3B,mCAAkE;AAAzD,2GAAA,iBAAiB,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAaoB;AAZlB,wHAAA,4BAA4B,OAAA;AAC5B,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,oHAAA,wBAAwB,OAAA;AACxB,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAClB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAEpB,mDAO0B;AANxB,0HAAA,wBAAwB,OAAA;AACxB,+HAAA,6BAA6B,OAAA;AAC7B,8HAAA,4BAA4B,OAAA;AAC5B,oHAAA,kBAAkB,OAAA;AAClB,iIAAA,+BAA+B,OAAA;AAC/B,yHAAA,uBAAuB,OAAA;AAGzB,2CAAgG;AAAvF,0HAAA,4BAA4B,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AAAE,0GAAA,YAAY,OAAA;AAGzE,yCAKqB;AAJnB,oJAAA,uDAAuD,OAAA;AACvD,6HAAA,gCAAgC,OAAA;AAChC,kIAAA,qCAAqC,OAAA;AACrC,oHAAA,uBAAuB,OAAA;AAKzB,yCAAiD;AAAxC,+GAAA,kBAAkB,OAAA;AAC3B,mCAAkE;AAAzD,2GAAA,iBAAiB,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}
@@ -51,7 +51,7 @@ const insertSourceSchema = zod_1.z
51
51
  .string()
52
52
  .min(1)
53
53
  .optional()
54
- .describe('Absolute workspace path to a CSV file, e.g. /data/rows.csv. Required when kind is "csv"; omit when kind is "json".'),
54
+ .describe('Workspace-relative path to a CSV file, e.g. data/rows.csv. Required when kind is "csv"; omit when kind is "json".'),
55
55
  })
56
56
  .strict()
57
57
  .superRefine((value, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"insert-language.js","sourceRoot":"","sources":["../src/insert-language.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insert-language.js","sourceRoot":"","sources":["../src/insert-language.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ToolExecutionContext } from '@mastra/core/tools';
2
+ import { Client } from 'pg';
3
+ export type MaybePromise<T> = T | Promise<T>;
4
+ export type PostgresTransactionOptions = {
5
+ statementTimeoutMs?: number;
6
+ lockTimeoutMs?: number;
7
+ idleInTransactionTimeoutMs?: number;
8
+ };
9
+ export interface PostgresClientOptions extends PostgresTransactionOptions {
10
+ connectionString?: string;
11
+ resolveConnectionString?: (context: ToolExecutionContext) => MaybePromise<string>;
12
+ }
13
+ export type PostgresClientErrorFormatter = (error: unknown) => Error;
14
+ export declare const DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS = 10000;
15
+ export declare const DEFAULT_POSTGRES_LOCK_TIMEOUT_MS = 2000;
16
+ export declare const DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS = 5000;
17
+ export declare function withPostgresTransaction<T>(client: Client, options: PostgresTransactionOptions, run: () => Promise<T>): Promise<T>;
18
+ export declare function resolvePostgresConnectionString(options: PostgresClientOptions, context: ToolExecutionContext): Promise<string>;
19
+ export declare function withPostgresClient<T>(options: PostgresClientOptions, context: ToolExecutionContext, run: (client: Client, connectionString: string) => Promise<T>, formatError?: PostgresClientErrorFormatter): Promise<T>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS = exports.DEFAULT_POSTGRES_LOCK_TIMEOUT_MS = exports.DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS = void 0;
4
+ exports.withPostgresTransaction = withPostgresTransaction;
5
+ exports.resolvePostgresConnectionString = resolvePostgresConnectionString;
6
+ exports.withPostgresClient = withPostgresClient;
7
+ const pg_1 = require("pg");
8
+ const constants_1 = require("./constants");
9
+ const errors_1 = require("./errors");
10
+ exports.DEFAULT_POSTGRES_STATEMENT_TIMEOUT_MS = constants_1.DEFAULT_STATEMENT_TIMEOUT_MS;
11
+ exports.DEFAULT_POSTGRES_LOCK_TIMEOUT_MS = constants_1.DEFAULT_LOCK_TIMEOUT_MS;
12
+ exports.DEFAULT_POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT_MS = constants_1.DEFAULT_IDLE_IN_TRANSACTION_TIMEOUT_MS;
13
+ function timeoutValue(name, value, fallback) {
14
+ const resolved = value ?? fallback;
15
+ if (!Number.isSafeInteger(resolved) || resolved <= 0) {
16
+ throw new Error(`${name} must be a positive safe integer number of milliseconds.`);
17
+ }
18
+ return String(resolved);
19
+ }
20
+ async function withPostgresTransaction(client, options, run) {
21
+ await client.query('BEGIN');
22
+ try {
23
+ await client.query("SELECT set_config('statement_timeout', $1, true)", [
24
+ timeoutValue('statementTimeoutMs', options.statementTimeoutMs, constants_1.DEFAULT_STATEMENT_TIMEOUT_MS),
25
+ ]);
26
+ await client.query("SELECT set_config('lock_timeout', $1, true)", [
27
+ timeoutValue('lockTimeoutMs', options.lockTimeoutMs, constants_1.DEFAULT_LOCK_TIMEOUT_MS),
28
+ ]);
29
+ await client.query("SELECT set_config('idle_in_transaction_session_timeout', $1, true)", [
30
+ timeoutValue('idleInTransactionTimeoutMs', options.idleInTransactionTimeoutMs, constants_1.DEFAULT_IDLE_IN_TRANSACTION_TIMEOUT_MS),
31
+ ]);
32
+ const result = await run();
33
+ await client.query('COMMIT');
34
+ return result;
35
+ }
36
+ catch (error) {
37
+ await client.query('ROLLBACK').catch(() => undefined);
38
+ throw error;
39
+ }
40
+ }
41
+ async function resolvePostgresConnectionString(options, context) {
42
+ if (options.resolveConnectionString) {
43
+ return options.resolveConnectionString(context);
44
+ }
45
+ if (options.connectionString) {
46
+ return options.connectionString;
47
+ }
48
+ throw new errors_1.PostgresToolError('CONFIGURATION_ERROR', 'Postgres tools require connectionString or resolveConnectionString.');
49
+ }
50
+ async function withPostgresClient(options, context, run, formatError) {
51
+ const connectionString = await resolvePostgresConnectionString(options, context);
52
+ const client = new pg_1.Client({ connectionString });
53
+ try {
54
+ await client.connect();
55
+ try {
56
+ return await run(client, connectionString);
57
+ }
58
+ catch (error) {
59
+ throw formatError ? formatError(error) : error;
60
+ }
61
+ }
62
+ finally {
63
+ await client.end().catch(() => undefined);
64
+ }
65
+ }
66
+ //# sourceMappingURL=pg-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-client.js","sourceRoot":"","sources":["../src/pg-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { ToolsInput } from '@mastra/core/agent';
2
+ import { type ToolExecutionContext } from '@mastra/core/tools';
3
+ import type { Client } from 'pg';
4
+ import type { PostgresToolsOptions } from './postgres';
5
+ type MaybePromise<T> = T | Promise<T>;
6
+ export declare const DEFAULT_POSTGRES_WRITE_MAX_ROWS = 500;
7
+ export declare const MAX_POSTGRES_PARAMETERS = 65535;
8
+ export type PostgresConflictMode = 'ignore' | 'update';
9
+ export type PostgresWriteToolsOptions = PostgresToolsOptions & {
10
+ /**
11
+ * Fully-qualified `schema.table` targets that may be written to.
12
+ * Required — write tools fail closed when this is missing or empty.
13
+ */
14
+ allowedTables: string[];
15
+ /**
16
+ * Per-table column allowlist keyed by `schema.table`.
17
+ * Every allowed table must have at least one configured column; only these columns may appear
18
+ * in insert/update JSON files.
19
+ */
20
+ allowedColumns?: Record<string, string[]>;
21
+ /**
22
+ * Optional per-table json/jsonb columns keyed by `schema.table`.
23
+ * Values for these columns are cast with `::jsonb` in SQL.
24
+ */
25
+ jsonColumns?: Record<string, string[]>;
26
+ /** Maximum rows per insert file. Defaults to {@link DEFAULT_POSTGRES_WRITE_MAX_ROWS}. */
27
+ maxRows?: number;
28
+ /**
29
+ * Resolve the update lookup value from request/session context when the agent
30
+ * does not pass `whereValue` (e.g. campaign id from harness state).
31
+ */
32
+ resolveWhereValue?: (context: ToolExecutionContext) => MaybePromise<string | number | boolean | undefined>;
33
+ };
34
+ export declare function resolvePostgresWriteSkillPath(): string;
35
+ export declare function createPostgresWriteTools(options: PostgresWriteToolsOptions): ToolsInput;
36
+ export declare function validatePostgresWriteOptions(options: PostgresWriteToolsOptions): void;
37
+ export declare function assertAllowedTable(options: Pick<PostgresWriteToolsOptions, 'allowedTables'>, schema: string, table: string): void;
38
+ export declare function valuePlaceholder(column: string, placeholderIndex: number, jsonColumns: Set<string>): string;
39
+ export declare function insertRows(client: Client, schema: string, table: string, columns: string[], rows: Record<string, unknown>[], conflictColumns: string[] | undefined, onConflict: PostgresConflictMode | undefined, jsonColumns: Set<string>): Promise<number>;
40
+ export declare function updateRow(client: Client, schema: string, table: string, whereColumn: string, whereValue: string | number | boolean, columns: string[], set: Record<string, unknown>, jsonColumns: Set<string>): Promise<number>;
41
+ export {};