refactor(config): extract GoogleChat schema into zod-schema.providers-googlechat.ts#82100
Conversation
|
Codex review: needs maintainer review before merge. Reviewed May 24, 2026, 3:58 PM ET / 19:58 UTC. Summary PR surface: Source +13, Tests 0. Total +13 across 4 files. Reproducibility: not applicable. this is a refactor PR, not a bug report. The relevant check is source-level equivalence of schema exports and import boundaries. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge Security Review detailsBest possible solution: Land the bounded extraction after normal maintainer review and CI, preserving the bundled SDK GoogleChat config export while moving provider-specific schema code out of the core provider schema file. Do we have a high-confidence way to reproduce the issue? Not applicable; this is a refactor PR, not a bug report. The relevant check is source-level equivalence of schema exports and import boundaries. Is this the best way to solve the issue? Yes; the PR uses the existing dedicated-schema-file pattern from the merged channel schema split and keeps the public bundled SDK export intact. Codex review notes: model gpt-5.5, reasoning high; reviewed against 0acc3e32164a. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +13, Tests 0. Total +13 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
This comment was marked as low quality.
This comment was marked as low quality.
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
This comment was marked as low quality.
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Brave Clawlet Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
2955bc0 to
54a5db0
Compare
54a5db0 to
b06c809
Compare
…-googlechat.ts Move GoogleChat channel schemas (GoogleChatDmSchema, GoogleChatGroupSchema, GoogleChatAccountSchema, GoogleChatConfigSchema) from the monolithic zod-schema.providers-core.ts into a dedicated zod-schema.providers-googlechat.ts module, following the same pattern as zod-schema.providers-whatsapp.ts. Also exports BotLoopProtectionSchema from providers-core since GoogleChat shares it with other channel schemas. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…split - Update guardrail test regex to match providers-googlechat export block - Replace BotLoopProtectionSchema import from providers-core with ChannelBotLoopProtectionSchema from channels-config (neutral module) to avoid back-edge import dependency
GoogleChat schemas that used SecretRefSchema were extracted to providers-googlechat.ts which imports it from zod-schema.core.ts. The import in providers-core.ts is now unused, causing check-prod-types to fail.
b06c809 to
7555272
Compare
|
Merged via squash.
Thanks @tanshanshan! |
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
…-googlechat.ts (openclaw#82100) Merged via squash. Prepared head SHA: 7555272 Co-authored-by: tanshanshan <22539261+tanshanshan@users.noreply.github.com> Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com> Reviewed-by: @altaywtf
Summary
zod-schema.providers-core.ts(900+ lines), making it hard to maintain and inconsistent with other channel schemas that have been extracted into dedicated files.GoogleChatDmSchema,GoogleChatGroupSchema,GoogleChatAccountSchema,GoogleChatConfigSchema) into a newzod-schema.providers-googlechat.tsmodule. Remove unnecessaryexportfromBotLoopProtectionSchema(keep internal-only).zod-schema.providers-googlechat.ts, updated re-export inbundled-channel-config-schema.ts, updated guardrail regex inconfig-footprint-guardrails.test.ts, removed schemas fromzod-schema.providers-core.ts+ unexportedBotLoopProtectionSchema.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Motivation
The
providers-core.tsfile aggregates schemas for multiple channels, making targeted changes risky and reviews harder. Other channels (e.g., samzong's work in #82007) have already been extracted. GoogleChat is the next candidate, establishing a repeatable pattern for remaining channel extractions.Real behavior proof (required for external PRs)
Additional verification:
BotLoopProtectionSchemais no longer exported —grep -rn "from.*providers-core.*BotLoopProtection" src/ extensions/returns zero matches.BotLoopProtectionSchemais internal-only.iconMarkup: stringassigned tobutton.innerHTMLat viewer-client.ts:91, allowing arbitrary string injection.Root Cause (if applicable)
N/A — refactor, not a bug fix.
Regression Test Plan (if applicable)
N/A — no behavior change.
User-visible / Behavior Changes
None.
Diagram (if applicable)
Security Impact (required)
Repro + Verification
Environment
Steps
iconMarkup: stringin source, no bare imports in runtimeExpected
innerHTMLonly reads fromtoolbarIconSvg[icon]; no string injection path exists.Actual
All checks pass as expected.
Evidence
Human Verification (required)
BotLoopProtectionSchemaunexport verified (no external imports)Review Conversations
Compatibility / Migration
Risks and Mitigations
None — pure refactor with no behavior change, following the established #82007 extraction pattern.