@omg-dev/app 0.1.314 → 0.1.315

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.
@@ -1,8 +1,8 @@
1
1
  import { jsxs as a, jsx as s } from "react/jsx-runtime";
2
2
  import { useRef as _, useState as f, useCallback as o, useLayoutEffect as me, useEffect as W } from "react";
3
- import { c as E, Z, ad as y, B as m, R as he, L as U, X as pe, k as J, ae as fe, af as Y, ag as ge, T as ye, H as be } from "./embedded-XhhE9jRo.js";
4
- import { B as xe } from "./badge-SW0JjvGR.js";
5
- import { C as ve } from "./clipboard-paste-CwkeLxnB.js";
3
+ import { c as E, Z, ad as y, B as m, R as he, L as U, X as pe, k as J, ae as fe, af as Y, ag as ge, T as ye, H as be } from "./embedded-DqbzKVPi.js";
4
+ import { B as xe } from "./badge-CT-G9Sni.js";
5
+ import { C as ve } from "./clipboard-paste-7Lt2VUd6.js";
6
6
  /**
7
7
  * @license lucide-react v0.577.0 - ISC
8
8
  *
@@ -1,10 +1,29 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { M as n } from "./embedded-XhhE9jRo.js";
2
+ import { M as n } from "./embedded-DqbzKVPi.js";
3
3
  const t = `# Changelog
4
4
 
5
5
  Recent product updates and deployment notes.
6
6
 
7
- ## August 8, 2026 - The folder picker works on a fresh install (v0.1.314)
7
+ ## August 8, 2026 - \`omg update\`, and a setup that reports instead of narrating (v0.1.315)
8
+
9
+ - **\`omg update\` updates this machine.** It was reachable before — a button in
10
+ the web UI, and \`omg setup\` picking up a release on its way past — but neither
11
+ is what you reach for in a terminal, and \`setup\` reads like it might
12
+ reconfigure the box. \`omg update --check\` reports without changing anything.
13
+ - **Setup's output says what happened.** It used to end with a warning for every
14
+ agent CLI you had not installed, another for Tailscale Serve being off when
15
+ off is the default, and a "Next steps" block that had drifted out of date —
16
+ burying the one thing you want, which URL to open. It now prints the URLs,
17
+ which agents are ready, which can be added and where, and how to restart and
18
+ read logs.
19
+ - **The named URL is not described as needing sudo any more.** Since v0.1.313
20
+ the server advertises \`omg.local\` over mDNS on macOS, so it is already live by
21
+ the time setup finishes.
22
+ - **Hermes is gone.** It had already been dropped as an agent kind, but setup
23
+ still offered to install it and warned when it was missing.
24
+ - Downloads show a progress bar instead of six columns of transfer statistics.
25
+
26
+ ## August 8, 2026 - A fresh install opens, and cleanup stays in its lane (v0.1.314)
8
27
 
9
28
  - **"Choose a project" no longer opens stuck on "Opening…".** On a brand new
10
29
  install, before anyone touched a setting, the picker showed an empty listing
@@ -17,17 +36,6 @@ Recent product updates and deployment notes.
17
36
  the repos root was the thing that was empty.
18
37
  - Existing installs are repaired by updating — no \`.env\` edit needed. Re-running
19
38
  \`omg setup\` also fills the placeholder in place.
20
-
21
- ## August 8, 2026 - The worktree sweeper stays in its lane (v0.1.314)
22
-
23
- - **The folder picker works on a brand-new install.** It could open on
24
- "Opening…" with an empty listing and "folder does not exist", before anyone
25
- had touched a setting: \`.env\` ships \`OMG_REPOS_ROOT=\` as documentation, and
26
- an empty value was being read as a deliberate answer rather than a
27
- placeholder. Empty and whitespace now count as unset — which repairs existing
28
- installs with no \`.env\` edit — and setup fills the placeholder in place
29
- instead of appending a second, conflicting assignment.
30
-
31
39
  - **The sweeper no longer deletes worktrees it didn't create.** \`~/lfg-worktrees\`
32
40
  is a shared directory, and the background cleanup treated everything in it as
33
41
  its own — so a hand-made worktree, release checkout or clone parked there was
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as i, Fragment as te } from "react/jsx-runtime";
2
2
  import { memo as ne, useState as m, useRef as T, useCallback as v, useEffect as C, useMemo as q, Suspense as I } from "react";
3
3
  import { createPortal as re } from "react-dom";
4
- import { c as oe, H, I as se, X as U, J as ie, K as ae, g as y, L as J, N as le, C as de, y as ce, O as L } from "./embedded-XhhE9jRo.js";
4
+ import { c as oe, H, I as se, X as U, J as ie, K as ae, g as y, L as J, N as le, C as de, y as ce, O as L } from "./embedded-DqbzKVPi.js";
5
5
  import { c as me } from "./create-BrnHvSDE.js";
6
6
  /**
7
7
  * @license lucide-react v0.577.0 - ISC
@@ -1,7 +1,7 @@
1
1
  import { jsxs as r, jsx as k, Fragment as vA } from "react/jsx-runtime";
2
2
  import { useState as L, useRef as S, useEffect as x, useCallback as Y } from "react";
3
- import { c as yA, S as wQ, X as DA, a9 as sQ, C as tQ, aa as eQ, ab as aQ, H as MQ, ac as hQ, R as NQ, y as cQ } from "./embedded-XhhE9jRo.js";
4
- import { C as jA } from "./clipboard-paste-CwkeLxnB.js";
3
+ import { c as yA, S as wQ, X as DA, a9 as sQ, C as tQ, aa as eQ, ab as aQ, H as MQ, ac as hQ, R as NQ, y as cQ } from "./embedded-DqbzKVPi.js";
4
+ import { C as jA } from "./clipboard-paste-7Lt2VUd6.js";
5
5
  /**
6
6
  * @license lucide-react v0.577.0 - ISC
7
7
  *
@@ -1,4 +1,4 @@
1
- import { z as a, E as n, g as d, F as o } from "./embedded-XhhE9jRo.js";
1
+ import { z as a, E as n, g as d, F as o } from "./embedded-DqbzKVPi.js";
2
2
  function s(e) {
3
3
  return a(e.defaultTagName ?? "div", e, e);
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx as ao } from "react/jsx-runtime";
2
2
  import { useRef as Dt, useCallback as Lt, useSyncExternalStore as ut, useEffect as so } from "react";
3
3
  import { g as io } from "./_commonjsHelpers-C6fGbg64.js";
4
- import { ah as uo } from "./embedded-XhhE9jRo.js";
4
+ import { ah as uo } from "./embedded-DqbzKVPi.js";
5
5
  var Ar = "vercel.ai.error", co = Symbol.for(Ar), Ut, Ft, se = class Nr extends (Ft = Error, Ut = co, Ft) {
6
6
  /**
7
7
  * Creates an AI SDK Error.
@@ -1,4 +1,4 @@
1
- import { c as e } from "./embedded-XhhE9jRo.js";
1
+ import { c as e } from "./embedded-DqbzKVPi.js";
2
2
  /**
3
3
  * @license lucide-react v0.577.0 - ISC
4
4
  *
@@ -1,6 +1,6 @@
1
1
  import { jsxs as i, jsx as s } from "react/jsx-runtime";
2
- import { R as L, g as B, S as h, C as x, X as p, B as l, L as b, P as N, h as T, i as v, j as $, k as y, T as O, l as d, m as g } from "./embedded-XhhE9jRo.js";
3
- import { B as n } from "./badge-SW0JjvGR.js";
2
+ import { R as L, g as B, S as h, C as x, X as p, B as l, L as b, P as N, h as T, i as v, j as $, k as y, T as O, l as d, m as g } from "./embedded-DqbzKVPi.js";
3
+ import { B as n } from "./badge-CT-G9Sni.js";
4
4
  import { useState as G } from "react";
5
5
  function q({
6
6
  setupChecks: c,
@@ -20323,7 +20323,7 @@ function ML({
20323
20323
  }
20324
20324
  const IL = So(
20325
20325
  "session-files-panel",
20326
- () => import("./SessionFilesPanel-BQhTe3bf.js")
20326
+ () => import("./SessionFilesPanel-DiaJVC9f.js")
20327
20327
  ), _L = Tl(
20328
20328
  () => import("./index-DhYD46ms.js").then((e) => ({ default: e.PatchDiff }))
20329
20329
  );
@@ -26206,7 +26206,7 @@ async function XB() {
26206
26206
  }
26207
26207
  }
26208
26208
  const q$ = Tl(
26209
- () => import("./streamdown-response-C02erRqP.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
26209
+ () => import("./streamdown-response-DOEmUKCN.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
26210
26210
  );
26211
26211
  function Ri({ className: e, from: t, ...n }) {
26212
26212
  return /* @__PURE__ */ c(
@@ -28633,26 +28633,26 @@ function lz({ className: e, isStreaming: t, children: n, ...r }) {
28633
28633
  function uz({ className: e, children: t, ...n }) {
28634
28634
  return /* @__PURE__ */ c(iz, { className: te("mt-2 text-sm", e), ...n, children: /* @__PURE__ */ c(gu, { className: "ai-live-text max-w-full opacity-90", children: t }) });
28635
28635
  }
28636
- const dz = Tl(() => import("./chat-engine-DAiB8WCG.js"));
28636
+ const dz = Tl(() => import("./chat-engine-CusgSA-z.js"));
28637
28637
  function fz() {
28638
- const e = () => void import("./chat-engine-DAiB8WCG.js"), t = globalThis.requestIdleCallback;
28638
+ const e = () => void import("./chat-engine-CusgSA-z.js"), t = globalThis.requestIdleCallback;
28639
28639
  typeof t == "function" ? t(e, { timeout: 3e3 }) : setTimeout(e, 1500);
28640
28640
  }
28641
28641
  const Kk = So(
28642
28642
  "TermView",
28643
- () => import("./TermView-BTUwyV4g.js").then((e) => ({ default: e.TermView }))
28644
- ), mz = So("BrowserProfiles", () => import("./BrowserProfiles-CxyA28MT.js")), Wy = So("ShippedPage", () => import("./shipped-page-3x93oT38.js")), pz = So(
28643
+ () => import("./TermView-DmWxegya.js").then((e) => ({ default: e.TermView }))
28644
+ ), mz = So("BrowserProfiles", () => import("./BrowserProfiles-DWiOOnmZ.js")), Wy = So("ShippedPage", () => import("./shipped-page-DgRSNfaJ.js")), pz = So(
28645
28645
  "SessionTokenUsageDialog",
28646
- () => import("./session-token-usage-BAJoaUM1.js")
28646
+ () => import("./session-token-usage-BTfEbMDF.js")
28647
28647
  ), hz = So(
28648
28648
  "CodingAgentsPage",
28649
- () => import("./coding-agents-page-DMQS-oRB.js")
28649
+ () => import("./coding-agents-page-l0LEAhrA.js")
28650
28650
  ), Gy = So(
28651
28651
  "ResumeSessionSheet",
28652
- () => import("./resume-session-sheet-A5i1S1Ha.js")
28652
+ () => import("./resume-session-sheet-AFE1qhRv.js")
28653
28653
  ), gz = So(
28654
28654
  "ChangelogPage",
28655
- () => import("./ChangelogPage-C5Vjl3CL.js")
28655
+ () => import("./ChangelogPage-Br9RF_0x.js")
28656
28656
  ), yu = br("configured"), bz = {
28657
28657
  claude: "Claude",
28658
28658
  codex: "Codex",
@@ -1,4 +1,4 @@
1
- import { R as c, L as f, A as d } from "./streamdown-response-C02erRqP.js";
1
+ import { R as c, L as f, A as d } from "./streamdown-response-DOEmUKCN.js";
2
2
  import { useContext as p, useState as L, useEffect as N } from "react";
3
3
  import { jsx as x } from "react/jsx-runtime";
4
4
  var A = ({ code: s, language: e, raw: a, className: o, startLine: m, lineNumbers: u, ...g }) => {
@@ -1,4 +1,4 @@
1
- import { w as T, s as U, h as X, c as Y, v as G, S as J, o as k, l as Q, f as M, m as y } from "./streamdown-response-C02erRqP.js";
1
+ import { w as T, s as U, h as X, c as Y, v as G, S as J, o as k, l as Q, f as M, m as y } from "./streamdown-response-DOEmUKCN.js";
2
2
  import v from "./katex-jHfnQmlp.js";
3
3
  function Z(t, e) {
4
4
  return B(t, {}) || { type: "root", children: [] };
package/dist-lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { aj as p, ak as m, al as o } from "./embedded-XhhE9jRo.js";
3
+ import { aj as p, ak as m, al as o } from "./embedded-DqbzKVPi.js";
4
4
  export {
5
5
  p as OmgAppSurface,
6
6
  m as OmgSettingsSurface,
@@ -0,0 +1,4 @@
1
+ import { p } from "./streamdown-response-DOEmUKCN.js";
2
+ export {
3
+ p as Mermaid
4
+ };
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as s, Fragment as N } from "react/jsx-runtime";
2
- import { r as H, n as Q, a as le, o as re, p as oe, q as ie, X, A, g as u, R as B, s as ce, u as de, v as J, T as ue, w as me, x as he, y as pe, L as fe } from "./embedded-XhhE9jRo.js";
2
+ import { r as H, n as Q, a as le, o as re, p as oe, q as ie, X, A, g as u, R as B, s as ce, u as de, v as J, T as ue, w as me, x as he, y as pe, L as fe } from "./embedded-DqbzKVPi.js";
3
3
  import { useState as a, useRef as L, useEffect as v, useCallback as ge } from "react";
4
4
  function we({
5
5
  initial: m,
@@ -1,5 +1,5 @@
1
1
  import { jsx as s, jsxs as n, Fragment as $ } from "react/jsx-runtime";
2
- import { a as C, D as T, b as M, d as D, e as S, G as F, f as L, t as R, L as j, g as z } from "./embedded-XhhE9jRo.js";
2
+ import { a as C, D as T, b as M, d as D, e as S, G as F, f as L, t as R, L as j, g as z } from "./embedded-DqbzKVPi.js";
3
3
  import { useState as g, useCallback as P, useEffect as U } from "react";
4
4
  function u({
5
5
  title: r,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as l, jsx as r, Fragment as me } from "react/jsx-runtime";
2
2
  import { useState as f, useEffect as w, useRef as fe, useContext as $e, useMemo as Te } from "react";
3
- import { c as ve, Q as he, U as ze, V as S, W as ge, Y as Se, Z as Pe, _ as je, B as Fe, L as pe, v as J, y as Ye, R as Ge, g as P, T as Be, $ as Ke, h as be, i as Ue, a0 as He, a as L, a1 as k, a2 as R, m as _, a3 as W, a4 as Ve, a5 as qe, a6 as Qe, a7 as Xe, P as Je, a8 as We } from "./embedded-XhhE9jRo.js";
3
+ import { c as ve, Q as he, U as ze, V as S, W as ge, Y as Se, Z as Pe, _ as je, B as Fe, L as pe, v as J, y as Ye, R as Ge, g as P, T as Be, $ as Ke, h as be, i as Ue, a0 as He, a as L, a1 as k, a2 as R, m as _, a3 as W, a4 as Ve, a5 as qe, a6 as Qe, a7 as Xe, P as Je, a8 as We } from "./embedded-DqbzKVPi.js";
4
4
  /**
5
5
  * @license lucide-react v0.577.0 - ISC
6
6
  *
@@ -3,7 +3,7 @@ var Od = (e, t, n) => t in e ? Rd(e, t, { enumerable: !0, configurable: !0, writ
3
3
  var le = (e, t, n) => Od(e, typeof t != "symbol" ? t + "" : t, n);
4
4
  import { jsx as y, jsxs as J, Fragment as _t } from "react/jsx-runtime";
5
5
  import { memo as he, useId as Dd, useTransition as Pd, useMemo as Ee, useRef as Re, useEffect as De, useState as ge, createElement as Xa, isValidElement as Vt, cloneElement as Md, useContext as Pe, createContext as Jt, useCallback as ze, Suspense as wi, lazy as Zu } from "react";
6
- import { ai as Ju, g as eo, a9 as vd, C as Bd, aa as Fd } from "./embedded-XhhE9jRo.js";
6
+ import { ai as Ju, g as eo, a9 as vd, C as Bd, aa as Fd } from "./embedded-DqbzKVPi.js";
7
7
  import { createPortal as to } from "react-dom";
8
8
  import { f as Ur, p as Ka, e as Za, g as Ja, h as Jn, s as Mt, z as no, i as ro, j as io, k as Hd, l as es, w as Ud, b as zd, c as $d, m as jd, d as qd } from "./engine-compile-BeZvvx0I.js";
9
9
  import { g as ao } from "./_commonjsHelpers-C6fGbg64.js";
@@ -18959,7 +18959,7 @@ var yc = Jt(!1), kk = () => Pe(yc), Ua = (...e) => nc(Ju(e)), xk = (e, t) => {
18959
18959
  for (; t > 0 && e[t - 1] === `
18960
18960
  `; ) t--;
18961
18961
  return e.slice(0, t);
18962
- }, wk = Zu(() => import("./highlighted-body-OFNGDK62-2u9puCxI.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), Lk = ({ code: e, language: t, className: n, children: r, isIncomplete: i = !1, startLine: a, lineNumbers: s, ...u }) => {
18962
+ }, wk = Zu(() => import("./highlighted-body-OFNGDK62-CE2XxxZN.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), Lk = ({ code: e, language: t, className: n, children: r, isIncomplete: i = !1, startLine: a, lineNumbers: s, ...u }) => {
18963
18963
  let o = ee(), l = Ee(() => Sk(e), [e]), d = Ee(() => ({ bg: "transparent", fg: "inherit", tokens: l.split(`
18964
18964
  `).map((f) => [{ content: f, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [l]);
18965
18965
  return y(Cc.Provider, { value: { code: e }, children: J(Ik, { isIncomplete: i, language: t, children: [y(Nk, { language: t }), r ? y("div", { className: o("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"), children: y("div", { className: o("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"), "data-streamdown": "code-block-actions", children: r }) }) : null, y(wi, { fallback: y(Ck, { className: n, language: t, lineNumbers: s, result: d, startLine: a, ...u }), children: y(wk, { className: n, code: l, language: t, lineNumbers: s, raw: d, startLine: a, ...u }) })] }) });
@@ -19301,7 +19301,7 @@ var yc = Jt(!1), kk = () => Pe(yc), Ua = (...e) => nc(Ju(e)), xk = (e, t) => {
19301
19301
  }, Zk = ({ children: e, className: t, showControls: n, showCopy: r = !0, showDownload: i = !0, showFullscreen: a = !0, ...s }) => {
19302
19302
  let u = ee(), o = n && r, l = n && i, d = n && a, f = o || l || d;
19303
19303
  return J("div", { className: u("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"), "data-streamdown": "table-wrapper", children: [f ? J("div", { className: u("flex items-center justify-end gap-1"), children: [o ? y(Rc, {}) : null, l ? y(Oc, {}) : null, d ? y(Kk, { showCopy: o, showDownload: l, children: e }) : null] }) : null, y("div", { className: u("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"), children: y("table", { className: u("w-full divide-y divide-border", t), "data-streamdown": "table", ...s, children: e }) })] });
19304
- }, Jk = /startLine=(\d+)/, ex = /\bnoLineNumbers\b/, tx = Zu(() => import("./mermaid-GHXKKRXX-DEXmF8eP.js").then((e) => ({ default: e.Mermaid }))), nx = /language-([^\s]+)/;
19304
+ }, Jk = /startLine=(\d+)/, ex = /\bnoLineNumbers\b/, tx = Zu(() => import("./mermaid-GHXKKRXX-CA6x18-K.js").then((e) => ({ default: e.Mermaid }))), nx = /language-([^\s]+)/;
19305
19305
  function Jr(e, t) {
19306
19306
  if (!(e != null && e.position || t != null && t.position)) return !0;
19307
19307
  if (!(e != null && e.position && t != null && t.position)) return !1;
@@ -20814,7 +20814,7 @@ function S6(e) {
20814
20814
  }
20815
20815
  function w6() {
20816
20816
  return Tr || (Tr = Promise.all([
20817
- import("./index-B1bbp4P_.js"),
20817
+ import("./index-BhRhUmly.js"),
20818
20818
  import("./index-JkCQXUYs.js").then((e) => e.bp)
20819
20819
  ]).then(([e, t]) => {
20820
20820
  Hn = { math: e.math, mermaid: t.mermaid };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omg-dev/app",
3
- "version": "0.1.314",
3
+ "version": "0.1.315",
4
4
  "description": "The full OMG application surface for React hosts.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://omg.dev",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "type": "module",
26
26
  "dependencies": {
27
- "@omg-dev/client": "0.1.314",
27
+ "@omg-dev/client": "0.1.315",
28
28
  "@ai-sdk/react": "^4.0.19",
29
29
  "@base-ui/react": "^1.3.0",
30
30
  "@number-flow/react": "^0.6.2",
@@ -1,4 +0,0 @@
1
- import { p } from "./streamdown-response-C02erRqP.js";
2
- export {
3
- p as Mermaid
4
- };