#22509: Add missing dev dependency (signal-utils)
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
#20843: docs: add troubleshooting for A2UI bundling and missing node_modules
by yahiag04 · 2026-02-19
73.8%
#21979: chore: add knip dependency check and remove unused dependencies
by chansuke · 2026-02-20
72.3%
#7824: fix(ui): remove --prod install flag that causes vite not found error
by adityarao3 · 2026-02-03
72.2%
#23337: fix: move @discordjs/opus to optionalDependencies [AI-assisted 🤖]
by davidmckenzie · 2026-02-22
72.1%
#19619: fix(deps): bump fast-xml-parser override to 5.3.6 to fix DoS vulnerab…
by Ilannuko · 2026-02-18
72.1%
#23775: fix(build): stabilize Windows script execution and Telegram monitor...
by ly85206559 · 2026-02-22
71.0%
#8988: fix: resolve security vulnerabilities in dependencies
by fotorpics · 2026-02-04
71.0%
#3973: fix: enhance npm package integrity checks and include critical files
by YeSuX · 2026-01-29
69.5%
#9476: fix: GitHub tarball dependency lacks integrity verification in pnpm...
by coygeek · 2026-02-05
69.1%
#9628: fix: resolve tsconfig rootDir errors by separating UI config (AI-as...
by KGBos · 2026-02-05
69.0%