@qredence/fleet 0.5.10 → 0.5.11
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/CHANGELOG.md +15 -0
- package/dist/web/client/assets/agent-activity-CwMDU7aP.js +1 -0
- package/dist/web/client/assets/artifacts-panel-CQmFEF_H.js +1 -0
- package/dist/web/client/assets/{chat-command-palette-DfYSPPXI.js → chat-command-palette-CmHTS3rs.js} +1 -1
- package/dist/web/client/assets/{chat-C8XDWWXz.js → chat-yh02zgA7.js} +1 -1
- package/dist/web/client/assets/{citations-BQ_pr_9_.js → citations-C_tPOJE_.js} +1 -1
- package/dist/web/client/assets/{fleet-message-queue-zWM5-y18.js → fleet-message-queue-DUz6Hfrf.js} +1 -1
- package/dist/web/client/assets/{fleet-pi-tool-renderer-AJoMbXBa.js → fleet-pi-tool-renderer-BEDIO3al.js} +4 -4
- package/dist/web/client/assets/fleet-reasoning-panel-CbkO7u-v.js +1 -0
- package/dist/web/client/assets/{fleet-subagent-list-BnRnrWKS.js → fleet-subagent-list-iKUtLJKZ.js} +1 -1
- package/dist/web/client/assets/fleet-tool-timeline-C8heL7ae.js +1 -0
- package/dist/web/client/assets/{fork-picker-dialog-CkcSekBl.js → fork-picker-dialog-ByBOGVsa.js} +1 -1
- package/dist/web/client/assets/globals-B_I1Eq1u.css +2 -0
- package/dist/web/client/assets/horizontal-resize-qK6eRhIG.js +1 -0
- package/dist/web/client/assets/{index-DlnHLDpx.js → index-C1zOjrMK.js} +3 -3
- package/dist/web/client/assets/{ipython-tool-BrMePqD-.js → ipython-tool-ldJ9F1Cw.js} +1 -1
- package/dist/web/client/assets/model-selector-list-DsKTuAgS.js +1 -0
- package/dist/web/client/assets/{openui-renderer-DwYFJdbe.js → openui-renderer-J3dhPpL4.js} +5 -5
- package/dist/web/client/assets/prompt-input-qPIXZ-Rb.js +1 -0
- package/dist/web/client/assets/prompt-suggestions-Cc--lSNR.js +1 -0
- package/dist/web/client/assets/{provider-label-BCJh04J5.js → provider-label-Dpr7djG9.js} +1 -1
- package/dist/web/client/assets/repl-panel-DsPX04Xr.js +1 -0
- package/dist/web/client/assets/{resources-panel-Bo8dfUdm.js → resources-panel-D867-goy.js} +1 -1
- package/dist/web/client/assets/right-panel-registry-DewpBWHM.js +2 -0
- package/dist/web/client/assets/routes-vNkVToAF.js +16 -0
- package/dist/web/client/assets/safe-storage-s25GrfpH.js +1 -0
- package/dist/web/client/assets/session-insights-panel-YnaXvTpi.js +1 -0
- package/dist/web/client/assets/settings-dialog-B-v4me3Y.js +1 -0
- package/dist/web/client/assets/skeleton-loaders-C9vHwAYV.js +1 -0
- package/dist/web/client/assets/{subagent-chat-panel-DseoO31p.js → subagent-chat-panel-DkVUumrP.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-D8wmQxXe.js +1 -0
- package/dist/web/client/assets/subagents-panel-BMp2Ego0.js +1 -0
- package/dist/web/client/assets/{surfaces-cW-gp56p.js → surfaces-DI-U-_2a.js} +1 -1
- package/dist/web/client/assets/tool-result-DfnPN0FQ.js +4 -0
- package/dist/web/client/assets/ui-preferences-CImQGZm_.js +1 -0
- package/dist/web/client/assets/virtualized-turn-list-DMJENRY0.js +6 -0
- package/dist/web/client/assets/{workspace-panel-DI1W3ce9.js → workspace-panel-G6yMpKJ8.js} +1 -1
- package/dist/web/client/bundle-budget.json +6 -6
- package/dist/web/server/{_tanstack-start-manifest_v-Cdx6hy2i-I7A5YJRU.js → _tanstack-start-manifest_v-po4woX6g-AUGCOEZ2.js} +14 -13
- package/dist/web/server/{agent-activity-B-JMvecd-SLE3GGY2.js → agent-activity-CS2rbF_C-A3R26CYH.js} +2 -2
- package/dist/web/server/{artifacts-panel-DLMK1O8P-42T45JMA.js → artifacts-panel-8GGUCtOd-X5TNKTY2.js} +12 -12
- package/dist/web/server/{chat-command-palette-CdYwoTMe-4LBAZF7K.js → chat-command-palette-Dgl5tqWn-72LLEWUD.js} +2 -2
- package/dist/web/server/{chunk-K5ESTT4A.js → chunk-7MDZVLIY.js} +11 -3
- package/dist/web/server/{chunk-EBCYJSBR.js → chunk-7SD2ZSEA.js} +3 -3
- package/dist/web/server/{chunk-M564UIEY.js → chunk-ABBWBBSS.js} +8 -8
- package/dist/web/server/{chunk-KNJUSMBT.js → chunk-BXWAUTTH.js} +2 -2
- package/dist/web/server/{chunk-54II5QXQ.js → chunk-ETTDO4UO.js} +6 -3
- package/dist/web/server/{chunk-EHNIN245.js → chunk-GETSIVNU.js} +5 -5
- package/dist/web/server/{chunk-NRDG2ISJ.js → chunk-GGT2ZKDB.js} +49 -49
- package/dist/web/server/{chunk-X2R5YPQZ.js → chunk-IJPCV6DH.js} +3 -2
- package/dist/web/server/{chunk-AJJ2S5FF.js → chunk-JQDLJ7KI.js} +20 -20
- package/dist/web/server/{chunk-VHBFU4TG.js → chunk-JUROEEWM.js} +43 -14
- package/dist/web/server/{chunk-TCH3U26B.js → chunk-MIW4LJTV.js} +2 -2
- package/dist/web/server/{chunk-2TRF62K5.js → chunk-N6NOTURM.js} +3 -3
- package/dist/web/server/{chunk-5XX7RKJ6.js → chunk-NXJ32VFR.js} +5 -5
- package/dist/web/server/{chunk-EOVMHQ2H.js → chunk-O4OTWWPF.js} +7 -7
- package/dist/web/server/{chunk-OB5OSYJK.js → chunk-RNOJACWQ.js} +53 -29
- package/dist/web/server/chunk-SZJUXVWG.js +40 -0
- package/dist/web/server/{chunk-6AW2XFTZ.js → chunk-WILCIZYU.js} +194 -10
- package/dist/web/server/{chunk-FED63ZHU.js → chunk-WKV2Z4KO.js} +10 -5
- package/dist/web/server/{chunk-ANL4B775.js → chunk-XLNCWZMZ.js} +2 -2
- package/dist/web/server/{chunk-GM32R7JW.js → chunk-YKVGQBZA.js} +10 -8
- package/dist/web/server/{chunk-3PIUR75R.js → chunk-YXXRP3NS.js} +9 -9
- package/dist/web/server/{fleet-message-queue-BxycG26e-2XLOTCLP.js → fleet-message-queue-j0DCU5Xy-5HKBHMPV.js} +2 -2
- package/dist/web/server/{fleet-pi-tool-renderer-RIeVlM9J-D6MISCQC.js → fleet-pi-tool-renderer-umKunT3K-O4GBH35V.js} +5 -5
- package/dist/web/server/{fleet-reasoning-panel-D_K48UOT-GN2PA6KT.js → fleet-reasoning-panel-BxC2COxi-GPLMQSTT.js} +9 -9
- package/dist/web/server/{fleet-subagent-list-5luKtpds-3OTVFHJQ.js → fleet-subagent-list-CpSYzCIq-JDH2LHSS.js} +1 -1
- package/dist/web/server/{fleet-tool-timeline-DwRqQgOj-HUFLGMDV.js → fleet-tool-timeline-IB36_PB2-XJENTO6I.js} +1 -1
- package/dist/web/server/{fork-picker-dialog-B9yGc8Au-IL63F2DN.js → fork-picker-dialog-DlINz9UQ-UWIXFDJX.js} +3 -3
- package/dist/web/server/{model-selector-list-cb2-ewoA-KIVU6LD3.js → model-selector-list-OYnzNbyu-HBGCNF2L.js} +5 -5
- package/dist/web/server/{openui-renderer-Czy5Vo2L-BLXPJD65.js → openui-renderer-Cj7kfqyL-EKJ6JTTQ.js} +4 -4
- package/dist/web/server/{prompt-suggestions-BOmHi4-J-C563CHFU.js → prompt-suggestions-D4AEEY7K-RZSP7PWV.js} +3 -3
- package/dist/web/server/{repl-panel-yyxhwe4c-7U6HXYPS.js → repl-panel-D5KsoJik-BQKO53JO.js} +9 -9
- package/dist/web/server/{resources-panel-j4fAIi9g-5C267IXV.js → resources-panel-CE5pD4vy-V5FXBTYC.js} +2 -2
- package/dist/web/server/{router-CgSWrAYc-5UBYSZTJ.js → router-Ci1wxI7I-E2AYMNON.js} +253 -76
- package/dist/web/server/{routes-CP_BBhD0-BAWQYGKY.js → routes-CRpm9-Sa-IYK6MUJO.js} +705 -537
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/{session-insights-panel-BHZyKDTo-LRMAMA3O.js → session-insights-panel-CUhdgvRt-VB2HUCQP.js} +4 -4
- package/dist/web/server/{settings-dialog-CxHe8nym-KKXDPTIW.js → settings-dialog-BvkgNflv-GPJ6COQO.js} +14 -10
- package/dist/web/server/{subagent-chat-panel-DlSsM59d-DBW7DI3T.js → subagent-chat-panel-CMuvW9Sd-M5TEEGQW.js} +11 -11
- package/dist/web/server/{subagents-panel-Txzk8oDb-NRKLASYN.js → subagents-panel-DgfB6_Yy-4INEPE3Y.js} +13 -13
- package/dist/web/server/{workspace-panel-BOs-58Cv-SWQBMZSB.js → workspace-panel-bpwj-Veu-Q2CEJMN4.js} +4 -3
- package/package.json +1 -1
- package/dist/web/client/assets/agent-activity-CDcDNVC6.js +0 -1
- package/dist/web/client/assets/artifacts-panel-CObI-DMt.js +0 -1
- package/dist/web/client/assets/fleet-reasoning-panel-MtbSdoCv.js +0 -1
- package/dist/web/client/assets/fleet-tool-timeline-COzPrwr8.js +0 -1
- package/dist/web/client/assets/generative-text-renderer-CDKHv-v_.js +0 -6
- package/dist/web/client/assets/globals-DisQPFtV.css +0 -2
- package/dist/web/client/assets/horizontal-resize-Bl3AyBJg.js +0 -1
- package/dist/web/client/assets/model-selector-list-DQaPFUYt.js +0 -1
- package/dist/web/client/assets/prompt-input-DZ4cho_e.js +0 -1
- package/dist/web/client/assets/prompt-suggestions-CXM6knMK.js +0 -1
- package/dist/web/client/assets/repl-panel-BDQ5MEgV.js +0 -1
- package/dist/web/client/assets/right-panel-registry-VVRPktV3.js +0 -2
- package/dist/web/client/assets/routes-DAikUNzO.js +0 -16
- package/dist/web/client/assets/session-insights-panel-CQdT90Op.js +0 -1
- package/dist/web/client/assets/settings-dialog-DS64KmwC.js +0 -1
- package/dist/web/client/assets/skeleton-loaders-DjGv9LLA.js +0 -1
- package/dist/web/client/assets/subagent-transcript-cxVKYnh9.js +0 -1
- package/dist/web/client/assets/subagents-panel-CHC96I68.js +0 -1
- package/dist/web/client/assets/tool-result-Baj3CdL_.js +0 -4
- package/dist/web/client/assets/ui-preferences-DUEFuJFj.js +0 -1
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
MessageCircleQuestionMark,
|
|
7
7
|
PI_TOOL_RENDERERS,
|
|
8
8
|
useHoverCapable
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-N6NOTURM.js";
|
|
10
10
|
import {
|
|
11
11
|
pct,
|
|
12
12
|
progressOf
|
|
13
13
|
} from "./chunk-V3S6BVXO.js";
|
|
14
14
|
import {
|
|
15
15
|
mono
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-XLNCWZMZ.js";
|
|
17
17
|
import {
|
|
18
18
|
Eye
|
|
19
19
|
} from "./chunk-2ST2ULW7.js";
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
FileDiff,
|
|
48
48
|
ToolResult,
|
|
49
49
|
ToolResultOutput
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-YXXRP3NS.js";
|
|
51
51
|
import {
|
|
52
52
|
ActionSwapRollText,
|
|
53
53
|
FileCodeCorner
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
ToolTextShimmer,
|
|
116
116
|
adaptToolPart,
|
|
117
117
|
useToolComplete
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-NXJ32VFR.js";
|
|
119
119
|
import {
|
|
120
120
|
createLucideIcon
|
|
121
121
|
} from "./chunk-4ZIEVI5O.js";
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
__exportAll
|
|
127
127
|
} from "./chunk-L547YHC4.js";
|
|
128
128
|
|
|
129
|
-
// web/app/dist/server/assets/fleet-pi-tool-renderer-
|
|
129
|
+
// web/app/dist/server/assets/fleet-pi-tool-renderer-umKunT3K.js
|
|
130
130
|
import React, { createContext, memo, useCallback, useContext, useEffect, useId, useInsertionEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
131
131
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
132
132
|
var ChevronsDown = createLucideIcon("chevrons-down", [["path", {
|
|
@@ -503,7 +503,7 @@ function QuestionTool({ part }) {
|
|
|
503
503
|
className: "flex h-7 items-center justify-between border-b border-border px-3 text-xs text-an-tool-color-muted",
|
|
504
504
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
505
505
|
className: "inline-flex items-center gap-1.5",
|
|
506
|
-
children: [/* @__PURE__ */ jsx(MessageCircleQuestionMark, { className: "
|
|
506
|
+
children: [/* @__PURE__ */ jsx(MessageCircleQuestionMark, { className: "size-3.5" }), "Question"]
|
|
507
507
|
}), showNavigation && /* @__PURE__ */ jsxs("div", {
|
|
508
508
|
className: "inline-flex items-center gap-1",
|
|
509
509
|
children: [
|
|
@@ -513,7 +513,7 @@ function QuestionTool({ part }) {
|
|
|
513
513
|
disabled: !canGoPrev,
|
|
514
514
|
className: "inline-flex size-5 items-center justify-center rounded-[4px] hover:bg-an-background-secondary disabled:opacity-40",
|
|
515
515
|
"aria-label": "Previous question",
|
|
516
|
-
children: /* @__PURE__ */ jsx(ChevronUp, { className: "
|
|
516
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "size-3.5" })
|
|
517
517
|
}),
|
|
518
518
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
519
519
|
clampedIndex,
|
|
@@ -526,7 +526,7 @@ function QuestionTool({ part }) {
|
|
|
526
526
|
disabled: !canGoNext,
|
|
527
527
|
className: "inline-flex size-5 items-center justify-center rounded-[4px] hover:bg-an-background-secondary disabled:opacity-40",
|
|
528
528
|
"aria-label": "Next question",
|
|
529
|
-
children: /* @__PURE__ */ jsx(ChevronDown, { className: "
|
|
529
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-3.5" })
|
|
530
530
|
})
|
|
531
531
|
]
|
|
532
532
|
})]
|
|
@@ -994,7 +994,7 @@ function BashToolTerminalCard({ step, state, onComplete, approval }) {
|
|
|
994
994
|
})]
|
|
995
995
|
}),
|
|
996
996
|
/* @__PURE__ */ jsxs("div", {
|
|
997
|
-
className: "overflow-hidden border-t border-border bg-background px-2.5 py-1.5 font-mono text-[
|
|
997
|
+
className: "overflow-hidden border-t border-border bg-background px-2.5 py-1.5 font-mono text-[0.75rem] leading-[16px]",
|
|
998
998
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
999
999
|
className: "break-all",
|
|
1000
1000
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
@@ -11944,7 +11944,7 @@ function EditToolDiffCard({ step, state, onComplete, input, output, isCollapsibl
|
|
|
11944
11944
|
]
|
|
11945
11945
|
})]
|
|
11946
11946
|
}), step.diffStats && !isPending && /* @__PURE__ */ jsx("span", {
|
|
11947
|
-
className: "inline-flex gap-2 font-mono text-[
|
|
11947
|
+
className: "inline-flex gap-2 font-mono text-[0.6875rem] text-an-tool-color-muted",
|
|
11948
11948
|
children: step.diffStats.split(" ").map((token) => /* @__PURE__ */ jsx("span", {
|
|
11949
11949
|
className: token.startsWith("+") ? "text-an-diff-added-text" : token.startsWith("-") ? "text-an-diff-removed-text" : void 0,
|
|
11950
11950
|
children: token
|
|
@@ -11952,7 +11952,7 @@ function EditToolDiffCard({ step, state, onComplete, input, output, isCollapsibl
|
|
|
11952
11952
|
})]
|
|
11953
11953
|
}),
|
|
11954
11954
|
diffFiles ? /* @__PURE__ */ jsx("div", {
|
|
11955
|
-
className: `${diffClassName} text-[
|
|
11955
|
+
className: `${diffClassName} text-[0.75rem]`,
|
|
11956
11956
|
style: diffCssVars,
|
|
11957
11957
|
children: /* @__PURE__ */ jsxs("div", {
|
|
11958
11958
|
className: isCollapsible ? "group/edit-diff relative" : "relative",
|
|
@@ -12239,7 +12239,7 @@ var PlanTool = memo(function PlanTool2({ part, chatStatus }) {
|
|
|
12239
12239
|
className: "text-sm text-an-tool-color",
|
|
12240
12240
|
children: plan.title
|
|
12241
12241
|
}), actionLabel ? /* @__PURE__ */ jsx("div", {
|
|
12242
|
-
className: "rounded-full border border-border px-2 py-0.5 text-[
|
|
12242
|
+
className: "rounded-full border border-border px-2 py-0.5 text-[0.6875rem] text-an-tool-color-muted",
|
|
12243
12243
|
children: actionLabel
|
|
12244
12244
|
}) : null]
|
|
12245
12245
|
}), hasSummary ? /* @__PURE__ */ jsxs("div", {
|
|
@@ -12275,10 +12275,10 @@ var PlanTool = memo(function PlanTool2({ part, chatStatus }) {
|
|
|
12275
12275
|
className: "-mx-2 h-5 rounded-[4px] px-1.5 text-xs text-muted-foreground hover:text-an-tool-color",
|
|
12276
12276
|
children: isExpanded ? "Hide detailed plan" : "Read detailed plan"
|
|
12277
12277
|
}), canAct ? /* @__PURE__ */ jsx("div", {
|
|
12278
|
-
className: "text-[
|
|
12278
|
+
className: "text-[0.6875rem] text-an-tool-color-muted",
|
|
12279
12279
|
children: "Choose what to do with this plan."
|
|
12280
12280
|
}) : isAlreadyApproved ? /* @__PURE__ */ jsx("div", {
|
|
12281
|
-
className: "text-[
|
|
12281
|
+
className: "text-[0.6875rem] text-an-tool-color-muted",
|
|
12282
12282
|
children: "Approved"
|
|
12283
12283
|
}) : null]
|
|
12284
12284
|
}),
|
|
@@ -12711,7 +12711,7 @@ ${displayOutput}
|
|
|
12711
12711
|
expandable: hasExpandableContent,
|
|
12712
12712
|
defaultOpen,
|
|
12713
12713
|
children: codeBlock && /* @__PURE__ */ jsx(LazyMarkdown, {
|
|
12714
|
-
className: "text-[
|
|
12714
|
+
className: "text-[0.75rem]",
|
|
12715
12715
|
codeControls: false,
|
|
12716
12716
|
content: codeBlock
|
|
12717
12717
|
})
|
|
@@ -13183,7 +13183,7 @@ function ImageGeneration({ children, status = "generating", label, prompt, resol
|
|
|
13183
13183
|
}, "dither-field") : null
|
|
13184
13184
|
}),
|
|
13185
13185
|
resolution ? /* @__PURE__ */ jsx("span", {
|
|
13186
|
-
className: "absolute top-2 right-2 z-10 rounded-full bg-background/75 px-2 py-0.5 font-mono text-[
|
|
13186
|
+
className: "absolute top-2 right-2 z-10 rounded-full bg-background/75 px-2 py-0.5 font-mono text-[0.625rem] tabular-nums text-muted-foreground",
|
|
13187
13187
|
children: resolution
|
|
13188
13188
|
}) : null
|
|
13189
13189
|
]
|
|
@@ -13492,7 +13492,7 @@ function TodoList({ items, title = "To-dos", open, defaultOpen = true, onOpenCha
|
|
|
13492
13492
|
className: "scrollbar-hide overflow-y-auto px-2 pb-2",
|
|
13493
13493
|
style: { maxHeight },
|
|
13494
13494
|
children: [/* @__PURE__ */ jsx("ol", {
|
|
13495
|
-
"aria-live": "polite",
|
|
13495
|
+
"aria-live": allComplete ? "polite" : "off",
|
|
13496
13496
|
className: "space-y-0",
|
|
13497
13497
|
children: /* @__PURE__ */ jsx(AnimatePresence, {
|
|
13498
13498
|
initial: false,
|
|
@@ -13580,7 +13580,7 @@ function AgentPlan({ steps, activeIndex, className, ...props }) {
|
|
|
13580
13580
|
/* @__PURE__ */ jsxs("div", {
|
|
13581
13581
|
className: "flex items-center justify-between",
|
|
13582
13582
|
children: [/* @__PURE__ */ jsx("span", {
|
|
13583
|
-
className: "text-[
|
|
13583
|
+
className: "text-[0.84375rem] font-medium",
|
|
13584
13584
|
children: "Plan"
|
|
13585
13585
|
}), /* @__PURE__ */ jsxs("span", {
|
|
13586
13586
|
className: cn(mono, "text-foreground/35 tabular-nums"),
|
|
@@ -13604,7 +13604,7 @@ function AgentPlan({ steps, activeIndex, className, ...props }) {
|
|
|
13604
13604
|
const done = allDone || i < completed;
|
|
13605
13605
|
const active = !allDone && i === completed;
|
|
13606
13606
|
return /* @__PURE__ */ jsxs("li", {
|
|
13607
|
-
className: "flex items-center gap-2.5 text-[
|
|
13607
|
+
className: "flex items-center gap-2.5 text-[0.84375rem]",
|
|
13608
13608
|
children: [/* @__PURE__ */ jsx("span", {
|
|
13609
13609
|
className: "flex size-4 shrink-0 items-center justify-center",
|
|
13610
13610
|
children: done ? /* @__PURE__ */ jsx(Check, { className: "text-foreground/35 size-3.5" }) : active ? /* @__PURE__ */ jsx(LoaderCircle, { className: "text-foreground/90 size-3.5 animate-spin motion-reduce:animate-none" }) : /* @__PURE__ */ jsx("span", {
|
|
@@ -13702,7 +13702,7 @@ function ToolApproval({ tool, title = "Allow this tool to run?", description, pa
|
|
|
13702
13702
|
children: tool
|
|
13703
13703
|
})]
|
|
13704
13704
|
}), /* @__PURE__ */ jsx("span", {
|
|
13705
|
-
className: cn("shrink-0 rounded-full border px-2 py-0.5 text-[
|
|
13705
|
+
className: cn("shrink-0 rounded-full border px-2 py-0.5 text-[0.6875rem] font-medium transition-colors", getStatusBadgeClass(status)),
|
|
13706
13706
|
children: getStatusCopy(status)
|
|
13707
13707
|
})]
|
|
13708
13708
|
}),
|
|
@@ -7,16 +7,15 @@ import {
|
|
|
7
7
|
} from "./chunk-FAGDMGLK.js";
|
|
8
8
|
import {
|
|
9
9
|
ChatDeliveryModeSchema,
|
|
10
|
-
ChatPackageSourceSchema,
|
|
11
10
|
ChatThinkingLevelSchema,
|
|
12
11
|
ChatTransportSchema,
|
|
13
12
|
external_exports,
|
|
14
13
|
nonEmptyStringSchema,
|
|
15
14
|
nonNegativeIntSchema,
|
|
16
15
|
positiveIntSchema
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-GGT2ZKDB.js";
|
|
18
17
|
|
|
19
|
-
// web/app/dist/server/assets/chat-protocol.zod-
|
|
18
|
+
// web/app/dist/server/assets/chat-protocol.zod-B9cCCMrC.js
|
|
20
19
|
import { useEffect, useRef, useState } from "react";
|
|
21
20
|
import { jsx } from "react/jsx-runtime";
|
|
22
21
|
function LazyMotion({ children, features, strict = false }) {
|
|
@@ -371,6 +370,19 @@ var ChatCommandsResponseSchema = external_exports.object({
|
|
|
371
370
|
}).openapi({ description: "Chat slash commands response" });
|
|
372
371
|
external_exports.object({ message: external_exports.string() }).openapi({ description: "Error response" });
|
|
373
372
|
external_exports.object({ status: external_exports.literal("ok") }).openapi({ description: "Health check response" });
|
|
373
|
+
var chatResourcePathSchema = nonEmptyStringSchema.max(1024);
|
|
374
|
+
var chatResourcePathArraySchema = external_exports.array(chatResourcePathSchema);
|
|
375
|
+
var chatResourcePathUpdateArraySchema = chatResourcePathArraySchema.max(100);
|
|
376
|
+
var ChatPackageSourceObjectSchema = external_exports.object({
|
|
377
|
+
source: nonEmptyStringSchema,
|
|
378
|
+
extensions: external_exports.array(nonEmptyStringSchema).optional(),
|
|
379
|
+
skills: external_exports.array(nonEmptyStringSchema).optional(),
|
|
380
|
+
prompts: external_exports.array(nonEmptyStringSchema).optional(),
|
|
381
|
+
themes: external_exports.array(nonEmptyStringSchema).optional()
|
|
382
|
+
});
|
|
383
|
+
var ChatPackageSourceSettingsSchema = external_exports.union([nonEmptyStringSchema, ChatPackageSourceObjectSchema]);
|
|
384
|
+
var chatPackageSourceArraySchema = external_exports.array(ChatPackageSourceSettingsSchema);
|
|
385
|
+
var chatPackageSourceUpdateArraySchema = chatPackageSourceArraySchema.max(100);
|
|
374
386
|
var ChatPiSettingsSchema = external_exports.object({
|
|
375
387
|
compaction: external_exports.object({
|
|
376
388
|
enabled: external_exports.boolean(),
|
|
@@ -382,18 +394,18 @@ var ChatPiSettingsSchema = external_exports.object({
|
|
|
382
394
|
defaultThinkingLevel: ChatThinkingLevelSchema.optional(),
|
|
383
395
|
enableSkillCommands: external_exports.boolean(),
|
|
384
396
|
enabledModels: external_exports.array(nonEmptyStringSchema).optional(),
|
|
385
|
-
extensions:
|
|
397
|
+
extensions: chatResourcePathArraySchema,
|
|
386
398
|
followUpMode: ChatDeliveryModeSchema,
|
|
387
|
-
packages:
|
|
388
|
-
prompts:
|
|
399
|
+
packages: chatPackageSourceArraySchema,
|
|
400
|
+
prompts: chatResourcePathArraySchema,
|
|
389
401
|
retry: external_exports.object({
|
|
390
402
|
enabled: external_exports.boolean(),
|
|
391
403
|
maxRetries: nonNegativeIntSchema,
|
|
392
404
|
baseDelayMs: nonNegativeIntSchema
|
|
393
405
|
}),
|
|
394
|
-
skills:
|
|
406
|
+
skills: chatResourcePathArraySchema,
|
|
395
407
|
steeringMode: ChatDeliveryModeSchema,
|
|
396
|
-
themes:
|
|
408
|
+
themes: chatResourcePathArraySchema,
|
|
397
409
|
transport: ChatTransportSchema
|
|
398
410
|
}).openapi({ description: "Editable Pi settings" });
|
|
399
411
|
var ChatPiSettingsUpdateSchema = external_exports.object({
|
|
@@ -403,21 +415,38 @@ var ChatPiSettingsUpdateSchema = external_exports.object({
|
|
|
403
415
|
defaultThinkingLevel: ChatThinkingLevelSchema.optional(),
|
|
404
416
|
enableSkillCommands: external_exports.boolean().optional(),
|
|
405
417
|
enabledModels: external_exports.array(nonEmptyStringSchema).nullable().optional(),
|
|
406
|
-
extensions:
|
|
418
|
+
extensions: chatResourcePathUpdateArraySchema.optional(),
|
|
407
419
|
followUpMode: ChatDeliveryModeSchema.optional(),
|
|
408
|
-
packages:
|
|
409
|
-
prompts:
|
|
420
|
+
packages: chatPackageSourceUpdateArraySchema.optional(),
|
|
421
|
+
prompts: chatResourcePathUpdateArraySchema.optional(),
|
|
410
422
|
retry: ChatPiSettingsSchema.shape.retry.partial().optional(),
|
|
411
|
-
skills:
|
|
423
|
+
skills: chatResourcePathUpdateArraySchema.optional(),
|
|
412
424
|
steeringMode: ChatDeliveryModeSchema.optional(),
|
|
413
|
-
themes:
|
|
425
|
+
themes: chatResourcePathUpdateArraySchema.optional(),
|
|
414
426
|
transport: ChatTransportSchema.optional()
|
|
415
427
|
}).strict().openapi({ description: "Pi settings update" });
|
|
428
|
+
var chatPiSettingsProjectResponseSchema = external_exports.object({
|
|
429
|
+
compaction: ChatPiSettingsSchema.shape.compaction.partial().optional(),
|
|
430
|
+
defaultModel: external_exports.string().optional(),
|
|
431
|
+
defaultProvider: external_exports.string().optional(),
|
|
432
|
+
defaultThinkingLevel: ChatThinkingLevelSchema.optional(),
|
|
433
|
+
enableSkillCommands: external_exports.boolean().optional(),
|
|
434
|
+
enabledModels: external_exports.array(nonEmptyStringSchema).nullable().optional(),
|
|
435
|
+
extensions: chatResourcePathArraySchema.optional(),
|
|
436
|
+
followUpMode: ChatDeliveryModeSchema.optional(),
|
|
437
|
+
packages: chatPackageSourceArraySchema.optional(),
|
|
438
|
+
prompts: chatResourcePathArraySchema.optional(),
|
|
439
|
+
retry: ChatPiSettingsSchema.shape.retry.partial().optional(),
|
|
440
|
+
skills: chatResourcePathArraySchema.optional(),
|
|
441
|
+
steeringMode: ChatDeliveryModeSchema.optional(),
|
|
442
|
+
themes: chatResourcePathArraySchema.optional(),
|
|
443
|
+
transport: ChatTransportSchema.optional()
|
|
444
|
+
}).strict();
|
|
416
445
|
var ChatSettingsUpdateRequestSchema = external_exports.object({ settings: ChatPiSettingsUpdateSchema }).openapi({ description: "Pi settings update request" });
|
|
417
446
|
var ChatSettingsResponseSchema = external_exports.object({
|
|
418
447
|
diagnostics: external_exports.array(external_exports.string()),
|
|
419
448
|
effective: ChatPiSettingsSchema,
|
|
420
|
-
project:
|
|
449
|
+
project: chatPiSettingsProjectResponseSchema,
|
|
421
450
|
projectPath: external_exports.string(),
|
|
422
451
|
updateImpact: external_exports.object({
|
|
423
452
|
newSessionRecommended: external_exports.boolean(),
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
cn
|
|
71
71
|
} from "./chunk-DJMHPJBP.js";
|
|
72
72
|
|
|
73
|
-
// web/app/dist/server/assets/provider-label-
|
|
73
|
+
// web/app/dist/server/assets/provider-label-CnEydH8K.js
|
|
74
74
|
import * as React$1 from "react";
|
|
75
75
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
76
76
|
import * as ReactDOM from "react-dom";
|
|
@@ -908,7 +908,7 @@ function safePolygon(options = {}) {
|
|
|
908
908
|
};
|
|
909
909
|
return fn;
|
|
910
910
|
}
|
|
911
|
-
var COMPACT_ACTION_BUTTON_CLASS = "h-8 shrink-0 cursor-pointer rounded-full border-border/45 bg-background/65 px-3 text-[
|
|
911
|
+
var COMPACT_ACTION_BUTTON_CLASS = "h-8 shrink-0 cursor-pointer rounded-full border-border/45 bg-background/65 px-3 text-[0.6875rem] font-semibold text-foreground/75 shadow-sm transition-[background-color,border-color,box-shadow,opacity,transform] duration-150 hover:bg-foreground/5 active:scale-[0.96] disabled:opacity-50";
|
|
912
912
|
var HIT_AREA_EXPAND_CLASS = "relative after:absolute after:top-1/2 after:left-1/2 after:size-10 after:-translate-x-1/2 after:-translate-y-1/2";
|
|
913
913
|
var HIT_AREA_EXPAND_DENSE_CLASS = "relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5";
|
|
914
914
|
var CHROME_PILL_CLASS = "relative inline-flex h-9 items-center gap-1.5 rounded-[10px] border border-border/70 px-3 text-label font-medium whitespace-nowrap shadow-sm backdrop-blur transition-colors";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
cn
|
|
31
31
|
} from "./chunk-DJMHPJBP.js";
|
|
32
32
|
|
|
33
|
-
// web/app/dist/server/assets/citations-
|
|
33
|
+
// web/app/dist/server/assets/citations-CYHZanjq.js
|
|
34
34
|
import { Suspense, lazy, useCallback, useEffect, useId, useState } from "react";
|
|
35
35
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
36
36
|
var BookOpenText = createLucideIcon("book-open-text", [
|
|
@@ -191,7 +191,7 @@ function CitationRow({ citation, index, idPrefix }) {
|
|
|
191
191
|
/* @__PURE__ */ jsxs("span", {
|
|
192
192
|
className: "flex shrink-0 items-center gap-1.5",
|
|
193
193
|
children: [/* @__PURE__ */ jsx("span", {
|
|
194
|
-
className: "grid size-5 place-items-center rounded-md bg-foreground/[0.05] text-[
|
|
194
|
+
className: "grid size-5 place-items-center rounded-md bg-foreground/[0.05] text-[0.625rem] font-semibold tabular-nums text-muted-foreground",
|
|
195
195
|
children: index
|
|
196
196
|
}), safeUrl ? /* @__PURE__ */ jsx(ExternalLink, { className: "size-3.5 text-muted-foreground/40 transition-colors group-hover/citation:text-muted-foreground" }) : null]
|
|
197
197
|
})
|
|
@@ -276,7 +276,7 @@ function Citations({ citations, title = "Sources", open, defaultOpen = false, on
|
|
|
276
276
|
children: title
|
|
277
277
|
}),
|
|
278
278
|
/* @__PURE__ */ jsx("span", {
|
|
279
|
-
className: "rounded-full bg-muted px-1.5 py-0.5 text-[
|
|
279
|
+
className: "rounded-full bg-muted px-1.5 py-0.5 text-[0.625rem] font-semibold tabular-nums",
|
|
280
280
|
children: citations.length
|
|
281
281
|
}),
|
|
282
282
|
/* @__PURE__ */ jsx(m.span, {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
cn
|
|
6
6
|
} from "./chunk-DJMHPJBP.js";
|
|
7
7
|
|
|
8
|
-
// web/app/dist/server/assets/ipython-tool-
|
|
8
|
+
// web/app/dist/server/assets/ipython-tool-XRT6nQzr.js
|
|
9
9
|
import React, { memo, useEffect, useMemo, useRef, useState } from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
var CodeXml = createLucideIcon("code-xml", [
|
|
@@ -273,7 +273,7 @@ function IpythonCardHeader({ isPending, isBashCell, hasError, kernelRestarted })
|
|
|
273
273
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
274
274
|
className: "flex min-w-0 items-center gap-1.5 overflow-hidden",
|
|
275
275
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
276
|
-
className: "inline-flex items-center gap-1 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[
|
|
276
|
+
className: "inline-flex items-center gap-1 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[0.625rem] leading-none text-muted-foreground uppercase",
|
|
277
277
|
children: [/* @__PURE__ */ jsx(CodeXml, { className: "h-3 w-3" }), isBashCell ? "shell" : "python"]
|
|
278
278
|
}), isPending ? /* @__PURE__ */ jsx(ToolTextShimmer, {
|
|
279
279
|
as: "span",
|
|
@@ -303,9 +303,9 @@ function IpythonCardHeader({ isPending, isBashCell, hasError, kernelRestarted })
|
|
|
303
303
|
}
|
|
304
304
|
function IpythonBackgroundOutput({ output }) {
|
|
305
305
|
return /* @__PURE__ */ jsxs("div", {
|
|
306
|
-
className: "mt-1.5 border-t border-dashed border-border/70 pt-1.5 font-mono text-[
|
|
306
|
+
className: "mt-1.5 border-t border-dashed border-border/70 pt-1.5 font-mono text-[0.6875rem] leading-[15px]",
|
|
307
307
|
children: [/* @__PURE__ */ jsx("span", {
|
|
308
|
-
className: "text-[
|
|
308
|
+
className: "text-[0.625rem] font-semibold uppercase tracking-wider text-amber-600/90 dark:text-amber-400/90",
|
|
309
309
|
children: "Unattributed background output:"
|
|
310
310
|
}), /* @__PURE__ */ jsx("div", {
|
|
311
311
|
className: "mt-0.5 max-h-[140px] overflow-auto whitespace-pre-wrap rounded bg-muted/40 p-1.5 text-muted-foreground",
|
|
@@ -333,7 +333,7 @@ function IpythonCellCard({ step, state, onComplete, approval, cellIndex, part })
|
|
|
333
333
|
kernelRestarted: details?.kernelRestarted
|
|
334
334
|
}),
|
|
335
335
|
/* @__PURE__ */ jsxs("div", {
|
|
336
|
-
className: "overflow-hidden border-t border-border bg-background px-2.5 py-1.5 font-mono text-[
|
|
336
|
+
className: "overflow-hidden border-t border-border bg-background px-2.5 py-1.5 font-mono text-[0.75rem] leading-[16px]",
|
|
337
337
|
children: [
|
|
338
338
|
/* @__PURE__ */ jsxs("div", {
|
|
339
339
|
className: "break-all whitespace-pre-wrap",
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
createLucideIcon
|
|
22
22
|
} from "./chunk-4ZIEVI5O.js";
|
|
23
23
|
|
|
24
|
-
// web/app/dist/server/assets/right-panel-registry-
|
|
24
|
+
// web/app/dist/server/assets/right-panel-registry-BSPaXYPC.js
|
|
25
25
|
import { Suspense, lazy } from "react";
|
|
26
26
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
27
27
|
var Activity = createLucideIcon("activity", [["path", {
|
|
@@ -46,12 +46,12 @@ var Library = createLucideIcon("library", [
|
|
|
46
46
|
key: "6qkkli"
|
|
47
47
|
}]
|
|
48
48
|
]);
|
|
49
|
-
var LazyArtifactsPanel = lazy(() => import("./artifacts-panel-
|
|
50
|
-
var LazyResourcesPanel = lazy(() => import("./resources-panel-
|
|
51
|
-
var LazySessionInsightsPanel = lazy(() => import("./session-insights-panel-
|
|
52
|
-
var LazyReplPanel = lazy(() => import("./repl-panel-
|
|
53
|
-
var LazySubagentsPanel = lazy(() => import("./subagents-panel-
|
|
54
|
-
var LazyWorkspacePanel = lazy(() => import("./workspace-panel-
|
|
49
|
+
var LazyArtifactsPanel = lazy(() => import("./artifacts-panel-8GGUCtOd-X5TNKTY2.js").then(({ ArtifactsPanelContent }) => ({ default: ArtifactsPanelContent })));
|
|
50
|
+
var LazyResourcesPanel = lazy(() => import("./resources-panel-CE5pD4vy-V5FXBTYC.js").then(({ ResourcesPanelContent }) => ({ default: ResourcesPanelContent })));
|
|
51
|
+
var LazySessionInsightsPanel = lazy(() => import("./session-insights-panel-CUhdgvRt-VB2HUCQP.js").then(({ SessionInsightsPanel }) => ({ default: SessionInsightsPanel })));
|
|
52
|
+
var LazyReplPanel = lazy(() => import("./repl-panel-D5KsoJik-BQKO53JO.js").then(({ ReplPanelContent }) => ({ default: ReplPanelContent })));
|
|
53
|
+
var LazySubagentsPanel = lazy(() => import("./subagents-panel-DgfB6_Yy-4INEPE3Y.js").then(({ SubagentsPanelContent }) => ({ default: SubagentsPanelContent })));
|
|
54
|
+
var LazyWorkspacePanel = lazy(() => import("./workspace-panel-bpwj-Veu-Q2CEJMN4.js").then(({ WorkspacePanelContent }) => ({ default: WorkspacePanelContent })));
|
|
55
55
|
function PanelFallback() {
|
|
56
56
|
return /* @__PURE__ */ jsxs("div", {
|
|
57
57
|
className: "flex min-h-32 flex-col gap-3 p-4",
|
|
@@ -6,10 +6,11 @@ import {
|
|
|
6
6
|
MessageContent,
|
|
7
7
|
MessageScroller,
|
|
8
8
|
UserMessage,
|
|
9
|
+
VirtualizedTurnList,
|
|
9
10
|
buildAssistantElements,
|
|
10
11
|
groupMessages,
|
|
11
12
|
normalizeAssistantToolParts
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-WILCIZYU.js";
|
|
13
14
|
import {
|
|
14
15
|
RefreshCw
|
|
15
16
|
} from "./chunk-OKL5ZRVB.js";
|
|
@@ -18,16 +19,16 @@ import {
|
|
|
18
19
|
} from "./chunk-UCA4WN66.js";
|
|
19
20
|
import {
|
|
20
21
|
FleetPiToolRenderer
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-JQDLJ7KI.js";
|
|
22
23
|
import {
|
|
23
24
|
PI_TOOL_RENDERERS
|
|
24
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-N6NOTURM.js";
|
|
25
26
|
import {
|
|
26
27
|
FleetToolTimeline
|
|
27
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-IJPCV6DH.js";
|
|
28
29
|
import {
|
|
29
30
|
FleetSubagentList
|
|
30
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-7SD2ZSEA.js";
|
|
31
32
|
import {
|
|
32
33
|
derivePrimeAgentArtifactRuns
|
|
33
34
|
} from "./chunk-4UBOIY2S.js";
|
|
@@ -41,8 +42,8 @@ import {
|
|
|
41
42
|
cn
|
|
42
43
|
} from "./chunk-DJMHPJBP.js";
|
|
43
44
|
|
|
44
|
-
// web/app/dist/server/assets/subagent-transcript-
|
|
45
|
-
import { useMemo } from "react";
|
|
45
|
+
// web/app/dist/server/assets/subagent-transcript-CMFc5Jn2.js
|
|
46
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
46
47
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
47
48
|
function transcriptStatus(child) {
|
|
48
49
|
if (child.status === "running" || child.status === "recovering") return "streaming";
|
|
@@ -86,20 +87,44 @@ function SubagentTurnView({ turn, isLast, isStreaming, artifacts, presentation }
|
|
|
86
87
|
children: assistantElements
|
|
87
88
|
}),
|
|
88
89
|
isLast && presentation ? /* @__PURE__ */ jsx(FleetSubagentList, {
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
tree: presentation.rlmTree,
|
|
91
|
+
children: presentation.rlmChildren
|
|
91
92
|
}) : null
|
|
92
93
|
] })
|
|
93
94
|
}) })
|
|
94
95
|
}) : null]
|
|
95
96
|
});
|
|
96
97
|
}
|
|
98
|
+
function getSubagentTurnKey(turn, index) {
|
|
99
|
+
return turn.user?.id ?? turn.assistants[0]?.id ?? `subagent-turn-${index}`;
|
|
100
|
+
}
|
|
97
101
|
function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh, fullWidth = false, status: statusOverride }) {
|
|
98
102
|
const turns = useMemo(() => transcript?.status !== "loading" ? groupMessages(transcript?.messages ?? []) : [], [transcript]);
|
|
99
103
|
const childStatus = statusOverride ?? transcriptStatus(child);
|
|
100
104
|
const artifactRuns = useMemo(() => transcript?.status !== "loading" ? derivePrimeAgentArtifactRuns(transcript?.messages ?? [], transcript?.presentation, childStatus) : [], [childStatus, transcript]);
|
|
101
105
|
const artifacts = useMemo(() => artifactRuns.flatMap((run) => run.artifacts), [artifactRuns]);
|
|
106
|
+
const presentation = transcript?.presentation;
|
|
107
|
+
const renderSubagentTurn = useCallback((turn, index) => {
|
|
108
|
+
const isLast = index === turns.length - 1;
|
|
109
|
+
return /* @__PURE__ */ jsx(SubagentTurnView, {
|
|
110
|
+
turn,
|
|
111
|
+
isLast,
|
|
112
|
+
isStreaming: isLast && childStatus === "streaming",
|
|
113
|
+
artifacts: isLast ? artifacts : [],
|
|
114
|
+
presentation: isLast ? presentation : void 0
|
|
115
|
+
});
|
|
116
|
+
}, [
|
|
117
|
+
artifacts,
|
|
118
|
+
childStatus,
|
|
119
|
+
presentation,
|
|
120
|
+
turns.length
|
|
121
|
+
]);
|
|
102
122
|
const title = child.sessionName || child.label;
|
|
123
|
+
const [heartbeatLabel, setHeartbeatLabel] = useState(null);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
setHeartbeatLabel(child.lastHeardFrom ? new Date(child.lastHeardFrom).toLocaleTimeString() : null);
|
|
126
|
+
}, [child.lastHeardFrom]);
|
|
127
|
+
const viewportRef = useRef(null);
|
|
103
128
|
return /* @__PURE__ */ jsxs("section", {
|
|
104
129
|
"aria-label": `Subagent thread: ${child.label}`,
|
|
105
130
|
className: cn(fullWidth ? "flex min-h-0 min-w-0 flex-1 flex-col" : "space-y-2", "min-w-0"),
|
|
@@ -117,20 +142,20 @@ function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh,
|
|
|
117
142
|
className: "min-w-0 flex-1 truncate text-xs font-medium text-foreground/80",
|
|
118
143
|
children: title
|
|
119
144
|
}), /* @__PURE__ */ jsx("span", {
|
|
120
|
-
className: "shrink-0 text-[
|
|
145
|
+
className: "shrink-0 text-[0.625rem] capitalize text-foreground/45",
|
|
121
146
|
children: child.status
|
|
122
147
|
})]
|
|
123
148
|
}),
|
|
124
149
|
child.model ? /* @__PURE__ */ jsx("p", {
|
|
125
|
-
className: "truncate font-mono text-[
|
|
150
|
+
className: "truncate font-mono text-[0.625rem] text-foreground/40",
|
|
126
151
|
children: child.model
|
|
127
152
|
}) : null,
|
|
128
|
-
|
|
129
|
-
className: "truncate text-[
|
|
130
|
-
children: ["Heartbeat: ",
|
|
153
|
+
heartbeatLabel ? /* @__PURE__ */ jsxs("p", {
|
|
154
|
+
className: "truncate text-[0.625rem] text-foreground/40",
|
|
155
|
+
children: ["Heartbeat: ", heartbeatLabel]
|
|
131
156
|
}) : null,
|
|
132
157
|
child.answerPreview || child.recap ? /* @__PURE__ */ jsx("p", {
|
|
133
|
-
className: "mt-1 line-clamp-3 whitespace-pre-wrap text-[
|
|
158
|
+
className: "mt-1 line-clamp-3 whitespace-pre-wrap text-[0.6875rem] leading-4 text-foreground/55",
|
|
134
159
|
children: child.answerPreview ?? child.recap
|
|
135
160
|
}) : null
|
|
136
161
|
]
|
|
@@ -147,23 +172,23 @@ function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh,
|
|
|
147
172
|
}) : null
|
|
148
173
|
]
|
|
149
174
|
}), !parentSessionId ? /* @__PURE__ */ jsx("p", {
|
|
150
|
-
className: "rounded-md border border-dashed border-border/70
|
|
175
|
+
className: "rounded-md border border-dashed border-border/70 p-3 text-[0.6875rem] leading-4 text-foreground/45",
|
|
151
176
|
children: "This subagent thread is unavailable until the parent session is active."
|
|
152
177
|
}) : transcript?.status === "loading" ? /* @__PURE__ */ jsx("div", {
|
|
153
|
-
className: cn("flex items-center justify-center rounded-md border border-dashed border-border/70 text-[
|
|
178
|
+
className: cn("flex items-center justify-center rounded-md border border-dashed border-border/70 text-[0.6875rem] text-foreground/45", fullWidth ? "min-h-32 flex-1" : "min-h-32"),
|
|
154
179
|
children: "Loading subagent thread\u2026"
|
|
155
180
|
}) : transcript?.status === "error" && turns.length === 0 ? /* @__PURE__ */ jsxs("div", {
|
|
156
181
|
role: "alert",
|
|
157
|
-
className: "flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[
|
|
182
|
+
className: "flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[0.6875rem] leading-4 text-destructive",
|
|
158
183
|
children: [/* @__PURE__ */ jsx(CircleAlert, { className: "mt-0.5 size-3.5 shrink-0" }), /* @__PURE__ */ jsx("span", { children: transcript.error?.message ?? "Unable to load this subagent thread." })]
|
|
159
184
|
}) : turns.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
160
|
-
className: "rounded-md border border-dashed border-border/70
|
|
185
|
+
className: "rounded-md border border-dashed border-border/70 p-3 text-[0.6875rem] leading-4 text-foreground/45",
|
|
161
186
|
children: "This subagent thread has no messages yet."
|
|
162
187
|
}) : /* @__PURE__ */ jsxs("div", {
|
|
163
188
|
className: "flex min-h-0 flex-1 flex-col",
|
|
164
189
|
children: [transcript?.error ? /* @__PURE__ */ jsxs("div", {
|
|
165
190
|
role: "alert",
|
|
166
|
-
className: "mx-4 mt-2 flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[
|
|
191
|
+
className: "mx-4 mt-2 flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-[0.6875rem] leading-4 text-destructive sm:mx-6",
|
|
167
192
|
children: [/* @__PURE__ */ jsx(CircleAlert, { className: "mt-0.5 size-3.5 shrink-0" }), /* @__PURE__ */ jsx("span", { children: transcript.error.message })]
|
|
168
193
|
}) : null, /* @__PURE__ */ jsx("div", {
|
|
169
194
|
className: cn("min-h-0 rounded-md border border-border/60 bg-background", fullWidth ? "flex min-h-0 flex-1 flex-col border-x-0 rounded-none border-b-0" : "h-96 max-h-[calc(100svh-18rem)]"),
|
|
@@ -173,17 +198,16 @@ function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh,
|
|
|
173
198
|
followOutput: childStatus === "streaming",
|
|
174
199
|
label: `Transcript for ${child.label}`,
|
|
175
200
|
smooth: childStatus === "streaming",
|
|
201
|
+
viewportRef,
|
|
176
202
|
viewportClassName: fullWidth ? "px-0" : void 0,
|
|
177
203
|
contentClassName: cn("flex flex-col gap-4", fullWidth ? "mx-auto w-full max-w-3xl px-4 py-6 sm:px-6" : "px-2.5 py-3"),
|
|
178
|
-
children:
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
presentation: isLast ? transcript?.presentation : void 0
|
|
186
|
-
}, turn.user?.id ?? `subagent-turn-${index}`);
|
|
204
|
+
children: /* @__PURE__ */ jsx(VirtualizedTurnList, {
|
|
205
|
+
estimateSize: 320,
|
|
206
|
+
getItemKey: getSubagentTurnKey,
|
|
207
|
+
itemGap: 16,
|
|
208
|
+
items: turns,
|
|
209
|
+
renderItem: renderSubagentTurn,
|
|
210
|
+
viewportRef
|
|
187
211
|
})
|
|
188
212
|
})
|
|
189
213
|
})]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// web/app/dist/server/assets/safe-storage-BmW7IjhZ.js
|
|
2
|
+
function getStorage(kind) {
|
|
3
|
+
if (typeof window === "undefined") return null;
|
|
4
|
+
try {
|
|
5
|
+
return kind === "local" ? window.localStorage : window.sessionStorage;
|
|
6
|
+
} catch {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function readStoredValue(key, kind = "local") {
|
|
11
|
+
const storage = getStorage(kind);
|
|
12
|
+
if (!storage) return null;
|
|
13
|
+
try {
|
|
14
|
+
return storage.getItem(key);
|
|
15
|
+
} catch {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function writeStoredValue(key, value, kind = "local") {
|
|
20
|
+
const storage = getStorage(kind);
|
|
21
|
+
if (!storage) return;
|
|
22
|
+
try {
|
|
23
|
+
storage.setItem(key, value);
|
|
24
|
+
} catch {
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function removeStoredValue(key, kind = "local") {
|
|
28
|
+
const storage = getStorage(kind);
|
|
29
|
+
if (!storage) return;
|
|
30
|
+
try {
|
|
31
|
+
storage.removeItem(key);
|
|
32
|
+
} catch {
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
readStoredValue,
|
|
38
|
+
writeStoredValue,
|
|
39
|
+
removeStoredValue
|
|
40
|
+
};
|