middleapi/orpc 32e1281f..866cc1e5
base and head as given
- Durable event streaming entered the product as a new package
- Cloudflare chat now depends on the worker's application router
- A token-signing dependency entered durable event streaming
- Reconnectable WebSocket support entered durable event streaming
- files changed
- 49
- in a component
- 26
- lines in components
- 1,238
- components
- 8
- public routes changed
- 0
- schema statements
- 0
- new dependencies
- 6
- excluded by role
- 23
Where to focus your review
- Check callers of removed or renamed exports7 components with export changes. Check compatibility and intended visibility.
- Verify behavior in dependent codeFollow the import paths below and exercise the consumers they reach.
- Check external contracts and rolloutReview detected route, migration and package changes with their callers and deployment order.
Durable event streaming
Added- Before
- did not exist
- After
- signed durable iterators are available
Applications can return a signed asynchronous event iterator from an RPC call. Clients open a reconnecting WebSocket for events, replay retained events after reconnecting, and can call only token-listed iterator methods remotely.
In favour
- In favour: Restricts remote iterator calls to token-listed methods
- In favour: Retains recent events for reconnect recovery
Against
- Against: Root and client layers form a 10-edge import cycle
Inspect 7 source files behind this explanation
- packages/durable-event-iterator/src/event-iterator.ts
- packages/durable-event-iterator/src/client/plugin.ts
- packages/durable-event-iterator/src/durable-object/event-storage.ts
- packages/durable-event-iterator/src/event-iterator.test-d.ts
- packages/durable-event-iterator/src/client/event-iterator.ts
- packages/durable-event-iterator/src/durable-object/object.ts
- packages/shared/src/index.ts
Chat room transport
Modified- Before
- Chat opened a dedicated WebSocket
- After
- Chat uses shared RPC and iterator plugin
The chat screen now requests its event stream through the application's shared RPC client and receives an asynchronous iterator. Messages continue to be sent through the same client while the worker upgrades event connections through the durable iterator layer.
In favour
- In favour: Uses one client path for chat requests and events
The model found nothing to weigh against this.
Inspect 5 source files behind this explanation
5 new dependencies between components — Durable Objects → Event Iterator API · Event Iterator API → Event Iterator Client · Event Iterator Client → Event Iterator API · Durable Objects → Event Iterator Client · Chat Room Library → Worker Routing
1 dependency no longer there — Chat Room Library → Chat Room Objects
What else could behave differently
7 components · 20 filesThese components import changed code, directly or through other files. A traced dependency is a place to review, not a confirmed runtime failure.
Reached 3
| Component | Symbol | Cited at | Files | Reached by |
|---|---|---|---|---|
| Chat Room Libraryplaygrounds/cloudflare-worker/src/lib/ | Removed router1 of 3 changed symbols reaching it | playgrounds/cloudflare-worker/worker/dos/chat-room.ts:17-37before | 2 | 2 directTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
| Event Iterator APIpackages/durable-event-iterator/src/ | Added ClientDurableEventIterator1 of 12 changed symbols reaching it | packages/durable-event-iterator/src/client/event-iterator.ts:24-31 | 5 | 4 direct · 1 at two stepsTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
| Worker Routingplaygrounds/cloudflare-worker/worker/ | Signature changed ChatRoom | playgrounds/cloudflare-worker/worker/dos/chat-room.ts:5-18 | 1 | 1 directTrace pathShortest component path from the changed symbol:
Later steps follow file imports; they do not prove this symbol is called. |
Ranked lower 4
| Component | Files | Reached by |
|---|---|---|
| packages/durable-event-iterator/src/client/ | 4 | 3 direct · 1 at two steps |
| packages/durable-event-iterator/src/durable-object/ | 5 | 4 direct · 1 at two steps |
| playgrounds/cloudflare-worker/src/ | 2 | 1 direct · 1 at two steps |
| playgrounds/cloudflare-worker/src/components/ | 1 | 1 direct |
Statements 3
router reached 2 files in the Chat Room Library. 2ClientDurableEventIterator reached 5 files in the Event Iterator API. 41ChatRoom's signature change reached 1 file in Worker Routing. 19 reached files belong to no component — tests, docs and config.
Routes, schema, dependencies
| What | Object | Where |
|---|---|---|
| + dependency | @cloudflare/workers-types@^4.20250617.0 | declared, and used by no file in any component |
| + dependency | @orpc/experimental-durable-event-iterator@next | playgrounds/cloudflare-worker/worker/index.ts:3 |
| + dependency | @types/better-sqlite3@^7.6.13 | declared, and used by no file in any component |
| + dependency | better-sqlite3@^12.0.0 | declared, and used by no file in any component |
| + dependency | jose@^6.0.11 | packages/durable-event-iterator/src/client/event-iterator.ts:6 |
| + dependency | partysocket@^1.1.4 | packages/durable-event-iterator/src/client/plugin.ts:12 |
6 statements, with the lines behind them
@orpc/experimental-durable-event-iterator version next was added.jose version ^6.0.11 was added.partysocket version ^1.1.4 was added.Inspect components, files and symbols
Component
File
Function
imports what changeddownstream of it, one mark per step
Diff
Analysis scope
1145 → 8- files at head1,145
- components117
- changed by this change8
- shown above of 86
Where the new files landed
21 new files| New file | Belongs to | Used by | Calls | Serves |
|---|---|---|---|---|
| playgrounds/cloudflare-worker/src/lib/orpc.tsimports 1 package this change added | Chat Room Librarybase frame | Chat Room Components | Worker Routing | — |
| packages/durable-event-iterator/src/8 new filesimports 1 package this change added | Event Iterator APInew territory | Event Iterator ClientDurable Objects | Event Iterator Client | . |
| packages/durable-event-iterator/src/client/5 new filesimports 2 packages this change added | Event Iterator Clientnew territory | Event Iterator APIDurable Objects | Event Iterator API | ./client |
| packages/durable-event-iterator/src/durable-object/7 new filesimports 1 package this change added | Durable Objectsnew territory | — | Event Iterator APIEvent Iterator Client | ./durable-object |
17 added files carry no component — 11 test, 4 config, 2 docs.
49 files changed, 29 claims stated. 7 components reached in total.