@mastra/oracledb 0.0.0 → 0.2.0-alpha.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.
Files changed (92) hide show
  1. package/LICENSE.md +30 -0
  2. package/dist/docs/SKILL.md +37 -0
  3. package/dist/docs/assets/SOURCE_MAP.json +6 -0
  4. package/dist/docs/references/docs-memory-observational-memory.md +835 -0
  5. package/dist/docs/references/docs-memory-semantic-recall.md +402 -0
  6. package/dist/docs/references/docs-memory-working-memory.md +432 -0
  7. package/dist/docs/references/docs-storage-overview.md +215 -0
  8. package/dist/docs/references/guides-rag-overview.md +74 -0
  9. package/dist/docs/references/guides-rag-retrieval.md +537 -0
  10. package/dist/docs/references/guides-rag-vector-databases.md +710 -0
  11. package/dist/docs/references/reference-rag-metadata-filters.md +227 -0
  12. package/dist/docs/references/reference-storage-oracledb.md +239 -0
  13. package/dist/docs/references/reference-vectors-oracledb.md +347 -0
  14. package/dist/index.cjs +10217 -0
  15. package/dist/index.cjs.map +1 -0
  16. package/dist/index.d.ts +7 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +10196 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/schema.d.ts +27 -0
  21. package/dist/schema.d.ts.map +1 -0
  22. package/dist/shared/connection.d.ts +46 -0
  23. package/dist/shared/connection.d.ts.map +1 -0
  24. package/dist/storage/db/index.d.ts +128 -0
  25. package/dist/storage/db/index.d.ts.map +1 -0
  26. package/dist/storage/domain-utils.d.ts +18 -0
  27. package/dist/storage/domain-utils.d.ts.map +1 -0
  28. package/dist/storage/domains/agents/index.d.ts +54 -0
  29. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  30. package/dist/storage/domains/mcp-clients/index.d.ts +46 -0
  31. package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -0
  32. package/dist/storage/domains/memory/index.d.ts +88 -0
  33. package/dist/storage/domains/memory/index.d.ts.map +1 -0
  34. package/dist/storage/domains/memory/messages.d.ts +37 -0
  35. package/dist/storage/domains/memory/messages.d.ts.map +1 -0
  36. package/dist/storage/domains/memory/observational-buffering.d.ts +7 -0
  37. package/dist/storage/domains/memory/observational-buffering.d.ts.map +1 -0
  38. package/dist/storage/domains/memory/observational.d.ts +56 -0
  39. package/dist/storage/domains/memory/observational.d.ts.map +1 -0
  40. package/dist/storage/domains/memory/resources.d.ts +14 -0
  41. package/dist/storage/domains/memory/resources.d.ts.map +1 -0
  42. package/dist/storage/domains/memory/schema.d.ts +43 -0
  43. package/dist/storage/domains/memory/schema.d.ts.map +1 -0
  44. package/dist/storage/domains/memory/threads.d.ts +37 -0
  45. package/dist/storage/domains/memory/threads.d.ts.map +1 -0
  46. package/dist/storage/domains/memory/utils.d.ts +68 -0
  47. package/dist/storage/domains/memory/utils.d.ts.map +1 -0
  48. package/dist/storage/domains/observability/binds.d.ts +21 -0
  49. package/dist/storage/domains/observability/binds.d.ts.map +1 -0
  50. package/dist/storage/domains/observability/index.d.ts +49 -0
  51. package/dist/storage/domains/observability/index.d.ts.map +1 -0
  52. package/dist/storage/domains/observability/logs.d.ts +5 -0
  53. package/dist/storage/domains/observability/logs.d.ts.map +1 -0
  54. package/dist/storage/domains/observability/schema.d.ts +38 -0
  55. package/dist/storage/domains/observability/schema.d.ts.map +1 -0
  56. package/dist/storage/domains/observability/scores-bridge.d.ts +7 -0
  57. package/dist/storage/domains/observability/scores-bridge.d.ts.map +1 -0
  58. package/dist/storage/domains/observability/spans.d.ts +18 -0
  59. package/dist/storage/domains/observability/spans.d.ts.map +1 -0
  60. package/dist/storage/domains/scorer-definitions/index.d.ts +46 -0
  61. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -0
  62. package/dist/storage/domains/scores/index.d.ts +63 -0
  63. package/dist/storage/domains/scores/index.d.ts.map +1 -0
  64. package/dist/storage/domains/workflows/index.d.ts +61 -0
  65. package/dist/storage/domains/workflows/index.d.ts.map +1 -0
  66. package/dist/storage/index.d.ts +45 -0
  67. package/dist/storage/index.d.ts.map +1 -0
  68. package/dist/storage/migrations.d.ts +55 -0
  69. package/dist/storage/migrations.d.ts.map +1 -0
  70. package/dist/storage/types.d.ts +44 -0
  71. package/dist/storage/types.d.ts.map +1 -0
  72. package/dist/vector/ddl.d.ts +58 -0
  73. package/dist/vector/ddl.d.ts.map +1 -0
  74. package/dist/vector/filter.d.ts +7 -0
  75. package/dist/vector/filter.d.ts.map +1 -0
  76. package/dist/vector/identifiers.d.ts +11 -0
  77. package/dist/vector/identifiers.d.ts.map +1 -0
  78. package/dist/vector/index.d.ts +32 -0
  79. package/dist/vector/index.d.ts.map +1 -0
  80. package/dist/vector/prompt.d.ts +6 -0
  81. package/dist/vector/prompt.d.ts.map +1 -0
  82. package/dist/vector/query.d.ts +5 -0
  83. package/dist/vector/query.d.ts.map +1 -0
  84. package/dist/vector/sql.d.ts +12 -0
  85. package/dist/vector/sql.d.ts.map +1 -0
  86. package/dist/vector/stats.d.ts +9 -0
  87. package/dist/vector/stats.d.ts.map +1 -0
  88. package/dist/vector/types.d.ts +80 -0
  89. package/dist/vector/types.d.ts.map +1 -0
  90. package/dist/vector/upsert.d.ts +20 -0
  91. package/dist/vector/upsert.d.ts.map +1 -0
  92. package/package.json +23 -24
