gamemindpilot 2.1.0 → 2.2.1

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.
@@ -6,6 +6,8 @@ export interface Config {
6
6
  selectedModel?: 'gemini' | 'openai' | 'claude' | 'ollama';
7
7
  modelName?: string;
8
8
  user?: string;
9
+ telemetry?: boolean;
10
+ analyticsKey?: string;
9
11
  }
10
12
  export declare const configManager: {
11
13
  init: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAY5C,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,GAAG,EAAE;QACT,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,YAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,GAAG,EAAE,GAAW,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,GAAG,EAAE,CAAC,SAA0B,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,qBAAa,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;QAC7C,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,EAAE,GAAG,EAAE;QACV,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAc5C,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,GAAG,EAAE;QACT,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,YAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,GAAG,EAAE,GAAW,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,GAAG,EAAE,CAAC,SAA0B,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,qBAAa,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;QAC7C,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,EAAE,GAAG,EAAE;QACV,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF,CAAC"}
@@ -4,26 +4,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.telemetry = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
7
  const config_1 = require("./config");
9
8
  const os_1 = __importDefault(require("os"));
10
- const TELEMETRY_URL = 'https://api.gapsyai.com/cli/telemetry'; // Replace with actual endpoint
9
+ // Generic PostHog or Custom API Endpoint
10
+ const DEFAULT_URL = 'https://app.posthog.com/capture/';
11
11
  exports.telemetry = {
12
12
  track: async (commandName) => {
13
- const userConfig = config_1.config.get();
13
+ const userConfig = config_1.configManager.get();
14
14
  if (userConfig.telemetry === false)
15
15
  return;
16
16
  try {
17
- // Anonymous data only
18
17
  const data = {
19
- command: commandName,
20
- os: os_1.default.platform(),
21
- node_version: process.version,
22
- cli_version: '2.1.0',
18
+ api_key: userConfig.analyticsKey || 'PH_FREE_PUBLIC_KEY', // Placeholder
19
+ event: 'cli_command_executed',
20
+ properties: {
21
+ distinct_id: os_1.default.hostname(),
22
+ command: commandName,
23
+ os: os_1.default.platform(),
24
+ cli_version: '2.2.0',
25
+ node_version: process.version
26
+ },
23
27
  timestamp: new Date().toISOString()
24
28
  };
25
- // Fire and forget (don't block the user)
26
- axios_1.default.post(TELEMETRY_URL, data).catch(() => { });
29
+ // Fire and forget
30
+ axios.post(DEFAULT_URL, data).catch(() => { });
27
31
  }
28
32
  catch (e) {
29
33
  // Silently fail
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qCAAkC;AAElC,4CAAoB;AAEpB,MAAM,aAAa,GAAG,uCAAuC,CAAC,CAAC,+BAA+B;AAEjF,QAAA,SAAS,GAAG;IACrB,KAAK,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,eAAM,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QAE3C,IAAI,CAAC;YACD,sBAAsB;YACtB,MAAM,IAAI,GAAG;gBACT,OAAO,EAAE,WAAW;gBACpB,EAAE,EAAE,YAAE,CAAC,QAAQ,EAAE;gBACjB,YAAY,EAAE,OAAO,CAAC,OAAO;gBAC7B,WAAW,EAAE,OAAO;gBACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YAEF,yCAAyC;YACzC,eAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,gBAAgB;QACpB,CAAC;IACL,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAyC;AAEzC,4CAAoB;AAEpB,yCAAyC;AACzC,MAAM,WAAW,GAAG,kCAAkC,CAAC;AAE1C,QAAA,SAAS,GAAG;IACrB,KAAK,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,sBAAa,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO;QAE3C,IAAI,CAAC;YACD,MAAM,IAAI,GAAG;gBACT,OAAO,EAAE,UAAU,CAAC,YAAY,IAAI,oBAAoB,EAAE,cAAc;gBACxE,KAAK,EAAE,sBAAsB;gBAC7B,UAAU,EAAE;oBACR,WAAW,EAAE,YAAE,CAAC,QAAQ,EAAE;oBAC1B,OAAO,EAAE,WAAW;oBACpB,EAAE,EAAE,YAAE,CAAC,QAAQ,EAAE;oBACjB,WAAW,EAAE,OAAO;oBACpB,YAAY,EAAE,OAAO,CAAC,OAAO;iBAChC;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;YAEF,kBAAkB;YAClB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,gBAAgB;QACpB,CAAC;IACL,CAAC;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gamemindpilot",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "description": "AI-powered CLI for game developers - Design, Asset Gen, Analysis & Optimization",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,6 +13,8 @@ export interface Config {
13
13
  selectedModel?: 'gemini' | 'openai' | 'claude' | 'ollama';
14
14
  modelName?: string;
15
15
  user?: string;
16
+ telemetry?: boolean;
17
+ analyticsKey?: string;
16
18
  }
17
19
 
18
20
  export const configManager = {
@@ -1,27 +1,32 @@
1
- import axios from 'axios';
2
- import { config } from './config';
1
+ import { configManager } from './config';
3
2
  import { logger } from './logger';
4
3
  import os from 'os';
5
4
 
6
- const TELEMETRY_URL = 'https://api.gapsyai.com/cli/telemetry'; // Replace with actual endpoint
5
+ // Generic PostHog or Custom API Endpoint
6
+ const DEFAULT_URL = 'https://app.posthog.com/capture/';
7
7
 
8
8
  export const telemetry = {
9
9
  track: async (commandName: string) => {
10
- const userConfig = config.get();
10
+ const userConfig = configManager.get();
11
+
11
12
  if (userConfig.telemetry === false) return;
12
13
 
13
14
  try {
14
- // Anonymous data only
15
15
  const data = {
16
- command: commandName,
17
- os: os.platform(),
18
- node_version: process.version,
19
- cli_version: '2.1.0',
16
+ api_key: userConfig.analyticsKey || 'PH_FREE_PUBLIC_KEY', // Placeholder
17
+ event: 'cli_command_executed',
18
+ properties: {
19
+ distinct_id: os.hostname(),
20
+ command: commandName,
21
+ os: os.platform(),
22
+ cli_version: '2.2.0',
23
+ node_version: process.version
24
+ },
20
25
  timestamp: new Date().toISOString()
21
26
  };
22
27
 
23
- // Fire and forget (don't block the user)
24
- axios.post(TELEMETRY_URL, data).catch(() => {});
28
+ // Fire and forget
29
+ axios.post(DEFAULT_URL, data).catch(() => {});
25
30
  } catch (e) {
26
31
  // Silently fail
27
32
  }