@omg-dev/app 0.6.17 → 0.6.18
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-4t7So8WI.js → ChangelogPage-DWu3RBbp.js} +34 -6
- package/dist-lib/{SessionFilesPanel-BBuQRLCH.js → SessionFilesPanel-D_D5aScn.js} +1 -1
- package/dist-lib/{TermView-DcSlTJWJ.js → TermView-BvO8EVcd.js} +2 -2
- package/dist-lib/{chat-engine-BEyPjOFF.js → chat-engine-BDniuJ89.js} +1 -1
- package/dist-lib/{coding-agents-page-DxiQEA0x.js → coding-agents-page-C0ZsHBai.js} +125 -120
- package/dist-lib/{computer-page-DUjgjP9t.js → computer-page-CShwbqqT.js} +2 -2
- package/dist-lib/{embedded-CCcPhTYL.js → embedded-CcZHRxvN.js} +3601 -3452
- package/dist-lib/index.js +1 -1
- package/dist-lib/{keyboard-B5L4gTN6.js → keyboard-bJd_vMhL.js} +1 -1
- package/dist-lib/{resume-session-sheet-_NOvRNRN.js → resume-session-sheet-CloMAlQz.js} +1 -1
- package/dist-lib/{session-token-usage-DPsH9-3y.js → session-token-usage-CiLIQPqQ.js} +1 -1
- package/dist-lib/{shipped-page-BN_kpMES.js → shipped-page-NFGDYsB2.js} +1 -1
- package/dist-lib/{streamdown-response-BD0Op1QS.js → streamdown-response-D9KtlNpp.js} +1 -1
- package/dist-lib/styles.css +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,37 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { z as n } from "./embedded-
|
|
2
|
+
import { z as n } from "./embedded-CcZHRxvN.js";
|
|
3
3
|
const t = `# Changelog
|
|
4
4
|
|
|
5
5
|
Recent product updates and deployment notes.
|
|
6
6
|
|
|
7
|
+
## August 30, 2026 - A flat desktop workspace, agent account names, and remote access in Settings (v0.6.18)
|
|
8
|
+
|
|
9
|
+
- **The desktop workspace no longer draws cards around itself.** The session
|
|
10
|
+
rail and the session stage each rendered as a rounded card with a border, a
|
|
11
|
+
fill and a drop shadow, floating on the app background with a gap between
|
|
12
|
+
them. On a full width window that is chrome around chrome. Both are flat now.
|
|
13
|
+
A single divider line separates the rail from the stage, and the stage runs
|
|
14
|
+
to the window edge. The session header on the stage is 44px instead of 60px,
|
|
15
|
+
because it carries one line of title there. Phones and iPad portrait are not
|
|
16
|
+
affected. They use a different layout that keeps its cards, and the card is
|
|
17
|
+
what makes a stacked list of sessions readable.
|
|
18
|
+
- **Coding agents say which account they are signed in as.** Detection could
|
|
19
|
+
only answer whether an account was connected. A machine with several agents
|
|
20
|
+
under different logins looked the same as one machine with a single login,
|
|
21
|
+
and multi-account Claude showed "Claude 1" and "Claude 2", which name
|
|
22
|
+
nothing. Each agent now reads the credential file its own CLI already
|
|
23
|
+
writes and shows the account. No credential material is copied. A profile
|
|
24
|
+
appears only when you connected an account, so a platform API key never
|
|
25
|
+
reports a login you did not make.
|
|
26
|
+
- **Settings shows how to reach this server from another device.** A new
|
|
27
|
+
Remote access section gives the local URL, and the Tailscale state of the
|
|
28
|
+
machine with the exact command to serve it over your tailnet.
|
|
29
|
+
- **The desktop app keeps scheduled work running after you quit.** The app
|
|
30
|
+
used to attach to any healthy server on loopback and stop its own child on
|
|
31
|
+
exit, which ended schedules with the window. It now owns an isolated
|
|
32
|
+
embedded runtime that stays active after the window closes. A later launch
|
|
33
|
+
reconnects to it. A package update replaces it with the new build.
|
|
34
|
+
|
|
7
35
|
## August 28, 2026 - A desktop app preview, unread marks for chats, and the DeepSeek Harness (v0.6.17)
|
|
8
36
|
|
|
9
37
|
- **A chat that landed a reply you have not read now carries a dot.** The
|
|
@@ -22,11 +50,11 @@ Recent product updates and deployment notes.
|
|
|
22
50
|
two kinds of row now match.
|
|
23
51
|
- **There is a desktop app preview for macOS and Linux.** It is a Bun-native
|
|
24
52
|
Electrobun shell that contains the omg.dev web UI and server, so the packaged
|
|
25
|
-
app needs no separate Bun or CLI install.
|
|
26
|
-
omg.dev server
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
53
|
+
app needs no separate Bun or CLI install. It always starts and owns an
|
|
54
|
+
isolated runtime, even when another omg.dev server is already running. The
|
|
55
|
+
window is shown after its runtime and app are ready. Builds come from the
|
|
56
|
+
\`desktop-package\` workflow as downloadable artifacts. They are not part of
|
|
57
|
+
this release bundle.
|
|
30
58
|
- **DeepSeek Harness is available as a coding agent.** It is in the agent
|
|
31
59
|
catalog, the setup script, and the coding agent adapters, like the other
|
|
32
60
|
harnesses.
|
|
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as s, 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 U } from "react";
|
|
3
3
|
import { createPortal as re } from "react-dom";
|
|
4
4
|
import { cn as y } from "cnfast";
|
|
5
|
-
import { f as oe, a3 as W, a4 as se, X as I, a5 as ie, a6 as ae, L as H, a7 as le, y as de, C as ce, a8 as L } from "./embedded-
|
|
5
|
+
import { f as oe, a3 as W, a4 as se, X as I, a5 as ie, a6 as ae, L as H, a7 as le, y as de, C as ce, a8 as L } from "./embedded-CcZHRxvN.js";
|
|
6
6
|
import { c as me } from "./create-CBk9uwJH.js";
|
|
7
7
|
/**
|
|
8
8
|
* @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 R, useEffect as p, useCallback as q } from "react";
|
|
3
|
-
import { f as UA, o as iQ, X as CA, a9 as wQ, y as sQ, aa as tQ, ab as eQ, a3 as aQ, ac as MQ, R as hQ, C as NQ } from "./embedded-
|
|
4
|
-
import { K as ZA } from "./keyboard-
|
|
3
|
+
import { f as UA, o as iQ, X as CA, a9 as wQ, y as sQ, aa as tQ, ab as eQ, a3 as aQ, ac as MQ, R as hQ, C as NQ } from "./embedded-CcZHRxvN.js";
|
|
4
|
+
import { K as ZA } from "./keyboard-bJd_vMhL.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.577.0 - ISC
|
|
7
7
|
*
|
|
@@ -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-
|
|
4
|
+
import { ad as uo } from "./embedded-CcZHRxvN.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,61 +1,61 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { R, B as
|
|
1
|
+
import { jsxs as s, jsx as e, Fragment as O } from "react/jsx-runtime";
|
|
2
|
+
import { R, B as u, L as $, n as A, o as S, M as G, p as j, q as E, s as f, T as P, u as D, v as W, w as T, x as X, y as J, X as Q, K as V } from "./embedded-CcZHRxvN.js";
|
|
3
3
|
import { cn as U } from "cnfast";
|
|
4
4
|
import { useState as I } from "react";
|
|
5
|
-
function B(
|
|
6
|
-
return /CLI$|runtime$/i.test(
|
|
5
|
+
function B(l) {
|
|
6
|
+
return /CLI$|runtime$/i.test(l);
|
|
7
7
|
}
|
|
8
|
-
function Y(
|
|
9
|
-
return
|
|
8
|
+
function Y(l) {
|
|
9
|
+
return l.some((i) => B(i.label) && !i.ok);
|
|
10
10
|
}
|
|
11
|
-
function Z(
|
|
12
|
-
const
|
|
13
|
-
return
|
|
11
|
+
function Z(l, i, r = 0) {
|
|
12
|
+
const d = l.filter((c) => !c.ok);
|
|
13
|
+
return d.length ? d.some((c) => B(c.label)) ? "Install" : "Connect" : r > 1 ? `${r} accounts` : i?.label ?? null;
|
|
14
14
|
}
|
|
15
|
-
function ee(
|
|
16
|
-
const
|
|
17
|
-
return
|
|
15
|
+
function ee(l) {
|
|
16
|
+
const i = l.filter((r) => !r.ok);
|
|
17
|
+
return i.length ? i.length === 1 ? `${i[0].label} missing` : `${i.length} checks failing` : null;
|
|
18
18
|
}
|
|
19
|
-
function ne({ checks:
|
|
20
|
-
return /* @__PURE__ */ e("div", { className: "space-y-1", children:
|
|
19
|
+
function ne({ checks: l }) {
|
|
20
|
+
return /* @__PURE__ */ e("div", { className: "space-y-1", children: l.map((i) => /* @__PURE__ */ s(
|
|
21
21
|
"div",
|
|
22
22
|
{
|
|
23
23
|
className: "flex min-w-0 items-center gap-1.5 text-xs text-muted-foreground",
|
|
24
24
|
children: [
|
|
25
|
-
|
|
26
|
-
/* @__PURE__ */ e("span", { className: "shrink-0", children:
|
|
27
|
-
|
|
25
|
+
i.ok ? /* @__PURE__ */ e(J, { className: "size-3.5 shrink-0 text-success" }) : /* @__PURE__ */ e(Q, { className: "size-3.5 shrink-0 text-destructive" }),
|
|
26
|
+
/* @__PURE__ */ e("span", { className: "shrink-0", children: i.label }),
|
|
27
|
+
i.detail ? /* @__PURE__ */ e("span", { className: "min-w-0 truncate text-muted-foreground/70", children: i.detail }) : null
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
i.label
|
|
31
31
|
)) });
|
|
32
32
|
}
|
|
33
33
|
function L({
|
|
34
|
-
icon:
|
|
35
|
-
title:
|
|
34
|
+
icon: l,
|
|
35
|
+
title: i,
|
|
36
36
|
note: r,
|
|
37
|
-
ok:
|
|
38
|
-
showDot:
|
|
39
|
-
control:
|
|
40
|
-
open:
|
|
37
|
+
ok: d,
|
|
38
|
+
showDot: c = !0,
|
|
39
|
+
control: h,
|
|
40
|
+
open: m,
|
|
41
41
|
onToggle: x,
|
|
42
42
|
children: b
|
|
43
43
|
}) {
|
|
44
|
-
return /* @__PURE__ */
|
|
45
|
-
/* @__PURE__ */
|
|
46
|
-
/* @__PURE__ */
|
|
44
|
+
return /* @__PURE__ */ s("div", { className: "px-4 py-2.5", children: [
|
|
45
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-3", children: [
|
|
46
|
+
/* @__PURE__ */ s(
|
|
47
47
|
"button",
|
|
48
48
|
{
|
|
49
49
|
type: "button",
|
|
50
50
|
onClick: x,
|
|
51
|
-
"aria-expanded":
|
|
51
|
+
"aria-expanded": m,
|
|
52
52
|
className: "flex min-w-0 flex-1 items-center gap-3 text-left",
|
|
53
53
|
children: [
|
|
54
|
-
/* @__PURE__ */ e("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-[8px] border border-border bg-background", children:
|
|
55
|
-
/* @__PURE__ */
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */ e("span", { className: "truncate text-sm font-medium", children:
|
|
58
|
-
|
|
54
|
+
/* @__PURE__ */ e("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-[8px] border border-border bg-background", children: l }),
|
|
55
|
+
/* @__PURE__ */ s("span", { className: "min-w-0 flex-1", children: [
|
|
56
|
+
/* @__PURE__ */ s("span", { className: "flex items-center gap-2", children: [
|
|
57
|
+
/* @__PURE__ */ e("span", { className: "truncate text-sm font-medium", children: i }),
|
|
58
|
+
c && !d ? /* @__PURE__ */ e("span", { className: "size-1.5 shrink-0 rounded-full bg-destructive", "aria-hidden": !0 }) : null
|
|
59
59
|
] }),
|
|
60
60
|
r ? /* @__PURE__ */ e("span", { className: "block truncate text-xs text-muted-foreground", children: r }) : null
|
|
61
61
|
] }),
|
|
@@ -64,55 +64,55 @@ function L({
|
|
|
64
64
|
{
|
|
65
65
|
className: U(
|
|
66
66
|
"size-4 shrink-0 text-muted-foreground/60 transition-transform duration-150",
|
|
67
|
-
|
|
67
|
+
m && "rotate-180"
|
|
68
68
|
)
|
|
69
69
|
}
|
|
70
70
|
)
|
|
71
71
|
]
|
|
72
72
|
}
|
|
73
73
|
),
|
|
74
|
-
|
|
74
|
+
h
|
|
75
75
|
] }),
|
|
76
|
-
|
|
76
|
+
m ? /* @__PURE__ */ e("div", { className: "mt-3 space-y-3 pl-11", children: b }) : null
|
|
77
77
|
] });
|
|
78
78
|
}
|
|
79
79
|
function te({
|
|
80
|
-
provider:
|
|
81
|
-
onConnect:
|
|
80
|
+
provider: l,
|
|
81
|
+
onConnect: i,
|
|
82
82
|
onDisconnect: r
|
|
83
83
|
}) {
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
-
/* @__PURE__ */ e("span", { className: "block truncate text-xs font-medium", children:
|
|
87
|
-
|
|
84
|
+
return /* @__PURE__ */ s("div", { className: "flex items-center gap-2 rounded-xl border border-border/70 bg-background/55 px-2.5 py-2", children: [
|
|
85
|
+
/* @__PURE__ */ s("span", { className: "min-w-0 flex-1", children: [
|
|
86
|
+
/* @__PURE__ */ e("span", { className: "block truncate text-xs font-medium", children: l.label }),
|
|
87
|
+
l.needsReconnect ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-destructive", children: "Sign-in expired" }) : l.detail || l.fromEnv ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-muted-foreground", children: l.detail ?? "From the environment" }) : null
|
|
88
88
|
] }),
|
|
89
|
-
|
|
89
|
+
l.connected ? /* @__PURE__ */ s(O, { children: [
|
|
90
90
|
/* @__PURE__ */ e("span", { className: "text-[11px] text-success", children: "Connected" }),
|
|
91
|
-
|
|
91
|
+
l.fromEnv ? null : /* @__PURE__ */ e(
|
|
92
92
|
"button",
|
|
93
93
|
{
|
|
94
94
|
type: "button",
|
|
95
|
-
onClick: () => r(
|
|
96
|
-
title: `Disconnect ${
|
|
97
|
-
"aria-label": `Disconnect ${
|
|
95
|
+
onClick: () => r(l),
|
|
96
|
+
title: `Disconnect ${l.label}`,
|
|
97
|
+
"aria-label": `Disconnect ${l.label}`,
|
|
98
98
|
className: "flex size-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-destructive/10 hover:text-destructive",
|
|
99
99
|
children: /* @__PURE__ */ e(P, { className: "size-3.5" })
|
|
100
100
|
}
|
|
101
101
|
)
|
|
102
|
-
] }) : /* @__PURE__ */
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
] }) : /* @__PURE__ */ s(u, { size: "sm", variant: "outline", onClick: () => i(l), children: [
|
|
103
|
+
l.method === "oauth" ? /* @__PURE__ */ e(f, { className: "size-3.5" }) : /* @__PURE__ */ e(V, { className: "size-3.5" }),
|
|
104
|
+
l.needsReconnect ? "Reconnect" : "Connect"
|
|
105
105
|
] })
|
|
106
106
|
] });
|
|
107
107
|
}
|
|
108
108
|
function re({
|
|
109
|
-
setupChecks:
|
|
110
|
-
agents:
|
|
109
|
+
setupChecks: l,
|
|
110
|
+
agents: i,
|
|
111
111
|
onVisibleChange: r,
|
|
112
|
-
onSetup:
|
|
113
|
-
onLogin:
|
|
114
|
-
onAddClaudeAccount:
|
|
115
|
-
onRemoveClaudeAccount:
|
|
112
|
+
onSetup: d,
|
|
113
|
+
onLogin: c,
|
|
114
|
+
onAddClaudeAccount: h,
|
|
115
|
+
onRemoveClaudeAccount: m,
|
|
116
116
|
onConnectProvider: x,
|
|
117
117
|
onDisconnectProvider: b,
|
|
118
118
|
onSetupCheck: _,
|
|
@@ -120,7 +120,7 @@ function re({
|
|
|
120
120
|
computerMcpEnabled: g,
|
|
121
121
|
onComputerMcpChange: M
|
|
122
122
|
}) {
|
|
123
|
-
const [p, y] = I(!1), [v, C] = I(null), z = (n) => C((
|
|
123
|
+
const [p, y] = I(!1), [v, C] = I(null), z = (n) => C((a) => a === n ? null : n);
|
|
124
124
|
async function F() {
|
|
125
125
|
if (!p) {
|
|
126
126
|
y(!0);
|
|
@@ -133,10 +133,10 @@ function re({
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
return /* @__PURE__ */
|
|
137
|
-
/* @__PURE__ */
|
|
136
|
+
return /* @__PURE__ */ s("div", { className: "mx-auto max-w-xl space-y-3 pb-10", "data-lfg-page-column": !0, children: [
|
|
137
|
+
/* @__PURE__ */ s("div", { className: "flex items-center justify-between px-4", children: [
|
|
138
138
|
/* @__PURE__ */ e("h2", { className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground", children: "Coding agents" }),
|
|
139
|
-
/* @__PURE__ */
|
|
139
|
+
/* @__PURE__ */ s(
|
|
140
140
|
"button",
|
|
141
141
|
{
|
|
142
142
|
type: "button",
|
|
@@ -150,8 +150,8 @@ function re({
|
|
|
150
150
|
}
|
|
151
151
|
)
|
|
152
152
|
] }),
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
l.length ? /* @__PURE__ */ s("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children: [
|
|
154
|
+
l.map((n) => /* @__PURE__ */ s(
|
|
155
155
|
L,
|
|
156
156
|
{
|
|
157
157
|
icon: /* @__PURE__ */ e(S, { className: "size-4 text-muted-foreground" }),
|
|
@@ -162,9 +162,9 @@ function re({
|
|
|
162
162
|
onToggle: () => z(`setup:${n.key}`),
|
|
163
163
|
children: [
|
|
164
164
|
/* @__PURE__ */ e(ne, { checks: n.checks }),
|
|
165
|
-
n.instructions.map((
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
|
|
165
|
+
n.instructions.map((a) => /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: a }, a)),
|
|
166
|
+
/* @__PURE__ */ s(
|
|
167
|
+
u,
|
|
168
168
|
{
|
|
169
169
|
size: "sm",
|
|
170
170
|
variant: "outline",
|
|
@@ -181,10 +181,10 @@ function re({
|
|
|
181
181
|
},
|
|
182
182
|
n.key
|
|
183
183
|
)),
|
|
184
|
-
/* @__PURE__ */
|
|
185
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ s("div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
|
|
185
|
+
/* @__PURE__ */ s("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
186
186
|
/* @__PURE__ */ e(G, { className: "size-4 shrink-0 text-muted-foreground" }),
|
|
187
|
-
/* @__PURE__ */
|
|
187
|
+
/* @__PURE__ */ s("span", { className: "min-w-0", children: [
|
|
188
188
|
/* @__PURE__ */ e("span", { className: "block truncate text-sm font-medium", children: "Computer Use MCP" }),
|
|
189
189
|
/* @__PURE__ */ e("span", { className: "block text-xs text-muted-foreground", children: g ? "Agents can drive this box's desktop and browser." : "Off. Agents cannot see or drive the desktop." })
|
|
190
190
|
] })
|
|
@@ -199,15 +199,19 @@ function re({
|
|
|
199
199
|
)
|
|
200
200
|
] })
|
|
201
201
|
] }) : null,
|
|
202
|
-
/* @__PURE__ */ e("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children:
|
|
203
|
-
const
|
|
204
|
-
return /* @__PURE__ */
|
|
202
|
+
/* @__PURE__ */ e("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children: i.map((n) => {
|
|
203
|
+
const a = n.status, o = n.key === "aisdk" ? a.accounts ?? [] : [], k = a.providers ?? [], q = o.some((t) => t.connected), H = o.length > 0 || k.length > 0, w = Y(a.checks);
|
|
204
|
+
return /* @__PURE__ */ s(
|
|
205
205
|
L,
|
|
206
206
|
{
|
|
207
207
|
icon: /* @__PURE__ */ e("img", { src: E(n.key), alt: W(n.key), className: "size-5" }),
|
|
208
208
|
title: n.label,
|
|
209
|
-
note: Z(
|
|
210
|
-
|
|
209
|
+
note: Z(
|
|
210
|
+
a.checks,
|
|
211
|
+
a.profile,
|
|
212
|
+
o.filter((t) => t.connected).length
|
|
213
|
+
),
|
|
214
|
+
ok: a.configured,
|
|
211
215
|
showDot: !1,
|
|
212
216
|
open: v === `agent:${n.key}`,
|
|
213
217
|
onToggle: () => z(`agent:${n.key}`),
|
|
@@ -215,125 +219,126 @@ function re({
|
|
|
215
219
|
j,
|
|
216
220
|
{
|
|
217
221
|
checked: n.visible,
|
|
218
|
-
onCheckedChange: (
|
|
219
|
-
if (
|
|
222
|
+
onCheckedChange: (t) => {
|
|
223
|
+
if (t && !a.configured) {
|
|
220
224
|
C(`agent:${n.key}`);
|
|
221
225
|
return;
|
|
222
226
|
}
|
|
223
|
-
r(n.key,
|
|
227
|
+
r(n.key, t);
|
|
224
228
|
},
|
|
225
229
|
"aria-label": `${n.label} visible in composer`
|
|
226
230
|
}
|
|
227
231
|
),
|
|
228
232
|
children: [
|
|
229
|
-
|
|
233
|
+
o.length ? /* @__PURE__ */ e("div", { className: "space-y-1.5", children: o.map((t) => /* @__PURE__ */ s(
|
|
230
234
|
"div",
|
|
231
235
|
{
|
|
232
236
|
className: "flex items-center gap-2 rounded-xl border border-border/70 bg-background/55 px-2.5 py-2",
|
|
233
237
|
children: [
|
|
234
|
-
/* @__PURE__ */
|
|
238
|
+
/* @__PURE__ */ s("span", { className: "relative flex size-7 shrink-0 items-center justify-center rounded-full bg-muted", children: [
|
|
235
239
|
/* @__PURE__ */ e("img", { src: E("aisdk"), alt: "", className: "size-4.5" }),
|
|
236
|
-
/* @__PURE__ */ e("span", { className: "absolute -bottom-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-foreground text-[8px] font-bold text-background ring-1 ring-background", children:
|
|
240
|
+
/* @__PURE__ */ e("span", { className: "absolute -bottom-0.5 -right-0.5 flex size-3.5 items-center justify-center rounded-full bg-foreground text-[8px] font-bold text-background ring-1 ring-background", children: t.number })
|
|
237
241
|
] }),
|
|
238
|
-
/* @__PURE__ */
|
|
239
|
-
/* @__PURE__ */ e("span", { className: "block truncate text-xs font-medium", children:
|
|
240
|
-
|
|
241
|
-
|
|
242
|
+
/* @__PURE__ */ s("span", { className: "min-w-0 flex-1", children: [
|
|
243
|
+
/* @__PURE__ */ e("span", { className: "block truncate text-xs font-medium", children: t.label }),
|
|
244
|
+
t.profile ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-muted-foreground", children: t.profile.detail ? `${t.profile.label} · ${t.profile.detail}` : t.profile.label }) : null,
|
|
245
|
+
t.needsReconnect ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-destructive", children: "Sign-in expired" }) : null,
|
|
246
|
+
t.fromEnv ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-muted-foreground", children: "From CLAUDE_CODE_OAUTH_TOKEN" }) : null
|
|
242
247
|
] }),
|
|
243
|
-
|
|
248
|
+
t.connected ? /* @__PURE__ */ s(O, { children: [
|
|
244
249
|
/* @__PURE__ */ e("span", { className: "text-[11px] text-success", children: "Connected" }),
|
|
245
|
-
|
|
250
|
+
t.fromEnv ? null : /* @__PURE__ */ e(
|
|
246
251
|
"button",
|
|
247
252
|
{
|
|
248
253
|
type: "button",
|
|
249
|
-
onClick: () =>
|
|
250
|
-
title: `Sign in to ${
|
|
251
|
-
"aria-label": `Sign in to ${
|
|
254
|
+
onClick: () => c(n.key, t.id),
|
|
255
|
+
title: `Sign in to ${t.label} again`,
|
|
256
|
+
"aria-label": `Sign in to ${t.label} again`,
|
|
252
257
|
className: "flex size-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-muted hover:text-foreground",
|
|
253
258
|
children: /* @__PURE__ */ e(R, { className: "size-3.5" })
|
|
254
259
|
}
|
|
255
260
|
)
|
|
256
|
-
] }) : /* @__PURE__ */
|
|
257
|
-
|
|
261
|
+
] }) : /* @__PURE__ */ s(
|
|
262
|
+
u,
|
|
258
263
|
{
|
|
259
264
|
size: "sm",
|
|
260
265
|
variant: "outline",
|
|
261
|
-
onClick: () =>
|
|
266
|
+
onClick: () => c(n.key, t.id),
|
|
262
267
|
children: [
|
|
263
|
-
/* @__PURE__ */ e(
|
|
264
|
-
|
|
268
|
+
/* @__PURE__ */ e(f, { className: "size-3.5" }),
|
|
269
|
+
t.needsReconnect ? "Reconnect" : "Connect"
|
|
265
270
|
]
|
|
266
271
|
}
|
|
267
272
|
),
|
|
268
|
-
|
|
273
|
+
t.removable ? /* @__PURE__ */ e(
|
|
269
274
|
"button",
|
|
270
275
|
{
|
|
271
276
|
type: "button",
|
|
272
|
-
onClick: () =>
|
|
273
|
-
title: `Remove ${
|
|
274
|
-
"aria-label": `Remove ${
|
|
277
|
+
onClick: () => m(t),
|
|
278
|
+
title: `Remove ${t.label}`,
|
|
279
|
+
"aria-label": `Remove ${t.label}`,
|
|
275
280
|
className: "flex size-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-destructive/10 hover:text-destructive",
|
|
276
281
|
children: /* @__PURE__ */ e(P, { className: "size-3.5" })
|
|
277
282
|
}
|
|
278
283
|
) : null
|
|
279
284
|
]
|
|
280
285
|
},
|
|
281
|
-
|
|
286
|
+
t.id
|
|
282
287
|
)) }) : null,
|
|
283
|
-
k.length ? /* @__PURE__ */ e("div", { className: "space-y-1.5", children: k.map((
|
|
288
|
+
k.length ? /* @__PURE__ */ e("div", { className: "space-y-1.5", children: k.map((t) => /* @__PURE__ */ e(
|
|
284
289
|
te,
|
|
285
290
|
{
|
|
286
|
-
provider:
|
|
291
|
+
provider: t,
|
|
287
292
|
onConnect: (N) => {
|
|
288
293
|
if (n.key === "jcode" && w) {
|
|
289
|
-
|
|
294
|
+
d(n.key);
|
|
290
295
|
return;
|
|
291
296
|
}
|
|
292
297
|
x(n.key, N);
|
|
293
298
|
},
|
|
294
299
|
onDisconnect: (N) => b(n.key, N)
|
|
295
300
|
},
|
|
296
|
-
|
|
301
|
+
t.id
|
|
297
302
|
)) }) : null,
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
|
|
300
|
-
|
|
303
|
+
/* @__PURE__ */ s("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
304
|
+
a.canAutoSetup && w ? /* @__PURE__ */ s(
|
|
305
|
+
u,
|
|
301
306
|
{
|
|
302
307
|
size: "sm",
|
|
303
308
|
variant: "outline",
|
|
304
|
-
disabled:
|
|
305
|
-
onClick: () =>
|
|
309
|
+
disabled: a.setupRunning,
|
|
310
|
+
onClick: () => d(n.key),
|
|
306
311
|
title: "Run setup for this agent",
|
|
307
312
|
children: [
|
|
308
|
-
|
|
309
|
-
|
|
313
|
+
a.setupRunning ? /* @__PURE__ */ e($, { className: "size-4 animate-spin" }) : /* @__PURE__ */ e(A, { className: "size-4" }),
|
|
314
|
+
a.setupRunning ? "Running…" : "Install"
|
|
310
315
|
]
|
|
311
316
|
}
|
|
312
317
|
) : null,
|
|
313
|
-
|
|
314
|
-
|
|
318
|
+
o.length && q ? /* @__PURE__ */ s(
|
|
319
|
+
u,
|
|
315
320
|
{
|
|
316
321
|
size: "sm",
|
|
317
322
|
variant: "outline",
|
|
318
|
-
disabled:
|
|
319
|
-
onClick: () =>
|
|
323
|
+
disabled: a.setupRunning,
|
|
324
|
+
onClick: () => h(),
|
|
320
325
|
title: "Add another Claude account",
|
|
321
326
|
children: [
|
|
322
|
-
/* @__PURE__ */ e(
|
|
327
|
+
/* @__PURE__ */ e(f, { className: "size-4" }),
|
|
323
328
|
"Add account"
|
|
324
329
|
]
|
|
325
330
|
}
|
|
326
331
|
) : null,
|
|
327
|
-
|
|
328
|
-
|
|
332
|
+
a.canLoginInTerminal && !H ? /* @__PURE__ */ s(
|
|
333
|
+
u,
|
|
329
334
|
{
|
|
330
335
|
size: "sm",
|
|
331
336
|
variant: "outline",
|
|
332
|
-
disabled:
|
|
333
|
-
onClick: () =>
|
|
334
|
-
title: n.key === "aisdk" &&
|
|
337
|
+
disabled: a.setupRunning,
|
|
338
|
+
onClick: () => c(n.key),
|
|
339
|
+
title: n.key === "aisdk" && o.length ? "Add another Claude account" : D.has(n.key) ? `Sign in to ${n.label} in your browser` : `Open terminal and run ${a.loginCommand}`,
|
|
335
340
|
children: [
|
|
336
|
-
D.has(n.key) ? /* @__PURE__ */ e(
|
|
341
|
+
D.has(n.key) ? /* @__PURE__ */ e(f, { className: "size-4" }) : /* @__PURE__ */ e(S, { className: "size-4" }),
|
|
337
342
|
"Login"
|
|
338
343
|
]
|
|
339
344
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as pe, jsx as J, Fragment as zt } from "react/jsx-runtime";
|
|
2
2
|
import { useState as Ve, useRef as Qe, useCallback as ve, useEffect as Le } from "react";
|
|
3
|
-
import { f as Fn, a3 as Ai, ab as Mn, B as Ge, R as Tn, X as Qn, L as Xi, ae as Ln } from "./embedded-
|
|
4
|
-
import { K as Rn } from "./keyboard-
|
|
3
|
+
import { f as Fn, a3 as Ai, ab as Mn, B as Ge, R as Tn, X as Qn, L as Xi, ae as Ln } from "./embedded-CcZHRxvN.js";
|
|
4
|
+
import { K as Rn } from "./keyboard-bJd_vMhL.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.577.0 - ISC
|
|
7
7
|
*
|