Skip to content

test: split schema coverage and peer dependency updates from #34532#34568

Open
Kansodata wants to merge 7 commits intoopenclaw:mainfrom
Kansodata:fix/schema-tests-and-peerdeps-split-from-34532
Open

test: split schema coverage and peer dependency updates from #34532#34568
Kansodata wants to merge 7 commits intoopenclaw:mainfrom
Kansodata:fix/schema-tests-and-peerdeps-split-from-34532

Conversation

@Kansodata
Copy link
Copy Markdown
Contributor

Summary

Splits low-risk code, test, and peer dependency updates out of #34532 so that the Teams + Canvas host-side guide PR remains docs-only.

Changes

  • Adds/keeps the clarifying schema comment in src/agents/pi-tools.schema.ts
  • Adds test coverage for Gemini-compatible schema normalization behavior
  • Refactors a brittle assertion in src/plugins/commands.test.ts
  • Updates peer dependency minimums in affected extensions
  • Updates the lockfile accordingly

Notes

This PR contains only the non-documentation changes that were previously mixed into #34532. It does not introduce intended runtime behavior changes.

@openclaw-barnacle openclaw-barnacle bot added channel: googlechat Channel integration: googlechat extensions: memory-core Extension: memory-core agents Agent runtime and tooling size: S labels Mar 4, 2026
@Kansodata
Copy link
Copy Markdown
Contributor Author

This PR was split from #34532 to keep #34532 strictly docs/examples only.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 4, 2026

Greptile Summary

This PR cleanly splits low-risk, non-documentation changes out of #34532. All changes are minimal and safe:

  • Schema documentation: Added a clarifying comment in pi-tools.schema.ts documenting that Google endpoints validate Gemini-compatible tool schemas (documentation-only).
  • Test coverage: New test file correctly verifies existing normalizeToolParameters behavior—that Gemini providers (including google-antigravity) strip unsupported keywords like patternProperties, while other providers (anthropic) preserve full schema compliance.
  • Test resilience: Refactored brittle exact-equality assertions in commands.test.ts to use expect.objectContaining() for partial matching, with added toHaveLength() safety checks.
  • Package.json alignment: Removed peerDependenciesMeta from both googlechat and memory-core extensions—a cosmetic cleanup that aligns two private packages with all other extensions in the monorepo (none of which use this field).

No runtime behavior changes, all updates are low-risk and code-quality focused.

Confidence Score: 5/5

  • Safe to merge—no runtime behavior changes, tests are correct, and package.json edits are cosmetic alignment.
  • All changes are low-risk and well-scoped. The schema comment is documentation-only. New tests correctly exercise existing logic without modifying behavior. Test refactoring uses standard partial-match assertions. Package.json changes are cosmetic alignment of private packages with monorepo conventions.
  • No files require special attention.

Last reviewed commit: 4846b77

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4846b77c57

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@openclaw-barnacle openclaw-barnacle bot removed channel: googlechat Channel integration: googlechat extensions: memory-core Extension: memory-core labels Mar 4, 2026
@Kansodata
Copy link
Copy Markdown
Contributor Author

CI note: the previous Bun lane failure was in setup (oven-sh/setup-bun returned 404 while downloading Bun), before tests executed. I pushed an empty retrigger commit to rerun checks.

@Kansodata
Copy link
Copy Markdown
Contributor Author

Applied fix for the Bun lane instability:

  • Updated .github/actions/setup-node-env/action.yml to use bun-version: "1.3.9" (valid release tag), replacing the invalid 1.3.9+cf6cdbbba value that produced 404 during oven-sh/setup-bun download.

Result: the Bun check now passes in this PR run.

@Kansodata
Copy link
Copy Markdown
Contributor Author

Quick follow-up: the peer optionality concern has been applied.

  • peerDependenciesMeta.openclaw.optional: true is restored in:
    • extensions/memory-core/package.json
    • extensions/googlechat/package.json
  • Commit: 5b54443

This keeps direct extension installs from hard-failing on peer resolution.

@Kansodata
Copy link
Copy Markdown
Contributor Author

Status update: peerDependenciesMeta.openclaw.optional: true remains restored for extension packages, and this branch is currently green and conflict-free from my side.

If maintainers are aligned with the split scope, this should be ready for final review.

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

Labels

agents Agent runtime and tooling size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant