@omg-dev/app 0.1.403 → 0.1.405

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,9 +1,40 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { M as n } from "./embedded-Bnt2XEki.js";
2
+ import { M as n } from "./embedded-3865Vno8.js";
3
3
  const t = `# Changelog
4
4
 
5
5
  Recent product updates and deployment notes.
6
6
 
7
+ ## August 19, 2026 - Stale session branches can be cleaned up (v0.1.405)
8
+
9
+ - **New \`omg projects status\` and \`omg projects clean\`.** The worktree sweeper
10
+ removes a session's directory but leaves its Git branch behind, and those
11
+ accumulate: across the projects on this box there are over 600 stale session
12
+ branches and 627 ownership markers. \`status\` reports what is removable and
13
+ changes nothing. \`clean\` removes only session branches already contained in
14
+ that project's local \`main\`, worktree records whose directories are gone, and
15
+ ownership markers whose directories are gone. It keeps unmerged and
16
+ checked-out branches, and never touches working files.
17
+ - This work was written and tested two days ago, was reported as finished, and
18
+ then sat unmerged on an abandoned branch. It has now been recovered onto
19
+ main — which is the class of problem the shipping gate above exists to
20
+ prevent.
21
+
22
+ ## August 19, 2026 - A session cannot ship work it never committed (v0.1.404)
23
+
24
+ - **Shipping now refuses when the code is not in.** A session with uncommitted
25
+ files, or with commits that never reached main, cannot post to Shipped at
26
+ all. It gets told which branch, how many files or commits, and what to do
27
+ about it. Previously only omg.dev's own repo was checked, so sessions in
28
+ every other project could post a finished result while the work sat in a
29
+ dirty worktree — and there was no way to tell those posts apart from real
30
+ ones.
31
+ - **Sessions with no code still ship freely.** Operations, research, deploys
32
+ and plain conversations have nothing to land, and the gate never fires on
33
+ them. It only blocks work that exists and did not land.
34
+ - Every post also records the branch and commit it was made from, so a result
35
+ can be traced back to the code long after the session is gone. Refusals are
36
+ logged too.
37
+
7
38
  ## August 19, 2026 - A bot chat shows the conversation, not the machinery (v0.1.403)
8
39
 
9
40
  - **Tool calls, their results and reasoning blocks no longer appear in a bot
@@ -2,7 +2,7 @@ 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
4
  import { cn as y } from "cnfast";
5
- import { y as oe, z as H, F as se, X as U, E as ie, H as ae, L as J, I as le, l as de, x as ce, J as L } from "./embedded-Bnt2XEki.js";
5
+ import { y as oe, z as H, F as se, X as U, E as ie, H as ae, L as J, I as le, l as de, x as ce, J as L } from "./embedded-3865Vno8.js";
6
6
  import { c as me } from "./create-BrnHvSDE.js";
7
7
  /**
8
8
  * @license lucide-react v0.577.0 - ISC
@@ -1,6 +1,6 @@
1
1
  import { jsxs as r, jsx as k, Fragment as ZA } from "react/jsx-runtime";
2
2
  import { useState as L, useRef as S, useEffect as x, useCallback as Y } from "react";
3
- import { y as cA, S as wQ, X as DA, a7 as sQ, l as tQ, a8 as eQ, a9 as aQ, z as MQ, aa as hQ, R as NQ, x as cQ } from "./embedded-Bnt2XEki.js";
3
+ import { y as cA, S as wQ, X as DA, a7 as sQ, l as tQ, a8 as eQ, a9 as aQ, z as MQ, aa as hQ, R as NQ, x as cQ } from "./embedded-3865Vno8.js";
4
4
  /**
5
5
  * @license lucide-react v0.577.0 - ISC
6
6
  *
@@ -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 { ab as uo } from "./embedded-Bnt2XEki.js";
4
+ import { ab as uo } from "./embedded-3865Vno8.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,5 +1,5 @@
1
1
  import { jsxs as t, jsx as e, Fragment as K } from "react/jsx-runtime";
2
- import { R as F, B as d, L as z, P as w, S as R, f as $, g, T, h as m, i as M, j as _, k as S, C as q, l as H, X as U, K as W } from "./embedded-Bnt2XEki.js";
2
+ import { R as F, B as d, L as z, P as w, S as R, f as $, g, T, h as m, i as M, j as _, k as S, C as q, l as H, X as U, K as W } from "./embedded-3865Vno8.js";
3
3
  import { cn as E } from "cnfast";
4
4
  import { useState as A } from "react";
5
5
  function j(a) {
@@ -7732,7 +7732,7 @@ const $w = Es(function({
7732
7732
  ] }) : null;
7733
7733
  }), zw = Wr(
7734
7734
  "session-files-panel",
7735
- () => import("./SessionFilesPanel-DJuQHZ3i.js")
7735
+ () => import("./SessionFilesPanel-CcebRSVn.js")
7736
7736
  );
7737
7737
  function Pl({ className: e, ...t }) {
7738
7738
  return /* @__PURE__ */ n(
@@ -8456,7 +8456,7 @@ async function HS() {
8456
8456
  }
8457
8457
  }
8458
8458
  const s1 = Ii(
8459
- () => import("./streamdown-response-CCbqIX5F.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8459
+ () => import("./streamdown-response-CXV0c5wY.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
8460
8460
  );
8461
8461
  function qs({ className: e, from: t, ...r }) {
8462
8462
  return /* @__PURE__ */ n(
@@ -10862,26 +10862,26 @@ function vk({ className: e, isStreaming: t, children: r, ...s }) {
10862
10862
  function wk({ className: e, children: t, ...r }) {
10863
10863
  return /* @__PURE__ */ n(zf, { className: $("mt-2 text-sm", e), ...r, children: /* @__PURE__ */ n(Ro, { className: "ai-live-text max-w-full opacity-90", children: t }) });
10864
10864
  }
10865
- const kk = Ii(() => import("./chat-engine-DYLBtl42.js"));
10865
+ const kk = Ii(() => import("./chat-engine-BBG_8quI.js"));
10866
10866
  function Nk() {
10867
- const e = () => void import("./chat-engine-DYLBtl42.js"), t = globalThis.requestIdleCallback;
10867
+ const e = () => void import("./chat-engine-BBG_8quI.js"), t = globalThis.requestIdleCallback;
10868
10868
  typeof t == "function" ? t(e, { timeout: 3e3 }) : setTimeout(e, 1500);
10869
10869
  }
10870
10870
  const am = Wr(
10871
10871
  "TermView",
10872
- () => import("./TermView-Cwg5y53W.js").then((e) => ({ default: e.TermView }))
10873
- ), Ld = Wr("ShippedPage", () => import("./shipped-page-CzC9N4HJ.js")), Sk = Wr(
10872
+ () => import("./TermView-Cs81mpat.js").then((e) => ({ default: e.TermView }))
10873
+ ), Ld = Wr("ShippedPage", () => import("./shipped-page-BpL_qVDG.js")), Sk = Wr(
10874
10874
  "SessionTokenUsageDialog",
10875
- () => import("./session-token-usage-D93pIl87.js")
10875
+ () => import("./session-token-usage-Cn8f1blV.js")
10876
10876
  ), Ck = Wr(
10877
10877
  "CodingAgentsPage",
10878
- () => import("./coding-agents-page-tqTat-2H.js")
10878
+ () => import("./coding-agents-page-BnNHk2s_.js")
10879
10879
  ), Dd = Wr(
10880
10880
  "ResumeSessionSheet",
10881
- () => import("./resume-session-sheet-BIvDqsiR.js")
10881
+ () => import("./resume-session-sheet-Bo9S_Igi.js")
10882
10882
  ), Mk = Wr(
10883
10883
  "ChangelogPage",
10884
- () => import("./ChangelogPage-CPzB5fdP.js")
10884
+ () => import("./ChangelogPage-BWtqDXG8.js")
10885
10885
  ), Bi = Wt("configured"), Tk = {
10886
10886
  claude: "Claude",
10887
10887
  codex: "Codex",
@@ -1,4 +1,4 @@
1
- import { R as c, L as f, A as d } from "./streamdown-response-CCbqIX5F.js";
1
+ import { R as c, L as f, A as d } from "./streamdown-response-CXV0c5wY.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-CCbqIX5F.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-CXV0c5wY.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,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "@tanstack/react-router";
4
- import { ac as m, ad as o, ae as s } from "./embedded-Bnt2XEki.js";
4
+ import { ac as m, ad as o, ae as s } from "./embedded-3865Vno8.js";
5
5
  export {
6
6
  m as OmgAppSurface,
7
7
  o as OmgSettingsSurface,
@@ -0,0 +1,4 @@
1
+ import { p } from "./streamdown-response-CXV0c5wY.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, m as Q, a as re, n as le, o as oe, p as ie, X, A, R as B, q as ce, s as de, u as J, T as ue, v as me, w as he, x as pe, L as fe } from "./embedded-Bnt2XEki.js";
2
+ import { r as H, m as Q, a as re, n as le, o as oe, p as ie, X, A, R as B, q as ce, s as de, u as J, T as ue, v as me, w as he, x as pe, L as fe } from "./embedded-3865Vno8.js";
3
3
  import { cn as u } from "cnfast";
4
4
  import { useState as a, useRef as L, useEffect as v, useCallback as ge } from "react";
5
5
  function ye({
@@ -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, c as D, d as S, G as F, e as L, t as R, L as j } from "./embedded-Bnt2XEki.js";
2
+ import { a as C, D as T, b as M, c as D, d as S, G as F, e as L, t as R, L as j } from "./embedded-3865Vno8.js";
3
3
  import "@base-ui/react/collapsible";
4
4
  import { cn as z } from "cnfast";
5
5
  import { useState as p, useCallback as P, useEffect as U } from "react";