rivet-design 0.1.4 → 0.1.6
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/components.d.ts +2 -1
- package/dist/routes/components.d.ts.map +1 -1
- package/dist/routes/components.js +9 -1
- package/dist/routes/components.js.map +1 -1
- package/dist/routes/modifications.d.ts +2 -1
- package/dist/routes/modifications.d.ts.map +1 -1
- package/dist/routes/modifications.js +8 -3
- package/dist/routes/modifications.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -4
- package/dist/server.js.map +1 -1
- package/dist/services/TelemetryService.d.ts +73 -0
- package/dist/services/TelemetryService.d.ts.map +1 -0
- package/dist/services/TelemetryService.js +157 -0
- package/dist/services/TelemetryService.js.map +1 -0
- package/package.json +16 -5
- package/src/ui/dist/assets/main-e65HVD3-.js +108 -0
- package/src/ui/dist/index.html +1 -1
- package/src/ui/dist/assets/main-DuNgkeFM.js +0 -105
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,IAAI,GAAU,OAAM,MAAM,EAA0B,KAAG,OAAO,CAAC,IAAI,CAgH/E,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.main = void 0;
|
|
40
40
|
const server_1 = require("./server");
|
|
41
41
|
const index_core_1 = require("./index-core");
|
|
42
|
+
const TelemetryService_1 = require("./services/TelemetryService");
|
|
42
43
|
const open_1 = __importDefault(require("open"));
|
|
43
44
|
const path_1 = __importDefault(require("path"));
|
|
44
45
|
const dotenv = __importStar(require("dotenv"));
|
|
@@ -49,6 +50,8 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
49
50
|
try {
|
|
50
51
|
// Parse basic CLI arguments first
|
|
51
52
|
const options = parseArgs(args);
|
|
53
|
+
// Initialize telemetry
|
|
54
|
+
const telemetry = new TelemetryService_1.TelemetryService(!options.noTelemetry);
|
|
52
55
|
// Check for updates (non-blocking)
|
|
53
56
|
await checkForUpdates();
|
|
54
57
|
// Load Rivet's own environment variables from its .env.local file
|
|
@@ -97,6 +100,14 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
97
100
|
const project = await projectDetection.detectProject(process.cwd());
|
|
98
101
|
const userDevServerPort = options.userPort || project.devServerPort;
|
|
99
102
|
const rivetPort = options.port || 4000;
|
|
103
|
+
// Track session start
|
|
104
|
+
telemetry.trackSessionStart({
|
|
105
|
+
framework: project.framework,
|
|
106
|
+
port: rivetPort,
|
|
107
|
+
userPort: userDevServerPort,
|
|
108
|
+
gitTrackingEnabled: options.trackWithGit ?? true,
|
|
109
|
+
debugMode: options.debug
|
|
110
|
+
});
|
|
100
111
|
log.debug(`📡 Connecting to project dev server on port ${userDevServerPort}${options.userPort ? ' (user-specified)' : ' (detected)'}`);
|
|
101
112
|
// Inject selection script into user's project
|
|
102
113
|
const scriptInjection = new index_core_1.ScriptInjectionService();
|
|
@@ -106,7 +117,8 @@ const main = async (args = process.argv.slice(2)) => {
|
|
|
106
117
|
userPort: userDevServerPort,
|
|
107
118
|
trackWithGit: options.trackWithGit ?? true,
|
|
108
119
|
framework: project.framework,
|
|
109
|
-
rootHtmlPath: options.rootHtmlPath
|
|
120
|
+
rootHtmlPath: options.rootHtmlPath,
|
|
121
|
+
telemetry
|
|
110
122
|
});
|
|
111
123
|
// Open browser automatically unless disabled
|
|
112
124
|
await (0, open_1.default)(`http://localhost:${rivetPort}`);
|
|
@@ -196,6 +208,9 @@ const parseArgs = (args) => {
|
|
|
196
208
|
case '--no-git-tracking':
|
|
197
209
|
options.trackWithGit = false;
|
|
198
210
|
break;
|
|
211
|
+
case '--no-telemetry':
|
|
212
|
+
options.noTelemetry = true;
|
|
213
|
+
break;
|
|
199
214
|
}
|
|
200
215
|
}
|
|
201
216
|
return options;
|
|
@@ -215,6 +230,7 @@ OPTIONS:
|
|
|
215
230
|
-d, --debug Enable debug logging
|
|
216
231
|
--root-html-path Custom path for the project's root HTML file for script injection (e.g., apps/web/app/layout.tsx)
|
|
217
232
|
--no-git-tracking Disable git tracking (default: enabled)
|
|
233
|
+
--no-telemetry Disable anonymous usage analytics (default: enabled)
|
|
218
234
|
|
|
219
235
|
EXAMPLES:
|
|
220
236
|
rivet # Start Rivet on port 4000, connect to dev server on port 3000
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAuC;AACvC,6CAA6F;AAC7F,gDAAwB;AACxB,gDAAwB;AACxB,+CAAiC;AACjC,sEAA6C;AAE7C,4CAAoB;AAEpB,MAAM,GAAG,GAAG,IAAA,yBAAY,EAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { TelemetryService } from '../services/TelemetryService';
|
|
2
|
+
export declare const createComponentRouter: (telemetry?: TelemetryService) => import("express-serve-static-core").Router;
|
|
2
3
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,eAAO,MAAM,qBAAqB,GAAI,YAAY,gBAAgB,+CAgEjE,CAAC"}
|
|
@@ -6,10 +6,11 @@ exports.createComponentRouter = void 0;
|
|
|
6
6
|
const express_1 = require("express");
|
|
7
7
|
const index_core_1 = require("../index-core");
|
|
8
8
|
const log = (0, index_core_1.createLogger)('ComponentRoutes');
|
|
9
|
-
const createComponentRouter = () => {
|
|
9
|
+
const createComponentRouter = (telemetry) => {
|
|
10
10
|
const router = (0, express_1.Router)();
|
|
11
11
|
// Component search endpoint (supports single element or array of elements)
|
|
12
12
|
router.post('/search-components', async (req, res) => {
|
|
13
|
+
const startTime = Date.now();
|
|
13
14
|
try {
|
|
14
15
|
const body = req.body;
|
|
15
16
|
// Handle both single element and array of elements
|
|
@@ -40,7 +41,14 @@ const createComponentRouter = () => {
|
|
|
40
41
|
}
|
|
41
42
|
}));
|
|
42
43
|
const totalMatches = results.reduce((sum, result) => sum + result.matches.length, 0);
|
|
44
|
+
const searchTimeMs = Date.now() - startTime;
|
|
43
45
|
log.info(`Search completed: ${totalMatches} total matches across ${elements.length} element(s)`);
|
|
46
|
+
// Track successful component search
|
|
47
|
+
telemetry?.trackComponentSearch({
|
|
48
|
+
success: true,
|
|
49
|
+
resultCount: totalMatches,
|
|
50
|
+
searchTimeMs,
|
|
51
|
+
});
|
|
44
52
|
// Always return results array format
|
|
45
53
|
res.json({ results });
|
|
46
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,mFAAmF;;;AAEnF,qCAAiC;AACjC,8CAAqE;
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { SessionService } from '../index-core';
|
|
2
|
-
|
|
2
|
+
import { TelemetryService } from '../services/TelemetryService';
|
|
3
|
+
export declare const createModificationRouter: (sessionService: SessionService | null, telemetry?: TelemetryService) => import("express-serve-static-core").Router;
|
|
3
4
|
//# sourceMappingURL=modifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifications.d.ts","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,cAAc,EAIf,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"modifications.d.ts","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"AAQA,OAAO,EAIL,cAAc,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA4MhE,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,cAAc,GAAG,IAAI,EACrC,YAAY,gBAAgB,+CA4F7B,CAAC"}
|
|
@@ -164,7 +164,7 @@ const commitMultiFileChanges = async (sessionService, instruction, modifications
|
|
|
164
164
|
log.warn('Failed to commit multi-file modification:', error);
|
|
165
165
|
}
|
|
166
166
|
};
|
|
167
|
-
const createModificationRouter = (sessionService) => {
|
|
167
|
+
const createModificationRouter = (sessionService, telemetry) => {
|
|
168
168
|
const router = (0, express_1.Router)();
|
|
169
169
|
// Code modification endpoint using LLM (handles both single and multiple elements)
|
|
170
170
|
router.post('/modify-code', async (req, res) => {
|
|
@@ -211,10 +211,15 @@ const createModificationRouter = (sessionService) => {
|
|
|
211
211
|
details: 'The LLM returned the same code without modifications for all files'
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
|
-
// Write all modified files
|
|
215
214
|
await writeModifiedFiles(processResult.modifications);
|
|
216
|
-
// Commit all changes
|
|
217
215
|
await commitMultiFileChanges(sessionService, instruction, processResult.modifications);
|
|
216
|
+
telemetry?.trackCodeModification({
|
|
217
|
+
success: true,
|
|
218
|
+
instruction,
|
|
219
|
+
instructionLength: instruction.length,
|
|
220
|
+
elementCount: elements.length,
|
|
221
|
+
fileCount: processResult.modifications.length,
|
|
222
|
+
});
|
|
218
223
|
const response = {
|
|
219
224
|
changes: processResult.modifications.length === 1
|
|
220
225
|
? processResult.modifications[0].changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifications.js","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,wEAAwE;;;;;;AAExE,qCAAiC;AACjC,gDAAwB;AACxB,4CAAoB;AACpB,0CAAwC;AACxC,mCAAoC;AACpC,8CAQuB;
|
|
1
|
+
{"version":3,"file":"modifications.js","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C,wEAAwE;;;;;;AAExE,qCAAiC;AACjC,gDAAwB;AACxB,4CAAoB;AACpB,0CAAwC;AACxC,mCAAoC;AACpC,8CAQuB;AAGvB,MAAM,GAAG,GAAG,IAAA,yBAAY,EAAC,oBAAoB,CAAC,CAAC;AAU/C,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAU,EAAE;IACxE,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IAE/C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3C,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,IAAI,QAAQ;gBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;YAC9C,IAAI,OAAO;gBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;AAC1E,CAAC,CAAC;AAEF,wEAAwE;AACxE,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAAiG,EAAE;IAClJ,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+BAA+B;YACtC,OAAO,EAAE,wBAAwB,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;SACzG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,6BAA6B,GAAG,KAAK,EACzC,WAAmB,EACnB,QAA0B,EAC1B,cAAsB,GAAG,EASxB,EAAE;IACH,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,kCAAkC;QAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,cAAc,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,oBAAoB,QAAQ,SAAS,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;YAE9E,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,kBAAkB,QAAQ,EAAE;oBACnC,OAAO,EAAE,UAAU,CAAC,OAAO;iBAC5B,CAAC;YACJ,CAAC;YAED,mDAAmD;YACnD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3C,OAAO;gBACP,aAAa,EAAE,UAAU,CAAC,IAAI;gBAC9B,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC,CAAC;YAEJ,MAAM,UAAU,GAAG;gBACjB,WAAW,EAAE,GAAG,WAAW,8DAA8D;gBACzF,OAAO;gBACP,WAAW;aACZ,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAEnE,2CAA2C;YAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC5C,aAAa,CAAC,IAAI,CAAC;oBACjB,QAAQ;oBACR,YAAY,EAAE,UAAU,CAAC,IAAI;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,QAAQ,EAAE,YAAY;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAE1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC;YACvC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAClE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,kBAAkB,GAAG,KAAK,EAAE,aAAgE,EAAiB,EAAE;IACnH,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACrD,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,IAAA,oBAAS,EAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,sBAAsB,GAAG,KAAK,EAClC,cAAqC,EACrC,WAAmB,EACnB,aAKE,EACa,EAAE;IACjB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,kEAAkE;QAClE,MAAM,WAAW,GAAqB,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAChE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACpC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;YAC5C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI;gBACpC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBAC/B,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;aACrC;YACD,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,IAAA,mBAAU,GAAE;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,IAAI,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK;YACxD,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1C,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,eAAe,EAAE,GAAG,CAAC,YAAY;gBACjC,eAAe,EAAE,GAAG,CAAC,YAAY;gBACjC,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC;aAC7D,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,gDAAgD,WAAW,CAAC,MAAM,cAAc,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC;IAC1H,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC;AAGK,MAAM,wBAAwB,GAAG,CACtC,cAAqC,EACrC,SAA4B,EAC5B,EAAE;IACF,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,mFAAmF;IACnF,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAA4B,GAAG,CAAC,IAAI,CAAC;YAClD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;YAE7D,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;gBACnC,iBAAiB,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;gBAC3C,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1E,CAAC,CAAC;YAEH,mBAAmB;YACnB,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,4BAA4B;oBACnC,OAAO,EAAE,iEAAiE;iBAC3E,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,yBAAyB;oBAChC,OAAO,EAAE,gDAAgD;iBAC1D,CAAC,CAAC;YACL,CAAC;YAED,sCAAsC;YACtC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,iCAAiC;oBACxC,OAAO,EAAE,kEAAkE;iBAC5E,CAAC,CAAC;YACL,CAAC;YAED,sDAAsD;YACtD,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,aAAa,CAAC,KAAK;oBAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,oEAAoE;iBAC9E,CAAC,CAAC;YACL,CAAC;YAED,MAAM,kBAAkB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAEtD,MAAM,sBAAsB,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;YAEvF,SAAS,EAAE,qBAAqB,CAAC;gBAC/B,OAAO,EAAE,IAAI;gBACb,WAAW;gBACX,iBAAiB,EAAE,WAAW,CAAC,MAAM;gBACrC,YAAY,EAAE,QAAQ,CAAC,MAAM;gBAC7B,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM;aAC9C,CAAC,CAAC;YAEH,MAAM,QAAQ,GAA6B;gBACzC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;oBAC/C,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO;oBACxC,CAAC,CAAC,YAAY,aAAa,CAAC,aAAa,CAAC,MAAM,eAAe,QAAQ,CAAC,MAAM,WAAW;gBAC3F,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACrD,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,aAAa,EAAE,QAAQ,CAAC,MAAM;aAC/B,CAAC;YAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,0BAA0B;gBACjC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAGH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA9FW,QAAA,wBAAwB,4BA8FnC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { CLIOptions } from '.';
|
|
2
|
+
import { TelemetryService } from './services/TelemetryService';
|
|
2
3
|
import { Framework } from './services/ProjectDetectionService';
|
|
3
4
|
export declare const DIST_UI_PATH: string;
|
|
4
5
|
export type ServerOptions = Omit<CLIOptions, 'help' | 'version' | 'debug'> & {
|
|
5
6
|
framework: Framework;
|
|
7
|
+
telemetry?: TelemetryService;
|
|
6
8
|
};
|
|
7
9
|
export declare const startServer: (options: ServerOptions) => Promise<void>;
|
|
8
10
|
export default startServer;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAK/D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAI/D,eAAO,MAAM,YAAY,QAAyC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IAC3E,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAA;AAKD,eAAO,MAAM,WAAW,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAqGtE,CAAC;AAIF,eAAe,WAAW,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -17,7 +17,7 @@ exports.DIST_UI_PATH = path_1.default.join(__dirname, '../src/ui/dist');
|
|
|
17
17
|
const DEFAULT_PORT = 4000;
|
|
18
18
|
const DEFAULT_USER_PORT = 3000;
|
|
19
19
|
const startServer = async (options) => {
|
|
20
|
-
const { port = DEFAULT_PORT, userPort = DEFAULT_USER_PORT, trackWithGit = false, framework = 'nextjs', rootHtmlPath, } = options;
|
|
20
|
+
const { port = DEFAULT_PORT, userPort = DEFAULT_USER_PORT, trackWithGit = false, framework = 'nextjs', rootHtmlPath, telemetry, } = options;
|
|
21
21
|
const sessionService = trackWithGit
|
|
22
22
|
? new index_core_1.SessionService(process.cwd(), true)
|
|
23
23
|
: null;
|
|
@@ -31,13 +31,23 @@ const startServer = async (options) => {
|
|
|
31
31
|
}
|
|
32
32
|
// Setup cleanup on process exit
|
|
33
33
|
const cleanup = async () => {
|
|
34
|
-
log.info('Server shutting down, cleaning up
|
|
34
|
+
log.info('Server shutting down, cleaning up...');
|
|
35
|
+
// Cleanup session service
|
|
35
36
|
try {
|
|
36
37
|
await sessionService.cleanupSession(framework, rootHtmlPath);
|
|
37
38
|
}
|
|
38
39
|
catch (error) {
|
|
39
40
|
log.error('Failed to cleanup session:', error);
|
|
40
41
|
}
|
|
42
|
+
// Cleanup telemetry service
|
|
43
|
+
if (telemetry) {
|
|
44
|
+
try {
|
|
45
|
+
await telemetry.shutdown();
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
log.error('Failed to cleanup telemetry:', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
41
51
|
};
|
|
42
52
|
process.on('SIGINT', cleanup);
|
|
43
53
|
process.on('SIGTERM', cleanup);
|
|
@@ -66,8 +76,8 @@ const startServer = async (options) => {
|
|
|
66
76
|
});
|
|
67
77
|
// API routes for Rivet functionality
|
|
68
78
|
app.use('/api', (0, selection_1.createSelectionRouter)(userPort));
|
|
69
|
-
app.use('/api', (0, components_1.createComponentRouter)());
|
|
70
|
-
app.use('/api', (0, modifications_1.createModificationRouter)(sessionService));
|
|
79
|
+
app.use('/api', (0, components_1.createComponentRouter)(telemetry));
|
|
80
|
+
app.use('/api', (0, modifications_1.createModificationRouter)(sessionService, telemetry));
|
|
71
81
|
app.use('/api', (0, git_1.createGitRouter)(sessionService));
|
|
72
82
|
// Health check
|
|
73
83
|
app.get('/health', (req, res) => {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AACxB,gDAAwB;AACxB,6CAA4D;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export declare class TelemetryService {
|
|
2
|
+
private posthog;
|
|
3
|
+
private isEnabled;
|
|
4
|
+
constructor(enabled?: boolean);
|
|
5
|
+
/**
|
|
6
|
+
* Track an event with properties
|
|
7
|
+
*/
|
|
8
|
+
track(event: string, properties?: Record<string, any>): void;
|
|
9
|
+
/**
|
|
10
|
+
* Track CLI session start
|
|
11
|
+
*/
|
|
12
|
+
trackSessionStart(options: {
|
|
13
|
+
framework?: string;
|
|
14
|
+
port?: number;
|
|
15
|
+
userPort?: number;
|
|
16
|
+
gitTrackingEnabled?: boolean;
|
|
17
|
+
debugMode?: boolean;
|
|
18
|
+
}): void;
|
|
19
|
+
/**
|
|
20
|
+
* Track code modification request - NO CODE CONTENT, just metadata
|
|
21
|
+
*/
|
|
22
|
+
trackCodeModification(data: {
|
|
23
|
+
success: boolean;
|
|
24
|
+
instruction?: string;
|
|
25
|
+
instructionLength?: number;
|
|
26
|
+
elementCount?: number;
|
|
27
|
+
fileCount?: number;
|
|
28
|
+
errorType?: string;
|
|
29
|
+
modificationTimeMs?: number;
|
|
30
|
+
}): void;
|
|
31
|
+
/**
|
|
32
|
+
* Track component search
|
|
33
|
+
*/
|
|
34
|
+
trackComponentSearch(data: {
|
|
35
|
+
success: boolean;
|
|
36
|
+
resultCount?: number;
|
|
37
|
+
searchTimeMs?: number;
|
|
38
|
+
}): void;
|
|
39
|
+
/**
|
|
40
|
+
* Track git operations
|
|
41
|
+
*/
|
|
42
|
+
trackGitOperation(data: {
|
|
43
|
+
operation: 'commit' | 'publish' | 'branch_create';
|
|
44
|
+
success: boolean;
|
|
45
|
+
errorType?: string;
|
|
46
|
+
}): void;
|
|
47
|
+
/**
|
|
48
|
+
* Track errors
|
|
49
|
+
*/
|
|
50
|
+
trackError(data: {
|
|
51
|
+
errorType: string;
|
|
52
|
+
context: string;
|
|
53
|
+
framework?: string;
|
|
54
|
+
}): void;
|
|
55
|
+
/**
|
|
56
|
+
* Track element selection patterns
|
|
57
|
+
*/
|
|
58
|
+
trackElementSelection(data: {
|
|
59
|
+
method: 'click' | 'search';
|
|
60
|
+
elementType?: string;
|
|
61
|
+
framework?: string;
|
|
62
|
+
}): void;
|
|
63
|
+
/**
|
|
64
|
+
* Get package version for telemetry
|
|
65
|
+
*/
|
|
66
|
+
private getPackageVersion;
|
|
67
|
+
/**
|
|
68
|
+
* Flush any pending events and cleanup
|
|
69
|
+
*/
|
|
70
|
+
shutdown(): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
export declare const telemetry: TelemetryService;
|
|
73
|
+
//# sourceMappingURL=TelemetryService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryService.d.ts","sourceRoot":"","sources":["../../src/services/TelemetryService.ts"],"names":[],"mappings":"AAUA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAAU;gBAEf,OAAO,GAAE,OAAc;IAsBnC;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,IAAI;IAuBhE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,IAAI;IAUR;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI;IAYR;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI;IAQR;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,CAAC;QAClD,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IAQR;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IAQR;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE;QAC1B,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IAQR;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC;AAGD,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.telemetry = exports.TelemetryService = void 0;
|
|
7
|
+
const posthog_node_1 = require("posthog-node");
|
|
8
|
+
const logger_1 = require("../utils/logger");
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const log = (0, logger_1.createLogger)('TelemetryService');
|
|
12
|
+
const POSTHOG_PUBLIC_API_KEY = "phc_Ntj9tXHbS64XgYxlTfhglRmFivFsfm0AERph4ZlnNH";
|
|
13
|
+
const POSTHOG_PUBLIC_HOST = "https://us.i.posthog.com";
|
|
14
|
+
class TelemetryService {
|
|
15
|
+
constructor(enabled = true) {
|
|
16
|
+
this.posthog = null;
|
|
17
|
+
this.isEnabled = enabled;
|
|
18
|
+
if (this.isEnabled) {
|
|
19
|
+
try {
|
|
20
|
+
this.posthog = new posthog_node_1.PostHog(POSTHOG_PUBLIC_API_KEY, {
|
|
21
|
+
host: POSTHOG_PUBLIC_HOST
|
|
22
|
+
});
|
|
23
|
+
log.debug('Telemetry initialized');
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
log.debug('Failed to initialize telemetry:', error);
|
|
27
|
+
this.isEnabled = false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
log.debug('Telemetry disabled');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Track an event with properties
|
|
36
|
+
*/
|
|
37
|
+
track(event, properties = {}) {
|
|
38
|
+
if (!this.isEnabled || !this.posthog)
|
|
39
|
+
return;
|
|
40
|
+
try {
|
|
41
|
+
const enrichedProperties = {
|
|
42
|
+
...properties,
|
|
43
|
+
timestamp: new Date().toISOString(),
|
|
44
|
+
version: this.getPackageVersion(),
|
|
45
|
+
platform: process.platform,
|
|
46
|
+
node_version: process.version
|
|
47
|
+
};
|
|
48
|
+
this.posthog.capture({
|
|
49
|
+
distinctId: 'anonymous-user',
|
|
50
|
+
event,
|
|
51
|
+
properties: enrichedProperties
|
|
52
|
+
});
|
|
53
|
+
log.debug(`Tracked event: ${event}`, enrichedProperties);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
log.debug('Failed to track event:', error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Track CLI session start
|
|
61
|
+
*/
|
|
62
|
+
trackSessionStart(options) {
|
|
63
|
+
this.track('cli_session_start', {
|
|
64
|
+
framework: options.framework,
|
|
65
|
+
port: options.port,
|
|
66
|
+
user_port: options.userPort,
|
|
67
|
+
git_tracking_enabled: options.gitTrackingEnabled,
|
|
68
|
+
debug_mode: options.debugMode
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Track code modification request - NO CODE CONTENT, just metadata
|
|
73
|
+
*/
|
|
74
|
+
trackCodeModification(data) {
|
|
75
|
+
this.track('code_modification', {
|
|
76
|
+
success: data.success,
|
|
77
|
+
instruction: data.instruction, // User prompt is safe to capture
|
|
78
|
+
instruction_length: data.instructionLength,
|
|
79
|
+
element_count: data.elementCount,
|
|
80
|
+
file_count: data.fileCount,
|
|
81
|
+
error_type: data.errorType,
|
|
82
|
+
modification_time_ms: data.modificationTimeMs
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Track component search
|
|
87
|
+
*/
|
|
88
|
+
trackComponentSearch(data) {
|
|
89
|
+
this.track('component_search', {
|
|
90
|
+
success: data.success,
|
|
91
|
+
result_count: data.resultCount,
|
|
92
|
+
search_time_ms: data.searchTimeMs,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Track git operations
|
|
97
|
+
*/
|
|
98
|
+
trackGitOperation(data) {
|
|
99
|
+
this.track('git_operation', {
|
|
100
|
+
operation: data.operation,
|
|
101
|
+
success: data.success,
|
|
102
|
+
error_type: data.errorType
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Track errors
|
|
107
|
+
*/
|
|
108
|
+
trackError(data) {
|
|
109
|
+
this.track('error', {
|
|
110
|
+
error_type: data.errorType,
|
|
111
|
+
context: data.context,
|
|
112
|
+
framework: data.framework
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Track element selection patterns
|
|
117
|
+
*/
|
|
118
|
+
trackElementSelection(data) {
|
|
119
|
+
this.track('element_selection', {
|
|
120
|
+
method: data.method,
|
|
121
|
+
element_type: data.elementType,
|
|
122
|
+
framework: data.framework
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get package version for telemetry
|
|
127
|
+
*/
|
|
128
|
+
getPackageVersion() {
|
|
129
|
+
try {
|
|
130
|
+
const packageJsonPath = path_1.default.join(__dirname, '../../package.json');
|
|
131
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
|
|
132
|
+
return packageJson.version;
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
return 'unknown';
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Flush any pending events and cleanup
|
|
140
|
+
*/
|
|
141
|
+
async shutdown() {
|
|
142
|
+
if (this.posthog) {
|
|
143
|
+
try {
|
|
144
|
+
// PostHog automatically handles batching and sending
|
|
145
|
+
await this.posthog.shutdown();
|
|
146
|
+
log.debug('Telemetry shutdown complete');
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
log.debug('Error during telemetry shutdown:', error);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.TelemetryService = TelemetryService;
|
|
155
|
+
// Export singleton instance
|
|
156
|
+
exports.telemetry = new TelemetryService();
|
|
157
|
+
//# sourceMappingURL=TelemetryService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryService.js","sourceRoot":"","sources":["../../src/services/TelemetryService.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAuC;AACvC,4CAA+C;AAC/C,4CAAoB;AACpB,gDAAwB;AAExB,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,kBAAkB,CAAC,CAAC;AAE7C,MAAM,sBAAsB,GAAG,gDAAgD,CAAC;AAChF,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAEvD,MAAa,gBAAgB;IAI3B,YAAY,UAAmB,IAAI;QAH3B,YAAO,GAAmB,IAAI,CAAC;QAIrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAEzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,sBAAO,CACxB,sBAAsB,EACtB;oBACE,IAAI,EAAE,mBAAmB;iBAC1B,CACF,CAAC;gBAEF,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa,EAAE,aAAkC,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE7C,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG;gBACzB,GAAG,UAAU;gBACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,OAAO;aAC9B,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACnB,UAAU,EAAE,gBAAgB;gBAC5B,KAAK;gBACL,UAAU,EAAE,kBAAkB;aAC/B,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,kBAAkB,KAAK,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAMjB;QACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;YAChD,UAAU,EAAE,OAAO,CAAC,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,IAQrB;QACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,iCAAiC;YAChE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;YAC1C,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;SAC9C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,IAIpB;QACC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,cAAc,EAAE,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAIjB;QACC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAIV;QACC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,IAIrB;QACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YACzE,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,qDAAqD;gBACrD,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AArLD,4CAqLC;AAED,4BAA4B;AACf,QAAA,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rivet-design",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Local visual web development tool with AI-powered code modification",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -36,6 +36,8 @@
|
|
|
36
36
|
"lucide-react": "^0.539.0",
|
|
37
37
|
"motion": "^12.23.12",
|
|
38
38
|
"open": "^8.4.0",
|
|
39
|
+
"posthog-js": "^1.264.2",
|
|
40
|
+
"posthog-node": "^4.2.1",
|
|
39
41
|
"react": "^18.2.0",
|
|
40
42
|
"react-dom": "^18.2.0",
|
|
41
43
|
"simple-git": "^3.19.1",
|
|
@@ -65,12 +67,21 @@
|
|
|
65
67
|
"bin/"
|
|
66
68
|
],
|
|
67
69
|
"keywords": [
|
|
68
|
-
"rivet",
|
|
69
70
|
"visual-editor",
|
|
70
|
-
"
|
|
71
|
+
"frontend-development",
|
|
72
|
+
"css-editor",
|
|
73
|
+
"design-tools",
|
|
74
|
+
"ui-development",
|
|
75
|
+
"react-editor",
|
|
76
|
+
"web-design",
|
|
77
|
+
"css-visual-editor",
|
|
78
|
+
"no-code",
|
|
79
|
+
"low-code",
|
|
71
80
|
"ai-powered",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
81
|
+
"product-design",
|
|
82
|
+
"tailwind-css",
|
|
83
|
+
"component-editor",
|
|
84
|
+
"web-builder"
|
|
74
85
|
],
|
|
75
86
|
"author": "Rivet Design",
|
|
76
87
|
"license": "GPL-3.0-or-later",
|