@google/gemini-cli-core 0.25.0-preview.0 → 0.26.0-nightly.20260115.6cb3ae4e0

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 (70) hide show
  1. package/dist/docs/architecture.md +3 -3
  2. package/dist/docs/changelogs/index.md +25 -0
  3. package/dist/docs/changelogs/latest.md +150 -138
  4. package/dist/docs/changelogs/preview.md +211 -118
  5. package/dist/docs/changelogs/releases.md +406 -25
  6. package/dist/docs/cli/commands.md +7 -0
  7. package/dist/docs/cli/keyboard-shortcuts.md +18 -16
  8. package/dist/docs/cli/rewind.md +51 -0
  9. package/dist/docs/cli/settings.md +1 -0
  10. package/dist/docs/cli/skills.md +8 -8
  11. package/dist/docs/get-started/configuration.md +12 -1
  12. package/dist/docs/sidebar.json +4 -0
  13. package/dist/docs/tools/mcp-server.md +2 -1
  14. package/dist/docs/troubleshooting.md +2 -1
  15. package/dist/src/agents/a2a-client-manager.js +1 -1
  16. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  17. package/dist/src/agents/registry.js +9 -4
  18. package/dist/src/agents/registry.js.map +1 -1
  19. package/dist/src/config/config.d.ts +9 -1
  20. package/dist/src/config/config.js +16 -0
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/config.test.js +20 -0
  23. package/dist/src/config/config.test.js.map +1 -1
  24. package/dist/src/confirmation-bus/types.d.ts +52 -2
  25. package/dist/src/confirmation-bus/types.js +1 -0
  26. package/dist/src/confirmation-bus/types.js.map +1 -1
  27. package/dist/src/core/contentGenerator.js +2 -1
  28. package/dist/src/core/contentGenerator.js.map +1 -1
  29. package/dist/src/core/coreToolScheduler.test.js +7 -4
  30. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  31. package/dist/src/generated/git-commit.d.ts +2 -2
  32. package/dist/src/generated/git-commit.js +2 -2
  33. package/dist/src/generated/git-commit.js.map +1 -1
  34. package/dist/src/scheduler/state-manager.d.ts +67 -0
  35. package/dist/src/scheduler/state-manager.js +335 -0
  36. package/dist/src/scheduler/state-manager.js.map +1 -0
  37. package/dist/src/scheduler/state-manager.test.d.ts +6 -0
  38. package/dist/src/scheduler/state-manager.test.js +386 -0
  39. package/dist/src/scheduler/state-manager.test.js.map +1 -0
  40. package/dist/src/scheduler/types.d.ts +10 -1
  41. package/dist/src/skills/builtin/skill-creator/SKILL.md +382 -0
  42. package/dist/src/skills/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  43. package/dist/src/skills/builtin/skill-creator/scripts/package_skill.cjs +87 -0
  44. package/dist/src/skills/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  45. package/dist/src/skills/skillLoader.js +65 -9
  46. package/dist/src/skills/skillLoader.js.map +1 -1
  47. package/dist/src/skills/skillLoader.test.js +110 -0
  48. package/dist/src/skills/skillLoader.test.js.map +1 -1
  49. package/dist/src/skills/skillManager.d.ts +2 -2
  50. package/dist/src/skills/skillManager.js +17 -6
  51. package/dist/src/skills/skillManager.js.map +1 -1
  52. package/dist/src/skills/skillManager.test.js +91 -4
  53. package/dist/src/skills/skillManager.test.js.map +1 -1
  54. package/dist/src/test-utils/mock-tool.d.ts +1 -0
  55. package/dist/src/test-utils/mock-tool.js +1 -0
  56. package/dist/src/test-utils/mock-tool.js.map +1 -1
  57. package/dist/src/tools/shell.js +1 -0
  58. package/dist/src/tools/shell.js.map +1 -1
  59. package/dist/src/tools/tools.d.ts +1 -0
  60. package/dist/src/tools/tools.js.map +1 -1
  61. package/dist/src/utils/shell-utils.js +18 -2
  62. package/dist/src/utils/shell-utils.js.map +1 -1
  63. package/dist/src/utils/shell-utils.test.js +23 -0
  64. package/dist/src/utils/shell-utils.test.js.map +1 -1
  65. package/dist/src/utils/tokenCalculation.js +10 -2
  66. package/dist/src/utils/tokenCalculation.js.map +1 -1
  67. package/dist/src/utils/tokenCalculation.test.js +20 -0
  68. package/dist/src/utils/tokenCalculation.test.js.map +1 -1
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +1 -1
@@ -83,5 +83,25 @@ describe('calculateRequestTokenCount', () => {
83
83
  const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
84
84
  expect(count).toBe(3000);
85
85
  });
86
+ it('should use countTokens API for PDF requests', async () => {
87
+ vi.mocked(mockContentGenerator.countTokens).mockResolvedValue({
88
+ totalTokens: 5160,
89
+ });
90
+ const request = [
91
+ { inlineData: { mimeType: 'application/pdf', data: 'pdf_data' } },
92
+ ];
93
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
94
+ expect(count).toBe(5160);
95
+ expect(mockContentGenerator.countTokens).toHaveBeenCalled();
96
+ });
97
+ it('should use fixed estimate for PDFs in fallback', async () => {
98
+ vi.mocked(mockContentGenerator.countTokens).mockRejectedValue(new Error('API error'));
99
+ const request = [
100
+ { inlineData: { mimeType: 'application/pdf', data: 'large_pdf_data' } },
101
+ ];
102
+ const count = await calculateRequestTokenCount(request, mockContentGenerator, model);
103
+ // PDF estimate: 25800 tokens (~100 pages at 258 tokens/page)
104
+ expect(count).toBe(25800);
105
+ });
86
106
  });
87
107
  //# sourceMappingURL=tokenCalculation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenCalculation.test.js","sourceRoot":"","sources":["../../../src/utils/tokenCalculation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenCalculation.test.js","sourceRoot":"","sources":["../../../src/utils/tokenCalculation.test.ts"],"names":[],"mappings":"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"}