codebuddy-stats 1.0.0 → 1.1.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/.github/workflows/publish.yml +41 -0
- package/README.md +120 -0
- package/dist/index.js +76 -18
- package/dist/index.js.map +1 -1
- package/dist/lib/data-loader.js +289 -56
- package/dist/lib/data-loader.js.map +1 -1
- package/dist/lib/paths.js +31 -7
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/workspace-resolver.js +211 -0
- package/dist/lib/workspace-resolver.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +86 -20
- package/src/lib/data-loader.ts +346 -67
- package/src/lib/paths.ts +33 -8
- package/src/lib/workspace-resolver.ts +235 -0
- package/index.js +0 -16
package/dist/lib/data-loader.js
CHANGED
|
@@ -2,8 +2,9 @@ import fs from 'node:fs/promises';
|
|
|
2
2
|
import fsSync from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { createInterface } from 'node:readline';
|
|
5
|
-
import { getProjectsDir, getSettingsPath } from './paths.js';
|
|
5
|
+
import { getIdeDataDir, getProjectsDir, getSettingsPath } from './paths.js';
|
|
6
6
|
import { DEFAULT_MODEL_ID, getPricingForModel, tokensToCost } from './pricing.js';
|
|
7
|
+
import { loadWorkspaceMappings } from './workspace-resolver.js';
|
|
7
8
|
export const BASE_DIR = getProjectsDir();
|
|
8
9
|
async function loadModelFromSettings() {
|
|
9
10
|
try {
|
|
@@ -72,29 +73,96 @@ function computeUsageCost(usage, modelId) {
|
|
|
72
73
|
inputCost += tokensToCost(stats.promptTokens, pricing.prompt);
|
|
73
74
|
}
|
|
74
75
|
const outputCost = tokensToCost(stats.completionTokens, pricing.completion);
|
|
75
|
-
return { cost: inputCost + outputCost, stats
|
|
76
|
+
return { cost: inputCost + outputCost, stats };
|
|
77
|
+
}
|
|
78
|
+
function computeMinDate(days) {
|
|
79
|
+
if (!days)
|
|
80
|
+
return null;
|
|
81
|
+
const d = new Date();
|
|
82
|
+
d.setDate(d.getDate() - days + 1);
|
|
83
|
+
d.setHours(0, 0, 0, 0);
|
|
84
|
+
return d.toISOString().split('T')[0] ?? null;
|
|
85
|
+
}
|
|
86
|
+
function toISODateString(value) {
|
|
87
|
+
if (typeof value !== 'string')
|
|
88
|
+
return null;
|
|
89
|
+
const d = new Date(value);
|
|
90
|
+
if (Number.isNaN(d.getTime()))
|
|
91
|
+
return null;
|
|
92
|
+
return d.toISOString().split('T')[0] ?? null;
|
|
93
|
+
}
|
|
94
|
+
async function pathExists(p) {
|
|
95
|
+
try {
|
|
96
|
+
await fs.access(p);
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function ensureDailyModelStats(dailyData, date, project, modelId) {
|
|
104
|
+
dailyData[date] ??= {};
|
|
105
|
+
dailyData[date][project] ??= {};
|
|
106
|
+
dailyData[date][project][modelId] ??= {
|
|
107
|
+
cost: 0,
|
|
108
|
+
promptTokens: 0,
|
|
109
|
+
completionTokens: 0,
|
|
110
|
+
totalTokens: 0,
|
|
111
|
+
cacheHitTokens: 0,
|
|
112
|
+
cacheMissTokens: 0,
|
|
113
|
+
cacheWriteTokens: 0,
|
|
114
|
+
requests: 0,
|
|
115
|
+
};
|
|
116
|
+
return dailyData[date][project][modelId];
|
|
117
|
+
}
|
|
118
|
+
function finalizeAnalysis(defaultModelId, dailyData, modelTotals, projectTotals, grandTotal, workspaceMappings) {
|
|
119
|
+
const dailySummary = {};
|
|
120
|
+
for (const date of Object.keys(dailyData)) {
|
|
121
|
+
dailySummary[date] = { cost: 0, tokens: 0, requests: 0 };
|
|
122
|
+
for (const project of Object.values(dailyData[date] ?? {})) {
|
|
123
|
+
for (const model of Object.values(project ?? {})) {
|
|
124
|
+
dailySummary[date].cost += model.cost;
|
|
125
|
+
dailySummary[date].tokens += model.totalTokens;
|
|
126
|
+
dailySummary[date].requests += model.requests;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const topModelEntry = Object.entries(modelTotals).sort((a, b) => b[1].cost - a[1].cost)[0];
|
|
131
|
+
const topProjectEntry = Object.entries(projectTotals).sort((a, b) => b[1].cost - a[1].cost)[0];
|
|
132
|
+
const cacheHitRate = grandTotal.cacheHitTokens + grandTotal.cacheMissTokens > 0
|
|
133
|
+
? grandTotal.cacheHitTokens / (grandTotal.cacheHitTokens + grandTotal.cacheMissTokens)
|
|
134
|
+
: 0;
|
|
135
|
+
return {
|
|
136
|
+
defaultModelId,
|
|
137
|
+
dailyData,
|
|
138
|
+
dailySummary,
|
|
139
|
+
modelTotals,
|
|
140
|
+
projectTotals,
|
|
141
|
+
grandTotal,
|
|
142
|
+
topModel: topModelEntry ? { id: topModelEntry[0], ...topModelEntry[1] } : null,
|
|
143
|
+
topProject: topProjectEntry ? { name: topProjectEntry[0], ...topProjectEntry[1] } : null,
|
|
144
|
+
cacheHitRate,
|
|
145
|
+
activeDays: Object.keys(dailyData).length,
|
|
146
|
+
workspaceMappings,
|
|
147
|
+
};
|
|
76
148
|
}
|
|
77
149
|
/**
|
|
78
150
|
* 加载所有用量数据
|
|
79
151
|
*/
|
|
80
152
|
export async function loadUsageData(options = {}) {
|
|
153
|
+
const source = options.source ?? 'code';
|
|
154
|
+
if (source === 'ide') {
|
|
155
|
+
return loadIdeUsageData(options);
|
|
156
|
+
}
|
|
157
|
+
return loadCodeUsageData(options);
|
|
158
|
+
}
|
|
159
|
+
async function loadCodeUsageData(options = {}) {
|
|
81
160
|
const defaultModelId = await loadModelFromSettings();
|
|
82
161
|
const jsonlFiles = await findJsonlFiles(BASE_DIR);
|
|
83
|
-
|
|
84
|
-
let minDate = null;
|
|
85
|
-
if (options.days) {
|
|
86
|
-
const d = new Date();
|
|
87
|
-
d.setDate(d.getDate() - options.days + 1);
|
|
88
|
-
d.setHours(0, 0, 0, 0);
|
|
89
|
-
minDate = d.toISOString().split('T')[0] ?? null;
|
|
90
|
-
}
|
|
91
|
-
// 按日期 -> 项目 -> 模型 组织的数据
|
|
162
|
+
const minDate = computeMinDate(options.days);
|
|
92
163
|
const dailyData = {};
|
|
93
|
-
// 按模型汇总
|
|
94
164
|
const modelTotals = {};
|
|
95
|
-
// 按项目汇总
|
|
96
165
|
const projectTotals = {};
|
|
97
|
-
// 总计
|
|
98
166
|
const grandTotal = {
|
|
99
167
|
cost: 0,
|
|
100
168
|
tokens: 0,
|
|
@@ -125,25 +193,13 @@ export async function loadUsageData(options = {}) {
|
|
|
125
193
|
const date = dateObj.toISOString().split('T')[0];
|
|
126
194
|
if (!date)
|
|
127
195
|
continue;
|
|
128
|
-
// 日期过滤
|
|
129
196
|
if (minDate && date < minDate)
|
|
130
197
|
continue;
|
|
131
198
|
const recordModelId = record?.providerData?.model;
|
|
132
|
-
const
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
dailyData
|
|
136
|
-
dailyData[date][projectName][usedModelId] ??= {
|
|
137
|
-
cost: 0,
|
|
138
|
-
promptTokens: 0,
|
|
139
|
-
completionTokens: 0,
|
|
140
|
-
totalTokens: 0,
|
|
141
|
-
cacheHitTokens: 0,
|
|
142
|
-
cacheMissTokens: 0,
|
|
143
|
-
cacheWriteTokens: 0,
|
|
144
|
-
requests: 0,
|
|
145
|
-
};
|
|
146
|
-
const dayStats = dailyData[date][projectName][usedModelId];
|
|
199
|
+
const modelFromRecord = typeof recordModelId === 'string' ? recordModelId : null;
|
|
200
|
+
const usedModelId = modelFromRecord || defaultModelId;
|
|
201
|
+
const { cost, stats: usageStats } = computeUsageCost(usage, usedModelId);
|
|
202
|
+
const dayStats = ensureDailyModelStats(dailyData, date, projectName, usedModelId);
|
|
147
203
|
dayStats.cost += cost;
|
|
148
204
|
dayStats.promptTokens += usageStats.promptTokens;
|
|
149
205
|
dayStats.completionTokens += usageStats.completionTokens;
|
|
@@ -171,35 +227,212 @@ export async function loadUsageData(options = {}) {
|
|
|
171
227
|
}
|
|
172
228
|
}
|
|
173
229
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
230
|
+
return finalizeAnalysis(defaultModelId, dailyData, modelTotals, projectTotals, grandTotal);
|
|
231
|
+
}
|
|
232
|
+
async function findIdeHistoryDirs() {
|
|
233
|
+
const root = getIdeDataDir();
|
|
234
|
+
const out = new Set();
|
|
235
|
+
let level1 = [];
|
|
236
|
+
try {
|
|
237
|
+
level1 = await fs.readdir(root, { withFileTypes: true });
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
for (const dirent of level1) {
|
|
243
|
+
if (!dirent.isDirectory())
|
|
244
|
+
continue;
|
|
245
|
+
const codeBuddyIdeDir = path.join(root, dirent.name, 'CodeBuddyIDE');
|
|
246
|
+
if (!(await pathExists(codeBuddyIdeDir)))
|
|
247
|
+
continue;
|
|
248
|
+
const directHistory = path.join(codeBuddyIdeDir, 'history');
|
|
249
|
+
if (await pathExists(directHistory)) {
|
|
250
|
+
out.add(directHistory);
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
let nested = [];
|
|
254
|
+
try {
|
|
255
|
+
nested = await fs.readdir(codeBuddyIdeDir, { withFileTypes: true });
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
for (const child of nested) {
|
|
261
|
+
if (!child.isDirectory())
|
|
262
|
+
continue;
|
|
263
|
+
const nestedHistory = path.join(codeBuddyIdeDir, child.name, 'history');
|
|
264
|
+
if (await pathExists(nestedHistory)) {
|
|
265
|
+
out.add(nestedHistory);
|
|
183
266
|
}
|
|
184
267
|
}
|
|
185
268
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
269
|
+
return [...out];
|
|
270
|
+
}
|
|
271
|
+
async function readJsonFile(filePath) {
|
|
272
|
+
const raw = await fs.readFile(filePath, 'utf8');
|
|
273
|
+
return JSON.parse(raw);
|
|
274
|
+
}
|
|
275
|
+
async function readFileHeadUtf8(filePath, bytes = 64 * 1024) {
|
|
276
|
+
const fh = await fs.open(filePath, 'r');
|
|
277
|
+
try {
|
|
278
|
+
const buf = Buffer.alloc(bytes);
|
|
279
|
+
const { bytesRead } = await fh.read(buf, 0, buf.length, 0);
|
|
280
|
+
return buf.toString('utf8', 0, bytesRead);
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
await fh.close();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
function extractModelIdFromMessageHead(head) {
|
|
287
|
+
// extra 是一个转义的 JSON 字符串,形如: "extra": "{\"modelId\":\"gpt-5.1\",...}"
|
|
288
|
+
// 正则需要匹配包含转义字符的完整字符串
|
|
289
|
+
const extraMatch = head.match(/"extra"\s*:\s*"((?:[^"\\]|\\.)*)"/s);
|
|
290
|
+
if (!extraMatch?.[1])
|
|
291
|
+
return null;
|
|
292
|
+
try {
|
|
293
|
+
// extraMatch[1] 是转义后的内容,需要先解析为字符串
|
|
294
|
+
const extraStr = JSON.parse(`"${extraMatch[1]}"`);
|
|
295
|
+
const extra = JSON.parse(extraStr);
|
|
296
|
+
if (typeof extra.modelId === 'string' && extra.modelId)
|
|
297
|
+
return extra.modelId;
|
|
298
|
+
if (typeof extra.modelName === 'string' && extra.modelName)
|
|
299
|
+
return extra.modelName;
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
async function inferIdeModelIdForRequest(conversationDir, request, messageModelCache) {
|
|
307
|
+
const messages = Array.isArray(request.messages) ? request.messages : [];
|
|
308
|
+
for (let i = 0; i < Math.min(messages.length, 3); i++) {
|
|
309
|
+
const messageId = messages[i];
|
|
310
|
+
if (typeof messageId !== 'string' || !messageId)
|
|
311
|
+
continue;
|
|
312
|
+
const cached = messageModelCache.get(messageId);
|
|
313
|
+
if (cached)
|
|
314
|
+
return cached;
|
|
315
|
+
const msgPath = path.join(conversationDir, 'messages', `${messageId}.json`);
|
|
316
|
+
try {
|
|
317
|
+
const head = await readFileHeadUtf8(msgPath);
|
|
318
|
+
const modelId = extractModelIdFromMessageHead(head);
|
|
319
|
+
if (modelId) {
|
|
320
|
+
messageModelCache.set(messageId, modelId);
|
|
321
|
+
return modelId;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
// ignore
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
330
|
+
async function loadIdeUsageData(options = {}) {
|
|
331
|
+
const defaultModelId = await loadModelFromSettings();
|
|
332
|
+
const minDate = computeMinDate(options.days);
|
|
333
|
+
// 加载工作区映射
|
|
334
|
+
const workspaceMappings = await loadWorkspaceMappings();
|
|
335
|
+
const dailyData = {};
|
|
336
|
+
const modelTotals = {};
|
|
337
|
+
const projectTotals = {};
|
|
338
|
+
const grandTotal = {
|
|
339
|
+
cost: 0,
|
|
340
|
+
tokens: 0,
|
|
341
|
+
requests: 0,
|
|
342
|
+
cacheHitTokens: 0,
|
|
343
|
+
cacheMissTokens: 0,
|
|
203
344
|
};
|
|
345
|
+
const historyDirs = await findIdeHistoryDirs();
|
|
346
|
+
const messageModelCache = new Map();
|
|
347
|
+
for (const historyDir of historyDirs) {
|
|
348
|
+
let workspaces = [];
|
|
349
|
+
try {
|
|
350
|
+
workspaces = await fs.readdir(historyDir, { withFileTypes: true });
|
|
351
|
+
}
|
|
352
|
+
catch {
|
|
353
|
+
continue;
|
|
354
|
+
}
|
|
355
|
+
for (const ws of workspaces) {
|
|
356
|
+
if (!ws.isDirectory())
|
|
357
|
+
continue;
|
|
358
|
+
const workspaceHash = ws.name;
|
|
359
|
+
const workspaceDir = path.join(historyDir, workspaceHash);
|
|
360
|
+
const workspaceIndexPath = path.join(workspaceDir, 'index.json');
|
|
361
|
+
let convList = [];
|
|
362
|
+
try {
|
|
363
|
+
const parsed = (await readJsonFile(workspaceIndexPath));
|
|
364
|
+
if (Array.isArray(parsed)) {
|
|
365
|
+
convList = parsed;
|
|
366
|
+
}
|
|
367
|
+
else if (parsed && typeof parsed === 'object') {
|
|
368
|
+
const maybe = parsed.conversations ?? parsed.items ?? parsed.list;
|
|
369
|
+
if (Array.isArray(maybe))
|
|
370
|
+
convList = maybe;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch {
|
|
374
|
+
continue;
|
|
375
|
+
}
|
|
376
|
+
for (const conv of convList) {
|
|
377
|
+
const conversationId = typeof conv.id === 'string' ? conv.id : null;
|
|
378
|
+
if (!conversationId)
|
|
379
|
+
continue;
|
|
380
|
+
const date = toISODateString(conv.lastMessageAt) ?? toISODateString(conv.createdAt);
|
|
381
|
+
if (!date)
|
|
382
|
+
continue;
|
|
383
|
+
if (minDate && date < minDate)
|
|
384
|
+
continue;
|
|
385
|
+
const conversationDir = path.join(workspaceDir, conversationId);
|
|
386
|
+
const convIndexPath = path.join(conversationDir, 'index.json');
|
|
387
|
+
let convIndex = null;
|
|
388
|
+
try {
|
|
389
|
+
convIndex = (await readJsonFile(convIndexPath));
|
|
390
|
+
}
|
|
391
|
+
catch {
|
|
392
|
+
continue;
|
|
393
|
+
}
|
|
394
|
+
const requests = Array.isArray(convIndex?.requests) ? convIndex.requests : [];
|
|
395
|
+
for (const req of requests) {
|
|
396
|
+
const usage = req?.usage;
|
|
397
|
+
const inputTokens = typeof usage?.inputTokens === 'number' ? usage.inputTokens : Number(usage?.inputTokens ?? 0);
|
|
398
|
+
const outputTokens = typeof usage?.outputTokens === 'number' ? usage.outputTokens : Number(usage?.outputTokens ?? 0);
|
|
399
|
+
const totalTokens = typeof usage?.totalTokens === 'number'
|
|
400
|
+
? usage.totalTokens
|
|
401
|
+
: Number.isFinite(Number(usage?.totalTokens))
|
|
402
|
+
? Number(usage?.totalTokens)
|
|
403
|
+
: inputTokens + outputTokens;
|
|
404
|
+
if (!Number.isFinite(inputTokens) || !Number.isFinite(outputTokens) || !Number.isFinite(totalTokens))
|
|
405
|
+
continue;
|
|
406
|
+
const inferredModelId = await inferIdeModelIdForRequest(conversationDir, req, messageModelCache);
|
|
407
|
+
const usedModelId = inferredModelId || defaultModelId;
|
|
408
|
+
const rawUsage = {
|
|
409
|
+
prompt_tokens: Math.max(0, inputTokens),
|
|
410
|
+
completion_tokens: Math.max(0, outputTokens),
|
|
411
|
+
total_tokens: Math.max(0, totalTokens),
|
|
412
|
+
};
|
|
413
|
+
const { cost, stats } = computeUsageCost(rawUsage, usedModelId);
|
|
414
|
+
const projectName = workspaceHash;
|
|
415
|
+
const dayStats = ensureDailyModelStats(dailyData, date, projectName, usedModelId);
|
|
416
|
+
dayStats.cost += cost;
|
|
417
|
+
dayStats.promptTokens += stats.promptTokens;
|
|
418
|
+
dayStats.completionTokens += stats.completionTokens;
|
|
419
|
+
dayStats.totalTokens += stats.totalTokens;
|
|
420
|
+
dayStats.requests += 1;
|
|
421
|
+
modelTotals[usedModelId] ??= { cost: 0, tokens: 0, requests: 0 };
|
|
422
|
+
modelTotals[usedModelId].cost += cost;
|
|
423
|
+
modelTotals[usedModelId].tokens += stats.totalTokens;
|
|
424
|
+
modelTotals[usedModelId].requests += 1;
|
|
425
|
+
projectTotals[projectName] ??= { cost: 0, tokens: 0, requests: 0 };
|
|
426
|
+
projectTotals[projectName].cost += cost;
|
|
427
|
+
projectTotals[projectName].tokens += stats.totalTokens;
|
|
428
|
+
projectTotals[projectName].requests += 1;
|
|
429
|
+
grandTotal.cost += cost;
|
|
430
|
+
grandTotal.tokens += stats.totalTokens;
|
|
431
|
+
grandTotal.requests += 1;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
return finalizeAnalysis(defaultModelId, dailyData, modelTotals, projectTotals, grandTotal, workspaceMappings);
|
|
204
437
|
}
|
|
205
438
|
//# sourceMappingURL=data-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-loader.js","sourceRoot":"","sources":["../../src/lib/data-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-loader.js","sourceRoot":"","sources":["../../src/lib/data-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/paths.js
CHANGED
|
@@ -20,6 +20,37 @@ export function getConfigDir() {
|
|
|
20
20
|
// macOS 和 Linux 默认
|
|
21
21
|
return path.join(os.homedir(), '.codebuddy');
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* 获取 CodeBuddy IDE (CodeBuddyExtension) 数据目录
|
|
25
|
+
* - macOS: ~/Library/Application Support/CodeBuddyExtension/Data
|
|
26
|
+
* - Windows: %APPDATA%/CodeBuddyExtension/Data
|
|
27
|
+
* - Linux: $XDG_CONFIG_HOME/CodeBuddyExtension/Data 或 ~/.config/CodeBuddyExtension/Data
|
|
28
|
+
*/
|
|
29
|
+
export function getIdeDataDir() {
|
|
30
|
+
if (process.platform === 'darwin') {
|
|
31
|
+
return path.join(os.homedir(), 'Library', 'Application Support', 'CodeBuddyExtension', 'Data');
|
|
32
|
+
}
|
|
33
|
+
if (process.platform === 'win32') {
|
|
34
|
+
const appData = process.env.APPDATA || path.join(os.homedir(), 'AppData', 'Roaming');
|
|
35
|
+
return path.join(appData, 'CodeBuddyExtension', 'Data');
|
|
36
|
+
}
|
|
37
|
+
const xdgConfigHome = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config');
|
|
38
|
+
return path.join(xdgConfigHome, 'CodeBuddyExtension', 'Data');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 获取 CodeBuddy IDE 的 workspaceStorage 目录
|
|
42
|
+
*/
|
|
43
|
+
export function getWorkspaceStorageDir() {
|
|
44
|
+
if (process.platform === 'darwin') {
|
|
45
|
+
return path.join(os.homedir(), 'Library', 'Application Support', 'CodeBuddy CN', 'User', 'workspaceStorage');
|
|
46
|
+
}
|
|
47
|
+
if (process.platform === 'win32') {
|
|
48
|
+
const appData = process.env.APPDATA || path.join(os.homedir(), 'AppData', 'Roaming');
|
|
49
|
+
return path.join(appData, 'CodeBuddy CN', 'User', 'workspaceStorage');
|
|
50
|
+
}
|
|
51
|
+
const configHome = process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config');
|
|
52
|
+
return path.join(configHome, 'CodeBuddy CN', 'User', 'workspaceStorage');
|
|
53
|
+
}
|
|
23
54
|
/**
|
|
24
55
|
* 获取项目数据目录
|
|
25
56
|
*/
|
|
@@ -32,11 +63,4 @@ export function getProjectsDir() {
|
|
|
32
63
|
export function getSettingsPath() {
|
|
33
64
|
return path.join(getConfigDir(), 'settings.json');
|
|
34
65
|
}
|
|
35
|
-
/**
|
|
36
|
-
* 简化项目路径显示
|
|
37
|
-
* 保持原始名称不变
|
|
38
|
-
*/
|
|
39
|
-
export function shortenProjectName(name) {
|
|
40
|
-
return name;
|
|
41
|
-
}
|
|
42
66
|
//# sourceMappingURL=paths.js.map
|
package/dist/lib/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACpF,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;QACjD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,mBAAmB;IACnB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/lib/paths.ts"],"names":[],"mappings":"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"}
|