@omg-dev/app 0.1.324 → 0.1.325
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.
- package/dist-lib/{ChangelogPage-XtxXdePa.js → ChangelogPage-BbMkeM-k.js} +19 -1
- package/dist-lib/{SessionFilesPanel-DfXo1zYa.js → SessionFilesPanel-CO7GeudW.js} +1 -1
- package/dist-lib/{TermView-BUc27e86.js → TermView-CW03or0l.js} +1 -1
- package/dist-lib/{chat-engine-CJQcfbCs.js → chat-engine-Cw53pOrb.js} +1 -1
- package/dist-lib/{coding-agents-page-Dl6DetdA.js → coding-agents-page-Bq951kv9.js} +1 -1
- package/dist-lib/{embedded-BZxhC9Lo.js → embedded-B_CV8zzR.js} +10 -10
- package/dist-lib/{highlighted-body-OFNGDK62-e8XppaNF.js → highlighted-body-OFNGDK62-BFHCVYnY.js} +1 -1
- package/dist-lib/{index-Drj31VZQ.js → index-DNB8RA4N.js} +1 -1
- package/dist-lib/index.d.ts +14 -0
- package/dist-lib/index.js +1 -1
- package/dist-lib/mermaid-GHXKKRXX-DbAgzNwG.js +4 -0
- package/dist-lib/{resume-session-sheet-Cp9YmId1.js → resume-session-sheet-Cezw8wk-.js} +1 -1
- package/dist-lib/{session-token-usage-DVFC7Rvy.js → session-token-usage-DnxWQClQ.js} +1 -1
- package/dist-lib/{shipped-page-DQmoDPgQ.js → shipped-page-BlyiY5sW.js} +1 -1
- package/dist-lib/{streamdown-response-D8l09MFq.js → streamdown-response-C7vdsjzr.js} +4 -4
- package/package.json +2 -2
- package/dist-lib/mermaid-GHXKKRXX-DZ_SVE42.js +0 -4
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { M as n } from "./embedded-
|
|
2
|
+
import { M as n } from "./embedded-B_CV8zzR.js";
|
|
3
3
|
const t = `# Changelog
|
|
4
4
|
|
|
5
5
|
Recent product updates and deployment notes.
|
|
6
6
|
|
|
7
|
+
## August 9, 2026 - Dictation works on a hosted UI, whatever machine is behind it (v0.1.325)
|
|
8
|
+
|
|
9
|
+
- **Dictation on a hosted UI now uses the host's transcription, not your
|
|
10
|
+
machine's.** The microphone used to stream to whichever machine you had
|
|
11
|
+
connected, and that machine picked a speech provider from its own
|
|
12
|
+
environment. Drive a self-hosted machine from a hosted OMG UI and it
|
|
13
|
+
transcribed on your own ElevenLabs key — or, if you had no key, the mic
|
|
14
|
+
button checked the machine, found nothing, and asked you to configure one.
|
|
15
|
+
A hosted surface can now hand the app its own transcription endpoint, and
|
|
16
|
+
the audio goes there instead. Your machine is no longer in the audio path,
|
|
17
|
+
which also removes a hop from the round trip.
|
|
18
|
+
- **The setup check is skipped when the host supplies transcription.** That
|
|
19
|
+
check asks which key *the machine* holds, which is the wrong question once
|
|
20
|
+
the host provides the service; leaving it in place aborted the recording on
|
|
21
|
+
exactly the keyless machine this is meant to serve.
|
|
22
|
+
- **Standalone installs are unchanged.** With no host endpoint the app still
|
|
23
|
+
streams to its own machine and uses the provider configured there.
|
|
24
|
+
|
|
7
25
|
## August 9, 2026 - Notifications survive a hosted UI (v0.1.324)
|
|
8
26
|
|
|
9
27
|
- **Push notifications now carry their own text, encrypted end to end.** The
|
|
@@ -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 { z as oe, E as H, F as se, X as U, H as ie, I as ae, f as y, L as J, J as le, m as de, y as ce, N as L } from "./embedded-
|
|
4
|
+
import { z as oe, E as H, F as se, X as U, H as ie, I as ae, f as y, L as J, J as le, m as de, y as ce, N as L } from "./embedded-B_CV8zzR.js";
|
|
5
5
|
import { c as me } from "./create-BrnHvSDE.js";
|
|
6
6
|
/**
|
|
7
7
|
* @license lucide-react v0.577.0 - ISC
|
|
@@ -1,6 +1,6 @@
|
|
|
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 { z as cA, S as wQ, X as DA, a8 as sQ, m as tQ, a9 as eQ, aa as aQ, E as MQ, ab as hQ, R as NQ, y as cQ } from "./embedded-
|
|
3
|
+
import { z as cA, S as wQ, X as DA, a8 as sQ, m as tQ, a9 as eQ, aa as aQ, E as MQ, ab as hQ, R as NQ, y as cQ } from "./embedded-B_CV8zzR.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 { ac as uo } from "./embedded-
|
|
4
|
+
import { ac as uo } from "./embedded-B_CV8zzR.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 G } from "react/jsx-runtime";
|
|
2
|
-
import { R as K, f as L, B as d, L as C, P as z, S as w, g as R, h as p, T, i as m, j as F, k as M, l as $, C as _, m as q, X as H, K as U } from "./embedded-
|
|
2
|
+
import { R as K, f as L, B as d, L as C, P as z, S as w, g as R, h as p, T, i as m, j as F, k as M, l as $, C as _, m as q, X as H, K as U } from "./embedded-B_CV8zzR.js";
|
|
3
3
|
import { useState as S } from "react";
|
|
4
4
|
function j(l) {
|
|
5
5
|
const i = l.filter((r) => !r.ok);
|
|
@@ -20326,7 +20326,7 @@ function OL({
|
|
|
20326
20326
|
}
|
|
20327
20327
|
const AL = hs(
|
|
20328
20328
|
"session-files-panel",
|
|
20329
|
-
() => import("./SessionFilesPanel-
|
|
20329
|
+
() => import("./SessionFilesPanel-CO7GeudW.js")
|
|
20330
20330
|
), LL = Ml(
|
|
20331
20331
|
() => import("./index-DhYD46ms.js").then((e) => ({ default: e.PatchDiff }))
|
|
20332
20332
|
);
|
|
@@ -26233,7 +26233,7 @@ async function e6() {
|
|
|
26233
26233
|
}
|
|
26234
26234
|
}
|
|
26235
26235
|
const Z$ = Ml(
|
|
26236
|
-
() => import("./streamdown-response-
|
|
26236
|
+
() => import("./streamdown-response-C7vdsjzr.js").then((e) => e.a).then((e) => ({ default: e.StreamdownResponse }))
|
|
26237
26237
|
);
|
|
26238
26238
|
function Ri({ className: e, from: t, ...n }) {
|
|
26239
26239
|
return /* @__PURE__ */ c(
|
|
@@ -28660,26 +28660,26 @@ function pz({ className: e, isStreaming: t, children: n, ...r }) {
|
|
|
28660
28660
|
function hz({ className: e, children: t, ...n }) {
|
|
28661
28661
|
return /* @__PURE__ */ c(dz, { className: ee("mt-2 text-sm", e), ...n, children: /* @__PURE__ */ c(bu, { className: "ai-live-text max-w-full opacity-90", children: t }) });
|
|
28662
28662
|
}
|
|
28663
|
-
const gz = Ml(() => import("./chat-engine-
|
|
28663
|
+
const gz = Ml(() => import("./chat-engine-Cw53pOrb.js"));
|
|
28664
28664
|
function bz() {
|
|
28665
|
-
const e = () => void import("./chat-engine-
|
|
28665
|
+
const e = () => void import("./chat-engine-Cw53pOrb.js"), t = globalThis.requestIdleCallback;
|
|
28666
28666
|
typeof t == "function" ? t(e, { timeout: 3e3 }) : setTimeout(e, 1500);
|
|
28667
28667
|
}
|
|
28668
28668
|
const Xk = hs(
|
|
28669
28669
|
"TermView",
|
|
28670
|
-
() => import("./TermView-
|
|
28671
|
-
), Wy = hs("ShippedPage", () => import("./shipped-page-
|
|
28670
|
+
() => import("./TermView-CW03or0l.js").then((e) => ({ default: e.TermView }))
|
|
28671
|
+
), Wy = hs("ShippedPage", () => import("./shipped-page-BlyiY5sW.js")), yz = hs(
|
|
28672
28672
|
"SessionTokenUsageDialog",
|
|
28673
|
-
() => import("./session-token-usage-
|
|
28673
|
+
() => import("./session-token-usage-DnxWQClQ.js")
|
|
28674
28674
|
), vz = hs(
|
|
28675
28675
|
"CodingAgentsPage",
|
|
28676
|
-
() => import("./coding-agents-page-
|
|
28676
|
+
() => import("./coding-agents-page-Bq951kv9.js")
|
|
28677
28677
|
), Gy = hs(
|
|
28678
28678
|
"ResumeSessionSheet",
|
|
28679
|
-
() => import("./resume-session-sheet-
|
|
28679
|
+
() => import("./resume-session-sheet-Cezw8wk-.js")
|
|
28680
28680
|
), xz = hs(
|
|
28681
28681
|
"ChangelogPage",
|
|
28682
|
-
() => import("./ChangelogPage-
|
|
28682
|
+
() => import("./ChangelogPage-BbMkeM-k.js")
|
|
28683
28683
|
), vu = yr("configured"), wz = {
|
|
28684
28684
|
claude: "Claude",
|
|
28685
28685
|
codex: "Codex",
|
package/dist-lib/{highlighted-body-OFNGDK62-e8XppaNF.js → highlighted-body-OFNGDK62-BFHCVYnY.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as c, L as f, A as d } from "./streamdown-response-
|
|
1
|
+
import { R as c, L as f, A as d } from "./streamdown-response-C7vdsjzr.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-
|
|
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-C7vdsjzr.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.d.ts
CHANGED
|
@@ -83,9 +83,23 @@ export interface OmgAppSurfaceProps {
|
|
|
83
83
|
* session ownership, filtering, or authorization semantics.
|
|
84
84
|
*/
|
|
85
85
|
viewer?: EmbeddedViewer;
|
|
86
|
+
/**
|
|
87
|
+
* Route dictation audio to the host's own transcription broker instead of to
|
|
88
|
+
* the LFG server this UI was served from. A hosted surface should set this:
|
|
89
|
+
* transcription is funded and metered by the platform, so it must not depend
|
|
90
|
+
* on a provider key the connected machine may or may not hold.
|
|
91
|
+
*/
|
|
92
|
+
hostedTranscription?: HostedTranscription;
|
|
86
93
|
errorSink?: OmgErrorSink;
|
|
87
94
|
}
|
|
88
95
|
|
|
96
|
+
export interface HostedTranscription {
|
|
97
|
+
/** Absolute wss:// URL of the transcription broker. */
|
|
98
|
+
url: string;
|
|
99
|
+
/** Fresh viewer JWT, or null when the session can no longer be proven. */
|
|
100
|
+
getToken: () => Promise<string | null>;
|
|
101
|
+
}
|
|
102
|
+
|
|
89
103
|
export declare function OmgAppSurface(
|
|
90
104
|
props: OmgAppSurfaceProps,
|
|
91
105
|
): JSX.Element;
|
package/dist-lib/index.js
CHANGED
|
@@ -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, f 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-
|
|
2
|
+
import { r as H, n as Q, a as le, o as re, p as oe, q as ie, X, A, f 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-B_CV8zzR.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, c as D, d as S, G as F, e as L, t as R, L as j, f as z } from "./embedded-
|
|
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, f as z } from "./embedded-B_CV8zzR.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 ze } from "react";
|
|
3
|
-
import { z as ve, O as he, Q as Te, U as S, V as ge, W as Se, Y as Pe, Z as je, B as Fe, L as pe, v as J, y as Ye, R as Ge, f as P, T as Be, _ as Ke, k as be, g as Ue, $ as He, a as L, a0 as k, a1 as R, l as _, a2 as W, a3 as Ve, a4 as qe, a5 as Qe, a6 as Xe, P as Je, a7 as We } from "./embedded-
|
|
3
|
+
import { z as ve, O as he, Q as Te, U as S, V as ge, W as Se, Y as Pe, Z as je, B as Fe, L as pe, v as J, y as Ye, R as Ge, f as P, T as Be, _ as Ke, k as be, g as Ue, $ as He, a as L, a0 as k, a1 as R, l as _, a2 as W, a3 as Ve, a4 as qe, a5 as Qe, a6 as Xe, P as Je, a7 as We } from "./embedded-B_CV8zzR.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 { ad as Ju, f as eo, a8 as vd, m as Bd, a9 as Fd } from "./embedded-
|
|
6
|
+
import { ad as Ju, f as eo, a8 as vd, m as Bd, a9 as Fd } from "./embedded-B_CV8zzR.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-
|
|
18962
|
+
}, wk = Zu(() => import("./highlighted-body-OFNGDK62-BFHCVYnY.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-
|
|
19304
|
+
}, Jk = /startLine=(\d+)/, ex = /\bnoLineNumbers\b/, tx = Zu(() => import("./mermaid-GHXKKRXX-DbAgzNwG.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-
|
|
20817
|
+
import("./index-DNB8RA4N.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.
|
|
3
|
+
"version": "0.1.325",
|
|
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.
|
|
27
|
+
"@omg-dev/client": "0.1.325",
|
|
28
28
|
"@ai-sdk/react": "^4.0.19",
|
|
29
29
|
"@base-ui/react": "^1.3.0",
|
|
30
30
|
"@number-flow/react": "^0.6.2",
|