maqcli 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -353,7 +353,7 @@ async function connectMobile(rl) {
353
353
  async function launchUi(authKey) {
354
354
  // Reuse the daemon; open its landing page. Import lazily to avoid a cycle.
355
355
  const { createDaemon } = await import("../server/daemon.js");
356
- const daemon = createDaemon({ token: authKey, version: "0.8.0" });
356
+ const daemon = createDaemon({ token: authKey, version: "0.9.0" });
357
357
  try {
358
358
  const { host, port } = await daemon.listen();
359
359
  const url = `http://${host}:${port}/`;
package/dist/index.js CHANGED
@@ -46,7 +46,7 @@ import { runOrchestration } from "./core/orchestrator.js";
46
46
  import { performUpdate, installedGlobalVersion } from "./core/update.js";
47
47
  import { checkProtectedPath, scanForInjection, securityLog, securityRules, } from "./core/security.js";
48
48
  import { readFileSync, statSync } from "node:fs";
49
- const VERSION = "0.8.0";
49
+ const VERSION = "0.9.0";
50
50
  async function main(argv) {
51
51
  const [command, ...rest] = argv;
52
52
  switch (command) {
@@ -52,7 +52,7 @@ export function createDaemon(opts = {}) {
52
52
  const host = opts.host ?? process.env.MAQ_HOST ?? "127.0.0.1";
53
53
  const port = opts.port ?? Number(process.env.MAQ_PORT ?? 7717);
54
54
  const token = opts.token ?? process.env.MAQ_TOKEN ?? generateToken();
55
- const version = opts.version ?? "0.8.0";
55
+ const version = opts.version ?? "0.9.0";
56
56
  const corsOrigin = opts.corsOrigin ?? process.env.MAQ_CORS_ORIGIN;
57
57
  const registry = opts.registry ?? new SessionRegistry();
58
58
  const interactive = new InteractiveRegistry();
@@ -1,26 +1,28 @@
1
1
  /**
2
- * webui.ts — the self-contained control surface the daemon serves at `/app`
3
- * (and `/`). Zero build step, zero dependencies: one HTML document with
4
- * inline CSS + vanilla JS. It renders the SAME normalized event stream the
2
+ * webui.ts — the self-contained "Megalodon" control surface the daemon serves
3
+ * at `/app` (and `/`). Zero build step, zero dependencies: one HTML document
4
+ * with inline CSS + vanilla JS. It renders the SAME normalized event stream the
5
5
  * mobile app consumes, so there is no second source of truth.
6
6
  *
7
- * Design system: dark OLED canvas, two elevation surfaces, one signal accent
8
- * (teal "alive/running", not the generic AI purple/blue gradient). Type:
9
- * Space Grotesk for the brand mark + section labels (used sparingly), Inter
10
- * for UI/body, JetBrains Mono for the console/data surfaces. Signature
11
- * element: a live depth-of-work TIMELINE phases render as connected nodes
12
- * that fill in as work progresses, with orchestration rounds (parallel/loop/
13
- * safe) nesting as a sub-rail beneath the active phase — replacing static
14
- * chips with something that actually shows depth of work over time.
7
+ * This is a from-spec rebuild (maq_cli_ui_spec Phases 4-6). The recommended
8
+ * SPA stack (React + Monaco + Framer + react-resizable-panels) is deliberately
9
+ * NOT used: the daemon ships one static asset with no build pipeline, so the
10
+ * same UX is delivered dependency-free
11
+ * - real drag-resizable 3-panel shell (custom pointer-drag splitters)
12
+ * - universal preview: JSON tree / code+line-numbers / markdown / sandboxed
13
+ * HTML / images (replaces Monaco + react-markdown + react-json-view)
14
+ * - send button with a toggle-up mode picker popover (Single/Parallel/Loop/
15
+ * Safe), mode icon on the button face, selection persisted
16
+ * - orchestration visualizations derived from the event stream (parallel
17
+ * round dashboard / loop progress / safe split→merge→validate rail)
18
+ * - custom animated cursor follower + micro-interactions (CSS, not Framer)
15
19
  *
16
- * Layout: a named-grid-area app shell. Sidebar collapses to a drawer under
17
- * 900px; the preview panel becomes a full-screen sheet under 1200px; the
18
- * composer sticks to the bottom on narrow viewports. Motion is 150/220ms
19
- * ease-out and fully disabled under prefers-reduced-motion.
20
+ * Theme (Megalodon): deep matte black base, controlled blue-white accents (not
21
+ * neon), sparse red for status/danger, white primary text, no gradients except
22
+ * intentional depth cues. Everything references CSS custom-property tokens.
20
23
  *
21
24
  * Auth: the daemon requires a Bearer token for /v1/*. The page reads it from
22
- * ?token=… or a prompt, keeps it in memory only, and streams SSE via fetch +
23
- * ReadableStream (so the token rides in the Authorization header, never the
24
- * URL).
25
+ * ?key= / ?token= or a prompt, keeps it in memory only, and streams SSE via
26
+ * fetch + ReadableStream (token in the Authorization header, never the URL).
25
27
  */
26
28
  export declare function webuiHtml(version: string): string;