ChatWalaʻau v0.117.0
This release adds four new features to ChatWalaʻau: Standard AG-UI workflow events, Detached workflow run canvas, Working human-in-the-loop workflows, and Opt-in workflow variable inspector.
✅ No breaking changes. No configuration change and no migration are required. Every non-workflow chat turn is byte-for-byte unchanged, existing workflow YAML runs as-is, and saved sessions reload as before. Two items are worth reading before upgrading -- see Upgrade notes below.
Highlights
Standard AG-UI workflow events (v0.117.0)
- A declarative workflow run now streams the standard AG-UI vocabulary:
STEP_STARTED/STEP_FINISHEDper step, plus oneACTIVITY_SNAPSHOTper step carrying its label, status, loop iteration, and payload. This is the same vocabulary the Microsoft Agent Framework's own workflow AG-UI adapter emits, so a ChatWalaʻau run is readable by any AG-UI-conformant client instead of only by this product's own UI. - Only workflow runs are affected. An ordinary chat turn emits exactly the events it emitted before; the boundary is enforced by an automated architecture check, not by review.
- The previous ChatWalaʻau-specific
workflow_*events are still emitted alongside the new ones, so a browser holding a cached bundle and every already-saved session keep rendering progress exactly as before.
Detached workflow run canvas (v0.117.0)
- Press Diagram on the run indicator to open a run canvas: a movable, resizable window over the chat that shows the workflow graph lighting up step by step. On a wide monitor the conversation and the diagram sit side by side.
- The whole graph, not just the path taken. The diagram is drawn from the workflow file before the first step reports, so a branch that was not entered is still on screen. This is not a nicety: the runtime emits nothing at all for a branch it did not take, so a diagram assembled from the run alone could never show the path that was skipped.
- One canvas per run, never re-targeted, so a failing run can be compared against the one that worked.
- Click a step for its processing log -- what it produced, what it failed with, which loop iteration it belonged to. Large payloads are truncated with an explicit marker.
- Closing the canvas hides it and keeps everything the run collected; pressing Diagram brings the same canvas back with its step states and logs intact. A run that pauses for input or fails opens its canvas on its own.
- Closing, or never opening, the canvas has no effect on the run, and the compact in-message indicator keeps working either way.
Human-in-the-loop workflows now work (v0.117.0)
QuestionandRequestExternalInputpreviously ran, asked nothing, received nothing, and ended -- the request was raised and dropped, with no path back into the workflow.- A workflow now pauses the turn as an AG-UI interrupt carrying the prompt, the target variable, the choices, the free-text policy, and the default. The canvas renders an input form, and the answer continues the same run with its
Local.variables intact. - Because the pause ends the turn instead of holding the connection open, a pending question survives a page reload.
Opt-in workflow variable inspector (v0.117.0)
- Set
WORKFLOW_STATE_INSPECTOR=trueto add a Variables pane to the run canvas showing theLocal./Workflow.Inputs.*/Workflow.Outputs.*/System.*/Agent.*namespaces as the run progresses. - Readings are taken at each superstep boundary, which is where the Agent Framework commits pending variable writes -- so a value appears at the end of the step that set it, and is never shown mid-write.
- Off by default, deliberately. Workflow variables are the most likely place in the system for an API key, a token, or a customer record to sit in plain text. Values whose name looks secret-like are replaced with
***and long values are truncated, but that is a name-based heuristic, not a guarantee. Leave it off in production. - Purely diagnostic: enabling or disabling it never changes what a workflow does.
Fixed: a skipped step was reported as a success (v0.117.0)
- A step the Agent Framework bypasses (a cache hit during checkpoint replay) was grouped with completed steps: it was drawn with a success check and counted in the reported step total.
- It now reports a distinct skipped state, is rendered distinctly, and is excluded from the step count. Runs that never replay are unaffected.
Upgrade notes
- Action required for multi-worker deployments running human-in-the-loop workflows only. A workflow paused on a
Question/RequestExternalInputstep is held in the process that started it. Behind a load balancer, the answer must reach that same worker: enable sticky routing for the chat endpoint, or run such workflows through the asynchronous Pipeline lane, which uses durable checkpoints. If the paused run is gone (a restart, or a different worker), the answer is refused with an explanatory message rather than silently starting a new run against the wrong state. Single-worker deployments, and workflows that never ask a question, need no action. - Deprecation notice -- will become a breaking change in a future release. The legacy
workflow_*custom AG-UI events are still emitted in this release, alongside the standard events that replace them. They will be removed in a future release, announced as a breaking change in its own entry. If you have built anything against them, migrate toSTEP_STARTED/STEP_FINISHED/ACTIVITY_SNAPSHOT/RUN_FINISHED.outcome.
New configuration
| Variable | Default | Purpose |
|---|---|---|
WORKFLOW_STATE_INSPECTOR |
false |
Adds the redacted Variables pane to the workflow run canvas. Diagnostic only; leave off in production. |
Included in this release
This release includes implementation work from:
- v0.117.0 through v0.117.0
Notes
- Internal design management content and architecture control artifacts are intentionally omitted from this release note.
Installation
See the repository README for setup and usage instructions.
Version
- Release version:
0.117.0 - Previous release:
0.116.2