@google/gemini-cli-core 0.1.9-nightly.250709.c8cf954e → 0.1.9-rc.0
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/README.md +3 -17
- package/dist/google-gemini-cli-core-0.1.9-rc.0.tgz +0 -0
- package/dist/src/code_assist/codeAssist.d.ts +1 -1
- package/dist/src/code_assist/codeAssist.js +4 -5
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/converter.d.ts +1 -2
- package/dist/src/code_assist/converter.js +3 -4
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/converter.test.js +0 -24
- package/dist/src/code_assist/converter.test.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +2 -3
- package/dist/src/code_assist/oauth2.js +25 -56
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +7 -83
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.d.ts +1 -2
- package/dist/src/code_assist/server.js +4 -5
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/setup.js +1 -1
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/config/config.d.ts +2 -19
- package/dist/src/config/config.js +56 -78
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +0 -25
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.d.ts +3 -18
- package/dist/src/core/client.js +15 -56
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +4 -209
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +5 -4
- package/dist/src/core/contentGenerator.js +15 -16
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +3 -49
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +2 -9
- package/dist/src/core/coreToolScheduler.js +2 -28
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +0 -78
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/logger.d.ts +4 -3
- package/dist/src/core/logger.js +11 -7
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +15 -6
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/modelCheck.js +1 -1
- package/dist/src/core/modelCheck.js.map +1 -1
- package/dist/src/services/fileDiscoveryService.d.ts +0 -4
- package/dist/src/services/fileDiscoveryService.js +0 -13
- package/dist/src/services/fileDiscoveryService.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +11 -34
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/tools/edit.d.ts +2 -1
- package/dist/src/tools/edit.js +12 -11
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/edit.test.js +9 -7
- package/dist/src/tools/edit.test.js.map +1 -1
- package/dist/src/tools/glob.d.ts +1 -5
- package/dist/src/tools/glob.js +9 -14
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/glob.test.js +3 -3
- package/dist/src/tools/glob.test.js.map +1 -1
- package/dist/src/tools/grep.js +7 -8
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/grep.test.js +3 -3
- package/dist/src/tools/grep.test.js.map +1 -1
- package/dist/src/tools/ls.js +8 -9
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +2 -0
- package/dist/src/tools/mcp-client.js +30 -31
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +4 -85
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +3 -3
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +2 -3
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/read-file.js +8 -8
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-file.test.js +4 -4
- package/dist/src/tools/read-file.test.js.map +1 -1
- package/dist/src/tools/read-many-files.js +38 -24
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/read-many-files.test.js +4 -4
- package/dist/src/tools/read-many-files.test.js.map +1 -1
- package/dist/src/tools/shell.d.ts +1 -20
- package/dist/src/tools/shell.js +16 -53
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +65 -85
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +2 -16
- package/dist/src/tools/tool-registry.js +19 -150
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tool-registry.test.js +75 -186
- package/dist/src/tools/tool-registry.test.js.map +1 -1
- package/dist/src/tools/tools.d.ts +4 -7
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +5 -6
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +0 -5
- package/dist/src/tools/web-search.js +6 -12
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/write-file.d.ts +1 -7
- package/dist/src/tools/write-file.js +11 -17
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +4 -4
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/editCorrector.d.ts +1 -1
- package/dist/src/utils/editCorrector.js +2 -106
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editCorrector.test.js +19 -65
- package/dist/src/utils/editCorrector.test.js.map +1 -1
- package/dist/src/utils/editor.d.ts +1 -1
- package/dist/src/utils/editor.js +1 -1
- package/dist/src/utils/fileUtils.d.ts +1 -1
- package/dist/src/utils/fileUtils.js +0 -17
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/fileUtils.test.js +0 -17
- package/dist/src/utils/fileUtils.test.js.map +1 -1
- package/dist/src/utils/messageInspectors.d.ts +0 -1
- package/dist/src/utils/messageInspectors.js +0 -5
- package/dist/src/utils/messageInspectors.js.map +1 -1
- package/dist/src/utils/nextSpeakerChecker.js +1 -1
- package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
- package/dist/src/utils/schemaValidator.d.ts +5 -10
- package/dist/src/utils/schemaValidator.js +32 -44
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/user_id.d.ts +1 -1
- package/dist/src/utils/user_id.js +5 -5
- package/dist/src/utils/user_id.js.map +1 -1
- package/dist/src/utils/user_id.test.js +11 -15
- package/dist/src/utils/user_id.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -11
- package/dist/google-gemini-cli-core-0.1.9.tgz +0 -0
- package/dist/src/code_assist/setup.test.d.ts +0 -6
- package/dist/src/code_assist/setup.test.js +0 -62
- package/dist/src/code_assist/setup.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextSpeakerChecker.js","sourceRoot":"","sources":["../../../src/utils/nextSpeakerChecker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAwB,IAAI,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBpB,CAAC;AAEF,MAAM,eAAe,GAAgB;IACnC,IAAI,EAAE,IAAI,CAAC,MAAM;IACjB,UAAU,EAAE;QACV,SAAS,EAAE;YACT,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,WAAW,EACT,iJAAiJ;SACpJ;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACvB,WAAW,EACT,iFAAiF;SACpF;KACF;IACD,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC;CACxC,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAgB,EAChB,YAA0B,EAC1B,WAAwB;IAExB,iHAAiH;IACjH,qHAAqH;IACrH,oHAAoH;IACpH,kEAAkE;IAClE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3D,6CAA6C;IAC7C,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,qDAAqD;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC/C,uEAAuE;IACvE,iFAAiF;IACjF,sBAAsB;IACtB,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,wBAAwB,GAC5B,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExD,4EAA4E;IAC5E,oCAAoC;IACpC,IACE,wBAAwB;QACxB,kBAAkB,CAAC,wBAAwB,CAAC,EAC5C,CAAC;QACD,OAAO;YACL,SAAS,EACP,2EAA2E;YAC7E,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,IACE,wBAAwB;QACxB,wBAAwB,CAAC,IAAI,KAAK,OAAO;QACzC,wBAAwB,CAAC,KAAK;QAC9B,wBAAwB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAC3C,CAAC;QACD,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO;YACL,SAAS,EACP,oHAAoH;YACtH,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"nextSpeakerChecker.js","sourceRoot":"","sources":["../../../src/utils/nextSpeakerChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,15 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Schema } from '@google/genai';
|
|
7
6
|
/**
|
|
8
7
|
* Simple utility to validate objects against JSON Schemas
|
|
9
8
|
*/
|
|
10
9
|
export declare class SchemaValidator {
|
|
11
10
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Validates data against a JSON schema
|
|
12
|
+
* @param schema JSON Schema to validate against
|
|
13
|
+
* @param data Data to validate
|
|
14
|
+
* @returns True if valid, false otherwise
|
|
14
15
|
*/
|
|
15
|
-
static validate(schema:
|
|
16
|
-
/**
|
|
17
|
-
* Converts @google/genai's Schema to an object compatible with avj.
|
|
18
|
-
* This is necessry because it represents Types as an Enum (with
|
|
19
|
-
* UPPERCASE values) and minItems and minLength as strings, when they should be numbers.
|
|
20
|
-
*/
|
|
21
|
-
private static toObjectSchema;
|
|
16
|
+
static validate(schema: Record<string, unknown>, data: unknown): boolean;
|
|
22
17
|
}
|
|
@@ -3,60 +3,48 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import * as ajv from 'ajv';
|
|
7
|
-
const ajValidator = new ajv.Ajv();
|
|
8
6
|
/**
|
|
9
7
|
* Simple utility to validate objects against JSON Schemas
|
|
10
8
|
*/
|
|
11
9
|
export class SchemaValidator {
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* Validates data against a JSON schema
|
|
12
|
+
* @param schema JSON Schema to validate against
|
|
13
|
+
* @param data Data to validate
|
|
14
|
+
* @returns True if valid, false otherwise
|
|
15
15
|
*/
|
|
16
16
|
static validate(schema, data) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Converts @google/genai's Schema to an object compatible with avj.
|
|
32
|
-
* This is necessry because it represents Types as an Enum (with
|
|
33
|
-
* UPPERCASE values) and minItems and minLength as strings, when they should be numbers.
|
|
34
|
-
*/
|
|
35
|
-
static toObjectSchema(schema) {
|
|
36
|
-
const newSchema = { ...schema };
|
|
37
|
-
if (newSchema.anyOf && Array.isArray(newSchema.anyOf)) {
|
|
38
|
-
newSchema.anyOf = newSchema.anyOf.map((v) => this.toObjectSchema(v));
|
|
39
|
-
}
|
|
40
|
-
if (newSchema.items) {
|
|
41
|
-
newSchema.items = this.toObjectSchema(newSchema.items);
|
|
42
|
-
}
|
|
43
|
-
if (newSchema.properties && typeof newSchema.properties === 'object') {
|
|
44
|
-
const newProperties = {};
|
|
45
|
-
for (const [key, value] of Object.entries(newSchema.properties)) {
|
|
46
|
-
newProperties[key] = this.toObjectSchema(value);
|
|
17
|
+
// This is a simplified implementation
|
|
18
|
+
// In a real application, you would use a library like Ajv for proper validation
|
|
19
|
+
// Check for required fields
|
|
20
|
+
if (schema.required && Array.isArray(schema.required)) {
|
|
21
|
+
const required = schema.required;
|
|
22
|
+
const dataObj = data;
|
|
23
|
+
for (const field of required) {
|
|
24
|
+
if (dataObj[field] === undefined) {
|
|
25
|
+
console.error(`Missing required field: ${field}`);
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
47
28
|
}
|
|
48
|
-
newSchema.properties = newProperties;
|
|
49
|
-
}
|
|
50
|
-
if (newSchema.type) {
|
|
51
|
-
newSchema.type = String(newSchema.type).toLowerCase();
|
|
52
29
|
}
|
|
53
|
-
if
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
30
|
+
// Check property types if properties are defined
|
|
31
|
+
if (schema.properties && typeof schema.properties === 'object') {
|
|
32
|
+
const properties = schema.properties;
|
|
33
|
+
const dataObj = data;
|
|
34
|
+
for (const [key, prop] of Object.entries(properties)) {
|
|
35
|
+
if (dataObj[key] !== undefined && prop.type) {
|
|
36
|
+
const expectedType = prop.type;
|
|
37
|
+
const actualType = Array.isArray(dataObj[key])
|
|
38
|
+
? 'array'
|
|
39
|
+
: typeof dataObj[key];
|
|
40
|
+
if (expectedType !== actualType) {
|
|
41
|
+
console.error(`Type mismatch for property "${key}": expected ${expectedType}, got ${actualType}`);
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
58
46
|
}
|
|
59
|
-
return
|
|
47
|
+
return true;
|
|
60
48
|
}
|
|
61
49
|
}
|
|
62
50
|
//# sourceMappingURL=schemaValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../../src/utils/schemaValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../../src/utils/schemaValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAA+B,EAAE,IAAa;QAC5D,sCAAsC;QACtC,gFAAgF;QAEhF,4BAA4B;QAC5B,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAoB,CAAC;YAC7C,MAAM,OAAO,GAAG,IAA+B,CAAC;YAEhD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;oBAClD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAA+C,CAAC;YAC1E,MAAM,OAAO,GAAG,IAA+B,CAAC;YAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC5C,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;oBAExB,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;wBAChC,OAAO,CAAC,KAAK,CACX,+BAA+B,GAAG,eAAe,YAAY,SAAS,UAAU,EAAE,CACnF,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -14,4 +14,4 @@ export declare function getInstallationId(): string;
|
|
|
14
14
|
* When OAuth is available, returns the user's cached Google Account ID. Otherwise, returns the installation ID.
|
|
15
15
|
* @returns A string ID for the user (Google Account ID if available, otherwise installation ID).
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function getObfuscatedGoogleAccountId(): string;
|
|
@@ -51,19 +51,19 @@ export function getInstallationId() {
|
|
|
51
51
|
* When OAuth is available, returns the user's cached Google Account ID. Otherwise, returns the installation ID.
|
|
52
52
|
* @returns A string ID for the user (Google Account ID if available, otherwise installation ID).
|
|
53
53
|
*/
|
|
54
|
-
export
|
|
54
|
+
export function getObfuscatedGoogleAccountId() {
|
|
55
55
|
// Try to get cached Google Account ID first
|
|
56
56
|
try {
|
|
57
|
-
//
|
|
58
|
-
|
|
57
|
+
// Dynamically import to avoid circular dependencies
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, no-restricted-syntax
|
|
59
|
+
const { getCachedGoogleAccountId } = require('../code_assist/oauth2.js');
|
|
59
60
|
const googleAccountId = getCachedGoogleAccountId();
|
|
60
61
|
if (googleAccountId) {
|
|
61
62
|
return googleAccountId;
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
catch (
|
|
65
|
+
catch (_error) {
|
|
65
66
|
// If there's any error accessing Google Account ID, just return empty string
|
|
66
|
-
console.debug('Could not get cached Google Account ID:', error);
|
|
67
67
|
}
|
|
68
68
|
return '';
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user_id.js","sourceRoot":"","sources":["../../../src/utils/user_id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEnE,SAAS,qBAAqB;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,cAAc,IAAI,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,cAAsB;IACvD,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,qBAAqB,EAAE,CAAC;QACxB,IAAI,cAAc,GAAG,0BAA0B,EAAE,CAAC;QAElD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,UAAU,EAAE,CAAC;YAC9B,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,gEAAgE,EAChE,KAAK,CACN,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"user_id.js","sourceRoot":"","sources":["../../../src/utils/user_id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEnE,SAAS,qBAAqB;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,cAAc,IAAI,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,cAAsB;IACvD,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,qBAAqB,EAAE,CAAC;QACxB,IAAI,cAAc,GAAG,0BAA0B,EAAE,CAAC;QAElD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,UAAU,EAAE,CAAC;YAC9B,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,gEAAgE,EAChE,KAAK,CACN,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,4CAA4C;IAC5C,IAAI,CAAC;QACH,oDAAoD;QACpD,uFAAuF;QACvF,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,wBAAwB,EAAE,CAAC;QACnD,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,6EAA6E;IAC/E,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { getInstallationId,
|
|
7
|
+
import { getInstallationId, getObfuscatedGoogleAccountId } from './user_id.js';
|
|
8
8
|
describe('user_id', () => {
|
|
9
9
|
describe('getInstallationId', () => {
|
|
10
10
|
it('should return a valid UUID format string', () => {
|
|
@@ -17,25 +17,21 @@ describe('user_id', () => {
|
|
|
17
17
|
expect(secondCall).toBe(installationId);
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
|
-
describe('
|
|
21
|
-
it('should return a non-empty string',
|
|
22
|
-
const result =
|
|
20
|
+
describe('getObfuscatedGoogleAccountId', () => {
|
|
21
|
+
it('should return a non-empty string', () => {
|
|
22
|
+
const result = getObfuscatedGoogleAccountId();
|
|
23
23
|
expect(result).toBeDefined();
|
|
24
24
|
expect(typeof result).toBe('string');
|
|
25
25
|
// Should be consistent on subsequent calls
|
|
26
|
-
const secondCall =
|
|
26
|
+
const secondCall = getObfuscatedGoogleAccountId();
|
|
27
27
|
expect(secondCall).toBe(result);
|
|
28
28
|
});
|
|
29
|
-
it('should return empty string when no Google Account ID is cached
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (googleAccountIdResult !== '') {
|
|
36
|
-
// If we have a cached ID, it should be a numeric string
|
|
37
|
-
expect(googleAccountIdResult).toMatch(/^\d+$/);
|
|
38
|
-
}
|
|
29
|
+
it('should return empty string when no Google Account ID is cached', () => {
|
|
30
|
+
// In a clean test environment, there should be no cached Google Account ID
|
|
31
|
+
// so getObfuscatedGoogleAccountId should fall back to installation ID
|
|
32
|
+
const googleAccountIdResult = getObfuscatedGoogleAccountId();
|
|
33
|
+
// They should be the same when no Google Account ID is cached
|
|
34
|
+
expect(googleAccountIdResult).toBe('');
|
|
39
35
|
});
|
|
40
36
|
});
|
|
41
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user_id.test.js","sourceRoot":"","sources":["../../../src/utils/user_id.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"user_id.test.js","sourceRoot":"","sources":["../../../src/utils/user_id.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE/E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;YAE3C,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAEjD,6DAA6D;YAC7D,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACvC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,4BAA4B,EAAE,CAAC;YAE9C,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAErC,2CAA2C;YAC3C,MAAM,UAAU,GAAG,4BAA4B,EAAE,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,qBAAqB,GAAG,4BAA4B,EAAE,CAAC;YAE7D,8DAA8D;YAC9D,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|