ai-database 2.0.2 → 2.1.1

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 (88) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/actions.d.ts +247 -0
  3. package/dist/actions.d.ts.map +1 -0
  4. package/dist/actions.js +260 -0
  5. package/dist/actions.js.map +1 -0
  6. package/dist/ai-promise-db.d.ts +34 -2
  7. package/dist/ai-promise-db.d.ts.map +1 -1
  8. package/dist/ai-promise-db.js +511 -66
  9. package/dist/ai-promise-db.js.map +1 -1
  10. package/dist/constants.d.ts +16 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +16 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/events.d.ts +153 -0
  15. package/dist/events.d.ts.map +1 -0
  16. package/dist/events.js +154 -0
  17. package/dist/events.js.map +1 -0
  18. package/dist/index.d.ts +8 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +13 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/memory-provider.d.ts +144 -2
  23. package/dist/memory-provider.d.ts.map +1 -1
  24. package/dist/memory-provider.js +569 -13
  25. package/dist/memory-provider.js.map +1 -1
  26. package/dist/schema/cascade.d.ts +96 -0
  27. package/dist/schema/cascade.d.ts.map +1 -0
  28. package/dist/schema/cascade.js +528 -0
  29. package/dist/schema/cascade.js.map +1 -0
  30. package/dist/schema/index.d.ts +197 -0
  31. package/dist/schema/index.d.ts.map +1 -0
  32. package/dist/schema/index.js +1211 -0
  33. package/dist/schema/index.js.map +1 -0
  34. package/dist/schema/parse.d.ts +225 -0
  35. package/dist/schema/parse.d.ts.map +1 -0
  36. package/dist/schema/parse.js +732 -0
  37. package/dist/schema/parse.js.map +1 -0
  38. package/dist/schema/provider.d.ts +176 -0
  39. package/dist/schema/provider.d.ts.map +1 -0
  40. package/dist/schema/provider.js +258 -0
  41. package/dist/schema/provider.js.map +1 -0
  42. package/dist/schema/resolve.d.ts +87 -0
  43. package/dist/schema/resolve.d.ts.map +1 -0
  44. package/dist/schema/resolve.js +474 -0
  45. package/dist/schema/resolve.js.map +1 -0
  46. package/dist/schema/semantic.d.ts +53 -0
  47. package/dist/schema/semantic.d.ts.map +1 -0
  48. package/dist/schema/semantic.js +247 -0
  49. package/dist/schema/semantic.js.map +1 -0
  50. package/dist/schema/types.d.ts +528 -0
  51. package/dist/schema/types.d.ts.map +1 -0
  52. package/dist/schema/types.js +9 -0
  53. package/dist/schema/types.js.map +1 -0
  54. package/dist/schema.d.ts +24 -867
  55. package/dist/schema.d.ts.map +1 -1
  56. package/dist/schema.js +41 -1124
  57. package/dist/schema.js.map +1 -1
  58. package/dist/semantic.d.ts +175 -0
  59. package/dist/semantic.d.ts.map +1 -0
  60. package/dist/semantic.js +338 -0
  61. package/dist/semantic.js.map +1 -0
  62. package/dist/types.d.ts +14 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/package.json +13 -4
  66. package/.turbo/turbo-build.log +0 -5
  67. package/TESTING.md +0 -410
  68. package/TEST_SUMMARY.md +0 -250
  69. package/TODO.md +0 -128
  70. package/src/ai-promise-db.ts +0 -1243
  71. package/src/authorization.ts +0 -1102
  72. package/src/durable-clickhouse.ts +0 -596
  73. package/src/durable-promise.ts +0 -582
  74. package/src/execution-queue.ts +0 -608
  75. package/src/index.test.ts +0 -868
  76. package/src/index.ts +0 -337
  77. package/src/linguistic.ts +0 -404
  78. package/src/memory-provider.test.ts +0 -1036
  79. package/src/memory-provider.ts +0 -1119
  80. package/src/schema.test.ts +0 -1254
  81. package/src/schema.ts +0 -2296
  82. package/src/tests.ts +0 -725
  83. package/src/types.ts +0 -1177
  84. package/test/README.md +0 -153
  85. package/test/edge-cases.test.ts +0 -646
  86. package/test/provider-resolution.test.ts +0 -402
  87. package/tsconfig.json +0 -9
  88. package/vitest.config.ts +0 -19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/schema/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Database Provider Interface and Resolution
