0.27.2
Every @aparte/* package ships at this version (they are released in lockstep).
Patch Changes
-
8b81036: A file in a sent message can open: declare
setHostHandlers({ filePreview: true })and its tile sendsaparte-attachment-preview, which now carries the file’stype.Images keep their own declaration,
attachmentPreview, so a lightbox written for images is never handed a PDF. A file tile becomes a button only when its URL is one a tab can open — the composer’s object URL, or a remote URL; adata:URL stays a plain tile. The event’stypeis the MIME type (''when unknown) on every preview, the image ones included.@aparte/core -
14c782d: A workflow that answers through response nodes now works: the runner reads n8n’s chat WebSocket, and a Chat node’s buttons are answered in the page after
setupN8nButtons().On a Chat Trigger set to “Using Response Nodes”, n8n answers the first message with an execution to listen to; the runner opens n8n’s chat socket for it, draws each message the workflow’s Chat nodes send, and keeps the socket while the execution waits — a written reply to a Chat node that asks for one goes on it. A Chat node that waits for an approval sends buttons: the turn pauses on them as a call the page answers,
setupN8nButtons()asks them at the composer with their own labels, and the chosen button resumes the execution. Only buttons whose links lead back to the same n8n are shown. n8n 2.x runs response nodes only on a Chat Trigger in “Hosted Chat” mode. A runtime without a globalWebSocketpasses one as the runner’sWebSocketoption.@aparte/runner-n8n
Version-only bumps (no changes of their own): @aparte/engine, @aparte/runner-ag-ui, @aparte/provider-ai-sdk, @aparte/provider-openai-compat, @aparte/provider-scenario, @aparte/provider-transformers, @aparte/plugin-approval, @aparte/plugin-artifacts, @aparte/plugin-ask-user, @aparte/plugin-compaction, @aparte/plugin-marked, @aparte/plugin-model-selector, @aparte/plugin-shiki, @aparte/plugin-streaming-markdown, @aparte/plugin-titler, @aparte/angular, @aparte/react, @aparte/svelte, @aparte/vue, @aparte/locales, @aparte/docs-mcp.
0.27.3
Every @aparte/* package ships at this version (they are released in lockstep).
Patch Changes
-
0689e87: An approval can now require one of its options: pass
freeText: falsetorequestUserInputand the “Or tell it what to do instead” field is left out.The corner still declines, since an unanswered approval is never a yes. The default is unchanged: the field is there unless a request says otherwise.
@aparte/core -
a329d19: n8n’s “Block User Input” is now honoured: a Chat node’s buttons are asked without a field to write in when it is on.
Without it, the person may still write instead of choosing, which n8n reads as a message and takes as not approved, as with its own widget.
@aparte/runner-n8n
Version-only bumps (no changes of their own): @aparte/engine, @aparte/runner-ag-ui, @aparte/provider-ai-sdk, @aparte/provider-openai-compat, @aparte/provider-scenario, @aparte/provider-transformers, @aparte/plugin-approval, @aparte/plugin-artifacts, @aparte/plugin-ask-user, @aparte/plugin-compaction, @aparte/plugin-marked, @aparte/plugin-model-selector, @aparte/plugin-shiki, @aparte/plugin-streaming-markdown, @aparte/plugin-titler, @aparte/angular, @aparte/react, @aparte/svelte, @aparte/vue, @aparte/locales, @aparte/docs-mcp.
0.27.4 Latest
Every @aparte/* package ships at this version (they are released in lockstep).
Patch Changes
-
7db31fc:
freeTexton an approval request is renamedallowOther, the name a question’s free-text option already has. ReplacefreeText: falsewithallowOther: false.Published in 0.27.3 an hour before: one idea, “may the person answer in words”, now has one name on both panels. Same default (
true), same meaning;setupN8nButtonspasses it for n8n’s Block User Input.@aparte/core,@aparte/runner-n8n
Version-only bumps (no changes of their own): @aparte/engine, @aparte/runner-ag-ui, @aparte/provider-ai-sdk, @aparte/provider-openai-compat, @aparte/provider-scenario, @aparte/provider-transformers, @aparte/plugin-approval, @aparte/plugin-artifacts, @aparte/plugin-ask-user, @aparte/plugin-compaction, @aparte/plugin-marked, @aparte/plugin-model-selector, @aparte/plugin-shiki, @aparte/plugin-streaming-markdown, @aparte/plugin-titler, @aparte/angular, @aparte/react, @aparte/svelte, @aparte/vue, @aparte/locales, @aparte/docs-mcp.