superdb-mcp 0.51231.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.
@@ -0,0 +1,200 @@
1
+ import { spawnSync } from 'child_process';
2
+ /**
3
+ * Get the path to the super binary
4
+ */
5
+ export function getSuperPath() {
6
+ return process.env.SUPER_PATH || 'super';
7
+ }
8
+ /**
9
+ * Parse a Go pseudo-version string
10
+ * Format: v0.0.0-YYYYMMDDHHMMSS-SHA
11
+ * Example: v0.0.0-20250930170057-3b76fa645ee8
12
+ */
13
+ function parseGoPseudoVersion(raw) {
14
+ // Match Go pseudo-version: v0.0.0-YYYYMMDDHHMMSS-SHA
15
+ const pseudoMatch = raw.match(/v0\.0\.0-(\d{14})-([a-f0-9]+)/);
16
+ if (pseudoMatch) {
17
+ const timestamp = pseudoMatch[1]; // "20250930170057"
18
+ const sha = pseudoMatch[2]; // "3b76fa645ee8"
19
+ // Parse timestamp: YYYYMMDDHHMMSS
20
+ const year = parseInt(timestamp.slice(0, 4));
21
+ const month = parseInt(timestamp.slice(4, 6)) - 1;
22
+ const day = parseInt(timestamp.slice(6, 8));
23
+ const hour = parseInt(timestamp.slice(8, 10));
24
+ const minute = parseInt(timestamp.slice(10, 12));
25
+ const second = parseInt(timestamp.slice(12, 14));
26
+ const date = new Date(Date.UTC(year, month, day, hour, minute, second));
27
+ // Convert to YMMDD format (0.50930 for 2025-09-30)
28
+ // Y = last digit of year (5 for 2025), MMDD = month and day
29
+ const ymmdd = `0.${timestamp.slice(3, 4)}${timestamp.slice(4, 8)}`;
30
+ return { version: ymmdd, date, sha, timestamp };
31
+ }
32
+ // Try to match homebrew SHA-only version
33
+ const shaMatch = raw.match(/Version:\s*([a-f0-9]{7,40})/i);
34
+ if (shaMatch) {
35
+ return { version: `sha:${shaMatch[1]}`, date: null, sha: shaMatch[1], timestamp: null };
36
+ }
37
+ // Try to match semantic version
38
+ const semverMatch = raw.match(/v?(\d+\.\d+\.\d+)/);
39
+ if (semverMatch) {
40
+ return { version: semverMatch[1], date: null, sha: null, timestamp: null };
41
+ }
42
+ return { version: 'unknown', date: null, sha: null, timestamp: null };
43
+ }
44
+ /**
45
+ * Detect the SuperDB version from the configured binary
46
+ */
47
+ export function detectVersion(superPath) {
48
+ const path = superPath || getSuperPath();
49
+ const source = superPath
50
+ ? 'override'
51
+ : (process.env.SUPER_PATH ? 'env' : 'path');
52
+ try {
53
+ // Use spawnSync with array args to avoid shell injection
54
+ const result = spawnSync(path, ['--version'], {
55
+ encoding: 'utf-8',
56
+ timeout: 5000,
57
+ stdio: ['pipe', 'pipe', 'pipe']
58
+ });
59
+ if (result.error || result.status !== 0) {
60
+ return {
61
+ version: 'unknown',
62
+ raw: result.stderr || '',
63
+ date: null,
64
+ sha: null,
65
+ timestamp: null,
66
+ path,
67
+ source,
68
+ };
69
+ }
70
+ const output = result.stdout.trim();
71
+ const parsed = parseGoPseudoVersion(output);
72
+ return {
73
+ ...parsed,
74
+ raw: output,
75
+ path,
76
+ source,
77
+ };
78
+ }
79
+ catch {
80
+ return {
81
+ version: 'unknown',
82
+ raw: '',
83
+ date: null,
84
+ sha: null,
85
+ timestamp: null,
86
+ path,
87
+ source,
88
+ };
89
+ }
90
+ }
91
+ /**
92
+ * Parse a YMMDD version string to a Date
93
+ * Format: 0.YMMDD (e.g., 0.51231 = 2025-12-31)
94
+ */
95
+ export function parseYMMDDVersion(version) {
96
+ const match = version.match(/^0\.(\d)(\d{2})(\d{2})$/);
97
+ if (!match)
98
+ return null;
99
+ const year = 2020 + parseInt(match[1]);
100
+ const month = parseInt(match[2]) - 1;
101
+ const day = parseInt(match[3]);
102
+ return new Date(Date.UTC(year, month, day));
103
+ }
104
+ /**
105
+ * Compare two version strings
106
+ * Returns: -1 if a < b, 0 if a == b, 1 if a > b
107
+ */
108
+ export function compareVersions(a, b) {
109
+ // Handle SHA-only versions (can't compare)
110
+ if (a.startsWith('sha:') || b.startsWith('sha:')) {
111
+ return 0; // Can't compare SHAs meaningfully
112
+ }
113
+ // Try to parse as YMMDD
114
+ const dateA = parseYMMDDVersion(a);
115
+ const dateB = parseYMMDDVersion(b);
116
+ if (dateA && dateB) {
117
+ const diff = dateA.getTime() - dateB.getTime();
118
+ if (diff < 0)
119
+ return -1;
120
+ if (diff > 0)
121
+ return 1;
122
+ return 0;
123
+ }
124
+ // Fallback to string comparison
125
+ if (a < b)
126
+ return -1;
127
+ if (a > b)
128
+ return 1;
129
+ return 0;
130
+ }
131
+ /**
132
+ * Check if the current version is at least the required version
133
+ */
134
+ export function isVersionAtLeast(required, current) {
135
+ const currentVersion = current || detectVersion().version;
136
+ return compareVersions(currentVersion, required) >= 0;
137
+ }
138
+ /**
139
+ * Compare two SuperDB versions and return detailed info
140
+ */
141
+ export function compareVersionInfo(currentPath, compareToPath) {
142
+ const current = detectVersion(currentPath);
143
+ const compareTo = detectVersion(compareToPath);
144
+ let daysDiff = 0;
145
+ if (current.date && compareTo.date) {
146
+ daysDiff = Math.round((current.date.getTime() - compareTo.date.getTime()) / (1000 * 60 * 60 * 24));
147
+ }
148
+ const currentIsNewer = compareVersions(current.version, compareTo.version) > 0;
149
+ const warnings = [];
150
+ // Warn if versions are far apart
151
+ if (Math.abs(daysDiff) > 30) {
152
+ warnings.push(`Versions are ${Math.abs(daysDiff)} days apart. Syntax may have changed.`);
153
+ }
154
+ // Warn if comparing SHA versions
155
+ if (current.version.startsWith('sha:') || compareTo.version.startsWith('sha:')) {
156
+ warnings.push('SHA-only versions detected. Cannot determine relative ordering.');
157
+ }
158
+ return {
159
+ current,
160
+ compareTo,
161
+ daysDiff,
162
+ currentIsNewer,
163
+ compatible: Math.abs(daysDiff) <= 7, // Within a week
164
+ warnings,
165
+ };
166
+ }
167
+ /**
168
+ * Read version from embedded docs frontmatter
169
+ */
170
+ export function getDocsVersion() {
171
+ // This would read from the bundled docs
172
+ // For now, return the version we embedded
173
+ return '0.51231';
174
+ }
175
+ /**
176
+ * Check compatibility between runtime and docs
177
+ */
178
+ export function checkDocsCompatibility() {
179
+ const runtime = detectVersion();
180
+ const docs = getDocsVersion();
181
+ const warnings = [];
182
+ let compatible = true;
183
+ if (runtime.version === 'unknown') {
184
+ warnings.push('Could not detect SuperDB version. Some features may not work.');
185
+ compatible = false;
186
+ }
187
+ else if (runtime.version !== docs && !runtime.version.startsWith('sha:')) {
188
+ const comparison = compareVersions(runtime.version, docs);
189
+ if (comparison < 0) {
190
+ warnings.push(`Runtime (${runtime.version}) is older than docs (${docs}). ` +
191
+ `Some documented features may not be available.`);
192
+ }
193
+ else {
194
+ warnings.push(`Runtime (${runtime.version}) is newer than docs (${docs}). ` +
195
+ `Some new features may not be documented.`);
196
+ }
197
+ }
198
+ return { runtime, docs, compatible, warnings };
199
+ }
200
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export interface DbListResult {
2
+ success: boolean;
3
+ pools: unknown[];
4
+ error: string | null;
5
+ }
6
+ export interface DbQueryParams {
7
+ query: string;
8
+ pool?: string;
9
+ lake?: string;
10
+ format?: 'json' | 'sup' | 'csv' | 'table';
11
+ }
12
+ export interface DbQueryResult {
13
+ success: boolean;
14
+ data: unknown[] | null;
15
+ rowCount: number;
16
+ raw?: string;
17
+ error: string | null;
18
+ }
19
+ export interface DbLoadParams {
20
+ pool: string;
21
+ files?: string[];
22
+ data?: string;
23
+ lake?: string;
24
+ }
25
+ export interface DbLoadResult {
26
+ success: boolean;
27
+ message: string;
28
+ error: string | null;
29
+ }
30
+ export interface DbCreatePoolParams {
31
+ name: string;
32
+ orderBy?: string;
33
+ lake?: string;
34
+ }
35
+ export interface DbCreatePoolResult {
36
+ success: boolean;
37
+ message: string;
38
+ error: string | null;
39
+ }
40
+ /**
41
+ * List all pools in a database
42
+ */
43
+ export declare function superDbList(lake?: string): Promise<DbListResult>;
44
+ /**
45
+ * Query data from a database pool
46
+ */
47
+ export declare function superDbQuery(params: DbQueryParams): Promise<DbQueryResult>;
48
+ /**
49
+ * Load data into a pool
50
+ */
51
+ export declare function superDbLoad(params: DbLoadParams): Promise<DbLoadResult>;
52
+ /**
53
+ * Create a new pool
54
+ */
55
+ export declare function superDbCreatePool(params: DbCreatePoolParams): Promise<DbCreatePoolResult>;
56
+ //# sourceMappingURL=db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/tools/db.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkBtE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA8DhF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAqD7E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0B/F"}
@@ -0,0 +1,159 @@
1
+ import { runSuperDb, parseNDJSON } from '../lib/super.js';
2
+ /**
3
+ * List all pools in a database
4
+ */
5
+ export async function superDbList(lake) {
6
+ const result = await runSuperDb('ls', [], lake);
7
+ if (result.exitCode !== 0) {
8
+ return {
9
+ success: false,
10
+ pools: [],
11
+ error: result.stderr.trim() || 'Failed to list pools',
12
+ };
13
+ }
14
+ // super db ls outputs pool names, one per line
15
+ const pools = result.stdout.trim().split('\n').filter(Boolean);
16
+ return {
17
+ success: true,
18
+ pools,
19
+ error: null,
20
+ };
21
+ }
22
+ /**
23
+ * Query data from a database pool
24
+ */
25
+ export async function superDbQuery(params) {
26
+ const { query, pool, lake, format = 'json' } = params;
27
+ const args = [];
28
+ // Output format
29
+ if (format === 'json') {
30
+ args.push('-j');
31
+ }
32
+ else if (format === 'sup') {
33
+ args.push('-s');
34
+ }
35
+ else if (format === 'csv') {
36
+ args.push('-f', 'csv');
37
+ }
38
+ else if (format === 'table') {
39
+ args.push('-f', 'table');
40
+ }
41
+ // Query - if pool specified, prepend FROM clause
42
+ let fullQuery = query;
43
+ if (pool && !query.toLowerCase().includes('from')) {
44
+ fullQuery = `from ${pool} | ${query}`;
45
+ }
46
+ args.push('-c', fullQuery);
47
+ const result = await runSuperDb('query', args, lake);
48
+ if (result.exitCode !== 0) {
49
+ return {
50
+ success: false,
51
+ data: null,
52
+ rowCount: 0,
53
+ error: result.stderr.trim() || 'Query failed',
54
+ };
55
+ }
56
+ if (format === 'json') {
57
+ try {
58
+ const parsed = parseNDJSON(result.stdout);
59
+ return {
60
+ success: true,
61
+ data: parsed,
62
+ rowCount: parsed.length,
63
+ error: null,
64
+ };
65
+ }
66
+ catch {
67
+ return {
68
+ success: true,
69
+ data: null,
70
+ rowCount: 0,
71
+ raw: result.stdout,
72
+ error: null,
73
+ };
74
+ }
75
+ }
76
+ else {
77
+ return {
78
+ success: true,
79
+ data: null,
80
+ rowCount: 0,
81
+ raw: result.stdout,
82
+ error: null,
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Load data into a pool
88
+ */
89
+ export async function superDbLoad(params) {
90
+ const { pool, files, data, lake } = params;
91
+ const args = [pool];
92
+ if (files && files.length > 0) {
93
+ args.push(...files);
94
+ }
95
+ else if (data !== undefined) {
96
+ args.push('-');
97
+ }
98
+ // For stdin data, we need a different approach
99
+ // runSuperDb doesn't support stdin, so we use runSuper directly
100
+ if (data !== undefined) {
101
+ const { runSuper } = await import('../lib/super.js');
102
+ const fullArgs = ['db', 'load'];
103
+ if (lake) {
104
+ fullArgs.push('-lake', lake);
105
+ }
106
+ fullArgs.push(pool, '-');
107
+ const result = await runSuper(fullArgs, data);
108
+ if (result.exitCode !== 0) {
109
+ return {
110
+ success: false,
111
+ message: '',
112
+ error: result.stderr.trim() || 'Failed to load data',
113
+ };
114
+ }
115
+ return {
116
+ success: true,
117
+ message: result.stdout.trim() || 'Data loaded successfully',
118
+ error: null,
119
+ };
120
+ }
121
+ const result = await runSuperDb('load', args, lake);
122
+ if (result.exitCode !== 0) {
123
+ return {
124
+ success: false,
125
+ message: '',
126
+ error: result.stderr.trim() || 'Failed to load data',
127
+ };
128
+ }
129
+ return {
130
+ success: true,
131
+ message: result.stdout.trim() || 'Data loaded successfully',
132
+ error: null,
133
+ };
134
+ }
135
+ /**
136
+ * Create a new pool
137
+ */
138
+ export async function superDbCreatePool(params) {
139
+ const { name, orderBy, lake } = params;
140
+ const args = [];
141
+ if (orderBy) {
142
+ args.push('-orderby', orderBy);
143
+ }
144
+ args.push(name);
145
+ const result = await runSuperDb('create', args, lake);
146
+ if (result.exitCode !== 0) {
147
+ return {
148
+ success: false,
149
+ message: '',
150
+ error: result.stderr.trim() || 'Failed to create pool',
151
+ };
152
+ }
153
+ return {
154
+ success: true,
155
+ message: `Pool '${name}' created successfully`,
156
+ error: null,
157
+ };
158
+ }
159
+ //# sourceMappingURL=db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/tools/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { VersionInfo, VersionComparison } from '../lib/version.js';
2
+ export interface LspSetup {
3
+ recommendation: string;
4
+ benefits: string[];
5
+ releases_url: string;
6
+ platforms: Record<string, string>;
7
+ install_steps: string[];
8
+ env_var: string;
9
+ }
10
+ export interface InfoResult {
11
+ success: boolean;
12
+ runtime: VersionInfo;
13
+ docs_version: string;
14
+ lsp_available: boolean;
15
+ lsp_path: string | null;
16
+ lsp_setup: LspSetup | null;
17
+ compatibility: {
18
+ runtime_docs_match: boolean;
19
+ warnings: string[];
20
+ };
21
+ error: string | null;
22
+ }
23
+ export interface CompareResult {
24
+ success: boolean;
25
+ comparison: VersionComparison | null;
26
+ error: string | null;
27
+ }
28
+ export interface HelpResult {
29
+ success: boolean;
30
+ topic: string;
31
+ content: string;
32
+ error: string | null;
33
+ }
34
+ export interface CompatTestResult {
35
+ success: boolean;
36
+ query: string;
37
+ results: Array<{
38
+ path: string;
39
+ version: string;
40
+ success: boolean;
41
+ output?: string;
42
+ error?: string;
43
+ }>;
44
+ breaking_change_detected: boolean;
45
+ error: string | null;
46
+ }
47
+ /**
48
+ * Get SuperDB version and environment info
49
+ */
50
+ export declare function superInfo(compareTo?: string): InfoResult;
51
+ /**
52
+ * Compare two SuperDB versions
53
+ */
54
+ export declare function superCompare(currentPath?: string, compareToPath?: string): CompareResult;
55
+ /**
56
+ * Get help documentation
57
+ */
58
+ export declare function superHelp(topic: string): HelpResult;
59
+ /**
60
+ * Test query compatibility across multiple super versions
61
+ */
62
+ export declare function superTestCompat(query: string, versions: string[]): Promise<CompatTestResult>;
63
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/tools/info.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,WAAW,EACX,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE;QACb,kBAAkB,EAAE,OAAO,CAAC;QAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAiFxD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,CAexF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAmCnD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAmE3B"}