indexer-cli 0.12.4 → 0.12.5
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/cli/commands/doctor.js +14 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/update.js +22 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/core/version-check.d.ts +12 -0
- package/dist/core/version-check.js +84 -10
- package/dist/core/version-check.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ const init_js_1 = require("./init.js");
|
|
|
15
15
|
const uninstall_js_1 = require("./uninstall.js");
|
|
16
16
|
const setup_js_1 = require("./setup.js");
|
|
17
17
|
const registry_js_1 = require("../../core/registry.js");
|
|
18
|
+
const version_check_js_1 = require("../../core/version-check.js");
|
|
18
19
|
async function pathExists(targetPath) {
|
|
19
20
|
try {
|
|
20
21
|
await (0, promises_1.access)(targetPath, node_fs_1.constants.F_OK);
|
|
@@ -47,6 +48,7 @@ function registerDoctorCommand(program) {
|
|
|
47
48
|
.command("doctor")
|
|
48
49
|
.description("Health-check and repair registered indexer projects")
|
|
49
50
|
.argument("[dir]", "scan a workspace directory for indexed projects")
|
|
51
|
+
.option("--check-skills-only", "only refresh registered project skills when their stored skills version is stale")
|
|
50
52
|
.option("--skills-only", "only refresh skills without full reinstall")
|
|
51
53
|
.option("-f, --force", "skip confirmation prompt")
|
|
52
54
|
.action(async (dir, options) => {
|
|
@@ -62,6 +64,17 @@ function registerDoctorCommand(program) {
|
|
|
62
64
|
}
|
|
63
65
|
console.log("");
|
|
64
66
|
(0, setup_js_1.performSetup)();
|
|
67
|
+
if (dir === undefined && !options.skillsOnly) {
|
|
68
|
+
const refreshResult = await (0, version_check_js_1.refreshRegisteredProjectSkillsIfNeeded)();
|
|
69
|
+
if (refreshResult.refreshed > 0 || refreshResult.stale > 0) {
|
|
70
|
+
console.log(`Skills check: refreshed ${refreshResult.refreshed} of ${refreshResult.checked} registered projects${refreshResult.stale > 0
|
|
71
|
+
? `, removed ${refreshResult.stale} stale entries`
|
|
72
|
+
: ""}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (options.checkSkillsOnly) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
65
78
|
let projectPaths = [];
|
|
66
79
|
if (dir === undefined) {
|
|
67
80
|
const staleEntries = (0, registry_js_1.cleanStaleEntries)();
|
|
@@ -133,7 +146,7 @@ function registerDoctorCommand(program) {
|
|
|
133
146
|
console.log(`${options.skillsOnly ? "Refreshing skills" : "Reinitializing"}: ${projectName}`);
|
|
134
147
|
try {
|
|
135
148
|
if (options.skillsOnly) {
|
|
136
|
-
await (0,
|
|
149
|
+
await (0, version_check_js_1.forceRefreshProjectSkills)(projectPath);
|
|
137
150
|
}
|
|
138
151
|
else {
|
|
139
152
|
await (0, uninstall_js_1.performUninstall)(projectPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerUpdateCommand = registerUpdateCommand;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
4
5
|
const update_check_js_1 = require("../../core/update-check.js");
|
|
5
6
|
const version_js_1 = require("../../core/version.js");
|
|
7
|
+
const version_check_js_1 = require("../../core/version-check.js");
|
|
8
|
+
function runFreshSkillsRefresh() {
|
|
9
|
+
try {
|
|
10
|
+
(0, node_child_process_1.execFileSync)("idx", ["--no-auto-update", "doctor", "--check-skills-only", "--force"], {
|
|
11
|
+
stdio: "inherit",
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
16
|
+
console.error(`Failed to refresh registered project skills with the updated CLI: ${message}`);
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async function refreshSkillsWithCurrentCli() {
|
|
21
|
+
const result = await (0, version_check_js_1.refreshRegisteredProjectSkillsIfNeeded)();
|
|
22
|
+
if (result.refreshed > 0 || result.stale > 0) {
|
|
23
|
+
console.log(`Skills check: refreshed ${result.refreshed} of ${result.checked} registered projects${result.stale > 0 ? `, removed ${result.stale} stale entries` : ""}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
6
26
|
function describeSkipReason(reason) {
|
|
7
27
|
switch (reason) {
|
|
8
28
|
case "unsupported-install-method":
|
|
@@ -28,8 +48,10 @@ function registerUpdateCommand(program) {
|
|
|
28
48
|
switch (result.kind) {
|
|
29
49
|
case "no-update":
|
|
30
50
|
console.log(`indexer-cli is already up to date (${version_js_1.PACKAGE_VERSION}).`);
|
|
51
|
+
await refreshSkillsWithCurrentCli();
|
|
31
52
|
return;
|
|
32
53
|
case "updated":
|
|
54
|
+
runFreshSkillsRefresh();
|
|
33
55
|
return;
|
|
34
56
|
case "skipped":
|
|
35
57
|
console.error(`Update skipped: ${describeSkipReason(result.reason)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":";;AAoDA,sDAyBC;AA7ED,2DAAkD;AAElD,gEAAiE;AACjE,sDAAwD;AACxD,kEAAqF;AAErF,SAAS,qBAAqB;IAC7B,IAAI,CAAC;QACJ,IAAA,iCAAY,EACX,KAAK,EACL,CAAC,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,CAAC,EAChE;YACC,KAAK,EAAE,SAAS;SAChB,CACD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CACZ,qEAAqE,OAAO,EAAE,CAC9E,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,yDAAsC,GAAE,CAAC;IAC9D,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CACV,2BAA2B,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,OAAO,uBAC/D,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAChE,EAAE,CACF,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACzC,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,4BAA4B;YAChC,OAAO,+FAA+F,CAAC;QACxG,KAAK,IAAI;YACR,OAAO,+EAA+E,CAAC;QACxF,KAAK,eAAe;YACnB,OAAO,iDAAiD,CAAC;QAC1D,KAAK,kBAAkB;YACtB,OAAO,gDAAgD,CAAC;QACzD,KAAK,SAAS;YACb,OAAO,+CAA+C,CAAC;QACxD;YACC,OAAO,MAAM,CAAC;IAChB,CAAC;AACF,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACrD,OAAO;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,MAAM,GAAG,MAAM,IAAA,qCAAmB,GAAE,CAAC;QAE3C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,WAAW;gBACf,OAAO,CAAC,GAAG,CAAC,sCAAsC,4BAAe,IAAI,CAAC,CAAC;gBACvE,MAAM,2BAA2B,EAAE,CAAC;gBACpC,OAAO;YACR,KAAK,SAAS;gBACb,qBAAqB,EAAE,CAAC;gBACxB,OAAO;YACR,KAAK,SAAS;gBACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACR,KAAK,QAAQ;gBACZ,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;QACT,CAAC;IACF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export interface RefreshSkillsResult {
|
|
2
|
+
checked: number;
|
|
3
|
+
refreshed: number;
|
|
4
|
+
failed: number;
|
|
5
|
+
stale: number;
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
8
|
* Parse a version string into [major, minor, patch].
|
|
3
9
|
* Returns null if the string is not a valid semver-like version.
|
|
@@ -11,4 +17,10 @@ export declare function parseSemver(version: string): [number, number, number] |
|
|
|
11
17
|
* @returns true if migration was performed, false otherwise
|
|
12
18
|
*/
|
|
13
19
|
export declare function checkAndMigrateIfNeeded(): Promise<boolean>;
|
|
20
|
+
export declare function forceRefreshProjectSkills(projectRoot: string, options?: {
|
|
21
|
+
silent?: boolean;
|
|
22
|
+
}): Promise<void>;
|
|
14
23
|
export declare function checkAndRefreshSkills(): Promise<boolean>;
|
|
24
|
+
export declare function refreshRegisteredProjectSkillsIfNeeded(options?: {
|
|
25
|
+
silent?: boolean;
|
|
26
|
+
}): Promise<RefreshSkillsResult>;
|
|
@@ -5,7 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseSemver = parseSemver;
|
|
7
7
|
exports.checkAndMigrateIfNeeded = checkAndMigrateIfNeeded;
|
|
8
|
+
exports.forceRefreshProjectSkills = forceRefreshProjectSkills;
|
|
8
9
|
exports.checkAndRefreshSkills = checkAndRefreshSkills;
|
|
10
|
+
exports.refreshRegisteredProjectSkillsIfNeeded = refreshRegisteredProjectSkillsIfNeeded;
|
|
9
11
|
const node_fs_1 = require("node:fs");
|
|
10
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
13
|
const version_js_1 = require("./version.js");
|
|
@@ -15,6 +17,7 @@ const skills_version_js_1 = require("./skills-version.js");
|
|
|
15
17
|
const init_js_2 = require("../cli/commands/init.js");
|
|
16
18
|
const idx_binary_js_1 = require("./idx-binary.js");
|
|
17
19
|
const project_root_js_1 = require("../cli/project-root.js");
|
|
20
|
+
const registry_js_1 = require("./registry.js");
|
|
18
21
|
/**
|
|
19
22
|
* Parse a version string into [major, minor, patch].
|
|
20
23
|
* Returns null if the string is not a valid semver-like version.
|
|
@@ -88,14 +91,7 @@ async function checkAndMigrateIfNeeded() {
|
|
|
88
91
|
return false;
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
|
-
async function
|
|
92
|
-
let projectRoot;
|
|
93
|
-
try {
|
|
94
|
-
projectRoot = (0, project_root_js_1.resolveInitializedProjectRoot)().projectRoot;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
94
|
+
async function refreshSkillsIfNeededForProject(projectRoot, options = {}) {
|
|
99
95
|
const configPath = node_path_1.default.join(projectRoot, ".indexer-cli", "config.json");
|
|
100
96
|
if (!(0, node_fs_1.existsSync)(configPath)) {
|
|
101
97
|
return false;
|
|
@@ -117,10 +113,14 @@ async function checkAndRefreshSkills() {
|
|
|
117
113
|
if (storedSkillsVersion === skills_version_js_1.SKILLS_VERSION) {
|
|
118
114
|
return false;
|
|
119
115
|
}
|
|
120
|
-
|
|
116
|
+
if (options.announce !== false) {
|
|
117
|
+
console.error(`indexer-cli: skills updated (version ${storedSkillsVersion ?? "none"} → ${skills_version_js_1.SKILLS_VERSION}). Refreshing .claude/skills/...`);
|
|
118
|
+
}
|
|
121
119
|
const originalConsoleLog = console.log;
|
|
122
120
|
try {
|
|
123
|
-
|
|
121
|
+
if (options.silent !== false) {
|
|
122
|
+
console.log = () => undefined;
|
|
123
|
+
}
|
|
124
124
|
await (0, init_js_2.refreshClaudeSkills)(projectRoot);
|
|
125
125
|
}
|
|
126
126
|
finally {
|
|
@@ -133,4 +133,78 @@ async function checkAndRefreshSkills() {
|
|
|
133
133
|
(0, node_fs_1.writeFileSync)(configPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
|
|
134
134
|
return true;
|
|
135
135
|
}
|
|
136
|
+
async function forceRefreshProjectSkills(projectRoot, options = {}) {
|
|
137
|
+
const configPath = node_path_1.default.join(projectRoot, ".indexer-cli", "config.json");
|
|
138
|
+
if (!(0, node_fs_1.existsSync)(configPath)) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const originalConsoleLog = console.log;
|
|
142
|
+
try {
|
|
143
|
+
if (options.silent) {
|
|
144
|
+
console.log = () => undefined;
|
|
145
|
+
}
|
|
146
|
+
await (0, init_js_2.refreshClaudeSkills)(projectRoot);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
console.log = originalConsoleLog;
|
|
150
|
+
}
|
|
151
|
+
(0, idx_binary_js_1.ensureIdxBinary)();
|
|
152
|
+
const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
|
|
153
|
+
const parsed = JSON.parse(raw);
|
|
154
|
+
parsed.skillsVersion = skills_version_js_1.SKILLS_VERSION;
|
|
155
|
+
(0, node_fs_1.writeFileSync)(configPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
|
|
156
|
+
(0, registry_js_1.addProject)({
|
|
157
|
+
projectPath: projectRoot,
|
|
158
|
+
cliVersion: version_js_1.PACKAGE_VERSION,
|
|
159
|
+
skillsVersion: skills_version_js_1.SKILLS_VERSION,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
async function checkAndRefreshSkills() {
|
|
163
|
+
let projectRoot;
|
|
164
|
+
try {
|
|
165
|
+
projectRoot = (0, project_root_js_1.resolveInitializedProjectRoot)().projectRoot;
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return refreshSkillsIfNeededForProject(projectRoot);
|
|
171
|
+
}
|
|
172
|
+
async function refreshRegisteredProjectSkillsIfNeeded(options = {}) {
|
|
173
|
+
const staleEntries = (0, registry_js_1.cleanStaleEntries)();
|
|
174
|
+
const projects = (0, registry_js_1.getRegisteredProjects)();
|
|
175
|
+
const result = {
|
|
176
|
+
checked: projects.length,
|
|
177
|
+
refreshed: 0,
|
|
178
|
+
failed: 0,
|
|
179
|
+
stale: staleEntries.length,
|
|
180
|
+
};
|
|
181
|
+
for (const entry of projects) {
|
|
182
|
+
const projectRoot = node_path_1.default.resolve(entry.projectPath);
|
|
183
|
+
try {
|
|
184
|
+
const refreshed = await refreshSkillsIfNeededForProject(projectRoot, {
|
|
185
|
+
announce: !options.silent,
|
|
186
|
+
silent: true,
|
|
187
|
+
});
|
|
188
|
+
if (refreshed) {
|
|
189
|
+
result.refreshed += 1;
|
|
190
|
+
(0, registry_js_1.addProject)({
|
|
191
|
+
projectPath: projectRoot,
|
|
192
|
+
cliVersion: version_js_1.PACKAGE_VERSION,
|
|
193
|
+
skillsVersion: skills_version_js_1.SKILLS_VERSION,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
result.failed += 1;
|
|
199
|
+
if (!options.silent) {
|
|
200
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
201
|
+
console.error(`Failed to refresh skills in ${projectRoot}: ${message}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
if (result.failed > 0) {
|
|
206
|
+
process.exitCode = 1;
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
136
210
|
//# sourceMappingURL=version-check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"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"}
|