@paparats/cli 1.7.2 → 1.7.3
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.
|
@@ -18,6 +18,10 @@ export interface UpdateDeps {
|
|
|
18
18
|
readInstallState?: typeof readInstallState;
|
|
19
19
|
regenerateCompose?: (opts: RegenerateOptions) => RegenerateResult;
|
|
20
20
|
setupNativeEmbed?: () => Promise<void>;
|
|
21
|
+
commandExists?: (cmd: string) => boolean;
|
|
22
|
+
platform?: () => NodeJS.Platform;
|
|
23
|
+
readInstalledCliVersion?: () => string | null;
|
|
24
|
+
readNpmLatestVersion?: () => string | null;
|
|
21
25
|
}
|
|
22
26
|
export declare function runUpdate(opts: UpdateOptions, deps?: UpdateDeps): Promise<void>;
|
|
23
27
|
export declare const updateCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,EACL,gBAAgB,EAEhB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAoD5B,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,uBAAuB,CAAC,EAAE,MAAM,MAAM,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,MAAM,CAAC;IAClE,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,gBAAgB,CAAC;IAClE,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9C,oBAAoB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC5C;AAoDD,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwKrF;AAED,eAAO,MAAM,aAAa,SAetB,CAAC"}
|
package/dist/commands/update.js
CHANGED
|
@@ -2,22 +2,98 @@ import { Command } from 'commander';
|
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import os from 'os';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
5
6
|
import { execSync } from 'child_process';
|
|
6
7
|
import chalk from 'chalk';
|
|
7
8
|
import ora from 'ora';
|
|
8
9
|
import { getDockerComposeCommand } from './install.js';
|
|
9
10
|
import { waitForHealth } from './install.js';
|
|
10
11
|
import { setupNativeEmbed } from './install.js';
|
|
12
|
+
import { commandExists as realCommandExists } from './install.js';
|
|
11
13
|
import { readInstallState, regenerateCompose, } from '../projects-yml.js';
|
|
12
14
|
const PAPARATS_HOME = path.join(os.homedir(), '.paparats');
|
|
13
15
|
const COMPOSE_FILE = path.join(PAPARATS_HOME, 'docker-compose.yml');
|
|
16
|
+
const EMBED_CONFIG_FILE = path.join(PAPARATS_HOME, 'llama-swap.yaml');
|
|
14
17
|
const NPM_PACKAGE = '@paparats/cli';
|
|
18
|
+
/** Version of the *currently running* CLI, read from its own on-disk
|
|
19
|
+
* package.json by walking up from this module's location until a package.json
|
|
20
|
+
* named `@paparats/cli` is found.
|
|
21
|
+
*
|
|
22
|
+
* Deliberately NOT `npm ls -g`: that resolves `npm` from PATH — the same npm
|
|
23
|
+
* the preceding `npm install -g` used — so in the exact failure this guard
|
|
24
|
+
* targets (the running `paparats` from one node/nvm prefix, `npm` in PATH from
|
|
25
|
+
* another), install lands in prefix B and `npm ls -g` cheerfully reports B as
|
|
26
|
+
* up-to-date while the running binary (prefix A) stays stale. Reading the
|
|
27
|
+
* running module's own package.json reflects the binary actually executing.
|
|
28
|
+
* Returns null if it can't be determined. */
|
|
29
|
+
function readInstalledCliVersion() {
|
|
30
|
+
try {
|
|
31
|
+
let dir = path.dirname(fileURLToPath(import.meta.url));
|
|
32
|
+
while (dir !== path.parse(dir).root) {
|
|
33
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
34
|
+
if (fs.existsSync(pkgPath)) {
|
|
35
|
+
const parsed = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
36
|
+
if (parsed.name === NPM_PACKAGE)
|
|
37
|
+
return parsed.version ?? null;
|
|
38
|
+
}
|
|
39
|
+
dir = path.dirname(dir);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
/** Latest version published to npm. Null if the registry can't be reached. */
|
|
48
|
+
function readNpmLatestVersion() {
|
|
49
|
+
try {
|
|
50
|
+
return execSync(`npm view ${NPM_PACKAGE} version`, {
|
|
51
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
52
|
+
timeout: 30_000,
|
|
53
|
+
})
|
|
54
|
+
.toString()
|
|
55
|
+
.trim();
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
15
61
|
/** Check if a service is defined in the compose file */
|
|
16
62
|
function composeHasService(composeContent, service) {
|
|
17
63
|
// Simple YAML check: service name at indent level 2 under services
|
|
18
64
|
const pattern = new RegExp(`^ ${service}:`, 'm');
|
|
19
65
|
return pattern.test(composeContent);
|
|
20
66
|
}
|
|
67
|
+
/** Decide whether `update` should (re)install the native embed server.
|
|
68
|
+
*
|
|
69
|
+
* The clean signal is install.json's embedMode. But installs from before that
|
|
70
|
+
* file existed — or hand-rolled ones — have no install.json, and the old code
|
|
71
|
+
* then silently skipped the embed step, leaving the host with no running embed
|
|
72
|
+
* backend after the Ollama→llama-server migration. So when install.json is
|
|
73
|
+
* absent we detect native usage by artifacts + platform:
|
|
74
|
+
* - llama-swap or llama-server already on PATH → native embed in use
|
|
75
|
+
* - ~/.paparats/llama-swap.yaml present → native embed configured
|
|
76
|
+
* - macOS host with no docker-compose.yml → native is the default there
|
|
77
|
+
* A `docker`/`external` embedMode, or a Docker-only host, returns refresh=false. */
|
|
78
|
+
function decideEmbedRefresh(deps) {
|
|
79
|
+
const { state, commandExists, existsSync, platform } = deps;
|
|
80
|
+
if (state) {
|
|
81
|
+
return state.embedMode === 'native'
|
|
82
|
+
? { refresh: true, reason: 'install.json embedMode=native' }
|
|
83
|
+
: { refresh: false, reason: `install.json embedMode=${state.embedMode}` };
|
|
84
|
+
}
|
|
85
|
+
// No install.json — detect by artifacts + platform.
|
|
86
|
+
if (commandExists('llama-swap') || commandExists('llama-server')) {
|
|
87
|
+
return { refresh: true, reason: 'no install.json; llama-swap/llama-server on PATH' };
|
|
88
|
+
}
|
|
89
|
+
if (existsSync(EMBED_CONFIG_FILE)) {
|
|
90
|
+
return { refresh: true, reason: 'no install.json; llama-swap.yaml present' };
|
|
91
|
+
}
|
|
92
|
+
if (platform() === 'darwin' && !existsSync(COMPOSE_FILE)) {
|
|
93
|
+
return { refresh: true, reason: 'no install.json; macOS host without docker-compose.yml' };
|
|
94
|
+
}
|
|
95
|
+
return { refresh: false, reason: 'no install.json; no native-embed signals detected' };
|
|
96
|
+
}
|
|
21
97
|
export async function runUpdate(opts, deps) {
|
|
22
98
|
const exec = deps?.execSync ?? execSync;
|
|
23
99
|
const getCompose = deps?.getDockerComposeCommand ?? getDockerComposeCommand;
|
|
@@ -27,6 +103,10 @@ export async function runUpdate(opts, deps) {
|
|
|
27
103
|
const readInstall = deps?.readInstallState ?? readInstallState;
|
|
28
104
|
const regenerate = deps?.regenerateCompose ?? regenerateCompose;
|
|
29
105
|
const setupEmbed = deps?.setupNativeEmbed ?? setupNativeEmbed;
|
|
106
|
+
const commandExists = deps?.commandExists ?? realCommandExists;
|
|
107
|
+
const platform = deps?.platform ?? (() => process.platform);
|
|
108
|
+
const installedVersion = deps?.readInstalledCliVersion ?? readInstalledCliVersion;
|
|
109
|
+
const npmLatest = deps?.readNpmLatestVersion ?? readNpmLatestVersion;
|
|
30
110
|
console.log(chalk.bold('\npaparats update\n'));
|
|
31
111
|
if (!opts.skipCli) {
|
|
32
112
|
const spinner = ora(`Updating CLI from npm (${NPM_PACKAGE}@latest)...`).start();
|
|
@@ -47,6 +127,21 @@ export async function runUpdate(opts, deps) {
|
|
|
47
127
|
throw err;
|
|
48
128
|
}
|
|
49
129
|
}
|
|
130
|
+
// Verify the install actually took. `npm install -g` can exit 0 without
|
|
131
|
+
// upgrading (a stale/parallel node context, a `paparats` on PATH from a
|
|
132
|
+
// different node/nvm install, or missing global-write perms), leaving the
|
|
133
|
+
// running process on old code — every step below then silently runs the old
|
|
134
|
+
// logic. Fail loudly instead of reporting a false "Update complete".
|
|
135
|
+
const latest = npmLatest();
|
|
136
|
+
const installed = installedVersion();
|
|
137
|
+
if (latest && installed && installed !== latest) {
|
|
138
|
+
throw new Error(`CLI did not update: the running ${NPM_PACKAGE} is ${installed}, but npm latest is ${latest}.\n` +
|
|
139
|
+
` \`npm install -g\` likely wrote to a different node/nvm prefix than the one this ` +
|
|
140
|
+
`\`paparats\` runs from, so the upgrade landed elsewhere.\n` +
|
|
141
|
+
` Fix: run \`which -a paparats\` and \`npm root -g\` to find the mismatch, then ` +
|
|
142
|
+
`\`npm install -g ${NPM_PACKAGE}@latest\` with the node that owns your PATH \`paparats\`.\n` +
|
|
143
|
+
` Re-run \`paparats update\` afterward so the new native-embed / compose logic runs.`);
|
|
144
|
+
}
|
|
50
145
|
}
|
|
51
146
|
if (!opts.skipDocker) {
|
|
52
147
|
if (!exists(COMPOSE_FILE)) {
|
|
@@ -131,17 +226,26 @@ export async function runUpdate(opts, deps) {
|
|
|
131
226
|
}
|
|
132
227
|
}
|
|
133
228
|
// Native embed server lives on the host (not Docker), so `docker compose
|
|
134
|
-
// pull/up` above never touches it.
|
|
135
|
-
//
|
|
136
|
-
//
|
|
229
|
+
// pull/up` above never touches it. Re-run the embed setup here so a single
|
|
230
|
+
// `paparats update` also installs/refreshes/starts llama-server + llama-swap.
|
|
231
|
+
// Idempotent — no-ops when everything is current.
|
|
137
232
|
if (!opts.skipEmbed) {
|
|
138
|
-
const
|
|
139
|
-
|
|
233
|
+
const decision = decideEmbedRefresh({
|
|
234
|
+
state: readInstall(PAPARATS_HOME),
|
|
235
|
+
commandExists,
|
|
236
|
+
existsSync: exists,
|
|
237
|
+
platform,
|
|
238
|
+
});
|
|
239
|
+
if (decision.refresh) {
|
|
140
240
|
// setupNativeEmbed prints its own spinners for each step (brew, download,
|
|
141
241
|
// start), so just announce the section rather than wrapping in a spinner.
|
|
142
|
-
console.log(chalk.dim(
|
|
242
|
+
console.log(chalk.dim(`\nEnsuring native embedding server (llama-server + llama-swap) — ${decision.reason}...`));
|
|
143
243
|
await setupEmbed();
|
|
144
244
|
}
|
|
245
|
+
else {
|
|
246
|
+
// Say why we skipped so a missing embed server isn't a silent surprise.
|
|
247
|
+
console.log(chalk.dim(`\nSkipping native embed refresh (${decision.reason}).`));
|
|
248
|
+
}
|
|
145
249
|
}
|
|
146
250
|
console.log(chalk.bold.green('\n✓ Update complete!\n'));
|
|
147
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AACpE,MAAM,WAAW,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paparats/cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.3",
|
|
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.5.2",
|
|
74
|
-
"@paparats/shared": "^1.7.
|
|
74
|
+
"@paparats/shared": "^1.7.3",
|
|
75
75
|
"chalk": "^5.6.2",
|
|
76
76
|
"chokidar": "^5.0.0",
|
|
77
77
|
"commander": "^15.0.0",
|