@qredence/fleet 0.5.0 → 0.5.1
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 +14 -0
- package/README.md +8 -1
- package/dist/web/client/assets/artifacts-panel-CX62LQ13.js +1 -0
- package/dist/web/client/assets/artifacts-utils-N_kUFbz2.js +1 -0
- package/dist/web/client/assets/bot-Bs7QWJ2q.js +1 -0
- package/dist/web/client/assets/{chat-C64Sv6V-.js → chat-CsepBQwy.js} +5 -5
- package/dist/web/client/assets/{chat-command-palette-HpsmKfLO.js → chat-command-palette-C4sSf8Kg.js} +1 -1
- package/dist/web/client/assets/collapsible-DmyYcezk.js +1 -0
- package/dist/web/client/assets/command-CB6emP8m.js +2 -0
- package/dist/web/client/assets/conversation-turns-ByFoWPXe.js +6 -0
- package/dist/web/client/assets/ease-vFBiNFNK.js +9 -0
- package/dist/web/client/assets/{fleet-pi-tool-renderer-ZKiX6Ob_.js → fleet-pi-tool-renderer-BD_ZAjlG.js} +28 -30
- package/dist/web/client/assets/globals-CqqQdk2S.css +2 -0
- package/dist/web/client/assets/horizontal-resize-C1TpRLNC.js +1 -0
- package/dist/web/client/assets/index-DweoFRMs.js +12 -0
- package/dist/web/client/assets/{input-Clyn18XG.js → input-CqC82Agz.js} +1 -1
- package/dist/web/client/assets/{input-group-MxDAWX3j.js → input-group-H0TG-mkU.js} +1 -1
- package/dist/web/client/assets/ipython-tool-BfeIa0nK.js +3 -0
- package/dist/web/client/assets/markdown-DG7pUdsX.js +2 -0
- package/dist/web/client/assets/{markdown-code-pIaEVDUU.js → markdown-code-BgMzpy7O.js} +1 -1
- package/dist/web/client/assets/notify-Duj26eeZ.js +1 -0
- package/dist/web/client/assets/{openui-renderer-NLUpAS3h.js → openui-renderer-DlUo6ehT.js} +5 -5
- package/dist/web/client/assets/openui-utils-DawGoQNp.js +1 -0
- package/dist/web/client/assets/prime-agent-artifacts-CHGb5V_j.js +5 -0
- package/dist/web/client/assets/{provider-catalog-Gx9qaHBM.js → provider-catalog-BZhZuKSz.js} +1 -1
- package/dist/web/client/assets/provider-label-jKm8v18u.js +1 -0
- package/dist/web/client/assets/range-vSJ7Ux_5.js +2 -0
- package/dist/web/client/assets/repl-panel-DiGS6uCw.js +1 -0
- package/dist/web/client/assets/resource-helpers-ULlyU8qK.js +2 -0
- package/dist/web/client/assets/resources-panel-DSU7VGX2.js +1 -0
- package/dist/web/client/assets/routes-CxlNCi_v.js +16 -0
- package/dist/web/client/assets/session-insights-panel-DwmwiikS.js +1 -0
- package/dist/web/client/assets/settings-dialog-CkfpTKfM.js +1 -0
- package/dist/web/client/assets/skeleton-loaders-fStjEeRP.js +1 -0
- package/dist/web/client/assets/square-terminal-BYTN_I86.js +1 -0
- package/dist/web/client/assets/subagents-panel-DGnsK6Nx.js +1 -0
- package/dist/web/client/assets/{switch-ojzdMno9.js → switch-BFEBpUEU.js} +1 -1
- package/dist/web/client/assets/{tool-result-QvhjpNGX.js → tool-result-CBzwwUE9.js} +3 -3
- package/dist/web/client/assets/ui-preferences-DUEFuJFj.js +1 -0
- package/dist/web/client/assets/workspace-panel-CjdXlEvd.js +1 -0
- package/dist/web/client/assets/workspace-path-nav-C0AQNZyy.js +1 -0
- package/dist/web/server/{_tanstack-start-manifest_v-uZddQetG-MNZGQOSA.js → _tanstack-start-manifest_v-bDUlyKY0-KFW35JRO.js} +23 -16
- package/dist/web/server/{artifacts-panel-knpQvJ-q-WJLZ76QB.js → artifacts-panel-D9w1DHAN-FGRDCYU2.js} +37 -70
- package/dist/web/server/{chat-command-palette-CPv5GmGJ-22J32S6P.js → chat-command-palette-BaenPkCN-BHSOPGU4.js} +16 -14
- package/dist/web/server/{chunk-OADQILSQ.js → chunk-2U7PWSJX.js} +49 -47
- package/dist/web/server/{chunk-ZX3XOSYO.js → chunk-3GSFXWL5.js} +2 -2
- package/dist/web/server/{chunk-IFV5M33X.js → chunk-3IKSPTYI.js} +12 -26
- package/dist/web/server/{chunk-W7LNJCRJ.js → chunk-44IVTHDV.js} +18 -10
- package/dist/web/server/{chunk-I3FDTJFO.js → chunk-46VQY7SG.js} +6 -87
- package/dist/web/server/{chunk-WTYNN6EV.js → chunk-54II5QXQ.js} +23 -1
- package/dist/web/server/{chunk-PRT4QYOB.js → chunk-5AVQZ4AZ.js} +1 -35
- package/dist/web/server/chunk-6GMKRR3C.js +161 -0
- package/dist/web/server/chunk-74QOI457.js +45 -0
- package/dist/web/server/chunk-AQ66E5OW.js +33 -0
- package/dist/web/server/{chunk-TTQ75CXC.js → chunk-AZZHUVJR.js} +88 -23
- package/dist/web/server/{chunk-KAWYGHDN.js → chunk-B2F6MLVZ.js} +23 -1
- package/dist/web/server/{chunk-C7EKOPZU.js → chunk-DO3TVNGA.js} +87 -87
- package/dist/web/server/chunk-EIVNRYP3.js +48 -0
- package/dist/web/server/{chunk-UBUXV2TW.js → chunk-FBOO3G67.js} +6 -6
- package/dist/web/server/{chunk-MK3P3OBZ.js → chunk-FVWDJNXR.js} +5 -5
- package/dist/web/server/chunk-G5BCQQ5N.js +34 -0
- package/dist/web/server/{chunk-4KFMONRT.js → chunk-H64JLONZ.js} +9 -9
- package/dist/web/server/{chunk-KDSISV4P.js → chunk-HBZ6YKRB.js} +2 -50
- package/dist/web/server/{chunk-5277VI3D.js → chunk-KPNGZR2R.js} +12 -74
- package/dist/web/server/chunk-M2FGGPNA.js +376 -0
- package/dist/web/server/{chunk-KVHPE5XH.js → chunk-MDYA4NXK.js} +22 -8
- package/dist/web/server/chunk-NFRJDPB3.js +52 -0
- package/dist/web/server/chunk-P66QQWUM.js +67 -0
- package/dist/web/server/{fleet-pi-tool-renderer-5vYFNeZS-IHKMLT7W.js → chunk-PCJ5EKFE.js} +40 -392
- package/dist/web/server/{chunk-APN3LVRT.js → chunk-PWK2HJIV.js} +27 -30
- package/dist/web/server/{chunk-XXNFEXDU.js → chunk-QJBEWT4E.js} +2 -70
- package/dist/web/server/{chunk-JD6EWZCU.js → chunk-VHCAD46L.js} +48 -48
- package/dist/web/server/chunk-Y6LJ4WBI.js +1797 -0
- package/dist/web/server/{chunk-NGI44XRR.js → chunk-ZEVZFLIY.js} +1 -1
- package/dist/web/server/fleet-pi-tool-renderer-lJvZWmBJ-4M5YI6VS.js +35 -0
- package/dist/web/server/{fork-picker-dialog-BZzfxdQd-C6SPHFAW.js → fork-picker-dialog-BZzfxdQd-Y725VJ7G.js} +2 -2
- package/dist/web/server/{markdown-Ct_q4D-z-VFWZRBTY.js → markdown-Boni3lHk-AZGKDNAR.js} +1 -1
- package/dist/web/server/{markdown-code-C_ih1bX1-5CIWT3CH.js → markdown-code-BrWukbg3-D2GN4Y77.js} +2 -2
- package/dist/web/server/{openui-renderer-BT5jL0Yf-XYLLN5U6.js → openui-renderer-Cg4RSE9k-7BTJIYZJ.js} +12 -11
- package/dist/web/server/repl-panel-BEQrC2ef-V3YEZ7EO.js +117 -0
- package/dist/web/server/{resources-panel-DNCVHTIg-PJYMXVGE.js → resources-panel-CwKh4U9f-D3VDEMDW.js} +6 -6
- package/dist/web/server/{router-DDxOMz3K-HRBXILHM.js → router-CEahIUpn-SRG7XKIH.js} +131 -21
- package/dist/web/server/{routes-BX4Tv-6R-FHIZYUWW.js → routes-BznemByz-F4DJAYIM.js} +1371 -2499
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/{session-insights-panel-gYkkAE8H-W4O74Z7H.js → session-insights-panel-JfeTHE0d-3HZB3ZWI.js} +2 -2
- package/dist/web/server/{settings-dialog-BTBFLQ1P-ZENQ4KWK.js → settings-dialog-DgeBMORv-7SRSENPM.js} +47 -61
- package/dist/web/server/subagents-panel-CzZe3co7-2VZ5JTWF.js +332 -0
- package/dist/web/server/{chunk-5SZXUN3Y.js → workspace-panel-y54P79_B-VPIYUXF6.js} +29 -16
- package/package.json +11 -3
- package/dist/web/client/assets/artifacts-panel-8TyrNBM_.js +0 -1
- package/dist/web/client/assets/collapsible-WCSnxhr2.js +0 -1
- package/dist/web/client/assets/command-DgfiCKcY.js +0 -2
- package/dist/web/client/assets/globals-BmxtUHFx.css +0 -2
- package/dist/web/client/assets/horizontal-resize-B76jjn5v.js +0 -1
- package/dist/web/client/assets/index-0pBr_bKy.js +0 -12
- package/dist/web/client/assets/markdown-BXWmNJo7.js +0 -2
- package/dist/web/client/assets/prime-agent-artifacts-k9JiTDZM.js +0 -5
- package/dist/web/client/assets/provider-brand-icon-VCebsuTD.js +0 -1
- package/dist/web/client/assets/range-KAaLzImH.js +0 -2
- package/dist/web/client/assets/resources-panel-BWuKeyrb.js +0 -1
- package/dist/web/client/assets/routes-BPRw0UzV.js +0 -20
- package/dist/web/client/assets/session-insights-panel-CPymkzZT.js +0 -1
- package/dist/web/client/assets/settings-dialog-6p8mjg8t.js +0 -1
- package/dist/web/client/assets/shared-DAI9OAw0.js +0 -2
- package/dist/web/client/assets/skeleton-loaders-qxIkJKCA.js +0 -1
- package/dist/web/client/assets/workspace-panel-C67-fqw4.js +0 -1
- package/dist/web/client/assets/workspace-path-nav-BrQHo6es.js +0 -9
- package/dist/web/server/chunk-KJ4UUAEU.js +0 -83
- package/dist/web/server/workspace-panel-BNAXF57q-EQCBPEG4.js +0 -28
- package/dist/web/server/{chunk-AQWTGP35.js → chunk-FE4KN6T2.js} +5 -5
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FleetPiToolRenderer
|
|
3
|
+
} from "./chunk-PCJ5EKFE.js";
|
|
4
|
+
import "./chunk-44IVTHDV.js";
|
|
5
|
+
import "./chunk-P66QQWUM.js";
|
|
6
|
+
import "./chunk-DBXYBYBP.js";
|
|
7
|
+
import "./chunk-5WZFFNFY.js";
|
|
8
|
+
import "./chunk-2H6A6Z7F.js";
|
|
9
|
+
import "./chunk-YRWVQ7BW.js";
|
|
10
|
+
import "./chunk-3IKSPTYI.js";
|
|
11
|
+
import "./chunk-PWK2HJIV.js";
|
|
12
|
+
import "./chunk-QJBEWT4E.js";
|
|
13
|
+
import "./chunk-FAGDMGLK.js";
|
|
14
|
+
import "./chunk-6RJYXDSD.js";
|
|
15
|
+
import "./chunk-PKCTG7EW.js";
|
|
16
|
+
import "./chunk-7QCDOBZ3.js";
|
|
17
|
+
import "./chunk-LESNF5O4.js";
|
|
18
|
+
import "./chunk-QLY3L4A2.js";
|
|
19
|
+
import "./chunk-NLIUTTKL.js";
|
|
20
|
+
import "./chunk-XYYNYFFD.js";
|
|
21
|
+
import "./chunk-X2TUFLTP.js";
|
|
22
|
+
import "./chunk-ST5I2PLN.js";
|
|
23
|
+
import "./chunk-7APYEQIO.js";
|
|
24
|
+
import "./chunk-M2FGGPNA.js";
|
|
25
|
+
import "./chunk-G5BCQQ5N.js";
|
|
26
|
+
import "./chunk-BYXBJQAS.js";
|
|
27
|
+
import "./chunk-E26EAQIM.js";
|
|
28
|
+
import "./chunk-DJMHPJBP.js";
|
|
29
|
+
import "./chunk-UQVZJSZZ.js";
|
|
30
|
+
import "./chunk-JDCCC7A7.js";
|
|
31
|
+
import "./chunk-L547YHC4.js";
|
|
32
|
+
import "./chunk-MLKGABMK.js";
|
|
33
|
+
export {
|
|
34
|
+
FleetPiToolRenderer
|
|
35
|
+
};
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
DialogDescription,
|
|
5
5
|
DialogHeader,
|
|
6
6
|
DialogTitle
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-XYYNYFFD.js";
|
|
7
|
+
} from "./chunk-FE4KN6T2.js";
|
|
9
8
|
import "./chunk-RPROZ2JC.js";
|
|
9
|
+
import "./chunk-XYYNYFFD.js";
|
|
10
10
|
import "./chunk-X2TUFLTP.js";
|
|
11
11
|
import "./chunk-E26EAQIM.js";
|
|
12
12
|
import "./chunk-DJMHPJBP.js";
|
package/dist/web/server/{markdown-code-C_ih1bX1-5CIWT3CH.js → markdown-code-BrWukbg3-D2GN4Y77.js}
RENAMED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
fixNumberedListBreaks,
|
|
11
11
|
markdownComponents,
|
|
12
12
|
normalizeCodeFenceLanguages
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MDYA4NXK.js";
|
|
14
14
|
import "./chunk-BYXBJQAS.js";
|
|
15
15
|
import "./chunk-DJMHPJBP.js";
|
|
16
16
|
import {
|
|
@@ -21,7 +21,7 @@ import "./chunk-JDCCC7A7.js";
|
|
|
21
21
|
import "./chunk-L547YHC4.js";
|
|
22
22
|
import "./chunk-MLKGABMK.js";
|
|
23
23
|
|
|
24
|
-
// web/app/dist/server/assets/markdown-code-
|
|
24
|
+
// web/app/dist/server/assets/markdown-code-BrWukbg3.js
|
|
25
25
|
import { jsx } from "react/jsx-runtime";
|
|
26
26
|
var S = createJavaScriptRegexEngine({ forgiving: true });
|
|
27
27
|
var C = Object.fromEntries(bundledLanguagesInfo.flatMap((e) => {
|
|
@@ -2,24 +2,25 @@ import {
|
|
|
2
2
|
GenerativeTextRenderer,
|
|
3
3
|
OpenUIHtmlArtifactView,
|
|
4
4
|
openui_renderer_exports
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-2U7PWSJX.js";
|
|
6
|
+
import "./chunk-HBZ6YKRB.js";
|
|
7
|
+
import "./chunk-ZEVZFLIY.js";
|
|
8
|
+
import "./chunk-B2F6MLVZ.js";
|
|
9
|
+
import "./chunk-NFRJDPB3.js";
|
|
8
10
|
import "./chunk-LESNF5O4.js";
|
|
9
11
|
import "./chunk-52SJQXO4.js";
|
|
10
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-FBOO3G67.js";
|
|
13
|
+
import "./chunk-DO3TVNGA.js";
|
|
14
|
+
import "./chunk-RJOANOT4.js";
|
|
11
15
|
import "./chunk-QLY3L4A2.js";
|
|
12
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-VHCAD46L.js";
|
|
13
17
|
import "./chunk-NLIUTTKL.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-XYYNYFFD.js";
|
|
16
|
-
import "./chunk-NGI44XRR.js";
|
|
17
|
-
import "./chunk-KAWYGHDN.js";
|
|
18
|
-
import "./chunk-RJOANOT4.js";
|
|
18
|
+
import "./chunk-FE4KN6T2.js";
|
|
19
19
|
import "./chunk-RPROZ2JC.js";
|
|
20
|
+
import "./chunk-XYYNYFFD.js";
|
|
20
21
|
import "./chunk-X2TUFLTP.js";
|
|
21
22
|
import "./chunk-ST5I2PLN.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-MDYA4NXK.js";
|
|
23
24
|
import "./chunk-BYXBJQAS.js";
|
|
24
25
|
import "./chunk-E26EAQIM.js";
|
|
25
26
|
import "./chunk-DJMHPJBP.js";
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CodeXml,
|
|
3
|
+
IpythonTool
|
|
4
|
+
} from "./chunk-M2FGGPNA.js";
|
|
5
|
+
import {
|
|
6
|
+
SquareTerminal
|
|
7
|
+
} from "./chunk-G5BCQQ5N.js";
|
|
8
|
+
import "./chunk-BYXBJQAS.js";
|
|
9
|
+
import "./chunk-E26EAQIM.js";
|
|
10
|
+
import "./chunk-DJMHPJBP.js";
|
|
11
|
+
import "./chunk-JDCCC7A7.js";
|
|
12
|
+
import "./chunk-MLKGABMK.js";
|
|
13
|
+
|
|
14
|
+
// web/app/dist/server/assets/repl-panel-BEQrC2ef.js
|
|
15
|
+
import { useEffect, useRef } from "react";
|
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
var REPL_STATUS_DETAILS = {
|
|
18
|
+
running: {
|
|
19
|
+
toolState: "input-streaming",
|
|
20
|
+
label: "Running"
|
|
21
|
+
},
|
|
22
|
+
error: {
|
|
23
|
+
toolState: "output-error",
|
|
24
|
+
label: "Failed"
|
|
25
|
+
},
|
|
26
|
+
cancelled: {
|
|
27
|
+
toolState: "aborted",
|
|
28
|
+
label: "Cancelled"
|
|
29
|
+
},
|
|
30
|
+
success: {
|
|
31
|
+
toolState: "output-available",
|
|
32
|
+
label: "Completed"
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
function toolState(status) {
|
|
36
|
+
return REPL_STATUS_DETAILS[status].toolState;
|
|
37
|
+
}
|
|
38
|
+
function ipythonPart(artifact) {
|
|
39
|
+
return {
|
|
40
|
+
type: "tool-IPython",
|
|
41
|
+
toolCallId: artifact.sourceToolCallId ?? artifact.id,
|
|
42
|
+
state: toolState(artifact.status),
|
|
43
|
+
input: artifact.input,
|
|
44
|
+
output: artifact.output
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function statusLabel(status) {
|
|
48
|
+
return REPL_STATUS_DETAILS[status].label;
|
|
49
|
+
}
|
|
50
|
+
function ReplCell({ artifact, index, selected }) {
|
|
51
|
+
const cellRef = useRef(null);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (!selected) return;
|
|
54
|
+
requestAnimationFrame(() => {
|
|
55
|
+
cellRef.current?.focus({ preventScroll: true });
|
|
56
|
+
cellRef.current?.scrollIntoView({ block: "nearest" });
|
|
57
|
+
});
|
|
58
|
+
}, [artifact.id, selected]);
|
|
59
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
60
|
+
ref: cellRef,
|
|
61
|
+
tabIndex: -1,
|
|
62
|
+
className: "overflow-hidden rounded-md border border-border/60 bg-background outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
63
|
+
"data-repl-run-id": artifact.id,
|
|
64
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
65
|
+
className: "flex min-w-0 items-center gap-2 border-b border-border/50 px-2.5 py-1.5",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ jsx(CodeXml, { className: "size-3.5 shrink-0 text-foreground/45" }),
|
|
68
|
+
/* @__PURE__ */ jsxs("span", {
|
|
69
|
+
className: "min-w-0 flex-1 truncate text-[11px] font-medium text-foreground/70",
|
|
70
|
+
children: ["Cell ", index + 1]
|
|
71
|
+
}),
|
|
72
|
+
/* @__PURE__ */ jsx("span", {
|
|
73
|
+
className: "shrink-0 text-[10px] text-foreground/40",
|
|
74
|
+
children: statusLabel(artifact.status)
|
|
75
|
+
})
|
|
76
|
+
]
|
|
77
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
78
|
+
className: "p-2",
|
|
79
|
+
children: /* @__PURE__ */ jsx(IpythonTool, { part: ipythonPart(artifact) })
|
|
80
|
+
})]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function ReplPanelContent({ artifactRuns = [], selectedArtifactId }) {
|
|
84
|
+
const cells = artifactRuns.flatMap((run) => run.artifacts).filter((artifact) => artifact.kind === "ipython");
|
|
85
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
86
|
+
"aria-label": "REPL runs",
|
|
87
|
+
className: "space-y-2 pb-1",
|
|
88
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
89
|
+
className: "flex min-w-0 items-center gap-2 rounded-sm bg-foreground/5 px-2 py-1.5",
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ jsx(SquareTerminal, { className: "size-3.5 shrink-0 text-foreground/45" }),
|
|
92
|
+
/* @__PURE__ */ jsx("span", {
|
|
93
|
+
className: "min-w-0 flex-1 truncate text-label font-medium text-foreground/70",
|
|
94
|
+
children: "IPython cells"
|
|
95
|
+
}),
|
|
96
|
+
/* @__PURE__ */ jsx("span", {
|
|
97
|
+
className: "shrink-0 text-[10px] text-foreground/40",
|
|
98
|
+
children: cells.length > 0 ? cells.length : "none yet"
|
|
99
|
+
})
|
|
100
|
+
]
|
|
101
|
+
}), cells.length === 0 ? /* @__PURE__ */ jsx("p", {
|
|
102
|
+
className: "px-2 text-[11px] leading-4 text-foreground/45",
|
|
103
|
+
children: "Executed IPython cells and their output will appear here."
|
|
104
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
105
|
+
className: "space-y-2",
|
|
106
|
+
"data-testid": "repl-run-list",
|
|
107
|
+
children: cells.map((artifact, index) => /* @__PURE__ */ jsx(ReplCell, {
|
|
108
|
+
artifact,
|
|
109
|
+
index,
|
|
110
|
+
selected: artifact.id === selectedArtifactId
|
|
111
|
+
}, artifact.id))
|
|
112
|
+
})]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
export {
|
|
116
|
+
ReplPanelContent
|
|
117
|
+
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ResourcesSkeleton
|
|
3
|
-
} from "./chunk-KJ4UUAEU.js";
|
|
4
1
|
import {
|
|
5
2
|
ResourceChipSection,
|
|
6
3
|
ResourceNotice,
|
|
4
|
+
ResourcesSkeleton
|
|
5
|
+
} from "./chunk-6GMKRR3C.js";
|
|
6
|
+
import {
|
|
7
7
|
getResourceGroups
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-46VQY7SG.js";
|
|
9
9
|
import {
|
|
10
10
|
CircleAlert
|
|
11
11
|
} from "./chunk-7APYEQIO.js";
|
|
12
|
-
import "./chunk-ZGFQ7HIX.js";
|
|
13
12
|
import "./chunk-BSFYTSN6.js";
|
|
14
13
|
import "./chunk-EAJTWMK5.js";
|
|
14
|
+
import "./chunk-ZGFQ7HIX.js";
|
|
15
15
|
import "./chunk-E26EAQIM.js";
|
|
16
16
|
import "./chunk-DJMHPJBP.js";
|
|
17
17
|
import "./chunk-JDCCC7A7.js";
|
|
18
18
|
import "./chunk-MLKGABMK.js";
|
|
19
19
|
|
|
20
|
-
// web/app/dist/server/assets/resources-panel-
|
|
20
|
+
// web/app/dist/server/assets/resources-panel-CwKh4U9f.js
|
|
21
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
22
|
function ResourcesPanelContent({ error, loading, resources, workspace }) {
|
|
23
23
|
const groups = getResourceGroups(resources, workspace);
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isModelPatternEnabled
|
|
3
|
-
} from "./chunk-WTYNN6EV.js";
|
|
4
1
|
import {
|
|
5
2
|
ChatModelsDiscoverRequestSchema,
|
|
6
3
|
ChatProviderOAuthLoginRequestSchema,
|
|
@@ -14,10 +11,22 @@ import {
|
|
|
14
11
|
QueryClientProvider,
|
|
15
12
|
domAnimation,
|
|
16
13
|
isServer
|
|
17
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-H64JLONZ.js";
|
|
15
|
+
import {
|
|
16
|
+
redactSessionLabelSecrets
|
|
17
|
+
} from "./chunk-QK4CHLVV.js";
|
|
18
|
+
import {
|
|
19
|
+
DEFAULT_UI_PREFERENCES,
|
|
20
|
+
isModelPatternEnabled,
|
|
21
|
+
readUiPreferences
|
|
22
|
+
} from "./chunk-54II5QXQ.js";
|
|
18
23
|
import {
|
|
19
24
|
Toaster
|
|
20
25
|
} from "./chunk-WK7CQS2N.js";
|
|
26
|
+
import {
|
|
27
|
+
drag,
|
|
28
|
+
layout
|
|
29
|
+
} from "./chunk-FAGDMGLK.js";
|
|
21
30
|
import "./chunk-PKCTG7EW.js";
|
|
22
31
|
import {
|
|
23
32
|
Card,
|
|
@@ -26,13 +35,15 @@ import {
|
|
|
26
35
|
CardHeader,
|
|
27
36
|
CardTitle,
|
|
28
37
|
validateAndNormalizeOpenUIHtmlArtifact
|
|
29
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-ZEVZFLIY.js";
|
|
30
39
|
import {
|
|
31
40
|
ChatNewRequestSchema,
|
|
32
41
|
ChatOpenUIArtifactUpsertRequestSchema,
|
|
33
42
|
ChatPlanPresentationSchema,
|
|
34
43
|
ChatPlanPresentationUpsertRequestSchema,
|
|
35
44
|
ChatQuestionAnswerRequestSchema,
|
|
45
|
+
ChatQueueMutationRequestSchema,
|
|
46
|
+
ChatQueueMutationResponseSchema,
|
|
36
47
|
ChatRequestSchema,
|
|
37
48
|
ChatSessionMetadataSchema,
|
|
38
49
|
PrimeAgentSessionPresentationSchema,
|
|
@@ -43,7 +54,7 @@ import {
|
|
|
43
54
|
SessionIdSchema,
|
|
44
55
|
UploadedAttachmentSchema,
|
|
45
56
|
external_exports
|
|
46
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-B2F6MLVZ.js";
|
|
47
58
|
import {
|
|
48
59
|
KNOWN_PROVIDERS,
|
|
49
60
|
OPENAI_CHAT_COMPLETIONS_PROVIDER_ID,
|
|
@@ -60,13 +71,6 @@ import {
|
|
|
60
71
|
} from "./chunk-RJOANOT4.js";
|
|
61
72
|
import "./chunk-RPROZ2JC.js";
|
|
62
73
|
import "./chunk-X2TUFLTP.js";
|
|
63
|
-
import {
|
|
64
|
-
redactSessionLabelSecrets
|
|
65
|
-
} from "./chunk-QK4CHLVV.js";
|
|
66
|
-
import {
|
|
67
|
-
drag,
|
|
68
|
-
layout
|
|
69
|
-
} from "./chunk-FAGDMGLK.js";
|
|
70
74
|
import "./chunk-E26EAQIM.js";
|
|
71
75
|
import "./chunk-DJMHPJBP.js";
|
|
72
76
|
import {
|
|
@@ -82,8 +86,8 @@ import "./chunk-JDCCC7A7.js";
|
|
|
82
86
|
import "./chunk-L547YHC4.js";
|
|
83
87
|
import "./chunk-MLKGABMK.js";
|
|
84
88
|
|
|
85
|
-
// web/app/dist/server/assets/router-
|
|
86
|
-
import { useEffect } from "react";
|
|
89
|
+
// web/app/dist/server/assets/router-CEahIUpn.js
|
|
90
|
+
import { useEffect, useLayoutEffect } from "react";
|
|
87
91
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
88
92
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
89
93
|
import { fileURLToPath } from "node:url";
|
|
@@ -116,7 +120,7 @@ function NotFoundPage({ title = "404", description = "The requested page could n
|
|
|
116
120
|
})
|
|
117
121
|
});
|
|
118
122
|
}
|
|
119
|
-
var globals_default = "/assets/globals-
|
|
123
|
+
var globals_default = "/assets/globals-CqqQdk2S.css";
|
|
120
124
|
function makeQueryClient() {
|
|
121
125
|
return new QueryClient({ defaultOptions: { queries: {
|
|
122
126
|
staleTime: 6e4,
|
|
@@ -162,6 +166,11 @@ var Route$27 = createRootRoute({
|
|
|
162
166
|
shellComponent: RootDocument
|
|
163
167
|
});
|
|
164
168
|
function RootComponent() {
|
|
169
|
+
useLayoutEffect(() => {
|
|
170
|
+
const preferences = readUiPreferences();
|
|
171
|
+
document.documentElement.dataset.density = preferences.density;
|
|
172
|
+
document.documentElement.classList.toggle("reduce-motion", preferences.motion === "reduced");
|
|
173
|
+
}, []);
|
|
165
174
|
useEffect(() => {
|
|
166
175
|
}, []);
|
|
167
176
|
return /* @__PURE__ */ jsx(MotionRuntime, { children: /* @__PURE__ */ jsx(QueryClientProvider, {
|
|
@@ -172,6 +181,7 @@ function RootComponent() {
|
|
|
172
181
|
function RootDocument({ children }) {
|
|
173
182
|
return /* @__PURE__ */ jsxs("html", {
|
|
174
183
|
lang: "en",
|
|
184
|
+
"data-density": DEFAULT_UI_PREFERENCES.density,
|
|
175
185
|
children: [/* @__PURE__ */ jsx("head", { children: /* @__PURE__ */ jsx(HeadContent, {}) }), /* @__PURE__ */ jsxs("body", { children: [
|
|
176
186
|
children,
|
|
177
187
|
/* @__PURE__ */ jsx(Toaster, {}),
|
|
@@ -179,7 +189,7 @@ function RootDocument({ children }) {
|
|
|
179
189
|
] })]
|
|
180
190
|
});
|
|
181
191
|
}
|
|
182
|
-
var $$splitComponentImporter = () => import("./routes-
|
|
192
|
+
var $$splitComponentImporter = () => import("./routes-BznemByz-F4DJAYIM.js");
|
|
183
193
|
var Route$26 = createFileRoute("/")({ component: lazyRouteComponent($$splitComponentImporter, "component") });
|
|
184
194
|
var ManagedAttachmentValidationError = class extends Error {
|
|
185
195
|
status;
|
|
@@ -994,8 +1004,8 @@ var openUIPromptSpec = {
|
|
|
994
1004
|
description: "A button that triggers interactive actions or conversational updates."
|
|
995
1005
|
},
|
|
996
1006
|
PanelAction: {
|
|
997
|
-
signature: 'PanelAction(label: string, panel: "resources" | "workspace" | "artifacts" | "session-insights", relativePath?: any, focus?: boolean)',
|
|
998
|
-
description: "A trusted local action that opens Resources, Workspace, Artifacts, or Session insights. relativePath selects a contained workspace-relative path and is valid only for Workspace and Artifacts panels."
|
|
1007
|
+
signature: 'PanelAction(label: string, panel: "resources" | "workspace" | "artifacts" | "repl" | "subagents" | "session-insights", relativePath?: any, focus?: boolean)',
|
|
1008
|
+
description: "A trusted local action that opens Resources, Workspace, Artifacts, REPL, Subagents, or Session insights. relativePath selects a contained workspace-relative path and is valid only for Workspace and Artifacts panels."
|
|
999
1009
|
},
|
|
1000
1010
|
Input: {
|
|
1001
1011
|
signature: 'Input(name: string, value: $binding<string>, placeholder?: string, type?: "text" | "email" | "number" | "password" | "search", disabled?: boolean)',
|
|
@@ -1317,6 +1327,8 @@ var openUIPromptSpec = {
|
|
|
1317
1327
|
"resources",
|
|
1318
1328
|
"workspace",
|
|
1319
1329
|
"artifacts",
|
|
1330
|
+
"repl",
|
|
1331
|
+
"subagents",
|
|
1320
1332
|
"session-insights"
|
|
1321
1333
|
]
|
|
1322
1334
|
},
|
|
@@ -1332,7 +1344,7 @@ var openUIPromptSpec = {
|
|
|
1332
1344
|
"focus"
|
|
1333
1345
|
],
|
|
1334
1346
|
additionalProperties: false,
|
|
1335
|
-
description: "A trusted local action that opens Resources, Workspace, Artifacts, or Session insights. relativePath selects a contained workspace-relative path and is valid only for Workspace and Artifacts panels."
|
|
1347
|
+
description: "A trusted local action that opens Resources, Workspace, Artifacts, REPL, Subagents, or Session insights. relativePath selects a contained workspace-relative path and is valid only for Workspace and Artifacts panels."
|
|
1336
1348
|
},
|
|
1337
1349
|
Input: {
|
|
1338
1350
|
type: "object",
|
|
@@ -4511,6 +4523,31 @@ function isSessionNotResumableError(error) {
|
|
|
4511
4523
|
const message = error instanceof Error ? error.message : String(error);
|
|
4512
4524
|
return SESSION_NOT_RESUMABLE_PATTERNS.some((pattern) => pattern.test(message));
|
|
4513
4525
|
}
|
|
4526
|
+
function sessionSummaryIdentifiers(summary) {
|
|
4527
|
+
return [
|
|
4528
|
+
summary.id,
|
|
4529
|
+
summary.sessionId,
|
|
4530
|
+
summary.activeSessionId
|
|
4531
|
+
].flatMap((value) => typeof value === "string" && value.length > 0 ? [value] : []);
|
|
4532
|
+
}
|
|
4533
|
+
function sessionSummaryParentIdentifiers(summary) {
|
|
4534
|
+
return [summary.parentSessionId, summary.parentActiveSessionId].flatMap((value) => typeof value === "string" && value.length > 0 ? [value] : []);
|
|
4535
|
+
}
|
|
4536
|
+
function hasSessionLineage(candidate, rootIdentifiers, sessionsByIdentifier) {
|
|
4537
|
+
const pending = [candidate];
|
|
4538
|
+
const visited = /* @__PURE__ */ new Set();
|
|
4539
|
+
while (pending.length > 0) {
|
|
4540
|
+
const current = pending.pop();
|
|
4541
|
+
if (!current || visited.has(current)) continue;
|
|
4542
|
+
visited.add(current);
|
|
4543
|
+
for (const parentId of sessionSummaryParentIdentifiers(current)) {
|
|
4544
|
+
if (rootIdentifiers.has(parentId)) return true;
|
|
4545
|
+
const parent = sessionsByIdentifier.get(parentId);
|
|
4546
|
+
if (parent && !visited.has(parent)) pending.push(parent);
|
|
4547
|
+
}
|
|
4548
|
+
}
|
|
4549
|
+
return false;
|
|
4550
|
+
}
|
|
4514
4551
|
var PrimeBridge = class {
|
|
4515
4552
|
#sessions = /* @__PURE__ */ new Map();
|
|
4516
4553
|
#listeners = /* @__PURE__ */ new Set();
|
|
@@ -4843,6 +4880,40 @@ var PrimeBridge = class {
|
|
|
4843
4880
|
async listSessions(cwd) {
|
|
4844
4881
|
return this.#sessionLister(cwd);
|
|
4845
4882
|
}
|
|
4883
|
+
/**
|
|
4884
|
+
* Load a completed RLM child without resuming it as a live session.
|
|
4885
|
+
*
|
|
4886
|
+
* Child transcripts can be stored outside the parent's configured session
|
|
4887
|
+
* directory. Authorization is therefore based on both the live parent's
|
|
4888
|
+
* presentation and the daemon's lineage metadata, never on a browser-
|
|
4889
|
+
* supplied filesystem path.
|
|
4890
|
+
*/
|
|
4891
|
+
async loadRlmChildTranscript(parentSessionId, childId) {
|
|
4892
|
+
const parent = this.#sessions.get(parentSessionId);
|
|
4893
|
+
if (!parent || !parent.mapperState.presentation.rlmChildren.some((child2) => child2.id === childId)) return;
|
|
4894
|
+
const sessions2 = await this.#sessionLister();
|
|
4895
|
+
const sessionsByIdentifier = /* @__PURE__ */ new Map();
|
|
4896
|
+
for (const session of sessions2) for (const identifier of sessionSummaryIdentifiers(session)) if (!sessionsByIdentifier.has(identifier)) sessionsByIdentifier.set(identifier, session);
|
|
4897
|
+
const rootIdentifiers = /* @__PURE__ */ new Set([parentSessionId]);
|
|
4898
|
+
const rootSummary = sessionsByIdentifier.get(parentSessionId);
|
|
4899
|
+
if (rootSummary) for (const identifier of sessionSummaryIdentifiers(rootSummary)) rootIdentifiers.add(identifier);
|
|
4900
|
+
const child = sessions2.find((candidate) => {
|
|
4901
|
+
return candidate.rlmChildId === childId && typeof candidate.sessionFile === "string" && hasSessionLineage(candidate, rootIdentifiers, sessionsByIdentifier);
|
|
4902
|
+
});
|
|
4903
|
+
if (!child?.sessionFile) return void 0;
|
|
4904
|
+
const sessionManager = await SessionManager.openAsync(child.sessionFile);
|
|
4905
|
+
const sessionId = sessionManager.getSessionId();
|
|
4906
|
+
if (sessionId !== child.sessionId && sessionId !== child.id) return void 0;
|
|
4907
|
+
const agentMessages = sessionManager.buildSessionContext().messages;
|
|
4908
|
+
const messages = toChatMessagesFromAgentMessages(agentMessages, sessionId);
|
|
4909
|
+
const presentation = initialPresentationForSession(agentMessages, void 0, void 0, void 0, void 0, sessionId, await loadManagedPrimePresentation({ sessionPath: child.sessionFile }));
|
|
4910
|
+
return {
|
|
4911
|
+
sessionId,
|
|
4912
|
+
projectId: await getPrimeConfig().projectRegistry.projectIdForSession(sessionId, sessionManager.getCwd()),
|
|
4913
|
+
messages,
|
|
4914
|
+
presentation
|
|
4915
|
+
};
|
|
4916
|
+
}
|
|
4846
4917
|
async deleteSession(sessionId) {
|
|
4847
4918
|
let existing = this.#sessions.get(sessionId);
|
|
4848
4919
|
if (!existing) {
|
|
@@ -4956,6 +5027,18 @@ var PrimeBridge = class {
|
|
|
4956
5027
|
async followUp(sessionId, text) {
|
|
4957
5028
|
await this.#requireSession(sessionId).connection.followUp(text);
|
|
4958
5029
|
}
|
|
5030
|
+
async deleteQueuedMessage(sessionId, lane, index, expectedText) {
|
|
5031
|
+
const session = this.#requireSession(sessionId);
|
|
5032
|
+
const status = await session.connection.mutateQueuedMessage(lane, index, expectedText, { type: "delete" });
|
|
5033
|
+
const queue = await session.connection.getQueue();
|
|
5034
|
+
return {
|
|
5035
|
+
status,
|
|
5036
|
+
queue: {
|
|
5037
|
+
steering: [...queue.steering],
|
|
5038
|
+
followUp: [...queue.followUp]
|
|
5039
|
+
}
|
|
5040
|
+
};
|
|
5041
|
+
}
|
|
4959
5042
|
async abort(sessionId) {
|
|
4960
5043
|
const session = this.#requireSession(sessionId);
|
|
4961
5044
|
this.#dialogs.cancelAll(sessionId, "user-abort");
|
|
@@ -33379,6 +33462,13 @@ function handleChatQuestionPost(request) {
|
|
|
33379
33462
|
return Response.json({ ok: true });
|
|
33380
33463
|
});
|
|
33381
33464
|
}
|
|
33465
|
+
function handleChatQueueMutationPost(request) {
|
|
33466
|
+
return wrapApiHandler(async () => {
|
|
33467
|
+
const body = ChatQueueMutationRequestSchema.parse(await request.json().catch(() => ({})));
|
|
33468
|
+
const result = await getBridge().deleteQueuedMessage(body.sessionId, body.lane, body.index, body.expectedText);
|
|
33469
|
+
return Response.json(ChatQueueMutationResponseSchema.parse(result));
|
|
33470
|
+
});
|
|
33471
|
+
}
|
|
33382
33472
|
function packageSourceToString(source) {
|
|
33383
33473
|
if (typeof source === "string") return { name: source };
|
|
33384
33474
|
return {
|
|
@@ -33461,6 +33551,25 @@ function handleChatResumePost(request) {
|
|
|
33461
33551
|
function handleChatSessionGet(request) {
|
|
33462
33552
|
return wrapApiHandler(async () => {
|
|
33463
33553
|
const url = new URL(request.url);
|
|
33554
|
+
const parentSessionId = url.searchParams.get("parentSessionId");
|
|
33555
|
+
const childId = url.searchParams.get("childId");
|
|
33556
|
+
if (parentSessionId || childId) {
|
|
33557
|
+
if (!parentSessionId || !childId) return Response.json({ message: "GET /api/chat/session requires both ?parentSessionId= and ?childId=" }, { status: 400 });
|
|
33558
|
+
const parsedParentSessionId = SessionIdSchema.safeParse(parentSessionId);
|
|
33559
|
+
const parsedChildId = SessionIdSchema.safeParse(childId);
|
|
33560
|
+
if (!parsedParentSessionId.success || !parsedChildId.success) return Response.json({ message: "Invalid subagent session identifiers" }, { status: 400 });
|
|
33561
|
+
const child = await getBridge().loadRlmChildTranscript(parsedParentSessionId.data, parsedChildId.data);
|
|
33562
|
+
if (!child) return Response.json({ message: "Unknown subagent transcript" }, { status: 404 });
|
|
33563
|
+
return Response.json({
|
|
33564
|
+
session: {
|
|
33565
|
+
sessionId: child.sessionId,
|
|
33566
|
+
projectId: child.projectId
|
|
33567
|
+
},
|
|
33568
|
+
messages: child.messages,
|
|
33569
|
+
planPresentations: [],
|
|
33570
|
+
presentation: child.presentation
|
|
33571
|
+
});
|
|
33572
|
+
}
|
|
33464
33573
|
const sessionId = url.searchParams.get("sessionId");
|
|
33465
33574
|
const requestedProjectId = url.searchParams.get("projectId");
|
|
33466
33575
|
const openUI = url.searchParams.get("openUI") === "true";
|
|
@@ -33981,7 +34090,8 @@ var Route$11 = createFileRoute("/api/chat/resume")({ server: { handlers: { POST:
|
|
|
33981
34090
|
var Route$10 = createFileRoute("/api/chat/session")({ server: { handlers: {
|
|
33982
34091
|
GET: ({ request }) => new URL(request.url).searchParams.has("attachmentId") ? handleChatAttachmentGet(request) : handleChatSessionGet(request),
|
|
33983
34092
|
POST: ({ request }) => handleChatAttachmentsPost(request),
|
|
33984
|
-
PUT: ({ request }) => handleChatPlanPresentationPut(request)
|
|
34093
|
+
PUT: ({ request }) => handleChatPlanPresentationPut(request),
|
|
34094
|
+
PATCH: ({ request }) => handleChatQueueMutationPost(request)
|
|
33985
34095
|
} } });
|
|
33986
34096
|
var Route$9 = createFileRoute("/api/chat/sessions")({ server: { handlers: {
|
|
33987
34097
|
DELETE: ({ request }) => handleChatSessionDelete(request),
|