nttp 1.1.0 → 1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"NTTP.d.ts","sourceRoot":"","sources":["../src/NTTP.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAOpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,IAAI;IAaH,OAAO,CAAC,MAAM;IAZ1B,OAAO,CAAC,EAAE,CAAO;IACjB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAkE;IAGpF,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAgB;gBAEZ,MAAM,EAAE,UAAU;IA8BtC;;;;;;;;;;OAUG;WACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsErC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;;;;;OAQG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAqB5E;;;;;;;;;OASG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;KACvC,CAAC;IAmBF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIhD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIxE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IA4B1C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAIvD;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAW9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;YACW,eAAe;CAW9B"}
1
+ {"version":3,"file":"NTTP.d.ts","sourceRoot":"","sources":["../src/NTTP.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,UAAU,EACX,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,IAAI;IAaH,OAAO,CAAC,MAAM;IAZ1B,OAAO,CAAC,EAAE,CAAO;IACjB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAkE;IAGpF,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAgB;gBAEZ,MAAM,EAAE,UAAU;IA+CtC;;;;;;;;;;OAUG;WACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAsErC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;;;;;OAQG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAqB5E;;;;;;;;;OASG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;KACvC,CAAC;IAmBF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIhD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIxE;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IA4B1C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpC;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAIvD;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAW9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;YACW,eAAe;CAW9B"}
package/dist/NTTP.js CHANGED
@@ -9,6 +9,7 @@ import { LLMService } from './llm.js';
9
9
  import { IntentParser } from './intent.js';
10
10
  import { QueryExecutor } from './executor.js';
11
11
  import { ExactCache, SemanticCache } from './cache/index.js';
12
+ import { validateDatabaseClient, validateConnection, validateLLMConfig, } from './validation.js';
12
13
  /**
13
14
  * nttp - natural text to query
14
15
  *
@@ -50,8 +51,20 @@ export class NTTP {
50
51
  l2Cache;
51
52
  constructor(config) {
52
53
  this.config = config;
54
+ // Validate configuration
55
+ const validatedClient = validateDatabaseClient(config.database.client);
56
+ validateConnection(validatedClient, config.database.connection || config.database.filename);
57
+ validateLLMConfig(config.llm);
58
+ // Normalize client name
59
+ const normalizedConfig = {
60
+ ...config,
61
+ database: {
62
+ ...config.database,
63
+ client: validatedClient,
64
+ },
65
+ };
53
66
  // Initialize Knex
54
- this.db = knex(config.database);
67
+ this.db = knex(normalizedConfig.database);
55
68
  // Initialize schema inspector
56
69
  this.inspector = SchemaInspector(this.db);
57
70
  // Initialize services
package/dist/NTTP.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"NTTP.js","sourceRoot":"","sources":["../src/NTTP.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NTTP.js","sourceRoot":"","sources":["../src/NTTP.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAiB,MAAM,MAAM,CAAC;AACrC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASxD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,IAAI;IAaK;IAZZ,EAAE,CAAO;IACT,SAAS,CAAqC;IAC9C,KAAK,CAAc;IACnB,GAAG,CAAa;IAChB,YAAY,CAAe;IAC3B,QAAQ,CAAgB;IACxB,UAAU,GAA+D,EAAE,CAAC;IAEpF,iBAAiB;IACT,OAAO,CAAc;IACrB,OAAO,CAAiB;IAEhC,YAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QACpC,yBAAyB;QACzB,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC;QACjF,kBAAkB,CAChB,eAAe,EACd,MAAM,CAAC,QAAgB,CAAC,UAAU,IAAK,MAAM,CAAC,QAAgB,CAAC,QAAQ,CACzE,CAAC;QACF,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE9B,wBAAwB;QACxB,MAAM,gBAAgB,GAAG;YACvB,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB,MAAM,EAAE,eAAe;aACxB;SACF,CAAC;QAEF,kBAAkB;QAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE1C,8BAA8B;QAC9B,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/C,4BAA4B;QAC5B,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAC/B,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO;QAClB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC;QACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAE/C,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,WAAW,CAAkC,CAAC;QAC/F,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,4BAA4B,CAAC;QAEvE,gCAAgC;QAChC,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACxC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YAClC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YAClC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YACpC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;SACnC,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,MAAM,GAAe;YACzB,QAAQ,EAAE,YAAY;gBACpB,CAAC,CAAC;oBACE,MAAM,EAAE,gBAAgB;oBACxB,UAAU,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;iBACvC;gBACH,CAAC,CAAC;oBACE,MAAM,EAAE,YAAmB;oBAC3B,UAAU,EAAE,WAAW;iBACxB;YACL,GAAG,EAAE;gBACH,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,SAAS;aAClB;SACF,CAAC;QAEF,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACzD,IAAI,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,eAAe,GACnB,iBAAiB,KAAK,QAAQ;gBAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;gBAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YAEjC,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,GAAG;oBACb,EAAE,EAAE;wBACF,QAAQ,EAAE,iBAAiB;wBAC3B,KAAK,EACH,iBAAiB,KAAK,QAAQ;4BAC5B,CAAC,CAAC,wBAAwB;4BAC1B,CAAC,CAAC,oBAAoB;wBAC1B,MAAM,EAAE,eAAe;qBACxB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,2BAA2B;QAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE9B,qBAAqB;QACrB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAwB,EAAE;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAEjF,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzC,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;YAC/C,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,EAAE;SAC/C,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM;YACT,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACxC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa;QAQzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,iCAAiC;QACjC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAEnF,OAAO;YACL,KAAK;YACL,MAAM;YACN,GAAG;YACH,MAAM;YACN,QAAQ;YACR,YAAY,EAAE,MAAM,IAAI,IAAI;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAE5E,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAE/B,yBAAyB;QACzB,yBAAyB;QACzB,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;QAE3D,OAAO;YACL,EAAE,EAAE,OAAO;YACX,EAAE,EAAE,OAAO;YACX,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACtB,YAAY;YACZ,QAAQ,EAAE;gBACR,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChD,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChD,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;aAClD;YACD,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,MAAM,KAAK,GAAa,CAAC,oBAAoB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAE9E,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;gBACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC5C,WAAW,EAAE,UAAU,KAAK,EAAE;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
package/dist/cli.js CHANGED
@@ -10,7 +10,7 @@ const program = new Command();
10
10
  program
11
11
  .name('nttp')
12
12
  .description('Query databases with natural language')
13
- .version('1.1.0');
13
+ .version('1.1.1');
14
14
  program
15
15
  .command('setup')
16
16
  .description('Interactive setup wizard')
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Configuration validation and helpful error messages
3
+ */
4
+ /**
5
+ * Valid Knex client names
6
+ */
7
+ declare const VALID_CLIENTS: readonly ["pg", "mysql2", "better-sqlite3", "mssql"];
8
+ /**
9
+ * Validate and normalize database client name
10
+ */
11
+ export declare function validateDatabaseClient(client: string | undefined): typeof VALID_CLIENTS[number];
12
+ /**
13
+ * Validate connection configuration
14
+ */
15
+ export declare function validateConnection(client: string, connection: string | object | undefined): void;
16
+ /**
17
+ * Validate LLM configuration
18
+ */
19
+ export declare function validateLLMConfig(config: {
20
+ provider?: string;
21
+ model?: string;
22
+ apiKey?: string;
23
+ }): void;
24
+ export {};
25
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,QAAA,MAAM,aAAa,sDAAuD,CAAC;AAe3E;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,aAAa,CAAC,MAAM,CAAC,CAqC9B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GACtC,IAAI,CA4BN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAyCP"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Configuration validation and helpful error messages
3
+ */
4
+ /**
5
+ * Valid Knex client names
6
+ */
7
+ const VALID_CLIENTS = ['pg', 'mysql2', 'better-sqlite3', 'mssql'];
8
+ /**
9
+ * Common mistakes and their corrections
10
+ */
11
+ const CLIENT_ALIASES = {
12
+ postgres: 'pg',
13
+ postgresql: 'pg',
14
+ sqlite: 'better-sqlite3',
15
+ sqlite3: 'better-sqlite3',
16
+ mysql: 'mysql2',
17
+ sqlserver: 'mssql',
18
+ 'sql-server': 'mssql',
19
+ };
20
+ /**
21
+ * Validate and normalize database client name
22
+ */
23
+ export function validateDatabaseClient(client) {
24
+ if (!client) {
25
+ throw new Error('Database client is required. Valid options: pg, mysql2, better-sqlite3, mssql\n' +
26
+ '💡 Tip: Run "npx nttp setup" for interactive configuration');
27
+ }
28
+ // Check if it's already valid
29
+ if (VALID_CLIENTS.includes(client)) {
30
+ return client;
31
+ }
32
+ // Check for common aliases
33
+ const normalized = CLIENT_ALIASES[client.toLowerCase()];
34
+ if (normalized) {
35
+ console.warn(`⚠️ Database client "${client}" is not valid. Using "${normalized}" instead.\n` +
36
+ ` 💡 Tip: Use "${normalized}" directly to avoid this warning.`);
37
+ return normalized;
38
+ }
39
+ // Invalid client - provide helpful error
40
+ throw new Error(`Invalid database client: "${client}"\n\n` +
41
+ `Valid options:\n` +
42
+ ` - "pg" (PostgreSQL)\n` +
43
+ ` - "mysql2" (MySQL)\n` +
44
+ ` - "better-sqlite3" (SQLite)\n` +
45
+ ` - "mssql" (SQL Server)\n\n` +
46
+ `Common mistakes:\n` +
47
+ ` - Use "pg" not "postgres" or "postgresql"\n` +
48
+ ` - Use "better-sqlite3" not "sqlite" or "sqlite3"\n` +
49
+ ` - Use "mysql2" not "mysql"\n\n` +
50
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
51
+ }
52
+ /**
53
+ * Validate connection configuration
54
+ */
55
+ export function validateConnection(client, connection) {
56
+ if (!connection) {
57
+ throw new Error(`Database connection is required for ${client}\n` +
58
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
59
+ }
60
+ // Validate connection string format
61
+ if (typeof connection === 'string') {
62
+ if (client === 'pg') {
63
+ if (!connection.startsWith('postgres://') && !connection.startsWith('postgresql://')) {
64
+ throw new Error(`PostgreSQL connection string must start with "postgresql://" or "postgres://"\n` +
65
+ `Got: ${connection.substring(0, 20)}...\n\n` +
66
+ `Example: postgresql://user:pass@localhost:5432/dbname\n` +
67
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
68
+ }
69
+ }
70
+ else if (client === 'mysql2') {
71
+ if (!connection.startsWith('mysql://')) {
72
+ console.warn(`⚠️ MySQL connection string should start with "mysql://"\n` +
73
+ ` Got: ${connection.substring(0, 20)}...`);
74
+ }
75
+ }
76
+ }
77
+ }
78
+ /**
79
+ * Validate LLM configuration
80
+ */
81
+ export function validateLLMConfig(config) {
82
+ const validProviders = ['anthropic', 'openai', 'cohere', 'mistral', 'google'];
83
+ if (!config.provider) {
84
+ throw new Error('LLM provider is required\n' +
85
+ `Valid options: ${validProviders.join(', ')}\n` +
86
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
87
+ }
88
+ if (!validProviders.includes(config.provider)) {
89
+ throw new Error(`Invalid LLM provider: "${config.provider}"\n` +
90
+ `Valid options: ${validProviders.join(', ')}\n` +
91
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
92
+ }
93
+ if (!config.model) {
94
+ throw new Error(`LLM model is required for ${config.provider}\n` +
95
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
96
+ }
97
+ if (!config.apiKey) {
98
+ const envKeyMap = {
99
+ anthropic: 'ANTHROPIC_API_KEY',
100
+ openai: 'OPENAI_API_KEY',
101
+ cohere: 'COHERE_API_KEY',
102
+ mistral: 'MISTRAL_API_KEY',
103
+ google: 'GOOGLE_API_KEY',
104
+ };
105
+ throw new Error(`API key is required for ${config.provider}\n` +
106
+ `Please set ${envKeyMap[config.provider]} environment variable\n` +
107
+ `💡 Tip: Run "npx nttp setup" for interactive configuration`);
108
+ }
109
+ }
110
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nttp",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "natural text to query - Query databases with natural language",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",