vibetracking 0.2.1 → 0.2.2
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.js +24 -247
- package/dist/cli.js.map +1 -1
- package/dist/cursor.d.ts +38 -63
- package/dist/cursor.d.ts.map +1 -1
- package/dist/cursor.js +194 -146
- package/dist/cursor.js.map +1 -1
- package/dist/native-runner.js +2 -33
- package/dist/native-runner.js.map +1 -1
- package/dist/native.d.ts +3 -3
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +6 -66
- package/dist/native.js.map +1 -1
- package/package.json +2 -1
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ const pkg = require("../package.json");
|
|
|
11
11
|
import pc from "picocolors";
|
|
12
12
|
import open from "open";
|
|
13
13
|
import pako from "pako";
|
|
14
|
-
import {
|
|
14
|
+
import { syncCursorCache, isCursorInstalled, } from "./cursor.js";
|
|
15
15
|
import { initNativeModule, parseLocalSourcesAsync, finalizeGraphAsync, } from "./native.js";
|
|
16
16
|
import { createSpinner } from "./spinner.js";
|
|
17
17
|
// =============================================================================
|
|
@@ -49,107 +49,16 @@ async function main() {
|
|
|
49
49
|
.action(async (options) => {
|
|
50
50
|
await openBrowserWithData(options.inviter);
|
|
51
51
|
});
|
|
52
|
-
// Cursor IDE integration
|
|
53
|
-
const cursorCommand = program
|
|
54
|
-
.command("cursor")
|
|
55
|
-
.description("Cursor IDE integration commands");
|
|
56
|
-
cursorCommand
|
|
57
|
-
.command("login")
|
|
58
|
-
.description("Login to Cursor (paste your session token)")
|
|
59
|
-
.action(async () => {
|
|
60
|
-
await cursorLogin();
|
|
61
|
-
});
|
|
62
|
-
cursorCommand
|
|
63
|
-
.command("logout")
|
|
64
|
-
.description("Logout from Cursor")
|
|
65
|
-
.action(async () => {
|
|
66
|
-
await cursorLogout();
|
|
67
|
-
});
|
|
68
|
-
cursorCommand
|
|
69
|
-
.command("status")
|
|
70
|
-
.description("Check Cursor authentication status")
|
|
71
|
-
.action(async () => {
|
|
72
|
-
await cursorStatus();
|
|
73
|
-
});
|
|
74
52
|
await program.parseAsync();
|
|
75
53
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Prompt user to login to Cursor during first-run if Cursor is installed
|
|
78
|
-
* Returns true if user successfully logged in, false otherwise
|
|
79
|
-
*/
|
|
80
|
-
async function promptForCursorLogin() {
|
|
81
|
-
const readline = await import("node:readline");
|
|
82
|
-
const rl = readline.createInterface({
|
|
83
|
-
input: process.stdin,
|
|
84
|
-
output: process.stdout,
|
|
85
|
-
});
|
|
86
|
-
// Ask y/n question
|
|
87
|
-
const shouldLogin = await new Promise((resolve) => {
|
|
88
|
-
rl.question(pc.white(" Would you like to include your Cursor usage data? (y/n): "), (answer) => {
|
|
89
|
-
resolve(answer.trim().toLowerCase() === "y");
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
if (!shouldLogin) {
|
|
93
|
-
rl.close();
|
|
94
|
-
console.log();
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
// Open browser to Cursor dashboard
|
|
98
|
-
console.log(pc.gray("\n Opening Cursor dashboard in your browser..."));
|
|
99
|
-
await open("https://www.cursor.com/dashboard");
|
|
100
|
-
// Show instructions - token is HttpOnly so must use Network tab
|
|
101
|
-
const isMac = process.platform === "darwin";
|
|
102
|
-
const devtoolsShortcut = isMac ? "Cmd+Option+I" : "F12";
|
|
103
|
-
console.log(pc.white("\n To get your token:"));
|
|
104
|
-
console.log(pc.gray(` 1. Press ${pc.white(devtoolsShortcut)} to open DevTools`));
|
|
105
|
-
console.log(pc.gray(` 2. Go to ${pc.white("Network")} tab, click any request to cursor.com`));
|
|
106
|
-
console.log(pc.gray(` 3. In the ${pc.white("Cookies")} tab, find ${pc.white("WorkosCursorSessionToken")}`));
|
|
107
|
-
console.log(pc.gray(` 4. Copy the value (starts with "eyJ...")`));
|
|
108
|
-
console.log();
|
|
109
|
-
// Prompt for token
|
|
110
|
-
const token = await new Promise((resolve) => {
|
|
111
|
-
rl.question(pc.white(" Paste your session token: "), (answer) => {
|
|
112
|
-
rl.close();
|
|
113
|
-
resolve(answer.trim());
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
if (!token) {
|
|
117
|
-
console.log(pc.yellow("\n Skipped. You can run 'vibetracking cursor login' later.\n"));
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
// Validate and save
|
|
121
|
-
console.log(pc.gray("\n Validating token..."));
|
|
122
|
-
const validation = await validateCursorSession(token);
|
|
123
|
-
if (!validation.valid) {
|
|
124
|
-
console.log(pc.red(`\n Invalid token: ${validation.error}`));
|
|
125
|
-
console.log(pc.gray(" Continuing without Cursor data. Run 'vibetracking cursor login' later.\n"));
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
saveCursorCredentials({
|
|
129
|
-
sessionToken: token,
|
|
130
|
-
createdAt: new Date().toISOString(),
|
|
131
|
-
});
|
|
132
|
-
console.log(pc.green("\n Success! Logged in to Cursor."));
|
|
133
|
-
if (validation.membershipType) {
|
|
134
|
-
console.log(pc.gray(` Membership: ${validation.membershipType}`));
|
|
135
|
-
}
|
|
136
|
-
console.log();
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
54
|
async function openBrowserWithData(inviterUsername) {
|
|
140
|
-
// Check if Cursor is installed but not logged in - prompt user to setup
|
|
141
55
|
const cursorInstalled = isCursorInstalled();
|
|
142
|
-
const cursorLoggedIn = isCursorLoggedIn();
|
|
143
56
|
// Clean inviter username (strip @ prefix if present)
|
|
144
57
|
const inviter = inviterUsername?.replace(/^@/, "");
|
|
145
|
-
console.log(pc.
|
|
58
|
+
console.log(pc.magenta("\n ✨ Vibetracking\n"));
|
|
146
59
|
if (inviter) {
|
|
147
60
|
console.log(pc.magenta(` Accepting challenge from @${inviter}\n`));
|
|
148
61
|
}
|
|
149
|
-
if (cursorInstalled && !cursorLoggedIn) {
|
|
150
|
-
console.log(pc.white(" We detected Cursor IDE installed."));
|
|
151
|
-
await promptForCursorLogin();
|
|
152
|
-
}
|
|
153
62
|
// Initialize native module (downloads binary on first run)
|
|
154
63
|
try {
|
|
155
64
|
await initNativeModule();
|
|
@@ -158,28 +67,33 @@ async function openBrowserWithData(inviterUsername) {
|
|
|
158
67
|
console.error(pc.red(`\n Failed to initialize: ${e.message}\n`));
|
|
159
68
|
process.exit(1);
|
|
160
69
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const {
|
|
70
|
+
// Sync Cursor data first (requires user interaction - opens browser)
|
|
71
|
+
let cursorSync = { synced: false, rows: 0 };
|
|
72
|
+
if (cursorInstalled) {
|
|
73
|
+
cursorSync = await syncCursorCache();
|
|
74
|
+
}
|
|
75
|
+
const spinner = createSpinner({ color: "magenta" });
|
|
76
|
+
spinner.start(pc.gray("Scanning your AI coding adventures..."));
|
|
77
|
+
const localSources = ['opencode', 'claude', 'codex', 'gemini', 'amp', 'droid'];
|
|
78
|
+
const localMessages = await parseLocalSourcesAsync({ sources: localSources });
|
|
167
79
|
// Check if we have any data - either from local sources or Cursor
|
|
168
80
|
const hasLocalData = localMessages && localMessages.messages.length > 0;
|
|
169
|
-
const hasCursorData =
|
|
81
|
+
const hasCursorData = cursorSync.synced && cursorSync.rows > 0;
|
|
170
82
|
if (!hasLocalData && !hasCursorData) {
|
|
171
|
-
spinner.error("No AI coding
|
|
83
|
+
spinner.error("No AI coding adventures found yet!");
|
|
172
84
|
console.log(pc.gray("\n Supported tools:"));
|
|
173
85
|
console.log(pc.gray(" - Claude Code (~/.claude/projects/)"));
|
|
174
86
|
console.log(pc.gray(" - Codex (~/.codex/)"));
|
|
175
|
-
console.log(pc.gray(" - Cursor (
|
|
87
|
+
console.log(pc.gray(" - Cursor (download from cursor.com)"));
|
|
88
|
+
console.log(pc.gray(" - Gemini (~/.gemini/)"));
|
|
89
|
+
console.log(pc.gray(" - Amp (~/.ampcode/)"));
|
|
176
90
|
if (cursorSync.error) {
|
|
177
|
-
console.log(pc.gray(`\n Cursor
|
|
91
|
+
console.log(pc.gray(`\n Cursor error: ${cursorSync.error}`));
|
|
178
92
|
}
|
|
179
93
|
console.log();
|
|
180
94
|
process.exit(1);
|
|
181
95
|
}
|
|
182
|
-
spinner.update(pc.gray("
|
|
96
|
+
spinner.update(pc.gray("Crunching the numbers..."));
|
|
183
97
|
// Get graph data for encoding
|
|
184
98
|
// Use empty ParsedMessages if no local data (Cursor-only scenario)
|
|
185
99
|
const emptyParsedMessages = {
|
|
@@ -195,16 +109,16 @@ async function openBrowserWithData(inviterUsername) {
|
|
|
195
109
|
const messagesForGraph = localMessages ?? emptyParsedMessages;
|
|
196
110
|
const graphData = await finalizeGraphAsync({
|
|
197
111
|
localMessages: messagesForGraph,
|
|
198
|
-
includeCursor:
|
|
112
|
+
includeCursor: cursorSync.synced,
|
|
199
113
|
});
|
|
200
114
|
spinner.stop();
|
|
201
115
|
// Show summary
|
|
202
116
|
const totalTokens = graphData.summary.totalTokens;
|
|
203
117
|
const totalCost = graphData.summary.totalCost;
|
|
204
118
|
const sources = graphData.summary.sources;
|
|
205
|
-
console.log(pc.
|
|
206
|
-
console.log(pc.gray(`
|
|
207
|
-
console.log(pc.gray(`
|
|
119
|
+
console.log(pc.yellow(` 🎉 Found ${formatNumber(totalTokens)} tokens from ${sources.length} tool${sources.length > 1 ? "s" : ""}`));
|
|
120
|
+
console.log(pc.gray(` You've mass-vibed ${pc.green(formatCurrency(totalCost))} on AI coding!`));
|
|
121
|
+
console.log(pc.gray(` Tools: ${sources.join(" · ")}`));
|
|
208
122
|
console.log();
|
|
209
123
|
// Encode data and open browser
|
|
210
124
|
const encoded = encodeDataForBrowser(graphData);
|
|
@@ -215,146 +129,9 @@ async function openBrowserWithData(inviterUsername) {
|
|
|
215
129
|
url += `?inviter=${encodeURIComponent(inviter)}`;
|
|
216
130
|
}
|
|
217
131
|
url += `#${encoded}`;
|
|
218
|
-
console.log(pc.
|
|
219
|
-
console.log(pc.gray(`
|
|
132
|
+
console.log(pc.cyan(` 🚀 Let's see your stats!`));
|
|
133
|
+
console.log(pc.gray(` vibetracking.dev/import#...\n`));
|
|
220
134
|
await open(url);
|
|
221
135
|
}
|
|
222
|
-
// =============================================================================
|
|
223
|
-
// Data Loading
|
|
224
|
-
// =============================================================================
|
|
225
|
-
async function syncCursorData() {
|
|
226
|
-
const credentials = loadCursorCredentials();
|
|
227
|
-
if (!credentials) {
|
|
228
|
-
return { attempted: false, synced: false, rows: 0 };
|
|
229
|
-
}
|
|
230
|
-
const result = await syncCursorCache();
|
|
231
|
-
return {
|
|
232
|
-
attempted: true,
|
|
233
|
-
synced: result.synced,
|
|
234
|
-
rows: result.rows,
|
|
235
|
-
error: result.error,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
async function loadDataSourcesParallel(localSources) {
|
|
239
|
-
const shouldParseLocal = localSources.length > 0;
|
|
240
|
-
const [cursorResult, localResult] = await Promise.allSettled([
|
|
241
|
-
syncCursorData(),
|
|
242
|
-
shouldParseLocal
|
|
243
|
-
? parseLocalSourcesAsync({
|
|
244
|
-
sources: localSources.filter(s => s !== 'cursor'),
|
|
245
|
-
})
|
|
246
|
-
: Promise.resolve(null),
|
|
247
|
-
]);
|
|
248
|
-
const cursorSync = cursorResult.status === 'fulfilled'
|
|
249
|
-
? cursorResult.value
|
|
250
|
-
: { attempted: true, synced: false, rows: 0, error: 'Cursor sync failed' };
|
|
251
|
-
const localMessages = localResult.status === 'fulfilled'
|
|
252
|
-
? localResult.value
|
|
253
|
-
: null;
|
|
254
|
-
return { cursorSync, localMessages };
|
|
255
|
-
}
|
|
256
|
-
// =============================================================================
|
|
257
|
-
// Cursor IDE Authentication
|
|
258
|
-
// =============================================================================
|
|
259
|
-
async function cursorLogin() {
|
|
260
|
-
const credentials = loadCursorCredentials();
|
|
261
|
-
if (credentials) {
|
|
262
|
-
console.log(pc.yellow("\n Already logged in to Cursor."));
|
|
263
|
-
console.log(pc.gray(" Run 'vibetracking cursor logout' to sign out first.\n"));
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
console.log(pc.cyan("\n Cursor IDE - Login\n"));
|
|
267
|
-
// Open browser to Cursor dashboard
|
|
268
|
-
console.log(pc.gray(" Opening Cursor dashboard in your browser..."));
|
|
269
|
-
await open("https://www.cursor.com/dashboard");
|
|
270
|
-
// Show instructions - token is HttpOnly so must use Network tab
|
|
271
|
-
const isMac = process.platform === "darwin";
|
|
272
|
-
const devtoolsShortcut = isMac ? "Cmd+Option+I" : "F12";
|
|
273
|
-
console.log(pc.white("\n To get your token:"));
|
|
274
|
-
console.log(pc.gray(` 1. Press ${pc.white(devtoolsShortcut)} to open DevTools`));
|
|
275
|
-
console.log(pc.gray(` 2. Go to ${pc.white("Network")} tab, click any request to cursor.com`));
|
|
276
|
-
console.log(pc.gray(` 3. In the ${pc.white("Cookies")} tab, find ${pc.white("WorkosCursorSessionToken")}`));
|
|
277
|
-
console.log(pc.gray(` 4. Copy the value (starts with "eyJ...")`));
|
|
278
|
-
console.log();
|
|
279
|
-
const readline = await import("node:readline");
|
|
280
|
-
const rl = readline.createInterface({
|
|
281
|
-
input: process.stdin,
|
|
282
|
-
output: process.stdout,
|
|
283
|
-
});
|
|
284
|
-
const token = await new Promise((resolve) => {
|
|
285
|
-
rl.question(pc.white(" Paste your session token: "), (answer) => {
|
|
286
|
-
rl.close();
|
|
287
|
-
resolve(answer.trim());
|
|
288
|
-
});
|
|
289
|
-
});
|
|
290
|
-
if (!token) {
|
|
291
|
-
console.log(pc.red("\n No token provided. Login cancelled.\n"));
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
console.log(pc.gray("\n Validating token..."));
|
|
295
|
-
const validation = await validateCursorSession(token);
|
|
296
|
-
if (!validation.valid) {
|
|
297
|
-
console.log(pc.red(`\n Invalid token: ${validation.error}`));
|
|
298
|
-
console.log(pc.gray(" Please try again with a valid session token.\n"));
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
saveCursorCredentials({
|
|
302
|
-
sessionToken: token,
|
|
303
|
-
createdAt: new Date().toISOString(),
|
|
304
|
-
});
|
|
305
|
-
console.log(pc.green("\n Success! Logged in to Cursor."));
|
|
306
|
-
if (validation.membershipType) {
|
|
307
|
-
console.log(pc.gray(` Membership: ${validation.membershipType}`));
|
|
308
|
-
}
|
|
309
|
-
console.log(pc.gray(" Your usage data will now be included in reports.\n"));
|
|
310
|
-
}
|
|
311
|
-
async function cursorLogout() {
|
|
312
|
-
const credentials = loadCursorCredentials();
|
|
313
|
-
if (!credentials) {
|
|
314
|
-
console.log(pc.yellow("\n Not logged in to Cursor.\n"));
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
const cleared = clearCursorCredentials();
|
|
318
|
-
if (cleared) {
|
|
319
|
-
console.log(pc.green("\n Logged out from Cursor.\n"));
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
console.error(pc.red("\n Failed to clear Cursor credentials.\n"));
|
|
323
|
-
process.exit(1);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
async function cursorStatus() {
|
|
327
|
-
const credentials = loadCursorCredentials();
|
|
328
|
-
if (!credentials) {
|
|
329
|
-
console.log(pc.yellow("\n Not logged in to Cursor."));
|
|
330
|
-
console.log(pc.gray(" Run 'vibetracking cursor login' to authenticate.\n"));
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
|
-
console.log(pc.cyan("\n Cursor IDE - Status\n"));
|
|
334
|
-
console.log(pc.gray(" Checking session validity..."));
|
|
335
|
-
const validation = await validateCursorSession(credentials.sessionToken);
|
|
336
|
-
if (validation.valid) {
|
|
337
|
-
console.log(pc.green(" Session is valid"));
|
|
338
|
-
if (validation.membershipType) {
|
|
339
|
-
console.log(pc.white(` Membership: ${validation.membershipType}`));
|
|
340
|
-
}
|
|
341
|
-
console.log(pc.gray(` Logged in: ${new Date(credentials.createdAt).toLocaleDateString()}`));
|
|
342
|
-
try {
|
|
343
|
-
const usage = await readCursorUsage();
|
|
344
|
-
const totalCost = usage.byModel.reduce((sum, m) => sum + m.cost, 0);
|
|
345
|
-
console.log(pc.gray(` Models used: ${usage.byModel.length}`));
|
|
346
|
-
console.log(pc.gray(` Total usage events: ${usage.rows.length}`));
|
|
347
|
-
console.log(pc.gray(` Total cost: $${totalCost.toFixed(2)}`));
|
|
348
|
-
}
|
|
349
|
-
catch {
|
|
350
|
-
// Ignore fetch errors for status check
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
else {
|
|
354
|
-
console.log(pc.red(` Session invalid: ${validation.error}`));
|
|
355
|
-
console.log(pc.gray(" Run 'vibetracking cursor login' to re-authenticate."));
|
|
356
|
-
}
|
|
357
|
-
console.log(pc.gray(`\n Credentials: ${getCursorCredentialsPath()}\n`));
|
|
358
|
-
}
|
|
359
136
|
main().catch(console.error);
|
|
360
137
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor.d.ts
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Cursor IDE
|
|
3
|
-
*
|
|
2
|
+
* Cursor IDE Usage Data Import
|
|
3
|
+
* Downloads usage CSV via browser and parses it for vibetracking
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* Flow:
|
|
6
|
+
* 1. Open browser to Cursor's CSV export URL (user already logged in)
|
|
7
|
+
* 2. Wait for CSV to appear in Downloads folder
|
|
8
|
+
* 3. If not found, prompt user to drag-and-drop the file
|
|
9
|
+
* 4. Copy CSV to cache location for Rust module to parse
|
|
10
10
|
*/
|
|
11
|
-
export interface CursorCredentials {
|
|
12
|
-
sessionToken: string;
|
|
13
|
-
userId?: string;
|
|
14
|
-
createdAt: string;
|
|
15
|
-
expiresAt?: string;
|
|
16
|
-
}
|
|
17
11
|
export interface CursorUsageRow {
|
|
18
12
|
date: string;
|
|
19
13
|
timestamp: number;
|
|
@@ -50,26 +44,42 @@ export interface CursorMessageWithTimestamp {
|
|
|
50
44
|
reasoning: number;
|
|
51
45
|
cost: number;
|
|
52
46
|
}
|
|
53
|
-
export
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
export interface CursorUnifiedMessage {
|
|
48
|
+
source: "cursor";
|
|
49
|
+
modelId: string;
|
|
50
|
+
providerId: string;
|
|
51
|
+
sessionId: string;
|
|
52
|
+
timestamp: number;
|
|
53
|
+
date: string;
|
|
54
|
+
tokens: {
|
|
55
|
+
input: number;
|
|
56
|
+
output: number;
|
|
57
|
+
cacheRead: number;
|
|
58
|
+
cacheWrite: number;
|
|
59
|
+
reasoning: number;
|
|
60
|
+
};
|
|
61
|
+
cost: number;
|
|
62
|
+
}
|
|
63
|
+
export interface CursorSyncResult {
|
|
64
|
+
synced: boolean;
|
|
65
|
+
rows: number;
|
|
66
|
+
skipped?: boolean;
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
57
69
|
/**
|
|
58
70
|
* Check if Cursor IDE is installed on this system
|
|
59
71
|
*/
|
|
60
72
|
export declare function isCursorInstalled(): boolean;
|
|
61
73
|
/**
|
|
62
|
-
*
|
|
74
|
+
* Open browser to Cursor's CSV export page
|
|
75
|
+
* The CSV will be downloaded automatically if user is logged in
|
|
63
76
|
*/
|
|
64
|
-
export declare function
|
|
65
|
-
valid: boolean;
|
|
66
|
-
membershipType?: string;
|
|
67
|
-
error?: string;
|
|
68
|
-
}>;
|
|
77
|
+
export declare function openCursorExportPage(): Promise<void>;
|
|
69
78
|
/**
|
|
70
|
-
*
|
|
79
|
+
* Sync Cursor usage data via browser download
|
|
80
|
+
* Opens browser to download CSV, waits for it, copies to cache
|
|
71
81
|
*/
|
|
72
|
-
export declare function
|
|
82
|
+
export declare function syncCursorCache(): Promise<CursorSyncResult>;
|
|
73
83
|
/**
|
|
74
84
|
* Parse Cursor usage CSV into structured rows
|
|
75
85
|
*/
|
|
@@ -82,28 +92,6 @@ export declare function aggregateCursorByModel(rows: CursorUsageRow[]): CursorUs
|
|
|
82
92
|
* Convert Cursor CSV rows to timestamped messages for graph generation
|
|
83
93
|
*/
|
|
84
94
|
export declare function cursorRowsToMessages(rows: CursorUsageRow[]): CursorMessageWithTimestamp[];
|
|
85
|
-
/**
|
|
86
|
-
* Fetch and parse Cursor usage data
|
|
87
|
-
* Requires valid credentials to be stored
|
|
88
|
-
*/
|
|
89
|
-
export declare function readCursorUsage(): Promise<{
|
|
90
|
-
rows: CursorUsageRow[];
|
|
91
|
-
byModel: CursorUsageData[];
|
|
92
|
-
messages: CursorMessageWithTimestamp[];
|
|
93
|
-
}>;
|
|
94
|
-
/**
|
|
95
|
-
* Get Cursor credentials file path (for debugging)
|
|
96
|
-
*/
|
|
97
|
-
export declare function getCursorCredentialsPath(): string;
|
|
98
|
-
/**
|
|
99
|
-
* Sync Cursor usage data from API to local cache
|
|
100
|
-
* This downloads the CSV and saves it for the Rust module to parse
|
|
101
|
-
*/
|
|
102
|
-
export declare function syncCursorCache(): Promise<{
|
|
103
|
-
synced: boolean;
|
|
104
|
-
rows: number;
|
|
105
|
-
error?: string;
|
|
106
|
-
}>;
|
|
107
95
|
/**
|
|
108
96
|
* Get the cache file path
|
|
109
97
|
*/
|
|
@@ -116,21 +104,8 @@ export declare function getCursorCacheStatus(): {
|
|
|
116
104
|
lastModified?: Date;
|
|
117
105
|
path: string;
|
|
118
106
|
};
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
providerId: string;
|
|
123
|
-
sessionId: string;
|
|
124
|
-
timestamp: number;
|
|
125
|
-
date: string;
|
|
126
|
-
tokens: {
|
|
127
|
-
input: number;
|
|
128
|
-
output: number;
|
|
129
|
-
cacheRead: number;
|
|
130
|
-
cacheWrite: number;
|
|
131
|
-
reasoning: number;
|
|
132
|
-
};
|
|
133
|
-
cost: number;
|
|
134
|
-
}
|
|
107
|
+
/**
|
|
108
|
+
* Read cached Cursor messages for Rust module integration
|
|
109
|
+
*/
|
|
135
110
|
export declare function readCursorMessagesFromCache(): CursorUnifiedMessage[];
|
|
136
111
|
//# sourceMappingURL=cursor.d.ts.map
|
package/dist/cursor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor.js
CHANGED
|
@@ -1,65 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Cursor IDE
|
|
3
|
-
*
|
|
2
|
+
* Cursor IDE Usage Data Import
|
|
3
|
+
* Downloads usage CSV via browser and parses it for vibetracking
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* Flow:
|
|
6
|
+
* 1. Open browser to Cursor's CSV export URL (user already logged in)
|
|
7
|
+
* 2. Wait for CSV to appear in Downloads folder
|
|
8
|
+
* 3. If not found, prompt user to drag-and-drop the file
|
|
9
|
+
* 4. Copy CSV to cache location for Rust module to parse
|
|
10
10
|
*/
|
|
11
11
|
import * as fs from "node:fs";
|
|
12
12
|
import * as path from "node:path";
|
|
13
13
|
import * as os from "node:os";
|
|
14
|
+
import * as readline from "node:readline";
|
|
14
15
|
import { parse as parseCsv } from "csv-parse/sync";
|
|
16
|
+
import open from "open";
|
|
17
|
+
import pc from "picocolors";
|
|
15
18
|
// ============================================================================
|
|
16
|
-
//
|
|
19
|
+
// Constants
|
|
17
20
|
// ============================================================================
|
|
18
21
|
const CONFIG_DIR = path.join(os.homedir(), ".vibetracking");
|
|
19
|
-
const
|
|
22
|
+
const CURSOR_CACHE_DIR = path.join(CONFIG_DIR, "cursor-cache");
|
|
23
|
+
const CURSOR_CACHE_FILE = path.join(CURSOR_CACHE_DIR, "usage.csv");
|
|
24
|
+
// Date range for export: Jan 1, 2020 to now
|
|
25
|
+
const EXPORT_START_DATE = new Date("2020-01-01").getTime();
|
|
26
|
+
// Timeout for waiting for download (30 seconds)
|
|
27
|
+
const DOWNLOAD_TIMEOUT_MS = 30_000;
|
|
28
|
+
// Poll interval for checking downloads folder
|
|
29
|
+
const POLL_INTERVAL_MS = 1_000;
|
|
30
|
+
// ============================================================================
|
|
31
|
+
// Directory Helpers
|
|
32
|
+
// ============================================================================
|
|
20
33
|
function ensureConfigDir() {
|
|
21
34
|
if (!fs.existsSync(CONFIG_DIR)) {
|
|
22
35
|
fs.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
|
|
23
36
|
}
|
|
24
37
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
encoding: "utf-8",
|
|
29
|
-
mode: 0o600,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
export function loadCursorCredentials() {
|
|
33
|
-
try {
|
|
34
|
-
if (!fs.existsSync(CURSOR_CREDENTIALS_FILE)) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
const data = fs.readFileSync(CURSOR_CREDENTIALS_FILE, "utf-8");
|
|
38
|
-
const parsed = JSON.parse(data);
|
|
39
|
-
if (!parsed.sessionToken) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
return parsed;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export function clearCursorCredentials() {
|
|
49
|
-
try {
|
|
50
|
-
if (fs.existsSync(CURSOR_CREDENTIALS_FILE)) {
|
|
51
|
-
fs.unlinkSync(CURSOR_CREDENTIALS_FILE);
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
return false;
|
|
38
|
+
function ensureCacheDir() {
|
|
39
|
+
if (!fs.existsSync(CURSOR_CACHE_DIR)) {
|
|
40
|
+
fs.mkdirSync(CURSOR_CACHE_DIR, { recursive: true, mode: 0o700 });
|
|
58
41
|
}
|
|
59
42
|
}
|
|
60
|
-
export function isCursorLoggedIn() {
|
|
61
|
-
return loadCursorCredentials() !== null;
|
|
62
|
-
}
|
|
63
43
|
/**
|
|
64
44
|
* Check if Cursor IDE is installed on this system
|
|
65
45
|
*/
|
|
@@ -82,71 +62,188 @@ export function isCursorInstalled() {
|
|
|
82
62
|
return paths.some((p) => fs.existsSync(p));
|
|
83
63
|
}
|
|
84
64
|
// ============================================================================
|
|
85
|
-
//
|
|
65
|
+
// Browser Download Flow
|
|
86
66
|
// ============================================================================
|
|
87
|
-
const CURSOR_API_BASE = "https://cursor.com";
|
|
88
|
-
const USAGE_CSV_ENDPOINT = `${CURSOR_API_BASE}/api/dashboard/export-usage-events-csv?strategy=tokens`;
|
|
89
|
-
const USAGE_SUMMARY_ENDPOINT = `${CURSOR_API_BASE}/api/usage-summary`;
|
|
90
67
|
/**
|
|
91
|
-
*
|
|
68
|
+
* Get common download folder paths for the current platform
|
|
69
|
+
*/
|
|
70
|
+
function getDownloadsFolders() {
|
|
71
|
+
const home = os.homedir();
|
|
72
|
+
const folders = [];
|
|
73
|
+
if (process.platform === "darwin") {
|
|
74
|
+
folders.push(path.join(home, "Downloads"));
|
|
75
|
+
}
|
|
76
|
+
else if (process.platform === "linux") {
|
|
77
|
+
folders.push(path.join(home, "Downloads"));
|
|
78
|
+
folders.push(path.join(home, "downloads")); // Some distros use lowercase
|
|
79
|
+
}
|
|
80
|
+
else if (process.platform === "win32") {
|
|
81
|
+
// Windows Downloads folder
|
|
82
|
+
const userProfile = process.env.USERPROFILE || home;
|
|
83
|
+
folders.push(path.join(userProfile, "Downloads"));
|
|
84
|
+
}
|
|
85
|
+
// Filter to existing directories
|
|
86
|
+
return folders.filter((f) => {
|
|
87
|
+
try {
|
|
88
|
+
return fs.existsSync(f) && fs.statSync(f).isDirectory();
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Open browser to Cursor's CSV export page
|
|
97
|
+
* The CSV will be downloaded automatically if user is logged in
|
|
92
98
|
*/
|
|
93
|
-
function
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Referer: "https://www.cursor.com/settings",
|
|
99
|
-
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
|
100
|
-
};
|
|
99
|
+
export async function openCursorExportPage() {
|
|
100
|
+
const endDate = Date.now();
|
|
101
|
+
const startDate = EXPORT_START_DATE;
|
|
102
|
+
const url = `https://cursor.com/api/dashboard/export-usage-events-csv?startDate=${startDate}&endDate=${endDate}&strategy=tokens`;
|
|
103
|
+
await open(url);
|
|
101
104
|
}
|
|
102
105
|
/**
|
|
103
|
-
*
|
|
106
|
+
* Find the most recent Cursor CSV file in download folders
|
|
107
|
+
* that was modified after the given timestamp
|
|
104
108
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
function findRecentCursorCsv(afterTimestamp) {
|
|
110
|
+
const folders = getDownloadsFolders();
|
|
111
|
+
let mostRecent = null;
|
|
112
|
+
for (const folder of folders) {
|
|
113
|
+
try {
|
|
114
|
+
const files = fs.readdirSync(folder);
|
|
115
|
+
for (const file of files) {
|
|
116
|
+
// Match Cursor's export filename pattern: usage-events-YYYY-MM-DD*.csv
|
|
117
|
+
if (!file.startsWith("usage-events") || !file.endsWith(".csv")) {
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const filePath = path.join(folder, file);
|
|
121
|
+
try {
|
|
122
|
+
const stats = fs.statSync(filePath);
|
|
123
|
+
const mtime = stats.mtimeMs;
|
|
124
|
+
// File must be newer than when we opened the browser
|
|
125
|
+
if (mtime > afterTimestamp) {
|
|
126
|
+
if (!mostRecent || mtime > mostRecent.mtime) {
|
|
127
|
+
mostRecent = { path: filePath, mtime };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
// Skip files we can't stat
|
|
133
|
+
}
|
|
134
|
+
}
|
|
116
135
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (data.billingCycleStart && data.billingCycleEnd) {
|
|
120
|
-
return { valid: true, membershipType: data.membershipType };
|
|
136
|
+
catch {
|
|
137
|
+
// Skip folders we can't read
|
|
121
138
|
}
|
|
122
|
-
return { valid: false, error: "Invalid response format" };
|
|
123
139
|
}
|
|
124
|
-
|
|
125
|
-
|
|
140
|
+
return mostRecent?.path ?? null;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Wait for Cursor CSV to appear in downloads folder
|
|
144
|
+
*/
|
|
145
|
+
async function waitForCursorCsv(afterTimestamp, timeoutMs) {
|
|
146
|
+
const startTime = Date.now();
|
|
147
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
148
|
+
const found = findRecentCursorCsv(afterTimestamp);
|
|
149
|
+
if (found) {
|
|
150
|
+
return found;
|
|
151
|
+
}
|
|
152
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
126
153
|
}
|
|
154
|
+
return null;
|
|
127
155
|
}
|
|
128
156
|
/**
|
|
129
|
-
*
|
|
157
|
+
* Prompt user to drag-and-drop the CSV file or skip
|
|
130
158
|
*/
|
|
131
|
-
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
159
|
+
async function promptForCsvPath() {
|
|
160
|
+
const rl = readline.createInterface({
|
|
161
|
+
input: process.stdin,
|
|
162
|
+
output: process.stdout,
|
|
163
|
+
});
|
|
164
|
+
return new Promise((resolve) => {
|
|
165
|
+
rl.question(pc.white("\n Drag the downloaded CSV here (or press Enter to skip): "), (answer) => {
|
|
166
|
+
rl.close();
|
|
167
|
+
const trimmed = answer.trim();
|
|
168
|
+
if (!trimmed) {
|
|
169
|
+
resolve(null);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
// Handle paths with quotes (drag-drop on some terminals)
|
|
173
|
+
const cleanPath = trimmed.replace(/^["']|["']$/g, "").replace(/\\ /g, " ");
|
|
174
|
+
// Validate file exists
|
|
175
|
+
if (!fs.existsSync(cleanPath)) {
|
|
176
|
+
console.log(pc.red(` File not found: ${cleanPath}`));
|
|
177
|
+
resolve(null);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// Validate it's a CSV file
|
|
181
|
+
if (!cleanPath.toLowerCase().endsWith(".csv")) {
|
|
182
|
+
console.log(pc.red(" File must be a CSV file"));
|
|
183
|
+
resolve(null);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
resolve(cleanPath);
|
|
187
|
+
});
|
|
135
188
|
});
|
|
136
|
-
|
|
137
|
-
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Validate that a file contains valid Cursor CSV data
|
|
192
|
+
*/
|
|
193
|
+
function validateCursorCsv(filePath) {
|
|
194
|
+
try {
|
|
195
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
196
|
+
// Check for expected CSV header
|
|
197
|
+
return content.startsWith("Date,");
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Sync Cursor usage data via browser download
|
|
205
|
+
* Opens browser to download CSV, waits for it, copies to cache
|
|
206
|
+
*/
|
|
207
|
+
export async function syncCursorCache() {
|
|
208
|
+
const beforeDownload = Date.now();
|
|
209
|
+
console.log(pc.cyan("\n Cursor detected! Opening browser to download your usage data..."));
|
|
210
|
+
await openCursorExportPage();
|
|
211
|
+
// Wait a moment for browser to open
|
|
212
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
213
|
+
console.log(pc.gray(" Waiting for download..."));
|
|
214
|
+
// Wait for CSV to appear in downloads
|
|
215
|
+
let csvPath = await waitForCursorCsv(beforeDownload, DOWNLOAD_TIMEOUT_MS);
|
|
216
|
+
if (csvPath) {
|
|
217
|
+
console.log(pc.green(` Found: ${path.basename(csvPath)}`));
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
console.log(pc.yellow(" Download not detected automatically."));
|
|
221
|
+
const userPath = await promptForCsvPath();
|
|
222
|
+
if (!userPath) {
|
|
223
|
+
console.log(pc.gray(" Skipping Cursor data."));
|
|
224
|
+
return { synced: false, rows: 0, skipped: true };
|
|
225
|
+
}
|
|
226
|
+
csvPath = userPath;
|
|
227
|
+
}
|
|
228
|
+
// Validate the CSV
|
|
229
|
+
if (!validateCursorCsv(csvPath)) {
|
|
230
|
+
console.log(pc.red(" Invalid CSV file - doesn't look like Cursor export data."));
|
|
231
|
+
return { synced: false, rows: 0, error: "Invalid CSV format" };
|
|
138
232
|
}
|
|
139
|
-
|
|
140
|
-
|
|
233
|
+
// Copy to cache location
|
|
234
|
+
try {
|
|
235
|
+
ensureConfigDir();
|
|
236
|
+
ensureCacheDir();
|
|
237
|
+
fs.copyFileSync(csvPath, CURSOR_CACHE_FILE);
|
|
238
|
+
// Count rows for feedback
|
|
239
|
+
const content = fs.readFileSync(CURSOR_CACHE_FILE, "utf-8");
|
|
240
|
+
const rows = parseCursorCsv(content);
|
|
241
|
+
console.log(pc.green(` Imported ${rows.length} Cursor usage events.`));
|
|
242
|
+
return { synced: true, rows: rows.length };
|
|
141
243
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
// Old: "Date,Model,..."
|
|
145
|
-
// New: "Date,Kind,Model,..."
|
|
146
|
-
if (!text.startsWith("Date,")) {
|
|
147
|
-
throw new Error("Invalid response from Cursor API - expected CSV format");
|
|
244
|
+
catch (error) {
|
|
245
|
+
return { synced: false, rows: 0, error: error.message };
|
|
148
246
|
}
|
|
149
|
-
return text;
|
|
150
247
|
}
|
|
151
248
|
// ============================================================================
|
|
152
249
|
// CSV Parsing
|
|
@@ -288,60 +385,8 @@ export function cursorRowsToMessages(rows) {
|
|
|
288
385
|
});
|
|
289
386
|
}
|
|
290
387
|
// ============================================================================
|
|
291
|
-
//
|
|
388
|
+
// Cache Management
|
|
292
389
|
// ============================================================================
|
|
293
|
-
/**
|
|
294
|
-
* Fetch and parse Cursor usage data
|
|
295
|
-
* Requires valid credentials to be stored
|
|
296
|
-
*/
|
|
297
|
-
export async function readCursorUsage() {
|
|
298
|
-
const credentials = loadCursorCredentials();
|
|
299
|
-
if (!credentials) {
|
|
300
|
-
throw new Error("Cursor not authenticated. Run 'vibetracking cursor login' first.");
|
|
301
|
-
}
|
|
302
|
-
const csvText = await fetchCursorUsageCsv(credentials.sessionToken);
|
|
303
|
-
const rows = parseCursorCsv(csvText);
|
|
304
|
-
const byModel = aggregateCursorByModel(rows);
|
|
305
|
-
const messages = cursorRowsToMessages(rows);
|
|
306
|
-
return { rows, byModel, messages };
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* Get Cursor credentials file path (for debugging)
|
|
310
|
-
*/
|
|
311
|
-
export function getCursorCredentialsPath() {
|
|
312
|
-
return CURSOR_CREDENTIALS_FILE;
|
|
313
|
-
}
|
|
314
|
-
// ============================================================================
|
|
315
|
-
// Cache Management (for Rust integration)
|
|
316
|
-
// ============================================================================
|
|
317
|
-
const CURSOR_CACHE_DIR = path.join(CONFIG_DIR, "cursor-cache");
|
|
318
|
-
const CURSOR_CACHE_FILE = path.join(CURSOR_CACHE_DIR, "usage.csv");
|
|
319
|
-
function ensureCacheDir() {
|
|
320
|
-
if (!fs.existsSync(CURSOR_CACHE_DIR)) {
|
|
321
|
-
fs.mkdirSync(CURSOR_CACHE_DIR, { recursive: true, mode: 0o700 });
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Sync Cursor usage data from API to local cache
|
|
326
|
-
* This downloads the CSV and saves it for the Rust module to parse
|
|
327
|
-
*/
|
|
328
|
-
export async function syncCursorCache() {
|
|
329
|
-
const credentials = loadCursorCredentials();
|
|
330
|
-
if (!credentials) {
|
|
331
|
-
return { synced: false, rows: 0, error: "Not authenticated" };
|
|
332
|
-
}
|
|
333
|
-
try {
|
|
334
|
-
const csvText = await fetchCursorUsageCsv(credentials.sessionToken);
|
|
335
|
-
ensureCacheDir();
|
|
336
|
-
fs.writeFileSync(CURSOR_CACHE_FILE, csvText, { encoding: "utf-8", mode: 0o600 });
|
|
337
|
-
// Count rows for feedback
|
|
338
|
-
const rows = parseCursorCsv(csvText);
|
|
339
|
-
return { synced: true, rows: rows.length };
|
|
340
|
-
}
|
|
341
|
-
catch (error) {
|
|
342
|
-
return { synced: false, rows: 0, error: error.message };
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
390
|
/**
|
|
346
391
|
* Get the cache file path
|
|
347
392
|
*/
|
|
@@ -365,6 +410,9 @@ export function getCursorCacheStatus() {
|
|
|
365
410
|
}
|
|
366
411
|
return { exists, lastModified, path: CURSOR_CACHE_FILE };
|
|
367
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Read cached Cursor messages for Rust module integration
|
|
415
|
+
*/
|
|
368
416
|
export function readCursorMessagesFromCache() {
|
|
369
417
|
if (!fs.existsSync(CURSOR_CACHE_FILE)) {
|
|
370
418
|
return [];
|
package/dist/cursor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,YAAY,CAAC;AAqE5B,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAEnE,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;AAE3D,gDAAgD;AAChD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,QAAQ;QACR,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,6BAA6B;QAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,0CAA0C,CAAC,CAAC,CAAC;IAClF,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,6BAA6B;IAC3E,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,2BAA2B;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,iCAAiC;IACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC;IACpC,MAAM,GAAG,GAAG,sEAAsE,SAAS,YAAY,OAAO,kBAAkB,CAAC;IACjI,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,cAAsB;IACjD,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,UAAU,GAA2C,IAAI,CAAC;IAE9D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,uEAAuE;gBACvE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;oBAE5B,qDAAqD;oBACrD,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;wBAC3B,IAAI,CAAC,UAAU,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;4BAC5C,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,EAAE,IAAI,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,cAAsB,EAAE,SAAiB;IACvE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,6DAA6D,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9F,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAE3E,uBAAuB;YACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,gCAAgC;QAChC,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC,CAAC;IAC5F,MAAM,oBAAoB,EAAE,CAAC;IAE7B,oCAAoC;IACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAElD,sCAAsC;IACtC,IAAI,OAAO,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;IAE1E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAChD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IACjE,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC;QACH,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,CAAC;QACjB,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,MAAM,uBAAuB,CAAC,CAAC,CAAC;QAExE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAClI,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,mBAAmB;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAkC,QAAQ,CAAC,OAAO,EAAE;YAC/D,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,IAAI;YACV,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QAEH,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;aACrD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,WAAW;gBAC1B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACjC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE;oBACpB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBACtB,CAAC,CAAC,OAAO,CAAC;YAEd,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;gBACrC,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC1E,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC9E,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBACpD,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC1D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;gBACxD,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;gBAC/D,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;aACnD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAAgC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,uCAAuC;AACvC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAsB;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,uFAAuF;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACrF,wDAAwD;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,sBAAsB,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;YAC3B,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;YACxB,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC;YACpC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC;YACpC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC;YAClC,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE;gBAChB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;gBACpC,YAAY,EAAE,CAAC;gBACf,KAAK;gBACL,MAAM,EAAE,GAAG,CAAC,YAAY;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU;gBACV,SAAS,EAAE,CAAC,EAAE,yCAAyC;gBACvD,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAsB;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,GAAG,CAAC,sBAAsB,CAAC;QAEzC,OAAO;YACL,MAAM,EAAE,QAAiB;YACzB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK;YACL,MAAM,EAAE,GAAG,CAAC,YAAY;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU;YACV,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO;SACnC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChD,IAAI,YAA8B,CAAC;IAEnC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC7C,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,mBAAmB,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACrF,MAAM,KAAK,GAAG,GAAG,CAAC,sBAAsB,CAAC;YAEzC,OAAO;gBACL,MAAM,EAAE,QAAiB;gBACzB,OAAO,EAAE,GAAG,CAAC,KAAK;gBAClB,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;gBACpC,SAAS,EAAE,UAAU,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE;gBAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE;oBACN,KAAK;oBACL,MAAM,EAAE,GAAG,CAAC,YAAY;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,UAAU;oBACV,SAAS,EAAE,CAAC;iBACb;gBACD,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO;aACnC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/dist/native-runner.js
CHANGED
|
@@ -8,41 +8,10 @@
|
|
|
8
8
|
* Communication: file (JSON input) -> stdout (JSON output)
|
|
9
9
|
*/
|
|
10
10
|
import { createRequire } from "module";
|
|
11
|
-
import { existsSync } from "node:fs";
|
|
12
11
|
import { readFileSync } from "node:fs";
|
|
13
|
-
|
|
14
|
-
import path from "path";
|
|
15
|
-
// Binary configuration - must match native.ts
|
|
16
|
-
const BINARY_VERSION = "0.2.0";
|
|
17
|
-
function getPlatformBinaryName() {
|
|
18
|
-
const platform = process.platform;
|
|
19
|
-
const arch = process.arch;
|
|
20
|
-
const platformMap = {
|
|
21
|
-
"darwin-arm64": "darwin-arm64",
|
|
22
|
-
"darwin-x64": "darwin-x64",
|
|
23
|
-
"linux-x64": "linux-x64-gnu",
|
|
24
|
-
"linux-arm64": "linux-arm64-gnu",
|
|
25
|
-
"win32-x64": "win32-x64-msvc",
|
|
26
|
-
"win32-arm64": "win32-arm64-msvc",
|
|
27
|
-
};
|
|
28
|
-
const key = `${platform}-${arch}`;
|
|
29
|
-
const binaryName = platformMap[key];
|
|
30
|
-
if (!binaryName) {
|
|
31
|
-
throw new Error(`Unsupported platform: ${platform}-${arch}`);
|
|
32
|
-
}
|
|
33
|
-
return `vibetracking-core.${binaryName}.node`;
|
|
34
|
-
}
|
|
35
|
-
function getBinaryPath() {
|
|
36
|
-
const binDir = path.join(homedir(), ".vibetracking", "bin", BINARY_VERSION);
|
|
37
|
-
return path.join(binDir, getPlatformBinaryName());
|
|
38
|
-
}
|
|
39
|
-
// Load the native module from the downloaded binary
|
|
40
|
-
const binaryPath = getBinaryPath();
|
|
41
|
-
if (!existsSync(binaryPath)) {
|
|
42
|
-
throw new Error(`Native binary not found at ${binaryPath}. Run 'vibetracking' first to download it.`);
|
|
43
|
-
}
|
|
12
|
+
// Load the native module from npm package
|
|
44
13
|
const require = createRequire(import.meta.url);
|
|
45
|
-
const nativeCore = require(
|
|
14
|
+
const nativeCore = require("@starknetid/vibetracking-core");
|
|
46
15
|
async function main() {
|
|
47
16
|
const inputFile = process.argv[2];
|
|
48
17
|
if (!inputFile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-runner.js","sourceRoot":"","sources":["../src/native-runner.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"native-runner.js","sourceRoot":"","sources":["../src/native-runner.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,0CAA0C;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAO5D,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE/C,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAwB,CAAC;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAA0B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,iCAAiC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,MAAe,CAAC;IAEpB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,mBAAmB;YACtB,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAuD,CAAC,CAAC;YACrG,MAAM;QACR,KAAK,gBAAgB;YACnB,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAoD,CAAC,CAAC;YACrG,MAAM;QACR,KAAK,uBAAuB;YAC1B,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAA2D,CAAC,CAAC;YACnH,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAmD,CAAC,CAAC;YACnG,MAAM;QACR,KAAK,wBAAwB;YAC3B,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAA4D,CAAC,CAAC;YACrH,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,MAAM,KAAK,GAAG,CAAU,CAAC;IACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/native.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Native module loader for Rust core
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Loads the native binary from npm package @starknetid/vibetracking-core
|
|
5
|
+
* which uses optional dependencies for platform-specific binaries.
|
|
6
6
|
*/
|
|
7
7
|
import type { TokenContributionData, SourceType } from "./graph-types.js";
|
|
8
8
|
/**
|
|
9
|
-
* Initialize the native module
|
|
9
|
+
* Initialize the native module from npm package
|
|
10
10
|
* Must be called before using any native functions
|
|
11
11
|
*/
|
|
12
12
|
export declare function initNativeModule(): Promise<void>;
|
package/dist/native.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,qBAAqB,EAErB,UAAU,EACX,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
package/dist/native.js
CHANGED
|
@@ -1,90 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Native module loader for Rust core
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Loads the native binary from npm package @starknetid/vibetracking-core
|
|
5
|
+
* which uses optional dependencies for platform-specific binaries.
|
|
6
6
|
*/
|
|
7
7
|
import { createRequire } from "module";
|
|
8
|
-
import { existsSync, mkdirSync, writeFileSync, chmodSync } from "fs";
|
|
9
|
-
import { homedir } from "os";
|
|
10
|
-
import path from "path";
|
|
11
|
-
// =============================================================================
|
|
12
|
-
// Binary Download Configuration
|
|
13
|
-
// =============================================================================
|
|
14
|
-
const BINARY_VERSION = "0.2.0";
|
|
15
|
-
const GITHUB_REPO = "lfglabs-dev/vibetracking.dev";
|
|
16
|
-
const GITHUB_RELEASE_URL = `https://github.com/${GITHUB_REPO}/releases/download`;
|
|
17
|
-
function getPlatformBinaryName() {
|
|
18
|
-
const platform = process.platform;
|
|
19
|
-
const arch = process.arch;
|
|
20
|
-
const platformMap = {
|
|
21
|
-
"darwin-arm64": "darwin-arm64",
|
|
22
|
-
"darwin-x64": "darwin-x64",
|
|
23
|
-
"linux-x64": "linux-x64-gnu",
|
|
24
|
-
"linux-arm64": "linux-arm64-gnu",
|
|
25
|
-
"win32-x64": "win32-x64-msvc",
|
|
26
|
-
"win32-arm64": "win32-arm64-msvc",
|
|
27
|
-
};
|
|
28
|
-
const key = `${platform}-${arch}`;
|
|
29
|
-
const binaryName = platformMap[key];
|
|
30
|
-
if (!binaryName) {
|
|
31
|
-
throw new Error(`Unsupported platform: ${platform}-${arch}`);
|
|
32
|
-
}
|
|
33
|
-
return `vibetracking-core.${binaryName}.node`;
|
|
34
|
-
}
|
|
35
|
-
function getBinaryPath() {
|
|
36
|
-
const binDir = path.join(homedir(), ".vibetracking", "bin", BINARY_VERSION);
|
|
37
|
-
return path.join(binDir, getPlatformBinaryName());
|
|
38
|
-
}
|
|
39
|
-
async function downloadBinary(destPath) {
|
|
40
|
-
const binaryName = getPlatformBinaryName();
|
|
41
|
-
const url = `${GITHUB_RELEASE_URL}/cli-v${BINARY_VERSION}/${binaryName}`;
|
|
42
|
-
console.log(`\n Downloading native binary...`);
|
|
43
|
-
console.log(` ${url}\n`);
|
|
44
|
-
const response = await fetch(url);
|
|
45
|
-
if (!response.ok) {
|
|
46
|
-
throw new Error(`Failed to download binary: ${response.status} ${response.statusText}\n` +
|
|
47
|
-
`URL: ${url}\n` +
|
|
48
|
-
`Please check if the release exists at https://github.com/${GITHUB_REPO}/releases/tag/cli-v${BINARY_VERSION}`);
|
|
49
|
-
}
|
|
50
|
-
const buffer = await response.arrayBuffer();
|
|
51
|
-
mkdirSync(path.dirname(destPath), { recursive: true });
|
|
52
|
-
writeFileSync(destPath, Buffer.from(buffer));
|
|
53
|
-
// Make executable on Unix
|
|
54
|
-
if (process.platform !== "win32") {
|
|
55
|
-
chmodSync(destPath, 0o755);
|
|
56
|
-
}
|
|
57
|
-
console.log(` Binary installed to ${destPath}\n`);
|
|
58
|
-
}
|
|
59
|
-
async function ensureBinaryExists() {
|
|
60
|
-
const binaryPath = getBinaryPath();
|
|
61
|
-
if (!existsSync(binaryPath)) {
|
|
62
|
-
await downloadBinary(binaryPath);
|
|
63
|
-
}
|
|
64
|
-
return binaryPath;
|
|
65
|
-
}
|
|
66
8
|
// =============================================================================
|
|
67
9
|
// Module loading
|
|
68
10
|
// =============================================================================
|
|
69
11
|
let nativeCore = null;
|
|
70
12
|
let loadError = null;
|
|
71
|
-
let binaryPath = null;
|
|
72
13
|
/**
|
|
73
|
-
* Initialize the native module
|
|
14
|
+
* Initialize the native module from npm package
|
|
74
15
|
* Must be called before using any native functions
|
|
75
16
|
*/
|
|
76
17
|
export async function initNativeModule() {
|
|
77
18
|
if (nativeCore)
|
|
78
19
|
return; // Already initialized
|
|
79
20
|
try {
|
|
80
|
-
binaryPath = await ensureBinaryExists();
|
|
81
21
|
const require = createRequire(import.meta.url);
|
|
82
|
-
nativeCore = require(
|
|
22
|
+
nativeCore = require("@starknetid/vibetracking-core");
|
|
83
23
|
}
|
|
84
24
|
catch (e) {
|
|
85
25
|
loadError = e;
|
|
86
26
|
throw new Error(`Failed to load native module: ${loadError.message}\n` +
|
|
87
|
-
`
|
|
27
|
+
`Make sure @starknetid/vibetracking-core is installed.`);
|
|
88
28
|
}
|
|
89
29
|
}
|
|
90
30
|
// =============================================================================
|
|
@@ -171,7 +111,7 @@ function fromNativeResult(result) {
|
|
|
171
111
|
// =============================================================================
|
|
172
112
|
import { fileURLToPath } from "node:url";
|
|
173
113
|
import { dirname, join } from "node:path";
|
|
174
|
-
import { unlinkSync } from "node:fs";
|
|
114
|
+
import { mkdirSync, writeFileSync, unlinkSync } from "node:fs";
|
|
175
115
|
import { tmpdir } from "node:os";
|
|
176
116
|
import { randomUUID } from "node:crypto";
|
|
177
117
|
const __filename = fileURLToPath(import.meta.url);
|
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibetracking",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Track AI coding assistant token usage and costs across Claude Code, Codex, Cursor, and more.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"prepublishOnly": "bun run build"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
+
"@starknetid/vibetracking-core": "0.2.2",
|
|
35
36
|
"clipboardy": "^5.0.2",
|
|
36
37
|
"commander": "^14.0.2",
|
|
37
38
|
"csv-parse": "^5.6.0",
|