broken💎shaders
04/25/2026, 7:09 PMBAML functions etc. (running in Restate service handlers)
Orange: Restate Virtual Object (Representing the conversation, appendTokens while streaming, commitMessage for when a generation completes, getState FSM in a union)
Cyan: Durable Restate Promises
https://cdn.discordapp.com/attachments/1119375594984050779/1497675982293827694/image.png?ex=69ee62f3&is=69ed1173&hm=a9fd0261180890c66dd02d2ad4bcac3a25ddee9d9b267e68804c4d69d9faff4d&vEth
04/26/2026, 1:39 AMbroken💎shaders
04/26/2026, 11:00 AMvEth
04/26/2026, 11:50 AMvEth
04/26/2026, 11:55 AMbroken💎shaders
04/26/2026, 12:17 PMbroken💎shaders
04/26/2026, 12:18 PMvEth
04/26/2026, 12:19 PMvEth
04/26/2026, 12:20 PMbroken💎shaders
04/26/2026, 12:21 PMvEth
04/26/2026, 12:22 PMbroken💎shaders
04/26/2026, 12:22 PMbroken💎shaders
04/26/2026, 12:24 PMvEth
04/26/2026, 12:32 PMbroken💎shaders
04/26/2026, 12:37 PMvEth
04/26/2026, 12:46 PMbroken💎shaders
04/26/2026, 12:58 PMvEth
04/27/2026, 1:31 AMbroken💎shaders
04/28/2026, 3:49 PMtypescript
const carry = flow.pointer()
const mapper = flow.add('Mapper', mapperDef)
.dependsOn(carry)
.if('Has Carry', r => r.resolved(carry))
.else(flow.input)
const reduce = flow.maps(mapper).via('Reduce', reducerDef, 'reduce')
const flatMap = flow.add('FlatMap', flatMapDef).dependsOn(reduce)
.loop(carry)
.if('Iterate', pred)
flow.maps(listProducer).via(callback) is the fanout mechanism, representing "Spawning N dynamic nodes to process a list" (it's all separate Restate invocations)
Of course if you don't want separate Restate invocations, you could just implement it internally of a service handler that accept a list as it's input... But that would be if it's not a semantic concern of "orchestration logic" and strictly belongs to business logicbroken💎shaders
04/28/2026, 3:50 PMbroken💎shaders
04/28/2026, 3:53 PMvEth
04/29/2026, 7:59 AMbroken💎shaders
04/29/2026, 8:28 AMbroken💎shaders
04/29/2026, 8:28 AMbroken💎shaders
04/29/2026, 8:32 AMbroken💎shaders
04/29/2026, 8:38 AMbroken💎shaders
04/29/2026, 8:39 AMbroken💎shaders
04/29/2026, 8:40 AMmapper node works is what's the most interesting part about this, type 1 chat if you want me to release this open sourcebroken💎shaders
04/29/2026, 8:41 AMbroken💎shaders
04/29/2026, 8:45 AMbroken💎shaders
04/29/2026, 8:46 AMbroken💎shaders
04/29/2026, 8:46 AMbroken💎shaders
04/29/2026, 8:47 AMbroken💎shaders
04/29/2026, 8:49 AMbroken💎shaders
04/29/2026, 8:51 AMbroken💎shaders
04/29/2026, 8:52 AM