Files
gemini-cli/packages/sdk
gemini-cli[bot] 9424a3a07d fix: resolve monorepo type errors and stabilize build
This PR addresses several critical build and type-checking issues across the monorepo:

1.  **Core Package Stability**: Removed deprecated `baseUrl` from `packages/core/tsconfig.json` and converted absolute-style imports to relative paths. This allows `tsc --build` to succeed reliably.
2.  **Modern JS API Support**: Upgraded `lib` to `ES2023` in `packages/test-utils` and `packages/vscode-ide-companion` to resolve errors related to `Error.cause` and other modern JavaScript features.
3.  **SDK Type Integrity**: Fixed several `noImplicitAny` errors and resolved inheritance issues in `SdkTool` and `SdkToolInvocation` by refining generic constraints and adding necessary ESLint disable comments for complex type bypasses.
4.  **DevTools ESM Compliance**: Added missing `.js` extensions to relative imports in the DevTools client and fixed un-typed property access in log objects.
5.  **Build Graph Optimization**: Added missing project references in `test-utils` and removed redundant `paths` in `evals` to ensure correct build order and declaration resolution.

These changes collectively restore the ability to run `npm run typecheck` and `npm run build` across the entire project.

cc @google-gemini/gemini-cli-maintainers
2026-05-12 22:44:48 +00:00
..

@google/gemini-cli-sdk

The Gemini CLI SDK provides a programmatic interface to interact with Gemini models and tools.

Installation

npm install @google/gemini-cli-sdk

Usage

import { GeminiCliAgent } from '@google/gemini-cli-sdk';

async function main() {
  const agent = new GeminiCliAgent({
    instructions: 'You are a helpful assistant.',
  });

  const controller = new AbortController();
  const signal = controller.signal;

  // Stream responses from the agent
  const stream = agent.sendStream('Why is the sky blue?', signal);

  for await (const chunk of stream) {
    if (chunk.type === 'content') {
      process.stdout.write(chunk.value.text || '');
    }
  }
}

main().catch(console.error);