diff --git a/package.json b/package.json index 887fc7b..3e7654b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swdc-tracker", - "version": "1.6.0", + "version": "1.6.1", "description": "swdc event tracker", "main": "dist", "types": "dist/index.d.js", @@ -30,7 +30,7 @@ "dependencies": { "@snowplow/node-tracker": "^4.6.2", "@types/node": "^22.15.23", - "axios": "^1.9.0", + "axios": "^1.12.2", "libsodium": "^0.7.15", "libsodium-wrappers": "^0.7.15", "object-hash": "^3.0.0" diff --git a/src/events/codetime.ts b/src/events/codetime.ts index b1e2878..f9102b2 100644 --- a/src/events/codetime.ts +++ b/src/events/codetime.ts @@ -5,13 +5,17 @@ import {PluginInterface} from '../entities/plugin'; import {AuthInterface} from '../entities/auth'; // The CodeTime event -export const codetime_schema: string = 'iglu:com.software/codetime/jsonschema/1-0-2'; +export const codetime_schema: string = 'iglu:com.software/codetime/jsonschema/1-0-3'; export interface CodeTimeInterface { keystrokes: number; lines_added: number; + ai_lines_added: number; + ai_lines_reverted: number; lines_deleted: number; characters_added: number; + ai_characters_added: number; + ai_characters_reverted: number; characters_deleted: number; single_deletes: number; multi_deletes: number; @@ -26,9 +30,13 @@ export interface CodeTimeInterface { export class CodeTime implements CodeTimeInterface { public keystrokes: number; public lines_added: number; + public ai_lines_added: number; + public ai_lines_reverted: number; public lines_deleted: number; public characters_added: number; public characters_deleted: number; + public ai_characters_added: number; + public ai_characters_reverted: number; public single_deletes: number; public multi_deletes: number; public single_adds: number; @@ -41,9 +49,13 @@ export class CodeTime implements CodeTimeInterface { constructor(data: CodeTimeInterface) { this.keystrokes = data.keystrokes; this.lines_added = data.lines_added; + this.ai_lines_added = data.ai_lines_added; + this.ai_lines_reverted = data.ai_lines_reverted; this.lines_deleted = data.lines_deleted; this.characters_added = data.characters_added; this.characters_deleted = data.characters_deleted; + this.ai_characters_added = data.ai_characters_added; + this.ai_characters_reverted = data.ai_characters_reverted; this.single_deletes = data.single_deletes; this.multi_deletes = data.multi_deletes; this.single_adds = data.single_adds; @@ -64,8 +76,12 @@ export class CodeTime implements CodeTimeInterface { data: { keystrokes: this.keystrokes, lines_added: this.lines_added, + ai_lines_added: this.ai_lines_added, + ai_lines_reverted: this.ai_lines_reverted, lines_deleted: this.lines_deleted, characters_added: this.characters_added, + ai_characters_added: this.ai_characters_added, + ai_characters_reverted: this.ai_characters_reverted, characters_deleted: this.characters_deleted, single_deletes: this.single_deletes, multi_deletes: this.multi_deletes, diff --git a/test/events/codetime.test.ts b/test/events/codetime.test.ts index 7a51a96..ef15739 100644 --- a/test/events/codetime.test.ts +++ b/test/events/codetime.test.ts @@ -33,7 +33,11 @@ describe('Test codetime event functions', function () { keystrokes: 20, lines_added: 2, lines_deleted: 3, + ai_characters_added: 0, + ai_lines_added: 0, characters_added: 111, + ai_characters_reverted: 0, + ai_lines_reverted: 0, characters_deleted: 10, single_deletes: 9, multi_deletes: 1, diff --git a/yarn.lock b/yarn.lock index b051a80..a9b05ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -172,13 +172,13 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -axios@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901" - integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg== +axios@^1.12.2: + version "1.12.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.12.2.tgz#6c307390136cf7a2278d09cec63b136dfc6e6da7" + integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw== dependencies: follow-redirects "^1.15.6" - form-data "^4.0.0" + form-data "^4.0.4" proxy-from-env "^1.1.0" balanced-match@^1.0.0: @@ -409,7 +409,7 @@ foreground-child@^3.1.0: cross-spawn "^7.0.6" signal-exit "^4.0.1" -form-data@^4.0.0: +form-data@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==