@paparats/cli 0.3.2 → 0.4.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/commands/edit.d.ts +30 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +131 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/groups.d.ts.map +1 -1
- package/dist/commands/groups.js +1 -1
- package/dist/commands/groups.js.map +1 -1
- package/dist/commands/install.d.ts +64 -21
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +337 -294
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/lifecycle.d.ts +17 -0
- package/dist/commands/lifecycle.d.ts.map +1 -0
- package/dist/commands/lifecycle.js +86 -0
- package/dist/commands/lifecycle.js.map +1 -0
- package/dist/commands/projects.d.ts +81 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +321 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/docker-compose-generator.d.ts +30 -24
- package/dist/docker-compose-generator.d.ts.map +1 -1
- package/dist/docker-compose-generator.js +58 -81
- package/dist/docker-compose-generator.js.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/projects-yml.d.ts +95 -0
- package/dist/projects-yml.d.ts.map +1 -0
- package/dist/projects-yml.js +157 -0
- package/dist/projects-yml.js.map +1 -0
- package/package.json +2 -2
- package/dist/commands/index-cmd.d.ts +0 -75
- package/dist/commands/index-cmd.d.ts.map +0 -1
- package/dist/commands/index-cmd.js +0 -240
- package/dist/commands/index-cmd.js.map +0 -1
- package/dist/commands/init.d.ts +0 -28
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -316
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/watch.d.ts +0 -33
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -358
- package/dist/commands/watch.js.map +0 -1
- package/dist/lsp-installers.d.ts +0 -28
- package/dist/lsp-installers.d.ts.map +0 -1
- package/dist/lsp-installers.js +0 -125
- package/dist/lsp-installers.js.map +0 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import yaml from 'js-yaml';
|
|
5
|
+
import { DEFAULT_GROUP } from '@paparats/shared';
|
|
6
|
+
import { generateCompose, } from './docker-compose-generator.js';
|
|
7
|
+
export const PAPARATS_HOME = path.join(os.homedir(), '.paparats');
|
|
8
|
+
/** Current name. Used by all reads after install. */
|
|
9
|
+
export const PROJECTS_YML = 'projects.yml';
|
|
10
|
+
/** Legacy name from paparats < 0.4. Read as fallback; auto-renamed by `paparats install`. */
|
|
11
|
+
export const LEGACY_PROJECTS_YML = 'paparats-indexer.yml';
|
|
12
|
+
export const COMPOSE_YML = 'docker-compose.yml';
|
|
13
|
+
export const INSTALL_STATE = 'install.json';
|
|
14
|
+
/**
|
|
15
|
+
* Migrate the legacy projects file to the new name if needed. Returns true iff
|
|
16
|
+
* the rename actually happened. Idempotent: no-op when projects.yml already
|
|
17
|
+
* exists or the legacy file doesn't.
|
|
18
|
+
*/
|
|
19
|
+
export function migrateLegacyProjectsFile(home = PAPARATS_HOME) {
|
|
20
|
+
const next = path.join(home, PROJECTS_YML);
|
|
21
|
+
const legacy = path.join(home, LEGACY_PROJECTS_YML);
|
|
22
|
+
if (fs.existsSync(next))
|
|
23
|
+
return false;
|
|
24
|
+
if (!fs.existsSync(legacy))
|
|
25
|
+
return false;
|
|
26
|
+
fs.renameSync(legacy, next);
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the current projects file path, preferring the new name and falling
|
|
31
|
+
* back to the legacy one. Returns null if neither exists.
|
|
32
|
+
*/
|
|
33
|
+
export function resolveProjectsFilePath(home = PAPARATS_HOME) {
|
|
34
|
+
const next = path.join(home, PROJECTS_YML);
|
|
35
|
+
if (fs.existsSync(next))
|
|
36
|
+
return next;
|
|
37
|
+
const legacy = path.join(home, LEGACY_PROJECTS_YML);
|
|
38
|
+
if (fs.existsSync(legacy))
|
|
39
|
+
return legacy;
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/** Read ~/.paparats/install.json — captured by `paparats install` so that
|
|
43
|
+
* `add`/`remove`/`edit projects` can regenerate compose with the same flags. */
|
|
44
|
+
export function readInstallState(home = PAPARATS_HOME) {
|
|
45
|
+
const file = path.join(home, INSTALL_STATE);
|
|
46
|
+
if (!fs.existsSync(file))
|
|
47
|
+
return null;
|
|
48
|
+
try {
|
|
49
|
+
const raw = fs.readFileSync(file, 'utf8');
|
|
50
|
+
return JSON.parse(raw);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export function writeInstallState(state, home = PAPARATS_HOME) {
|
|
57
|
+
const file = path.join(home, INSTALL_STATE);
|
|
58
|
+
fs.mkdirSync(home, { recursive: true });
|
|
59
|
+
fs.writeFileSync(file, JSON.stringify(state, null, 2) + '\n');
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read the projects file from disk. Prefers the new name (projects.yml);
|
|
63
|
+
* falls back to the legacy paparats-indexer.yml if only that exists.
|
|
64
|
+
* Returns an empty file shape if neither is present.
|
|
65
|
+
*/
|
|
66
|
+
export function readProjectsFile(home = PAPARATS_HOME) {
|
|
67
|
+
const file = resolveProjectsFilePath(home);
|
|
68
|
+
if (!file)
|
|
69
|
+
return { repos: [] };
|
|
70
|
+
const raw = fs.readFileSync(file, 'utf8');
|
|
71
|
+
const parsed = yaml.load(raw, { schema: yaml.JSON_SCHEMA });
|
|
72
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
73
|
+
throw new Error(`Invalid ${file}: expected a YAML object`);
|
|
74
|
+
}
|
|
75
|
+
const obj = parsed;
|
|
76
|
+
const repos = Array.isArray(obj['repos']) ? obj['repos'] : [];
|
|
77
|
+
const defaults = obj['defaults'];
|
|
78
|
+
return defaults ? { defaults, repos } : { repos };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Atomically write the projects file. Always writes to the new name —
|
|
82
|
+
* callers that want to migrate a legacy file should call
|
|
83
|
+
* `migrateLegacyProjectsFile` first.
|
|
84
|
+
*/
|
|
85
|
+
export function writeProjectsFile(file, home = PAPARATS_HOME) {
|
|
86
|
+
const target = path.join(home, PROJECTS_YML);
|
|
87
|
+
const tmp = `${target}.tmp`;
|
|
88
|
+
const out = HEADER +
|
|
89
|
+
yaml.dump(file, { lineWidth: 120, noRefs: true, quotingType: "'", forceQuotes: false });
|
|
90
|
+
fs.mkdirSync(home, { recursive: true });
|
|
91
|
+
fs.writeFileSync(tmp, out);
|
|
92
|
+
fs.renameSync(tmp, target);
|
|
93
|
+
}
|
|
94
|
+
const HEADER = `# paparats-mcp — project list (read by indexer at /config/projects.yml)
|
|
95
|
+
# Edit this file or use: paparats add | paparats remove | paparats edit projects
|
|
96
|
+
# The indexer hot-reloads on save; saves trigger reindex.
|
|
97
|
+
`;
|
|
98
|
+
/**
|
|
99
|
+
* Resolve the effective group for a project entry. Per-entry `group` wins,
|
|
100
|
+
* then `defaults.group` from the projects file, then DEFAULT_GROUP. The
|
|
101
|
+
* fallback intentionally is NOT the project's own name — that would silo
|
|
102
|
+
* each project in its own Qdrant collection and break the multi-project
|
|
103
|
+
* model (one group = one collection, projects share via the `project`
|
|
104
|
+
* payload filter).
|
|
105
|
+
*/
|
|
106
|
+
export function resolveEntryGroup(entry, file) {
|
|
107
|
+
return entry.group ?? file.defaults?.group ?? DEFAULT_GROUP;
|
|
108
|
+
}
|
|
109
|
+
/** Resolve the project name from an entry (basename(path) or repo of url, override wins). */
|
|
110
|
+
export function resolveProjectName(entry) {
|
|
111
|
+
if (entry.name && entry.name.trim())
|
|
112
|
+
return entry.name.trim();
|
|
113
|
+
if (entry.path)
|
|
114
|
+
return path.basename(entry.path);
|
|
115
|
+
if (entry.url) {
|
|
116
|
+
// url is "owner/repo"
|
|
117
|
+
const parts = entry.url.split('/');
|
|
118
|
+
const last = parts[parts.length - 1] ?? '';
|
|
119
|
+
return last.replace(/\.git$/, '');
|
|
120
|
+
}
|
|
121
|
+
throw new Error('Project entry has neither path nor url');
|
|
122
|
+
}
|
|
123
|
+
/** Extract local-path projects in the order the compose generator expects. */
|
|
124
|
+
export function localProjectsFor(file) {
|
|
125
|
+
const result = [];
|
|
126
|
+
for (const entry of file.repos) {
|
|
127
|
+
if (!entry.path)
|
|
128
|
+
continue;
|
|
129
|
+
result.push({ name: resolveProjectName(entry), hostPath: entry.path });
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Read the projects file, regenerate the compose, and rewrite docker-compose.yml
|
|
135
|
+
* if (and only if) the contents differ.
|
|
136
|
+
*/
|
|
137
|
+
export function regenerateCompose(opts) {
|
|
138
|
+
const home = opts.paparatsHome ?? PAPARATS_HOME;
|
|
139
|
+
const file = readProjectsFile(home);
|
|
140
|
+
const composeYaml = generateCompose({
|
|
141
|
+
ollamaMode: opts.ollamaMode,
|
|
142
|
+
...(opts.ollamaUrl !== undefined ? { ollamaUrl: opts.ollamaUrl } : {}),
|
|
143
|
+
...(opts.qdrantUrl !== undefined ? { qdrantUrl: opts.qdrantUrl } : {}),
|
|
144
|
+
...(opts.qdrantApiKey !== undefined ? { qdrantApiKey: opts.qdrantApiKey } : {}),
|
|
145
|
+
...(opts.cron !== undefined ? { cron: opts.cron } : {}),
|
|
146
|
+
paparatsHome: home,
|
|
147
|
+
localProjects: localProjectsFor(file),
|
|
148
|
+
});
|
|
149
|
+
const composePath = path.join(home, COMPOSE_YML);
|
|
150
|
+
const prior = fs.existsSync(composePath) ? fs.readFileSync(composePath, 'utf8') : null;
|
|
151
|
+
if (prior === composeYaml)
|
|
152
|
+
return { changed: false, composeYaml };
|
|
153
|
+
fs.mkdirSync(home, { recursive: true });
|
|
154
|
+
fs.writeFileSync(composePath, composeYaml);
|
|
155
|
+
return { changed: true, composeYaml };
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=projects-yml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects-yml.js","sourceRoot":"","sources":["../src/projects-yml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paparats/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"mcpName": "io.github.IBazylchuk/paparats-mcp",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "CLI for Paparats MCP - semantic code search with AST chunking, symbol graph, and vector search for AI coding assistants",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
},
|
|
72
72
|
"dependencies": {
|
|
73
73
|
"@inquirer/prompts": "^8.4.3",
|
|
74
|
-
"@paparats/shared": "^0.
|
|
74
|
+
"@paparats/shared": "^0.4.0",
|
|
75
75
|
"chalk": "^5.6.2",
|
|
76
76
|
"chokidar": "^5.0.0",
|
|
77
77
|
"commander": "^14.0.3",
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import ora from 'ora';
|
|
3
|
-
export interface IndexResponse {
|
|
4
|
-
group: string;
|
|
5
|
-
project: string;
|
|
6
|
-
chunks: number;
|
|
7
|
-
skipped?: number;
|
|
8
|
-
errors?: string[];
|
|
9
|
-
}
|
|
10
|
-
export declare function validateIndexResponse(data: unknown): data is IndexResponse;
|
|
11
|
-
interface IndexOptions {
|
|
12
|
-
server: string;
|
|
13
|
-
timeout?: number;
|
|
14
|
-
force?: boolean;
|
|
15
|
-
verbose?: boolean;
|
|
16
|
-
dryRun?: boolean;
|
|
17
|
-
json?: boolean;
|
|
18
|
-
}
|
|
19
|
-
interface IndexClient {
|
|
20
|
-
health(options?: {
|
|
21
|
-
timeout?: number;
|
|
22
|
-
}): Promise<{
|
|
23
|
-
status: number;
|
|
24
|
-
}>;
|
|
25
|
-
indexContent(group: string, project: string, files: Array<{
|
|
26
|
-
path: string;
|
|
27
|
-
content: string;
|
|
28
|
-
language?: string;
|
|
29
|
-
}>, options?: {
|
|
30
|
-
config?: {
|
|
31
|
-
chunkSize?: number;
|
|
32
|
-
overlap?: number;
|
|
33
|
-
batchSize?: number;
|
|
34
|
-
concurrency?: number;
|
|
35
|
-
languages?: string[];
|
|
36
|
-
};
|
|
37
|
-
force?: boolean;
|
|
38
|
-
timeout?: number;
|
|
39
|
-
signal?: AbortSignal;
|
|
40
|
-
}): Promise<{
|
|
41
|
-
status: number;
|
|
42
|
-
data: unknown;
|
|
43
|
-
}>;
|
|
44
|
-
}
|
|
45
|
-
interface RunIndexDeps {
|
|
46
|
-
spinner?: ReturnType<typeof ora> | null;
|
|
47
|
-
signal?: AbortSignal;
|
|
48
|
-
collectProjectFiles?: typeof import('../config.js').collectProjectFiles;
|
|
49
|
-
}
|
|
50
|
-
export declare function printDryRun(config: {
|
|
51
|
-
config: {
|
|
52
|
-
group: string;
|
|
53
|
-
language: string | string[];
|
|
54
|
-
indexing?: {
|
|
55
|
-
paths?: string[];
|
|
56
|
-
exclude?: string[];
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
projectDir: string;
|
|
60
|
-
}): void;
|
|
61
|
-
export declare function runIndex(client: IndexClient, projectDir: string, group: string, config: {
|
|
62
|
-
config: {
|
|
63
|
-
group: string;
|
|
64
|
-
language: string | string[];
|
|
65
|
-
indexing?: {
|
|
66
|
-
chunkSize?: number;
|
|
67
|
-
overlap?: number;
|
|
68
|
-
batchSize?: number;
|
|
69
|
-
concurrency?: number;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
}, opts: IndexOptions, deps?: RunIndexDeps): Promise<void>;
|
|
73
|
-
export declare const indexCommand: Command;
|
|
74
|
-
export {};
|
|
75
|
-
//# sourceMappingURL=index-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-cmd.d.ts","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { Command } from 'commander';
|
|
4
|
-
import chalk from 'chalk';
|
|
5
|
-
import ora from 'ora';
|
|
6
|
-
import { readConfig, collectProjectFiles, getLanguageFromPath } from '../config.js';
|
|
7
|
-
import { ApiClient } from '../api-client.js';
|
|
8
|
-
const API_INDEX_BATCH_SIZE = 50;
|
|
9
|
-
export function validateIndexResponse(data) {
|
|
10
|
-
if (!data || typeof data !== 'object')
|
|
11
|
-
return false;
|
|
12
|
-
const d = data;
|
|
13
|
-
return (typeof d.group === 'string' && typeof d.project === 'string' && typeof d.chunks === 'number');
|
|
14
|
-
}
|
|
15
|
-
function outputError(message, json) {
|
|
16
|
-
if (json) {
|
|
17
|
-
console.log(JSON.stringify({ error: message }));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
console.error(chalk.red(message));
|
|
21
|
-
}
|
|
22
|
-
throw new Error('EXIT:1');
|
|
23
|
-
}
|
|
24
|
-
export function printDryRun(config) {
|
|
25
|
-
console.log(chalk.bold('\nDry run mode - no actual indexing\n'));
|
|
26
|
-
console.log(` ${chalk.dim('Group:')} ${config.config.group}`);
|
|
27
|
-
console.log(` ${chalk.dim('Project:')} ${config.projectDir}`);
|
|
28
|
-
const lang = config.config.language;
|
|
29
|
-
console.log(` ${chalk.dim('Language:')} ${Array.isArray(lang) ? lang.join(', ') : lang}`);
|
|
30
|
-
if (config.config.indexing?.paths?.length) {
|
|
31
|
-
console.log(` ${chalk.dim('Paths:')} ${config.config.indexing.paths.join(', ')}`);
|
|
32
|
-
}
|
|
33
|
-
if (config.config.indexing?.exclude?.length) {
|
|
34
|
-
console.log(` ${chalk.dim('Exclude:')} ${config.config.indexing.exclude.join(', ')}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export async function runIndex(client, projectDir, group, config, opts, deps) {
|
|
38
|
-
const projectName = path.basename(projectDir);
|
|
39
|
-
const spinner = deps?.spinner !== undefined ? deps.spinner : ora(`Indexing ${group}/${projectName}...`).start();
|
|
40
|
-
const start = Date.now();
|
|
41
|
-
const languages = Array.isArray(config.config.language)
|
|
42
|
-
? config.config.language
|
|
43
|
-
: [config.config.language];
|
|
44
|
-
const indexConfig = {
|
|
45
|
-
chunkSize: config.config.indexing?.chunkSize,
|
|
46
|
-
overlap: config.config.indexing?.overlap,
|
|
47
|
-
batchSize: config.config.indexing?.batchSize,
|
|
48
|
-
concurrency: config.config.indexing?.concurrency,
|
|
49
|
-
languages,
|
|
50
|
-
};
|
|
51
|
-
const collectFiles = deps?.collectProjectFiles ?? collectProjectFiles;
|
|
52
|
-
const files = await collectFiles(projectDir, config.config);
|
|
53
|
-
const filesWithContent = [];
|
|
54
|
-
for (const filePath of files) {
|
|
55
|
-
try {
|
|
56
|
-
const buffer = await fs.promises.readFile(filePath);
|
|
57
|
-
if (buffer.includes(0))
|
|
58
|
-
continue; // Skip binary
|
|
59
|
-
const content = buffer.toString('utf8');
|
|
60
|
-
if (content.includes('\uFFFD'))
|
|
61
|
-
continue; // Invalid UTF-8
|
|
62
|
-
if (!content.trim())
|
|
63
|
-
continue;
|
|
64
|
-
const relPath = path.relative(projectDir, filePath);
|
|
65
|
-
const projectLangs = Array.isArray(config.config.language)
|
|
66
|
-
? config.config.language
|
|
67
|
-
: [config.config.language];
|
|
68
|
-
const language = getLanguageFromPath(filePath, projectLangs);
|
|
69
|
-
filesWithContent.push({ path: relPath, content, language });
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
spinner?.warn(` Skipped ${path.relative(projectDir, filePath)}: ${err.message}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
let totalChunks = 0;
|
|
76
|
-
let lastBatchData = {};
|
|
77
|
-
try {
|
|
78
|
-
for (let i = 0; i < filesWithContent.length; i += API_INDEX_BATCH_SIZE) {
|
|
79
|
-
const batch = filesWithContent.slice(i, i + API_INDEX_BATCH_SIZE);
|
|
80
|
-
const res = await client.indexContent(group, projectName, batch, {
|
|
81
|
-
config: indexConfig,
|
|
82
|
-
force: opts.force && i === 0,
|
|
83
|
-
timeout: opts.timeout ?? 300_000,
|
|
84
|
-
signal: deps?.signal,
|
|
85
|
-
});
|
|
86
|
-
if (res.status !== 200) {
|
|
87
|
-
const data = res.data;
|
|
88
|
-
spinner?.fail(`Indexing failed: ${data.error ?? 'Unknown error'}`);
|
|
89
|
-
outputError(String(data.error ?? 'Unknown error'), opts.json ?? false);
|
|
90
|
-
}
|
|
91
|
-
const data = res.data;
|
|
92
|
-
lastBatchData = data;
|
|
93
|
-
totalChunks += data.chunks ?? 0;
|
|
94
|
-
if (i + API_INDEX_BATCH_SIZE < filesWithContent.length && spinner) {
|
|
95
|
-
spinner.text = `Indexed ${Math.min(i + API_INDEX_BATCH_SIZE, filesWithContent.length)}/${filesWithContent.length} files...`;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
const data = {
|
|
99
|
-
group,
|
|
100
|
-
project: projectName,
|
|
101
|
-
chunks: totalChunks,
|
|
102
|
-
skipped: lastBatchData.skipped,
|
|
103
|
-
errors: lastBatchData.errors,
|
|
104
|
-
};
|
|
105
|
-
if (!validateIndexResponse(data)) {
|
|
106
|
-
spinner?.fail('Invalid response from server');
|
|
107
|
-
outputError('Expected: { group, project, chunks }', opts.json ?? false);
|
|
108
|
-
}
|
|
109
|
-
const elapsed = ((Date.now() - start) / 1000).toFixed(1);
|
|
110
|
-
if (opts.json) {
|
|
111
|
-
const result = {
|
|
112
|
-
group: data.group,
|
|
113
|
-
project: data.project,
|
|
114
|
-
chunks: data.chunks,
|
|
115
|
-
skipped: data.skipped,
|
|
116
|
-
errors: data.errors,
|
|
117
|
-
elapsed: parseFloat(elapsed),
|
|
118
|
-
timestamp: new Date().toISOString(),
|
|
119
|
-
};
|
|
120
|
-
console.log(JSON.stringify(result, null, 2));
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
spinner?.succeed(`Indexed ${chalk.bold(data.project)} in group ${chalk.bold(data.group)}`);
|
|
124
|
-
console.log(chalk.dim(` ${data.chunks} chunks indexed in ${elapsed}s`));
|
|
125
|
-
if (opts.verbose && data.skipped !== undefined && data.skipped > 0) {
|
|
126
|
-
console.log(chalk.dim(` ${data.skipped} files skipped`));
|
|
127
|
-
}
|
|
128
|
-
if (data.errors && data.errors.length > 0) {
|
|
129
|
-
console.log(chalk.yellow(` ${data.errors.length} errors encountered`));
|
|
130
|
-
if (opts.verbose) {
|
|
131
|
-
data.errors.forEach((err) => console.log(chalk.yellow(` - ${err}`)));
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
const message = err.message;
|
|
137
|
-
if (message.startsWith('EXIT:')) {
|
|
138
|
-
const code = parseInt(message.slice(5), 10);
|
|
139
|
-
process.exit(Number.isNaN(code) ? 1 : code);
|
|
140
|
-
}
|
|
141
|
-
if (message.includes('aborted') ||
|
|
142
|
-
message.includes('AbortError') ||
|
|
143
|
-
message.includes('Request aborted')) {
|
|
144
|
-
spinner?.fail('Indexing cancelled');
|
|
145
|
-
process.exit(130);
|
|
146
|
-
}
|
|
147
|
-
if (opts.json) {
|
|
148
|
-
console.log(JSON.stringify({ error: message }));
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
spinner?.fail('Indexing failed');
|
|
152
|
-
console.error(chalk.red(message));
|
|
153
|
-
}
|
|
154
|
-
process.exit(1);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
export const indexCommand = new Command('index')
|
|
158
|
-
.description('Index the current project')
|
|
159
|
-
.option('--server <url>', 'MCP server URL', 'http://localhost:9876')
|
|
160
|
-
.option('--timeout <ms>', 'Request timeout in milliseconds', '300000')
|
|
161
|
-
.option('-f, --force', 'Force reindex (clear existing data)')
|
|
162
|
-
.option('-v, --verbose', 'Show detailed output')
|
|
163
|
-
.option('--dry-run', 'Show what would be indexed without indexing')
|
|
164
|
-
.option('--json', 'Output as JSON')
|
|
165
|
-
.action(async (opts) => {
|
|
166
|
-
let config;
|
|
167
|
-
try {
|
|
168
|
-
config = readConfig();
|
|
169
|
-
}
|
|
170
|
-
catch (err) {
|
|
171
|
-
const msg = err.message;
|
|
172
|
-
if (opts.json) {
|
|
173
|
-
console.log(JSON.stringify({ error: msg }));
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
console.error(chalk.red(msg));
|
|
177
|
-
}
|
|
178
|
-
process.exit(1);
|
|
179
|
-
}
|
|
180
|
-
const { config: projectConfig, projectDir } = config;
|
|
181
|
-
if (opts.dryRun) {
|
|
182
|
-
printDryRun(config);
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
let timeout = 300_000;
|
|
186
|
-
if (opts.timeout) {
|
|
187
|
-
const parsed = parseInt(opts.timeout, 10);
|
|
188
|
-
if (Number.isNaN(parsed) || parsed <= 0) {
|
|
189
|
-
const msg = `Invalid timeout: ${opts.timeout}. Must be a positive number.`;
|
|
190
|
-
if (opts.json) {
|
|
191
|
-
console.log(JSON.stringify({ error: msg }));
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
console.error(chalk.red(msg));
|
|
195
|
-
}
|
|
196
|
-
process.exit(1);
|
|
197
|
-
}
|
|
198
|
-
timeout = parsed;
|
|
199
|
-
}
|
|
200
|
-
const client = new ApiClient(opts.server);
|
|
201
|
-
try {
|
|
202
|
-
await client.health({ timeout: 3000 });
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
const msg = `Cannot connect to server at ${opts.server}\n` +
|
|
206
|
-
'Make sure the server is running with: docker compose up -d';
|
|
207
|
-
if (opts.json) {
|
|
208
|
-
console.log(JSON.stringify({ error: msg }));
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
console.error(chalk.red(msg));
|
|
212
|
-
}
|
|
213
|
-
process.exit(1);
|
|
214
|
-
}
|
|
215
|
-
const controller = new AbortController();
|
|
216
|
-
let spinner = null;
|
|
217
|
-
const sigintHandler = () => {
|
|
218
|
-
spinner?.stop();
|
|
219
|
-
if (!opts.json) {
|
|
220
|
-
console.log(chalk.yellow('\nIndexing cancelled by user'));
|
|
221
|
-
}
|
|
222
|
-
controller.abort();
|
|
223
|
-
process.exit(130);
|
|
224
|
-
};
|
|
225
|
-
process.on('SIGINT', sigintHandler);
|
|
226
|
-
spinner = opts.json ? null : ora(`Indexing ${projectConfig.group}/${projectDir}...`).start();
|
|
227
|
-
try {
|
|
228
|
-
await runIndex(client, projectDir, projectConfig.group, config, {
|
|
229
|
-
server: opts.server,
|
|
230
|
-
timeout,
|
|
231
|
-
force: opts.force,
|
|
232
|
-
verbose: opts.verbose,
|
|
233
|
-
json: opts.json,
|
|
234
|
-
}, { spinner, signal: controller.signal });
|
|
235
|
-
}
|
|
236
|
-
finally {
|
|
237
|
-
process.off('SIGINT', sigintHandler);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
//# sourceMappingURL=index-cmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-cmd.js","sourceRoot":"","sources":["../../src/commands/index-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { type SupportedLanguage } from '../config.js';
|
|
3
|
-
import { type LspInstallerDeps } from '../lsp-installers.js';
|
|
4
|
-
export declare function validateGroupName(value: string): true | string;
|
|
5
|
-
export declare function appendToGitignore(gitignorePath: string): void;
|
|
6
|
-
export interface InitOptions {
|
|
7
|
-
force?: boolean;
|
|
8
|
-
group?: string;
|
|
9
|
-
language?: string;
|
|
10
|
-
nonInteractive?: boolean;
|
|
11
|
-
skipCclsp?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface InitDeps {
|
|
14
|
-
promptGroup?: (defaultGroup: string) => Promise<string>;
|
|
15
|
-
promptLanguage?: (detected: SupportedLanguage | null) => Promise<string | string[]>;
|
|
16
|
-
promptAddPaths?: () => Promise<boolean>;
|
|
17
|
-
promptPaths?: (dirs: string[]) => Promise<string[] | undefined>;
|
|
18
|
-
promptAddExclude?: () => Promise<boolean>;
|
|
19
|
-
promptConfigureEmbeddings?: () => Promise<boolean>;
|
|
20
|
-
promptEmbeddingsProvider?: () => Promise<'ollama' | 'openai'>;
|
|
21
|
-
promptEmbeddingsModel?: (provider: string) => Promise<string>;
|
|
22
|
-
promptGitignore?: () => Promise<boolean>;
|
|
23
|
-
promptSetupCclsp?: () => Promise<boolean>;
|
|
24
|
-
lspDeps?: LspInstallerDeps;
|
|
25
|
-
}
|
|
26
|
-
export declare function runInit(projectDir: string, opts: InitOptions, deps?: InitDeps): Promise<void>;
|
|
27
|
-
export declare const initCommand: Command;
|
|
28
|
-
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAO9D;AAED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAK7D;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IACpF,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAChE,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IAC9D,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,EACjB,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,CAAC,IAAI,CAAC,CAoSf;AAED,eAAO,MAAM,WAAW,SAmBpB,CAAC"}
|