@cortexkit/aft 0.16.0 → 0.17.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/doctor.d.ts +27 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +236 -35
- package/dist/lib/diagnostics.d.ts +3 -0
- package/dist/lib/diagnostics.d.ts.map +1 -1
- package/dist/lib/lsp-cache.d.ts +61 -0
- package/dist/lib/lsp-cache.d.ts.map +1 -0
- package/dist/lib/paths.d.ts +14 -0
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/prompts.d.ts +1 -1
- package/dist/lib/prompts.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,34 @@
|
|
|
1
|
+
import type { HarnessAdapter } from "../adapters/types.js";
|
|
2
|
+
import { type ClearResult } from "../lib/lsp-cache.js";
|
|
3
|
+
export type DoctorClearTarget = "plugin-cache" | "lsp-cache";
|
|
4
|
+
export declare const DOCTOR_CLEAR_TARGET_OPTIONS: {
|
|
5
|
+
label: string;
|
|
6
|
+
value: DoctorClearTarget;
|
|
7
|
+
}[];
|
|
8
|
+
export declare const DOCTOR_FORCE_CLEAR_TARGETS: DoctorClearTarget[];
|
|
1
9
|
export interface DoctorOptions {
|
|
10
|
+
clear: boolean;
|
|
2
11
|
force: boolean;
|
|
3
12
|
issue: boolean;
|
|
4
13
|
argv: string[];
|
|
5
14
|
}
|
|
15
|
+
export interface CacheClearSummary {
|
|
16
|
+
hadErrors: boolean;
|
|
17
|
+
pluginCache?: {
|
|
18
|
+
cleared: number;
|
|
19
|
+
totalBytes: number;
|
|
20
|
+
errors: number;
|
|
21
|
+
};
|
|
22
|
+
lspCache?: {
|
|
23
|
+
cleared: number;
|
|
24
|
+
totalBytes: number;
|
|
25
|
+
errors: number;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface CacheClearOptions {
|
|
29
|
+
clearLspCaches?: () => ClearResult;
|
|
30
|
+
includePluginBytes?: boolean;
|
|
31
|
+
}
|
|
6
32
|
export declare function runDoctor(options: DoctorOptions): Promise<number>;
|
|
33
|
+
export declare function clearDoctorCaches(adapters: HarnessAdapter[], targets: readonly DoctorClearTarget[], options?: CacheClearOptions): Promise<CacheClearSummary>;
|
|
7
34
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAIvE,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,WAAW,CAAC;AAE7D,eAAO,MAAM,2BAA2B,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,EASpF,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,EAAqB,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,WAAW,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAgGvE;AA4BD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAoC5B"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,QAAA,MAAM,OAAO,QAAkB,CAAC;AAChC,QAAA,MAAM,IAAI,UAAwB,CAAC;AAEnC,iBAAS,SAAS,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAEH,QAAA,MAAM,OAAO,QAAkB,CAAC;AAChC,QAAA,MAAM,IAAI,UAAwB,CAAC;AAEnC,iBAAS,SAAS,IAAI,IAAI,CAsBzB;AAED,iBAAe,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAcrC"}
|
package/dist/index.js
CHANGED
|
@@ -7892,6 +7892,30 @@ function getAftBinaryCacheDir() {
|
|
|
7892
7892
|
function getAftBinaryName() {
|
|
7893
7893
|
return process.platform === "win32" ? "aft.exe" : "aft";
|
|
7894
7894
|
}
|
|
7895
|
+
function getAftLspPackagesDir() {
|
|
7896
|
+
if (process.env.AFT_CACHE_DIR) {
|
|
7897
|
+
return join2(process.env.AFT_CACHE_DIR, "lsp-packages");
|
|
7898
|
+
}
|
|
7899
|
+
if (process.platform === "win32") {
|
|
7900
|
+
const localAppData = process.env.LOCALAPPDATA || process.env.APPDATA;
|
|
7901
|
+
const base2 = localAppData || join2(homedir(), "AppData", "Local");
|
|
7902
|
+
return join2(base2, "aft", "lsp-packages");
|
|
7903
|
+
}
|
|
7904
|
+
const base = process.env.XDG_CACHE_HOME || join2(homedir(), ".cache");
|
|
7905
|
+
return join2(base, "aft", "lsp-packages");
|
|
7906
|
+
}
|
|
7907
|
+
function getAftLspBinariesDir() {
|
|
7908
|
+
if (process.env.AFT_CACHE_DIR) {
|
|
7909
|
+
return join2(process.env.AFT_CACHE_DIR, "lsp-binaries");
|
|
7910
|
+
}
|
|
7911
|
+
if (process.platform === "win32") {
|
|
7912
|
+
const localAppData = process.env.LOCALAPPDATA || process.env.APPDATA;
|
|
7913
|
+
const base2 = localAppData || join2(homedir(), "AppData", "Local");
|
|
7914
|
+
return join2(base2, "aft", "lsp-binaries");
|
|
7915
|
+
}
|
|
7916
|
+
const base = process.env.XDG_CACHE_HOME || join2(homedir(), ".cache");
|
|
7917
|
+
return join2(base, "aft", "lsp-binaries");
|
|
7918
|
+
}
|
|
7895
7919
|
function getTmpLogPath(filename) {
|
|
7896
7920
|
return join2(tmpdir(), filename);
|
|
7897
7921
|
}
|
|
@@ -9607,13 +9631,13 @@ async function selectOne(message, options) {
|
|
|
9607
9631
|
handleCancel(result);
|
|
9608
9632
|
return result;
|
|
9609
9633
|
}
|
|
9610
|
-
async function selectMany(message, options, initialValues) {
|
|
9634
|
+
async function selectMany(message, options, initialValues, required = true) {
|
|
9611
9635
|
const clackOptions = options.map((option) => option.hint === undefined ? { label: option.label, value: option.value } : { label: option.label, value: option.value, hint: option.hint });
|
|
9612
9636
|
const result = await yt({
|
|
9613
9637
|
message,
|
|
9614
9638
|
options: clackOptions,
|
|
9615
9639
|
...initialValues ? { initialValues } : {},
|
|
9616
|
-
required
|
|
9640
|
+
required
|
|
9617
9641
|
});
|
|
9618
9642
|
handleCancel(result);
|
|
9619
9643
|
return result;
|
|
@@ -9833,9 +9857,82 @@ var init_binary_probe = __esm(() => {
|
|
|
9833
9857
|
init_paths();
|
|
9834
9858
|
});
|
|
9835
9859
|
|
|
9836
|
-
// src/lib/
|
|
9837
|
-
import { existsSync as existsSync7, readdirSync as readdirSync3,
|
|
9860
|
+
// src/lib/lsp-cache.ts
|
|
9861
|
+
import { existsSync as existsSync7, readdirSync as readdirSync3, rmSync as rmSync2, statSync as statSync3 } from "node:fs";
|
|
9838
9862
|
import { join as join7 } from "node:path";
|
|
9863
|
+
function inspectDir(path) {
|
|
9864
|
+
if (!existsSync7(path)) {
|
|
9865
|
+
return { entries: [], totalSize: 0 };
|
|
9866
|
+
}
|
|
9867
|
+
const entries = [];
|
|
9868
|
+
let totalSize = 0;
|
|
9869
|
+
let names;
|
|
9870
|
+
try {
|
|
9871
|
+
names = readdirSync3(path);
|
|
9872
|
+
} catch {
|
|
9873
|
+
return { entries: [], totalSize: 0 };
|
|
9874
|
+
}
|
|
9875
|
+
for (const name of names) {
|
|
9876
|
+
const full = join7(path, name);
|
|
9877
|
+
try {
|
|
9878
|
+
if (!statSync3(full).isDirectory())
|
|
9879
|
+
continue;
|
|
9880
|
+
const size = dirSize(full);
|
|
9881
|
+
entries.push({
|
|
9882
|
+
name: decodeURIComponent(name),
|
|
9883
|
+
path: full,
|
|
9884
|
+
size
|
|
9885
|
+
});
|
|
9886
|
+
totalSize += size;
|
|
9887
|
+
} catch {}
|
|
9888
|
+
}
|
|
9889
|
+
entries.sort((a, b) => b.size - a.size);
|
|
9890
|
+
return { entries, totalSize };
|
|
9891
|
+
}
|
|
9892
|
+
function getLspCacheReport() {
|
|
9893
|
+
const npmPath = getAftLspPackagesDir();
|
|
9894
|
+
const githubPath = getAftLspBinariesDir();
|
|
9895
|
+
const npm = inspectDir(npmPath);
|
|
9896
|
+
const github = inspectDir(githubPath);
|
|
9897
|
+
return {
|
|
9898
|
+
npm: {
|
|
9899
|
+
path: npmPath,
|
|
9900
|
+
entries: npm.entries,
|
|
9901
|
+
totalSize: npm.totalSize
|
|
9902
|
+
},
|
|
9903
|
+
github: {
|
|
9904
|
+
path: githubPath,
|
|
9905
|
+
entries: github.entries,
|
|
9906
|
+
totalSize: github.totalSize
|
|
9907
|
+
},
|
|
9908
|
+
totalSize: npm.totalSize + github.totalSize
|
|
9909
|
+
};
|
|
9910
|
+
}
|
|
9911
|
+
function clearLspCaches() {
|
|
9912
|
+
const result = { cleared: [], errors: [], totalBytes: 0 };
|
|
9913
|
+
const report = getLspCacheReport();
|
|
9914
|
+
for (const entry of [...report.npm.entries, ...report.github.entries]) {
|
|
9915
|
+
try {
|
|
9916
|
+
rmSync2(entry.path, { recursive: true, force: true });
|
|
9917
|
+
result.cleared.push({ name: entry.name, path: entry.path, size: entry.size });
|
|
9918
|
+
result.totalBytes += entry.size;
|
|
9919
|
+
} catch (err) {
|
|
9920
|
+
result.errors.push({
|
|
9921
|
+
path: entry.path,
|
|
9922
|
+
error: err instanceof Error ? err.message : String(err)
|
|
9923
|
+
});
|
|
9924
|
+
}
|
|
9925
|
+
}
|
|
9926
|
+
return result;
|
|
9927
|
+
}
|
|
9928
|
+
var init_lsp_cache = __esm(() => {
|
|
9929
|
+
init_fs_util();
|
|
9930
|
+
init_paths();
|
|
9931
|
+
});
|
|
9932
|
+
|
|
9933
|
+
// src/lib/onnx.ts
|
|
9934
|
+
import { existsSync as existsSync8, readdirSync as readdirSync4, readlinkSync, realpathSync, statSync as statSync4 } from "node:fs";
|
|
9935
|
+
import { join as join8 } from "node:path";
|
|
9839
9936
|
function getOnnxLibraryName() {
|
|
9840
9937
|
if (process.platform === "darwin")
|
|
9841
9938
|
return "libonnxruntime.dylib";
|
|
@@ -9868,21 +9965,21 @@ function findSystemOnnxRuntime() {
|
|
|
9868
9965
|
const libName = getOnnxLibraryName();
|
|
9869
9966
|
const searchPaths = process.platform === "darwin" ? ["/opt/homebrew/lib", "/usr/local/lib"] : process.platform === "linux" ? ["/usr/lib", "/usr/lib/x86_64-linux-gnu", "/usr/lib/aarch64-linux-gnu", "/usr/local/lib"] : [];
|
|
9870
9967
|
for (const path of searchPaths) {
|
|
9871
|
-
if (
|
|
9968
|
+
if (existsSync8(join8(path, libName)))
|
|
9872
9969
|
return path;
|
|
9873
9970
|
}
|
|
9874
9971
|
return null;
|
|
9875
9972
|
}
|
|
9876
9973
|
function findCachedOnnxRuntime(storageDir) {
|
|
9877
|
-
const ortDir =
|
|
9878
|
-
return
|
|
9974
|
+
const ortDir = join8(storageDir, "onnxruntime", ONNX_RUNTIME_VERSION);
|
|
9975
|
+
return existsSync8(join8(ortDir, getOnnxLibraryName())) ? ortDir : null;
|
|
9879
9976
|
}
|
|
9880
9977
|
function detectOrtVersion(libDir) {
|
|
9881
|
-
if (!
|
|
9978
|
+
if (!existsSync8(libDir))
|
|
9882
9979
|
return null;
|
|
9883
9980
|
const libName = getOnnxLibraryName();
|
|
9884
9981
|
try {
|
|
9885
|
-
const entries =
|
|
9982
|
+
const entries = readdirSync4(libDir);
|
|
9886
9983
|
for (const entry of entries) {
|
|
9887
9984
|
if (!entry.startsWith(libName))
|
|
9888
9985
|
continue;
|
|
@@ -9890,8 +9987,8 @@ function detectOrtVersion(libDir) {
|
|
|
9890
9987
|
if (match)
|
|
9891
9988
|
return match[1];
|
|
9892
9989
|
}
|
|
9893
|
-
const base =
|
|
9894
|
-
if (
|
|
9990
|
+
const base = join8(libDir, libName);
|
|
9991
|
+
if (existsSync8(base)) {
|
|
9895
9992
|
try {
|
|
9896
9993
|
const real = realpathSync(base);
|
|
9897
9994
|
const suffix = real.match(/\.(\d+\.\d+\.\d+)$/);
|
|
@@ -9956,7 +10053,7 @@ function sanitizeValue(value) {
|
|
|
9956
10053
|
var init_sanitize = () => {};
|
|
9957
10054
|
|
|
9958
10055
|
// src/lib/diagnostics.ts
|
|
9959
|
-
import { existsSync as
|
|
10056
|
+
import { existsSync as existsSync9, readFileSync as readFileSync4, statSync as statSync5 } from "node:fs";
|
|
9960
10057
|
async function collectDiagnostics(adapters) {
|
|
9961
10058
|
const cliVersion = getSelfVersion();
|
|
9962
10059
|
const binaryVersion = probeBinaryVersion(cliVersion);
|
|
@@ -9972,7 +10069,8 @@ async function collectDiagnostics(adapters) {
|
|
|
9972
10069
|
cliVersion,
|
|
9973
10070
|
binaryVersion,
|
|
9974
10071
|
harnesses,
|
|
9975
|
-
binaryCache: getBinaryCacheInfo(cliVersion)
|
|
10072
|
+
binaryCache: getBinaryCacheInfo(cliVersion),
|
|
10073
|
+
lspCache: getLspCacheReport()
|
|
9976
10074
|
};
|
|
9977
10075
|
}
|
|
9978
10076
|
async function diagnoseHarness(adapter) {
|
|
@@ -9995,14 +10093,14 @@ async function diagnoseHarness(adapter) {
|
|
|
9995
10093
|
pluginRegistered: adapter.hasPluginEntry(),
|
|
9996
10094
|
configPaths,
|
|
9997
10095
|
aftConfig: {
|
|
9998
|
-
exists:
|
|
10096
|
+
exists: existsSync9(configPaths.aftConfig),
|
|
9999
10097
|
...aftConfigRead.error ? { parseError: aftConfigRead.error } : {},
|
|
10000
10098
|
flags: aftFlags
|
|
10001
10099
|
},
|
|
10002
10100
|
pluginCache: adapter.getPluginCacheInfo(),
|
|
10003
10101
|
storageDir: {
|
|
10004
10102
|
path: storage,
|
|
10005
|
-
exists:
|
|
10103
|
+
exists: existsSync9(storage),
|
|
10006
10104
|
sizesByKey: describeStorage
|
|
10007
10105
|
},
|
|
10008
10106
|
onnxRuntime: {
|
|
@@ -10019,8 +10117,8 @@ async function diagnoseHarness(adapter) {
|
|
|
10019
10117
|
},
|
|
10020
10118
|
logFile: {
|
|
10021
10119
|
path: logPath,
|
|
10022
|
-
exists:
|
|
10023
|
-
sizeKb:
|
|
10120
|
+
exists: existsSync9(logPath),
|
|
10121
|
+
sizeKb: existsSync9(logPath) ? Math.round(statSync5(logPath).size / 1024) : 0
|
|
10024
10122
|
}
|
|
10025
10123
|
};
|
|
10026
10124
|
}
|
|
@@ -10071,11 +10169,16 @@ function renderDiagnosticsMarkdown(report) {
|
|
|
10071
10169
|
lines.push("```json");
|
|
10072
10170
|
lines.push(JSON.stringify(report.binaryCache, null, 2));
|
|
10073
10171
|
lines.push("```");
|
|
10172
|
+
lines.push("");
|
|
10173
|
+
lines.push("### LSP cache");
|
|
10174
|
+
lines.push("```json");
|
|
10175
|
+
lines.push(JSON.stringify(report.lspCache, null, 2));
|
|
10176
|
+
lines.push("```");
|
|
10074
10177
|
return lines.join(`
|
|
10075
10178
|
`);
|
|
10076
10179
|
}
|
|
10077
10180
|
function tailLogFile(path, lines) {
|
|
10078
|
-
if (!
|
|
10181
|
+
if (!existsSync9(path))
|
|
10079
10182
|
return "";
|
|
10080
10183
|
try {
|
|
10081
10184
|
const raw = readFileSync4(path, "utf-8");
|
|
@@ -10089,6 +10192,7 @@ var init_diagnostics = __esm(() => {
|
|
|
10089
10192
|
init_binary_cache();
|
|
10090
10193
|
init_binary_probe();
|
|
10091
10194
|
init_jsonc();
|
|
10195
|
+
init_lsp_cache();
|
|
10092
10196
|
init_onnx();
|
|
10093
10197
|
init_sanitize();
|
|
10094
10198
|
init_self_version();
|
|
@@ -10134,15 +10238,21 @@ var init_github = () => {};
|
|
|
10134
10238
|
// src/commands/doctor.ts
|
|
10135
10239
|
var exports_doctor = {};
|
|
10136
10240
|
__export(exports_doctor, {
|
|
10137
|
-
runDoctor: () => runDoctor
|
|
10241
|
+
runDoctor: () => runDoctor,
|
|
10242
|
+
clearDoctorCaches: () => clearDoctorCaches,
|
|
10243
|
+
DOCTOR_FORCE_CLEAR_TARGETS: () => DOCTOR_FORCE_CLEAR_TARGETS,
|
|
10244
|
+
DOCTOR_CLEAR_TARGET_OPTIONS: () => DOCTOR_CLEAR_TARGET_OPTIONS
|
|
10138
10245
|
});
|
|
10139
10246
|
import { writeFileSync as writeFileSync2 } from "node:fs";
|
|
10140
|
-
import { join as
|
|
10247
|
+
import { join as join9 } from "node:path";
|
|
10141
10248
|
async function runDoctor(options) {
|
|
10142
10249
|
if (options.issue) {
|
|
10143
10250
|
return runIssueFlow(options.argv);
|
|
10144
10251
|
}
|
|
10145
10252
|
mt("AFT doctor");
|
|
10253
|
+
if (options.clear) {
|
|
10254
|
+
return runClearFlow(options.argv);
|
|
10255
|
+
}
|
|
10146
10256
|
const adapters = await resolveAdaptersForCommand(options.argv, {
|
|
10147
10257
|
allowMulti: true,
|
|
10148
10258
|
verb: "diagnose"
|
|
@@ -10150,6 +10260,11 @@ async function runDoctor(options) {
|
|
|
10150
10260
|
const report = await collectDiagnostics(adapters);
|
|
10151
10261
|
O2.info(`CLI v${report.cliVersion}, binary ${report.binaryVersion ?? "unknown"}`);
|
|
10152
10262
|
O2.info(`Binary cache: ${report.binaryCache.versions.length} version(s), ${formatBytes(report.binaryCache.totalSize)} at ${report.binaryCache.path}`);
|
|
10263
|
+
const npmCount = report.lspCache.npm.entries.length;
|
|
10264
|
+
const ghCount = report.lspCache.github.entries.length;
|
|
10265
|
+
if (npmCount + ghCount > 0) {
|
|
10266
|
+
O2.info(`LSP cache: ${npmCount} npm + ${ghCount} github install(s), ${formatBytes(report.lspCache.totalSize)} total`);
|
|
10267
|
+
}
|
|
10153
10268
|
let hadProblems = false;
|
|
10154
10269
|
for (const h of report.harnesses) {
|
|
10155
10270
|
O2.step(`${h.displayName}`);
|
|
@@ -10185,8 +10300,11 @@ async function runDoctor(options) {
|
|
|
10185
10300
|
}
|
|
10186
10301
|
O2.info(` log: ${h.logFile.exists ? `${h.logFile.path} (${h.logFile.sizeKb} KB)` : "(not written yet)"}`);
|
|
10187
10302
|
}
|
|
10303
|
+
if (options.force) {
|
|
10304
|
+
await clearDoctorCaches(adapters, DOCTOR_FORCE_CLEAR_TARGETS, { includePluginBytes: false });
|
|
10305
|
+
}
|
|
10188
10306
|
for (const adapter of adapters) {
|
|
10189
|
-
await maybeFixPlugin(adapter
|
|
10307
|
+
await maybeFixPlugin(adapter);
|
|
10190
10308
|
}
|
|
10191
10309
|
if (hadProblems) {
|
|
10192
10310
|
wt("Run `aft setup` to register AFT with any harness showing `plugin registered: no`.", "Tips");
|
|
@@ -10196,19 +10314,87 @@ async function runDoctor(options) {
|
|
|
10196
10314
|
gt("Everything looks good.");
|
|
10197
10315
|
return 0;
|
|
10198
10316
|
}
|
|
10199
|
-
async function
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10207
|
-
|
|
10208
|
-
|
|
10209
|
-
|
|
10317
|
+
async function runClearFlow(argv) {
|
|
10318
|
+
const targets = await selectMany("What do you want to clear?", DOCTOR_CLEAR_TARGET_OPTIONS, undefined, false);
|
|
10319
|
+
if (targets.length === 0) {
|
|
10320
|
+
O2.info("No cache categories selected; nothing to clear.");
|
|
10321
|
+
gt("Done.");
|
|
10322
|
+
return 0;
|
|
10323
|
+
}
|
|
10324
|
+
const adapters = targets.includes("plugin-cache") ? await resolveAdaptersForCommand(argv, {
|
|
10325
|
+
allowMulti: true,
|
|
10326
|
+
verb: "clear plugin cache for"
|
|
10327
|
+
}) : [];
|
|
10328
|
+
const summary = await clearDoctorCaches(adapters, targets);
|
|
10329
|
+
gt(summary.hadErrors ? "Done — some cache entries could not be cleared." : "Done.");
|
|
10330
|
+
return summary.hadErrors ? 1 : 0;
|
|
10331
|
+
}
|
|
10332
|
+
async function clearDoctorCaches(adapters, targets, options = {}) {
|
|
10333
|
+
const summary = { hadErrors: false };
|
|
10334
|
+
if (targets.includes("plugin-cache")) {
|
|
10335
|
+
let cleared = 0;
|
|
10336
|
+
let totalBytes = 0;
|
|
10337
|
+
let errors = 0;
|
|
10338
|
+
for (const adapter of adapters) {
|
|
10339
|
+
const result = await clearPluginCache(adapter, options.includePluginBytes ?? true);
|
|
10340
|
+
if (result.action === "cleared") {
|
|
10341
|
+
cleared += 1;
|
|
10342
|
+
totalBytes += result.bytes;
|
|
10343
|
+
} else if (result.action === "error") {
|
|
10344
|
+
errors += 1;
|
|
10345
|
+
summary.hadErrors = true;
|
|
10346
|
+
}
|
|
10210
10347
|
}
|
|
10348
|
+
summary.pluginCache = { cleared, totalBytes, errors };
|
|
10349
|
+
}
|
|
10350
|
+
if (targets.includes("lsp-cache")) {
|
|
10351
|
+
const cleanup = (options.clearLspCaches ?? clearLspCaches)();
|
|
10352
|
+
reportLspCacheClear(cleanup);
|
|
10353
|
+
if (cleanup.errors.length > 0) {
|
|
10354
|
+
summary.hadErrors = true;
|
|
10355
|
+
}
|
|
10356
|
+
summary.lspCache = {
|
|
10357
|
+
cleared: cleanup.cleared.length,
|
|
10358
|
+
totalBytes: cleanup.totalBytes,
|
|
10359
|
+
errors: cleanup.errors.length
|
|
10360
|
+
};
|
|
10361
|
+
}
|
|
10362
|
+
return summary;
|
|
10363
|
+
}
|
|
10364
|
+
async function clearPluginCache(adapter, includeBytes) {
|
|
10365
|
+
const info = adapter.getPluginCacheInfo();
|
|
10366
|
+
const bytes = info.exists ? dirSize(info.path) : 0;
|
|
10367
|
+
const result = await adapter.clearPluginCache(true);
|
|
10368
|
+
if (result.action === "cleared") {
|
|
10369
|
+
const suffix = includeBytes ? `, reclaimed ${formatBytes(bytes)}` : "";
|
|
10370
|
+
O2.success(`${adapter.displayName}: cleared plugin cache at ${result.path}${suffix}`);
|
|
10371
|
+
return { action: "cleared", bytes };
|
|
10372
|
+
}
|
|
10373
|
+
if (result.action === "not_applicable") {
|
|
10374
|
+
O2.info(`${adapter.displayName}: no user-managed plugin cache to clear`);
|
|
10375
|
+
return { action: "not_applicable", bytes: 0 };
|
|
10376
|
+
}
|
|
10377
|
+
if (result.action === "not_found") {
|
|
10378
|
+
O2.info(`${adapter.displayName}: no plugin cache found at ${result.path}`);
|
|
10379
|
+
return { action: "not_found", bytes: 0 };
|
|
10211
10380
|
}
|
|
10381
|
+
if (result.action === "error") {
|
|
10382
|
+
O2.error(`${adapter.displayName}: cache clear failed: ${result.error ?? "unknown"}`);
|
|
10383
|
+
return { action: "error", bytes: 0 };
|
|
10384
|
+
}
|
|
10385
|
+
return { action: "not_found", bytes: 0 };
|
|
10386
|
+
}
|
|
10387
|
+
function reportLspCacheClear(cleanup) {
|
|
10388
|
+
if (cleanup.cleared.length === 0) {
|
|
10389
|
+
O2.info("LSP install cache: nothing to clear, reclaimed 0 B");
|
|
10390
|
+
} else {
|
|
10391
|
+
O2.success(`LSP install cache: cleared ${cleanup.cleared.length} install(s), reclaimed ${formatBytes(cleanup.totalBytes)}`);
|
|
10392
|
+
}
|
|
10393
|
+
for (const err of cleanup.errors) {
|
|
10394
|
+
O2.error(`LSP install cache: failed to remove ${err.path}: ${err.error}`);
|
|
10395
|
+
}
|
|
10396
|
+
}
|
|
10397
|
+
async function maybeFixPlugin(adapter) {
|
|
10212
10398
|
if (!adapter.hasPluginEntry() && adapter.isInstalled()) {
|
|
10213
10399
|
O2.info(`${adapter.displayName}: attempting to register plugin…`);
|
|
10214
10400
|
const r = await adapter.ensurePluginEntry();
|
|
@@ -10272,7 +10458,7 @@ ${tail || "<no log output>"}
|
|
|
10272
10458
|
`);
|
|
10273
10459
|
const body = sanitizeContent(rawBody);
|
|
10274
10460
|
const title = `AFT issue: ${description.slice(0, 72)}`;
|
|
10275
|
-
const outPath =
|
|
10461
|
+
const outPath = join9(process.cwd(), `aft-issue-${Date.now()}.md`);
|
|
10276
10462
|
writeFileSync2(outPath, `${body}
|
|
10277
10463
|
`);
|
|
10278
10464
|
O2.success(`Wrote sanitized issue body to ${outPath}`);
|
|
@@ -10294,13 +10480,26 @@ ${tail || "<no log output>"}
|
|
|
10294
10480
|
gt("Done.");
|
|
10295
10481
|
return 0;
|
|
10296
10482
|
}
|
|
10483
|
+
var DOCTOR_CLEAR_TARGET_OPTIONS, DOCTOR_FORCE_CLEAR_TARGETS;
|
|
10297
10484
|
var init_doctor = __esm(() => {
|
|
10298
10485
|
init_diagnostics();
|
|
10299
10486
|
init_fs_util();
|
|
10300
10487
|
init_github();
|
|
10301
10488
|
init_harness_select();
|
|
10489
|
+
init_lsp_cache();
|
|
10302
10490
|
init_prompts();
|
|
10303
10491
|
init_sanitize();
|
|
10492
|
+
DOCTOR_CLEAR_TARGET_OPTIONS = [
|
|
10493
|
+
{
|
|
10494
|
+
label: "Plugin npm cache (~/.cache/opencode/packages/@cortexkit/aft-opencode@latest, etc.)",
|
|
10495
|
+
value: "plugin-cache"
|
|
10496
|
+
},
|
|
10497
|
+
{
|
|
10498
|
+
label: "LSP install cache (~/.cache/aft/lsp-packages/, ~/.cache/aft/lsp-binaries/)",
|
|
10499
|
+
value: "lsp-cache"
|
|
10500
|
+
}
|
|
10501
|
+
];
|
|
10502
|
+
DOCTOR_FORCE_CLEAR_TARGETS = ["plugin-cache"];
|
|
10304
10503
|
});
|
|
10305
10504
|
|
|
10306
10505
|
// src/index.ts
|
|
@@ -10314,7 +10513,7 @@ function printHelp() {
|
|
|
10314
10513
|
console.log(" Commands:");
|
|
10315
10514
|
console.log(" setup Interactive setup wizard");
|
|
10316
10515
|
console.log(" doctor Check and fix configuration issues");
|
|
10317
|
-
console.log(" doctor --
|
|
10516
|
+
console.log(" doctor --clear Select caches to clear with an interactive prompt");
|
|
10318
10517
|
console.log(" doctor --issue Collect diagnostics and open a GitHub issue");
|
|
10319
10518
|
console.log("");
|
|
10320
10519
|
console.log(" Harness selection:");
|
|
@@ -10325,6 +10524,7 @@ function printHelp() {
|
|
|
10325
10524
|
console.log(" Usage:");
|
|
10326
10525
|
console.log(" bunx --bun @cortexkit/aft setup");
|
|
10327
10526
|
console.log(" bunx --bun @cortexkit/aft doctor");
|
|
10527
|
+
console.log(" bunx --bun @cortexkit/aft doctor --clear");
|
|
10328
10528
|
console.log(" bunx --bun @cortexkit/aft doctor --issue");
|
|
10329
10529
|
console.log("");
|
|
10330
10530
|
}
|
|
@@ -10336,8 +10536,9 @@ async function main() {
|
|
|
10336
10536
|
if (command === "doctor") {
|
|
10337
10537
|
const { runDoctor: runDoctor2 } = await Promise.resolve().then(() => (init_doctor(), exports_doctor));
|
|
10338
10538
|
const force = args.includes("--force");
|
|
10539
|
+
const clear = args.includes("--clear");
|
|
10339
10540
|
const issue = args.includes("--issue");
|
|
10340
|
-
return runDoctor2({ force, issue, argv: args });
|
|
10541
|
+
return runDoctor2({ clear, force, issue, argv: args });
|
|
10341
10542
|
}
|
|
10342
10543
|
printHelp();
|
|
10343
10544
|
return command ? 1 : 0;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HarnessAdapter } from "../adapters/types.js";
|
|
2
2
|
import { type BinaryCacheInfo } from "./binary-cache.js";
|
|
3
|
+
import { type LspCacheReport } from "./lsp-cache.js";
|
|
3
4
|
export interface DiagnosticReport {
|
|
4
5
|
timestamp: string;
|
|
5
6
|
platform: string;
|
|
@@ -9,6 +10,8 @@ export interface DiagnosticReport {
|
|
|
9
10
|
binaryVersion: string | null;
|
|
10
11
|
harnesses: HarnessDiagnostic[];
|
|
11
12
|
binaryCache: BinaryCacheInfo;
|
|
13
|
+
/** LSP package and binary caches populated by plugin auto-install. */
|
|
14
|
+
lspCache: LspCacheReport;
|
|
12
15
|
}
|
|
13
16
|
export interface HarnessDiagnostic {
|
|
14
17
|
kind: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAaxE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7D,SAAS,EAAE;QACT,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IACF,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9D,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,WAAW,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;QACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoB9F;AAgED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CA0D1E;AAED,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ/D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inspection and cleanup helpers for the AFT plugin's LSP cache.
|
|
3
|
+
*
|
|
4
|
+
* Two roots are populated by the plugin auto-installer at startup:
|
|
5
|
+
*
|
|
6
|
+
* <aft-cache-root>/lsp-packages/<urlencoded-pkg>/ ← npm installs
|
|
7
|
+
* <aft-cache-root>/lsp-binaries/<id>/ ← GitHub-release downloads
|
|
8
|
+
*
|
|
9
|
+
* The CLI reports their disk usage in `aft doctor` and can purge them via
|
|
10
|
+
* `aft doctor --force`. Purging is non-destructive in the sense that the
|
|
11
|
+
* plugin will simply re-install whatever the project needs on next session;
|
|
12
|
+
* it does not delete user-installed binaries (those live on PATH).
|
|
13
|
+
*/
|
|
14
|
+
export interface LspCacheEntry {
|
|
15
|
+
/** Display name (npm package name or GitHub server id). */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Absolute path to the entry root. */
|
|
18
|
+
path: string;
|
|
19
|
+
/** Total bytes occupied by this entry. */
|
|
20
|
+
size: number;
|
|
21
|
+
}
|
|
22
|
+
export interface LspCacheReport {
|
|
23
|
+
/** npm-installed servers (`<root>/lsp-packages/`). */
|
|
24
|
+
npm: {
|
|
25
|
+
path: string;
|
|
26
|
+
entries: LspCacheEntry[];
|
|
27
|
+
totalSize: number;
|
|
28
|
+
};
|
|
29
|
+
/** GitHub-installed servers (`<root>/lsp-binaries/`). */
|
|
30
|
+
github: {
|
|
31
|
+
path: string;
|
|
32
|
+
entries: LspCacheEntry[];
|
|
33
|
+
totalSize: number;
|
|
34
|
+
};
|
|
35
|
+
/** Combined size of both subtrees. Convenience for the doctor display. */
|
|
36
|
+
totalSize: number;
|
|
37
|
+
}
|
|
38
|
+
/** Build a full inspection report for both LSP cache subtrees. */
|
|
39
|
+
export declare function getLspCacheReport(): LspCacheReport;
|
|
40
|
+
export interface ClearResult {
|
|
41
|
+
cleared: {
|
|
42
|
+
name: string;
|
|
43
|
+
path: string;
|
|
44
|
+
size: number;
|
|
45
|
+
}[];
|
|
46
|
+
errors: {
|
|
47
|
+
path: string;
|
|
48
|
+
error: string;
|
|
49
|
+
}[];
|
|
50
|
+
totalBytes: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Remove every entry under both LSP cache subtrees.
|
|
54
|
+
*
|
|
55
|
+
* Returns metadata for the doctor output (number of entries cleared, bytes
|
|
56
|
+
* reclaimed, individual failures). Errors don't abort — we want to clean
|
|
57
|
+
* as much as possible even when some directories are locked or have unusual
|
|
58
|
+
* permissions.
|
|
59
|
+
*/
|
|
60
|
+
export declare function clearLspCaches(): ClearResult;
|
|
61
|
+
//# sourceMappingURL=lsp-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-cache.d.ts","sourceRoot":"","sources":["../../src/lib/lsp-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,yDAAyD;IACzD,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,aAAa,EAAE,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AA0CD,kEAAkE;AAClE,wBAAgB,iBAAiB,IAAI,cAAc,CAkBlD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAkB5C"}
|
package/dist/lib/paths.d.ts
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
/** `~/.cache/aft/bin/` (or the platform equivalent) — same as plugin's `getCacheDir`. */
|
|
2
2
|
export declare function getAftBinaryCacheDir(): string;
|
|
3
3
|
export declare function getAftBinaryName(): string;
|
|
4
|
+
/**
|
|
5
|
+
* Root of the LSP package cache populated by the OpenCode/Pi plugin.
|
|
6
|
+
*
|
|
7
|
+
* `~/.cache/aft/lsp-packages/<urlencoded-pkg>/node_modules/.bin/<binary>` for
|
|
8
|
+
* npm-distributed servers (typescript-language-server, pyright, etc.).
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAftLspPackagesDir(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Root of the LSP binary cache populated by the OpenCode/Pi plugin.
|
|
13
|
+
*
|
|
14
|
+
* `~/.cache/aft/lsp-binaries/<id>/bin/<binary>` for GitHub-distributed
|
|
15
|
+
* servers (clangd, lua-ls, zls, tinymist, texlab).
|
|
16
|
+
*/
|
|
17
|
+
export declare function getAftLspBinariesDir(): string;
|
|
4
18
|
/** Resolve the plugin log file path. Shared with the plugin's logger. */
|
|
5
19
|
export declare function getTmpLogPath(filename: string): string;
|
|
6
20
|
//# sourceMappingURL=paths.d.ts.map
|
package/dist/lib/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAW7C;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
package/dist/lib/prompts.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ interface PromptOption<T extends string> {
|
|
|
13
13
|
recommended?: boolean;
|
|
14
14
|
}
|
|
15
15
|
export declare function selectOne<T extends string>(message: string, options: PromptOption<T>[]): Promise<T>;
|
|
16
|
-
export declare function selectMany<T extends string>(message: string, options: PromptOption<T>[], initialValues?: T[]): Promise<T[]>;
|
|
16
|
+
export declare function selectMany<T extends string>(message: string, options: PromptOption<T>[], initialValues?: T[], required?: boolean): Promise<T[]>;
|
|
17
17
|
export declare function text(message: string, options?: {
|
|
18
18
|
placeholder?: string;
|
|
19
19
|
defaultValue?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAEL,GAAG,EAEH,IAAI,EACJ,KAAK,EAEL,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAS5C,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlF;AAED;;;;GAIG;AACH,UAAU,YAAY,CAAC,CAAC,SAAS,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,SAAS,CAAC,CAAC,SAAS,MAAM,EAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,aAAa,CAAC,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/lib/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAEL,GAAG,EAEH,IAAI,EACJ,KAAK,EAEL,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAS5C,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlF;AAED;;;;GAIG;AACH,UAAU,YAAY,CAAC,CAAC,SAAS,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,SAAS,CAAC,CAAC,SAAS,MAAM,EAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,aAAa,CAAC,EAAE,CAAC,EAAE,EACnB,QAAQ,UAAO,GACd,OAAO,CAAC,CAAC,EAAE,CAAC,CAcd;AAED,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;CACrD,GACL,OAAO,CAAC,MAAM,CAAC,CAcjB"}
|
package/package.json
CHANGED