singularity-forge/web/lib
Jeremy McSpadden 2175f59522 fix(contracts): add isWorkspaceEvent guard + close routeLiveInteractionEvent exhaustiveness gap (#2878)
Fixes two contract violations found in audit (closes #2875):

1. `isWorkspaceEvent()` type guard added next to WorkspaceEvent type definition.
   Applied at stream.onmessage JSON.parse boundary — replaces unsafe `as WorkspaceEvent`
   cast with validated parse + explicit error path for malformed payloads.

2. `routeLiveInteractionEvent()` switch extended with explicit cases for all three
   previously unhandled WorkspaceEvent variants:
   - bridge_status: handled upstream with early return, never reaches router
   - live_state_invalidation: handled upstream via handleLiveStateInvalidation
   - extension_error: terminal line produced by summarizeEvent, no live state update needed
2026-03-27 14:29:38 -06:00
..
auth.ts fix: use localStorage for auth token to enable multi-tab usage (#2785) 2026-03-26 20:06:50 -06:00
browser-slash-command-dispatch.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
command-surface-contract.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
dev-overrides.tsx feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
diagnostics-types.ts feat: enhance /gsd forensics with journal and activity log awareness 2026-03-25 18:19:08 +00:00
git-summary-contract.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
gsd-workspace-store.tsx fix(contracts): add isWorkspaceEvent guard + close routeLiveInteractionEvent exhaustiveness gap (#2878) 2026-03-27 14:29:38 -06:00
image-utils.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
initial-gsd-header-filter.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
knowledge-captures-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
project-store-manager.tsx feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
project-url.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
pty-chat-parser.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
pty-manager.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
remaining-command-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
session-browser-contract.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
settings-types.ts feat: managed RTK integration with opt-in preference and web UI toggle (#2620) 2026-03-26 09:33:07 -06:00
shutdown-gate.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-editor-font-size.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-terminal-font-size.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
use-user-mode.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
utils.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
visualizer-types.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workflow-action-execution.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workflow-actions.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00
workspace-status.ts feat(web): browser-based web interface (#1717) 2026-03-21 12:16:54 -06:00