nttp 1.1.0 → 1.2.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/README.md CHANGED
@@ -10,7 +10,7 @@ npm install nttp
10
10
 
11
11
  ## Quick Start with CLI (Recommended)
12
12
 
13
- The easiest way to get started is with our interactive setup wizard:
13
+ The easiest way to get started is with our **interactive setup wizard** (powered by [Ink](https://github.com/vadimdemedes/ink) for a beautiful CLI experience):
14
14
 
15
15
  ```bash
16
16
  npx nttp setup
@@ -245,7 +245,7 @@ NTTP works with any SQL database supported by Knex.js:
245
245
 
246
246
  ### `npx nttp setup`
247
247
 
248
- Interactive setup wizard with Vercel-inspired DX:
248
+ Beautiful interactive setup wizard (powered by Ink) with Vercel-inspired DX:
249
249
 
250
250
  - Choose database type (PostgreSQL, MySQL, SQLite, SQL Server)
251
251
  - Configure connection details
@@ -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":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Setup Wizard using Ink (React for CLIs)
3
+ */
4
+ import React from 'react';
5
+ export default function SetupWizard(): React.JSX.Element;
6
+ //# sourceMappingURL=SetupWizard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWizard.d.ts","sourceRoot":"","sources":["../../src/cli/SetupWizard.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAwDnD,MAAM,CAAC,OAAO,UAAU,WAAW,sBA+TlC"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Setup Wizard using Ink (React for CLIs)
3
+ */
4
+ import React, { useState, useEffect } from 'react';
5
+ import { Box, Text, Newline } from 'ink';
6
+ import TextInput from 'ink-text-input';
7
+ import SelectInput from 'ink-select-input';
8
+ import Spinner from 'ink-spinner';
9
+ import { execSync } from 'child_process';
10
+ import { writeFileSync } from 'fs';
11
+ const DATABASE_OPTIONS = [
12
+ { label: '🐘 PostgreSQL - Recommended for production', value: 'pg' },
13
+ { label: '🐬 MySQL - Popular and widely supported', value: 'mysql2' },
14
+ { label: '📁 SQLite - Perfect for development', value: 'better-sqlite3' },
15
+ { label: '🔷 SQL Server - Microsoft SQL Server', value: 'mssql' },
16
+ ];
17
+ const LLM_OPTIONS = [
18
+ { label: '🔮 Anthropic (Claude) - Best quality', value: 'anthropic' },
19
+ { label: '🌟 OpenAI (GPT-4) - Fast and reliable', value: 'openai' },
20
+ { label: '🧠 Cohere - Enterprise-focused', value: 'cohere' },
21
+ { label: '🚀 Mistral - Open and powerful', value: 'mistral' },
22
+ { label: '🏔️ Google (Gemini) - Multimodal AI', value: 'google' },
23
+ ];
24
+ const LLM_MODELS = {
25
+ anthropic: 'claude-sonnet-4-5-20250929',
26
+ openai: 'gpt-4o',
27
+ cohere: 'command-r-plus',
28
+ mistral: 'mistral-large-latest',
29
+ google: 'gemini-pro',
30
+ };
31
+ export default function SetupWizard() {
32
+ const [step, setStep] = useState('welcome');
33
+ const [config, setConfig] = useState({});
34
+ const [input, setInput] = useState('');
35
+ useEffect(() => {
36
+ // Show welcome for 1 second
37
+ if (step === 'welcome') {
38
+ const timer = setTimeout(() => setStep('database-type'), 1000);
39
+ return () => clearTimeout(timer);
40
+ }
41
+ // Auto-fill LLM model when provider is selected
42
+ if (step === 'llm-model' && config.llmProvider && !config.llmModel) {
43
+ setConfig((prev) => ({
44
+ ...prev,
45
+ llmModel: LLM_MODELS[config.llmProvider],
46
+ }));
47
+ }
48
+ return undefined;
49
+ }, [step, config]);
50
+ const handleDatabaseType = (item) => {
51
+ setConfig({ ...config, databaseType: item.value });
52
+ setStep('database-connection');
53
+ };
54
+ const handleDatabaseConnection = () => {
55
+ if (config.databaseType === 'better-sqlite3') {
56
+ setConfig({ ...config, databasePath: input || './database.db' });
57
+ }
58
+ else {
59
+ setConfig({ ...config, databaseUrl: input });
60
+ }
61
+ setInput('');
62
+ setStep('llm-provider');
63
+ };
64
+ const handleLLMProvider = (item) => {
65
+ setConfig({ ...config, llmProvider: item.value });
66
+ setStep('llm-model');
67
+ };
68
+ const handleLLMModel = () => {
69
+ setConfig({ ...config, llmModel: input || config.llmModel });
70
+ setInput('');
71
+ setStep('llm-api-key');
72
+ };
73
+ const handleLLMApiKey = () => {
74
+ setConfig({ ...config, llmApiKey: input });
75
+ setInput('');
76
+ setStep('l2-cache');
77
+ };
78
+ const handleL2Cache = (item) => {
79
+ setConfig({ ...config, enableL2Cache: item.value });
80
+ if (item.value) {
81
+ setStep('embedding-provider');
82
+ }
83
+ else {
84
+ setStep('installing');
85
+ installDependencies();
86
+ }
87
+ };
88
+ const handleEmbeddingProvider = (item) => {
89
+ setConfig({ ...config, embeddingProvider: item.value });
90
+ setStep('embedding-api-key');
91
+ };
92
+ const handleEmbeddingApiKey = () => {
93
+ setConfig({ ...config, embeddingApiKey: input });
94
+ setInput('');
95
+ setStep('installing');
96
+ installDependencies();
97
+ };
98
+ const installDependencies = () => {
99
+ setTimeout(() => {
100
+ try {
101
+ const dependencies = [
102
+ 'dotenv',
103
+ config.databaseType === 'pg'
104
+ ? 'pg'
105
+ : config.databaseType === 'mysql2'
106
+ ? 'mysql2'
107
+ : config.databaseType === 'better-sqlite3'
108
+ ? 'better-sqlite3'
109
+ : 'mssql',
110
+ '@ai-sdk/anthropic',
111
+ '@ai-sdk/openai',
112
+ ];
113
+ if (config.llmProvider === 'cohere')
114
+ dependencies.push('@ai-sdk/cohere');
115
+ if (config.llmProvider === 'mistral')
116
+ dependencies.push('@ai-sdk/mistral');
117
+ if (config.llmProvider === 'google')
118
+ dependencies.push('@ai-sdk/google-vertex');
119
+ execSync(`npm install ${dependencies.join(' ')}`, {
120
+ stdio: 'inherit',
121
+ });
122
+ // Generate .env
123
+ generateEnvFile(config);
124
+ generateExampleCode();
125
+ setStep('complete');
126
+ }
127
+ catch (error) {
128
+ console.error('Installation failed:', error);
129
+ process.exit(1);
130
+ }
131
+ }, 100);
132
+ };
133
+ return (React.createElement(Box, { flexDirection: "column", padding: 1 },
134
+ React.createElement(Box, { borderStyle: "round", borderColor: "cyan", padding: 1, marginBottom: 1 },
135
+ React.createElement(Text, { bold: true, color: "cyan" }, "nttp setup")),
136
+ step === 'welcome' && (React.createElement(Box, { flexDirection: "column" },
137
+ React.createElement(Text, { color: "gray" }, "Query databases with natural language"),
138
+ React.createElement(Text, { color: "gray" }, "Inspired by Vercel DX \u2728"),
139
+ React.createElement(Newline, null),
140
+ React.createElement(Text, null,
141
+ React.createElement(Spinner, { type: "dots" }),
142
+ " Initializing..."))),
143
+ step === 'database-type' && (React.createElement(Box, { flexDirection: "column" },
144
+ React.createElement(Text, { bold: true }, "\uD83D\uDDC4\uFE0F Database Configuration"),
145
+ React.createElement(Newline, null),
146
+ React.createElement(Text, null, "Which database?"),
147
+ React.createElement(SelectInput, { items: DATABASE_OPTIONS, onSelect: handleDatabaseType }))),
148
+ step === 'database-connection' && (React.createElement(Box, { flexDirection: "column" },
149
+ React.createElement(Text, null, config.databaseType === 'better-sqlite3'
150
+ ? 'SQLite database path:'
151
+ : `${config.databaseType === 'pg'
152
+ ? 'PostgreSQL'
153
+ : config.databaseType === 'mysql2'
154
+ ? 'MySQL'
155
+ : 'SQL Server'} connection URL:`),
156
+ React.createElement(Box, null,
157
+ React.createElement(Text, { color: "cyan" }, "> "),
158
+ React.createElement(TextInput, { value: input, onChange: setInput, onSubmit: handleDatabaseConnection, placeholder: config.databaseType === 'better-sqlite3'
159
+ ? './database.db'
160
+ : config.databaseType === 'pg'
161
+ ? 'postgresql://user:pass@localhost:5432/db'
162
+ : config.databaseType === 'mysql2'
163
+ ? 'mysql://user:pass@localhost:3306/db'
164
+ : 'Server=localhost;Database=db;User Id=sa;Password=pass;' })))),
165
+ step === 'llm-provider' && (React.createElement(Box, { flexDirection: "column" },
166
+ React.createElement(Text, { bold: true }, "\uD83E\uDD16 LLM Configuration"),
167
+ React.createElement(Newline, null),
168
+ React.createElement(Text, null, "Which LLM provider?"),
169
+ React.createElement(SelectInput, { items: LLM_OPTIONS, onSelect: handleLLMProvider }))),
170
+ step === 'llm-model' && (React.createElement(Box, { flexDirection: "column" },
171
+ React.createElement(Text, null, "Model name:"),
172
+ React.createElement(Box, null,
173
+ React.createElement(Text, { color: "cyan" }, "> "),
174
+ React.createElement(TextInput, { value: input, onChange: setInput, onSubmit: handleLLMModel, placeholder: config.llmModel })))),
175
+ step === 'llm-api-key' && (React.createElement(Box, { flexDirection: "column" },
176
+ React.createElement(Text, null,
177
+ config.llmProvider?.toUpperCase(),
178
+ "_API_KEY:"),
179
+ React.createElement(Box, null,
180
+ React.createElement(Text, { color: "cyan" }, "> "),
181
+ React.createElement(TextInput, { value: input, onChange: setInput, onSubmit: handleLLMApiKey, mask: "*" })))),
182
+ step === 'l2-cache' && (React.createElement(Box, { flexDirection: "column" },
183
+ React.createElement(Text, { bold: true }, "\u26A1 Performance (Optional)"),
184
+ React.createElement(Newline, null),
185
+ React.createElement(Text, null, "Enable semantic cache?"),
186
+ React.createElement(Text, { color: "gray" }, "(Faster queries, requires embedding API)"),
187
+ React.createElement(SelectInput, { items: [
188
+ { label: 'No', value: false },
189
+ { label: 'Yes', value: true },
190
+ ], onSelect: handleL2Cache }))),
191
+ step === 'embedding-provider' && (React.createElement(Box, { flexDirection: "column" },
192
+ React.createElement(Text, null, "Embedding provider:"),
193
+ React.createElement(SelectInput, { items: [
194
+ { label: 'OpenAI', value: 'openai' },
195
+ { label: 'Cohere', value: 'cohere' },
196
+ ], onSelect: handleEmbeddingProvider }))),
197
+ step === 'embedding-api-key' && (React.createElement(Box, { flexDirection: "column" },
198
+ React.createElement(Text, null,
199
+ config.embeddingProvider?.toUpperCase(),
200
+ "_API_KEY:"),
201
+ React.createElement(Box, null,
202
+ React.createElement(Text, { color: "cyan" }, "> "),
203
+ React.createElement(TextInput, { value: input, onChange: setInput, onSubmit: handleEmbeddingApiKey, mask: "*" })))),
204
+ step === 'installing' && (React.createElement(Box, { flexDirection: "column" },
205
+ React.createElement(Text, { bold: true }, "\uD83D\uDCE6 Installing dependencies..."),
206
+ React.createElement(Newline, null),
207
+ React.createElement(Text, { color: "gray" }, " \u2022 dotenv"),
208
+ React.createElement(Text, { color: "gray" },
209
+ " \u2022 ",
210
+ config.databaseType,
211
+ " (database driver)"),
212
+ React.createElement(Text, { color: "gray" }, " \u2022 @ai-sdk/anthropic & @ai-sdk/openai"),
213
+ React.createElement(Newline, null),
214
+ React.createElement(Text, null,
215
+ React.createElement(Spinner, { type: "dots" }),
216
+ " Running npm install..."))),
217
+ step === 'complete' && (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", padding: 1 },
218
+ React.createElement(Text, { bold: true, color: "green" }, "\u2713 Setup complete!"),
219
+ React.createElement(Newline, null),
220
+ React.createElement(Text, { bold: true }, "Installed:"),
221
+ React.createElement(Text, { color: "gray" },
222
+ " \u2022 ",
223
+ config.databaseType,
224
+ " database driver"),
225
+ React.createElement(Text, { color: "gray" }, " \u2022 @ai-sdk/anthropic & @ai-sdk/openai"),
226
+ React.createElement(Newline, null),
227
+ React.createElement(Text, { bold: true }, "Next steps:"),
228
+ React.createElement(Text, { color: "cyan" }, " 1. Review your .env file"),
229
+ React.createElement(Text, { color: "cyan" }, " 2. Run: node nttp-example.js"),
230
+ React.createElement(Text, { color: "cyan" }, " 3. Or try: npx nttp query \"show me 5 records\""),
231
+ React.createElement(Newline, null),
232
+ React.createElement(Text, { color: "gray" }, "Switch providers anytime by changing LLM_PROVIDER in .env")))));
233
+ }
234
+ function generateEnvFile(config) {
235
+ const lines = [
236
+ '# nttp configuration',
237
+ '# Generated by nttp setup',
238
+ '',
239
+ '# Database',
240
+ ];
241
+ if (config.databaseType === 'better-sqlite3') {
242
+ lines.push(`DATABASE_PATH=${config.databasePath}`);
243
+ }
244
+ else {
245
+ lines.push(`DATABASE_URL=${config.databaseUrl}`);
246
+ }
247
+ lines.push(`DATABASE_TYPE=${config.databaseType}`);
248
+ lines.push('');
249
+ lines.push('# LLM Provider');
250
+ lines.push(`LLM_PROVIDER=${config.llmProvider}`);
251
+ lines.push(`LLM_MODEL=${config.llmModel}`);
252
+ const envKeys = {
253
+ anthropic: 'ANTHROPIC_API_KEY',
254
+ openai: 'OPENAI_API_KEY',
255
+ cohere: 'COHERE_API_KEY',
256
+ mistral: 'MISTRAL_API_KEY',
257
+ google: 'GOOGLE_API_KEY',
258
+ };
259
+ lines.push(`${envKeys[config.llmProvider]}=${config.llmApiKey}`);
260
+ if (config.enableL2Cache && config.embeddingProvider) {
261
+ lines.push('');
262
+ lines.push('# Semantic Cache');
263
+ lines.push(`EMBEDDING_PROVIDER=${config.embeddingProvider}`);
264
+ lines.push(`${config.embeddingProvider.toUpperCase()}_API_KEY=${config.embeddingApiKey}`);
265
+ }
266
+ writeFileSync('.env', lines.join('\n') + '\n');
267
+ }
268
+ function generateExampleCode() {
269
+ const code = `import 'dotenv/config';
270
+ import { NTTP } from 'nttp';
271
+
272
+ async function main() {
273
+ // Load configuration from .env
274
+ const nttp = await NTTP.fromEnv();
275
+
276
+ console.log('✓ Connected to database');
277
+
278
+ // Run a natural language query
279
+ const result = await nttp.query('show me 5 records');
280
+
281
+ console.log(\`\\n✓ Query succeeded! Got \${result.data.length} rows\`);
282
+ console.log(\` Generated SQL: \${result.sql}\`);
283
+ console.log(\` Cache hit: \${result.cacheHit}\`);
284
+ console.log(\` Time: \${result.executionTimeMs}ms\\n\`);
285
+
286
+ // Display results
287
+ console.table(result.data);
288
+
289
+ // Cleanup
290
+ await nttp.close();
291
+ }
292
+
293
+ main().catch(console.error);
294
+ `;
295
+ writeFileSync('nttp-example.js', code);
296
+ }
297
+ //# sourceMappingURL=SetupWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupWizard.js","sourceRoot":"","sources":["../../src/cli/SetupWizard.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Quick project initialization
3
3
  */
4
+ import 'dotenv/config';
4
5
  export declare function runInit(): Promise<void>;
5
6
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAGvB,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7C"}
package/dist/cli/init.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Quick project initialization
3
3
  */
4
- import chalk from 'chalk';
5
- import { runSetup } from './setup.js';
4
+ import 'dotenv/config';
5
+ import { runSetup } from './setup-ink.js';
6
6
  export async function runInit() {
7
- console.log(chalk.bold.cyan('\n🚀 Initializing nttp in current project...\n'));
7
+ console.log('\n🚀 Initializing nttp in current project...\n');
8
8
  await runSetup();
9
9
  }
10
10
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC/E,MAAM,QAAQ,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,MAAM,QAAQ,EAAE,CAAC;AACnB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Execute queries from CLI
3
3
  */
4
+ import 'dotenv/config';
4
5
  export declare function runQuery(text: string, options: {
5
6
  format: 'json' | 'table';
6
7
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAKvB,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
package/dist/cli/query.js CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Execute queries from CLI
3
3
  */
4
+ import 'dotenv/config';
4
5
  import chalk from 'chalk';
5
6
  import ora from 'ora';
6
7
  import { NTTP } from '../NTTP.js';
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,OAAqC;IAErC,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7B,gBAAgB;QAChB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,CACb,mBAAmB,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,MAAM,CAAC,eAAe,KAAK,CAC7E,CAAC;QAEF,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,UAAU,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1E,CACF,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,OAAqC;IAErC,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7B,gBAAgB;QAChB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,CAAC,OAAO,CACb,mBAAmB,MAAM,CAAC,IAAI,CAAC,MAAM,YAAY,MAAM,CAAC,eAAe,KAAK,CAC7E,CAAC;QAEF,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,UAAU,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAC1E,CACF,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Setup command using Ink
3
+ */
4
+ export declare function runSetup(): Promise<void>;
5
+ //# sourceMappingURL=setup-ink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ink.d.ts","sourceRoot":"","sources":["../../src/cli/setup-ink.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9C"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Setup command using Ink
3
+ */
4
+ import React from 'react';
5
+ import { render } from 'ink';
6
+ import SetupWizard from './SetupWizard.js';
7
+ export async function runSetup() {
8
+ render(React.createElement(SetupWizard));
9
+ }
10
+ //# sourceMappingURL=setup-ink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-ink.js","sourceRoot":"","sources":["../../src/cli/setup-ink.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwDH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAoQ9C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwDH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA2R9C"}
package/dist/cli/setup.js CHANGED
@@ -209,20 +209,33 @@ export async function runSetup() {
209
209
  });
210
210
  config.embeddingApiKey = embeddingApiKey;
211
211
  }
212
- // Install dependencies
212
+ // Install dependencies (nttp is already installed since user ran npx nttp setup)
213
213
  console.log(chalk.bold('\n📦 Installing dependencies...\n'));
214
214
  const dependencies = [
215
- 'nttp',
216
215
  'dotenv',
217
216
  DATABASE_DRIVERS[databaseType].name,
218
- providerInfo.name,
217
+ '@ai-sdk/anthropic',
218
+ '@ai-sdk/openai',
219
219
  ];
220
- if (config.enableL2Cache && config.embeddingProvider === 'openai') {
221
- if (!dependencies.includes('@ai-sdk/openai')) {
222
- dependencies.push('@ai-sdk/openai');
223
- }
220
+ // Add other AI SDKs if selected
221
+ if (llmProvider === 'cohere') {
222
+ dependencies.push('@ai-sdk/cohere');
223
+ }
224
+ else if (llmProvider === 'mistral') {
225
+ dependencies.push('@ai-sdk/mistral');
226
+ }
227
+ else if (llmProvider === 'google') {
228
+ dependencies.push('@ai-sdk/google-vertex');
229
+ }
230
+ console.log(chalk.gray('Installing:'));
231
+ console.log(chalk.gray(` • dotenv`));
232
+ console.log(chalk.gray(` • ${DATABASE_DRIVERS[databaseType].name} (database driver)`));
233
+ console.log(chalk.gray(` • @ai-sdk/anthropic & @ai-sdk/openai (LLM providers)`));
234
+ if (dependencies.length > 4) {
235
+ console.log(chalk.gray(` • ${dependencies.slice(4).join(', ')}`));
224
236
  }
225
- const spinner = ora('Installing packages...').start();
237
+ console.log('');
238
+ const spinner = ora('Running npm install...').start();
226
239
  try {
227
240
  execSync(`npm install ${dependencies.join(' ')}`, {
228
241
  stdio: 'pipe',
@@ -247,6 +260,15 @@ export async function runSetup() {
247
260
  // Success message
248
261
  console.log(boxen(chalk.bold.green('✓ Setup complete!') +
249
262
  '\n\n' +
263
+ chalk.white('Installed:') +
264
+ '\n' +
265
+ chalk.gray(` • ${config.databaseType} database driver`) +
266
+ '\n' +
267
+ chalk.gray(' • @ai-sdk/anthropic & @ai-sdk/openai') +
268
+ (llmProvider !== 'anthropic' && llmProvider !== 'openai'
269
+ ? '\n' + chalk.gray(` • @ai-sdk/${llmProvider}`)
270
+ : '') +
271
+ '\n\n' +
250
272
  chalk.white('Next steps:') +
251
273
  '\n\n' +
252
274
  chalk.cyan(' 1. Review your .env file') +
@@ -255,6 +277,8 @@ export async function runSetup() {
255
277
  '\n' +
256
278
  chalk.cyan(' 3. Or try: npx nttp query "show me 5 records"') +
257
279
  '\n\n' +
280
+ chalk.gray('Switch providers anytime by changing LLM_PROVIDER in .env') +
281
+ '\n' +
258
282
  chalk.gray('Documentation: https://github.com/tylergibbs/nttp'), {
259
283
  padding: 1,
260
284
  margin: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -3,14 +3,14 @@
3
3
  * nttp CLI - Vercel-inspired developer experience
4
4
  */
5
5
  import { Command } from 'commander';
6
- import { runSetup } from './cli/setup.js';
6
+ import { runSetup } from './cli/setup-ink.js';
7
7
  import { runQuery } from './cli/query.js';
8
8
  import { runInit } from './cli/init.js';
9
9
  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.2.0');
14
14
  program
15
15
  .command('setup')
16
16
  .description('Interactive setup wizard')
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,OAAO,CAAC;KACpE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,OAAO,CAAC;KACpE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -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.2.0",
4
4
  "description": "natural text to query - Query databases with natural language",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,10 +49,16 @@
49
49
  "boxen": "^8.0.1",
50
50
  "chalk": "^5.6.2",
51
51
  "commander": "^14.0.2",
52
+ "dotenv": "^17.2.3",
53
+ "ink": "^6.6.0",
54
+ "ink-select-input": "^6.2.0",
55
+ "ink-spinner": "^5.0.0",
56
+ "ink-text-input": "^6.0.0",
52
57
  "knex": "^3.1.0",
53
58
  "knex-schema-inspector": "^3.1.0",
54
59
  "ora": "^9.0.0",
55
60
  "prompts": "^2.4.2",
61
+ "react": "^19.2.3",
56
62
  "zod": "^3.23.8",
57
63
  "zod-to-json-schema": "^3.23.0"
58
64
  },
@@ -95,6 +101,7 @@
95
101
  "devDependencies": {
96
102
  "@types/node": "^20.12.7",
97
103
  "@types/prompts": "^2.4.9",
104
+ "@types/react": "^19.2.7",
98
105
  "typescript": "^5.4.5"
99
106
  },
100
107
  "engines": {