@@ -0,0 +1,27 @@
1
+ import type { OracleCreateIndexOptions } from './storage/db/index.js';
2
+ import type { OracleMetric, OracleVectorFormat, OracleVectorIndexConfig } from './vector/types.js';
3
+ export type OracleSchemaDomain = 'migrations' | 'memory' | 'workflows' | 'observability' | 'scores' | 'scorerDefinitions' | 'mcpClients' | 'agents' | 'vector';
4
+ export interface OracleVectorSchemaIndex {
5
+ indexName: string;
6
+ dimension: number;
7
+ metric?: OracleMetric;
8
+ vectorFormat?: OracleVectorFormat;
9
+ indexConfig?: OracleVectorIndexConfig;
10
+ buildIndex?: boolean;
11
+ metadataIndexes?: string[];
12
+ }
13
+ export interface ExportOracleSchemasOptions {
14
+ schemaName?: string;
15
+ domains?: OracleSchemaDomain[];
16
+ skipDefaultIndexes?: boolean;
17
+ indexes?: OracleCreateIndexOptions[];
18
+ migrationTableName?: string;
19
+ vector?: {
20
+ tablePrefix?: string;
21
+ registryTableName?: string;
22
+ defaultMetadataIndexes?: string[];
23
+ indexes?: OracleVectorSchemaIndex[];
24
+ };
25
+ }
26
+ export declare function exportSchemas(options?: ExportOracleSchemasOptions): string;
27
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAgC7D,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIhG,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,eAAe,GACf,QAAQ,GACR,mBAAmB,GACnB,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAC;KACrC,CAAC;CACH;AAmBD,wBAAgB,aAAa,CAAC,OAAO,GAAE,0BAA+B,GAAG,MAAM,CAwD9E"}
@@ -0,0 +1,46 @@
1
+ import oracledb from 'oracledb';
2
+ import type { Connection, Pool, PoolAttributes } from 'oracledb';
3
+ export interface OracleConnectionConfig {
4
+ user?: string;
5
+ password?: string;
6
+ connectString?: string;
7
+ pool?: Pool;
8
+ poolMin?: number;
9
+ poolMax?: number;
10
+ poolIncrement?: number;
11
+ configDir?: string;
12
+ walletLocation?: string;
13
+ walletPassword?: string;
14
+ externalAuth?: boolean;
15
+ }
16
+ type BindParameters = oracledb.BindParameters;
17
+ export type ObjectRow = Record<string, unknown>;
18
+ export declare class OraclePoolManager {
19
+ private readonly config;
20
+ private poolPromise?;
21
+ private readonly poolOptions?;
22
+ private readonly ownsPool;
23
+ constructor(config: OracleConnectionConfig);
24
+ getPool(): Promise<Pool>;
25
+ withConnection<T>(callback: (connection: Connection) => Promise<T>): Promise<T>;
26
+ close(): Promise<void>;
27
+ }
28
+ export declare function validateOracleConnectionConfig(config: OracleConnectionConfig): void;
29
+ export declare function normalizeBatchSize(value: number | undefined, label: string, defaultValue: number): number;
30
+ export declare function buildPoolOptions(config: OracleConnectionConfig): PoolAttributes;
31
+ export declare function executeOptions(): oracledb.ExecuteOptions;
32
+ export declare function rows<T extends ObjectRow = ObjectRow>(result: oracledb.Result<T>): T[];
33
+ export declare function asBindParameters(binds: Record<string, unknown>): BindParameters;
34
+ export declare function jsonBind(value: unknown): oracledb.BindParameter;
35
+ export declare function jsonBindText(value: unknown): string | null;
36
+ export declare function nullableJsonBind(value: unknown): oracledb.BindParameter | null;
37
+ export declare function clobBind(value: string): oracledb.BindParameter;
38
+ export declare function nullableClobBind(value: string | null | undefined): oracledb.BindParameter | null;
39
+ export declare function safeJsonValue(value: unknown): unknown;
40
+ export declare function safeJsonStringify(value: unknown): string;
41
+ export declare function sanitizeJsonString(jsonString: string): string;
42
+ export declare function executeDdl(connection: Connection, ddl: string, ignoredErrorCodes?: number[]): Promise<boolean>;
43
+ export declare function rollbackQuietly(connection: Connection): Promise<void>;
44
+ export declare function isOracleErrorCode(error: unknown, ignoredCodes: number[]): boolean;
45
+ export {};
46
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/shared/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import type { CreateIndexOptions, StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
2
+ import type { Connection } from 'oracledb';
3
+ import type oracledb from 'oracledb';
4
+ import type { ObjectRow, OraclePoolManager } from '../../shared/connection.js';
5
+ export type OracleQueryBinds = Record<string, unknown>;
6
+ export type OracleExecuteManyBinds = Array<Record<string, unknown> | unknown[]>;
7
+ export interface OracleDBConfig {
8
+ poolManager: OraclePoolManager;
9
+ schemaName?: string;
10
+ }
11
+ export interface OracleTxClient {
12
+ execute<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T[]>;
13
+ executeMany<T = unknown>(sql: string, binds: OracleExecuteManyBinds, options?: oracledb.ExecuteManyOptions): Promise<oracledb.Results<T> | undefined>;
14
+ none(sql: string, binds?: OracleQueryBinds): Promise<void>;
15
+ one<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T>;
16
+ oneOrNone<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T | null>;
17
+ manyOrNone<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T[]>;
18
+ }
19
+ export declare class OracleDB {
20
+ private readonly config;
21
+ constructor(config: OracleDBConfig);
22
+ table(tableName: string): string;
23
+ execute<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T[]>;
24
+ executeMany<T = unknown>(sql: string, binds: OracleExecuteManyBinds, options?: oracledb.ExecuteManyOptions): Promise<oracledb.Results<T> | undefined>;
25
+ withConnection<T>(callback: (connection: Connection) => Promise<T>): Promise<T>;
26
+ none(sql: string, binds?: OracleQueryBinds): Promise<void>;
27
+ one<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T>;
28
+ oneOrNone<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T | null>;
29
+ manyOrNone<T extends ObjectRow = ObjectRow>(sql: string, binds?: OracleQueryBinds): Promise<T[]>;
30
+ tx<T>(callback: (client: OracleTxClient, connection: Connection) => Promise<T>): Promise<T>;
31
+ executeDdl(sql: string, ignoredErrorCodes?: number[]): Promise<void>;
32
+ hasColumn(tableName: string, columnName: string): Promise<boolean>;
33
+ createTable({ tableName, schema, compositePrimaryKey, }: {
34
+ tableName: TABLE_NAMES;
35
+ schema: Record<string, StorageColumn>;
36
+ compositePrimaryKey?: string[];
37
+ }): Promise<void>;
38
+ alterTable({ tableName, schema, ifNotExists, }: {
39
+ tableName: TABLE_NAMES;
40
+ schema: Record<string, StorageColumn>;
41
+ ifNotExists: string[];
42
+ }): Promise<void>;
43
+ insert({ tableName, record, schema }: OracleRecordOperation): Promise<void>;
44
+ batchInsert({ tableName, records, schema }: OracleBatchInsertOperation): Promise<void>;
45
+ update({ tableName, keys, data, schema }: OracleUpdateOperation): Promise<void>;
46
+ batchUpdate({ tableName, updates, schema }: OracleBatchUpdateOperation): Promise<void>;
47
+ batchDelete({ tableName, keys }: {
48
+ tableName: TABLE_NAMES;
49
+ keys: Record<string, unknown>[];
50
+ }): Promise<void>;
51
+ merge({ tableName, keys, record, schema }: OracleMergeOperation): Promise<void>;
52
+ load<R extends ObjectRow = ObjectRow>({ tableName, keys, schema, orderBy, }: OracleLoadOperation): Promise<R | null>;
53
+ createIndex(options: OracleCreateIndexOptions): Promise<void>;
54
+ dropTable(tableName: TABLE_NAMES): Promise<void>;
55
+ clearTable(tableName: string): Promise<void>;
56
+ }
57
+ export interface OracleRecordOperation {
58
+ tableName: TABLE_NAMES;
59
+ record: Record<string, unknown>;
60
+ schema?: Record<string, StorageColumn>;
61
+ }
62
+ export interface OracleBatchInsertOperation {
63
+ tableName: TABLE_NAMES;
64
+ records: Record<string, unknown>[];
65
+ schema?: Record<string, StorageColumn>;
66
+ }
67
+ export interface OracleUpdateOperation {
68
+ tableName: TABLE_NAMES;
69
+ keys: Record<string, unknown>;
70
+ data: Record<string, unknown>;
71
+ schema?: Record<string, StorageColumn>;
72
+ }
73
+ export interface OracleBatchUpdateOperation {
74
+ tableName: TABLE_NAMES;
75
+ updates: Array<{
76
+ keys: Record<string, unknown>;
77
+ data: Record<string, unknown>;
78
+ }>;
79
+ schema?: Record<string, StorageColumn>;
80
+ }
81
+ export interface OracleMergeOperation {
82
+ tableName: TABLE_NAMES;
83
+ keys: string[];
84
+ record: Record<string, unknown>;
85
+ schema?: Record<string, StorageColumn>;
86
+ }
87
+ export interface OracleLoadOperation {
88
+ tableName: TABLE_NAMES;
89
+ keys: Record<string, unknown>;
90
+ schema?: Record<string, StorageColumn>;
91
+ orderBy?: string;
92
+ }
93
+ export declare function parseOracleJson<T = unknown>(value: unknown): T | undefined;
94
+ export type OracleIndexType = 'normal' | 'bitmap';
95
+ export interface OracleCreateIndexOptions extends Omit<CreateIndexOptions, 'concurrent' | 'method' | 'opclass' | 'storage'> {
96
+ /**
97
+ * Oracle index type. `normal` creates a standard B-tree/function-based index.
98
+ * `bitmap` is useful for low-cardinality columns, but should be avoided for
99
+ * high-write OLTP workloads.
100
+ */
101
+ type?: OracleIndexType;
102
+ /**
103
+ * Creates the index online. This is the Oracle-native equivalent of avoiding
104
+ * long blocking DDL, subject to Oracle edition/version support.
105
+ */
106
+ online?: boolean;
107
+ /** Marks the index invisible so it can be tested before optimizer use. */
108
+ invisible?: boolean;
109
+ /** Adds PARALLEL or PARALLEL n to speed large index builds. */
110
+ parallel?: boolean | number;
111
+ /** Adds COMPRESS or COMPRESS n for duplicate leading-key compression. */
112
+ compress?: boolean | number;
113
+ /** Adds NOLOGGING for faster bulk index builds when recoverability policy allows it. */
114
+ noLogging?: boolean;
115
+ /** Creates a reverse key index. Only valid for normal B-tree indexes. */
116
+ reverse?: boolean;
117
+ }
118
+ export declare function generateOracleTableSQL({ tableName, schema, schemaName, compositePrimaryKey, }: {
119
+ tableName: TABLE_NAMES;
120
+ schema: Record<string, StorageColumn>;
121
+ schemaName?: string;
122
+ compositePrimaryKey?: string[];
123
+ }): string;
124
+ export declare function oracleColumnType(tableName: TABLE_NAMES | string, columnName: string, column: StorageColumn): string;
125
+ export declare function generateOracleIndexSQL(options: OracleCreateIndexOptions, schemaName?: string): string;
126
+ export declare function createOracleIndex(connection: Connection, options: OracleCreateIndexOptions, schemaName?: string): Promise<void>;
127
+ export declare function filterIndexesForTables(indexes: OracleCreateIndexOptions[] | undefined, managedTables: readonly string[]): OracleCreateIndexOptions[];
128
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAYrC,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,WAAW,CAAC,CAAC,GAAG,OAAO,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,sBAAsB,EAC7B,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,GACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACxF,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrG,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAClG;AA2DD,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEnD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAK1B,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAMjG,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE,QAAQ,CAAC,kBAAuB,GACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAerC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/E,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,GAAG,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ3F,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQxG,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIpG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAc3F,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBlE,WAAW,CAAC,EAChB,SAAS,EACT,MAAM,EACN,mBAAmB,GACpB,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQX,UAAU,CAAC,EACf,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcX,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtF,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtF,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5G,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/E,IAAI,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,EAC1C,SAAS,EACT,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUpC,WAAW,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,SAAS,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnD;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,CAY1E;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,kBAAkB,EAClB,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAChD;IACC;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6GD,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,MAAM,EACN,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,SAAS,EAAE,WAAW,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC,GAAG,MAAM,CAUT;AAID,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAuBnH;AAiKD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAcrG;AAED,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,wBAAwB,EACjC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,wBAAwB,EAAE,GAAG,SAAS,EAC/C,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,wBAAwB,EAAE,CAI5B"}
@@ -0,0 +1,18 @@
1
+ import { ErrorCategory, MastraError } from '@mastra/core/error';
2
+ export type OracleStorageErrorDetails = Record<string, string | number | boolean | undefined>;
3
+ export declare function createOracleStorageError({ storeName, operation, reason, details, cause, category, }: {
4
+ storeName?: string;
5
+ operation: string;
6
+ reason: string;
7
+ details: OracleStorageErrorDetails;
8
+ cause: unknown;
9
+ category?: ErrorCategory;
10
+ }): MastraError;
11
+ export declare function parseJsonValue(value: unknown): unknown;
12
+ export declare function parseOptionalJson<T>(value: unknown): T | undefined;
13
+ export declare function parseOptionalJsonObject(value: unknown, options?: {
14
+ emptyObjectAsUndefined?: boolean;
15
+ }): Record<string, unknown> | undefined;
16
+ export declare function parseOptionalStringArray(value: unknown): string[] | undefined;
17
+ export declare function toDate(value: unknown): Date;
18
+ //# sourceMappingURL=domain-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-utils.d.ts","sourceRoot":"","sources":["../../src/storage/domain-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAK7E,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAE9F,wBAAgB,wBAAwB,CAAC,EACvC,SAAsB,EACtB,SAAS,EACT,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAoC,GACrC,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,GAAG,WAAW,CAcd;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,CAElE;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAO,GACjD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAKrC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAI7E;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE3C"}
@@ -0,0 +1,54 @@
1
+ import { AgentsStorage } from '@mastra/core/storage';
2
+ import type { StorageAgentType, StorageCreateAgentInput, StorageListAgentsInput, StorageListAgentsOutput, StorageUpdateAgentInput } from '@mastra/core/storage';
3
+ import type { AgentVersion, CreateVersionInput, ListVersionsInput, ListVersionsOutput } from '@mastra/core/storage/domains/agents';
4
+ import type { OracleCreateIndexOptions } from '../../db/index.js';
5
+ import type { OracleDomainConfig } from '../../types.js';
6
+ declare const ORACLE_AGENT_VERSIONS_SCHEMA: {
7
+ [k: string]: import("@mastra/core/storage").StorageColumn;
8
+ };
9
+ export { ORACLE_AGENT_VERSIONS_SCHEMA };
10
+ export declare class AgentsOracle extends AgentsStorage {
11
+ static readonly MANAGED_TABLES: readonly ["mastra_agents", "mastra_agent_versions"];
12
+ private readonly db;
13
+ private readonly schemaName?;
14
+ private readonly skipDefaultIndexes?;
15
+ private readonly indexes;
16
+ constructor(config: OracleDomainConfig);
17
+ init(): Promise<void>;
18
+ dangerouslyClearAll(): Promise<void>;
19
+ getDefaultIndexDefinitions(): OracleCreateIndexOptions[];
20
+ getById(id: string): Promise<StorageAgentType | null>;
21
+ create(input: {
22
+ agent: StorageCreateAgentInput;
23
+ }): Promise<StorageAgentType>;
24
+ update(input: StorageUpdateAgentInput): Promise<StorageAgentType>;
25
+ delete(id: string): Promise<void>;
26
+ list(args?: StorageListAgentsInput): Promise<StorageListAgentsOutput>;
27
+ createVersion(input: CreateVersionInput): Promise<AgentVersion>;
28
+ getVersion(id: string): Promise<AgentVersion | null>;
29
+ getVersionByNumber(agentId: string, versionNumber: number): Promise<AgentVersion | null>;
30
+ getLatestVersion(agentId: string): Promise<AgentVersion | null>;
31
+ listVersions(input: ListVersionsInput): Promise<ListVersionsOutput>;
32
+ deleteVersion(id: string): Promise<void>;
33
+ deleteVersionsByParentId(entityId: string): Promise<void>;
34
+ countVersions(agentId: string): Promise<number>;
35
+ private toStoredVersion;
36
+ private createIndexes;
37
+ private insertVersion;
38
+ private agentWhereClause;
39
+ private agentSelect;
40
+ private versionSelect;
41
+ private parseAgentRow;
42
+ private parseVersionRow;
43
+ private serializeInstructions;
44
+ private deserializeInstructions;
45
+ private agentOrderColumn;
46
+ private versionOrderColumn;
47
+ private validatePagination;
48
+ private migrateToolsToObjectFormat;
49
+ private table;
50
+ private indexName;
51
+ private storageError;
52
+ }
53
+ export declare function getDefaultAgentIndexDefinitions(indexName: (name: string) => string): OracleCreateIndexOptions[];
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/agents/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { MCPClientsStorage } from '@mastra/core/storage';
2
+ import type { StorageCreateMCPClientInput, StorageListMCPClientsInput, StorageListMCPClientsOutput, StorageMCPClientType, StorageUpdateMCPClientInput } from '@mastra/core/storage';
3
+ import type { CreateMCPClientVersionInput, ListMCPClientVersionsInput, ListMCPClientVersionsOutput, MCPClientVersion } from '@mastra/core/storage/domains/mcp-clients';
4
+ import type { OracleCreateIndexOptions } from '../../db/index.js';
5
+ import type { OracleDomainConfig } from '../../types.js';
6
+ export declare class MCPClientsOracle extends MCPClientsStorage {
7
+ static readonly MANAGED_TABLES: readonly ["mastra_mcp_clients", "mastra_mcp_client_versions"];
8
+ private readonly db;
9
+ private readonly schemaName?;
10
+ private readonly skipDefaultIndexes?;
11
+ private readonly indexes;
12
+ constructor(config: OracleDomainConfig);
13
+ init(): Promise<void>;
14
+ dangerouslyClearAll(): Promise<void>;
15
+ getDefaultIndexDefinitions(): OracleCreateIndexOptions[];
16
+ getById(id: string): Promise<StorageMCPClientType | null>;
17
+ create(input: {
18
+ mcpClient: StorageCreateMCPClientInput;
19
+ }): Promise<StorageMCPClientType>;
20
+ update(input: StorageUpdateMCPClientInput): Promise<StorageMCPClientType>;
21
+ delete(id: string): Promise<void>;
22
+ list(args?: StorageListMCPClientsInput): Promise<StorageListMCPClientsOutput>;
23
+ createVersion(input: CreateMCPClientVersionInput): Promise<MCPClientVersion>;
24
+ getVersion(id: string): Promise<MCPClientVersion | null>;
25
+ getVersionByNumber(mcpClientId: string, versionNumber: number): Promise<MCPClientVersion | null>;
26
+ getLatestVersion(mcpClientId: string): Promise<MCPClientVersion | null>;
27
+ listVersions(input: ListMCPClientVersionsInput): Promise<ListMCPClientVersionsOutput>;
28
+ deleteVersion(id: string): Promise<void>;
29
+ deleteVersionsByParentId(entityId: string): Promise<void>;
30
+ countVersions(mcpClientId: string): Promise<number>;
31
+ private createIndexes;
32
+ private insertVersion;
33
+ private clientWhereClause;
34
+ private clientSelect;
35
+ private versionSelect;
36
+ private parseMCPClientRow;
37
+ private parseVersionRow;
38
+ private clientOrderColumn;
39
+ private versionOrderColumn;
40
+ private validatePagination;
41
+ private table;
42
+ private indexName;
43
+ private storageError;
44
+ }
45
+ export declare function getDefaultMCPClientIndexDefinitions(indexName: (name: string) => string): OracleCreateIndexOptions[];
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/mcp-clients/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EAKlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,EAAE,wBAAwB,EAAkB,MAAM,UAAU,CAAC;AAOzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAwCtD,qBAAa,gBAAiB,SAAQ,iBAAiB;IAErD,MAAM,CAAC,QAAQ,CAAC,cAAc,gEAA2D;IAEzF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAEzC,MAAM,EAAE,kBAAkB;IAQhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1C,0BAA0B,IAAI,wBAAwB,EAAE;IAIlD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAYzD,MAAM,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,2BAA2B,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6DxF,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoDzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAajC,IAAI,CAAC,IAAI,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAiE7E,aAAa,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC5E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAYxD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAchG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAcvE,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAuErF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAY3C,aAAa;YAsBb,aAAa;IAiC3B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;CASrB;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,wBAAwB,EAAE,CASnH"}
@@ -0,0 +1,88 @@
1
+ import type { MastraMessageContentV2 } from '@mastra/core/agent';
2
+ import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
3
+ import { MemoryStorage } from '@mastra/core/storage';
4
+ import type { CreateObservationalMemoryInput, CreateReflectionGenerationInput, ObservationalMemoryHistoryOptions, ObservationalMemoryRecord, StorageCloneThreadInput, StorageCloneThreadOutput, StorageListMessagesByResourceIdInput, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsInput, StorageListThreadsOutput, StorageResourceType, SwapBufferedReflectionToActiveInput, SwapBufferedToActiveInput, SwapBufferedToActiveResult, UpdateActiveObservationsInput, UpdateBufferedObservationsInput, UpdateBufferedReflectionInput, UpdateObservationalMemoryConfigInput } from '@mastra/core/storage';
5
+ import type { OracleDomainConfig } from '../../types.js';
6
+ export declare class MemoryOracle extends MemoryStorage {
7
+ readonly supportsObservationalMemory = true;
8
+ static readonly MANAGED_TABLES: readonly ["mastra_threads", "mastra_messages", "mastra_resources", "mastra_observational_memory"];
9
+ private readonly db;
10
+ private readonly schemaName?;
11
+ private readonly messageBatchSize;
12
+ private readonly skipDefaultIndexes?;
13
+ private readonly indexes;
14
+ private readonly vectorRegistryTableName;
15
+ constructor(config: OracleDomainConfig);
16
+ private get ctx();
17
+ init(): Promise<void>;
18
+ dangerouslyClearAll(): Promise<void>;
19
+ getThreadById(args: {
20
+ threadId: string;
21
+ resourceId?: string;
22
+ }): Promise<StorageThreadType | null>;
23
+ saveThread(args: {
24
+ thread: StorageThreadType;
25
+ }): Promise<StorageThreadType>;
26
+ updateThread(args: {
27
+ id: string;
28
+ title: string;
29
+ metadata: Record<string, unknown>;
30
+ }): Promise<StorageThreadType>;
31
+ deleteThread(args: {
32
+ threadId: string;
33
+ }): Promise<void>;
34
+ listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
35
+ listMessagesById(args: {
36
+ messageIds: string[];
37
+ }): Promise<{
38
+ messages: MastraDBMessage[];
39
+ }>;
40
+ listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
41
+ listMessagesByResourceId(args: StorageListMessagesByResourceIdInput): Promise<StorageListMessagesOutput>;
42
+ saveMessages(args: {
43
+ messages: MastraDBMessage[];
44
+ }): Promise<{
45
+ messages: MastraDBMessage[];
46
+ }>;
47
+ updateMessages(args: {
48
+ messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
49
+ id: string;
50
+ content?: {
51
+ metadata?: MastraMessageContentV2['metadata'];
52
+ content?: MastraMessageContentV2['content'];
53
+ };
54
+ })[];
55
+ }): Promise<MastraDBMessage[]>;
56
+ deleteMessages(messageIds: string[]): Promise<void>;
57
+ getResourceById(args: {
58
+ resourceId: string;
59
+ }): Promise<StorageResourceType | null>;
60
+ saveResource(args: {
61
+ resource: StorageResourceType;
62
+ }): Promise<StorageResourceType>;
63
+ updateResource(args: {
64
+ resourceId: string;
65
+ workingMemory?: string;
66
+ metadata?: Record<string, unknown>;
67
+ }): Promise<StorageResourceType>;
68
+ cloneThread(args: StorageCloneThreadInput): Promise<StorageCloneThreadOutput>;
69
+ private messagesForClone;
70
+ getObservationalMemory(threadId: string | null, resourceId: string): Promise<ObservationalMemoryRecord | null>;
71
+ getObservationalMemoryHistory(threadId: string | null, resourceId: string, limit?: number, options?: ObservationalMemoryHistoryOptions): Promise<ObservationalMemoryRecord[]>;
72
+ initializeObservationalMemory(input: CreateObservationalMemoryInput): Promise<ObservationalMemoryRecord>;
73
+ insertObservationalMemoryRecord(record: ObservationalMemoryRecord): Promise<void>;
74
+ updateActiveObservations(input: UpdateActiveObservationsInput): Promise<void>;
75
+ createReflectionGeneration(input: CreateReflectionGenerationInput): Promise<ObservationalMemoryRecord>;
76
+ setReflectingFlag(id: string, isReflecting: boolean): Promise<void>;
77
+ setObservingFlag(id: string, isObserving: boolean): Promise<void>;
78
+ setBufferingObservationFlag(id: string, isBuffering: boolean, lastBufferedAtTokens?: number): Promise<void>;
79
+ setBufferingReflectionFlag(id: string, isBuffering: boolean): Promise<void>;
80
+ clearObservationalMemory(threadId: string | null, resourceId: string): Promise<void>;
81
+ setPendingMessageTokens(id: string, tokenCount: number): Promise<void>;
82
+ updateObservationalMemoryConfig(input: UpdateObservationalMemoryConfigInput): Promise<void>;
83
+ updateBufferedObservations(input: UpdateBufferedObservationsInput): Promise<void>;
84
+ swapBufferedToActive(input: SwapBufferedToActiveInput): Promise<SwapBufferedToActiveResult>;
85
+ updateBufferedReflection(input: UpdateBufferedReflectionInput): Promise<void>;
86
+ swapBufferedReflectionToActive(input: SwapBufferedReflectionToActiveInput): Promise<ObservationalMemoryRecord>;
87
+ }
88
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { MastraMessageContentV2 } from '@mastra/core/agent';
2
+ import type { MastraDBMessage } from '@mastra/core/memory';
3
+ import type { StorageListMessagesByResourceIdInput, StorageListMessagesInput, StorageListMessagesOutput } from '@mastra/core/storage';
4
+ import type { OracleTxClient } from '../../db/index.js';
5
+ import type { MemoryContext } from './utils.js';
6
+ export declare function listMessagesById(ctx: MemoryContext, { messageIds }: {
7
+ messageIds: string[];
8
+ }): Promise<{
9
+ messages: MastraDBMessage[];
10
+ }>;
11
+ export declare function listMessages(ctx: MemoryContext, args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
12
+ export declare function listMessagesByResourceId(ctx: MemoryContext, args: StorageListMessagesByResourceIdInput): Promise<StorageListMessagesOutput>;
13
+ export declare function saveMessages(ctx: MemoryContext, { messages }: {
14
+ messages: MastraDBMessage[];
15
+ }): Promise<{
16
+ messages: MastraDBMessage[];
17
+ }>;
18
+ /**
19
+ * Batch-inserts/merges message rows and touches their threads' updatedAt
20
+ * against the given transactional client. Extracted out of `saveMessages` so
21
+ * `cloneThread` (memory/index.ts) can run this in the SAME transaction as the
22
+ * destination thread MERGE — a failure here must not leave an orphaned,
23
+ * message-less cloned thread committed. Does not verify that the owning
24
+ * thread exists; `saveMessages` checks that before opening its transaction.
25
+ */
26
+ export declare function insertMessageBatch(ctx: MemoryContext, client: OracleTxClient, messages: MastraDBMessage[]): Promise<void>;
27
+ export declare function updateMessages(ctx: MemoryContext, { messages, }: {
28
+ messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
29
+ id: string;
30
+ content?: {
31
+ metadata?: MastraMessageContentV2['metadata'];
32
+ content?: MastraMessageContentV2['content'];
33
+ };
34
+ })[];
35
+ }): Promise<MastraDBMessage[]>;
36
+ export declare function deleteMessages(ctx: MemoryContext, messageIds: string[]): Promise<void>;
37
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/messages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAS5E,OAAO,KAAK,EACV,oCAAoC,EACpC,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAW/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA0B7C,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,aAAa,EAClB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GACvC,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CA0B1C;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAyBpC;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,oCAAoC,GACzC,OAAO,CAAC,yBAAyB,CAAC,CAqBpC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,GAC5C,OAAO,CAAC;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CA0C1C;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,eAAe,EAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EACE,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,GAAG;QACvD,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAA;SAAE,CAAC;KAC1G,CAAC,EAAE,CAAC;CACN,GACA,OAAO,CAAC,eAAe,EAAE,CAAC,CAsF5B;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B5F"}
@@ -0,0 +1,7 @@
1
+ import type { ObservationalMemoryRecord, SwapBufferedReflectionToActiveInput, SwapBufferedToActiveInput, SwapBufferedToActiveResult, UpdateBufferedObservationsInput, UpdateBufferedReflectionInput } from '@mastra/core/storage';
2
+ import type { MemoryContext } from './utils.js';
3
+ export declare function updateBufferedObservations(ctx: MemoryContext, input: UpdateBufferedObservationsInput): Promise<void>;
4
+ export declare function swapBufferedToActive(ctx: MemoryContext, input: SwapBufferedToActiveInput): Promise<SwapBufferedToActiveResult>;
5
+ export declare function updateBufferedReflection(ctx: MemoryContext, input: UpdateBufferedReflectionInput): Promise<void>;
6
+ export declare function swapBufferedReflectionToActive(ctx: MemoryContext, input: SwapBufferedReflectionToActiveInput): Promise<ObservationalMemoryRecord>;
7
+ //# sourceMappingURL=observational-buffering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observational-buffering.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/observational-buffering.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,yBAAyB,EACzB,mCAAmC,EACnC,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,sBAAsB,CAAC;AAsB9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAM7C,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAuDrC;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,mCAAmC,GACzC,OAAO,CAAC,yBAAyB,CAAC,CAwEpC"}
@@ -0,0 +1,56 @@
1
+ import type { CreateObservationalMemoryInput, CreateReflectionGenerationInput, ObservationalMemoryHistoryOptions, ObservationalMemoryRecord, UpdateActiveObservationsInput, UpdateObservationalMemoryConfigInput } from '@mastra/core/storage';
2
+ import type { Connection } from 'oracledb';
3
+ import type { MemoryContext } from './utils.js';
4
+ export type ObservationalMemoryRow = {
5
+ id: string;
6
+ lookupKey: string;
7
+ scope: 'thread' | 'resource';
8
+ resourceId: string;
9
+ threadId?: string | null;
10
+ activeObservations?: unknown;
11
+ activeObservationsPendingUpdate?: unknown;
12
+ originType?: 'initial' | 'reflection';
13
+ config?: unknown;
14
+ generationCount?: number | string;
15
+ lastObservedAt?: Date | string | null;
16
+ lastReflectionAt?: Date | string | null;
17
+ pendingMessageTokens?: number | string | null;
18
+ totalTokensObserved?: number | string | null;
19
+ observationTokenCount?: number | string | null;
20
+ isObserving?: number | boolean | string | null;
21
+ isReflecting?: number | boolean | string | null;
22
+ observedMessageIds?: unknown;
23
+ observedTimezone?: string | null;
24
+ bufferedObservations?: unknown;
25
+ bufferedObservationTokens?: number | string | null;
26
+ bufferedMessageIds?: unknown;
27
+ bufferedReflection?: unknown;
28
+ bufferedReflectionTokens?: number | string | null;
29
+ bufferedReflectionInputTokens?: number | string | null;
30
+ reflectedObservationLineCount?: number | string | null;
31
+ bufferedObservationChunks?: unknown;
32
+ isBufferingObservation?: number | boolean | string | null;
33
+ isBufferingReflection?: number | boolean | string | null;
34
+ lastBufferedAtTokens?: number | string | null;
35
+ lastBufferedAtTime?: Date | string | null;
36
+ metadata?: unknown;
37
+ createdAt: Date | string;
38
+ updatedAt: Date | string;
39
+ };
40
+ export declare function getObservationalMemory(ctx: MemoryContext, threadId: string | null, resourceId: string): Promise<ObservationalMemoryRecord | null>;
41
+ export declare function getObservationalMemoryHistory(ctx: MemoryContext, threadId: string | null, resourceId: string, limit?: number, options?: ObservationalMemoryHistoryOptions): Promise<ObservationalMemoryRecord[]>;
42
+ export declare function initializeObservationalMemory(ctx: MemoryContext, input: CreateObservationalMemoryInput): Promise<ObservationalMemoryRecord>;
43
+ export declare function insertObservationalMemoryRecord(ctx: MemoryContext, record: ObservationalMemoryRecord): Promise<void>;
44
+ export declare function updateActiveObservations(ctx: MemoryContext, input: UpdateActiveObservationsInput): Promise<void>;
45
+ export declare function createReflectionGeneration(ctx: MemoryContext, input: CreateReflectionGenerationInput): Promise<ObservationalMemoryRecord>;
46
+ export declare function setReflectingFlag(ctx: MemoryContext, id: string, isReflecting: boolean): Promise<void>;
47
+ export declare function setObservingFlag(ctx: MemoryContext, id: string, isObserving: boolean): Promise<void>;
48
+ export declare function setBufferingObservationFlag(ctx: MemoryContext, id: string, isBuffering: boolean, lastBufferedAtTokens?: number): Promise<void>;
49
+ export declare function setBufferingReflectionFlag(ctx: MemoryContext, id: string, isBuffering: boolean): Promise<void>;
50
+ export declare function clearObservationalMemory(ctx: MemoryContext, threadId: string | null, resourceId: string): Promise<void>;
51
+ export declare function setPendingMessageTokens(ctx: MemoryContext, id: string, tokenCount: number): Promise<void>;
52
+ export declare function updateObservationalMemoryConfig(ctx: MemoryContext, input: UpdateObservationalMemoryConfigInput): Promise<void>;
53
+ export declare function insertOMRecord(ctx: MemoryContext, connection: Connection, record: ObservationalMemoryRecord, timestamp?: Date): Promise<void>;
54
+ export declare function omSelect(): string;
55
+ export declare function parseOMRow(row: ObservationalMemoryRow): ObservationalMemoryRecord;
56
+ //# sourceMappingURL=observational.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observational.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/observational.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { StorageResourceType } from '@mastra/core/storage';
2
+ import type { MemoryContext } from './utils.js';
3
+ export declare function getResourceById(ctx: MemoryContext, { resourceId }: {
4
+ resourceId: string;
5
+ }): Promise<StorageResourceType | null>;
6
+ export declare function saveResource(ctx: MemoryContext, { resource }: {
7
+ resource: StorageResourceType;
8
+ }): Promise<StorageResourceType>;
9
+ export declare function updateResource(ctx: MemoryContext, { resourceId, workingMemory, metadata, }: {
10
+ resourceId: string;
11
+ workingMemory?: string;
12
+ metadata?: Record<string, unknown>;
13
+ }): Promise<StorageResourceType>;
14
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/memory/resources.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAShE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAa7C,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACrC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAcrC;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAC9C,OAAO,CAAC,mBAAmB,CAAC,CA4C9B;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,aAAa,EAClB,EACE,UAAU,EACV,aAAa,EACb,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GACA,OAAO,CAAC,mBAAmB,CAAC,CAwC9B"}