@omg-dev/app 0.6.44 → 0.6.45
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-BrLzX0b_.js → ChangelogPage-DPiDsVqO.js} +9 -1
- package/dist-lib/{SessionFilesPanel-mJlEN79a.js → SessionFilesPanel-C0RF-epP.js} +1 -1
- package/dist-lib/{TermView-DhWZN3Pl.js → TermView-ck_L-GF7.js} +2 -2
- package/dist-lib/{board-page-CtY4aJ5n.js → board-page-CRfg7f8O.js} +1 -1
- package/dist-lib/{chat-engine-CFevl3bj.js → chat-engine-DWR7drxy.js} +1 -1
- package/dist-lib/{coding-agents-page-CIFeCvP0.js → coding-agents-page-CYQc1kxi.js} +119 -104
- package/dist-lib/{computer-page-clutIGVH.js → computer-page-CDHM278b.js} +2 -2
- package/dist-lib/{embedded-Bnp9Scvd.js → embedded-1oSKBM-6.js} +4636 -4608
- package/dist-lib/index.js +1 -1
- package/dist-lib/{keyboard-6BgcVuLo.js → keyboard-upN3UNSy.js} +1 -1
- package/dist-lib/{resume-session-sheet-uyY1wmsX.js → resume-session-sheet-BCZ0Ljif.js} +1 -1
- package/dist-lib/{session-token-usage-BOTuzf2H.js → session-token-usage-CFTolEbO.js} +1 -1
- package/dist-lib/{shipped-page-Cm2Il7A0.js → shipped-page-C_VDj9Lr.js} +1 -1
- package/dist-lib/{streamdown-response-BzrC7uqP.js → streamdown-response-Dxk1oSZp.js} +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { z as n } from "./embedded-
|
|
2
|
+
import { z as n } from "./embedded-1oSKBM-6.js";
|
|
3
3
|
const t = `# Changelog
|
|
4
4
|
|
|
5
5
|
Recent product updates and deployment notes.
|
|
6
6
|
|
|
7
|
+
## September 5, 2026 - Update coding agents and refresh models from Settings (v0.6.45)
|
|
8
|
+
|
|
9
|
+
- **Settings can update a coding agent CLI and refresh its models.** Expand
|
|
10
|
+
an installed agent and tap Update to reinstall the latest CLI, then re-probe
|
|
11
|
+
its model list. Refresh models at the top of the page re-probes without
|
|
12
|
+
waiting for the daily catalog cron. This is how an existing Computer picks
|
|
13
|
+
up a new Codex model such as GPT-6 Astra.
|
|
14
|
+
|
|
7
15
|
## September 5, 2026 - Mobile chat layout and auto-agent pages (v0.6.44)
|
|
8
16
|
|
|
9
17
|
- **OpenCode default model is \`opencode/nemotron-3.5-lightning-free\`.** The
|
|
@@ -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, a5 as W, a6 as se, X as I, a7 as ae, a8 as ie, L as H, a9 as le, y as de, C as ce, aa as L } from "./embedded-
|
|
5
|
+
import { f as oe, a5 as W, a6 as se, X as I, a7 as ae, a8 as ie, L as H, a9 as le, y as de, C as ce, aa as L } from "./embedded-1oSKBM-6.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, ab as wQ, y as sQ, ac as tQ, ad as eQ, a5 as aQ, ae 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, ab as wQ, y as sQ, ac as tQ, ad as eQ, a5 as aQ, ae as MQ, R as hQ, C as NQ } from "./embedded-1oSKBM-6.js";
|
|
4
|
+
import { K as ZA } from "./keyboard-upN3UNSy.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.577.0 - ISC
|
|
7
7
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as i, jsxs as l } from "react/jsx-runtime";
|
|
2
2
|
import { useState as x, useEffect as h, useMemo as b } from "react";
|
|
3
|
-
import { f as y, F as N, O as k, Q as w, a4 as v, L as I, m as A, k as _ } from "./embedded-
|
|
3
|
+
import { f as y, F as N, O as k, Q as w, a4 as v, L as I, m as A, k as _ } from "./embedded-1oSKBM-6.js";
|
|
4
4
|
import { cn as g } from "cnfast";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.577.0 - ISC
|
|
@@ -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 { af as uo } from "./embedded-
|
|
4
|
+
import { af as uo } from "./embedded-1oSKBM-6.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,43 +1,43 @@
|
|
|
1
|
-
import { jsxs as s, jsx as e, Fragment as
|
|
2
|
-
import { R, B as u, L as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useState as
|
|
1
|
+
import { jsxs as s, jsx as e, Fragment as U } from "react/jsx-runtime";
|
|
2
|
+
import { R as v, B as u, L as C, n as A, o as S, M as W, p as j, q as E, s as f, T as O, u as I, v as X, w as D, x as J, y as Q, X as V, K as Y } from "./embedded-1oSKBM-6.js";
|
|
3
|
+
import { cn as P } from "cnfast";
|
|
4
|
+
import { useState as T } from "react";
|
|
5
5
|
function B(l) {
|
|
6
6
|
return /CLI$|runtime$/i.test(l);
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
return l.some((
|
|
8
|
+
function Z(l) {
|
|
9
|
+
return l.some((a) => B(a.label) && !a.ok);
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
const
|
|
13
|
-
return
|
|
11
|
+
function ee(l, a, r = 0) {
|
|
12
|
+
const c = l.filter((d) => !d.ok);
|
|
13
|
+
return c.length ? c.some((d) => B(d.label)) ? "Install" : "Connect" : r > 1 ? `${r} accounts` : a?.label ?? null;
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const
|
|
17
|
-
return
|
|
15
|
+
function ne(l) {
|
|
16
|
+
const a = l.filter((r) => !r.ok);
|
|
17
|
+
return a.length ? a.length === 1 ? `${a[0].label} missing` : `${a.length} checks failing` : null;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
return /* @__PURE__ */ e("div", { className: "space-y-1", children: l.map((
|
|
19
|
+
function te({ checks: l }) {
|
|
20
|
+
return /* @__PURE__ */ e("div", { className: "space-y-1", children: l.map((a) => /* @__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
|
+
a.ok ? /* @__PURE__ */ e(Q, { className: "size-3.5 shrink-0 text-success" }) : /* @__PURE__ */ e(V, { className: "size-3.5 shrink-0 text-destructive" }),
|
|
26
|
+
/* @__PURE__ */ e("span", { className: "shrink-0", children: a.label }),
|
|
27
|
+
a.detail ? /* @__PURE__ */ e("span", { className: "min-w-0 truncate text-muted-foreground/70", children: a.detail }) : null
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
a.label
|
|
31
31
|
)) });
|
|
32
32
|
}
|
|
33
33
|
function L({
|
|
34
34
|
icon: l,
|
|
35
|
-
title:
|
|
35
|
+
title: a,
|
|
36
36
|
note: r,
|
|
37
|
-
ok:
|
|
38
|
-
showDot:
|
|
39
|
-
control:
|
|
40
|
-
open:
|
|
37
|
+
ok: c,
|
|
38
|
+
showDot: d = !0,
|
|
39
|
+
control: m,
|
|
40
|
+
open: h,
|
|
41
41
|
onToggle: x,
|
|
42
42
|
children: b
|
|
43
43
|
}) {
|
|
@@ -48,37 +48,37 @@ function L({
|
|
|
48
48
|
{
|
|
49
49
|
type: "button",
|
|
50
50
|
onClick: x,
|
|
51
|
-
"aria-expanded":
|
|
51
|
+
"aria-expanded": h,
|
|
52
52
|
className: "flex min-w-0 flex-1 items-center gap-3 text-left",
|
|
53
53
|
children: [
|
|
54
54
|
/* @__PURE__ */ e("span", { className: "flex size-8 shrink-0 items-center justify-center rounded-[8px] border border-border bg-background", children: l }),
|
|
55
55
|
/* @__PURE__ */ s("span", { className: "min-w-0 flex-1", children: [
|
|
56
56
|
/* @__PURE__ */ s("span", { className: "flex items-center gap-2", children: [
|
|
57
|
-
/* @__PURE__ */ e("span", { className: "truncate text-sm font-medium", children:
|
|
58
|
-
|
|
57
|
+
/* @__PURE__ */ e("span", { className: "truncate text-sm font-medium", children: a }),
|
|
58
|
+
d && !c ? /* @__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
|
] }),
|
|
62
62
|
/* @__PURE__ */ e(
|
|
63
|
-
|
|
63
|
+
J,
|
|
64
64
|
{
|
|
65
|
-
className:
|
|
65
|
+
className: P(
|
|
66
66
|
"size-4 shrink-0 text-muted-foreground/60 transition-transform duration-150",
|
|
67
|
-
|
|
67
|
+
h && "rotate-180"
|
|
68
68
|
)
|
|
69
69
|
}
|
|
70
70
|
)
|
|
71
71
|
]
|
|
72
72
|
}
|
|
73
73
|
),
|
|
74
|
-
|
|
74
|
+
m
|
|
75
75
|
] }),
|
|
76
|
-
|
|
76
|
+
h ? /* @__PURE__ */ e("div", { className: "mt-3 space-y-3 pl-11", children: b }) : null
|
|
77
77
|
] });
|
|
78
78
|
}
|
|
79
|
-
function
|
|
79
|
+
function se({
|
|
80
80
|
provider: l,
|
|
81
|
-
onConnect:
|
|
81
|
+
onConnect: a,
|
|
82
82
|
onDisconnect: r
|
|
83
83
|
}) {
|
|
84
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: [
|
|
@@ -86,7 +86,7 @@ function te({
|
|
|
86
86
|
/* @__PURE__ */ e("span", { className: "block truncate text-xs font-medium", children: l.label }),
|
|
87
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
|
-
l.connected ? /* @__PURE__ */ s(
|
|
89
|
+
l.connected ? /* @__PURE__ */ s(U, { children: [
|
|
90
90
|
/* @__PURE__ */ e("span", { className: "text-[11px] text-success", children: "Connected" }),
|
|
91
91
|
l.fromEnv ? null : /* @__PURE__ */ e(
|
|
92
92
|
"button",
|
|
@@ -96,40 +96,41 @@ function te({
|
|
|
96
96
|
title: `Disconnect ${l.label}`,
|
|
97
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
|
-
children: /* @__PURE__ */ e(
|
|
99
|
+
children: /* @__PURE__ */ e(O, { className: "size-3.5" })
|
|
100
100
|
}
|
|
101
101
|
)
|
|
102
|
-
] }) : /* @__PURE__ */ s(u, { size: "sm", variant: "outline", onClick: () =>
|
|
103
|
-
l.method === "oauth" ? /* @__PURE__ */ e(f, { className: "size-3.5" }) : /* @__PURE__ */ e(
|
|
102
|
+
] }) : /* @__PURE__ */ s(u, { size: "sm", variant: "outline", onClick: () => a(l), children: [
|
|
103
|
+
l.method === "oauth" ? /* @__PURE__ */ e(f, { className: "size-3.5" }) : /* @__PURE__ */ e(Y, { className: "size-3.5" }),
|
|
104
104
|
l.needsReconnect ? "Reconnect" : "Connect"
|
|
105
105
|
] })
|
|
106
106
|
] });
|
|
107
107
|
}
|
|
108
|
-
function
|
|
108
|
+
function ce({
|
|
109
109
|
setupChecks: l,
|
|
110
|
-
agents:
|
|
110
|
+
agents: a,
|
|
111
111
|
onVisibleChange: r,
|
|
112
|
-
onSetup:
|
|
113
|
-
|
|
112
|
+
onSetup: c,
|
|
113
|
+
onUpdate: d,
|
|
114
|
+
onLogin: m,
|
|
114
115
|
onAddClaudeAccount: h,
|
|
115
|
-
onRemoveClaudeAccount:
|
|
116
|
-
onConnectProvider:
|
|
117
|
-
onDisconnectProvider:
|
|
116
|
+
onRemoveClaudeAccount: x,
|
|
117
|
+
onConnectProvider: b,
|
|
118
|
+
onDisconnectProvider: M,
|
|
118
119
|
onSetupCheck: _,
|
|
119
120
|
onRefresh: K,
|
|
120
|
-
computerMcpEnabled:
|
|
121
|
-
onComputerMcpChange:
|
|
121
|
+
computerMcpEnabled: p,
|
|
122
|
+
onComputerMcpChange: F
|
|
122
123
|
}) {
|
|
123
|
-
const [
|
|
124
|
-
async function
|
|
125
|
-
if (!
|
|
126
|
-
|
|
124
|
+
const [g, z] = T(!1), [R, w] = T(null), $ = (n) => w((i) => i === n ? null : n);
|
|
125
|
+
async function q() {
|
|
126
|
+
if (!g) {
|
|
127
|
+
z(!0);
|
|
127
128
|
try {
|
|
128
|
-
await K(),
|
|
129
|
+
await K(), D.success("Models refreshed");
|
|
129
130
|
} catch (n) {
|
|
130
|
-
|
|
131
|
+
D.error(n instanceof Error ? n.message : "Could not refresh models");
|
|
131
132
|
} finally {
|
|
132
|
-
|
|
133
|
+
z(!1);
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
}
|
|
@@ -140,12 +141,12 @@ function re({
|
|
|
140
141
|
"button",
|
|
141
142
|
{
|
|
142
143
|
type: "button",
|
|
143
|
-
onClick: () => void
|
|
144
|
-
disabled:
|
|
144
|
+
onClick: () => void q(),
|
|
145
|
+
disabled: g,
|
|
145
146
|
className: "flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground disabled:opacity-50",
|
|
146
147
|
children: [
|
|
147
|
-
/* @__PURE__ */ e(
|
|
148
|
-
"Refresh"
|
|
148
|
+
/* @__PURE__ */ e(v, { className: P("size-3.5", g && "animate-spin") }),
|
|
149
|
+
"Refresh models"
|
|
149
150
|
]
|
|
150
151
|
}
|
|
151
152
|
)
|
|
@@ -156,13 +157,13 @@ function re({
|
|
|
156
157
|
{
|
|
157
158
|
icon: /* @__PURE__ */ e(S, { className: "size-4 text-muted-foreground" }),
|
|
158
159
|
title: n.label,
|
|
159
|
-
note:
|
|
160
|
+
note: ne(n.checks),
|
|
160
161
|
ok: n.configured,
|
|
161
|
-
open:
|
|
162
|
-
onToggle: () =>
|
|
162
|
+
open: R === `setup:${n.key}`,
|
|
163
|
+
onToggle: () => $(`setup:${n.key}`),
|
|
163
164
|
children: [
|
|
164
|
-
/* @__PURE__ */ e(
|
|
165
|
-
n.instructions.map((
|
|
165
|
+
/* @__PURE__ */ e(te, { checks: n.checks }),
|
|
166
|
+
n.instructions.map((i) => /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground", children: i }, i)),
|
|
166
167
|
/* @__PURE__ */ s(
|
|
167
168
|
u,
|
|
168
169
|
{
|
|
@@ -172,7 +173,7 @@ function re({
|
|
|
172
173
|
onClick: () => _(n.key),
|
|
173
174
|
title: n.canAutoSetup ? n.actionLabel : "Install a supported coding agent first",
|
|
174
175
|
children: [
|
|
175
|
-
n.running ? /* @__PURE__ */ e(
|
|
176
|
+
n.running ? /* @__PURE__ */ e(C, { className: "size-4 animate-spin" }) : /* @__PURE__ */ e(A, { className: "size-4" }),
|
|
176
177
|
n.running ? "Running…" : n.actionLabel
|
|
177
178
|
]
|
|
178
179
|
}
|
|
@@ -183,45 +184,45 @@ function re({
|
|
|
183
184
|
)),
|
|
184
185
|
/* @__PURE__ */ s("div", { className: "flex items-center justify-between gap-4 px-4 py-3", children: [
|
|
185
186
|
/* @__PURE__ */ s("div", { className: "flex min-w-0 items-center gap-3", children: [
|
|
186
|
-
/* @__PURE__ */ e(
|
|
187
|
+
/* @__PURE__ */ e(W, { className: "size-4 shrink-0 text-muted-foreground" }),
|
|
187
188
|
/* @__PURE__ */ s("span", { className: "min-w-0", children: [
|
|
188
189
|
/* @__PURE__ */ e("span", { className: "block truncate text-sm font-medium", children: "Computer Use MCP" }),
|
|
189
|
-
/* @__PURE__ */ e("span", { className: "block text-xs text-muted-foreground", children:
|
|
190
|
+
/* @__PURE__ */ e("span", { className: "block text-xs text-muted-foreground", children: p ? "Agents can drive this box's desktop and browser." : "Off. Agents cannot see or drive the desktop." })
|
|
190
191
|
] })
|
|
191
192
|
] }),
|
|
192
193
|
/* @__PURE__ */ e(
|
|
193
194
|
j,
|
|
194
195
|
{
|
|
195
|
-
checked:
|
|
196
|
-
onCheckedChange:
|
|
197
|
-
"aria-label":
|
|
196
|
+
checked: p,
|
|
197
|
+
onCheckedChange: F,
|
|
198
|
+
"aria-label": p ? "Disable the Computer Use MCP" : "Enable the Computer Use MCP"
|
|
198
199
|
}
|
|
199
200
|
)
|
|
200
201
|
] })
|
|
201
202
|
] }) : null,
|
|
202
|
-
/* @__PURE__ */ e("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children:
|
|
203
|
-
const
|
|
203
|
+
/* @__PURE__ */ e("div", { className: "overflow-hidden rounded-2xl border border-border bg-card/40 divide-y divide-border", children: a.map((n) => {
|
|
204
|
+
const i = n.status, o = n.key === "aisdk" ? i.accounts ?? [] : [], k = i.providers ?? [], H = o.some((t) => t.connected), G = o.length > 0 || k.length > 0, N = Z(i.checks);
|
|
204
205
|
return /* @__PURE__ */ s(
|
|
205
206
|
L,
|
|
206
207
|
{
|
|
207
|
-
icon: /* @__PURE__ */ e("img", { src: E(n.key), alt:
|
|
208
|
+
icon: /* @__PURE__ */ e("img", { src: E(n.key), alt: X(n.key), className: "size-5" }),
|
|
208
209
|
title: n.label,
|
|
209
|
-
note:
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
note: ee(
|
|
211
|
+
i.checks,
|
|
212
|
+
i.profile,
|
|
212
213
|
o.filter((t) => t.connected).length
|
|
213
214
|
),
|
|
214
|
-
ok:
|
|
215
|
+
ok: i.configured,
|
|
215
216
|
showDot: !1,
|
|
216
|
-
open:
|
|
217
|
-
onToggle: () =>
|
|
217
|
+
open: R === `agent:${n.key}`,
|
|
218
|
+
onToggle: () => $(`agent:${n.key}`),
|
|
218
219
|
control: /* @__PURE__ */ e(
|
|
219
220
|
j,
|
|
220
221
|
{
|
|
221
222
|
checked: n.visible,
|
|
222
223
|
onCheckedChange: (t) => {
|
|
223
|
-
if (t && !
|
|
224
|
-
|
|
224
|
+
if (t && !i.configured) {
|
|
225
|
+
w(`agent:${n.key}`);
|
|
225
226
|
return;
|
|
226
227
|
}
|
|
227
228
|
r(n.key, t);
|
|
@@ -245,17 +246,17 @@ function re({
|
|
|
245
246
|
t.needsReconnect ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-destructive", children: "Sign-in expired" }) : null,
|
|
246
247
|
t.fromEnv ? /* @__PURE__ */ e("span", { className: "block truncate text-[11px] text-muted-foreground", children: "From CLAUDE_CODE_OAUTH_TOKEN" }) : null
|
|
247
248
|
] }),
|
|
248
|
-
t.connected ? /* @__PURE__ */ s(
|
|
249
|
+
t.connected ? /* @__PURE__ */ s(U, { children: [
|
|
249
250
|
/* @__PURE__ */ e("span", { className: "text-[11px] text-success", children: "Connected" }),
|
|
250
251
|
t.fromEnv ? null : /* @__PURE__ */ e(
|
|
251
252
|
"button",
|
|
252
253
|
{
|
|
253
254
|
type: "button",
|
|
254
|
-
onClick: () =>
|
|
255
|
+
onClick: () => m(n.key, t.id),
|
|
255
256
|
title: `Sign in to ${t.label} again`,
|
|
256
257
|
"aria-label": `Sign in to ${t.label} again`,
|
|
257
258
|
className: "flex size-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-muted hover:text-foreground",
|
|
258
|
-
children: /* @__PURE__ */ e(
|
|
259
|
+
children: /* @__PURE__ */ e(v, { className: "size-3.5" })
|
|
259
260
|
}
|
|
260
261
|
)
|
|
261
262
|
] }) : /* @__PURE__ */ s(
|
|
@@ -263,7 +264,7 @@ function re({
|
|
|
263
264
|
{
|
|
264
265
|
size: "sm",
|
|
265
266
|
variant: "outline",
|
|
266
|
-
onClick: () =>
|
|
267
|
+
onClick: () => m(n.key, t.id),
|
|
267
268
|
children: [
|
|
268
269
|
/* @__PURE__ */ e(f, { className: "size-3.5" }),
|
|
269
270
|
t.needsReconnect ? "Reconnect" : "Connect"
|
|
@@ -274,11 +275,11 @@ function re({
|
|
|
274
275
|
"button",
|
|
275
276
|
{
|
|
276
277
|
type: "button",
|
|
277
|
-
onClick: () =>
|
|
278
|
+
onClick: () => x(t),
|
|
278
279
|
title: `Remove ${t.label}`,
|
|
279
280
|
"aria-label": `Remove ${t.label}`,
|
|
280
281
|
className: "flex size-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-destructive/10 hover:text-destructive",
|
|
281
|
-
children: /* @__PURE__ */ e(
|
|
282
|
+
children: /* @__PURE__ */ e(O, { className: "size-3.5" })
|
|
282
283
|
}
|
|
283
284
|
) : null
|
|
284
285
|
]
|
|
@@ -286,41 +287,55 @@ function re({
|
|
|
286
287
|
t.id
|
|
287
288
|
)) }) : null,
|
|
288
289
|
k.length ? /* @__PURE__ */ e("div", { className: "space-y-1.5", children: k.map((t) => /* @__PURE__ */ e(
|
|
289
|
-
|
|
290
|
+
se,
|
|
290
291
|
{
|
|
291
292
|
provider: t,
|
|
292
|
-
onConnect: (
|
|
293
|
-
if (n.key === "jcode" &&
|
|
294
|
-
|
|
293
|
+
onConnect: (y) => {
|
|
294
|
+
if (n.key === "jcode" && N) {
|
|
295
|
+
c(n.key);
|
|
295
296
|
return;
|
|
296
297
|
}
|
|
297
|
-
|
|
298
|
+
b(n.key, y);
|
|
298
299
|
},
|
|
299
|
-
onDisconnect: (
|
|
300
|
+
onDisconnect: (y) => M(n.key, y)
|
|
300
301
|
},
|
|
301
302
|
t.id
|
|
302
303
|
)) }) : null,
|
|
303
304
|
/* @__PURE__ */ s("div", { className: "flex flex-wrap items-center gap-2", children: [
|
|
304
|
-
|
|
305
|
+
i.canAutoSetup && N ? /* @__PURE__ */ s(
|
|
305
306
|
u,
|
|
306
307
|
{
|
|
307
308
|
size: "sm",
|
|
308
309
|
variant: "outline",
|
|
309
|
-
disabled:
|
|
310
|
-
onClick: () =>
|
|
310
|
+
disabled: i.setupRunning,
|
|
311
|
+
onClick: () => c(n.key),
|
|
311
312
|
title: "Run setup for this agent",
|
|
312
313
|
children: [
|
|
313
|
-
|
|
314
|
-
|
|
314
|
+
i.setupRunning ? /* @__PURE__ */ e(C, { className: "size-4 animate-spin" }) : /* @__PURE__ */ e(A, { className: "size-4" }),
|
|
315
|
+
i.setupRunning ? "Running…" : "Install"
|
|
316
|
+
]
|
|
317
|
+
}
|
|
318
|
+
) : null,
|
|
319
|
+
i.canAutoSetup && !N ? /* @__PURE__ */ s(
|
|
320
|
+
u,
|
|
321
|
+
{
|
|
322
|
+
size: "sm",
|
|
323
|
+
variant: "outline",
|
|
324
|
+
disabled: i.setupRunning,
|
|
325
|
+
onClick: () => d(n.key),
|
|
326
|
+
title: "Install the latest CLI and refresh its model list",
|
|
327
|
+
children: [
|
|
328
|
+
i.setupRunning ? /* @__PURE__ */ e(C, { className: "size-4 animate-spin" }) : /* @__PURE__ */ e(v, { className: "size-4" }),
|
|
329
|
+
i.setupRunning ? "Updating…" : "Update"
|
|
315
330
|
]
|
|
316
331
|
}
|
|
317
332
|
) : null,
|
|
318
|
-
o.length &&
|
|
333
|
+
o.length && H ? /* @__PURE__ */ s(
|
|
319
334
|
u,
|
|
320
335
|
{
|
|
321
336
|
size: "sm",
|
|
322
337
|
variant: "outline",
|
|
323
|
-
disabled:
|
|
338
|
+
disabled: i.setupRunning,
|
|
324
339
|
onClick: () => h(),
|
|
325
340
|
title: "Add another Claude account",
|
|
326
341
|
children: [
|
|
@@ -329,16 +344,16 @@ function re({
|
|
|
329
344
|
]
|
|
330
345
|
}
|
|
331
346
|
) : null,
|
|
332
|
-
|
|
347
|
+
i.canLoginInTerminal && !G ? /* @__PURE__ */ s(
|
|
333
348
|
u,
|
|
334
349
|
{
|
|
335
350
|
size: "sm",
|
|
336
351
|
variant: "outline",
|
|
337
|
-
disabled:
|
|
338
|
-
onClick: () =>
|
|
339
|
-
title: n.key === "aisdk" && o.length ? "Add another Claude account" :
|
|
352
|
+
disabled: i.setupRunning,
|
|
353
|
+
onClick: () => m(n.key),
|
|
354
|
+
title: n.key === "aisdk" && o.length ? "Add another Claude account" : I.has(n.key) ? `Sign in to ${n.label} in your browser` : `Open terminal and run ${i.loginCommand}`,
|
|
340
355
|
children: [
|
|
341
|
-
|
|
356
|
+
I.has(n.key) ? /* @__PURE__ */ e(f, { className: "size-4" }) : /* @__PURE__ */ e(S, { className: "size-4" }),
|
|
342
357
|
"Login"
|
|
343
358
|
]
|
|
344
359
|
}
|
|
@@ -352,5 +367,5 @@ function re({
|
|
|
352
367
|
] });
|
|
353
368
|
}
|
|
354
369
|
export {
|
|
355
|
-
|
|
370
|
+
ce as default
|
|
356
371
|
};
|
|
@@ -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, a5 as Ai, ad as Mn, B as Ge, R as Tn, X as Qn, L as Xi, ag as Ln } from "./embedded-
|
|
4
|
-
import { K as Rn } from "./keyboard-
|
|
3
|
+
import { f as Fn, a5 as Ai, ad as Mn, B as Ge, R as Tn, X as Qn, L as Xi, ag as Ln } from "./embedded-1oSKBM-6.js";
|
|
4
|
+
import { K as Rn } from "./keyboard-upN3UNSy.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license lucide-react v0.577.0 - ISC
|
|
7
7
|
*
|