summaryrefslogtreecommitdiff
path: root/package-lock.json
AgeCommit message (Collapse)Author
2025-06-02feat: Refactor CLI header for customizable logo text (#658)N. Taylor Mullen
2025-05-31feat: allow custom filename for context files (#654)Allen Hutchison
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-30use npx json instead of jq (#617)Olcan
2025-05-29fix: publish @gemini-code/server (#605)Brandon Keiji
2025-05-28feat: add git branch name to footer (#589)Brandon Keiji
2025-05-26feat: Replace SQLite with JSON logging for macOS sandbox compatibilityTaylor Mullen
- Removes the sqlite3 dependency and refactors the logging mechanism to use a JSON file (logs.json) instead of a database. - This change is a temporary workaround to address issues with macOS sandboxing that were caused by the SQLite native module. - Storing all logs in a single JSON file may introduce scalability concerns in the future. Fixes https://github.com/google-gemini/gemini-cli/issues/522
2025-05-26Chore(deps): Upgrade @google/genai to v1.0.1Taylor Mullen
- Upgraded the @google/genai SDK from ^0.13.0 to ^1.0.1. - Addressed a related type error in `packages/server/src/tools/edit.test.ts` by updating a type assertion. Part of https://github.com/google-gemini/gemini-cli/issues/551
2025-05-23fix: Update dependencies to resolve deprecation warningsTaylor Mullen
2025-05-23feat: Enable npx execution directly from GitHub URLTaylor Mullen
This commit modifies the packaging setup to allow the CLI to be executed directly from its GitHub URL using `npx`, for example: `npx https://github.com/google-gemini/gemini-cli` (once merged to main). This is achieved without requiring the bundle to be checked into the repository. Key changes and motivations: - Modify `scripts.prepare` to run `npm run bundle`: Ensures the CLI bundle is generated automatically when `npx` installs the package from a git URL. This replaces previous approaches (e.g., using `prepack`) which were not consistently triggered in the `npx` environment. - Update `scripts.bundle` to use a direct path for `esbuild` and externalize `sqlite3`: Using `node_modules/.bin/esbuild` provides a more reliable way to invoke the bundler. Externalizing `sqlite3` is crucial for correctly handling its native addon, preventing runtime errors. - Add `bin`, `files`, and root `sqlite3` dependency: - The `bin` field defines the `gemini` command. - The `files` array ensures the generated `bundle/` directory is recognized by npm. - `sqlite3` is added as a root dependency to ensure it's installed by `npx` when `gemini-code` is fetched, allowing the externalized module to be resolved. These changes collectively ensure that the necessary build artifacts are created on-the-fly during `npx` installation, providing a seamless execution experience directly from the GitHub repository URL.
2025-05-23feat: add emphasis to tool confirmations (#502)Brandon Keiji
2025-05-21Feat: Add test coverage scripts and ignore reports (#477)Allen Hutchison
2025-05-21Add Logger for command history (#435)Seth Troisi
2025-05-20Support Images and PDFs (#447)Jacob Richman
2025-05-19feat(cli): Implement /bug command and add open dependency (#428)Allen Hutchison
2025-05-18allow comments in settings.jsonolcan
2025-05-16strip escape characters when pasting. (#386)Jacob Richman
2025-05-16Support auto wrapping of in the multiline editor. (#383)Jacob Richman
2025-05-16fix: Ensure filename is available for diff rendering in write-fileTaylor Mullen
This commit resolves a bug where the `write-file` operation could fail to render content due to a missing filename. The fix involves: - Ensuring `fileName` is consistently passed to `DiffRenderer.tsx` through `ToolConfirmationMessage.tsx`, `ToolMessage.tsx`, and `useGeminiStream.ts`. - Modifying `edit.ts` and `write-file.ts` to include `fileName` in the `FileDiff` object. - Expanding the `FileDiff` interface in `tools.ts` to include `fileName`. Additionally, this commit enhances the diff rendering by: - Adding syntax highlighting based on file extension in `DiffRenderer.tsx`. - Adding more language mappings to `getLanguageFromExtension` in `DiffRenderer.tsx`. - Added lots of tests for all the above. Fixes https://b.corp.google.com/issues/418125982
2025-05-13fix: remove gemini-code bin configuration (#330)Brandon Keiji
2025-05-08Add bundling support.Taylor Mullen
- This can now be invoked with `npm run bundle`, it creates a `bundle/` folder that has: - gemini.js - sandbox-macos-minimal.sb - sandbox-macos-strict.sb - shell.json - shell.md - This doesn't include any sort of automation for auto bundling pieces. It's just the root capability which we can weave into other locations. Fixes https://b.corp.google.com/issues/411432723
2025-05-07Continue to work through 429/500s.Taylor Mullen
- The root of this issue was actually a genai SDK bug that was fixed here: https://critique.corp.google.com/cl/753255997 - Upgrade to latest genai SDK for latest bug fixes (including the above) - Removed specific 429 handling for uncaught rejections. Fixes https://b.corp.google.com/issues/413760164
2025-05-05support for mcp toolsolcan
2025-04-30Fix an issue where types/react was a different version from our main … (#231)Allen Hutchison
Co-authored-by: Brandon Keiji <[email protected]>
2025-04-29fix: point start.sh to relative path (#209)Brandon Keiji
2025-04-28enable servers in sandbox to listen on localhost (127.0.0.1) instead of ↵Olcan
0.0.0.0, ensuring servers can be container/host-agnostic (#207) * enable servers in sandbox to listen on localhost (127.0.0.1) instead of 0.0.0.0, ensuring servers can be container/host-agnostic * Merge remote-tracking branch 'origin/main' into sandbox_localhost_works
2025-04-28feat: publish docker image alongside npm package (#197)Brandon Keiji
2025-04-27Upgrade @google/genai to latest.Taylor Mullen
- Motivation of this upgrade is to enable us to get convenient access to the thinking budget config changes for 2.5 thinking models. This will be key to getting our model to take a bit more time for various requests.
2025-04-27Cleanup outdated packages in server/cli.Taylor Mullen
- Found that pre-backend front end split we had a number of packages that we hadn't revisisted. Went through and cleaned them up (i.e. cli needing genai).
2025-04-25feat: prototype publish sandbox script with npm package (#182)Brandon Keiji
2025-04-24feat: add flag to customize package version during pre-release staging (#155)Brandon Keiji
2025-04-23feat: add react dev tools (#143)Brandon Keiji
2025-04-23Support GEMINI_CODE_SANDBOX=0/false as no SANDBOXingSeth Troisi
2025-04-23feat: set dogfood artifact registry as the default publishing endpoint (#135)Brandon Keiji
2025-04-23feat: add CLI version number to footer (#134)Brandon Keiji
2025-04-22Colorize code blocks.Taylor Mullen
- This changeset uses lowlight.js to parse the code in codeblocks to derive an AST, it then translates that into CSS themes that are widely known via highlight.js (things that GitHub use), finally I translate those css.color attributes into Ink colors and effectivel do <Text color={the color}>the text</Text>. - To do this I needed to build color mappings from css -> Ink - I introduced a new `Theme` type that will be used to represent many different color themes. It also enabled the color mappings to be seamless. - Added a theme manager that only has one theme for now (VS2015). The theme works very well with our colorization. - Some other bits was removal of borders around our codeblocks since they now have richer rendering. - Most complex bits of code in this PR is in the `CodeColorizer.tsx` Fixes https://b.corp.google.com/issues/412433479
2025-04-23feat: add alias to the cli bin directive (#126)Brandon Keiji
2025-04-21fix: point npmrc to dogfood artifact registry (#108)Brandon Keiji
2025-04-21fix: use relative imports within the same package (#93)Brandon Keiji
2025-04-20add linter for checking license headers (and eslint --fix target to match, ↵Tyler
and fix missing license headers while we're here) (#62)
2025-04-20refactor: clean up build output (#53)Brandon Keiji
* refactor: clean up build output * refactor: add index.ts to package roots
2025-04-19Give Gemini Code a face lift.Taylor Mullen
- This utilizes `ink-gradient` to render GEMINI CODE in amazing colors. - Added a shared color configuration for UX (should this be in config?). It's very possible that we shouldn't be talking about the specific colors and instead be mentioning "foreground"/"background"/inlineCode etc. type colors. - Updated existing color usages to utilize `Colors.*` Fixes https://b.corp.google.com/issues/411385593
2025-04-19Adding some simple tests. (#54)Evan Senter
2025-04-18fix: add clean command to individual packages (#36)Brandon Keiji
2025-04-18infra: add multipackage support (#34)Brandon Keiji
2025-04-18Warn if `npm run start` is out of date. (#20)Evan Senter
* Adding some wiring to allow the Ink app to warn if there are local development changes that haven't been captured in the recent build of the Gemini CLI. * Adding a new useAppEffects.ts file that wores some useEffect handlers in. * Updating package-lock.json to resolve `npm ci` issues. * Updating package-lock.json and package.json to resolve `npm ci` issues.
2025-04-18Revert "Including a test harness for it, and making sure the cursor is ↵Evan Senter
always at the end." This reverts commit 97db77997fd6369031d2f1cf750051999fb0b5b5.
2025-04-18Including a test harness for it, and making sure the cursor is always at the ↵Evan Senter
end.
2025-04-17Configure linter + prettier.Taylor Mullen
- This is based on existing expectations for TS code in Google-esc repos. - First part of the change (we have not run any linter or formatting commands). After this changeset goes in I'll do a mass changeset push. Fixes https://b.corp.google.com/issues/411384603
2025-04-17Initial commit of Gemini Code CLITaylor Mullen
This commit introduces the initial codebase for the Gemini Code CLI, a command-line interface designed to facilitate interaction with the Gemini API for software engineering tasks. The code was migrated from a previous git repository as a single squashed commit. Core Features & Components: * **Gemini Integration:** Leverages the `@google/genai` SDK to interact with the Gemini models, supporting chat history, streaming responses, and function calling (tools). * **Terminal UI:** Built with Ink (React for CLIs) providing an interactive chat interface within the terminal, including input prompts, message display, loading indicators, and tool interaction elements. * **Tooling Framework:** Implements a robust tool system allowing Gemini to interact with the local environment. Includes tools for: * File system listing (`ls`) * File reading (`read-file`) * Content searching (`grep`) * File globbing (`glob`) * File editing (`edit`) * File writing (`write-file`) * Executing bash commands (`terminal`) * **State Management:** Handles the streaming state of Gemini responses and manages the conversation history. * **Configuration:** Parses command-line arguments (`yargs`) and loads environment variables (`dotenv`) for setup. * **Project Structure:** Organized into `core`, `ui`, `tools`, `config`, and `utils` directories using TypeScript. Includes basic build (`tsc`) and start scripts. This initial version establishes the foundation for a powerful CLI tool enabling developers to use Gemini for coding assistance directly in their terminal environment. --- Created by yours truly: __Gemini Code__