@paparats/cli 0.3.2 → 0.5.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.
- 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 +341 -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 +130 -0
- package/dist/projects-yml.d.ts.map +1 -0
- package/dist/projects-yml.js +261 -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 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/commands/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Ollama deployment mode in the unified install:
|
|
3
|
+
* - 'native' — host's local Ollama; container reaches it via host.docker.internal
|
|
4
|
+
* - 'docker' — bundled Ollama service in the compose stack
|
|
5
|
+
* - 'external' — explicit OLLAMA_URL (skip both native detection and the docker service)
|
|
6
|
+
*/
|
|
7
|
+
export type OllamaMode = 'native' | 'docker' | 'external';
|
|
8
|
+
/** Kept for support-mode compatibility in legacy install code. */
|
|
2
9
|
export type InstallMode = 'developer' | 'server' | 'support';
|
|
3
|
-
export interface
|
|
10
|
+
export interface LocalProjectMount {
|
|
11
|
+
/** Project name (used as the basename under /projects/). */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Absolute host path bind-mounted into the indexer container. */
|
|
14
|
+
hostPath: string;
|
|
15
|
+
}
|
|
16
|
+
export interface UnifiedComposeConfig {
|
|
4
17
|
ollamaMode: OllamaMode;
|
|
5
|
-
/**
|
|
18
|
+
/** Required when ollamaMode === 'external'. */
|
|
19
|
+
ollamaUrl?: string;
|
|
20
|
+
/** When set, the dockerized Qdrant service is skipped. */
|
|
6
21
|
qdrantUrl?: string;
|
|
7
|
-
/**
|
|
22
|
+
/** Stored in ~/.paparats/.env and referenced as ${QDRANT_API_KEY}. */
|
|
8
23
|
qdrantApiKey?: string;
|
|
9
|
-
/**
|
|
10
|
-
|
|
24
|
+
/** Cron schedule for indexer (default: every 6 hours). */
|
|
25
|
+
cron?: string;
|
|
26
|
+
/** Local-path projects in projects.yml — added as bind-mounts on the indexer. */
|
|
27
|
+
localProjects?: LocalProjectMount[];
|
|
28
|
+
/** Absolute host path to ~/.paparats (used to mount projects.yml). */
|
|
29
|
+
paparatsHome: string;
|
|
30
|
+
/** Optional port overrides (test convenience). */
|
|
11
31
|
ports?: {
|
|
12
32
|
qdrant?: number;
|
|
13
33
|
paparats?: number;
|
|
14
34
|
ollama?: number;
|
|
35
|
+
indexer?: number;
|
|
15
36
|
};
|
|
16
37
|
}
|
|
17
|
-
export interface ServerComposeConfig extends DockerComposeConfig {
|
|
18
|
-
repos?: string;
|
|
19
|
-
githubToken?: string;
|
|
20
|
-
cron?: string;
|
|
21
|
-
/** When set, all repos share this single Qdrant group (collection) */
|
|
22
|
-
group?: string;
|
|
23
|
-
indexerPort?: number;
|
|
24
|
-
/** Path to paparats-indexer.yml config file to mount into the indexer container */
|
|
25
|
-
indexerConfigPath?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Generate docker-compose YAML for developer mode (qdrant + paparats + optional ollama).
|
|
29
|
-
* When `config.qdrantUrl` is set, the Qdrant Docker service is omitted and the external URL is used.
|
|
30
|
-
*/
|
|
31
|
-
export declare function generateDockerCompose(config: DockerComposeConfig): string;
|
|
32
38
|
/**
|
|
33
|
-
* Generate docker-compose
|
|
34
|
-
*
|
|
39
|
+
* Generate the unified docker-compose.yml — qdrant (optional) + ollama (optional)
|
|
40
|
+
* + paparats-server + paparats-indexer with mounts derived from `localProjects`.
|
|
35
41
|
*/
|
|
36
|
-
export declare function
|
|
42
|
+
export declare function generateCompose(config: UnifiedComposeConfig): string;
|
|
37
43
|
//# sourceMappingURL=docker-compose-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-compose-generator.d.ts","sourceRoot":"","sources":["../src/docker-compose-generator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"file":"docker-compose-generator.d.ts","sourceRoot":"","sources":["../src/docker-compose-generator.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1D,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AA0KD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA4CpE"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import yaml from 'js-yaml';
|
|
2
|
+
const HEADER = `# paparats-mcp — Docker Compose (generated by paparats install)
|
|
3
|
+
# Managed file — regenerate with: paparats install
|
|
4
|
+
`;
|
|
2
5
|
function qdrantService(port) {
|
|
3
6
|
return {
|
|
4
7
|
image: 'qdrant/qdrant:latest',
|
|
@@ -23,6 +26,24 @@ function qdrantService(port) {
|
|
|
23
26
|
networks: ['paparats-net'],
|
|
24
27
|
};
|
|
25
28
|
}
|
|
29
|
+
function ollamaService(port) {
|
|
30
|
+
return {
|
|
31
|
+
image: 'ibaz/paparats-ollama:latest',
|
|
32
|
+
container_name: 'paparats-ollama',
|
|
33
|
+
ports: [`\${OLLAMA_PORT:-${port}}:11434`],
|
|
34
|
+
volumes: ['ollama_data:/root/.ollama'],
|
|
35
|
+
healthcheck: {
|
|
36
|
+
test: ['CMD', 'ollama', 'list'],
|
|
37
|
+
interval: '10s',
|
|
38
|
+
timeout: '5s',
|
|
39
|
+
retries: 5,
|
|
40
|
+
start_period: '60s',
|
|
41
|
+
},
|
|
42
|
+
logging: { driver: 'json-file', options: { 'max-size': '10m', 'max-file': '3' } },
|
|
43
|
+
restart: 'unless-stopped',
|
|
44
|
+
networks: ['paparats-net'],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
26
47
|
function paparatsService(port, ollamaUrl, qdrantUrl, includeQdrantDep, qdrantApiKey) {
|
|
27
48
|
const dependsOn = {};
|
|
28
49
|
if (includeQdrantDep) {
|
|
@@ -33,9 +54,8 @@ function paparatsService(port, ollamaUrl, qdrantUrl, includeQdrantDep, qdrantApi
|
|
|
33
54
|
OLLAMA_URL: ollamaUrl,
|
|
34
55
|
OLLAMA_BATCH_SIZE: '${OLLAMA_BATCH_SIZE:-5}',
|
|
35
56
|
};
|
|
36
|
-
if (qdrantApiKey)
|
|
57
|
+
if (qdrantApiKey)
|
|
37
58
|
env['QDRANT_API_KEY'] = '${QDRANT_API_KEY}';
|
|
38
|
-
}
|
|
39
59
|
return {
|
|
40
60
|
image: 'ibaz/paparats-server:latest',
|
|
41
61
|
container_name: 'paparats-mcp',
|
|
@@ -67,122 +87,66 @@ function paparatsService(port, ollamaUrl, qdrantUrl, includeQdrantDep, qdrantApi
|
|
|
67
87
|
networks: ['paparats-net'],
|
|
68
88
|
};
|
|
69
89
|
}
|
|
70
|
-
function
|
|
71
|
-
return {
|
|
72
|
-
image: 'ibaz/paparats-ollama:latest',
|
|
73
|
-
container_name: 'paparats-ollama',
|
|
74
|
-
ports: [`\${OLLAMA_PORT:-${port}}:11434`],
|
|
75
|
-
volumes: ['ollama_data:/root/.ollama'],
|
|
76
|
-
healthcheck: {
|
|
77
|
-
test: ['CMD', 'ollama', 'list'],
|
|
78
|
-
interval: '10s',
|
|
79
|
-
timeout: '5s',
|
|
80
|
-
retries: 5,
|
|
81
|
-
start_period: '60s',
|
|
82
|
-
},
|
|
83
|
-
logging: { driver: 'json-file', options: { 'max-size': '10m', 'max-file': '3' } },
|
|
84
|
-
restart: 'unless-stopped',
|
|
85
|
-
networks: ['paparats-net'],
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function indexerService(config, qdrantUrl, ollamaUrl) {
|
|
90
|
+
function indexerService(config, qdrantUrl, ollamaUrl, port) {
|
|
89
91
|
const externalQdrant = !!config.qdrantUrl;
|
|
90
92
|
const dockerOllama = config.ollamaMode === 'docker';
|
|
91
93
|
const dependsOn = {};
|
|
92
|
-
if (dockerOllama)
|
|
94
|
+
if (dockerOllama)
|
|
93
95
|
dependsOn['ollama'] = { condition: 'service_healthy' };
|
|
94
|
-
|
|
95
|
-
if (!externalQdrant) {
|
|
96
|
+
if (!externalQdrant)
|
|
96
97
|
dependsOn['qdrant'] = { condition: 'service_healthy' };
|
|
97
|
-
}
|
|
98
98
|
const env = {
|
|
99
|
-
REPOS: '${REPOS:-}',
|
|
100
99
|
GITHUB_TOKEN: '${GITHUB_TOKEN:-}',
|
|
101
100
|
CRON: `\${CRON:-${config.cron ?? '0 */6 * * *'}}`,
|
|
102
101
|
QDRANT_URL: qdrantUrl,
|
|
103
102
|
OLLAMA_URL: ollamaUrl,
|
|
104
103
|
OLLAMA_BATCH_SIZE: '${OLLAMA_BATCH_SIZE:-5}',
|
|
105
104
|
};
|
|
106
|
-
if (config.
|
|
107
|
-
env['PAPARATS_GROUP'] = config.group;
|
|
108
|
-
}
|
|
109
|
-
if (config.qdrantApiKey) {
|
|
105
|
+
if (config.qdrantApiKey)
|
|
110
106
|
env['QDRANT_API_KEY'] = '${QDRANT_API_KEY}';
|
|
107
|
+
// Mount the whole ~/.paparats as /config (directory bind-mount, not single file)
|
|
108
|
+
// so the indexer survives in-place rewrites of projects.yml — single-file
|
|
109
|
+
// bind-mounts pin to the host inode and break on atomic rename or replace.
|
|
110
|
+
const volumes = [
|
|
111
|
+
'indexer_repos:/data/repos',
|
|
112
|
+
'paparats_data:/home/nodejs/.paparats',
|
|
113
|
+
`${config.paparatsHome}:/config:ro`,
|
|
114
|
+
];
|
|
115
|
+
for (const proj of config.localProjects ?? []) {
|
|
116
|
+
volumes.push(`${proj.hostPath}:/projects/${proj.name}:ro`);
|
|
111
117
|
}
|
|
112
|
-
|
|
113
|
-
if (config.indexerConfigPath) {
|
|
114
|
-
volumes.push(`${config.indexerConfigPath}:/config/paparats-indexer.yml:ro`);
|
|
115
|
-
}
|
|
116
|
-
const svc = {
|
|
118
|
+
return {
|
|
117
119
|
image: 'ibaz/paparats-indexer:latest',
|
|
118
120
|
container_name: 'paparats-indexer',
|
|
119
121
|
environment: env,
|
|
120
|
-
ports: [`\${INDEXER_PORT:-${
|
|
122
|
+
ports: [`\${INDEXER_PORT:-${port}}:9877`],
|
|
121
123
|
volumes,
|
|
122
124
|
depends_on: dependsOn,
|
|
125
|
+
extra_hosts: ['host.docker.internal:host-gateway'],
|
|
123
126
|
logging: { driver: 'json-file', options: { 'max-size': '10m', 'max-file': '3' } },
|
|
124
127
|
restart: 'unless-stopped',
|
|
125
128
|
networks: ['paparats-net'],
|
|
126
129
|
};
|
|
127
|
-
return svc;
|
|
128
|
-
}
|
|
129
|
-
const HEADER = `# paparats-mcp — Docker Compose (generated by paparats install)
|
|
130
|
-
# Managed file — regenerate with: paparats install
|
|
131
|
-
`;
|
|
132
|
-
/**
|
|
133
|
-
* Generate docker-compose YAML for developer mode (qdrant + paparats + optional ollama).
|
|
134
|
-
* When `config.qdrantUrl` is set, the Qdrant Docker service is omitted and the external URL is used.
|
|
135
|
-
*/
|
|
136
|
-
export function generateDockerCompose(config) {
|
|
137
|
-
const qdrantPort = config.ports?.qdrant ?? 6333;
|
|
138
|
-
const paparatsPort = config.ports?.paparats ?? 9876;
|
|
139
|
-
const ollamaPort = config.ports?.ollama ?? 11434;
|
|
140
|
-
const externalQdrant = !!config.qdrantUrl;
|
|
141
|
-
const ollamaUrl = config.ollamaMode === 'docker'
|
|
142
|
-
? 'http://ollama:11434'
|
|
143
|
-
: (config.ollamaUrl ?? '${OLLAMA_URL:-http://host.docker.internal:11434}');
|
|
144
|
-
const qdrantUrl = externalQdrant ? config.qdrantUrl : 'http://qdrant:6333';
|
|
145
|
-
const compose = {
|
|
146
|
-
services: {
|
|
147
|
-
...(externalQdrant ? {} : { qdrant: qdrantService(qdrantPort) }),
|
|
148
|
-
paparats: paparatsService(paparatsPort, ollamaUrl, qdrantUrl, !externalQdrant, config.qdrantApiKey),
|
|
149
|
-
},
|
|
150
|
-
volumes: {
|
|
151
|
-
...(externalQdrant ? {} : { qdrant_data: null }),
|
|
152
|
-
paparats_data: null,
|
|
153
|
-
},
|
|
154
|
-
networks: {
|
|
155
|
-
'paparats-net': { driver: 'bridge', name: 'paparats-network' },
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
if (config.ollamaMode === 'docker') {
|
|
159
|
-
compose.services['ollama'] = ollamaService(ollamaPort);
|
|
160
|
-
compose.services['paparats'].depends_on['ollama'] = { condition: 'service_healthy' };
|
|
161
|
-
compose.volumes['ollama_data'] = null;
|
|
162
|
-
}
|
|
163
|
-
return (HEADER +
|
|
164
|
-
yaml.dump(compose, { lineWidth: 120, noRefs: true, quotingType: "'", forceQuotes: false }));
|
|
165
130
|
}
|
|
166
131
|
/**
|
|
167
|
-
* Generate docker-compose
|
|
168
|
-
*
|
|
132
|
+
* Generate the unified docker-compose.yml — qdrant (optional) + ollama (optional)
|
|
133
|
+
* + paparats-server + paparats-indexer with mounts derived from `localProjects`.
|
|
169
134
|
*/
|
|
170
|
-
export function
|
|
135
|
+
export function generateCompose(config) {
|
|
171
136
|
const qdrantPort = config.ports?.qdrant ?? 6333;
|
|
172
137
|
const paparatsPort = config.ports?.paparats ?? 9876;
|
|
173
138
|
const ollamaPort = config.ports?.ollama ?? 11434;
|
|
139
|
+
const indexerPort = config.ports?.indexer ?? 9877;
|
|
174
140
|
const externalQdrant = !!config.qdrantUrl;
|
|
175
141
|
const dockerOllama = config.ollamaMode === 'docker';
|
|
176
142
|
const qdrantUrl = externalQdrant ? config.qdrantUrl : 'http://qdrant:6333';
|
|
177
|
-
const ollamaUrl =
|
|
178
|
-
? 'http://ollama:11434'
|
|
179
|
-
: (config.ollamaUrl ?? '${OLLAMA_URL:-http://host.docker.internal:11434}');
|
|
143
|
+
const ollamaUrl = resolveOllamaUrl(config);
|
|
180
144
|
const compose = {
|
|
181
145
|
services: {
|
|
182
146
|
...(externalQdrant ? {} : { qdrant: qdrantService(qdrantPort) }),
|
|
183
147
|
...(dockerOllama ? { ollama: ollamaService(ollamaPort) } : {}),
|
|
184
148
|
paparats: paparatsService(paparatsPort, ollamaUrl, qdrantUrl, !externalQdrant, config.qdrantApiKey),
|
|
185
|
-
'paparats-indexer': indexerService(config, qdrantUrl, ollamaUrl),
|
|
149
|
+
'paparats-indexer': indexerService(config, qdrantUrl, ollamaUrl, indexerPort),
|
|
186
150
|
},
|
|
187
151
|
volumes: {
|
|
188
152
|
...(externalQdrant ? {} : { qdrant_data: null }),
|
|
@@ -200,4 +164,17 @@ export function generateServerCompose(config) {
|
|
|
200
164
|
return (HEADER +
|
|
201
165
|
yaml.dump(compose, { lineWidth: 120, noRefs: true, quotingType: "'", forceQuotes: false }));
|
|
202
166
|
}
|
|
167
|
+
function resolveOllamaUrl(config) {
|
|
168
|
+
switch (config.ollamaMode) {
|
|
169
|
+
case 'docker':
|
|
170
|
+
return 'http://ollama:11434';
|
|
171
|
+
case 'native':
|
|
172
|
+
return 'http://host.docker.internal:11434';
|
|
173
|
+
case 'external':
|
|
174
|
+
if (!config.ollamaUrl) {
|
|
175
|
+
throw new Error('generateCompose: ollamaMode="external" requires ollamaUrl');
|
|
176
|
+
}
|
|
177
|
+
return config.ollamaUrl;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
203
180
|
//# sourceMappingURL=docker-compose-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-compose-generator.js","sourceRoot":"","sources":["../src/docker-compose-generator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-compose-generator.js","sourceRoot":"","sources":["../src/docker-compose-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,15 +2,15 @@ import { readFileSync } from 'node:fs';
|
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { Command } from 'commander';
|
|
5
|
-
import { initCommand } from './commands/init.js';
|
|
6
5
|
import { installCommand } from './commands/install.js';
|
|
7
6
|
import { updateCommand } from './commands/update.js';
|
|
8
|
-
import { indexCommand } from './commands/index-cmd.js';
|
|
9
7
|
import { searchCommand } from './commands/search.js';
|
|
10
8
|
import { statusCommand } from './commands/status.js';
|
|
11
|
-
import { watchCommand } from './commands/watch.js';
|
|
12
9
|
import { doctorCommand } from './commands/doctor.js';
|
|
13
10
|
import { groupsCommand } from './commands/groups.js';
|
|
11
|
+
import { addCommand, listCommand, removeCommand } from './commands/projects.js';
|
|
12
|
+
import { startCommand, stopCommand, restartCommand } from './commands/lifecycle.js';
|
|
13
|
+
import { editCommand } from './commands/edit.js';
|
|
14
14
|
// Read version from the package's own package.json so `paparats --version`
|
|
15
15
|
// stays in sync with the published npm version automatically. The compiled
|
|
16
16
|
// entry sits at dist/index.js, so package.json is one level up.
|
|
@@ -18,13 +18,17 @@ const pkgPath = join(dirname(fileURLToPath(import.meta.url)), '..', 'package.jso
|
|
|
18
18
|
const { version } = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
19
19
|
const program = new Command();
|
|
20
20
|
program.name('paparats').description('Semantic code search for your workspace').version(version);
|
|
21
|
-
program.addCommand(initCommand);
|
|
22
21
|
program.addCommand(installCommand);
|
|
22
|
+
program.addCommand(addCommand);
|
|
23
|
+
program.addCommand(listCommand);
|
|
24
|
+
program.addCommand(removeCommand);
|
|
25
|
+
program.addCommand(startCommand);
|
|
26
|
+
program.addCommand(stopCommand);
|
|
27
|
+
program.addCommand(restartCommand);
|
|
28
|
+
program.addCommand(editCommand);
|
|
23
29
|
program.addCommand(updateCommand);
|
|
24
|
-
program.addCommand(indexCommand);
|
|
25
30
|
program.addCommand(searchCommand);
|
|
26
31
|
program.addCommand(statusCommand);
|
|
27
|
-
program.addCommand(watchCommand);
|
|
28
32
|
program.addCommand(doctorCommand);
|
|
29
33
|
program.addCommand(groupsCommand);
|
|
30
34
|
program.parse();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,2EAA2E;AAC3E,2EAA2E;AAC3E,gEAAgE;AAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACpF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAwB,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { type LocalProjectMount, type OllamaMode } from './docker-compose-generator.js';
|
|
2
|
+
export declare const PAPARATS_HOME: string;
|
|
3
|
+
/** Current name. Used by all reads after install. */
|
|
4
|
+
export declare const PROJECTS_YML = "projects.yml";
|
|
5
|
+
/** Legacy name from paparats < 0.4. Read as fallback; auto-renamed by `paparats install`. */
|
|
6
|
+
export declare const LEGACY_PROJECTS_YML = "paparats-indexer.yml";
|
|
7
|
+
export declare const COMPOSE_YML = "docker-compose.yml";
|
|
8
|
+
export declare const INSTALL_STATE = "install.json";
|
|
9
|
+
/**
|
|
10
|
+
* Migrate the legacy projects file to the new name if needed. Returns true iff
|
|
11
|
+
* the rename actually happened. Idempotent: no-op when projects.yml already
|
|
12
|
+
* exists or the legacy file doesn't.
|
|
13
|
+
*/
|
|
14
|
+
export declare function migrateLegacyProjectsFile(home?: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Resolve the current projects file path, preferring the new name and falling
|
|
17
|
+
* back to the legacy one. Returns null if neither exists.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveProjectsFilePath(home?: string): string | null;
|
|
20
|
+
export interface InstallState {
|
|
21
|
+
ollamaMode: OllamaMode;
|
|
22
|
+
ollamaUrl?: string;
|
|
23
|
+
qdrantUrl?: string;
|
|
24
|
+
qdrantApiKey?: string;
|
|
25
|
+
cron?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Read ~/.paparats/install.json — captured by `paparats install` so that
|
|
28
|
+
* `add`/`remove`/`edit projects` can regenerate compose with the same flags. */
|
|
29
|
+
export declare function readInstallState(home?: string): InstallState | null;
|
|
30
|
+
export declare function writeInstallState(state: InstallState, home?: string): void;
|
|
31
|
+
export interface ProjectEntry {
|
|
32
|
+
/** Mutually exclusive with `path`. */
|
|
33
|
+
url?: string;
|
|
34
|
+
/** Mutually exclusive with `url`. */
|
|
35
|
+
path?: string;
|
|
36
|
+
/** Optional override for the project name. */
|
|
37
|
+
name?: string;
|
|
38
|
+
group?: string;
|
|
39
|
+
language?: string | string[];
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
export interface ProjectsFile {
|
|
43
|
+
defaults?: {
|
|
44
|
+
cron?: string;
|
|
45
|
+
group?: string;
|
|
46
|
+
language?: string | string[];
|
|
47
|
+
[key: string]: unknown;
|
|
48
|
+
};
|
|
49
|
+
repos: ProjectEntry[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Read the projects file from disk. Prefers the new name (projects.yml);
|
|
53
|
+
* falls back to the legacy paparats-indexer.yml if only that exists.
|
|
54
|
+
* Returns an empty file shape if neither is present.
|
|
55
|
+
*/
|
|
56
|
+
export declare function readProjectsFile(home?: string): ProjectsFile;
|
|
57
|
+
export interface WriteProjectsOptions {
|
|
58
|
+
/**
|
|
59
|
+
* Splice a commented hint block after the given entry index (0-based).
|
|
60
|
+
* Used by `paparats add` to render a per-language `exclude_extra` starter
|
|
61
|
+
* next to the freshly added entry. No-op if the entry can't be located.
|
|
62
|
+
*/
|
|
63
|
+
hint?: {
|
|
64
|
+
entryIndex: number;
|
|
65
|
+
block: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Atomically write the projects file. Always writes to the new name —
|
|
70
|
+
* callers that want to migrate a legacy file should call
|
|
71
|
+
* `migrateLegacyProjectsFile` first.
|
|
72
|
+
*/
|
|
73
|
+
export declare function writeProjectsFile(file: ProjectsFile, home?: string, opts?: WriteProjectsOptions): void;
|
|
74
|
+
/**
|
|
75
|
+
* Render a commented `exclude_extra` starter block for a language.
|
|
76
|
+
*
|
|
77
|
+
* The block is inert (every line is `#`-prefixed) — the user uncomments + edits
|
|
78
|
+
* to opt in. Each default exclude is annotated so it's clear the value is already
|
|
79
|
+
* applied by the server even without uncommenting. Returns null when the language
|
|
80
|
+
* has no defaults worth showing (e.g. 'generic' or unknown languages).
|
|
81
|
+
*
|
|
82
|
+
* `indent` is the per-entry indentation (e.g. ' ' for `repos:` children).
|
|
83
|
+
*/
|
|
84
|
+
export declare function renderExcludeHintComment(language: string, indent: string): string | null;
|
|
85
|
+
/**
|
|
86
|
+
* Splice a commented hint block into a freshly-dumped projects.yml after the
|
|
87
|
+
* last property of the entry at `entryIndex` (0-based, in document order).
|
|
88
|
+
*
|
|
89
|
+
* Implementation: walk the YAML line-by-line, count list items at the `repos:`
|
|
90
|
+
* indent (each list item starts with `- `), and when we reach the next item
|
|
91
|
+
* (or EOF) splice the hint just before it. The hint must already be indented
|
|
92
|
+
* to match the entry's property indent.
|
|
93
|
+
*
|
|
94
|
+
* Returns the input unchanged if the entry can't be located (defensive — the
|
|
95
|
+
* file is still valid YAML, only the comment is missing).
|
|
96
|
+
*/
|
|
97
|
+
export declare function spliceHintAfterEntry(yamlText: string, entryIndex: number, hint: string): string;
|
|
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 declare function resolveEntryGroup(entry: ProjectEntry, file: ProjectsFile): string;
|
|
107
|
+
/** Resolve the project name from an entry (basename(path) or repo of url, override wins). */
|
|
108
|
+
export declare function resolveProjectName(entry: ProjectEntry): string;
|
|
109
|
+
/** Extract local-path projects in the order the compose generator expects. */
|
|
110
|
+
export declare function localProjectsFor(file: ProjectsFile): LocalProjectMount[];
|
|
111
|
+
export interface RegenerateOptions {
|
|
112
|
+
ollamaMode: OllamaMode;
|
|
113
|
+
ollamaUrl?: string;
|
|
114
|
+
qdrantUrl?: string;
|
|
115
|
+
qdrantApiKey?: string;
|
|
116
|
+
cron?: string;
|
|
117
|
+
paparatsHome?: string;
|
|
118
|
+
}
|
|
119
|
+
export interface RegenerateResult {
|
|
120
|
+
/** True iff the on-disk compose changed. */
|
|
121
|
+
changed: boolean;
|
|
122
|
+
/** The new compose contents (whether or not the file changed). */
|
|
123
|
+
composeYaml: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Read the projects file, regenerate the compose, and rewrite docker-compose.yml
|
|
127
|
+
* if (and only if) the contents differ.
|
|
128
|
+
*/
|
|
129
|
+
export declare function regenerateCompose(opts: RegenerateOptions): RegenerateResult;
|
|
130
|
+
//# sourceMappingURL=projects-yml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects-yml.d.ts","sourceRoot":"","sources":["../src/projects-yml.ts"],"names":[],"mappings":"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"}
|