Skip to content

v0.21.0

Choose a tag to compare

@aylusltd aylusltd released this 18 Aug 04:19
· 30 commits to main since this release

Doorman does the thinking, when you have it (#63, #37)

Waikiki reaches for a model in three places — the editor's Generate button,
chat with an article, and image generation. All three now go through
Doorman's agents when Doorman offers them, so a user who has already configured
models there doesn't configure a second set of API keys and CLIs here.

And when Waikiki is embedded in Doorman's own window, the integration stops
pretending to be optional.
Doorman shows Waikiki in an iframe; Waikiki now
recognises that (the framed-document signal plus a live health probe, so
"embedded" means embedded in Doorman rather than in any iframe) and the
"Use Doorman when it is running" checkbox renders locked, with the reason,
instead of offering a choice that has no meaning when Doorman is the host.

Every surface reports which backend answered. Silently swapping your configured
model for a Doorman agent would be its own bug.

Nothing here is required. Standalone Waikiki behaves exactly as before. An
older Doorman that doesn't have these endpoints, or one with no agent
configured, falls back to the local path silently — Waikiki capability-probes
rather than version-sniffs, so it works against old and new Doorman with no
action from you.

One honest limit: Doorman's image endpoint takes a prompt, model and size, so a
wiki's style reference images can't travel that path. The style prompt
still does.

Whole-wiki export and import (#57)

export_wiki_bundle / import_wiki_bundle move an entire wiki, not one page at
a time — pages and their hierarchy, ordering, starred flags, custom
elements, templates (with the metadata schemas added in v0.20.0) and images,
de-duplicated. Round-tripped against a real 215-page wiki: identical page set,
identical hierarchy, no drift.

Both directions stream, so a 43MB wiki costs one page of memory rather than all
of it, and the whole payload is decoded before the first write — a bad bundle
leaves your wiki untouched instead of half-imported. Hierarchy travels by slug,
never by database id, because ids are local and an id that crossed would point
at whatever page happened to hold that number on the other side.

This is the local half of the Kahala round-trip; the interchange format is
version-gated and now at spec 2, in lockstep with the hosted side.

Fixes

  • search now tells agents it covers top-level pages and names
    search_subpages for going into a branch (#59).
  • In-process MCP tool calls no longer fail with an error about sessions: a
    raising session_id property was escaping a getattr default (#52).