← Back to PRs

#22509: Add missing dev dependency (signal-utils)

by camilo86 open 2026-02-21 07:28 View on GitHub →
size: XS
## Summary `signal-utils` library is used in the a2ui, but it is not listed as a dev dependency in the project's package.json. This causes builds to fail due to missing TypeScript types - Problem: - Why it matters: Not having this dev dependency causes builds to fail due to type issues - What changed: Added `signal-utils` under dev dependency (using latest version 0.21.1 - What did NOT change (scope boundary): Any functionality. This is only to fix the type issues caused by the missing dependency ## Change Type (select all) - [x] Bug fix - [ ] Feature - [ ] Refactor - [ ] Docs - [ ] Security hardening - [ ] Chore/infra ## Scope (select all touched areas) - [ ] Gateway / orchestration - [ ] Skills / tool execution - [ ] Auth / tokens - [ ] Memory / storage - [ ] Integrations - [ ] API / contracts - [ ] UI / DX - [x] CI/CD / infra ## Linked Issue/PR - Closes # - Related # ## User-visible / Behavior Changes List user-visible changes (including defaults/config). If none, write `None`. None ## Security Impact (required) Adds `signal-utils` as a dev dependency: https://www.npmjs.com/package/signal-utils - New permissions/capabilities? (`No`) - Secrets/tokens handling changed? (`No`) - New/changed network calls? (`No`) - Command/tool execution surface changed? (`No`) - Data access scope changed? (`No`) - If any `Yes`, explain risk + mitigation: ## Repro + Verification ### Environment - OS: Ubuntu 24.04 - Runtime/container: - Model/provider: - Integration/channel (if any): - Relevant config (redacted): ### Steps 1. pnpm install 2. pnpm ui:build 3. pnpm build ### Expected - Build to succeed ### Actual - Build fails due to missing signal-utils types ## Evidence Attach at least one: - [x] Failing test/log before + passing after - [ ] Trace/log snippets - [ ] Screenshot/recording - [ ] Perf numbers (if relevant) Before <img width="2820" height="1966" alt="Screenshot from 2026-02-20 23-23-34" src="https://github.com/user-attachments/assets/22377947-b99d-4969-912b-d0579469244d" /> After <img width="2820" height="1966" alt="Screenshot from 2026-02-20 23-25-39" src="https://github.com/user-attachments/assets/b9cbca13-cfb9-4b80-b4fa-9beb133d3473" /> ## Human Verification (required) What you personally verified (not just CI), and how: - Verified scenarios: Building project `pnpm build` - Edge cases checked: - What you did **not** verify: ## Compatibility / Migration - Backward compatible? (`Yes`) - Config/env changes? (`No`) - Migration needed? (`No`) - If yes, exact upgrade steps: ## Failure Recovery (if this breaks) - How to disable/revert this change quickly: revert commit (removes the addition of `signal-tools` in package.json and pnpm-lock.yaml files) - Files/config to restore: `package.json` and `pnpm-lock/yaml` - Known bad symptoms reviewers should watch for: ## Risks and Mitigations List only real risks for this PR. Add/remove entries as needed. If none, write `None`. None - Risk: - Mitigation: <!-- greptile_comment --> <h3>Greptile Summary</h3> Added `signal-utils@^0.21.1` as a dev dependency to fix TypeScript compilation errors during the build process. The `signal-utils` library is imported by vendored a2ui code (`vendor/a2ui/renderers/lit/src/0.8/data/signal-model-processor.ts`), which is compiled during the `pnpm canvas:a2ui:bundle` step of the main build. Without this dependency in the root `package.json`, TypeScript cannot resolve the types and the build fails on fresh installs. <h3>Confidence Score: 5/5</h3> - This PR is safe to merge with no risk - This is a straightforward addition of a missing dev dependency that's already used in vendored code. The dependency is only used at build time for TypeScript type resolution, the version matches what's already specified in the a2ui renderer's package.json, and the lockfile shows it correctly resolves with its peer dependency (signal-polyfill). No logic or runtime behavior changes. - No files require special attention <sub>Last reviewed commit: 5190988</sub> <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs