@omg-dev/app 0.1.371 → 0.1.373

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,29 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { M as n } from "./embedded-CRPUYTeJ.js";
2
+ import { M as n } from "./embedded-DopQDD1s.js";
3
3
  const t = `# Changelog
4
4
 
5
5
  Recent product updates and deployment notes.
6
6
 
7
+ ## August 14, 2026 - Combined Claude usage and the real Jcode mark (v0.1.373)
8
+
9
+ - **Claude Auto now shows one combined usage ring.** The new-session composer
10
+ folds every connected Claude profile into one capacity view, while a pinned
11
+ profile still shows only its own limits.
12
+ - **Usage no longer disappears while it loads.** Mobile and desktop composers
13
+ show animated activity rings until the selected profile data is ready.
14
+ - **Jcode now uses its real dot-matrix torus mark.** The agent picker no longer
15
+ shows an invented letterform, and cache-busting replaces the old icon in warm
16
+ browsers.
17
+
18
+ ## August 14, 2026 - Bottom sheets get out of the keyboard's way (v0.1.372)
19
+
20
+ - **Every bottom sheet now expands into a full-height page when you focus a
21
+ field.** The drawer-to-page morph was wired by hand on a few sheets, so the
22
+ rest were still being shoved off the top of the screen by the mobile
23
+ keyboard. It now lives in the shared drawer component: on by default for
24
+ every sheet, folding back down when you leave the field, and keeping the
25
+ sheet open while there is typed work in it.
26
+
7
27
  ## August 14, 2026 - Every Jcode view shows its real working state (v0.1.371)
8
28
 
9
29
  - **Expanded Jcode sessions no longer flip back to Idle while working.** The
@@ -3981,9 +4001,9 @@ Container deploys and hosted setup docs are now part of the project workflow.
3981
4001
  - Published bundled-release flow for cloud installs.
3982
4002
  - Documented operational scripts for voice and GPU STT deployments.
3983
4003
  `;
3984
- function o() {
4004
+ function a() {
3985
4005
  return /* @__PURE__ */ e("div", { className: "mx-auto max-w-xl space-y-5 pb-10", children: /* @__PURE__ */ e("article", { className: "markdown rounded-2xl border border-border bg-card/40 px-4 py-4", children: /* @__PURE__ */ e(n, { children: t }) }) });
3986
4006
  }
3987
4007
  export {
3988
- o as default
4008
+ a as default
3989
4009
  };
@@ -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 { E as oe, F as H, H as se, X as U, I as ie, J as ae, f as y, L as J, N as le, m as de, z as ce, O as L } from "./embedded-CRPUYTeJ.js";
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-DopQDD1s.js";
5
5
  import { c as me } from "./create-BrnHvSDE.js";
6
6
  /**
7
7
  * @license lucide-react v0.577.0 - ISC
@@ -80,7 +80,7 @@ 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, z] = m(null), [R, $] = m(null), [W, P] = m(!1), [u, w] = m(!1), [S, O] = m(""), [p, f] = m({ kind: "idle" }), [V, E] = m("tree"), A = ye(), b = T(null), X = v((r) => {
83
+ const [o, c] = m(null), [t, h] = m(null), [k, x] = m(null), [g, j] = m(null), [a, z] = m(null), [R, $] = m(null), [W, P] = m(!1), [u, w] = m(!1), [S, A] = m(""), [p, f] = m({ kind: "idle" }), [V, E] = m("tree"), M = ye(), b = T(null), X = v((r) => {
84
84
  b.current = r;
85
85
  }, []), F = T(null);
86
86
  C(() => {
@@ -100,14 +100,14 @@ function we({ sid: n, onClose: s }) {
100
100
  }, [s]);
101
101
  const D = 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, z(null), $(null), P(!0), _(
103
+ t && (E("file"), r !== F.current && (F.current = r, j(r), w(!1), f({ kind: "idle" }), A(""), b.current = null, z(null), $(null), P(!0), _(
104
104
  `/api/sessions/${n}/file?path=${encodeURIComponent(`${t.root}/${r}`)}`
105
105
  ).then((d) => {
106
106
  z(d.file), b.current = d.file.contents;
107
107
  }).catch((d) => $(d instanceof Error ? d.message : String(d))).finally(() => P(!1))));
108
108
  },
109
109
  [n, t]
110
- ), M = v((r) => {
110
+ ), O = v((r) => {
111
111
  c(r), F.current = null, j(null), z(null), w(!1), E("tree");
112
112
  }, []), K = v(() => E("tree"), []), Y = q(
113
113
  () => a ? { ...a, contents: b.current ?? a.contents } : null,
@@ -171,13 +171,13 @@ function we({ sid: n, onClose: s }) {
171
171
  /* @__PURE__ */ e(se, { className: "size-4 shrink-0 text-[var(--primary)]" }),
172
172
  /* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: [
173
173
  /* @__PURE__ */ e("div", { className: "text-sm font-semibold text-foreground", children: "Files" }),
174
- t ? /* @__PURE__ */ e(ke, { tree: t, onNavigate: M }) : null
174
+ t ? /* @__PURE__ */ e(ke, { tree: t, onNavigate: O }) : null
175
175
  ] }),
176
176
  t != null && t.parent ? /* @__PURE__ */ i(
177
177
  "button",
178
178
  {
179
179
  type: "button",
180
- onClick: () => M(t.parent),
180
+ onClick: () => O(t.parent),
181
181
  className: "flex min-h-9 shrink-0 items-center gap-1.5 rounded-lg border border-border px-2.5 text-[12px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground md:min-h-0 md:px-2 md:py-1 md:text-[11px]",
182
182
  children: [
183
183
  /* @__PURE__ */ e(pe, { className: "size-3.5 md:size-3" }),
@@ -272,7 +272,7 @@ function we({ sid: n, onClose: s }) {
272
272
  R ? /* @__PURE__ */ i("div", { className: "px-3 py-2 text-[12px] text-[var(--destructive)]", children: [
273
273
  "Could not open: ",
274
274
  R
275
- ] }) : W || !a ? /* @__PURE__ */ e(N, { label: "Opening…" }) : a.binary ? /* @__PURE__ */ e("div", { className: "px-3 py-3 text-[12px] text-muted-foreground", children: "Binary file — not shown." }) : /* @__PURE__ */ e(I, { fallback: /* @__PURE__ */ e(N, { label: u ? "Loading editor…" : "Rendering…" }), children: u ? /* @__PURE__ */ e(ve, { file: Y ?? a, themeType: A, onChange: X }) : /* @__PURE__ */ e(be, { file: a, themeType: A }) }),
275
+ ] }) : W || !a ? /* @__PURE__ */ e(N, { label: "Opening…" }) : a.binary ? /* @__PURE__ */ e("div", { className: "px-3 py-3 text-[12px] text-muted-foreground", children: "Binary file — not shown." }) : /* @__PURE__ */ e(I, { fallback: /* @__PURE__ */ e(N, { label: u ? "Loading editor…" : "Rendering…" }), children: u ? /* @__PURE__ */ e(ve, { file: Y ?? a, themeType: M, onChange: X }) : /* @__PURE__ */ e(be, { file: a, themeType: M }) }),
276
276
  a != null && a.truncated ? /* @__PURE__ */ e("div", { className: "px-3 py-1.5 text-[11px] text-[var(--warning)]", children: "File truncated — only the first megabyte is shown." }) : null
277
277
  ]
278
278
  }
