Skip to content

ChatWalaʻau v0.115.0

Choose a tag to compare

@motojinc25 motojinc25 released this 26 Jul 00:31

This release expands Declarative Workflows in ChatWalaʻau to the full Microsoft Agent Framework action set, with a visual editor for nested control flow and opt-in, sandboxed tool / MCP / HTTP actions.

No breaking changes. This release is additive and default-safe. With DECLARATIVE_AGENTS_DIR unset there are no workflows, and the three new boundary-crossing workflow actions are off by default -- the runtime and every existing workflow are byte-for-byte unchanged unless you explicitly opt in. No action is required to upgrade.

Highlights

Full 23-action workflow surface (v0.115.0)

  • The workflow editor and compiler now support the full declarative action set, grouped by category:

    Category Actions
    Variable SetVariable, SetMultipleVariables, SetTextVariable, ResetVariable, ClearAllVariables, ParseValue, EditTableV2
    Control Flow If, ConditionGroup, Foreach, BreakLoop, ContinueLoop, GotoAction
    Output SendActivity
    Agent InvokeAzureAgent (invokes one of your declarative Prompt agents)
    Tool InvokeFunctionTool, InvokeMcpTool
    HTTP HttpRequestAction
    Human-in-the-Loop Question, RequestExternalInput
    Workflow Control EndWorkflow, EndConversation, CreateConversation

Nested control-flow authoring (v0.115.0)

  • If, Foreach, and ConditionGroup are now authored as nested container nodes in the DAG editor -- an If has then / else lanes, a Foreach has a body lane, and a ConditionGroup has one lane per condition plus an else lane -- instead of a single field plus raw-YAML editing. GotoAction renders as a labeled back-edge.
  • Workflows can declare typed top-level inputs: and outputs:, and everything round-trips losslessly through the canonical YAML preview.

Opt-in, sandboxed boundary-crossing actions (v0.115.0)

  • InvokeFunctionTool, InvokeMcpTool, and HttpRequestAction let a workflow call tools, MCP servers, and HTTP endpoints. They are off by default and each runs only through a built-in sandbox -- never a raw value from the workflow file:
    • InvokeFunctionTool (WORKFLOW_FUNCTION_ACTIONS_ENABLED) exposes only the same function tools an agent could already call on your deployment.
    • InvokeMcpTool (WORKFLOW_MCP_ACTIONS_ENABLED) reaches only MCP servers you already configured and left enabled in the tool manager; the URL / headers in the YAML are ignored.
    • HttpRequestAction (WORKFLOW_HTTP_ACTIONS_ENABLED) is limited to a host allow-list (WORKFLOW_HTTP_ALLOWED_HOSTS) with an SSRF guard that blocks loopback / private / link-local / cloud-metadata addresses, plus a request timeout (WORKFLOW_HTTP_TIMEOUT_MS).
  • While a class is disabled, its action is flagged as a blocking warning, so a workflow that uses it cannot be run until you enable the class.

Human-in-the-loop (v0.115.0)

  • Question and RequestExternalInput surface an input request during a run (with the prompt text) and resume when answered.

Notes

  • Enabling any of the three boundary-crossing action classes is a deliberate choice that opens new outbound surface; each is guarded (configured-servers-only for MCP, host allow-list + SSRF guard for HTTP, agent-equivalent tools for functions) and off until you turn it on.
  • Internal design management content and architecture control artifacts are intentionally omitted from this release note.

Included in this release

This release includes implementation work from:

  • v0.115.0 through v0.115.0

Installation

See the repository README for setup and usage instructions.

Version

  • Release version: 0.115.0
  • Previous release: 0.114.0