@google/gemini-cli-core 0.1.9-nightly.250708.a4097ae6 → 0.1.9-nightly.250709.c8cf954e

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.
Files changed (64) hide show
  1. package/dist/google-gemini-cli-core-0.1.9.tgz +0 -0
  2. package/dist/src/code_assist/setup.js +1 -1
  3. package/dist/src/code_assist/setup.js.map +1 -1
  4. package/dist/src/code_assist/setup.test.d.ts +6 -0
  5. package/dist/src/code_assist/setup.test.js +62 -0
  6. package/dist/src/code_assist/setup.test.js.map +1 -0
  7. package/dist/src/config/config.d.ts +10 -0
  8. package/dist/src/config/config.js +10 -0
  9. package/dist/src/config/config.js.map +1 -1
  10. package/dist/src/core/client.d.ts +18 -3
  11. package/dist/src/core/client.js +46 -7
  12. package/dist/src/core/client.js.map +1 -1
  13. package/dist/src/core/client.test.js +40 -1
  14. package/dist/src/core/client.test.js.map +1 -1
  15. package/dist/src/core/contentGenerator.js +6 -8
  16. package/dist/src/core/contentGenerator.js.map +1 -1
  17. package/dist/src/core/contentGenerator.test.js +49 -3
  18. package/dist/src/core/contentGenerator.test.js.map +1 -1
  19. package/dist/src/core/modelCheck.js +1 -1
  20. package/dist/src/core/modelCheck.js.map +1 -1
  21. package/dist/src/tools/edit.js +9 -8
  22. package/dist/src/tools/edit.js.map +1 -1
  23. package/dist/src/tools/glob.js +9 -8
  24. package/dist/src/tools/glob.js.map +1 -1
  25. package/dist/src/tools/glob.test.js +3 -3
  26. package/dist/src/tools/glob.test.js.map +1 -1
  27. package/dist/src/tools/grep.js +8 -7
  28. package/dist/src/tools/grep.js.map +1 -1
  29. package/dist/src/tools/grep.test.js +3 -3
  30. package/dist/src/tools/grep.test.js.map +1 -1
  31. package/dist/src/tools/ls.js +9 -8
  32. package/dist/src/tools/ls.js.map +1 -1
  33. package/dist/src/tools/mcp-client.js +5 -10
  34. package/dist/src/tools/mcp-client.js.map +1 -1
  35. package/dist/src/tools/mcp-tool.d.ts +3 -3
  36. package/dist/src/tools/mcp-tool.js.map +1 -1
  37. package/dist/src/tools/memoryTool.js +3 -2
  38. package/dist/src/tools/memoryTool.js.map +1 -1
  39. package/dist/src/tools/read-file.js +8 -8
  40. package/dist/src/tools/read-file.js.map +1 -1
  41. package/dist/src/tools/read-file.test.js +4 -4
  42. package/dist/src/tools/read-file.test.js.map +1 -1
  43. package/dist/src/tools/read-many-files.js +24 -38
  44. package/dist/src/tools/read-many-files.js.map +1 -1
  45. package/dist/src/tools/read-many-files.test.js +4 -4
  46. package/dist/src/tools/read-many-files.test.js.map +1 -1
  47. package/dist/src/tools/shell.js +8 -6
  48. package/dist/src/tools/shell.js.map +1 -1
  49. package/dist/src/tools/tool-registry.test.js +2 -2
  50. package/dist/src/tools/tool-registry.test.js.map +1 -1
  51. package/dist/src/tools/tools.d.ts +3 -3
  52. package/dist/src/tools/tools.js.map +1 -1
  53. package/dist/src/tools/web-fetch.js +6 -5
  54. package/dist/src/tools/web-fetch.js.map +1 -1
  55. package/dist/src/tools/web-search.d.ts +1 -1
  56. package/dist/src/tools/web-search.js +7 -6
  57. package/dist/src/tools/web-search.js.map +1 -1
  58. package/dist/src/tools/write-file.js +7 -6
  59. package/dist/src/tools/write-file.js.map +1 -1
  60. package/dist/src/utils/schemaValidator.d.ts +10 -5
  61. package/dist/src/utils/schemaValidator.js +44 -32
  62. package/dist/src/utils/schemaValidator.js.map +1 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +2 -1
@@ -3,48 +3,60 @@
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();
6
8
  /**
7
9
  * Simple utility to validate objects against JSON Schemas
8
10
  */
9
11
  export class SchemaValidator {
10
12
  /**
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
13
+ * Returns null if the data confroms to the schema described by schema (or if schema
14
+ * is null). Otherwise, returns a string describing the error.
15
15
  */
16
16
  static validate(schema, data) {
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
- }
28
- }
17
+ if (!schema) {
18
+ return null;
19
+ }
20
+ if (typeof data !== 'object' || data === null) {
21
+ return 'Value of params must be an object';
22
+ }
23
+ const validate = ajValidator.compile(this.toObjectSchema(schema));
24
+ const valid = validate(data);
25
+ if (!valid && validate.errors) {
26
+ return ajValidator.errorsText(validate.errors, { dataVar: 'params' });
29
27
  }
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
- }
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);
45
47
  }
48
+ newSchema.properties = newProperties;
49
+ }
50
+ if (newSchema.type) {
51
+ newSchema.type = String(newSchema.type).toLowerCase();
52
+ }
53
+ if (newSchema.minItems) {
54
+ newSchema.minItems = Number(newSchema.minItems);
55
+ }
56
+ if (newSchema.minLength) {
57
+ newSchema.minLength = Number(newSchema.minLength);
46
58
  }
47
- return true;
59
+ return newSchema;
48
60
  }
49
61
  }
50
62
  //# sourceMappingURL=schemaValidator.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../../src/utils/schemaValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,MAA0B,EAAE,IAAa;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,mCAAmC,CAAC;QAC7C,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,cAAc,CAAC,MAAc;QAC1C,MAAM,SAAS,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;QACzD,IAAI,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,aAAa,GAA4B,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC;YAC5D,CAAC;YACD,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC;QACvC,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}