Skip to content

FE-1776: Remove the built-in AI chat and the aiAssistant prop - #10106

Draft
kube wants to merge 2 commits into
claude/brunch-own-uifrom
claude/remove-builtin-chat
Draft

kube wants to merge 2 commits into
claude/brunch-own-uifrom
claude/remove-builtin-chat

Conversation

@kube

@kube kube commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Important

Removes the aiAssistant prop. Hosts provide the AI assistant with a plugin.

Summary

Before this PR, @hashintel/petrinaut shipped a built-in AI chat behind the aiAssistant prop, with its PetrinautAi* types and helpers. Demo site renders its assistants from plugins with its own chat, so nothing uses the built-in chat.

This PR removes the built-in chat. Assistant panel shows only a plugin's content, and an editor without an assistant plugin shows no assistant entry points. Library drops ai, @ai-sdk/react and react-markdown from its dependencies.

Links

Changes

  • aiAssistant prop removed from <Petrinaut>
  • Built-in chat and its exports removed

    PetrinautAi* types, definePetrinautAiInteractiveTool, executePetrinautAiMutation, ExperimentExecutionCard and DefaultChatTransport leave /ui and the package root.
    Voice session store, voice components and the Storybook AI transport go with the chat.

  • Editor shows an assistant only from a plugin

    Bottom bar button, toggle shortcut and empty-canvas prompt appear only while a plugin provides one.

  • Empty-canvas prompt's built-in Voice button goes with the chat

    Prompt offers the assistant's start action alone.

  • ai, @ai-sdk/react and react-markdown leave the library's dependencies

    Library build no longer keeps the AI SDK's declaration files out of its types.

  • Petrinaut / With Assistant Plugin story renders an Echo assistant plugin

    It replaces the stories that ran the built-in chat against a scripted transport.

  • README and architecture docs describe the assistant as a plugin

    Experiments in AI chat attaches to the website's chat.

  • createPetrinautAiWritableCallbacks in @hashintel/petrinaut-core is deprecated

    Only core's own tests call it.

Next steps

  • Remove createPetrinautAiWritableCallbacks from @hashintel/petrinaut-core

    Only its own tests call it after this PR.

Test coverage

  • editor-assistant.test.tsx:

    Plugin content and title bar in the panel, Close handler order, start request until consumed, and a failing content that keeps the panel's frame.

  • editor-view.test.tsx, ai-cta-modal.test.tsx, walkthrough/plugin.test.tsx:

    Adapted to an editor whose assistant comes from a plugin.

  • Existing @hashintel/petrinaut and website unit suites

How to test

Petrinaut AI

  • Open Petrinaut preview on Vercel
  • Menu > New
  • Submit Build an SIR model in prompt

    Expect panel titled AI and net built

Brunch

  • Press ⌘K > Use Brunch
  • Bottom bar > Show AI assistant

    Expect Chat and Ledger tabs in title bar

  • Send Add a place called Queue

    Expect Brunch's reply and the place on the canvas

@kube kube self-assigned this Oct 19, 2026
@github-actions github-actions Bot added area/deps Relates to third-party dependencies (area) area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > frontend Owned by the @frontend team type/eng > backend Owned by the @backend team area/apps labels Oct 19, 2026
@kube
kube added this pull request to stack #10107 October 19, 2026 22:04
@github-actions github-actions Bot added the area/apps > hash.design Affects the `hash.design` design site (app) label Oct 19, 2026
@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hash Ready Ready Preview Oct 20, 2026 5:13pm UTC
petrinaut Ready Ready Preview Oct 20, 2026 5:13pm UTC
petrinaut-docs Ready Ready Preview Oct 20, 2026 5:13pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
hashdotdesign-tokens Ignored Ignored Preview Oct 20, 2026 5:13pm UTC

Request Review

@kube
kube force-pushed the claude/remove-builtin-chat branch from d59a0d8 to 7472c09 Compare October 20, 2026 15:53
@kube
kube force-pushed the claude/remove-builtin-chat branch from 7472c09 to e3dd307 Compare October 20, 2026 16:04
@kube
kube force-pushed the claude/remove-builtin-chat branch from e3dd307 to e313ffa Compare October 20, 2026 16:08
@kube
kube force-pushed the claude/remove-builtin-chat branch from e313ffa to f3655d6 Compare October 20, 2026 16:16
@kube
kube force-pushed the claude/remove-builtin-chat branch from f3655d6 to 427b3e6 Compare October 20, 2026 16:43
kube added 2 commits October 20, 2026 19:06
Nothing in Petrinaut calls it once the built-in chat is gone; only core's own tests do.

This branch was successfully deployed

3 active deployments
Preview – petrinaut-docs — 38af7498 Deployed Oct 20, 2026 by vercel[bot]
Preview – hash — 38af7498 Deployed Oct 20, 2026 by vercel[bot]
Preview – petrinaut — 38af7498 Deployed Oct 20, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/apps > hash.design Affects the `hash.design` design site (app) area/apps area/deps Relates to third-party dependencies (area) area/infra Relates to version control, CI, CD or IaC (area) area/libs Relates to first-party libraries/crates/packages (area) type/eng > backend Owned by the @backend team type/eng > frontend Owned by the @frontend team

Development

Successfully merging this pull request may close these issues.

1 participant