@c15t/cli 1.2.0-canary.13 → 1.2.0-canary.3
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.mjs +91 -90
- package/dist/utils/telemetry.d.ts +37 -38
- package/dist/utils/telemetry.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -327,43 +327,44 @@ const createCliLogger = (level)=>{
|
|
|
327
327
|
return extendedLogger;
|
|
328
328
|
};
|
|
329
329
|
const TELEMETRY_DISABLED_ENV = 'C15T_TELEMETRY_DISABLED';
|
|
330
|
-
|
|
331
|
-
CLI_INVOKED
|
|
332
|
-
CLI_COMPLETED
|
|
333
|
-
CLI_EXITED
|
|
334
|
-
CLI_ENVIRONMENT_DETECTED
|
|
335
|
-
COMMAND_EXECUTED
|
|
336
|
-
COMMAND_SUCCEEDED
|
|
337
|
-
COMMAND_FAILED
|
|
338
|
-
COMMAND_UNKNOWN
|
|
339
|
-
INTERACTIVE_MENU_OPENED
|
|
340
|
-
INTERACTIVE_MENU_EXITED
|
|
341
|
-
CONFIG_LOADED
|
|
342
|
-
CONFIG_ERROR
|
|
343
|
-
CONFIG_UPDATED
|
|
344
|
-
HELP_DISPLAYED
|
|
345
|
-
VERSION_DISPLAYED
|
|
346
|
-
ONBOARDING_STARTED
|
|
347
|
-
ONBOARDING_COMPLETED
|
|
348
|
-
ONBOARDING_EXITED
|
|
349
|
-
ONBOARDING_STORAGE_MODE_SELECTED
|
|
350
|
-
ONBOARDING_C15T_MODE_CONFIGURED
|
|
351
|
-
ONBOARDING_OFFLINE_MODE_CONFIGURED
|
|
352
|
-
ONBOARDING_SELF_HOSTED_CONFIGURED
|
|
353
|
-
ONBOARDING_CUSTOM_MODE_CONFIGURED
|
|
354
|
-
ONBOARDING_DEPENDENCIES_CHOICE
|
|
355
|
-
ONBOARDING_DEPENDENCIES_INSTALLED
|
|
356
|
-
ONBOARDING_GITHUB_STAR
|
|
357
|
-
ERROR_OCCURRED
|
|
358
|
-
MIGRATION_STARTED
|
|
359
|
-
MIGRATION_PLANNED
|
|
360
|
-
MIGRATION_EXECUTED
|
|
361
|
-
MIGRATION_COMPLETED
|
|
362
|
-
MIGRATION_FAILED
|
|
363
|
-
GENERATE_STARTED
|
|
364
|
-
GENERATE_COMPLETED
|
|
365
|
-
GENERATE_FAILED
|
|
366
|
-
|
|
330
|
+
var telemetry_TelemetryEventName = /*#__PURE__*/ function(TelemetryEventName) {
|
|
331
|
+
TelemetryEventName["CLI_INVOKED"] = "cli.invoked";
|
|
332
|
+
TelemetryEventName["CLI_COMPLETED"] = "cli.completed";
|
|
333
|
+
TelemetryEventName["CLI_EXITED"] = "cli.exited";
|
|
334
|
+
TelemetryEventName["CLI_ENVIRONMENT_DETECTED"] = "cli.environment_detected";
|
|
335
|
+
TelemetryEventName["COMMAND_EXECUTED"] = "command.executed";
|
|
336
|
+
TelemetryEventName["COMMAND_SUCCEEDED"] = "command.succeeded";
|
|
337
|
+
TelemetryEventName["COMMAND_FAILED"] = "command.failed";
|
|
338
|
+
TelemetryEventName["COMMAND_UNKNOWN"] = "command.unknown";
|
|
339
|
+
TelemetryEventName["INTERACTIVE_MENU_OPENED"] = "ui.menu.opened";
|
|
340
|
+
TelemetryEventName["INTERACTIVE_MENU_EXITED"] = "ui.menu.exited";
|
|
341
|
+
TelemetryEventName["CONFIG_LOADED"] = "config.loaded";
|
|
342
|
+
TelemetryEventName["CONFIG_ERROR"] = "config.error";
|
|
343
|
+
TelemetryEventName["CONFIG_UPDATED"] = "config.updated";
|
|
344
|
+
TelemetryEventName["HELP_DISPLAYED"] = "help.displayed";
|
|
345
|
+
TelemetryEventName["VERSION_DISPLAYED"] = "version.displayed";
|
|
346
|
+
TelemetryEventName["ONBOARDING_STARTED"] = "onboarding.started";
|
|
347
|
+
TelemetryEventName["ONBOARDING_COMPLETED"] = "onboarding.completed";
|
|
348
|
+
TelemetryEventName["ONBOARDING_EXITED"] = "onboarding.exited";
|
|
349
|
+
TelemetryEventName["ONBOARDING_STORAGE_MODE_SELECTED"] = "onboarding.storage_mode_selected";
|
|
350
|
+
TelemetryEventName["ONBOARDING_C15T_MODE_CONFIGURED"] = "onboarding.c15t_mode_configured";
|
|
351
|
+
TelemetryEventName["ONBOARDING_OFFLINE_MODE_CONFIGURED"] = "onboarding.offline_mode_configured";
|
|
352
|
+
TelemetryEventName["ONBOARDING_SELF_HOSTED_CONFIGURED"] = "onboarding.self_hosted_configured";
|
|
353
|
+
TelemetryEventName["ONBOARDING_CUSTOM_MODE_CONFIGURED"] = "onboarding.custom_mode_configured";
|
|
354
|
+
TelemetryEventName["ONBOARDING_DEPENDENCIES_CHOICE"] = "onboarding.dependencies_choice";
|
|
355
|
+
TelemetryEventName["ONBOARDING_DEPENDENCIES_INSTALLED"] = "onboarding.dependencies_installed";
|
|
356
|
+
TelemetryEventName["ONBOARDING_GITHUB_STAR"] = "onboarding.github_star";
|
|
357
|
+
TelemetryEventName["ERROR_OCCURRED"] = "error.occurred";
|
|
358
|
+
TelemetryEventName["MIGRATION_STARTED"] = "migration.started";
|
|
359
|
+
TelemetryEventName["MIGRATION_PLANNED"] = "migration.planned";
|
|
360
|
+
TelemetryEventName["MIGRATION_EXECUTED"] = "migration.executed";
|
|
361
|
+
TelemetryEventName["MIGRATION_COMPLETED"] = "migration.completed";
|
|
362
|
+
TelemetryEventName["MIGRATION_FAILED"] = "migration.failed";
|
|
363
|
+
TelemetryEventName["GENERATE_STARTED"] = "generate.started";
|
|
364
|
+
TelemetryEventName["GENERATE_COMPLETED"] = "generate.completed";
|
|
365
|
+
TelemetryEventName["GENERATE_FAILED"] = "generate.failed";
|
|
366
|
+
return TelemetryEventName;
|
|
367
|
+
}({});
|
|
367
368
|
class Telemetry {
|
|
368
369
|
client = null;
|
|
369
370
|
disabled;
|
|
@@ -414,7 +415,7 @@ class Telemetry {
|
|
|
414
415
|
if (this.disabled || !this.client) return;
|
|
415
416
|
const safeFlags = {};
|
|
416
417
|
for (const [key, value] of Object.entries(flags))if ('config' !== key && void 0 !== value) safeFlags[key] = value;
|
|
417
|
-
this.trackEvent(
|
|
418
|
+
this.trackEvent("command.executed", {
|
|
418
419
|
command,
|
|
419
420
|
args: args.join(' '),
|
|
420
421
|
flagsData: JSON.stringify(safeFlags)
|
|
@@ -422,7 +423,7 @@ class Telemetry {
|
|
|
422
423
|
}
|
|
423
424
|
trackError(error, command) {
|
|
424
425
|
if (this.disabled || !this.client) return;
|
|
425
|
-
this.trackEvent(
|
|
426
|
+
this.trackEvent("error.occurred", {
|
|
426
427
|
command,
|
|
427
428
|
error: error.message,
|
|
428
429
|
errorName: error.name,
|
|
@@ -981,7 +982,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
981
982
|
const { logger, cwd, telemetry } = context;
|
|
982
983
|
const handleCancel = (value)=>{
|
|
983
984
|
if (__WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.isCancel(value)) {
|
|
984
|
-
telemetry.trackEvent(
|
|
985
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_EXITED, {
|
|
985
986
|
reason: 'user_cancelled',
|
|
986
987
|
stage: 'setup'
|
|
987
988
|
});
|
|
@@ -992,7 +993,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
992
993
|
};
|
|
993
994
|
const isUpdate = !!existingConfig;
|
|
994
995
|
logger.info(isUpdate ? 'Starting configuration update...' : 'Starting onboarding process...');
|
|
995
|
-
telemetry.trackEvent(isUpdate ?
|
|
996
|
+
telemetry.trackEvent(isUpdate ? telemetry_TelemetryEventName.CONFIG_UPDATED : telemetry_TelemetryEventName.ONBOARDING_STARTED, {
|
|
996
997
|
isUpdate
|
|
997
998
|
});
|
|
998
999
|
telemetry.flushSync();
|
|
@@ -1008,7 +1009,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1008
1009
|
logger.debug(`Detected package manager: ${packageManager}`);
|
|
1009
1010
|
if (framework) logger.debug(`Detected framework: ${framework}`);
|
|
1010
1011
|
logger.debug(`React detected: ${hasReact}`);
|
|
1011
|
-
telemetry.trackEvent(
|
|
1012
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CLI_ENVIRONMENT_DETECTED, {
|
|
1012
1013
|
packageManager,
|
|
1013
1014
|
framework: framework || 'unknown',
|
|
1014
1015
|
hasReact
|
|
@@ -1053,7 +1054,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1053
1054
|
if (handleCancel(storageModeSelection)) return;
|
|
1054
1055
|
const storageMode = storageModeSelection;
|
|
1055
1056
|
logger.debug(`Selected storage mode: ${storageMode}`);
|
|
1056
|
-
telemetry.trackEvent(
|
|
1057
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_STORAGE_MODE_SELECTED, {
|
|
1057
1058
|
storageMode,
|
|
1058
1059
|
isUpdate
|
|
1059
1060
|
});
|
|
@@ -1070,27 +1071,27 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1070
1071
|
if (isUpdate && existingConfig && isClientOptions(existingConfig) && existingConfig.backendURL) initialBackendURL = existingConfig.backendURL;
|
|
1071
1072
|
const c15tResult = await setupC15tMode(context, projectRoot, s, initialBackendURL, handleCancel);
|
|
1072
1073
|
c15tResult.clientConfigContent;
|
|
1073
|
-
telemetry.trackEvent(
|
|
1074
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_C15T_MODE_CONFIGURED, {
|
|
1074
1075
|
usingEnvFile: c15tResult.usingEnvFile,
|
|
1075
1076
|
hasInitialBackendURL: !!initialBackendURL
|
|
1076
1077
|
});
|
|
1077
1078
|
} else if ('offline' === storageMode) {
|
|
1078
1079
|
const offlineResult = await setupOfflineMode(context, projectRoot, s, handleCancel);
|
|
1079
1080
|
offlineResult.clientConfigContent;
|
|
1080
|
-
telemetry.trackEvent(
|
|
1081
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_OFFLINE_MODE_CONFIGURED, {});
|
|
1081
1082
|
} else if ('self-hosted' === storageMode) {
|
|
1082
1083
|
const selfHostedResult = await setupSelfHostedMode(context, projectRoot, s, handleCancel);
|
|
1083
1084
|
selfHostedResult.clientConfigContent;
|
|
1084
1085
|
selfHostedResult.backendConfigContent;
|
|
1085
1086
|
dependenciesToAdd.push(...selfHostedResult.dependencies);
|
|
1086
|
-
telemetry.trackEvent(
|
|
1087
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_SELF_HOSTED_CONFIGURED, {
|
|
1087
1088
|
databaseType: selfHostedResult.adapterChoice,
|
|
1088
1089
|
dependencies: selfHostedResult.dependencies.join(',')
|
|
1089
1090
|
});
|
|
1090
1091
|
} else if ('custom' === storageMode) {
|
|
1091
1092
|
const customResult = await setupCustomMode(context, projectRoot, s);
|
|
1092
1093
|
customResult.clientConfigContent;
|
|
1093
|
-
telemetry.trackEvent(
|
|
1094
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_CUSTOM_MODE_CONFIGURED, {});
|
|
1094
1095
|
}
|
|
1095
1096
|
let addDeps = false;
|
|
1096
1097
|
if (dependenciesToAdd.length > 0) {
|
|
@@ -1101,7 +1102,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1101
1102
|
});
|
|
1102
1103
|
if (handleCancel(addDepsSelection)) return;
|
|
1103
1104
|
addDeps = addDepsSelection;
|
|
1104
|
-
telemetry.trackEvent(
|
|
1105
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_DEPENDENCIES_CHOICE, {
|
|
1105
1106
|
confirmed: addDeps,
|
|
1106
1107
|
dependencies: dependenciesToAdd.join(','),
|
|
1107
1108
|
packageManager
|
|
@@ -1115,7 +1116,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1115
1116
|
s.stop(`✅ Dependencies installed: ${dependenciesToAdd.map((d)=>__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan(d)).join(', ')}`);
|
|
1116
1117
|
spinnerActive = false;
|
|
1117
1118
|
ranInstall = true;
|
|
1118
|
-
telemetry.trackEvent(
|
|
1119
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_DEPENDENCIES_INSTALLED, {
|
|
1119
1120
|
success: true,
|
|
1120
1121
|
dependencies: dependenciesToAdd.join(','),
|
|
1121
1122
|
packageManager
|
|
@@ -1124,7 +1125,7 @@ async function startOnboarding(context, existingConfig) {
|
|
|
1124
1125
|
s.stop(__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].yellow('⚠️ Dependency installation failed.'));
|
|
1125
1126
|
spinnerActive = false;
|
|
1126
1127
|
logger.error('Installation Error:', installError);
|
|
1127
|
-
telemetry.trackEvent(
|
|
1128
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_DEPENDENCIES_INSTALLED, {
|
|
1128
1129
|
success: false,
|
|
1129
1130
|
error: installError instanceof Error ? installError.message : String(installError),
|
|
1130
1131
|
dependencies: dependenciesToAdd.join(','),
|
|
@@ -1194,12 +1195,12 @@ If you find this useful, we'd really appreciate a GitHub star - it helps others
|
|
|
1194
1195
|
initialValue: true
|
|
1195
1196
|
});
|
|
1196
1197
|
if (__WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.isCancel(shouldOpenGithub)) {
|
|
1197
|
-
telemetry.trackEvent(
|
|
1198
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_GITHUB_STAR, {
|
|
1198
1199
|
action: 'cancelled'
|
|
1199
1200
|
});
|
|
1200
1201
|
return context.error.handleCancel('GitHub star prompt cancelled. Exiting onboarding.');
|
|
1201
1202
|
}
|
|
1202
|
-
telemetry.trackEvent(
|
|
1203
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_GITHUB_STAR, {
|
|
1203
1204
|
action: shouldOpenGithub ? 'opened_browser' : 'declined'
|
|
1204
1205
|
});
|
|
1205
1206
|
if (shouldOpenGithub) try {
|
|
@@ -1210,7 +1211,7 @@ If you find this useful, we'd really appreciate a GitHub star - it helps others
|
|
|
1210
1211
|
logger.debug('Failed to open browser:', error);
|
|
1211
1212
|
logger.info(`You can star us later by visiting: ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('https://github.com/c15t/c15t')}`);
|
|
1212
1213
|
}
|
|
1213
|
-
telemetry.trackEvent(
|
|
1214
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_COMPLETED, {
|
|
1214
1215
|
success: true,
|
|
1215
1216
|
storageMode,
|
|
1216
1217
|
installDependencies: ranInstall
|
|
@@ -1222,7 +1223,7 @@ If you find this useful, we'd really appreciate a GitHub star - it helps others
|
|
|
1222
1223
|
logger.error('An unexpected error occurred during onboarding:', error);
|
|
1223
1224
|
if (error instanceof Error && error.message) logger.error(`Error details: ${error.message}`);
|
|
1224
1225
|
logger.failed('Onboarding process could not be completed.');
|
|
1225
|
-
telemetry.trackEvent(
|
|
1226
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_COMPLETED, {
|
|
1226
1227
|
success: false,
|
|
1227
1228
|
error: error instanceof Error ? error.message : String(error)
|
|
1228
1229
|
});
|
|
@@ -1235,7 +1236,7 @@ async function setupGenerateEnvironment(context) {
|
|
|
1235
1236
|
logger.debug('Context flags:', flags);
|
|
1236
1237
|
logger.debug(`Context CWD: ${cwd}`);
|
|
1237
1238
|
if (!(0, __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__.existsSync)(cwd)) {
|
|
1238
|
-
telemetry.trackEvent(
|
|
1239
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1239
1240
|
error: `Directory ${cwd} does not exist`,
|
|
1240
1241
|
stage: 'setup'
|
|
1241
1242
|
});
|
|
@@ -1257,7 +1258,7 @@ async function setupGenerateEnvironment(context) {
|
|
|
1257
1258
|
adapter: memAdapter
|
|
1258
1259
|
};
|
|
1259
1260
|
} catch (adapterError) {
|
|
1260
|
-
telemetry.trackEvent(
|
|
1261
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1261
1262
|
error: adapterError instanceof Error ? adapterError.message : String(adapterError),
|
|
1262
1263
|
stage: 'adapter_initialization'
|
|
1263
1264
|
});
|
|
@@ -1270,14 +1271,14 @@ async function setupGenerateEnvironment(context) {
|
|
|
1270
1271
|
adapter = await (0, __WEBPACK_EXTERNAL_MODULE__c15t_backend_pkgs_db_adapters_cee37d0f__.getAdapter)(config);
|
|
1271
1272
|
logger.debug('Adapter initialized successfully');
|
|
1272
1273
|
} catch (e) {
|
|
1273
|
-
telemetry.trackEvent(
|
|
1274
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1274
1275
|
error: e instanceof Error ? e.message : String(e),
|
|
1275
1276
|
stage: 'adapter_initialization_with_config'
|
|
1276
1277
|
});
|
|
1277
1278
|
return error.handleError(e, 'Failed to initialize database adapter');
|
|
1278
1279
|
}
|
|
1279
1280
|
if (!adapter) {
|
|
1280
|
-
telemetry.trackEvent(
|
|
1281
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1281
1282
|
error: 'Adapter initialization returned undefined',
|
|
1282
1283
|
stage: 'adapter_initialization_check'
|
|
1283
1284
|
});
|
|
@@ -1292,7 +1293,7 @@ async function setupGenerateEnvironment(context) {
|
|
|
1292
1293
|
async function generate(context) {
|
|
1293
1294
|
const { logger, error, telemetry } = context;
|
|
1294
1295
|
logger.debug('Starting generate command...');
|
|
1295
|
-
telemetry.trackEvent(
|
|
1296
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_STARTED, {});
|
|
1296
1297
|
const setupResult = await setupGenerateEnvironment(context);
|
|
1297
1298
|
let { config, adapter } = setupResult;
|
|
1298
1299
|
if (config) {
|
|
@@ -1300,7 +1301,7 @@ async function generate(context) {
|
|
|
1300
1301
|
if (isClientOptions(config)) {
|
|
1301
1302
|
if (config.mode) currentMode = config.mode;
|
|
1302
1303
|
} else if (isC15TOptions(config)) currentMode = 'backend';
|
|
1303
|
-
telemetry.trackEvent(
|
|
1304
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CONFIG_LOADED, {
|
|
1304
1305
|
type: currentMode,
|
|
1305
1306
|
exists: true
|
|
1306
1307
|
});
|
|
@@ -1309,7 +1310,7 @@ async function generate(context) {
|
|
|
1309
1310
|
initialValue: false
|
|
1310
1311
|
});
|
|
1311
1312
|
if (!shouldUpdate) {
|
|
1312
|
-
telemetry.trackEvent(
|
|
1313
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_COMPLETED, {
|
|
1313
1314
|
success: false,
|
|
1314
1315
|
reason: 'user_cancelled'
|
|
1315
1316
|
});
|
|
@@ -1320,7 +1321,7 @@ async function generate(context) {
|
|
|
1320
1321
|
logger.debug('Reloading configuration after update...');
|
|
1321
1322
|
const postUpdateResult = await setupGenerateEnvironment(context);
|
|
1322
1323
|
if (!postUpdateResult.config) {
|
|
1323
|
-
telemetry.trackEvent(
|
|
1324
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1324
1325
|
error: 'Failed to load configuration after update'
|
|
1325
1326
|
});
|
|
1326
1327
|
return error.handleError(new Error('Failed to load configuration after update.'), 'Configuration Error');
|
|
@@ -1328,20 +1329,20 @@ async function generate(context) {
|
|
|
1328
1329
|
config = postUpdateResult.config;
|
|
1329
1330
|
postUpdateResult.adapter;
|
|
1330
1331
|
logger.info('Configuration updated successfully.');
|
|
1331
|
-
telemetry.trackEvent(
|
|
1332
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_COMPLETED, {
|
|
1332
1333
|
success: true,
|
|
1333
1334
|
configUpdated: true
|
|
1334
1335
|
});
|
|
1335
1336
|
} else {
|
|
1336
1337
|
logger.debug('Proceeding with existing configuration.');
|
|
1337
|
-
telemetry.trackEvent(
|
|
1338
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_COMPLETED, {
|
|
1338
1339
|
success: true,
|
|
1339
1340
|
configUpdated: false
|
|
1340
1341
|
});
|
|
1341
1342
|
}
|
|
1342
1343
|
} else {
|
|
1343
1344
|
logger.info('No configuration found.');
|
|
1344
|
-
telemetry.trackEvent(
|
|
1345
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CONFIG_LOADED, {
|
|
1345
1346
|
exists: false
|
|
1346
1347
|
});
|
|
1347
1348
|
const shouldOnboard = await __WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.confirm({
|
|
@@ -1349,7 +1350,7 @@ async function generate(context) {
|
|
|
1349
1350
|
initialValue: true
|
|
1350
1351
|
});
|
|
1351
1352
|
if (__WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.isCancel(shouldOnboard) || !shouldOnboard) {
|
|
1352
|
-
telemetry.trackEvent(
|
|
1353
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_COMPLETED, {
|
|
1353
1354
|
success: false,
|
|
1354
1355
|
reason: 'onboarding_declined'
|
|
1355
1356
|
});
|
|
@@ -1359,7 +1360,7 @@ async function generate(context) {
|
|
|
1359
1360
|
logger.debug('Reloading configuration after onboarding...');
|
|
1360
1361
|
const postOnboardResult = await setupGenerateEnvironment(context);
|
|
1361
1362
|
if (!postOnboardResult.config) {
|
|
1362
|
-
telemetry.trackEvent(
|
|
1363
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_FAILED, {
|
|
1363
1364
|
error: 'Failed to load configuration even after onboarding'
|
|
1364
1365
|
});
|
|
1365
1366
|
return error.handleError(new Error('Failed to load configuration even after onboarding.'), 'Configuration Error');
|
|
@@ -1367,7 +1368,7 @@ async function generate(context) {
|
|
|
1367
1368
|
config = postOnboardResult.config;
|
|
1368
1369
|
postOnboardResult.adapter;
|
|
1369
1370
|
logger.info('New configuration loaded successfully.');
|
|
1370
|
-
telemetry.trackEvent(
|
|
1371
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.GENERATE_COMPLETED, {
|
|
1371
1372
|
success: true,
|
|
1372
1373
|
newConfigCreated: true
|
|
1373
1374
|
});
|
|
@@ -1378,19 +1379,19 @@ async function executeMigrations(context, runMigrationsFn) {
|
|
|
1378
1379
|
logger.info('Executing migrations...');
|
|
1379
1380
|
const s = __WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.spinner();
|
|
1380
1381
|
s.start('Running migrations...');
|
|
1381
|
-
telemetry.trackEvent(
|
|
1382
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_EXECUTED, {
|
|
1382
1383
|
status: 'started'
|
|
1383
1384
|
});
|
|
1384
1385
|
try {
|
|
1385
1386
|
await runMigrationsFn();
|
|
1386
1387
|
s.stop('Migrations completed successfully!');
|
|
1387
1388
|
logger.success('🚀 Database migrated successfully');
|
|
1388
|
-
telemetry.trackEvent(
|
|
1389
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_EXECUTED, {
|
|
1389
1390
|
status: 'completed'
|
|
1390
1391
|
});
|
|
1391
1392
|
} catch (error) {
|
|
1392
1393
|
logger.error('Migration failed.');
|
|
1393
|
-
telemetry.trackEvent(
|
|
1394
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_EXECUTED, {
|
|
1394
1395
|
status: 'failed',
|
|
1395
1396
|
error: error instanceof Error ? error.message : String(error)
|
|
1396
1397
|
});
|
|
@@ -1522,7 +1523,7 @@ async function migrate(context) {
|
|
|
1522
1523
|
const { logger, flags, telemetry } = context;
|
|
1523
1524
|
logger.info('Starting migration process...');
|
|
1524
1525
|
logger.debug('Context:', context);
|
|
1525
|
-
telemetry.trackEvent(
|
|
1526
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_STARTED, {
|
|
1526
1527
|
skipConfirmation: true === flags.y
|
|
1527
1528
|
});
|
|
1528
1529
|
const skipConfirmation = flags.y;
|
|
@@ -1530,24 +1531,24 @@ async function migrate(context) {
|
|
|
1530
1531
|
const { config } = await setupEnvironment(context);
|
|
1531
1532
|
const planResult = await planMigrations(context, config, skipConfirmation);
|
|
1532
1533
|
logger.debug('Plan result:', planResult);
|
|
1533
|
-
telemetry.trackEvent(
|
|
1534
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_PLANNED, {
|
|
1534
1535
|
shouldRun: planResult.shouldRun,
|
|
1535
1536
|
hasMigrations: !!planResult.runMigrationsFn
|
|
1536
1537
|
});
|
|
1537
1538
|
if (planResult.shouldRun && planResult.runMigrationsFn) {
|
|
1538
1539
|
await executeMigrations(context, planResult.runMigrationsFn);
|
|
1539
|
-
telemetry.trackEvent(
|
|
1540
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_COMPLETED, {
|
|
1540
1541
|
success: true
|
|
1541
1542
|
});
|
|
1542
1543
|
} else {
|
|
1543
1544
|
logger.debug('Skipping migration execution based on plan result');
|
|
1544
|
-
telemetry.trackEvent(
|
|
1545
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_COMPLETED, {
|
|
1545
1546
|
success: true,
|
|
1546
1547
|
reason: planResult.shouldRun ? 'no_migrations_needed' : 'user_cancelled'
|
|
1547
1548
|
});
|
|
1548
1549
|
}
|
|
1549
1550
|
} catch (error) {
|
|
1550
|
-
telemetry.trackEvent(
|
|
1551
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.MIGRATION_FAILED, {
|
|
1551
1552
|
error: error instanceof Error ? error.message : String(error)
|
|
1552
1553
|
});
|
|
1553
1554
|
context.error.handleError(error, 'An unexpected error occurred during the migration process');
|
|
@@ -1918,7 +1919,7 @@ This data is not personally identifiable and helps us prioritize features.
|
|
|
1918
1919
|
To disable telemetry, use the ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('--no-telemetry')}
|
|
1919
1920
|
flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEMETRY_DISABLED=1')} in your environment.`, `${formatLogMessage('info', 'Telemetry Notice')}`);
|
|
1920
1921
|
try {
|
|
1921
|
-
telemetry.trackEvent(
|
|
1922
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CLI_INVOKED, {
|
|
1922
1923
|
version,
|
|
1923
1924
|
nodeVersion: process.version,
|
|
1924
1925
|
platform: process.platform
|
|
@@ -1930,7 +1931,7 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
1930
1931
|
if (flags.version) {
|
|
1931
1932
|
logger.debug('Version flag detected');
|
|
1932
1933
|
logger.message(`c15t CLI version ${version}`);
|
|
1933
|
-
telemetry.trackEvent(
|
|
1934
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.VERSION_DISPLAYED, {
|
|
1934
1935
|
version
|
|
1935
1936
|
});
|
|
1936
1937
|
telemetry.flushSync();
|
|
@@ -1939,7 +1940,7 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
1939
1940
|
}
|
|
1940
1941
|
if (flags.help) {
|
|
1941
1942
|
logger.debug('Help flag detected. Displaying help and exiting.');
|
|
1942
|
-
telemetry.trackEvent(
|
|
1943
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.HELP_DISPLAYED, {
|
|
1943
1944
|
version
|
|
1944
1945
|
});
|
|
1945
1946
|
telemetry.flushSync();
|
|
@@ -1961,18 +1962,18 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
1961
1962
|
if (loadedConfig) if (isClientOptions(loadedConfig)) clientConfig = loadedConfig;
|
|
1962
1963
|
else if (isC15TOptions(loadedConfig)) backendConfig = loadedConfig;
|
|
1963
1964
|
else logger.warn('Loaded configuration is of an unknown type.');
|
|
1964
|
-
if (loadedConfig) telemetry.trackEvent(
|
|
1965
|
+
if (loadedConfig) telemetry.trackEvent(telemetry_TelemetryEventName.CONFIG_LOADED, {
|
|
1965
1966
|
configType: clientConfig ? 'client' : backendConfig ? 'backend' : 'unknown',
|
|
1966
1967
|
hasBackend: Boolean(backendConfig)
|
|
1967
1968
|
});
|
|
1968
1969
|
} catch (loadError) {
|
|
1969
|
-
telemetry.trackEvent(
|
|
1970
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CONFIG_ERROR, {
|
|
1970
1971
|
error: loadError instanceof Error ? loadError.message : String(loadError)
|
|
1971
1972
|
});
|
|
1972
1973
|
return error.handleError(loadError, 'An unexpected error occurred during configuration loading');
|
|
1973
1974
|
}
|
|
1974
1975
|
if (!clientConfig) {
|
|
1975
|
-
telemetry.trackEvent(
|
|
1976
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.ONBOARDING_STARTED, {});
|
|
1976
1977
|
await startOnboarding(context);
|
|
1977
1978
|
await telemetry.shutdown();
|
|
1978
1979
|
return;
|
|
@@ -1989,14 +1990,14 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
1989
1990
|
logger.info(`Executing command: ${command.name}`);
|
|
1990
1991
|
telemetry.trackCommand(command.name, commandArgs, flags);
|
|
1991
1992
|
await command.action(context);
|
|
1992
|
-
telemetry.trackEvent(
|
|
1993
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.COMMAND_SUCCEEDED, {
|
|
1993
1994
|
command: command.name,
|
|
1994
1995
|
executionTime: Date.now() - performance.now()
|
|
1995
1996
|
});
|
|
1996
1997
|
telemetry.flushSync();
|
|
1997
1998
|
} else {
|
|
1998
1999
|
logger.error(`Unknown command: ${commandName}`);
|
|
1999
|
-
telemetry.trackEvent(
|
|
2000
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.COMMAND_UNKNOWN, {
|
|
2000
2001
|
unknownCommand: commandName
|
|
2001
2002
|
});
|
|
2002
2003
|
telemetry.flushSync();
|
|
@@ -2006,7 +2007,7 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
2006
2007
|
}
|
|
2007
2008
|
} else {
|
|
2008
2009
|
logger.debug('No command specified, entering interactive selection.');
|
|
2009
|
-
telemetry.trackEvent(
|
|
2010
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.INTERACTIVE_MENU_OPENED, {});
|
|
2010
2011
|
const promptOptions = src_commands.map((cmd)=>({
|
|
2011
2012
|
value: cmd.name,
|
|
2012
2013
|
label: cmd.label,
|
|
@@ -2023,7 +2024,7 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
2023
2024
|
});
|
|
2024
2025
|
if (__WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.isCancel(selectedCommandName) || 'exit' === selectedCommandName) {
|
|
2025
2026
|
logger.debug('Interactive selection cancelled or exit chosen.');
|
|
2026
|
-
telemetry.trackEvent(
|
|
2027
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.INTERACTIVE_MENU_EXITED, {
|
|
2027
2028
|
action: __WEBPACK_EXTERNAL_MODULE__clack_prompts_3cae1695__.isCancel(selectedCommandName) ? 'cancelled' : 'exit'
|
|
2028
2029
|
});
|
|
2029
2030
|
context.error.handleCancel('Operation cancelled.');
|
|
@@ -2033,13 +2034,13 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
2033
2034
|
logger.debug(`User selected command: ${selectedCommand.name}`);
|
|
2034
2035
|
telemetry.trackCommand(selectedCommand.name, [], flags);
|
|
2035
2036
|
await selectedCommand.action(context);
|
|
2036
|
-
telemetry.trackEvent(
|
|
2037
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.COMMAND_SUCCEEDED, {
|
|
2037
2038
|
command: selectedCommand.name,
|
|
2038
2039
|
executionTime: Date.now() - performance.now()
|
|
2039
2040
|
});
|
|
2040
2041
|
telemetry.flushSync();
|
|
2041
2042
|
} else {
|
|
2042
|
-
telemetry.trackEvent(
|
|
2043
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.COMMAND_UNKNOWN, {
|
|
2043
2044
|
unknownCommand: String(selectedCommandName)
|
|
2044
2045
|
});
|
|
2045
2046
|
telemetry.flushSync();
|
|
@@ -2048,12 +2049,12 @@ flag or set ${__WEBPACK_EXTERNAL_MODULE_picocolors__["default"].cyan('C15T_TELEM
|
|
|
2048
2049
|
}
|
|
2049
2050
|
}
|
|
2050
2051
|
logger.debug('Command execution completed');
|
|
2051
|
-
telemetry.trackEvent(
|
|
2052
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.CLI_COMPLETED, {
|
|
2052
2053
|
success: true
|
|
2053
2054
|
});
|
|
2054
2055
|
telemetry.flushSync();
|
|
2055
2056
|
} catch (executionError) {
|
|
2056
|
-
telemetry.trackEvent(
|
|
2057
|
+
telemetry.trackEvent(telemetry_TelemetryEventName.COMMAND_FAILED, {
|
|
2057
2058
|
command: commandName,
|
|
2058
2059
|
error: executionError instanceof Error ? executionError.message : String(executionError)
|
|
2059
2060
|
});
|
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
import type { Logger } from '@doubletie/logger';
|
|
2
2
|
import { PostHog } from 'posthog-node';
|
|
3
3
|
import type { LogLevel } from './logger';
|
|
4
|
-
export declare
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
export type TelemetryEventName = (typeof TelemetryEventName)[keyof typeof TelemetryEventName];
|
|
4
|
+
export declare enum TelemetryEventName {
|
|
5
|
+
CLI_INVOKED = "cli.invoked",
|
|
6
|
+
CLI_COMPLETED = "cli.completed",
|
|
7
|
+
CLI_EXITED = "cli.exited",
|
|
8
|
+
CLI_ENVIRONMENT_DETECTED = "cli.environment_detected",
|
|
9
|
+
COMMAND_EXECUTED = "command.executed",
|
|
10
|
+
COMMAND_SUCCEEDED = "command.succeeded",
|
|
11
|
+
COMMAND_FAILED = "command.failed",
|
|
12
|
+
COMMAND_UNKNOWN = "command.unknown",
|
|
13
|
+
INTERACTIVE_MENU_OPENED = "ui.menu.opened",
|
|
14
|
+
INTERACTIVE_MENU_EXITED = "ui.menu.exited",
|
|
15
|
+
CONFIG_LOADED = "config.loaded",
|
|
16
|
+
CONFIG_ERROR = "config.error",
|
|
17
|
+
CONFIG_UPDATED = "config.updated",
|
|
18
|
+
HELP_DISPLAYED = "help.displayed",
|
|
19
|
+
VERSION_DISPLAYED = "version.displayed",
|
|
20
|
+
ONBOARDING_STARTED = "onboarding.started",
|
|
21
|
+
ONBOARDING_COMPLETED = "onboarding.completed",
|
|
22
|
+
ONBOARDING_EXITED = "onboarding.exited",
|
|
23
|
+
ONBOARDING_STORAGE_MODE_SELECTED = "onboarding.storage_mode_selected",
|
|
24
|
+
ONBOARDING_C15T_MODE_CONFIGURED = "onboarding.c15t_mode_configured",
|
|
25
|
+
ONBOARDING_OFFLINE_MODE_CONFIGURED = "onboarding.offline_mode_configured",
|
|
26
|
+
ONBOARDING_SELF_HOSTED_CONFIGURED = "onboarding.self_hosted_configured",
|
|
27
|
+
ONBOARDING_CUSTOM_MODE_CONFIGURED = "onboarding.custom_mode_configured",
|
|
28
|
+
ONBOARDING_DEPENDENCIES_CHOICE = "onboarding.dependencies_choice",
|
|
29
|
+
ONBOARDING_DEPENDENCIES_INSTALLED = "onboarding.dependencies_installed",
|
|
30
|
+
ONBOARDING_GITHUB_STAR = "onboarding.github_star",
|
|
31
|
+
ERROR_OCCURRED = "error.occurred",
|
|
32
|
+
MIGRATION_STARTED = "migration.started",
|
|
33
|
+
MIGRATION_PLANNED = "migration.planned",
|
|
34
|
+
MIGRATION_EXECUTED = "migration.executed",
|
|
35
|
+
MIGRATION_COMPLETED = "migration.completed",
|
|
36
|
+
MIGRATION_FAILED = "migration.failed",
|
|
37
|
+
GENERATE_STARTED = "generate.started",
|
|
38
|
+
GENERATE_COMPLETED = "generate.completed",
|
|
39
|
+
GENERATE_FAILED = "generate.failed"
|
|
40
|
+
}
|
|
42
41
|
export interface TelemetryOptions {
|
|
43
42
|
/**
|
|
44
43
|
* Custom PostHog instance to use instead of the default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC,
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c15t/cli",
|
|
3
|
-
"version": "1.2.0-canary.
|
|
3
|
+
"version": "1.2.0-canary.3",
|
|
4
4
|
"description": "The CLI for c15t",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.mjs",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"picocolors": "^1.1.1",
|
|
29
29
|
"posthog-node": "^4.11.7",
|
|
30
30
|
"zod": "^3.24.2",
|
|
31
|
-
"@c15t/backend": "1.2.0-canary.
|
|
32
|
-
"@c15t/react": "1.2.0-canary.
|
|
31
|
+
"@c15t/backend": "1.2.0-canary.3",
|
|
32
|
+
"@c15t/react": "1.2.0-canary.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/figlet": "^1.7.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"build": "rslib build",
|
|
49
49
|
"check-types": "tsc --noEmit",
|
|
50
50
|
"dev": "rslib build --watch",
|
|
51
|
-
"fmt": "pnpm biome format --write . &&
|
|
51
|
+
"fmt": "pnpm biome format --write . && biome check --formatter-enabled=false --linter-enabled=false --organize-imports-enabled=true --write",
|
|
52
52
|
"knip": "knip",
|
|
53
53
|
"lint": "pnpm biome lint ./src",
|
|
54
54
|
"start": "node ./dist/index.mjs",
|