@tangle-network/agent-app 0.60.178 → 0.60.179
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/agent-profiles/d1.js +3 -3
- package/dist/agent-profiles/index.js +3 -3
- package/dist/assistant/index.js +5 -5
- package/dist/channels/index.js +1 -1
- package/dist/chat-routes/index.js +4 -4
- package/dist/{chunk-GIJY3YCH.js → chunk-3RHAF2P5.js} +11 -13
- package/dist/chunk-3RHAF2P5.js.map +1 -0
- package/dist/{chunk-ER3KSBA4.js → chunk-75ZIWV4U.js} +4 -4
- package/dist/{chunk-7PSYT35Z.js → chunk-7BYY7QKC.js} +5 -5
- package/dist/{chunk-7PSYT35Z.js.map → chunk-7BYY7QKC.js.map} +1 -1
- package/dist/chunk-A2GG4D4A.js +43 -0
- package/dist/chunk-A2GG4D4A.js.map +1 -0
- package/dist/{chunk-6CKNC32J.js → chunk-AJZ3EJB5.js} +2 -2
- package/dist/{chunk-4WEUWCA4.js → chunk-EQRVOMMS.js} +2 -2
- package/dist/{chunk-ARBBJWZA.js → chunk-KOTNMTHV.js} +3 -3
- package/dist/{chunk-LSUELMHY.js → chunk-LN5RBVGP.js} +6 -33
- package/dist/{chunk-LSUELMHY.js.map → chunk-LN5RBVGP.js.map} +1 -1
- package/dist/{chunk-IAFPBYQQ.js → chunk-QGOGX3DL.js} +52 -67
- package/dist/chunk-QGOGX3DL.js.map +1 -0
- package/dist/{chunk-NO2YNV5C.js → chunk-YXLN4PXK.js} +2 -2
- package/dist/integrations-react/index.js +1 -1
- package/dist/preset-cloudflare/index.js +2 -2
- package/dist/sandbox/index.js +4 -4
- package/dist/stories/app-shell/interaction-evidence.d.ts +31 -0
- package/dist/studio-react/index.js +2 -2
- package/dist/theme/tokens.css +158 -0
- package/dist/tools/index.js +4 -4
- package/dist/web-react/action-dialog.d.ts +2 -2
- package/dist/web-react/agent-profile-editor.js +1 -1
- package/dist/web-react/agent-profile-form-kit.d.ts +1 -1
- package/dist/web-react/async/index.js +1 -1
- package/dist/web-react/index.js +5 -5
- package/dist/work-product/index.js +2 -2
- package/dist/workspace-react/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-GIJY3YCH.js.map +0 -1
- package/dist/chunk-IAFPBYQQ.js.map +0 -1
- package/dist/chunk-QJYJOMMO.js +0 -78
- package/dist/chunk-QJYJOMMO.js.map +0 -1
- /package/dist/{chunk-ER3KSBA4.js.map → chunk-75ZIWV4U.js.map} +0 -0
- /package/dist/{chunk-6CKNC32J.js.map → chunk-AJZ3EJB5.js.map} +0 -0
- /package/dist/{chunk-4WEUWCA4.js.map → chunk-EQRVOMMS.js.map} +0 -0
- /package/dist/{chunk-ARBBJWZA.js.map → chunk-KOTNMTHV.js.map} +0 -0
- /package/dist/{chunk-NO2YNV5C.js.map → chunk-YXLN4PXK.js.map} +0 -0
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from "./chunk-TJ4DYKF2.js";
|
|
32
32
|
import {
|
|
33
33
|
AsyncView
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-LN5RBVGP.js";
|
|
35
35
|
import {
|
|
36
36
|
attachmentPartsFromMessageParts
|
|
37
37
|
} from "./chunk-YR6TZ777.js";
|
|
@@ -60,6 +60,7 @@ import {
|
|
|
60
60
|
// src/web-react/index.tsx
|
|
61
61
|
import { useEffect as useEffect15, useMemo as useMemo8, useRef as useRef14, useState as useState21, memo } from "react";
|
|
62
62
|
import { isViewerMessage, MessageAuthor, TRANSCRIPT_TEXT } from "@tangle-network/ui/chat";
|
|
63
|
+
import { TerminalDisplay, TerminalLine } from "@tangle-network/ui/primitives";
|
|
63
64
|
import { InlineToolItem } from "@tangle-network/ui/run";
|
|
64
65
|
|
|
65
66
|
// src/web-react/smooth-text.ts
|
|
@@ -3501,6 +3502,7 @@ import {
|
|
|
3501
3502
|
useRef as useRef10,
|
|
3502
3503
|
useState as useState16
|
|
3503
3504
|
} from "react";
|
|
3505
|
+
import { Button as Button3, EmptyState, Skeleton, Table, TableHeader, TableBody, TableFooter, TableRow, TableHead, TableCell } from "@tangle-network/ui/primitives";
|
|
3504
3506
|
|
|
3505
3507
|
// src/web-react/record-grid-model.ts
|
|
3506
3508
|
function recordGridOk(value) {
|
|
@@ -4181,7 +4183,7 @@ function RecordGrid({
|
|
|
4181
4183
|
"Loading ",
|
|
4182
4184
|
caption
|
|
4183
4185
|
] }),
|
|
4184
|
-
Array.from({ length: Math.max(1, loadingRowCount) }, (_, index) => /* @__PURE__ */ jsx14(
|
|
4186
|
+
Array.from({ length: Math.max(1, loadingRowCount) }, (_, index) => /* @__PURE__ */ jsx14(Skeleton, { className: "h-8", "aria-hidden": true }, index))
|
|
4185
4187
|
]
|
|
4186
4188
|
}
|
|
4187
4189
|
)
|
|
@@ -4225,30 +4227,18 @@ function RecordGrid({
|
|
|
4225
4227
|
if (visibleRows.length === 0 && !reviewing) {
|
|
4226
4228
|
return /* @__PURE__ */ jsxs12("div", { className: `space-y-3 ${className ?? ""}`, children: [
|
|
4227
4229
|
toolbar,
|
|
4228
|
-
addForm ?? /* @__PURE__ */
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
)),
|
|
4241
|
-
onCreate && /* @__PURE__ */ jsx14(
|
|
4242
|
-
"button",
|
|
4243
|
-
{
|
|
4244
|
-
type: "button",
|
|
4245
|
-
onClick: openAdd,
|
|
4246
|
-
className: "rounded-md border border-border px-3 py-1.5 text-sm font-medium text-foreground transition hover:bg-accent",
|
|
4247
|
-
children: addLabel
|
|
4248
|
-
}
|
|
4249
|
-
)
|
|
4250
|
-
] })
|
|
4251
|
-
] })
|
|
4230
|
+
addForm ?? /* @__PURE__ */ jsx14(
|
|
4231
|
+
EmptyState,
|
|
4232
|
+
{
|
|
4233
|
+
title: empty.title,
|
|
4234
|
+
description: empty.description,
|
|
4235
|
+
className: "rounded-xl border border-dashed border-border",
|
|
4236
|
+
action: /* @__PURE__ */ jsxs12("div", { className: "flex flex-wrap items-center justify-center gap-2", children: [
|
|
4237
|
+
empty.action && (isValidElement(empty.action) ? empty.action : /* @__PURE__ */ jsx14(Button3, { type: "button", variant: "outline", size: "sm", onClick: empty.action.onClick, children: empty.action.label })),
|
|
4238
|
+
onCreate && /* @__PURE__ */ jsx14(Button3, { type: "button", variant: "outline", size: "sm", onClick: openAdd, children: addLabel })
|
|
4239
|
+
] })
|
|
4240
|
+
}
|
|
4241
|
+
)
|
|
4252
4242
|
] });
|
|
4253
4243
|
}
|
|
4254
4244
|
const hasFooter = columns.some((column) => column.footerValue !== void 0);
|
|
@@ -4302,27 +4292,28 @@ function RecordGrid({
|
|
|
4302
4292
|
toolbar,
|
|
4303
4293
|
reviewBar,
|
|
4304
4294
|
/* @__PURE__ */ jsx14("div", { className: "overflow-x-auto rounded-xl border border-card-edge bg-card", children: /* @__PURE__ */ jsxs12(
|
|
4305
|
-
|
|
4295
|
+
Table,
|
|
4306
4296
|
{
|
|
4297
|
+
wrapper: false,
|
|
4307
4298
|
role: "grid",
|
|
4308
4299
|
"aria-label": caption,
|
|
4309
|
-
className: "
|
|
4300
|
+
className: "border-collapse text-left",
|
|
4310
4301
|
onKeyDown: handleGridKeyDown,
|
|
4311
4302
|
children: [
|
|
4312
|
-
/* @__PURE__ */ jsx14(
|
|
4303
|
+
/* @__PURE__ */ jsx14(TableHeader, { children: /* @__PURE__ */ jsxs12(TableRow, { role: "row", className: "text-xs uppercase tracking-[0.05em] text-muted-foreground", children: [
|
|
4313
4304
|
columns.map((column) => /* @__PURE__ */ jsx14(
|
|
4314
|
-
|
|
4305
|
+
TableHead,
|
|
4315
4306
|
{
|
|
4316
4307
|
role: "columnheader",
|
|
4317
4308
|
scope: "col",
|
|
4318
|
-
className: `px-3 py-2
|
|
4309
|
+
className: `h-auto px-3 py-2 ${alignmentClass(column)}`,
|
|
4319
4310
|
children: column.header
|
|
4320
4311
|
},
|
|
4321
4312
|
column.id
|
|
4322
4313
|
)),
|
|
4323
|
-
showActionsColumn && /* @__PURE__ */ jsx14(
|
|
4314
|
+
showActionsColumn && /* @__PURE__ */ jsx14(TableHead, { role: "columnheader", scope: "col", className: "h-auto w-px px-3 py-2", children: /* @__PURE__ */ jsx14("span", { className: "sr-only", children: reviewing ? "Review" : "Row actions" }) })
|
|
4324
4315
|
] }) }),
|
|
4325
|
-
/* @__PURE__ */ jsxs12(
|
|
4316
|
+
/* @__PURE__ */ jsxs12(TableBody, { children: [
|
|
4326
4317
|
visibleRows.map((row) => {
|
|
4327
4318
|
const rowLabel = recordGridRowLabel(columns, row);
|
|
4328
4319
|
const pending = row.id in pendingRows;
|
|
@@ -4331,12 +4322,12 @@ function RecordGrid({
|
|
|
4331
4322
|
const removedRow = rowDiff?.kind === "removed";
|
|
4332
4323
|
return /* @__PURE__ */ jsxs12(Fragment4, { children: [
|
|
4333
4324
|
/* @__PURE__ */ jsxs12(
|
|
4334
|
-
|
|
4325
|
+
TableRow,
|
|
4335
4326
|
{
|
|
4336
4327
|
role: "row",
|
|
4337
4328
|
"aria-busy": pending,
|
|
4338
4329
|
"data-record-grid-diff": rowDiff?.kind,
|
|
4339
|
-
className:
|
|
4330
|
+
className: `${pending ? "opacity-60" : ""} ${removedRow ? "bg-destructive/[0.06]" : ""}`,
|
|
4340
4331
|
children: [
|
|
4341
4332
|
columns.map((column) => {
|
|
4342
4333
|
const key = cellKey(row.id, column.id);
|
|
@@ -4350,7 +4341,7 @@ function RecordGrid({
|
|
|
4350
4341
|
const errorId = `${fieldPrefix}-cell-error-${row.id}-${column.id}`;
|
|
4351
4342
|
const cellDiff = rowDiff?.kind === "changed" ? diffCellByKey.get(key) : void 0;
|
|
4352
4343
|
if (isEditing && editable) {
|
|
4353
|
-
return /* @__PURE__ */ jsxs12(
|
|
4344
|
+
return /* @__PURE__ */ jsxs12(TableCell, { role: "gridcell", className: `px-3 py-1.5 ${alignmentClass(column)}`, children: [
|
|
4354
4345
|
/* @__PURE__ */ jsx14(
|
|
4355
4346
|
CellEditor,
|
|
4356
4347
|
{
|
|
@@ -4368,7 +4359,7 @@ function RecordGrid({
|
|
|
4368
4359
|
] }, column.id);
|
|
4369
4360
|
}
|
|
4370
4361
|
if (column.kind === "boolean" && editable) {
|
|
4371
|
-
return /* @__PURE__ */ jsx14(
|
|
4362
|
+
return /* @__PURE__ */ jsx14(TableCell, { role: "gridcell", className: `px-3 py-2 ${alignmentClass(column)}`, children: /* @__PURE__ */ jsx14(
|
|
4372
4363
|
"input",
|
|
4373
4364
|
{
|
|
4374
4365
|
type: "checkbox",
|
|
@@ -4388,7 +4379,7 @@ function RecordGrid({
|
|
|
4388
4379
|
}
|
|
4389
4380
|
const display = applicable ? formatRecordGridValue(column, value, locale) : "";
|
|
4390
4381
|
return /* @__PURE__ */ jsx14(
|
|
4391
|
-
|
|
4382
|
+
TableCell,
|
|
4392
4383
|
{
|
|
4393
4384
|
role: "gridcell",
|
|
4394
4385
|
"aria-readonly": editable ? void 0 : true,
|
|
@@ -4434,7 +4425,7 @@ function RecordGrid({
|
|
|
4434
4425
|
column.id
|
|
4435
4426
|
);
|
|
4436
4427
|
}),
|
|
4437
|
-
showActionsColumn && /* @__PURE__ */ jsx14(
|
|
4428
|
+
showActionsColumn && /* @__PURE__ */ jsx14(TableCell, { role: "gridcell", className: "px-3 py-2 text-right", children: reviewing ? rowDiff && /* @__PURE__ */ jsx14(
|
|
4438
4429
|
ReviewActions,
|
|
4439
4430
|
{
|
|
4440
4431
|
rowId: row.id,
|
|
@@ -4493,23 +4484,23 @@ function RecordGrid({
|
|
|
4493
4484
|
]
|
|
4494
4485
|
}
|
|
4495
4486
|
),
|
|
4496
|
-
rowError !== void 0 && /* @__PURE__ */ jsx14(
|
|
4487
|
+
rowError !== void 0 && /* @__PURE__ */ jsx14(TableRow, { role: "row", children: /* @__PURE__ */ jsx14(TableCell, { role: "gridcell", colSpan: columnSpan, className: "px-3 pb-2", children: /* @__PURE__ */ jsx14("p", { role: "alert", className: "rounded-md bg-destructive/10 px-2.5 py-1.5 text-xs text-destructive", children: rowError }) }) })
|
|
4497
4488
|
] }, row.id);
|
|
4498
4489
|
}),
|
|
4499
4490
|
reviewing && addedRows.map((row) => {
|
|
4500
4491
|
const rowLabel = recordGridRowLabel(columns, row);
|
|
4501
4492
|
return /* @__PURE__ */ jsxs12(
|
|
4502
|
-
|
|
4493
|
+
TableRow,
|
|
4503
4494
|
{
|
|
4504
4495
|
role: "row",
|
|
4505
4496
|
"data-record-grid-diff": "added",
|
|
4506
|
-
className: "
|
|
4497
|
+
className: "bg-success/[0.06]",
|
|
4507
4498
|
children: [
|
|
4508
4499
|
columns.map((column, columnIndex) => {
|
|
4509
4500
|
const applicable = isRecordGridCellApplicable(column, row.values);
|
|
4510
4501
|
const value = row.values[column.id] ?? null;
|
|
4511
4502
|
const display = applicable ? formatRecordGridValue(column, value, locale) : "";
|
|
4512
|
-
return /* @__PURE__ */ jsx14(
|
|
4503
|
+
return /* @__PURE__ */ jsx14(TableCell, { role: "gridcell", className: `px-3 py-2 ${alignmentClass(column)}`, children: /* @__PURE__ */ jsxs12("span", { className: "inline-flex max-w-full items-center gap-1.5", children: [
|
|
4513
4504
|
columnIndex === 0 && /* @__PURE__ */ jsx14("span", { className: "inline-flex shrink-0 rounded border border-success/60 px-1 py-px text-[11px] font-semibold uppercase tracking-[0.05em] text-success", children: "New" }),
|
|
4514
4505
|
/* @__PURE__ */ jsx14(
|
|
4515
4506
|
"span",
|
|
@@ -4520,7 +4511,7 @@ function RecordGrid({
|
|
|
4520
4511
|
)
|
|
4521
4512
|
] }) }, column.id);
|
|
4522
4513
|
}),
|
|
4523
|
-
/* @__PURE__ */ jsx14(
|
|
4514
|
+
/* @__PURE__ */ jsx14(TableCell, { role: "gridcell", className: "px-3 py-2 text-right", children: /* @__PURE__ */ jsx14(
|
|
4524
4515
|
ReviewActions,
|
|
4525
4516
|
{
|
|
4526
4517
|
rowId: row.id,
|
|
@@ -4536,9 +4527,9 @@ function RecordGrid({
|
|
|
4536
4527
|
);
|
|
4537
4528
|
})
|
|
4538
4529
|
] }),
|
|
4539
|
-
hasFooter && /* @__PURE__ */ jsx14(
|
|
4530
|
+
hasFooter && /* @__PURE__ */ jsx14(TableFooter, { children: /* @__PURE__ */ jsxs12(TableRow, { role: "row", className: "border-t-2 border-border", children: [
|
|
4540
4531
|
columns.map((column) => /* @__PURE__ */ jsx14(
|
|
4541
|
-
|
|
4532
|
+
TableCell,
|
|
4542
4533
|
{
|
|
4543
4534
|
role: "gridcell",
|
|
4544
4535
|
className: `px-3 py-2 text-sm font-semibold text-foreground ${alignmentClass(column)}`,
|
|
@@ -4546,7 +4537,7 @@ function RecordGrid({
|
|
|
4546
4537
|
},
|
|
4547
4538
|
column.id
|
|
4548
4539
|
)),
|
|
4549
|
-
showActionsColumn && /* @__PURE__ */ jsx14(
|
|
4540
|
+
showActionsColumn && /* @__PURE__ */ jsx14(TableCell, { role: "gridcell" })
|
|
4550
4541
|
] }) })
|
|
4551
4542
|
]
|
|
4552
4543
|
}
|
|
@@ -5682,12 +5673,9 @@ function PagerButton({
|
|
|
5682
5673
|
|
|
5683
5674
|
// src/web-react/api-access-panel.tsx
|
|
5684
5675
|
import { useEffect as useEffect14, useRef as useRef13, useState as useState19 } from "react";
|
|
5685
|
-
import { PageHeader } from "@tangle-network/ui/primitives";
|
|
5676
|
+
import { Button as Button4, Input, PageHeader } from "@tangle-network/ui/primitives";
|
|
5686
5677
|
import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
5687
5678
|
var defaultExpiryChoices = [1, 7, 30];
|
|
5688
|
-
var inputClass = "h-11 w-full rounded-lg border border-input bg-background px-3 text-sm text-foreground";
|
|
5689
|
-
var buttonClass = "inline-flex items-center justify-center rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50";
|
|
5690
|
-
var outlineClass = "inline-flex items-center justify-center rounded-lg border border-input bg-background px-3 py-2 text-sm font-medium text-foreground disabled:opacity-50";
|
|
5691
5679
|
function pruneScopes(scopes, access) {
|
|
5692
5680
|
const offered = new Map(access.map((option) => [option.scope, option]));
|
|
5693
5681
|
const selected = new Set(scopes.filter((scope) => offered.has(scope)));
|
|
@@ -5825,8 +5813,8 @@ function ApiAccessPanel({
|
|
|
5825
5813
|
/* @__PURE__ */ jsx18("h2", { ref: keyHeading, tabIndex: -1, id: "save-api-key", className: "font-medium outline-none", children: "Save your key" }),
|
|
5826
5814
|
/* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground", children: "Copy it directly into your client\u2019s secret storage. It is shown only now. Keep it out of chat messages and prompts." }),
|
|
5827
5815
|
/* @__PURE__ */ jsxs16("div", { className: "flex gap-2", children: [
|
|
5828
|
-
/* @__PURE__ */ jsx18(
|
|
5829
|
-
/* @__PURE__ */ jsx18(
|
|
5816
|
+
/* @__PURE__ */ jsx18(Input, { size: "lg", "aria-label": "New API key", type: "password", value: created.key, readOnly: true, autoComplete: "off", className: "min-w-0 font-mono" }),
|
|
5817
|
+
/* @__PURE__ */ jsx18(Button4, { onClick: async () => {
|
|
5830
5818
|
try {
|
|
5831
5819
|
await navigator.clipboard.writeText(created.key);
|
|
5832
5820
|
setNotice("Key copied");
|
|
@@ -5835,7 +5823,7 @@ function ApiAccessPanel({
|
|
|
5835
5823
|
}
|
|
5836
5824
|
}, children: "Copy key" })
|
|
5837
5825
|
] }),
|
|
5838
|
-
/* @__PURE__ */ jsx18(
|
|
5826
|
+
/* @__PURE__ */ jsx18(Button4, { variant: "outline", onClick: () => {
|
|
5839
5827
|
setCreated(null);
|
|
5840
5828
|
setNotice(null);
|
|
5841
5829
|
}, children: "I\u2019ve saved it" })
|
|
@@ -5844,7 +5832,7 @@ function ApiAccessPanel({
|
|
|
5844
5832
|
/* @__PURE__ */ jsxs16("div", { className: "grid gap-4 sm:grid-cols-[1fr_10rem]", children: [
|
|
5845
5833
|
/* @__PURE__ */ jsxs16("div", { className: "space-y-1.5", children: [
|
|
5846
5834
|
/* @__PURE__ */ jsx18("label", { className: "text-sm font-medium", htmlFor: "key-name", children: "Name" }),
|
|
5847
|
-
/* @__PURE__ */ jsx18("
|
|
5835
|
+
/* @__PURE__ */ jsx18(Input, { size: "lg", ref: nameInput, id: "key-name", value: name, onChange: (event) => setName(event.target.value), placeholder: "Client on my server", maxLength: 100, required: true, autoComplete: "off" })
|
|
5848
5836
|
] }),
|
|
5849
5837
|
/* @__PURE__ */ jsxs16("div", { className: "space-y-1.5", children: [
|
|
5850
5838
|
/* @__PURE__ */ jsx18("label", { className: "text-sm font-medium", htmlFor: "key-expiry", children: "Expires in" }),
|
|
@@ -5893,7 +5881,7 @@ function ApiAccessPanel({
|
|
|
5893
5881
|
})
|
|
5894
5882
|
] }),
|
|
5895
5883
|
limitsDescription && /* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground", children: limitsDescription }),
|
|
5896
|
-
/* @__PURE__ */ jsx18(
|
|
5884
|
+
/* @__PURE__ */ jsx18(Button4, { type: "submit", disabled: creating || !name.trim() || !selectedScopes.length || selectedDays === void 0, children: creating ? "Creating\u2026" : "Create key" })
|
|
5897
5885
|
] }),
|
|
5898
5886
|
/* @__PURE__ */ jsxs16("section", { "aria-labelledby": "existing-keys", className: "space-y-3", children: [
|
|
5899
5887
|
/* @__PURE__ */ jsx18("h2", { id: "existing-keys", className: "font-medium", children: "Your keys" }),
|
|
@@ -5904,7 +5892,7 @@ function ApiAccessPanel({
|
|
|
5904
5892
|
/* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground", children: key.scopes.map((scope) => access.find((access2) => access2.scope === scope)?.label ?? scope).join(" \xB7 ") }),
|
|
5905
5893
|
workspaces && /* @__PURE__ */ jsx18("p", { className: "text-sm text-muted-foreground", children: key.workspaceIds?.length ? `Only ${key.workspaceIds.map(workspaceName).join(", ")}` : `All ${workspaceNoun.plural}` })
|
|
5906
5894
|
] }),
|
|
5907
|
-
/* @__PURE__ */ jsx18(
|
|
5895
|
+
/* @__PURE__ */ jsx18(Button4, { variant: "outline", disabled: revoking !== null, onClick: () => revokeKey(key.id), "aria-label": `Revoke ${key.name}`, children: revoking === key.id ? "Revoking\u2026" : "Revoke" })
|
|
5908
5896
|
] }, key.id)) })
|
|
5909
5897
|
] }),
|
|
5910
5898
|
/* @__PURE__ */ jsxs16("p", { className: "text-sm text-muted-foreground", children: [
|
|
@@ -6242,16 +6230,13 @@ function KvRows({ data }) {
|
|
|
6242
6230
|
function ShellDetail({ call }) {
|
|
6243
6231
|
const outcome = toolOutcomeOf(call);
|
|
6244
6232
|
const r = outcome?.result ?? {};
|
|
6245
|
-
return /* @__PURE__ */ jsxs19(
|
|
6246
|
-
/* @__PURE__ */
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
r.exitCode
|
|
6250
|
-
"exit ",
|
|
6251
|
-
r.exitCode
|
|
6252
|
-
] })
|
|
6233
|
+
return /* @__PURE__ */ jsxs19(TerminalDisplay, { showHeader: false, autoScroll: false, maxHeight: "14rem", className: "text-xs", children: [
|
|
6234
|
+
/* @__PURE__ */ jsx22(TerminalLine, { type: "command", children: String(call.args?.command ?? "") }),
|
|
6235
|
+
r.exitCode != null && /* @__PURE__ */ jsxs19(TerminalLine, { type: r.exitCode === 0 ? "success" : "error", children: [
|
|
6236
|
+
"exit ",
|
|
6237
|
+
r.exitCode
|
|
6253
6238
|
] }),
|
|
6254
|
-
/* @__PURE__ */ jsx22(
|
|
6239
|
+
/* @__PURE__ */ jsx22(TerminalLine, { type: outcome?.ok === false ? "error" : "output", children: outcome?.ok === false ? outcome.message ?? "failed" : [r.stdout, r.stderr].filter(Boolean).join("\n") || "(no output)" })
|
|
6255
6240
|
] });
|
|
6256
6241
|
}
|
|
6257
6242
|
function DefaultToolDetail({ call }) {
|
|
@@ -7016,4 +7001,4 @@ export {
|
|
|
7016
7001
|
useThinkingSeconds,
|
|
7017
7002
|
ChatMessages
|
|
7018
7003
|
};
|
|
7019
|
-
//# sourceMappingURL=chunk-
|
|
7004
|
+
//# sourceMappingURL=chunk-QGOGX3DL.js.map
|