mlx-bun library API
    Preparing search index...
    manifest: {
        id: "chat";
        panel: {
            entry: "@mlx-bun/module-chat/panel";
            path: "/chat";
            tag: "mlx-chat-panel";
            title: "Chat";
            workspace: true;
        };
        requires: readonly ["modelHost", "storage", "registry"];
        routes: readonly [
            {
                id: "sessions-search";
                method: "GET";
                mount: "root";
                path: "/api/sessions/search";
                response: "json";
                summary: "Search saved chats by title and content (`q`); read-only";
            },
            {
                id: "sessions-export";
                method: "GET";
                mount: "root";
                path: "/api/sessions/export";
                response: "json";
                summary: "One saved chat's raw entries (`path`, under the session directory); read-only";
            },
            {
                id: "approvals";
                method: "GET";
                mount: "root";
                path: "/api/settings/tool-approvals";
                response: "json";
                summary: "The tools the user chose to always allow";
            },
            {
                id: "approvals-revoke";
                method: "DELETE";
                mount: "root";
                path: "/api/settings/tool-approvals";
                response: "json";
                summary: "Forget one always-allow choice (`tool` in the JSON body)";
            },
        ];
        sockets: readonly [
            {
                id: "chat";
                mount: "root";
                path: "/ws/chat";
                summary: "One chat session per connection: prompts, streamed tokens, tool cards and approvals, saved-chat management";
            },
        ];
        storage: readonly [
            {
                key: "sessions";
                kind: "directory";
                path: "sessions";
                purpose: "Saved chats, one Pi JSONL file each (also read by the memory pipeline)";
            },
            {
                key: "agent";
                kind: "directory";
                path: "pi-sessions";
                purpose: "The Pi agent's own directory";
            },
            {
                key: "approvals";
                kind: "file";
                path: "tool-approvals.json";
                purpose: "Tools the user chose to always allow, mode 0600";
            },
        ];
        summary: "The default assistant: a Pi agent over the served model, on a WebSocket per browser tab, with recent chats, tool approvals, and the tools other modules contribute.";
        title: "Chat";
    } = ...

    Type Declaration

    • Readonlyid: "chat"
    • Readonlypanel: {
          entry: "@mlx-bun/module-chat/panel";
          path: "/chat";
          tag: "mlx-chat-panel";
          title: "Chat";
          workspace: true;
      }
    • Readonlyrequires: readonly ["modelHost", "storage", "registry"]
    • Readonlyroutes: readonly [
          {
              id: "sessions-search";
              method: "GET";
              mount: "root";
              path: "/api/sessions/search";
              response: "json";
              summary: "Search saved chats by title and content (`q`); read-only";
          },
          {
              id: "sessions-export";
              method: "GET";
              mount: "root";
              path: "/api/sessions/export";
              response: "json";
              summary: "One saved chat's raw entries (`path`, under the session directory); read-only";
          },
          {
              id: "approvals";
              method: "GET";
              mount: "root";
              path: "/api/settings/tool-approvals";
              response: "json";
              summary: "The tools the user chose to always allow";
          },
          {
              id: "approvals-revoke";
              method: "DELETE";
              mount: "root";
              path: "/api/settings/tool-approvals";
              response: "json";
              summary: "Forget one always-allow choice (`tool` in the JSON body)";
          },
      ]
    • Readonlysockets: readonly [
          {
              id: "chat";
              mount: "root";
              path: "/ws/chat";
              summary: "One chat session per connection: prompts, streamed tokens, tool cards and approvals, saved-chat management";
          },
      ]
    • Readonlystorage: readonly [
          {
              key: "sessions";
              kind: "directory";
              path: "sessions";
              purpose: "Saved chats, one Pi JSONL file each (also read by the memory pipeline)";
          },
          {
              key: "agent";
              kind: "directory";
              path: "pi-sessions";
              purpose: "The Pi agent's own directory";
          },
          {
              key: "approvals";
              kind: "file";
              path: "tool-approvals.json";
              purpose: "Tools the user chose to always allow, mode 0600";
          },
      ]
    • Readonlysummary: "The default assistant: a Pi agent over the served model, on a WebSocket per browser tab, with recent chats, tool approvals, and the tools other modules contribute."
    • Readonlytitle: "Chat"