@omg-dev/app 0.1.319 → 0.1.321

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-BdzArUHF.js";
2
+ import { M as n } from "./embedded-Bk0VM5g-.js";
3
3
  const t = `# Changelog
4
4
 
5
5
  Recent product updates and deployment notes.
6
6
 
7
+ ## August 9, 2026 - The browser tool goes, and macOS installs work in a plain shell (v0.1.321)
8
+
9
+ - **The cloud-browser login profiles are gone.** They did not work reliably
10
+ enough to keep, and they were the most expensive thing left: playwright's
11
+ 20MB driver plus a ~150MB Chromium that setup never installed, so a default
12
+ install paid for the feature and still could not run it. Anything like this
13
+ belongs in a plugin system, added on top at runtime, rather than carried by
14
+ every install on the chance someone wants it.
15
+ - **\`omg\` and \`lfg\` work in a plain terminal on macOS.** They were symlinks to a
16
+ \`#!/usr/bin/env bun\` script, and setup deliberately does not edit your shell
17
+ profile there — so both failed with "env: bun: No such file or directory" on
18
+ machines where bun was installed and working. Setup now writes a launcher that
19
+ finds bun the way the npm CLI does.
20
+ - **\`omg setup\` no longer dies claiming bun is missing** when it is installed.
21
+ The check ran one line before the code that adds \`~/.bun/bin\` to \`PATH\`.
22
+ - \`node_modules\` is 66MB to 46MB; nothing in it is larger than 7MB.
23
+
24
+ ## August 9, 2026 - Starting an opencode session from a finding works again (v0.1.320)
25
+
26
+ - **"thinkingLevel is not supported for opencode sessions" is fixed.** Replying
27
+ to an auto finding with opencode selected failed outright: the sheet correctly
28
+ sends no thinking level for a backend that has no reasoning knob, but the
29
+ launch then filled it back in from the auto agent the finding came from. The
30
+ level is now judged against the backend that actually runs, not the one the
31
+ finding originated on.
32
+ - **Switching an auto agent to opencode no longer corrupts it.** Saving an edit
33
+ kept the thinking level the agent held as claude, writing a record that passed
34
+ validation on the way in and failed later at launch. A backend switch now drops
35
+ a level the new backend cannot take — including a claude \`max\` carried onto
36
+ grok, whose CLI exits on it rather than ignoring it.
37
+
7
38
  ## August 9, 2026 - Two features stop shipping to people who do not use them (v0.1.319)
8
39
 
9
40
  - **The WhatsApp bridge is gone.** It was 17MB of every install — baileys plus
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as i, Fragment as te } from "react/jsx-runtime";
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";
2
+ import { memo as ne, useState as m, useRef as T, useCallback as v, useEffect as C, useMemo as _, 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-BdzArUHF.js";
4
+ import { F as oe, H, I as se, X as U, J as ie, K as ae, f as y, L as J, N as le, q as de, C as ce, O as L } from "./embedded-Bk0VM5g-.js";
5
5
  import { c as me } from "./create-BrnHvSDE.js";
6
6
  /**
7
7
  * @license lucide-react v0.577.0 - ISC
@@ -31,7 +31,7 @@ function xe(n, s, o) {
31
31
  `);
32
32
  }
33
33
  const ge = L("session-file-tree", () => import("./FileTreePane-BG2k7gTc.js")), be = L("session-file-viewer", () => import("./FileViewer-DgjR_OJp.js")), ve = L("session-file-editor", () => import("./FileEditor-ByMnm-sa.js"));
34
- async function _(n) {
34
+ async function q(n) {
35
35
  const s = await H(n), o = await s.json().catch(() => ({}));
36
36
  if (!s.ok) throw new Error((o == null ? void 0 : o.error) || `${s.status}`);
37
37
  return o;
@@ -49,7 +49,7 @@ const N = ({ label: n }) => /* @__PURE__ */ i("div", { className: "flex items-ce
49
49
  n
50
50
  ] });
51
51
  function ke({ tree: n, onNavigate: s }) {
52
- const o = T(null), c = q(() => {
52
+ const o = T(null), c = _(() => {
53
53
  const t = n.root.split("/").filter(Boolean);
54
54
  return t.map((h, k) => {
55
55
  const x = "/" + t.slice(0, k + 1).join("/");
@@ -80,14 +80,14 @@ function ke({ tree: n, onNavigate: s }) {
80
80
  );
81
81
  }
82
82
  function we({ sid: n, onClose: s }) {
83
- const [o, c] = m(null), [t, h] = m(null), [k, x] = m(null), [g, j] = m(null), [a, S] = m(null), [R, $] = m(null), [W, P] = m(!1), [u, w] = m(!1), [z, O] = m(""), [p, f] = m({ kind: "idle" }), [K, E] = m("tree"), A = ye(), b = T(null), V = v((r) => {
83
+ const [o, c] = m(null), [t, h] = m(null), [k, x] = m(null), [g, j] = m(null), [a, S] = m(null), [R, $] = m(null), [W, P] = m(!1), [u, w] = m(!1), [z, O] = m(""), [p, f] = m({ kind: "idle" }), [K, F] = m("tree"), A = ye(), b = T(null), V = v((r) => {
84
84
  b.current = r;
85
- }, []), F = T(null);
85
+ }, []), E = T(null);
86
86
  C(() => {
87
87
  let r = !0;
88
88
  h(null), x(null);
89
89
  const d = o ? `?root=${encodeURIComponent(o)}` : "";
90
- return _(`/api/sessions/${n}/tree${d}`).then((l) => r && h(l.tree)).catch((l) => r && x(l instanceof Error ? l.message : String(l))), () => {
90
+ return q(`/api/sessions/${n}/tree${d}`).then((l) => r && h(l.tree)).catch((l) => r && x(l instanceof Error ? l.message : String(l))), () => {
91
91
  r = !1;
92
92
  };
93
93
  }, [n, o]), C(() => {
@@ -100,7 +100,7 @@ function we({ sid: n, onClose: s }) {
100
100
  }, [s]);
101
101
  const X = v(
102
102
  (r) => {
103
- t && (E("file"), r !== F.current && (F.current = r, j(r), w(!1), f({ kind: "idle" }), O(""), b.current = null, S(null), $(null), P(!0), _(
103
+ t && (F("file"), r !== E.current && (E.current = r, j(r), w(!1), f({ kind: "idle" }), O(""), b.current = null, S(null), $(null), P(!0), q(
104
104
  `/api/sessions/${n}/file?path=${encodeURIComponent(`${t.root}/${r}`)}`
105
105
  ).then((d) => {
106
106
  S(d.file), b.current = d.file.contents;
@@ -108,8 +108,8 @@ function we({ sid: n, onClose: s }) {
108
108
  },
109
109
  [n, t]
110
110
  ), M = v((r) => {
111
- c(r), F.current = null, j(null), S(null), w(!1), E("tree");
112
- }, []), D = v(() => E("tree"), []), Y = q(
111
+ c(r), E.current = null, j(null), S(null), w(!1), F("tree");
112
+ }, []), D = v(() => F("tree"), []), Y = _(
113
113
  () => a ? { ...a, contents: b.current ?? a.contents } : null,
114
114
  // eslint-disable-next-line react-hooks/exhaustive-deps -- `editing` is the
115
115
  // intended trigger; draftRef is a ref and deliberately not reactive.