Skip to content

designer

Enterprise Part of the commercial Kumiko Enterprise offering — not in the open framework.

Server-side feature for Kumiko’s visual pattern editor. Exposes three handlers on top of pattern-storage: library:get returns the static PATTERN_LIBRARY schema used to drive the form renderer; feature:parse reads a tenant’s pattern-file from storage and runs ts-morph in-memory AST parsing, returning a ParseResult with discovered patterns and errors; patches:apply reads the current source, applies a PatternChange[] diff via ts-morph, and writes the result back through pattern-storage (optimistic-locking and event-log come from the storage layer). Mount it together with pattern-storage — designer requires that feature at boot. Includes a /web export with a React SPA (mountDesigner()) for the admin UI.

This Enterprise implementation is optional. If you need a narrower or domain-specific version, you can build an app-owned feature, handler, or job with Kumiko’s public extension points.

Use this package when you want the maintained implementation, its existing contracts, and the surrounding operational behavior. A custom implementation is not drop-in compatible automatically: your app owns its authorization, validation, integrations, tests, security review, and production operations.

Start with Features and composition and Custom write handlers.

What this feature needs to run (Requires, top) and the write commands this feature provides (Provides, bottom).

flowchart TB
  n_designer["designer"]
  subgraph how_reqs["Requires / optional"]
    n_pattern_storage["pattern-storage"]
    n_ai_conversation["ai-conversation"]
  end
  subgraph how_provides["Provides"]
    n_cmd_designer_write_chat_send(["send"])
    n_cmd_designer_write_patches_apply(["apply"])
  end
  n_pattern_storage --> n_designer
  n_ai_conversation -.->|optional| n_designer
  n_designer --> n_cmd_designer_write_chat_send
  n_designer --> n_cmd_designer_write_patches_apply

Provides — write commands this feature registers (dispatch them through the command bus):

  • designer:write:chat:send
  • designer:write:patches:apply