3
+ *
4
+ * Contains the DBProvider interface and provider resolution logic.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import type { ListOptions, SearchOptions, SemanticSearchOptions, HybridSearchOptions, DBEvent, DBAction, DBArtifact, CreateEventOptions, CreateActionOptions, EmbeddingsConfig } from './types.js';
9
+ /**
10
+ * Semantic search result with score
11
+ */
12
+ export interface SemanticSearchResult {
13
+ $id: string;
14
+ $type: string;
15
+ $score: number;
16
+ [key: string]: unknown;
17
+ }
18
+ /**
19
+ * Hybrid search result with RRF and component scores
20
+ */
21
+ export interface HybridSearchResult extends SemanticSearchResult {
22
+ $rrfScore: number;
23
+ $ftsRank: number;
24
+ $semanticRank: number;
25
+ }
26
+ /**
27
+ * Database provider interface that adapters must implement
28
+ */
29
+ export interface DBProvider {
30
+ /** Get an entity */
31
+ get(type: string, id: string): Promise<Record<string, unknown> | null>;
32
+ /** List entities */
33
+ list(type: string, options?: ListOptions): Promise<Record<string, unknown>[]>;
34
+ /** Search entities */
35
+ search(type: string, query: string, options?: SearchOptions): Promise<Record<string, unknown>[]>;
36
+ /** Create an entity */
37
+ create(type: string, id: string | undefined, data: Record<string, unknown>): Promise<Record<string, unknown>>;
38
+ /** Update an entity */
39
+ update(type: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
40
+ /** Delete an entity */
41
+ delete(type: string, id: string): Promise<boolean>;
42
+ /** Get related entities */
43
+ related(type: string, id: string, relation: string): Promise<Record<string, unknown>[]>;
44
+ /** Create a relationship */
45
+ relate(fromType: string, fromId: string, relation: string, toType: string, toId: string, metadata?: {
46
+ matchMode?: 'exact' | 'fuzzy';
47
+ similarity?: number;
48
+ }): Promise<void>;
49
+ /** Remove a relationship */
50
+ unrelate(fromType: string, fromId: string, relation: string, toType: string, toId: string): Promise<void>;
51
+ }
52
+ /**
53
+ * Extended provider interface with semantic search, events, actions, and artifacts
54
+ *
55
+ * Providers that support advanced features implement this interface.
56
+ * Use type guards like `'semanticSearch' in provider` to check for support.
57
+ */
58
+ export interface DBProviderExtended extends DBProvider {
59
+ /** Configure embeddings for auto-generation */
60
+ setEmbeddingsConfig(config: EmbeddingsConfig): void;
61
+ /** Semantic search using vector similarity */
62
+ semanticSearch(type: string, query: string, options?: SemanticSearchOptions): Promise<SemanticSearchResult[]>;
63
+ /** Hybrid search combining FTS and semantic */
64
+ hybridSearch(type: string, query: string, options?: HybridSearchOptions): Promise<HybridSearchResult[]>;
65
+ /** Subscribe to events matching a pattern */
66
+ on(pattern: string, handler: (event: DBEvent) => void | Promise<void>): () => void;
67
+ /** Emit an event */
68
+ emit(options: CreateEventOptions): Promise<DBEvent>;
69
+ emit(type: string, data: unknown): Promise<DBEvent>;
70
+ /** List events */
71
+ listEvents(options?: {
72
+ event?: string;
73
+ actor?: string;
74
+ object?: string;
75
+ since?: Date;
76
+ until?: Date;
77
+ limit?: number;
78
+ }): Promise<DBEvent[]>;
79
+ /** Replay events through a handler */
80
+ replayEvents(options: {
81
+ event?: string;
82
+ actor?: string;
83
+ since?: Date;
84
+ handler: (event: DBEvent) => void | Promise<void>;
85
+ }): Promise<void>;
86
+ /** Create a new action */
87
+ createAction(options: CreateActionOptions | {
88
+ type: string;
89
+ data: unknown;
90
+ total?: number;
91
+ }): Promise<DBAction>;
92
+ /** Get an action by ID */
93
+ getAction(id: string): Promise<DBAction | null>;
94
+ /** Update an action */
95
+ updateAction(id: string, updates: Partial<Pick<DBAction, 'status' | 'progress' | 'result' | 'error'>>): Promise<DBAction>;
96
+ /** List actions */
97
+ listActions(options?: {
98
+ status?: DBAction['status'];
99
+ action?: string;
100
+ actor?: string;
101
+ object?: string;
102
+ since?: Date;
103
+ until?: Date;
104
+ limit?: number;
105
+ }): Promise<DBAction[]>;
106
+ /** Retry a failed action */
107
+ retryAction(id: string): Promise<DBAction>;
108
+ /** Cancel an action */
109
+ cancelAction(id: string): Promise<void>;
110
+ /** Get an artifact */
111
+ getArtifact(url: string, type: string): Promise<DBArtifact | null>;
112
+ /** Set an artifact */
113
+ setArtifact(url: string, type: string, data: {
114
+ content: unknown;
115
+ sourceHash: string;
116
+ metadata?: Record<string, unknown>;
117
+ }): Promise<void>;
118
+ /** Delete an artifact */
119
+ deleteArtifact(url: string, type?: string): Promise<void>;
120
+ /** List artifacts for a URL */
121
+ listArtifacts(url: string): Promise<DBArtifact[]>;
122
+ }
123
+ /**
124
+ * Type guard to check if provider has semantic search
125
+ */
126
+ export declare function hasSemanticSearch(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'semanticSearch'>;
127
+ /**
128
+ * Type guard to check if provider has hybrid search
129
+ */
130
+ export declare function hasHybridSearch(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'hybridSearch'>;
131
+ /**
132
+ * Type guard to check if provider has events API
133
+ */
134
+ export declare function hasEventsAPI(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'on' | 'emit' | 'listEvents' | 'replayEvents'>;
135
+ /**
136
+ * Type guard to check if provider has actions API
137
+ */
138
+ export declare function hasActionsAPI(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'createAction' | 'getAction' | 'updateAction' | 'listActions' | 'retryAction' | 'cancelAction'>;
139
+ /**
140
+ * Type guard to check if provider has artifacts API
141
+ */
142
+ export declare function hasArtifactsAPI(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'getArtifact' | 'setArtifact' | 'deleteArtifact' | 'listArtifacts'>;
143
+ /**
144
+ * Type guard to check if provider has embeddings config
145
+ */
146
+ export declare function hasEmbeddingsConfig(provider: DBProvider): provider is DBProvider & Pick<DBProviderExtended, 'setEmbeddingsConfig'>;
147
+ /**
148
+ * Set the global database provider
149
+ */
150
+ export declare function setProvider(provider: DBProvider): void;
151
+ /**
152
+ * Resolve provider from DATABASE_URL environment variable
153
+ *
154
+ * @example
155
+ * ```bash
156
+ * # Filesystem (default) - stores in ./content with .db/ metadata
157
+ * DATABASE_URL=./content
158
+ *
159
+ * # Local SQLite - stores in ./content/.db/index.sqlite
160
+ * DATABASE_URL=sqlite://./content
161
+ *
162
+ * # Remote Turso
163
+ * DATABASE_URL=libsql://your-db.turso.io
164
+ *
165
+ * # Local ClickHouse (chDB) - stores in ./content/.db/clickhouse/
166
+ * DATABASE_URL=chdb://./content
167
+ *
168
+ * # Remote ClickHouse
169
+ * DATABASE_URL=clickhouse://localhost:8123
170
+ *
171
+ * # In-memory (testing)
172
+ * DATABASE_URL=:memory:
173
+ * ```
174
+ */
175
+ export declare function resolveProvider(): Promise<DBProvider>;
176
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Database Provider Interface and Resolution
3
+ *
4
+ * Contains the DBProvider interface and provider resolution logic.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ import { setProviderResolver } from '../ai-promise-db.js';
9
+ /**
10
+ * Type guard to check if provider has semantic search
11
+ */
12
+ export function hasSemanticSearch(provider) {
13
+ return 'semanticSearch' in provider;
14
+ }
15
+ /**
16
+ * Type guard to check if provider has hybrid search
17
+ */
18
+ export function hasHybridSearch(provider) {
19
+ return 'hybridSearch' in provider;
20
+ }
21
+ /**
22
+ * Type guard to check if provider has events API
23
+ */
24
+ export function hasEventsAPI(provider) {
25
+ return 'on' in provider && 'emit' in provider;
26
+ }
27
+ /**
28
+ * Type guard to check if provider has actions API
29
+ */
30
+ export function hasActionsAPI(provider) {
31
+ return 'createAction' in provider && 'getAction' in provider;
32
+ }
33
+ /**
34
+ * Type guard to check if provider has artifacts API
35
+ */
36
+ export function hasArtifactsAPI(provider) {
37
+ return 'getArtifact' in provider && 'setArtifact' in provider;
38
+ }
39
+ /**
40
+ * Type guard to check if provider has embeddings config
41
+ */
42
+ export function hasEmbeddingsConfig(provider) {
43
+ return 'setEmbeddingsConfig' in provider;
44
+ }
45
+ // =============================================================================
46
+ // Provider Resolution
47
+ // =============================================================================
48
+ let globalProvider = null;
49
+ let providerPromise = null;
50
+ /** File count threshold for suggesting ClickHouse upgrade */
51
+ const FILE_COUNT_THRESHOLD = 10_000;
52
+ /**
53
+ * Set the global database provider
54
+ */
55
+ export function setProvider(provider) {
56
+ globalProvider = provider;
57
+ providerPromise = null;
58
+ // Also update the ai-promise-db module's provider resolver
59
+ setProviderResolver(() => Promise.resolve(provider));
60
+ }
61
+ /**
62
+ * Parse DATABASE_URL into provider type and paths
63
+ *
64
+ * Local storage (all use .db/ folder):
65
+ * - `./content` => fs (default)
66
+ * - `sqlite://./content` => sqlite stored in ./content/.db/index.sqlite
67
+ * - `chdb://./content` => clickhouse stored in ./content/.db/clickhouse/
68
+ *
69
+ * Remote:
70
+ * - `libsql://your-db.turso.io` => Turso SQLite
71
+ * - `clickhouse://host:8123` => ClickHouse HTTP
72
+ * - `:memory:` => in-memory
73
+ */
74
+ function parseDatabaseUrl(url) {
75
+ if (!url)
76
+ return { provider: 'fs', root: './content' };
77
+ // In-memory
78
+ if (url === ':memory:') {
79
+ return { provider: 'memory', root: '' };
80
+ }
81
+ // Remote Turso
82
+ if (url.startsWith('libsql://') || url.includes('.turso.io')) {
83
+ return { provider: 'sqlite', root: '', remoteUrl: url };
84
+ }
85
+ // Remote ClickHouse
86
+ if (url.startsWith('clickhouse://') && url.includes(':')) {
87
+ // clickhouse://host:port/db
88
+ return { provider: 'clickhouse', root: '', remoteUrl: url.replace('clickhouse://', 'https://') };
89
+ }
90
+ // Local SQLite: sqlite://./content => ./content/.db/index.sqlite
91
+ if (url.startsWith('sqlite://')) {
92
+ const root = url.replace('sqlite://', '') || './content';
93
+ return { provider: 'sqlite', root };
94
+ }
95
+ // Local ClickHouse (chDB): chdb://./content => ./content/.db/clickhouse/
96
+ if (url.startsWith('chdb://')) {
97
+ const root = url.replace('chdb://', '') || './content';
98
+ return { provider: 'clickhouse', root };
99
+ }
100
+ // Default: filesystem
101
+ return { provider: 'fs', root: url };
102
+ }
103
+ /**
104
+ * Resolve provider from DATABASE_URL environment variable
105
+ *
106
+ * @example
107
+ * ```bash
108
+ * # Filesystem (default) - stores in ./content with .db/ metadata
109
+ * DATABASE_URL=./content
110
+ *
111
+ * # Local SQLite - stores in ./content/.db/index.sqlite
112
+ * DATABASE_URL=sqlite://./content
113
+ *
114
+ * # Remote Turso
115
+ * DATABASE_URL=libsql://your-db.turso.io
116
+ *
117
+ * # Local ClickHouse (chDB) - stores in ./content/.db/clickhouse/
118
+ * DATABASE_URL=chdb://./content
119
+ *
120
+ * # Remote ClickHouse
121
+ * DATABASE_URL=clickhouse://localhost:8123
122
+ *
123
+ * # In-memory (testing)
124
+ * DATABASE_URL=:memory:
125
+ * ```
126
+ */
127
+ export async function resolveProvider() {
128
+ if (globalProvider)
129
+ return globalProvider;
130
+ if (providerPromise)
131
+ return providerPromise;
132
+ providerPromise = (async () => {
133
+ const databaseUrl = (typeof process !== 'undefined' && process.env?.DATABASE_URL) || './content';
134
+ const parsed = parseDatabaseUrl(databaseUrl);
135
+ switch (parsed.provider) {
136
+ case 'memory': {
137
+ const { createMemoryProvider } = await import('../memory-provider.js');
138
+ globalProvider = createMemoryProvider();
139
+ break;
140
+ }
141
+ case 'fs': {
142
+ try {
143
+ // `as any` cast required: @mdxdb/fs is an optional external package
144
+ // that may or may not have TypeScript declarations available
145
+ const { createFsProvider } = await import('@mdxdb/fs');
146
+ globalProvider = createFsProvider({ root: parsed.root });
147
+ // Check file count and warn if approaching threshold
148
+ checkFileCountThreshold(parsed.root);
149
+ }
150
+ catch (err) {
151
+ console.warn('@mdxdb/fs not available, falling back to memory provider');
152
+ const { createMemoryProvider } = await import('../memory-provider.js');
153
+ globalProvider = createMemoryProvider();
154
+ }
155
+ break;
156
+ }
157
+ case 'sqlite': {
158
+ try {
159
+ // `as any` cast required: @mdxdb/sqlite is an optional external package
160
+ // that may or may not have TypeScript declarations available
161
+ const { createSqliteProvider } = await import('@mdxdb/sqlite');
162
+ if (parsed.remoteUrl) {
163
+ // Remote Turso
164
+ globalProvider = await createSqliteProvider({ url: parsed.remoteUrl });
165
+ }
166
+ else {
167
+ // Local SQLite in .db folder
168
+ const dbPath = `${parsed.root}/.db/index.sqlite`;
169
+ globalProvider = await createSqliteProvider({ url: `file:${dbPath}` });
170
+ }
171
+ }
172
+ catch (err) {
173
+ console.warn('@mdxdb/sqlite not available, falling back to memory provider');
174
+ const { createMemoryProvider } = await import('../memory-provider.js');
175
+ globalProvider = createMemoryProvider();
176
+ }
177
+ break;
178
+ }
179
+ case 'clickhouse': {
180
+ try {
181
+ // `as any` cast required: @mdxdb/clickhouse is an optional external package
182
+ // that may or may not have TypeScript declarations available
183
+ const { createClickhouseProvider } = await import('@mdxdb/clickhouse');
184
+ if (parsed.remoteUrl) {
185
+ // Remote ClickHouse
186
+ globalProvider = await createClickhouseProvider({
187
+ mode: 'http',
188
+ url: parsed.remoteUrl,
189
+ });
190
+ }
191
+ else {
192
+ // Local chDB in .db folder
193
+ const dbPath = `${parsed.root}/.db/clickhouse`;
194
+ globalProvider = await createClickhouseProvider({
195
+ mode: 'chdb',
196
+ url: dbPath,
197
+ });
198
+ }
199
+ }
200
+ catch (err) {
201
+ console.warn('@mdxdb/clickhouse not available, falling back to memory provider');
202
+ const { createMemoryProvider } = await import('../memory-provider.js');
203
+ globalProvider = createMemoryProvider();
204
+ }
205
+ break;
206
+ }
207
+ default: {
208
+ const { createMemoryProvider } = await import('../memory-provider.js');
209
+ globalProvider = createMemoryProvider();
210
+ }
211
+ }
212
+ // Update the ai-promise-db module's provider resolver
213
+ if (globalProvider) {
214
+ setProviderResolver(() => Promise.resolve(globalProvider));
215
+ }
216
+ return globalProvider;
217
+ })();
218
+ return providerPromise;
219
+ }
220
+ /**
221
+ * Check file count and warn if approaching threshold
222
+ */
223
+ async function checkFileCountThreshold(root) {
224
+ try {
225
+ const fs = await import('node:fs/promises');
226
+ const path = await import('node:path');
227
+ async function countFiles(dir) {
228
+ let count = 0;
229
+ try {
230
+ const entries = await fs.readdir(dir, { withFileTypes: true });
231
+ for (const entry of entries) {
232
+ if (entry.name.startsWith('.'))
233
+ continue;
234
+ if (entry.isDirectory()) {
235
+ count += await countFiles(path.join(dir, entry.name));
236
+ }
237
+ else if (entry.name.endsWith('.mdx') || entry.name.endsWith('.md')) {
238
+ count++;
239
+ }
240
+ }
241
+ }
242
+ catch {
243
+ // Directory doesn't exist yet
244
+ }
245
+ return count;
246
+ }
247
+ const count = await countFiles(root);
248
+ if (count > FILE_COUNT_THRESHOLD) {
249
+ console.warn(`\n You have ${count.toLocaleString()} MDX files. ` +
250
+ `Consider upgrading to ClickHouse for better performance:\n` +
251
+ ` DATABASE_URL=chdb://./data/clickhouse\n`);
252
+ }
253
+ }
254
+ catch {
255
+ // Ignore errors in file counting
256
+ }
257
+ }
258
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/schema/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Reference Resolution Functions
3
+ *
4
+ * Contains forward/backward resolution functions for relationships,
5
+ * context resolution, and entity hydration.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { ParsedField, ParsedEntity, ParsedSchema } from '../types.js';
10
+ import type { DBProvider } from './provider.js';
11
+ import type { ReferenceSpec } from './types.js';
12
+ /**
13
+ * Check if a string looks like an entity ID (UUID format or type-prefixed)
14
+ */
15
+ export declare function isEntityId(value: string): boolean;
16
+ /**
17
+ * Infer the entity type from a field name using schema relationships
18
+ */
19
+ export declare function inferTypeFromField(fieldName: string, entity: ParsedEntity, schema: ParsedSchema): string | undefined;
20
+ /**
21
+ * Resolve a context path like "task.occupation.industry.name" against an entity
22
+ *
23
+ * This traverses relationships and fetches related entities as needed.
24
+ */
25
+ export declare function resolveContextPath(path: string, entity: Record<string, unknown>, currentTypeName: string, schema: ParsedSchema, provider: DBProvider): Promise<unknown>;
26
+ /**
27
+ * Resolve template variables in $instructions
28
+ *
29
+ * Template variables use the syntax {path.to.field} where the path
30
+ * can traverse relationships (e.g., {task.occupation.title})
31
+ *
32
+ * @param instructions - The instruction string with template variables
33
+ * @param entity - The current entity data
34
+ * @param typeName - The current entity type name
35
+ * @param schema - The parsed schema
36
+ * @param provider - The database provider for fetching related entities
37
+ * @returns The instructions with all template variables resolved
38
+ */
39
+ export declare function resolveInstructions(instructions: string, entity: Record<string, unknown>, typeName: string, schema: ParsedSchema, provider: DBProvider): Promise<string>;
40
+ /**
41
+ * Pre-fetch context dependencies declared in $context
42
+ *
43
+ * The $context field declares explicit context dependencies that should
44
+ * be pre-fetched before generating AI fields. This ensures all referenced
45
+ * entities are available for template variable resolution.
46
+ *
47
+ * @param contextDeps - Array of context dependency types (e.g., ['Startup', 'ICP'])
48
+ * @param entity - The current entity data
49
+ * @param typeName - The current entity type name
50
+ * @param schema - The parsed schema
51
+ * @param provider - The database provider for fetching related entities
52
+ * @returns Map of context name to fetched entity data
53
+ */
54
+ export declare function prefetchContext(contextDeps: string[], entity: Record<string, unknown>, typeName: string, schema: ParsedSchema, provider: DBProvider): Promise<Map<string, Record<string, unknown>>>;
55
+ /**
56
+ * Check if a field type is a prompt (contains spaces, indicating AI generation)
57
+ */
58
+ export declare function isPromptField(field: ParsedField): boolean;
59
+ /**
60
+ * Resolve pending nested relations in generated data
61
+ *
62
+ * When generateEntity encounters nested -> relations, it stores them as
63
+ * _pending_fieldName entries. This function creates those entities and
64
+ * replaces the pending entries with actual IDs.
65
+ */
66
+ export declare function resolveNestedPending(data: Record<string, unknown>, entity: ParsedEntity, schema: ParsedSchema, provider: DBProvider): Promise<Record<string, unknown>>;
67
+ /**
68
+ * Resolve a single reference specification to an entity ID
69
+ *
70
+ * For exact matches (-> and <-), creates new entities.
71
+ * For fuzzy matches (~> and <~), searches for existing entities first.
72
+ */
73
+ export declare function resolveReferenceSpec(spec: ReferenceSpec, contextData: Record<string, unknown>, schema: ParsedSchema, provider: DBProvider, generateContextAwareValue: (fieldName: string, type: string, fullContext: string, hint: string | undefined, parentData: Record<string, unknown>) => string): Promise<string | null>;
74
+ /**
75
+ * Hydrate an entity with lazy-loaded relations
76
+ *
77
+ * For backward edges (direction === 'backward'), we query for entities
78
+ * of the related type that have a reference pointing TO this entity.
79
+ * This enables reverse lookups like "get all comments for a post".
80
+ *
81
+ * Backward reference resolution:
82
+ * - Single backward ref with stored ID: resolve directly (e.g., member.team = teamId -> get Team by ID)
83
+ * - Single backward ref without stored ID: find related entity that points to us via relations
84
+ * - Array backward ref: find all entities of related type where their forward ref points to us
85
+ */
86
+ export declare function hydrateEntity(data: Record<string, unknown>, entity: ParsedEntity, schema: ParsedSchema, resolveProvider: () => Promise<DBProvider>): Record<string, unknown>;
87
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/schema/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EAEb,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAA;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAO/C;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAcpH;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,OAAO,CAAC,CAqClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAsC/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAIzD;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoBlC;AAMD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,UAAU,EACpB,yBAAyB,EAAE,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyExB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GACzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoNzB"}