@mastra/pg 1.0.0-beta.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1404 -0
- package/dist/docs/README.md +36 -0
- package/dist/docs/SKILL.md +37 -0
- package/dist/docs/SOURCE_MAP.json +6 -0
- package/dist/docs/memory/01-storage.md +233 -0
- package/dist/docs/memory/02-working-memory.md +390 -0
- package/dist/docs/memory/03-semantic-recall.md +233 -0
- package/dist/docs/memory/04-reference.md +133 -0
- package/dist/docs/processors/01-reference.md +297 -0
- package/dist/docs/rag/01-overview.md +74 -0
- package/dist/docs/rag/02-vector-databases.md +643 -0
- package/dist/docs/rag/03-retrieval.md +548 -0
- package/dist/docs/rag/04-reference.md +369 -0
- package/dist/docs/storage/01-reference.md +828 -0
- package/dist/docs/tools/01-reference.md +440 -0
- package/dist/docs/vectors/01-reference.md +307 -0
- package/dist/index.cjs +1003 -223
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1000 -225
- package/dist/index.js.map +1 -1
- package/dist/shared/config.d.ts +61 -66
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/storage/client.d.ts +91 -0
- package/dist/storage/client.d.ts.map +1 -0
- package/dist/storage/db/index.d.ts +82 -17
- package/dist/storage/db/index.d.ts.map +1 -1
- package/dist/storage/domains/memory/index.d.ts +3 -2
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/observability/index.d.ts +23 -0
- package/dist/storage/domains/observability/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +1 -0
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +44 -17
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/test-utils.d.ts.map +1 -1
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/sql-builder.d.ts.map +1 -1
- package/package.json +11 -11
package/dist/shared/config.d.ts
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import type { ConnectionOptions } from 'node:tls';
|
|
2
2
|
import type { CreateIndexOptions } from '@mastra/core/storage';
|
|
3
|
-
import type { ClientConfig } from 'pg';
|
|
4
|
-
import type * as pg from 'pg';
|
|
5
|
-
import type pgPromise from 'pg-promise';
|
|
6
|
-
import type { ISSLConfig } from 'pg-promise/typescript/pg-subset';
|
|
3
|
+
import type { ClientConfig, Pool, PoolConfig } from 'pg';
|
|
7
4
|
/**
|
|
8
|
-
*
|
|
9
|
-
* @template SSLType - The SSL configuration type (ISSLConfig for pg-promise, ConnectionOptions for pg)
|
|
5
|
+
* Base configuration options shared across PostgreSQL configs.
|
|
10
6
|
*/
|
|
11
|
-
export
|
|
7
|
+
export interface PostgresBaseConfig {
|
|
12
8
|
id: string;
|
|
13
9
|
schemaName?: string;
|
|
14
|
-
max?: number;
|
|
15
|
-
idleTimeoutMillis?: number;
|
|
16
10
|
/**
|
|
17
11
|
* When true, automatic initialization (table creation/migrations) is disabled.
|
|
18
12
|
* This is useful for CI/CD pipelines where you want to:
|
|
@@ -62,83 +56,84 @@ export type PostgresConfig<SSLType = ISSLConfig | ConnectionOptions> = {
|
|
|
62
56
|
* ```
|
|
63
57
|
*/
|
|
64
58
|
indexes?: CreateIndexOptions[];
|
|
65
|
-
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Connection string configuration.
|
|
62
|
+
*/
|
|
63
|
+
export interface ConnectionStringConfig extends PostgresBaseConfig {
|
|
64
|
+
connectionString: string;
|
|
65
|
+
ssl?: boolean | ConnectionOptions;
|
|
66
|
+
max?: number;
|
|
67
|
+
idleTimeoutMillis?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Host-based configuration.
|
|
71
|
+
*/
|
|
72
|
+
export interface HostConfig extends PostgresBaseConfig {
|
|
66
73
|
host: string;
|
|
67
74
|
port: number;
|
|
68
75
|
database: string;
|
|
69
76
|
user: string;
|
|
70
77
|
password: string;
|
|
71
|
-
ssl?: boolean |
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
} | ClientConfig);
|
|
78
|
+
ssl?: boolean | ConnectionOptions;
|
|
79
|
+
max?: number;
|
|
80
|
+
idleTimeoutMillis?: number;
|
|
81
|
+
}
|
|
76
82
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* Accepts either:
|
|
80
|
-
* - A pre-configured pg-promise client: `{ id, client, schemaName? }`
|
|
81
|
-
* - Connection string: `{ id, connectionString, ... }`
|
|
82
|
-
* - Host/port config: `{ id, host, port, database, user, password, ... }`
|
|
83
|
-
* - Cloud SQL connector config: `{ id, stream, ... }`
|
|
83
|
+
* Pre-configured pg.Pool configuration.
|
|
84
84
|
*/
|
|
85
|
-
export
|
|
86
|
-
id: string;
|
|
85
|
+
export interface PoolInstanceConfig extends PostgresBaseConfig {
|
|
87
86
|
/**
|
|
88
|
-
* Pre-configured pg
|
|
89
|
-
* Use this
|
|
90
|
-
*
|
|
87
|
+
* Pre-configured pg.Pool instance.
|
|
88
|
+
* Use this for direct control over the connection pool, or for
|
|
89
|
+
* integration with libraries that expect a pg.Pool.
|
|
91
90
|
*
|
|
92
91
|
* @example
|
|
93
92
|
* ```typescript
|
|
94
|
-
* import
|
|
93
|
+
* import { Pool } from 'pg';
|
|
95
94
|
*
|
|
96
|
-
* const
|
|
97
|
-
* const
|
|
95
|
+
* const pool = new Pool({ connectionString: '...' });
|
|
96
|
+
* const store = new PostgresStore({ id: 'my-store', pool });
|
|
98
97
|
*
|
|
99
|
-
* //
|
|
100
|
-
* client.$pool.on('connect', async (poolClient) => {
|
|
101
|
-
* await poolClient.query('SET ROLE my_role;');
|
|
102
|
-
* });
|
|
103
|
-
*
|
|
104
|
-
* const store = new PostgresStore({ id: 'my-store', client });
|
|
98
|
+
* // Use store.pool for other libraries that need a pg.Pool
|
|
105
99
|
* ```
|
|
106
100
|
*/
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
101
|
+
pool: Pool;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* PostgreSQL configuration for PostgresStore.
|
|
105
|
+
*
|
|
106
|
+
* Accepts either:
|
|
107
|
+
* - A pre-configured pg.Pool: `{ id, pool, schemaName? }`
|
|
108
|
+
* - Connection string: `{ id, connectionString, ... }`
|
|
109
|
+
* - Host/port config: `{ id, host, port, database, user, password, ... }`
|
|
110
|
+
* - Cloud SQL connector config: `{ id, stream, ... }` (via pg.ClientConfig)
|
|
111
|
+
*/
|
|
112
|
+
export type PostgresStoreConfig = PoolInstanceConfig | ConnectionStringConfig | HostConfig | (PostgresBaseConfig & ClientConfig);
|
|
113
113
|
/**
|
|
114
114
|
* PostgreSQL configuration for PgVector (uses pg with ConnectionOptions)
|
|
115
115
|
*/
|
|
116
|
-
export type PgVectorConfig =
|
|
117
|
-
pgPoolOptions?: Omit<
|
|
116
|
+
export type PgVectorConfig = (ConnectionStringConfig | HostConfig | (PostgresBaseConfig & ClientConfig)) & {
|
|
117
|
+
pgPoolOptions?: Omit<PoolConfig, 'connectionString'>;
|
|
118
118
|
};
|
|
119
|
-
export declare const isConnectionStringConfig: <SSLType>(cfg: PostgresConfig<SSLType>) => cfg is PostgresConfig<SSLType> & {
|
|
120
|
-
connectionString: string;
|
|
121
|
-
ssl?: boolean | SSLType;
|
|
122
|
-
};
|
|
123
|
-
export declare const isHostConfig: <SSLType>(cfg: PostgresConfig<SSLType>) => cfg is PostgresConfig<SSLType> & {
|
|
124
|
-
host: string;
|
|
125
|
-
port: number;
|
|
126
|
-
database: string;
|
|
127
|
-
user: string;
|
|
128
|
-
password: string;
|
|
129
|
-
ssl?: boolean | SSLType;
|
|
130
|
-
};
|
|
131
|
-
export declare const isCloudSqlConfig: <SSLType>(cfg: PostgresConfig<SSLType>) => cfg is PostgresConfig<SSLType> & ClientConfig;
|
|
132
119
|
/**
|
|
133
|
-
* Type guard for pre-configured
|
|
120
|
+
* Type guard for pre-configured pg.Pool config
|
|
121
|
+
*/
|
|
122
|
+
export declare const isPoolConfig: (cfg: PostgresStoreConfig) => cfg is PoolInstanceConfig;
|
|
123
|
+
/**
|
|
124
|
+
* Type guard for connection string config
|
|
125
|
+
*/
|
|
126
|
+
export declare const isConnectionStringConfig: (cfg: PostgresStoreConfig) => cfg is ConnectionStringConfig;
|
|
127
|
+
/**
|
|
128
|
+
* Type guard for host-based config
|
|
129
|
+
*/
|
|
130
|
+
export declare const isHostConfig: (cfg: PostgresStoreConfig) => cfg is HostConfig;
|
|
131
|
+
/**
|
|
132
|
+
* Type guard for Cloud SQL connector config
|
|
133
|
+
*/
|
|
134
|
+
export declare const isCloudSqlConfig: (cfg: PostgresStoreConfig) => cfg is PostgresBaseConfig & ClientConfig;
|
|
135
|
+
/**
|
|
136
|
+
* Validate PostgresStore configuration.
|
|
134
137
|
*/
|
|
135
|
-
export declare const isClientConfig: (cfg: PostgresStoreConfig) => cfg is {
|
|
136
|
-
id: string;
|
|
137
|
-
client: pgPromise.IDatabase<{}>;
|
|
138
|
-
schemaName?: string;
|
|
139
|
-
disableInit?: boolean;
|
|
140
|
-
skipDefaultIndexes?: boolean;
|
|
141
|
-
indexes?: CreateIndexOptions[];
|
|
142
|
-
};
|
|
143
138
|
export declare const validateConfig: (name: string, config: PostgresStoreConfig) => void;
|
|
144
139
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,kBAAkB;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D;;;;;;;;;;;;;;OAcG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,sBAAsB,GACtB,UAAU,GACV,CAAC,kBAAkB,GAAG,YAAY,CAAC,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,sBAAsB,GAAG,UAAU,GAAG,CAAC,kBAAkB,GAAG,YAAY,CAAC,CAAC,GAAG;IACzG,aAAa,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,mBAAmB,KAAG,GAAG,IAAI,kBAE9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,KAAK,mBAAmB,KAAG,GAAG,IAAI,sBAE1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,mBAAmB,KAAG,GAAG,IAAI,UAE9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,mBAAmB,KAAG,GAAG,IAAI,kBAAkB,GAAG,YAEvF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,QAAQ,mBAAmB,SAuCvE,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Pool, PoolClient, QueryResult } from 'pg';
|
|
2
|
+
export type { Pool, PoolClient, QueryResult } from 'pg';
|
|
3
|
+
/**
|
|
4
|
+
* Values array for parameterized queries.
|
|
5
|
+
*/
|
|
6
|
+
export type QueryValues = unknown[];
|
|
7
|
+
/**
|
|
8
|
+
* Common interface for database clients.
|
|
9
|
+
* PoolAdapter implements this interface by wrapping a pg.Pool.
|
|
10
|
+
*/
|
|
11
|
+
export interface DbClient {
|
|
12
|
+
/**
|
|
13
|
+
* The underlying connection pool.
|
|
14
|
+
*/
|
|
15
|
+
readonly $pool: Pool;
|
|
16
|
+
/**
|
|
17
|
+
* Acquire a client from the pool for manual query execution.
|
|
18
|
+
* Remember to call client.release() when done.
|
|
19
|
+
*/
|
|
20
|
+
connect(): Promise<PoolClient>;
|
|
21
|
+
/**
|
|
22
|
+
* Execute a query that returns no data.
|
|
23
|
+
* Use for INSERT, UPDATE, DELETE without RETURNING.
|
|
24
|
+
*/
|
|
25
|
+
none(query: string, values?: QueryValues): Promise<null>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute a query that returns exactly one row.
|
|
28
|
+
* @throws Error if zero or more than one row is returned
|
|
29
|
+
*/
|
|
30
|
+
one<T = any>(query: string, values?: QueryValues): Promise<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Execute a query that returns zero or one row.
|
|
33
|
+
* @returns The row, or null if no rows returned
|
|
34
|
+
* @throws Error if more than one row is returned
|
|
35
|
+
*/
|
|
36
|
+
oneOrNone<T = any>(query: string, values?: QueryValues): Promise<T | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Execute a query that returns any number of rows (including zero).
|
|
39
|
+
* Alias for manyOrNone.
|
|
40
|
+
*/
|
|
41
|
+
any<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Execute a query that returns zero or more rows.
|
|
44
|
+
*/
|
|
45
|
+
manyOrNone<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
46
|
+
/**
|
|
47
|
+
* Execute a query that returns at least one row.
|
|
48
|
+
* @throws Error if no rows are returned
|
|
49
|
+
*/
|
|
50
|
+
many<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Execute a raw query, returning the full result object.
|
|
53
|
+
*/
|
|
54
|
+
query(query: string, values?: QueryValues): Promise<QueryResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Execute a function within a transaction.
|
|
57
|
+
* Automatically handles BEGIN, COMMIT, and ROLLBACK.
|
|
58
|
+
*/
|
|
59
|
+
tx<T>(callback: (t: TxClient) => Promise<T>): Promise<T>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Transaction client interface for executing queries within a transaction.
|
|
63
|
+
*/
|
|
64
|
+
export interface TxClient {
|
|
65
|
+
none(query: string, values?: QueryValues): Promise<null>;
|
|
66
|
+
one<T = any>(query: string, values?: QueryValues): Promise<T>;
|
|
67
|
+
oneOrNone<T = any>(query: string, values?: QueryValues): Promise<T | null>;
|
|
68
|
+
any<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
69
|
+
manyOrNone<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
70
|
+
many<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
71
|
+
query(query: string, values?: QueryValues): Promise<QueryResult>;
|
|
72
|
+
/** Execute multiple promises in parallel */
|
|
73
|
+
batch<T>(promises: Promise<T>[]): Promise<T[]>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Adapter that wraps a pg.Pool to implement DbClient.
|
|
77
|
+
*/
|
|
78
|
+
export declare class PoolAdapter implements DbClient {
|
|
79
|
+
readonly $pool: Pool;
|
|
80
|
+
constructor($pool: Pool);
|
|
81
|
+
connect(): Promise<PoolClient>;
|
|
82
|
+
none(query: string, values?: QueryValues): Promise<null>;
|
|
83
|
+
one<T = any>(query: string, values?: QueryValues): Promise<T>;
|
|
84
|
+
oneOrNone<T = any>(query: string, values?: QueryValues): Promise<T | null>;
|
|
85
|
+
any<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
86
|
+
manyOrNone<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
87
|
+
many<T = any>(query: string, values?: QueryValues): Promise<T[]>;
|
|
88
|
+
query(query: string, values?: QueryValues): Promise<QueryResult>;
|
|
89
|
+
tx<T>(callback: (t: TxClient) => Promise<T>): Promise<T>;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/storage/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
+
import type { ConnectionOptions } from 'node:tls';
|
|
1
2
|
import { MastraBase } from '@mastra/core/base';
|
|
2
3
|
import type { StorageColumn, TABLE_NAMES, CreateIndexOptions, IndexInfo, StorageIndexStats } from '@mastra/core/storage';
|
|
3
|
-
import
|
|
4
|
-
import type {
|
|
4
|
+
import { Pool } from 'pg';
|
|
5
|
+
import type { DbClient } from '../client.js';
|
|
6
|
+
export type { DbClient } from '../client.js';
|
|
5
7
|
/**
|
|
6
8
|
* Configuration for standalone domain usage.
|
|
7
9
|
* Accepts either:
|
|
8
|
-
* 1. An existing
|
|
9
|
-
* 2. Config to create a new
|
|
10
|
+
* 1. An existing database client (Pool or PoolAdapter)
|
|
11
|
+
* 2. Config to create a new pool internally
|
|
10
12
|
*/
|
|
11
|
-
export type PgDomainConfig = PgDomainClientConfig | PgDomainRestConfig;
|
|
13
|
+
export type PgDomainConfig = PgDomainClientConfig | PgDomainPoolConfig | PgDomainRestConfig;
|
|
12
14
|
/**
|
|
13
|
-
* Pass an existing
|
|
15
|
+
* Pass an existing database client (DbClient)
|
|
14
16
|
*/
|
|
15
17
|
export interface PgDomainClientConfig {
|
|
16
|
-
/** The
|
|
17
|
-
client:
|
|
18
|
+
/** The database client */
|
|
19
|
+
client: DbClient;
|
|
18
20
|
/** Optional schema name (defaults to 'public') */
|
|
19
21
|
schemaName?: string;
|
|
20
22
|
/** When true, default indexes will not be created during initialization */
|
|
@@ -23,7 +25,20 @@ export interface PgDomainClientConfig {
|
|
|
23
25
|
indexes?: CreateIndexOptions[];
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
|
-
* Pass
|
|
28
|
+
* Pass an existing pg.Pool
|
|
29
|
+
*/
|
|
30
|
+
export interface PgDomainPoolConfig {
|
|
31
|
+
/** Pre-configured pg.Pool */
|
|
32
|
+
pool: Pool;
|
|
33
|
+
/** Optional schema name (defaults to 'public') */
|
|
34
|
+
schemaName?: string;
|
|
35
|
+
/** When true, default indexes will not be created during initialization */
|
|
36
|
+
skipDefaultIndexes?: boolean;
|
|
37
|
+
/** Custom indexes to create for this domain's tables */
|
|
38
|
+
indexes?: CreateIndexOptions[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Pass config to create a new pg.Pool internally
|
|
27
42
|
*/
|
|
28
43
|
export type PgDomainRestConfig = {
|
|
29
44
|
/** Optional schema name (defaults to 'public') */
|
|
@@ -38,31 +53,36 @@ export type PgDomainRestConfig = {
|
|
|
38
53
|
database: string;
|
|
39
54
|
user: string;
|
|
40
55
|
password: string;
|
|
41
|
-
ssl?: boolean |
|
|
56
|
+
ssl?: boolean | ConnectionOptions;
|
|
42
57
|
} | {
|
|
43
58
|
connectionString: string;
|
|
44
|
-
ssl?: boolean |
|
|
59
|
+
ssl?: boolean | ConnectionOptions;
|
|
45
60
|
});
|
|
46
61
|
/**
|
|
47
|
-
* Resolves PgDomainConfig to a
|
|
48
|
-
* Handles creating a new
|
|
62
|
+
* Resolves PgDomainConfig to a database client and schema.
|
|
63
|
+
* Handles creating a new pool if config is provided.
|
|
49
64
|
*/
|
|
50
65
|
export declare function resolvePgConfig(config: PgDomainConfig): {
|
|
51
|
-
client:
|
|
66
|
+
client: DbClient;
|
|
52
67
|
schemaName?: string;
|
|
53
68
|
skipDefaultIndexes?: boolean;
|
|
54
69
|
indexes?: CreateIndexOptions[];
|
|
55
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Exports the Mastra database schema as SQL DDL statements.
|
|
73
|
+
* Does not require a database connection.
|
|
74
|
+
*/
|
|
75
|
+
export declare function exportSchemas(schemaName?: string): string;
|
|
56
76
|
/**
|
|
57
77
|
* Internal config for PgDB - accepts already-resolved client
|
|
58
78
|
*/
|
|
59
79
|
export interface PgDBInternalConfig {
|
|
60
|
-
client:
|
|
80
|
+
client: DbClient;
|
|
61
81
|
schemaName?: string;
|
|
62
82
|
skipDefaultIndexes?: boolean;
|
|
63
83
|
}
|
|
64
84
|
export declare class PgDB extends MastraBase {
|
|
65
|
-
client:
|
|
85
|
+
client: DbClient;
|
|
66
86
|
schemaName?: string;
|
|
67
87
|
skipDefaultIndexes?: boolean;
|
|
68
88
|
constructor(config: PgDBInternalConfig);
|
|
@@ -80,7 +100,6 @@ export declare class PgDB extends MastraBase {
|
|
|
80
100
|
*/
|
|
81
101
|
private prepareValue;
|
|
82
102
|
private setupSchema;
|
|
83
|
-
protected getSqlType(type: StorageColumn['type']): string;
|
|
84
103
|
protected getDefaultValue(type: StorageColumn['type']): string;
|
|
85
104
|
insert({ tableName, record }: {
|
|
86
105
|
tableName: TABLE_NAMES;
|
|
@@ -99,6 +118,52 @@ export declare class PgDB extends MastraBase {
|
|
|
99
118
|
* This adds new columns that don't exist in old schema.
|
|
100
119
|
*/
|
|
101
120
|
private migrateSpansTable;
|
|
121
|
+
/**
|
|
122
|
+
* Deduplicates spans in the mastra_ai_spans table before adding the PRIMARY KEY constraint.
|
|
123
|
+
* Keeps spans based on priority: completed (endedAt NOT NULL) > most recent updatedAt > most recent createdAt.
|
|
124
|
+
*
|
|
125
|
+
* Note: This prioritizes migration completion over perfect data preservation.
|
|
126
|
+
* Old trace data may be lost, which is acceptable for this use case.
|
|
127
|
+
*/
|
|
128
|
+
private deduplicateSpans;
|
|
129
|
+
/**
|
|
130
|
+
* Checks for duplicate (traceId, spanId) combinations in the spans table.
|
|
131
|
+
* Returns information about duplicates for logging/CLI purposes.
|
|
132
|
+
*/
|
|
133
|
+
private checkForDuplicateSpans;
|
|
134
|
+
/**
|
|
135
|
+
* Checks if the PRIMARY KEY constraint on (traceId, spanId) already exists on the spans table.
|
|
136
|
+
* Used to skip deduplication when the constraint already exists (migration already complete).
|
|
137
|
+
*/
|
|
138
|
+
private spansPrimaryKeyExists;
|
|
139
|
+
/**
|
|
140
|
+
* Adds the PRIMARY KEY constraint on (traceId, spanId) to the spans table.
|
|
141
|
+
* Should be called AFTER deduplication to ensure no duplicate key violations.
|
|
142
|
+
*/
|
|
143
|
+
private addSpansPrimaryKey;
|
|
144
|
+
/**
|
|
145
|
+
* Manually run the spans migration to deduplicate and add the unique constraint.
|
|
146
|
+
* This is intended to be called from the CLI when duplicates are detected.
|
|
147
|
+
*
|
|
148
|
+
* @returns Migration result with status and details
|
|
149
|
+
*/
|
|
150
|
+
migrateSpans(): Promise<{
|
|
151
|
+
success: boolean;
|
|
152
|
+
alreadyMigrated: boolean;
|
|
153
|
+
duplicatesRemoved: number;
|
|
154
|
+
message: string;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Check migration status for the spans table.
|
|
158
|
+
* Returns information about whether migration is needed.
|
|
159
|
+
*/
|
|
160
|
+
checkSpansMigrationStatus(): Promise<{
|
|
161
|
+
needsMigration: boolean;
|
|
162
|
+
hasDuplicates: boolean;
|
|
163
|
+
duplicateCount: number;
|
|
164
|
+
constraintExists: boolean;
|
|
165
|
+
tableName: string;
|
|
166
|
+
}>;
|
|
102
167
|
/**
|
|
103
168
|
* Alters table schema to add columns if they don't exist
|
|
104
169
|
* @param tableName Name of the table
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAU/C,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { MastraMessageContentV2 } from '@mastra/core/agent';
|
|
2
2
|
import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
|
|
3
3
|
import { MemoryStorage } from '@mastra/core/storage';
|
|
4
|
-
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput,
|
|
4
|
+
import type { StorageResourceType, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, CreateIndexOptions, StorageCloneThreadInput, StorageCloneThreadOutput } from '@mastra/core/storage';
|
|
5
5
|
import type { PgDomainConfig } from '../../db/index.js';
|
|
6
6
|
export declare class MemoryPG extends MemoryStorage {
|
|
7
7
|
#private;
|
|
@@ -29,7 +29,7 @@ export declare class MemoryPG extends MemoryStorage {
|
|
|
29
29
|
getThreadById({ threadId }: {
|
|
30
30
|
threadId: string;
|
|
31
31
|
}): Promise<StorageThreadType | null>;
|
|
32
|
-
|
|
32
|
+
listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
|
|
33
33
|
saveThread({ thread }: {
|
|
34
34
|
thread: StorageThreadType;
|
|
35
35
|
}): Promise<StorageThreadType>;
|
|
@@ -85,5 +85,6 @@ export declare class MemoryPG extends MemoryStorage {
|
|
|
85
85
|
workingMemory?: string;
|
|
86
86
|
metadata?: Record<string, unknown>;
|
|
87
87
|
}): Promise<StorageResourceType>;
|
|
88
|
+
cloneThread(args: StorageCloneThreadInput): Promise<StorageCloneThreadOutput>;
|
|
88
89
|
}
|
|
89
90
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAmB,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EACL,aAAa,EAQd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,29 @@ export declare class ObservabilityPG extends ObservabilityStorage {
|
|
|
19
19
|
* Creates custom user-defined indexes for this domain's tables.
|
|
20
20
|
*/
|
|
21
21
|
createCustomIndexes(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Manually run the spans migration to deduplicate and add the unique constraint.
|
|
24
|
+
* This is intended to be called from the CLI when duplicates are detected.
|
|
25
|
+
*
|
|
26
|
+
* @returns Migration result with status and details
|
|
27
|
+
*/
|
|
28
|
+
migrateSpans(): Promise<{
|
|
29
|
+
success: boolean;
|
|
30
|
+
alreadyMigrated: boolean;
|
|
31
|
+
duplicatesRemoved: number;
|
|
32
|
+
message: string;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Check migration status for the spans table.
|
|
36
|
+
* Returns information about whether migration is needed.
|
|
37
|
+
*/
|
|
38
|
+
checkSpansMigrationStatus(): Promise<{
|
|
39
|
+
needsMigration: boolean;
|
|
40
|
+
hasDuplicates: boolean;
|
|
41
|
+
duplicateCount: number;
|
|
42
|
+
constraintExists: boolean;
|
|
43
|
+
tableName: string;
|
|
44
|
+
}>;
|
|
22
45
|
dangerouslyClearAll(): Promise<void>;
|
|
23
46
|
get tracingStrategy(): {
|
|
24
47
|
preferred: TracingStorageStrategy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,oBAAoB,EAIrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAEV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,qBAAa,eAAgB,SAAQ,oBAAoB;;IAMvD,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,+BAA0B;gBAE5C,MAAM,EAAE,cAAc;IAU5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAgElD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/observability/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,oBAAoB,EAIrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAEV,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,qBAAa,eAAgB,SAAQ,oBAAoB;;IAMvD,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,+BAA0B;gBAE5C,MAAM,EAAE,cAAc;IAU5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;OAEG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAgElD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1C;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,OAAO,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAIF;;;OAGG;IACG,yBAAyB,IAAI,OAAO,CAAC;QACzC,cAAc,EAAE,OAAO,CAAC;QACxB,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAII,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,IAAoB,eAAe,IAAI;QACrC,SAAS,EAAE,sBAAsB,CAAC;QAClC,SAAS,EAAE,sBAAsB,EAAE,CAAC;KACrC,CAKA;IAEK,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/C,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA+C3D,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IA+CvE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAqD9D,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC/C,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsO7D,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B3D,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC3D,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAIL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwB/C,qBAAa,QAAS,SAAQ,aAAa;;IAMzC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,8BAA4B;gBAE9C,MAAM,EAAE,cAAc;IAU5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/scores/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAIL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAwB/C,qBAAa,QAAS,SAAQ,aAAa;;IAMzC,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,8BAA4B;gBAE9C,MAAM,EAAE,cAAc;IAU5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B;;OAEG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAWlD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAoBlE,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,GACP,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsEzB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IAuEpE,iBAAiB,CAAC,EACtB,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkDzB,oBAAoB,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,UAAU,GACX,EAAE;QACD,UAAU,EAAE,iBAAiB,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkDzB,gBAAgB,CAAC,EACrB,OAAO,EACP,MAAM,EACN,UAAU,GACX,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA0ChC"}
|
|
@@ -7,6 +7,7 @@ export declare class WorkflowsPG extends WorkflowsStorage {
|
|
|
7
7
|
/** Tables managed by this domain */
|
|
8
8
|
static readonly MANAGED_TABLES: readonly ["mastra_workflow_snapshot"];
|
|
9
9
|
constructor(config: PgDomainConfig);
|
|
10
|
+
private parseWorkflowRun;
|
|
10
11
|
/**
|
|
11
12
|
* Returns default index definitions for the workflows domain tables.
|
|
12
13
|
* Currently no default indexes are defined for workflows.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAqB/C,qBAAa,WAAY,SAAQ,gBAAgB;;IAM/C,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,cAAc,wCAAsC;gBAExD,MAAM,EAAE,cAAc;IAUlC,OAAO,CAAC,gBAAgB;IAmBxB;;;OAGG;IACH,0BAA0B,IAAI,kBAAkB,EAAE;IAIlD;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAepC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,qBAAqB,CACnB,EAMC,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACrC,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAG1D,mBAAmB,CACjB,EAIC,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,0BAA0B,CAAC;KAClC,GACA,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIlC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,GACV,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BX,oBAAoB,CAAC,EACzB,YAAY,EACZ,KAAK,GACN,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAoB9B,kBAAkB,CAAC,EACvB,KAAK,EACL,YAAY,GACb,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAmDzB,qBAAqB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtG,gBAAgB,CAAC,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,EACJ,UAAU,EACV,MAAM,GACP,GAAE,4BAAiC,GAAG,OAAO,CAAC,YAAY,CAAC;CA6F7D"}
|