Skip to content

chore(deps): clean up deprecation warnings on global install#1111

Open
mistercrunch wants to merge 2 commits into
mainfrom
clean-deprecation-warnings
Open

chore(deps): clean up deprecation warnings on global install#1111
mistercrunch wants to merge 2 commits into
mainfrom
clean-deprecation-warnings

Conversation

@mistercrunch
Copy link
Copy Markdown
Member

Summary

Bumps @google/gemini-cli-core ^0.31.0 → ^0.41.2 and adds three targeted pnpm.overrides to clean up deprecation warnings users see on npm i -g agor-live.

End-user npm i -g agor-live deprecation count: 8 → 7. The drop is modest because all seven remaining warnings funnel through @google-cloud/logging@11.2.1 (a transitive dep of cli-core), which itself still depends on google-auth-library@^9 / google-gax@^4 / eventid@^2 — and the latest releases of all of those still pull the deprecated deps. cli-core's 0.42.0-preview.2 has the same Google deps, so the fix has to come from upstream. We don't actually import @google-cloud/logging — cli-core only loads it from telemetry/gcp-exporters.js for GCP telemetry export, a code path agor-live never enables.

Changes

  • packages/core/package.json: @google/gemini-cli-core ^0.31.0 → ^0.41.2 (synced into packages/agor-live/package.json via sync:agor-live-deps).
  • packages/executor/src/sdk-handlers/gemini/prompt-service.ts: cli-core 0.41 changed Scheduler to take context: AgentLoopContext instead of config. The new context is assembled from config.getToolRegistry/getPromptRegistry/getResourceRegistry/getGeminiClient() and config.sandboxManager.
  • package.json pnpm.overrides (additions):
    • "keytar": "npm:@github/keytar@^7.10.6" — drops the unmaintained prebuild-install chain from monorepo dev install.
    • "uuid@<10": "^11.1.0" — collapses uuid@8/9 → uuid@11 in dev install.
    • "@google/gemini-cli-core>zod": "^3.25.76" — carve-out so cli-core keeps its required zod@3; the global zod: ^4.3.6 override otherwise coerces it and breaks executor tests at module load (cli-core's source uses z.nativeEnum(...) shapes that throw under zod@4).

Before / After

Before (cli-core 0.31, on npm i -g <tarball>):

npm warn deprecated prebuild-install@7.1.3: ...
npm warn deprecated node-domexception@1.0.0: ...
npm warn deprecated uuid@8.3.2: ...
npm warn deprecated uuid@9.0.1: ...   (×6)

After (this PR):

npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated uuid@8.3.2: uuid@10 and below is no longer supported...
npm warn deprecated uuid@9.0.1: uuid@10 and below is no longer supported...   (×5)

Per-warning resolution

Warning Status Source
prebuild-install@7.1.3 ✅ fixed Was via the keytar chain in cli-core 0.31 — gone in 0.41
uuid@9.0.1 (one occurrence) ✅ fixed Removed by cli-core 0.31 → 0.41 dep tree shuffle
node-domexception@1.0.0 ⏳ blocked @google-cloud/logging@11.xgaxios → node-fetch@3 → fetch-blob
uuid@8.3.2 ⏳ blocked @google-cloud/logging@11.xeventid@2.0.1 (latest still uses uuid@^8)
uuid@9.0.1 (×5) ⏳ blocked @google-cloud/logging@11.xgoogle-auth-library@9, google-gax@4, gaxios@6, teeny-request@9, googleapis-common@7

The blocked warnings will clear once @google-cloud/logging upgrades to google-auth-library@10 + google-gax@5 upstream, and cli-core picks up the new release.

Test plan

  • pnpm install — clean (only node-domexception warning in monorepo dev install)
  • pnpm typecheck — 9/9 pass
  • pnpm lint — clean (8 pre-existing warnings on files we didn't touch)
  • pnpm test for @agor/executor — 22 files / 341 tests pass
  • pnpm build — 7/7 pass
  • pnpm pack agor-live + npm i -g <tarball> in scratch dir — 7 warnings (down from 8)

🤖 Generated with Claude Code

Bumps `@google/gemini-cli-core` from `^0.31.0` to `^0.41.2` and migrates
the executor's Gemini Scheduler call site to the new `AgentLoopContext`
API (`Scheduler({ context, ... })` replacing `Scheduler({ config, ... })`).
The context is built from `config.getToolRegistry/PromptRegistry/
ResourceRegistry/GeminiClient` and `config.sandboxManager`.

Also adds three pnpm overrides:

- `keytar -> npm:@github/keytar@^7.10.6` — drops the unmaintained
  `prebuild-install` chain from the monorepo dev install.
- `uuid@<10 -> ^11.1.0` — collapses uuid@8/9 to uuid@11 in dev install.
- `@google/gemini-cli-core>zod -> ^3.25.76` — carve-out so cli-core
  keeps its required zod@3 instead of being coerced by the global
  `zod: ^4.3.6` override (cli-core's source uses `z.nativeEnum(...)`
  shapes that throw under zod@4 at module load).

End-user `npm i -g agor-live` deprecation count: 8 → 7. The remaining
seven (`node-domexception`, `uuid@8.3.2`, `uuid@9.0.1` ×5) all funnel
through `@google-cloud/logging@11.2.1`, which cli-core 0.41 still pins
directly and which itself depends on `google-auth-library@^9` /
`google-gax@^4` / `eventid@^2` (latest of each still uses the deprecated
deps). cli-core's `0.42.0-preview.2` ships the same Google deps, so the
fix has to come from upstream `@google-cloud/logging` bumping to
`google-auth-library@10` + `google-gax@5`. We don't import
`@google-cloud/logging` ourselves; cli-core only loads it from
`telemetry/gcp-exporters.js` for GCP telemetry export, a path agor-live
never enables.

Verification:
- `pnpm typecheck` — 9/9 pass
- `pnpm test` (executor) — 22 files / 341 tests pass
- `pnpm build` — 7/7 pass
- `npm i -g <packed tarball>` in scratch dir — 7 warnings (down from 8)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mistercrunch mistercrunch marked this pull request as ready for review May 7, 2026 05:15
… converter

Address PR #1111 review feedback on the cli-core 0.41 migration:

- `Config` already implements `AgentLoopContext`; the hand-rolled context
  literal plus a per-turn `MessageBus`/`PolicyEngine` created drift between
  the scheduler and the SDK's canonical bus. Pass `context: config` directly
  — `setApprovalMode` is already called on cache reuse, so the config-bound
  policy engine and message bus carry the right approval mode.
- Extract the completed-call → Gemini `functionResponse` `Part[]` conversion
  into `tool-result-converter.ts` so the migrated scheduler path has a
  unit-testable seam. Adds 8 regression tests covering pass-through,
  empty/missing response parts, status=error fallback, and batch ordering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mistercrunch
Copy link
Copy Markdown
Member Author

Addressed Codex review feedback in 3ce20e3:

Blocker — Replaced the hand-rolled agentContext literal + per-turn MessageBus/PolicyEngine with context: config. Config implements AgentLoopContext directly (verified in cli-core@0.41.2/dist/src/config/config.d.ts:569), and the config-bound policy engine + message bus already carry the desired approval mode (setApprovalMode is called both on construction and on cache reuse in ensureSessionClient). This eliminates the registry/bus drift the reviewer flagged.

Should-fix — Extracted the completed-call → Gemini functionResponse Part[] conversion into tool-result-converter.ts and added 8 regression tests covering: SDK response-parts pass-through, empty/missing parts fallback, status: error error-message extraction, default 'Tool execution failed' fallback, batch flattening, empty-batch handling, and order preservation.

Test counts: executor 22 → 23 files, 341 → 349 tests, all green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant