@reasoningco/infer 0.0.4 → 0.1.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/dist/index.js CHANGED
@@ -7,6 +7,44 @@ import { validateSQL } from './sql-validator.js';
7
7
  import { createLLMProvider, buildCatalogSummary, extractJSON } from './llm.js';
8
8
  import { loadCatalogFromYAML, buildCatalogFromIntrospection } from './catalog.js';
9
9
  import { EntityResolverRegistry } from './entity-resolver.js';
10
+ /**
11
+ * Dynamically load and parse a YAML string. Tries "yaml" then "js-yaml" packages.
12
+ * Uses Function-based dynamic import to avoid bundler/ESM issues.
13
+ */
14
+ export async function dynamicParseYAML(content) {
15
+ // Try multiple import strategies for "yaml" package
16
+ // Strategy 1: Direct dynamic import (works in native ESM, vitest, tsx)
17
+ try {
18
+ const mod = await import('yaml');
19
+ const parse = mod.default?.parse ?? mod.parse;
20
+ if (typeof parse === 'function')
21
+ return parse(content);
22
+ }
23
+ catch { /* not installed or import failed */ }
24
+ // Strategy 2: Function-wrapped import (works in bundlers that rewrite imports)
25
+ try {
26
+ const mod = await (Function('return import("yaml")')());
27
+ const parse = mod.default?.parse ?? mod.parse;
28
+ if (typeof parse === 'function')
29
+ return parse(content);
30
+ }
31
+ catch { /* not available */ }
32
+ // Strategy 3: Try "js-yaml" package
33
+ try {
34
+ const mod = await import('js-yaml');
35
+ const load = mod.default?.load ?? mod.load;
36
+ if (typeof load === 'function')
37
+ return load(content);
38
+ }
39
+ catch { /* not installed */ }
40
+ // Fallback: basic JSON parse (for .json catalog files)
41
+ try {
42
+ return JSON.parse(content);
43
+ }
44
+ catch {
45
+ throw new InferError('CONNECTION_ERROR', 'validator', 'No YAML parser available. Install "yaml" or "js-yaml": npm install yaml');
46
+ }
47
+ }
10
48
  export class Infer {
11
49
  connector;
12
50
  llmProvider;
@@ -34,7 +72,15 @@ export class Infer {
34
72
  const warnings = [];
35
73
  // Layer 1: Input validation & safety check
36
74
  this.log('input', `Validating: "${question}"`);
37
- validateInput(question);
75
+ try {
76
+ validateInput(question);
77
+ }
78
+ catch (err) {
79
+ if (err instanceof InferError) {
80
+ this.emitSecurityEvent(err.code === 'INPUT_PII_DETECTED' ? 'pii_detected' : 'injection_blocked', 'input', err.message, question);
81
+ }
82
+ throw err;
83
+ }
38
84
  // Ensure catalog is loaded
39
85
  const catalog = await this.ensureCatalog();
40
86
  // Layer 2: LLM Query Planner
@@ -48,9 +94,24 @@ export class Infer {
48
94
  this.config.onPlan?.(rawPlan);
49
95
  // Layer 3: Plan validation
50
96
  this.log('validator', 'Validating query plan...');
51
- const validatedPlan = validateQueryPlan(rawPlan, catalog, {
52
- maxLimit: this.config.maxRows ?? 200,
53
- });
97
+ let validatedPlan;
98
+ try {
99
+ validatedPlan = validateQueryPlan(rawPlan, catalog, {
100
+ maxLimit: this.config.maxRows ?? 200,
101
+ warnings,
102
+ });
103
+ }
104
+ catch (err) {
105
+ if (err instanceof InferError) {
106
+ if (err.code === 'PLAN_SENSITIVE_COLUMN') {
107
+ this.emitSecurityEvent('sensitive_column', 'validator', err.message, question);
108
+ }
109
+ else if (err.code === 'PLAN_OUT_OF_SCOPE') {
110
+ this.emitSecurityEvent('plan_out_of_scope', 'validator', err.message, question);
111
+ }
112
+ }
113
+ throw err;
114
+ }
54
115
  // Layer 4: Entity resolution
55
116
  if (validatedPlan.resolvedEntities.length === 0 && rawPlan?.entityFilters?.length > 0) {
56
117
  this.log('resolver', 'Resolving entities...');
@@ -61,20 +122,36 @@ export class Infer {
61
122
  this.log('compiler', 'Compiling SQL...');
62
123
  const executionCtx = {
63
124
  tenantId: ctx?.tenantId ?? this.config.tenantId ?? '',
125
+ tenantColumn: this.config.tenantColumn,
64
126
  locationIds: ctx?.locationIds,
127
+ offset: ctx?.offset ?? this.config.offset,
65
128
  };
66
- const compiled = compileSQL(validatedPlan, executionCtx);
129
+ const compiled = compileSQL(validatedPlan, executionCtx, catalog);
67
130
  this.config.onSQL?.(compiled.sql, compiled.params);
68
131
  // Layer 6: SQL validation (defense-in-depth)
69
132
  this.log('sql_check', 'Validating SQL...');
70
- const allowedTables = Object.values(catalog.datasets).map(ds => `${ds.table.schema}.${ds.table.name}`);
71
- validateSQL(compiled.sql, { allowedTables });
133
+ const allowedTables = Object.values(catalog.datasets).flatMap(ds => {
134
+ const tables = [`${ds.table.schema}.${ds.table.name}`];
135
+ // Include aliased table references for JOINs
136
+ tables.push(ds.table.name);
137
+ return tables;
138
+ });
139
+ try {
140
+ validateSQL(compiled.sql, { allowedTables });
141
+ }
142
+ catch (err) {
143
+ if (err instanceof InferError && err.code === 'SQL_VALIDATION_FAILED') {
144
+ this.emitSecurityEvent('sql_validation_failed', 'sql_check', err.message, question);
145
+ }
146
+ throw err;
147
+ }
72
148
  // Layer 7: Secure execution
73
149
  this.log('executor', 'Executing query...');
74
150
  const result = await this.connector.execute(compiled.sql, compiled.params);
75
151
  // Layer 8: Result sanitization
76
152
  const sensitiveColumns = validatedPlan.dataset.sensitiveColumns;
77
- const sanitizedRows = sanitizeResult(result.rows, sensitiveColumns);
153
+ const sensitiveMode = this.config.sensitiveColumnMode ?? 'remove';
154
+ const sanitizedRows = sanitizeResult(result.rows, sensitiveColumns, sensitiveMode);
78
155
  this.config.onValidation?.(warnings);
79
156
  const inferResult = {
80
157
  rows: sanitizedRows,
@@ -90,24 +167,55 @@ export class Infer {
90
167
  // ── Direct plan execution (skip LLM) ──
91
168
  async execute(plan, ctx) {
92
169
  const startTime = Date.now();
170
+ const warnings = [];
93
171
  const catalog = await this.ensureCatalog();
94
- const validatedPlan = validateQueryPlan(plan, catalog, {
95
- maxLimit: this.config.maxRows ?? 200,
96
- });
172
+ let validatedPlan;
173
+ try {
174
+ validatedPlan = validateQueryPlan(plan, catalog, {
175
+ maxLimit: this.config.maxRows ?? 200,
176
+ warnings,
177
+ });
178
+ }
179
+ catch (err) {
180
+ if (err instanceof InferError) {
181
+ if (err.code === 'PLAN_SENSITIVE_COLUMN') {
182
+ this.emitSecurityEvent('sensitive_column', 'validator', err.message);
183
+ }
184
+ else if (err.code === 'PLAN_OUT_OF_SCOPE') {
185
+ this.emitSecurityEvent('plan_out_of_scope', 'validator', err.message);
186
+ }
187
+ }
188
+ throw err;
189
+ }
97
190
  const executionCtx = {
98
191
  tenantId: ctx?.tenantId ?? this.config.tenantId ?? '',
192
+ tenantColumn: this.config.tenantColumn,
99
193
  locationIds: ctx?.locationIds,
194
+ offset: ctx?.offset ?? this.config.offset,
100
195
  };
101
- const compiled = compileSQL(validatedPlan, executionCtx);
102
- validateSQL(compiled.sql);
196
+ const compiled = compileSQL(validatedPlan, executionCtx, catalog);
197
+ const allowedTables = Object.values(catalog.datasets).flatMap(ds => {
198
+ const tables = [`${ds.table.schema}.${ds.table.name}`];
199
+ tables.push(ds.table.name);
200
+ return tables;
201
+ });
202
+ try {
203
+ validateSQL(compiled.sql, { allowedTables });
204
+ }
205
+ catch (err) {
206
+ if (err instanceof InferError && err.code === 'SQL_VALIDATION_FAILED') {
207
+ this.emitSecurityEvent('sql_validation_failed', 'sql_check', err.message);
208
+ }
209
+ throw err;
210
+ }
103
211
  const result = await this.connector.execute(compiled.sql, compiled.params);
104
- const sanitizedRows = sanitizeResult(result.rows, validatedPlan.dataset.sensitiveColumns);
212
+ const sanitizedRows = sanitizeResult(result.rows, validatedPlan.dataset.sensitiveColumns, this.config.sensitiveColumnMode ?? 'remove');
105
213
  return {
106
214
  rows: sanitizedRows,
107
215
  columns: result.columns,
108
216
  sql: this.config.includeSQL ? compiled.sql : undefined,
109
217
  plan,
110
- warnings: [],
218
+ warnings,
111
219
  executionTime: Date.now() - startTime,
112
220
  };
113
221
  }
@@ -142,17 +250,24 @@ export class Infer {
142
250
  this.catalog = this.catalogSource;
143
251
  }
144
252
  else if (typeof this.catalogSource === 'string') {
145
- // Load from YAML file path - try dynamic import of fs and yaml
253
+ // Load from YAML file path
146
254
  try {
147
- // Dynamic imports to avoid hard dependency on Node.js built-ins and yaml package
148
- const fsModule = await Function('return import("fs")')();
149
- const yamlModule = await Function('return import("yaml")')();
150
- const content = fsModule.readFileSync(this.catalogSource, 'utf-8');
151
- const parsed = yamlModule.parse(content);
255
+ let fsModule;
256
+ try {
257
+ fsModule = await import('fs');
258
+ }
259
+ catch {
260
+ fsModule = await (Function('return import("fs")')());
261
+ }
262
+ const readFileSync = fsModule.default?.readFileSync ?? fsModule.readFileSync;
263
+ const content = readFileSync(this.catalogSource, 'utf-8');
264
+ const parsed = await dynamicParseYAML(content);
152
265
  this.catalog = loadCatalogFromYAML(parsed);
153
266
  }
154
- catch {
155
- throw new InferError('CONNECTION_ERROR', 'validator', 'Failed to load catalog from file. Install the "yaml" package.');
267
+ catch (err) {
268
+ if (err instanceof InferError)
269
+ throw err;
270
+ throw new InferError('CONNECTION_ERROR', 'validator', `Failed to load catalog from file "${this.catalogSource}". Ensure the file exists and the "yaml" or "js-yaml" package is installed.`);
156
271
  }
157
272
  }
158
273
  else {
@@ -174,9 +289,22 @@ export class Infer {
174
289
  if (error instanceof InferError && !error.retryable)
175
290
  throw error;
176
291
  if (attempt < maxRetries) {
177
- const delay = this.config.retries?.backoff === 'exponential'
178
- ? Math.min(250 * Math.pow(2, attempt), 5000)
179
- : 250 * (attempt + 1);
292
+ let delay;
293
+ // Rate limit (429) — use longer backoff with jitter
294
+ if (error instanceof InferError && error.code === 'RATE_LIMITED') {
295
+ delay = Math.min(1000 * Math.pow(2, attempt), 30000) + Math.random() * 500;
296
+ }
297
+ else if (error instanceof InferError && error.code === 'LLM_TIMEOUT') {
298
+ // Timeout — moderate backoff
299
+ delay = Math.min(500 * Math.pow(2, attempt), 10000);
300
+ }
301
+ else {
302
+ // General errors — standard backoff
303
+ delay = this.config.retries?.backoff === 'exponential'
304
+ ? Math.min(250 * Math.pow(2, attempt), 5000)
305
+ : 250 * (attempt + 1);
306
+ }
307
+ this.log('retry', `Attempt ${attempt + 1}/${maxRetries} failed (${error instanceof InferError ? error.code : 'unknown'}), retrying in ${Math.round(delay)}ms`);
180
308
  await new Promise(r => setTimeout(r, delay));
181
309
  }
182
310
  }
@@ -188,6 +316,12 @@ export class Infer {
188
316
  console.log(`[infer:${stage}] ${message}`);
189
317
  }
190
318
  }
319
+ emitSecurityEvent(type, stage, message, input) {
320
+ this.config.onSecurityEvent?.({
321
+ type, stage, message, input,
322
+ timestamp: Date.now(),
323
+ });
324
+ }
191
325
  }
192
326
  // ── Helper: Convert catalog to YAML string ──
193
327
  function catalogToYAML(catalog) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe;IACpD,oDAAoD;IACpD,uEAAuE;IACvE,IAAI,CAAC;QACH,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;IAEhD,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,GAAG,GAAQ,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE/B,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,SAAmB,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;QAC3C,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAE/B,uDAAuD;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,WAAW,EAClD,yEAAyE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,OAAO,KAAK;IACR,SAAS,CAAiB;IAC1B,WAAW,CAAc;IACzB,OAAO,GAAwB,IAAI,CAAC;IACpC,aAAa,CAAoC;IACjD,MAAM,CAAc;IACpB,eAAe,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC/C,KAAK,CAAU;IAEvB,YAAY,MAAmB;QAC7B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAEpC,sBAAsB;QACtB,IAAI,UAAU,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAA6C,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,GAA+B;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,QAAQ,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,mBAAmB,EAC7F,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3C,6BAA6B;QAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;YAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAyB,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE;gBAClD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG;gBACpC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACzC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACjF,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,6BAA6B;QAC7B,IAAI,aAAa,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAK,OAAe,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/F,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC7D,aAAa,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CACnE,OAAe,CAAC,aAAa,EAC9B,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACzC,MAAM,YAAY,GAAqB;YACrC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;YACrD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;SAC1C,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEnD,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,6CAA6C;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACtE,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE3E,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,QAAQ,CAAC;QAClE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAEnF,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACtD,IAAI,EAAE,OAAyB;YAC/B,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACtC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,GAA+B;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE3C,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;gBAC/C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG;gBACpC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACzC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvE,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAC5C,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAqB;YACrC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;YACrD,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;SAC1C,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACtE,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CAAC;QAEvI,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YACtD,IAAI;YACJ,QAAQ;YACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACtC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,cAAc;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,qCAAqC;IACrC,gBAAgB,CAAC,IAAY,EAAE,QAAuD;QACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,wBAAwB;IAChB,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAEtC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAA6B,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAClD,2BAA2B;YAC3B,IAAI,CAAC;gBACH,IAAI,QAAa,CAAC;gBAClB,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;gBAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,MAA2C,CAAC,CAAC;YAClF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,UAAU;oBAAE,MAAM,GAAG,CAAC;gBACzC,MAAM,IAAI,UAAU,CAAC,kBAAkB,EAAE,WAAW,EAClD,qCAAqC,IAAI,CAAC,aAAa,6EAA6E,CAAC,CAAC;YAC1I,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAA2C;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,KAAK,YAAY,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,MAAM,KAAK,CAAC;gBACjE,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,IAAI,KAAa,CAAC;oBAClB,oDAAoD;oBACpD,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACjE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;oBAC7E,CAAC;yBAAM,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACvE,6BAA6B;wBAC7B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACN,oCAAoC;wBACpC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,aAAa;4BACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;4BAC5C,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC1B,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,OAAO,GAAG,CAAC,IAAI,UAAU,YAAY,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/J,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,IAAI,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACnG,CAAC;IAEO,GAAG,CAAC,KAAa,EAAE,OAAe;QACxC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,IAAgD,EAChD,KAAkD,EAClD,OAAe,EACf,KAAc;QAEd,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;CACF;AAED,+CAA+C;AAC/C,SAAS,aAAa,CAAC,OAAqB;IAC1C,MAAM,KAAK,GAAa,CAAC,mDAAmD,EAAE,mCAAmC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IAEvI,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,IAAI,EAAE,CAAC,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QAE5E,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;gBAC7D,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;gBACtD,IAAI,GAAG,EAAE,SAAS;oBAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpD,IAAI,CAAC,CAAC,WAAW;oBAAE,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvG,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EACL,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAC5D,gBAAgB,EAAE,sBAAsB,GACzC,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAWtH,OAAO,EACL,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAC/C,oBAAoB,EAAE,yBAAyB,EAAE,mBAAmB,GACrE,MAAM,YAAY,CAAC"}
package/dist/llm.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAGxG,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE;AAGD,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAuC1E;AAGD,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAqC1E;AAGD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CA2C1E;AAGD,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKlD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC1E;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAgBxE;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAqEjE;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAmBjD"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAGxG,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE;AAGD,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAuC1E;AAGD,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAqC1E;AAGD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMlE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CA2C1E;AAGD,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKlD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAgC1E;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAgBxE;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA2EjE;AAGD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAmBjD"}
package/dist/llm.js CHANGED
@@ -264,6 +264,7 @@ export function buildCatalogSummary(catalog) {
264
264
  dataset: "dataset_id",
265
265
  metrics: ["metric_id"],
266
266
  groupBy: ["column"],
267
+ timeBucket: "month",
267
268
  filters: [{ field: "column", op: "=", value: "value" }],
268
269
  dateRange: { mode: "relative", phrase: "last 30 days" },
269
270
  orderBy: [{ field: "column", dir: "desc" }],
@@ -277,7 +278,12 @@ export function buildCatalogSummary(catalog) {
277
278
  lines.push('- Use answerMode "scalar" for single-number questions like "how many orders"');
278
279
  lines.push('- Use answerMode "aggregate_table" for grouped data like "revenue by month"');
279
280
  lines.push('- Use answerMode "rows" for listing individual records');
280
- lines.push('- Date ranges: use "relative" with natural phrases like "last 7 days", "this month", "last quarter"');
281
+ lines.push('- **timeBucket**: When grouping by a date/timestamp column, set timeBucket to control DATE_TRUNC granularity. Options: "hour", "day", "week", "month", "quarter", "year". Example: "revenue by month" → groupBy: ["ordered_at"], timeBucket: "month"');
282
+ lines.push('- Date ranges: use "relative" with natural phrases like "last 7 days", "this month", "last quarter", "all time"');
283
+ lines.push('- If no specific time range is mentioned, omit dateRange (do NOT default to today)');
284
+ lines.push('- Filters: only use primitive values (string, number, boolean) or arrays. NEVER put SQL subqueries in filter values');
285
+ lines.push('- Filter operators: =, !=, >, <, >=, <=, in, not_in, like, ilike, is_null, is_not_null');
286
+ lines.push('- For is_null/is_not_null operators, set value to true');
281
287
  lines.push('- Return ONLY the JSON object, no explanation');
282
288
  return lines.join('\n');
283
289
  }
package/dist/llm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,4BAA4B;AAC5B,MAAM,OAAO,kBAAkB;IACrB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,MAA4D;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,4BAA4B,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,8BAA8B,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAoB;QACrD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ;oBACR,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;oBACtC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;iBACvC,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI,MAAM,KAAK,GAAG;oBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;gBACpG,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,yBAAyB,MAAM,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjC,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC3E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,wBAAwB;AACxB,MAAM,OAAO,cAAc;IACjB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,MAA4D;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAoB;QACrD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ;oBACR,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;oBACtC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;iBACvC,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI,MAAM,KAAK,GAAG;oBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;gBACpF,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,MAAM,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC9E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,2BAA2B;AAC3B,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,MAA4D;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,8BAA8B,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAoB;QACrD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,uDAAuD;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,WAAW,EAAE,IAAI,CAAC,MAAM;oBACxB,mBAAmB,EAAE,YAAY;iBAClC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,YAAY;oBACtB,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;oBACtC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;iBACvC,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI,MAAM,KAAK,GAAG;oBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;gBACpF,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,sBAAsB,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC;QACjF,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,wBAAwB;AACxB,MAAM,OAAO,cAAc;IACjB,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,MAA4C;QACtD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,wBAAwB,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,OAAoB;QACrD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ;oBACR,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE;wBACP,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;wBACtC,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;qBACxC;iBACF,CAAC;gBACF,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3G,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,YAAY,UAAU;gBAAE,MAAM,KAAK,CAAC;YAC7C,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY;gBAAE,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,IAAI,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC9E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,yBAAyB;AACzB,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,YAAY;YACf,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACtE,OAAO,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzG,KAAK,QAAQ;YACX,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClE,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,KAAK,WAAW;YACd,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrE,OAAO,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,KAAK,QAAQ;YACX,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,OAAqB;IACvD,MAAM,KAAK,GAAa;QACtB,2DAA2D;QAC3D,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEtI,UAAU;QACV,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;YAC3C,OAAO,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhD,UAAU;QACV,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpH,KAAK,CAAC,IAAI,CAAC,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,aAAa;QACb,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,WAAW;QACX,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,QAAQ;QACR,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,cAAc;QACd,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACvD,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE;QACvD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAC3C,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,iBAAiB;KAC9B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACb,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC3F,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IAClH,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAE5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,wBAAwB;IACxB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,SAAS,EAAE,iCAAiC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,MAAM,IAAI,UAAU,CAAC,sBAAsB,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,6 @@ import type { InferCatalog, ValidatedSmartPlan } from './types.js';
2
2
  export declare function validateQueryPlan(rawPlan: unknown, catalog: InferCatalog, options?: {
3
3
  maxLimit?: number;
4
4
  defaultLimit?: number;
5
+ warnings?: string[];
5
6
  }): ValidatedSmartPlan;
6
7
  //# sourceMappingURL=query-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-validator.d.ts","sourceRoot":"","sources":["../src/query-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAAgC,kBAAkB,EAG/D,MAAM,YAAY,CAAC;AAKpB,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,kBAAkB,CA0IpB"}
1
+ {"version":3,"file":"query-validator.d.ts","sourceRoot":"","sources":["../src/query-validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAAgC,kBAAkB,EAG/D,MAAM,YAAY,CAAC;AAKpB,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1E,kBAAkB,CAyLpB"}
@@ -5,11 +5,18 @@ import { allowlistedMetricIds, allowlistedGroupByColumns } from './types.js';
5
5
  export function validateQueryPlan(rawPlan, catalog, options) {
6
6
  const maxLimit = options?.maxLimit ?? 200;
7
7
  const defaultLimit = options?.defaultLimit ?? 200;
8
+ const warnings = options?.warnings ?? [];
8
9
  // 1. Parse through Zod
9
10
  const parseResult = SmartQueryPlanSchema.safeParse(rawPlan);
10
11
  if (!parseResult.success) {
11
- throw new InferError('PLAN_INVALID', 'validator', 'Invalid query plan structure', {
12
- zodErrors: parseResult.error.flatten(),
12
+ const flat = parseResult.error.flatten();
13
+ const fieldErrors = Object.entries(flat.fieldErrors)
14
+ .map(([field, msgs]) => `${field}: ${msgs.join(', ')}`)
15
+ .join('; ');
16
+ const formErrors = flat.formErrors.join('; ');
17
+ const detail = [fieldErrors, formErrors].filter(Boolean).join('; ');
18
+ throw new InferError('PLAN_INVALID', 'validator', `Invalid query plan: ${detail || 'structure validation failed'}`, {
19
+ zodErrors: flat,
13
20
  });
14
21
  }
15
22
  const plan = parseResult.data;
@@ -47,11 +54,26 @@ export function validateQueryPlan(rawPlan, catalog, options) {
47
54
  metrics.push(metricDef);
48
55
  }
49
56
  }
50
- // 6. Validate groupBy columns
57
+ // 6. Validate groupBy columns (including cross-table via joins)
51
58
  const allowedGroupBy = allowlistedGroupByColumns(dataset);
52
59
  const groupBy = [];
60
+ const resolvedJoins = [];
53
61
  if (plan.groupBy && plan.groupBy.length > 0) {
54
62
  for (const col of plan.groupBy) {
63
+ // Check for dot-notation cross-table reference: "table.column"
64
+ if (col.includes('.')) {
65
+ const [joinTable, joinCol] = col.split('.', 2);
66
+ const resolved = resolveJoinGroupBy(dataset, joinTable, joinCol, catalog);
67
+ if (resolved) {
68
+ // Add to resolved joins (dedup by table)
69
+ if (!resolvedJoins.some(j => j.targetTable.name === resolved.targetTable.name)) {
70
+ resolvedJoins.push(resolved);
71
+ }
72
+ groupBy.push(col); // Keep dot-notation — SQL builder will handle it
73
+ continue;
74
+ }
75
+ throw new InferError('PLAN_INVALID', 'validator', `Column not groupable: ${col} — no matching join found`);
76
+ }
55
77
  if (!allowedGroupBy.has(col)) {
56
78
  throw new InferError('PLAN_INVALID', 'validator', `Column not groupable: ${col}`);
57
79
  }
@@ -61,6 +83,18 @@ export function validateQueryPlan(rawPlan, catalog, options) {
61
83
  groupBy.push(col);
62
84
  }
63
85
  }
86
+ // 6b. Resolve timeBucket — auto-detect if grouping by a date/timestamp column
87
+ let timeBucket = plan.timeBucket;
88
+ if (!timeBucket && groupBy.length > 0) {
89
+ for (const col of groupBy) {
90
+ const colType = dataset.columnTypes[col];
91
+ if (colType === 'date' || colType === 'timestamp') {
92
+ // Auto-detect bucket from date range or default to 'month'
93
+ timeBucket = 'month';
94
+ break;
95
+ }
96
+ }
97
+ }
64
98
  // 7. Validate filters
65
99
  const filters = [];
66
100
  let paramIndex = 1;
@@ -72,6 +106,13 @@ export function validateQueryPlan(rawPlan, catalog, options) {
72
106
  if (dataset.sensitiveColumns.includes(filter.field)) {
73
107
  throw new InferError('PLAN_SENSITIVE_COLUMN', 'validator', `Access to sensitive column denied`);
74
108
  }
109
+ // Reject SQL injection via subquery strings in filter values
110
+ validateFilterValue(filter.value, filter.op);
111
+ // Type check filter value against column type
112
+ const colType = dataset.columnTypes[filter.field];
113
+ if (colType && filter.op !== 'is_null' && filter.op !== 'is_not_null') {
114
+ validateFilterValueType(filter.value, colType, filter.field, warnings);
115
+ }
75
116
  filters.push({
76
117
  field: filter.field,
77
118
  op: filter.op,
@@ -111,7 +152,7 @@ export function validateQueryPlan(rawPlan, catalog, options) {
111
152
  groupBy.includes(ob.field) ||
112
153
  metrics.some(m => m.id === ob.field);
113
154
  if (!validField) {
114
- // Silently skip invalid orderBy rather than throwing
155
+ warnings.push(`orderBy field "${ob.field}" is not a valid column/metric and was dropped`);
115
156
  continue;
116
157
  }
117
158
  orderBy.push({ field: ob.field, dir: ob.dir === 'desc' ? 'desc' : 'asc' });
@@ -125,6 +166,8 @@ export function validateQueryPlan(rawPlan, catalog, options) {
125
166
  select,
126
167
  metrics,
127
168
  groupBy,
169
+ timeBucket,
170
+ joins: resolvedJoins.length > 0 ? resolvedJoins : undefined,
128
171
  filters,
129
172
  resolvedEntities: [], // populated later by entity resolver
130
173
  dateRange,
@@ -133,4 +176,94 @@ export function validateQueryPlan(rawPlan, catalog, options) {
133
176
  limit,
134
177
  };
135
178
  }
179
+ // ── Filter value safety ──
180
+ const SQL_INJECTION_PATTERN = /\b(SELECT|INSERT|UPDATE|DELETE|DROP|ALTER|CREATE|UNION|FROM\s+\w+|WHERE\s+\w+|JOIN\s+\w+|HAVING|EXEC|EXECUTE)\b/i;
181
+ function validateFilterValue(value, op) {
182
+ // For in/not_in operators, value must be an array of primitives
183
+ if (op === 'in' || op === 'not_in') {
184
+ if (!Array.isArray(value)) {
185
+ throw new InferError('PLAN_INVALID', 'validator', `Filter operator "${op}" requires an array value, got ${typeof value}`);
186
+ }
187
+ for (const item of value) {
188
+ if (typeof item === 'string') {
189
+ assertNotSQLString(item);
190
+ }
191
+ }
192
+ return;
193
+ }
194
+ // Scalar value checks
195
+ if (typeof value === 'string') {
196
+ assertNotSQLString(value);
197
+ }
198
+ }
199
+ function assertNotSQLString(value) {
200
+ if (SQL_INJECTION_PATTERN.test(value)) {
201
+ throw new InferError('PLAN_INVALID', 'validator', 'Filter value contains SQL keywords — subqueries are not allowed in filter values');
202
+ }
203
+ }
204
+ // ── Filter value type checking ──
205
+ function validateFilterValueType(value, colType, field, warnings) {
206
+ const checkSingle = (v) => {
207
+ if (colType === 'numeric' && typeof v === 'string' && isNaN(Number(v))) {
208
+ warnings.push(`Filter on numeric column "${field}" has non-numeric value: "${v}"`);
209
+ }
210
+ if (colType === 'boolean' && typeof v !== 'boolean') {
211
+ warnings.push(`Filter on boolean column "${field}" has non-boolean value: "${v}"`);
212
+ }
213
+ if ((colType === 'date' || colType === 'timestamp') && typeof v === 'string') {
214
+ if (isNaN(Date.parse(v))) {
215
+ warnings.push(`Filter on ${colType} column "${field}" has invalid date value: "${v}"`);
216
+ }
217
+ }
218
+ };
219
+ if (Array.isArray(value)) {
220
+ for (const item of value)
221
+ checkSingle(item);
222
+ }
223
+ else {
224
+ checkSingle(value);
225
+ }
226
+ }
227
+ // ── Cross-table join resolution ──
228
+ function resolveJoinGroupBy(dataset, joinTableName, joinColumn, catalog) {
229
+ if (!dataset.joins)
230
+ return null;
231
+ // Find a join definition that matches the target table
232
+ for (const joinDef of dataset.joins) {
233
+ // Match by table name (could be "products" matching join.table "products" or "public.products")
234
+ const joinTableParts = joinDef.table.split('.');
235
+ const bareJoinTable = joinTableParts[joinTableParts.length - 1];
236
+ if (bareJoinTable === joinTableName || joinDef.table === joinTableName) {
237
+ // Find the target dataset in the catalog to verify the column exists and is groupable
238
+ const targetDataset = Object.values(catalog.datasets).find(ds => ds.table.name === bareJoinTable || ds.id === joinTableName);
239
+ if (targetDataset) {
240
+ // Verify the column exists on the target table
241
+ if (!targetDataset.selectableColumns.includes(joinColumn)) {
242
+ throw new InferError('PLAN_INVALID', 'validator', `Column "${joinColumn}" does not exist on joined table "${joinTableName}"`);
243
+ }
244
+ // Verify it's groupable
245
+ const isGroupable = targetDataset.dimensions.some(d => d.column === joinColumn && d.groupable);
246
+ if (!isGroupable) {
247
+ throw new InferError('PLAN_INVALID', 'validator', `Column "${joinTableName}.${joinColumn}" is not groupable`);
248
+ }
249
+ return {
250
+ targetTable: targetDataset.table,
251
+ localColumn: joinDef.localColumn,
252
+ foreignColumn: joinDef.foreignColumn,
253
+ columns: [joinColumn],
254
+ type: joinDef.type,
255
+ };
256
+ }
257
+ // If target dataset isn't in catalog, still allow if join is defined
258
+ return {
259
+ targetTable: { schema: 'public', name: bareJoinTable },
260
+ localColumn: joinDef.localColumn,
261
+ foreignColumn: joinDef.foreignColumn,
262
+ columns: [joinColumn],
263
+ type: joinDef.type,
264
+ };
265
+ }
266
+ }
267
+ return null;
268
+ }
136
269
  //# sourceMappingURL=query-validator.js.map