@@ -289,7 +289,7 @@ function we({ sid: n, onClose: s }) {
289
289
  "textarea",
290
290
  {
291
291
  value: S,
292
- onChange: (r) => O(r.target.value),
292
+ onChange: (r) => A(r.target.value),
293
293
  rows: 2,
294
294
  placeholder: "Optional: anything else the agent should do alongside this edit",
295
295
  className: "w-full resize-none rounded-lg border border-border bg-card px-2.5 py-2 text-[12px] text-foreground outline-none placeholder:text-muted-foreground focus:border-[var(--primary)]/50"
@@ -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 { E as cA, S as wQ, X as DA, a9 as sQ, m as tQ, aa as eQ, ab as aQ, F as MQ, ac as hQ, R as NQ, z as cQ } from "./embedded-CRPUYTeJ.js";
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-DopQDD1s.js";
4
4
  /**
5
5
  * @license lucide-react v0.577.0 - ISC
6
6
  *
@@ -1,4 +1,129 @@
1
1
  <svg height="1em" width="1em" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Jcode">
2
- <rect width="512" height="512" rx="96" fill="#111318"/>
3
- <path d="M192 112h160v214c0 52-42 94-94 94h-18c-54 0-98-44-98-98v-34h76v34c0 13 10 23 23 23h15c12 0 21-9 21-21V187h-85z" fill="#7DD3FC"/>
2
+ <title>Jcode</title>
3
+ <!-- Official Jcode mark: dot-matrix torus. Geometry sourced from https://jcode.sh/favicon.svg
4
+ and matched against assets/app-icons/Jcode.icns in github.com/1jehuang/jcode. -->
5
+ <defs>
6
+ <clipPath id="jcode-squircle">
7
+ <rect width="512" height="512" rx="96"/>
8
+ </clipPath>
9
+ <linearGradient id="jcode-dots" x1="0.1" y1="0" x2="0.9" y2="1">
10
+ <stop offset="0" stop-color="#38BDF8"/>
11
+ <stop offset="0.45" stop-color="#2DD4BF"/>
12
+ <stop offset="1" stop-color="#2563EB"/>
13
+ </linearGradient>
14
+ </defs>
15
+ <g clip-path="url(#jcode-squircle)">
16
+ <rect width="512" height="512" fill="#05070B"/>
17
+ <g transform="translate(93.82 64.46) scale(3.6955)" fill="url(#jcode-dots)">
18
+ <circle cx="73.57" cy="14.64" r="3.95"/>
19
+ <circle cx="79.46" cy="20.54" r="3.94"/>
20
+ <circle cx="85.36" cy="26.43" r="1.57"/>
21
+ <circle cx="50.00" cy="2.86" r="3.94"/>
22
+ <circle cx="55.89" cy="8.75" r="4.85"/>
23
+ <circle cx="61.79" cy="14.64" r="4.51"/>
24
+ <circle cx="67.68" cy="20.54" r="4.34"/>
25
+ <circle cx="73.57" cy="26.43" r="4.41"/>
26
+ <circle cx="79.46" cy="32.32" r="4.58"/>
27
+ <circle cx="85.36" cy="38.21" r="4.63"/>
28
+ <circle cx="91.25" cy="44.11" r="3.90"/>
29
+ <circle cx="38.21" cy="2.86" r="5.15"/>
30
+ <circle cx="44.11" cy="8.75" r="4.75"/>
31
+ <circle cx="50.00" cy="14.64" r="4.10"/>
32
+ <circle cx="55.89" cy="20.54" r="3.45"/>
33
+ <circle cx="61.79" cy="26.43" r="3.15"/>
34
+ <circle cx="67.68" cy="32.32" r="3.51"/>
35
+ <circle cx="73.57" cy="38.21" r="4.17"/>
36
+ <circle cx="79.46" cy="44.11" r="4.66"/>
37
+ <circle cx="85.36" cy="50.00" r="4.75"/>
38
+ <circle cx="91.25" cy="55.89" r="4.19"/>
39
+ <circle cx="26.43" cy="2.86" r="2.57"/>
40
+ <circle cx="32.32" cy="8.75" r="4.93"/>
41
+ <circle cx="38.21" cy="14.64" r="4.26"/>
42
+ <circle cx="44.11" cy="20.54" r="3.20"/>
43
+ <circle cx="67.68" cy="44.11" r="3.45"/>
44
+ <circle cx="73.57" cy="50.00" r="4.56"/>
45
+ <circle cx="79.46" cy="55.89" r="4.94"/>
46
+ <circle cx="85.36" cy="61.79" r="4.76"/>
47
+ <circle cx="91.25" cy="67.68" r="3.54"/>
48
+ <circle cx="20.54" cy="8.75" r="5.12"/>
49
+ <circle cx="26.43" cy="14.64" r="4.74"/>
50
+ <circle cx="32.32" cy="20.54" r="3.98"/>
51
+ <circle cx="38.21" cy="26.43" r="2.49"/>
52
+ <circle cx="67.68" cy="55.89" r="4.46"/>
53
+ <circle cx="73.57" cy="61.79" r="5.06"/>
54
+ <circle cx="79.46" cy="67.68" r="4.97"/>
55
+ <circle cx="85.36" cy="73.57" r="4.31"/>
56
+ <circle cx="14.64" cy="14.64" r="5.05"/>
57
+ <circle cx="20.54" cy="20.54" r="4.70"/>
58
+ <circle cx="26.43" cy="26.43" r="4.04"/>
59
+ <circle cx="32.32" cy="32.32" r="2.73"/>
60
+ <circle cx="61.79" cy="61.79" r="4.40"/>
61
+ <circle cx="67.68" cy="67.68" r="5.15"/>
62
+ <circle cx="73.57" cy="73.57" r="5.04"/>
63
+ <circle cx="79.46" cy="79.46" r="4.48"/>
64
+ <circle cx="8.75" cy="20.54" r="4.99"/>
65
+ <circle cx="14.64" cy="26.43" r="4.76"/>
66
+ <circle cx="20.54" cy="32.32" r="4.33"/>
67
+ <circle cx="26.43" cy="38.21" r="3.63"/>
68
+ <circle cx="32.32" cy="44.11" r="1.72"/>
69
+ <circle cx="55.89" cy="67.68" r="4.81"/>
70
+ <circle cx="61.79" cy="73.57" r="5.13"/>
71
+ <circle cx="67.68" cy="79.46" r="4.97"/>
72
+ <circle cx="73.57" cy="85.36" r="4.41"/>
73
+ <circle cx="79.46" cy="91.25" r="2.13"/>
74
+ <circle cx="2.86" cy="26.43" r="4.89"/>
75
+ <circle cx="8.75" cy="32.32" r="4.82"/>
76
+ <circle cx="14.64" cy="38.21" r="4.59"/>
77
+ <circle cx="20.54" cy="44.11" r="4.29"/>
78
+ <circle cx="26.43" cy="50.00" r="3.97"/>
79
+ <circle cx="32.32" cy="55.89" r="3.70"/>
80
+ <circle cx="38.21" cy="61.79" r="3.81"/>
81
+ <circle cx="44.11" cy="67.68" r="4.54"/>
82
+ <circle cx="50.00" cy="73.57" r="4.94"/>
83
+ <circle cx="55.89" cy="79.46" r="5.00"/>
84
+ <circle cx="61.79" cy="85.36" r="4.77"/>
85
+ <circle cx="67.68" cy="91.25" r="4.15"/>
86
+ <circle cx="-3.03" cy="32.32" r="4.64"/>
87
+ <circle cx="2.86" cy="38.21" r="4.79"/>
88
+ <circle cx="8.75" cy="44.11" r="4.72"/>
89
+ <circle cx="14.64" cy="50.00" r="4.61"/>
90
+ <circle cx="20.54" cy="55.89" r="4.52"/>
91
+ <circle cx="26.43" cy="61.79" r="4.51"/>
92
+ <circle cx="32.32" cy="67.68" r="4.62"/>
93
+ <circle cx="38.21" cy="73.57" r="4.77"/>
94
+ <circle cx="44.11" cy="79.46" r="4.85"/>
95
+ <circle cx="50.00" cy="85.36" r="4.76"/>
96
+ <circle cx="55.89" cy="91.25" r="4.44"/>
97
+ <circle cx="61.79" cy="97.14" r="3.66"/>
98
+ <circle cx="-3.03" cy="44.11" r="4.60"/>
99
+ <circle cx="2.86" cy="50.00" r="4.68"/>
100
+ <circle cx="8.75" cy="55.89" r="4.66"/>
101
+ <circle cx="14.64" cy="61.79" r="4.64"/>
102
+ <circle cx="20.54" cy="67.68" r="4.64"/>
103
+ <circle cx="26.43" cy="73.57" r="4.67"/>
104
+ <circle cx="32.32" cy="79.46" r="4.68"/>
105
+ <circle cx="38.21" cy="85.36" r="4.61"/>
106
+ <circle cx="44.11" cy="91.25" r="4.41"/>
107
+ <circle cx="50.00" cy="97.14" r="3.93"/>
108
+ <circle cx="55.89" cy="103.03" r="2.57"/>
109
+ <circle cx="-3.03" cy="55.89" r="4.39"/>
110
+ <circle cx="2.86" cy="61.79" r="4.49"/>
111
+ <circle cx="8.75" cy="67.68" r="4.51"/>
112
+ <circle cx="14.64" cy="73.57" r="4.50"/>
113
+ <circle cx="20.54" cy="79.46" r="4.47"/>
114
+ <circle cx="26.43" cy="85.36" r="4.39"/>
115
+ <circle cx="32.32" cy="91.25" r="4.21"/>
116
+ <circle cx="38.21" cy="97.14" r="3.83"/>
117
+ <circle cx="44.11" cy="103.03" r="2.92"/>
118
+ <circle cx="-3.03" cy="67.68" r="3.92"/>
119
+ <circle cx="2.86" cy="73.57" r="4.07"/>
120
+ <circle cx="8.75" cy="79.46" r="4.07"/>
121
+ <circle cx="14.64" cy="85.36" r="4.00"/>
122
+ <circle cx="20.54" cy="91.25" r="3.81"/>
123
+ <circle cx="26.43" cy="97.14" r="3.42"/>
124
+ <circle cx="32.32" cy="103.03" r="2.43"/>
125
+ <circle cx="2.86" cy="85.36" r="2.53"/>
126
+ <circle cx="8.75" cy="91.25" r="2.48"/>
127
+ </g>
128
+ </g>
4
129
  </svg>
@@ -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 { ad as uo } from "./embedded-CRPUYTeJ.js";
4
+ import { ac as uo } from "./embedded-DopQDD1s.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-CRPUYTeJ.js";
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-DopQDD1s.js";
3
3
  import { useState as S } from "react";
4
4
  function j(l) {
5
5
  const i = l.filter((r) => !r.ok);