@google/gemini-cli-core 0.0.8999999999999 → 0.0.89999999999999

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 (59) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +2 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/config/config.d.ts +7 -0
  5. package/dist/src/config/config.js +29 -1
  6. package/dist/src/config/config.js.map +1 -1
  7. package/dist/src/core/client.js +1 -2
  8. package/dist/src/core/client.js.map +1 -1
  9. package/dist/src/core/client.test.js +0 -39
  10. package/dist/src/core/client.test.js.map +1 -1
  11. package/dist/src/core/geminiChat.d.ts +4 -3
  12. package/dist/src/core/geminiChat.js +44 -52
  13. package/dist/src/core/geminiChat.js.map +1 -1
  14. package/dist/src/core/geminiChat.test.js +115 -26
  15. package/dist/src/core/geminiChat.test.js.map +1 -1
  16. package/dist/src/generated/git-commit.d.ts +2 -2
  17. package/dist/src/generated/git-commit.js +2 -2
  18. package/dist/src/generated/git-commit.js.map +1 -1
  19. package/dist/src/ide/detect-ide.d.ts +4 -2
  20. package/dist/src/ide/detect-ide.js +7 -1
  21. package/dist/src/ide/detect-ide.js.map +1 -1
  22. package/dist/src/ide/detect-ide.test.js +23 -0
  23. package/dist/src/ide/detect-ide.test.js.map +1 -1
  24. package/dist/src/ide/ide-client.d.ts +2 -1
  25. package/dist/src/ide/ide-client.js +22 -17
  26. package/dist/src/ide/ide-client.js.map +1 -1
  27. package/dist/src/ide/ide-client.test.js +2 -2
  28. package/dist/src/ide/ide-client.test.js.map +1 -1
  29. package/dist/src/index.d.ts +1 -0
  30. package/dist/src/index.js +1 -0
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -1
  33. package/dist/src/telemetry/config.d.ts +31 -0
  34. package/dist/src/telemetry/config.js +76 -0
  35. package/dist/src/telemetry/config.js.map +1 -0
  36. package/dist/src/telemetry/config.test.d.ts +6 -0
  37. package/dist/src/telemetry/config.test.js +124 -0
  38. package/dist/src/telemetry/config.test.js.map +1 -0
  39. package/dist/src/telemetry/index.d.ts +2 -1
  40. package/dist/src/telemetry/index.js +2 -1
  41. package/dist/src/telemetry/index.js.map +1 -1
  42. package/dist/src/telemetry/sdk.js +4 -1
  43. package/dist/src/telemetry/sdk.js.map +1 -1
  44. package/dist/src/telemetry/sdk.test.js +13 -0
  45. package/dist/src/telemetry/sdk.test.js.map +1 -1
  46. package/dist/src/tools/message-bus-integration.test.d.ts +6 -0
  47. package/dist/src/tools/message-bus-integration.test.js +183 -0
  48. package/dist/src/tools/message-bus-integration.test.js.map +1 -0
  49. package/dist/src/tools/tools.d.ts +11 -3
  50. package/dist/src/tools/tools.js +94 -3
  51. package/dist/src/tools/tools.js.map +1 -1
  52. package/dist/src/tools/write-todos.d.ts +25 -0
  53. package/dist/src/tools/write-todos.js +150 -0
  54. package/dist/src/tools/write-todos.js.map +1 -0
  55. package/dist/src/tools/write-todos.test.d.ts +6 -0
  56. package/dist/src/tools/write-todos.test.js +89 -0
  57. package/dist/src/tools/write-todos.test.js.map +1 -0
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-todos.js","sourceRoot":"","sources":["../../../src/tools/write-todos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, expect, it } from 'vitest';
7
+ import { WriteTodosTool } from './write-todos.js';
8
+ describe('WriteTodosTool', () => {
9
+ const tool = new WriteTodosTool();
10
+ const signal = new AbortController().signal;
11
+ describe('validation', () => {
12
+ it('should not throw for valid parameters', async () => {
13
+ const params = {
14
+ todos: [
15
+ { description: 'Task 1', status: 'pending' },
16
+ { description: 'Task 2', status: 'in_progress' },
17
+ { description: 'Task 3', status: 'completed' },
18
+ ],
19
+ };
20
+ await expect(tool.buildAndExecute(params, signal)).resolves.toBeDefined();
21
+ });
22
+ it('should not throw for an empty list', async () => {
23
+ const params = {
24
+ todos: [],
25
+ };
26
+ await expect(tool.buildAndExecute(params, signal)).resolves.toBeDefined();
27
+ });
28
+ it('should throw an error if todos is not an array', async () => {
29
+ const params = {
30
+ todos: 'not-an-array',
31
+ };
32
+ await expect(tool.buildAndExecute(params, signal)).rejects.toThrow('params/todos must be array');
33
+ });
34
+ it('should throw an error if a todo item is not an object', async () => {
35
+ const params = {
36
+ todos: ['not-an-object'],
37
+ };
38
+ await expect(tool.buildAndExecute(params, signal)).rejects.toThrow('params/todos/0 must be object');
39
+ });
40
+ it('should throw an error if a todo description is missing or empty', async () => {
41
+ const params = {
42
+ todos: [{ description: ' ', status: 'pending' }],
43
+ };
44
+ await expect(tool.buildAndExecute(params, signal)).rejects.toThrow('Each todo must have a non-empty description string');
45
+ });
46
+ it('should throw an error if a todo status is invalid', async () => {
47
+ const params = {
48
+ todos: [{ description: 'Task 1', status: 'invalid-status' }],
49
+ };
50
+ await expect(tool.buildAndExecute(params, signal)).rejects.toThrow('params/todos/0/status must be equal to one of the allowed values');
51
+ });
52
+ it('should throw an error if more than one task is in_progress', async () => {
53
+ const params = {
54
+ todos: [
55
+ { description: 'Task 1', status: 'in_progress' },
56
+ { description: 'Task 2', status: 'in_progress' },
57
+ ],
58
+ };
59
+ await expect(tool.buildAndExecute(params, signal)).rejects.toThrow('Invalid parameters: Only one task can be "in_progress" at a time.');
60
+ });
61
+ });
62
+ describe('execute', () => {
63
+ it('should return a success message for clearing the list', async () => {
64
+ const params = {
65
+ todos: [],
66
+ };
67
+ const result = await tool.buildAndExecute(params, signal);
68
+ expect(result.llmContent).toBe('Successfully cleared the todo list.');
69
+ expect(result.returnDisplay).toBe('Successfully cleared the todo list.');
70
+ });
71
+ it('should return a formatted todo list on success', async () => {
72
+ const params = {
73
+ todos: [
74
+ { description: 'First task', status: 'completed' },
75
+ { description: 'Second task', status: 'in_progress' },
76
+ { description: 'Third task', status: 'pending' },
77
+ ],
78
+ };
79
+ const result = await tool.buildAndExecute(params, signal);
80
+ const expectedOutput = `Successfully updated the todo list. The current list is now:
81
+ 1. [completed] First task
82
+ 2. [in_progress] Second task
83
+ 3. [pending] Third task`;
84
+ expect(result.llmContent).toBe(expectedOutput);
85
+ expect(result.returnDisplay).toBe(expectedOutput);
86
+ });
87
+ });
88
+ });
89
+ //# sourceMappingURL=write-todos.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-todos.test.js","sourceRoot":"","sources":["../../../src/tools/write-todos.test.ts"],"names":[],"mappings":"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"}