@pstdio/ui 0.13.0 → 0.14.0
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/MermaidComponent-CatfVUxA.js +60 -0
- package/dist/MermaidComponent-CatfVUxA.js.map +1 -0
- package/dist/chat-ui.js +1220 -1144
- package/dist/chat-ui.js.map +1 -1
- package/dist/components/chat-ui/components/chat-input-attachments.d.ts +12 -0
- package/dist/components/chat-ui/components/chat-input.d.ts +3 -0
- package/dist/components/chat-ui/components/chat-panel.d.ts +2 -0
- package/dist/components/chat-ui/components/message-parts-renderer.d.ts +1 -1
- package/dist/components/chat-ui/components/message-types.d.ts +90 -3
- package/dist/components/chat-ui/index.d.ts +2 -2
- package/dist/components/chat-ui/mocks/library/index.d.ts +2 -2
- package/dist/components/chat-ui/performance/chat-performance-fixtures.d.ts +1 -1
- package/dist/components/chat-ui/performance/chat-performance-story-utils.d.ts +1 -1
- package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +3 -3
- package/dist/components/chat-ui/tool-rendering/question-renderer.d.ts +1 -1
- package/dist/components/chat-ui/tool-rendering/shared.d.ts +2 -2
- package/dist/components/chat-ui/tool-rendering/todowrite-renderer.d.ts +1 -1
- package/dist/components/chat-ui/tool-rendering/types.d.ts +1 -1
- package/dist/components/data-renderer/data-renderer-board-column-header.d.ts +8 -0
- package/dist/components/data-renderer/data-renderer-board-group-section.d.ts +17 -0
- package/dist/components/data-renderer/data-renderer-board-move.d.ts +21 -0
- package/dist/components/data-renderer/data-renderer-board.d.ts +3 -2
- package/dist/components/data-renderer/data-renderer-content.d.ts +7 -2
- package/dist/components/data-renderer/data-renderer.d.ts +2 -2
- package/dist/components/diff-viewer/diff-card-body.d.ts +16 -0
- package/dist/components/diff-viewer/diff-card.d.ts +1 -0
- package/dist/components/diff-viewer/diff-size.d.ts +1 -1
- package/dist/components/mermaid-renderer/download-png.d.ts +7 -0
- package/dist/components/mermaid-renderer/index.d.ts +2 -0
- package/dist/components/mermaid-renderer/mermaid-error-state.d.ts +6 -0
- package/dist/components/mermaid-renderer/mermaid-fixtures.d.ts +9 -0
- package/dist/components/mermaid-renderer/mermaid-fullscreen.d.ts +10 -0
- package/dist/components/mermaid-renderer/mermaid-renderer.d.ts +8 -0
- package/dist/components/mermaid-renderer/mermaid-svg-view.d.ts +12 -0
- package/dist/components/mermaid-renderer/mermaid-toolbar.d.ts +12 -0
- package/dist/components/mermaid-renderer/mermaid-zoom.d.ts +6 -0
- package/dist/components/mermaid-renderer/svg-data-url.d.ts +6 -0
- package/dist/components/mermaid-renderer/use-mermaid-render.d.ts +5 -0
- package/dist/components/palette-shortcut.d.ts +8 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3393 -3221
- package/dist/index.js.map +1 -1
- package/dist/mermaid-renderer-DYEiYmYQ.js +411 -0
- package/dist/mermaid-renderer-DYEiYmYQ.js.map +1 -0
- package/dist/resource-badge-D33IFv74.js +188 -0
- package/dist/resource-badge-D33IFv74.js.map +1 -0
- package/dist/{rich-message-CEOSsdR2.js → rich-message-BFtvH9H7.js} +430 -518
- package/dist/rich-message-BFtvH9H7.js.map +1 -0
- package/dist/rich-text.js +3 -3
- package/dist/{theme-D2LYEa0j.js → theme-C5qHTCU9.js} +3 -3
- package/dist/{theme-D2LYEa0j.js.map → theme-C5qHTCU9.js.map} +1 -1
- package/dist/theme.js +1 -1
- package/package.json +3 -2
- package/dist/MermaidComponent-Cz_Iob5U.js +0 -127
- package/dist/MermaidComponent-Cz_Iob5U.js.map +0 -1
- package/dist/components/chat-ui/agent-types.d.ts +0 -220
- package/dist/get-file-type-icon-ufFb0IkR.js +0 -102
- package/dist/get-file-type-icon-ufFb0IkR.js.map +0 -1
- package/dist/rich-message-CEOSsdR2.js.map +0 -1
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { jsxs as o, jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { Box as n, Flex as O, NumberInput as x, Button as b, Textarea as H, Text as C } from "@chakra-ui/react";
|
|
3
|
-
import { useLexicalComposerContext as Y } from "@lexical/react/LexicalComposerContext";
|
|
4
|
-
import { useLexicalEditable as K } from "@lexical/react/useLexicalEditable";
|
|
5
|
-
import { $getNodeByKey as U } from "lexical";
|
|
6
|
-
import $ from "mermaid";
|
|
7
|
-
import { useState as t, useRef as W, useId as q, useEffect as k } from "react";
|
|
8
|
-
import { S as G } from "./get-file-type-icon-ufFb0IkR.js";
|
|
9
|
-
import { $ as J } from "./rich-message-CEOSsdR2.js";
|
|
10
|
-
let v = !1;
|
|
11
|
-
function Q() {
|
|
12
|
-
v || ($.initialize({
|
|
13
|
-
startOnLoad: !1,
|
|
14
|
-
securityLevel: "strict",
|
|
15
|
-
theme: "default"
|
|
16
|
-
}), v = !0);
|
|
17
|
-
}
|
|
18
|
-
function _(i) {
|
|
19
|
-
return i instanceof Error ? i.message : "Failed to render mermaid diagram.";
|
|
20
|
-
}
|
|
21
|
-
const N = 0, T = 2, ee = 0.1;
|
|
22
|
-
function re(i) {
|
|
23
|
-
return Number(Math.min(T, Math.max(N, i)).toFixed(2));
|
|
24
|
-
}
|
|
25
|
-
function me(i) {
|
|
26
|
-
const {
|
|
27
|
-
code: a,
|
|
28
|
-
nodeKey: Z
|
|
29
|
-
} = i, [X] = Y(), B = K(), [s, m] = t(!1), [u, f] = t(a), [l, y] = t(a), [D, I] = t(""), [p, M] = t(""), [S, w] = t(!1), [F, P] = t(1), [c, E] = t({
|
|
30
|
-
x: 0,
|
|
31
|
-
y: 0
|
|
32
|
-
}), [z, g] = t(!1), d = W({
|
|
33
|
-
pointerId: -1,
|
|
34
|
-
x: 0,
|
|
35
|
-
y: 0
|
|
36
|
-
}), R = q().replaceAll(":", "-");
|
|
37
|
-
k(() => {
|
|
38
|
-
f(a), y(a);
|
|
39
|
-
}, [a]), k(() => {
|
|
40
|
-
let e = !1;
|
|
41
|
-
async function A() {
|
|
42
|
-
Q(), w(!0), M("");
|
|
43
|
-
try {
|
|
44
|
-
const {
|
|
45
|
-
svg: h
|
|
46
|
-
} = await $.render(`mermaid-${R}`, l);
|
|
47
|
-
e || I(h);
|
|
48
|
-
} catch (h) {
|
|
49
|
-
e || (I(""), M(_(h)));
|
|
50
|
-
} finally {
|
|
51
|
-
e || w(!1);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return s || A(), () => {
|
|
55
|
-
e = !0;
|
|
56
|
-
};
|
|
57
|
-
}, [s, l, R]);
|
|
58
|
-
const L = () => {
|
|
59
|
-
X.update(() => {
|
|
60
|
-
const e = U(Z);
|
|
61
|
-
J(e) && e.setCode(u);
|
|
62
|
-
}), y(u), j(), m(!1);
|
|
63
|
-
}, V = () => {
|
|
64
|
-
f(l), m(!1);
|
|
65
|
-
}, j = () => {
|
|
66
|
-
P(1), E({
|
|
67
|
-
x: 0,
|
|
68
|
-
y: 0
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
return /* @__PURE__ */ o(n, { borderWidth: "1px", borderColor: "border.muted", borderRadius: "md", overflow: "hidden", width: "100%", children: [
|
|
72
|
-
/* @__PURE__ */ o(O, { justifyContent: "flex-end", alignItems: "center", gap: "xs", paddingX: "sm", paddingY: "xs", bg: "bg.muted", children: [
|
|
73
|
-
!s && !p && !S ? /* @__PURE__ */ o(x.Root, { size: "xs", width: "64px", defaultValue: "100", min: N, max: T, step: ee, formatOptions: {
|
|
74
|
-
style: "percent"
|
|
75
|
-
}, onValueChange: ({
|
|
76
|
-
valueAsNumber: e
|
|
77
|
-
}) => {
|
|
78
|
-
Number.isNaN(e) || P(re(e));
|
|
79
|
-
}, children: [
|
|
80
|
-
/* @__PURE__ */ r(x.Control, {}),
|
|
81
|
-
/* @__PURE__ */ r(x.Input, { "aria-label": "Zoom percentage" })
|
|
82
|
-
] }) : null,
|
|
83
|
-
B ? s ? /* @__PURE__ */ o(O, { gap: "xs", children: [
|
|
84
|
-
/* @__PURE__ */ r(b, { size: "xs", variant: "surface", onClick: V, children: "Cancel" }),
|
|
85
|
-
/* @__PURE__ */ r(b, { size: "xs", onClick: L, children: "Preview" })
|
|
86
|
-
] }) : /* @__PURE__ */ r(b, { size: "xs", variant: "surface", onClick: () => m(!0), children: "Edit" }) : null
|
|
87
|
-
] }),
|
|
88
|
-
s ? /* @__PURE__ */ r(n, { padding: "sm", bg: "bg.muted", children: /* @__PURE__ */ r(H, { value: u, onChange: (e) => f(e.target.value), minHeight: "180px", resize: "vertical", fontFamily: "mono", fontSize: "sm", spellCheck: !1 }) }) : /* @__PURE__ */ o(n, { paddingX: "sm", paddingBottom: "sm", background: "bg.muted", children: [
|
|
89
|
-
S ? /* @__PURE__ */ r(C, { color: "fg.muted", children: "Rendering diagram..." }) : null,
|
|
90
|
-
p ? /* @__PURE__ */ o(n, { children: [
|
|
91
|
-
/* @__PURE__ */ r(C, { color: "fg.error", textStyle: "label/S/medium", children: "Mermaid parse failed" }),
|
|
92
|
-
/* @__PURE__ */ r(C, { color: "fg.muted", textStyle: "label/S/regular", marginTop: "2xs", children: p }),
|
|
93
|
-
/* @__PURE__ */ r(G, { marginTop: "sm", borderRadius: "sm", bg: "bg.panel", showHorizontalScrollbar: !0, showVerticalScrollbar: !1, contentProps: {
|
|
94
|
-
p: "sm"
|
|
95
|
-
}, children: /* @__PURE__ */ r(n, { as: "pre", children: l }) })
|
|
96
|
-
] }) : /* @__PURE__ */ r(n, { borderRadius: "sm", overflow: "hidden", minHeight: "160px", onWheel: (e) => {
|
|
97
|
-
e.preventDefault(), e.stopPropagation();
|
|
98
|
-
}, children: /* @__PURE__ */ r(n, { transform: `translate(${c.x}px, ${c.y}px) scale(${F})`, transformOrigin: "top left", cursor: z ? "grabbing" : "grab", touchAction: "none", onPointerDown: (e) => {
|
|
99
|
-
d.current = {
|
|
100
|
-
pointerId: e.pointerId,
|
|
101
|
-
x: e.clientX - c.x,
|
|
102
|
-
y: e.clientY - c.y
|
|
103
|
-
}, g(!0), e.currentTarget.setPointerCapture(e.pointerId);
|
|
104
|
-
}, onPointerMove: (e) => {
|
|
105
|
-
!z || d.current.pointerId !== e.pointerId || E({
|
|
106
|
-
x: e.clientX - d.current.x,
|
|
107
|
-
y: e.clientY - d.current.y
|
|
108
|
-
});
|
|
109
|
-
}, onPointerUp: (e) => {
|
|
110
|
-
d.current.pointerId === e.pointerId && (g(!1), e.currentTarget.releasePointerCapture(e.pointerId));
|
|
111
|
-
}, onPointerCancel: () => {
|
|
112
|
-
g(!1);
|
|
113
|
-
}, css: {
|
|
114
|
-
"& img": {
|
|
115
|
-
display: "block",
|
|
116
|
-
width: "100%",
|
|
117
|
-
height: "auto",
|
|
118
|
-
userSelect: "none"
|
|
119
|
-
}
|
|
120
|
-
}, children: /* @__PURE__ */ r("img", { alt: "Mermaid diagram", src: `data:image/svg+xml;utf8,${encodeURIComponent(D)}`, draggable: !1 }) }) })
|
|
121
|
-
] })
|
|
122
|
-
] });
|
|
123
|
-
}
|
|
124
|
-
export {
|
|
125
|
-
me as default
|
|
126
|
-
};
|
|
127
|
-
//# sourceMappingURL=MermaidComponent-Cz_Iob5U.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MermaidComponent-Cz_Iob5U.js","sources":["../src/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.tsx"],"sourcesContent":["import { Box, Button, Flex, NumberInput, Text, Textarea } from \"@chakra-ui/react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useLexicalEditable } from \"@lexical/react/useLexicalEditable\";\nimport { $getNodeByKey } from \"lexical\";\nimport mermaid from \"mermaid\";\nimport { useEffect, useId, useRef, useState } from \"react\";\nimport { ScrollArea } from \"@/components/scroll-area\";\nimport { $isMermaidNode } from \"./MermaidNode\";\n\nlet mermaidInitialized = false;\n\nfunction initializeMermaid() {\n if (mermaidInitialized) {\n return;\n }\n\n mermaid.initialize({\n startOnLoad: false,\n securityLevel: \"strict\",\n theme: \"default\",\n });\n\n mermaidInitialized = true;\n}\n\nfunction formatErrorMessage(error: unknown) {\n if (!(error instanceof Error)) {\n return \"Failed to render mermaid diagram.\";\n }\n\n return error.message;\n}\n\nconst MIN_ZOOM = 0;\nconst MAX_ZOOM = 2;\nconst ZOOM_STEP = 0.1;\n\nfunction clampZoom(value: number) {\n return Number(Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, value)).toFixed(2));\n}\n\ninterface MermaidComponentProps {\n code: string;\n nodeKey: string;\n}\n\nexport default function MermaidComponent(props: MermaidComponentProps) {\n const { code, nodeKey } = props;\n const [editor] = useLexicalComposerContext();\n const isEditable = useLexicalEditable();\n const [isEditing, setIsEditing] = useState(false);\n const [draftCode, setDraftCode] = useState(code);\n const [previewCode, setPreviewCode] = useState(code);\n const [svgMarkup, setSvgMarkup] = useState(\"\");\n const [renderError, setRenderError] = useState(\"\");\n const [isRendering, setIsRendering] = useState(false);\n const [zoom, setZoom] = useState(1);\n const [offset, setOffset] = useState({ x: 0, y: 0 });\n const [isPanning, setIsPanning] = useState(false);\n const panStartRef = useRef({ pointerId: -1, x: 0, y: 0 });\n const renderId = useId().replaceAll(\":\", \"-\");\n\n useEffect(() => {\n setDraftCode(code);\n setPreviewCode(code);\n }, [code]);\n\n useEffect(() => {\n let cancelled = false;\n\n async function renderDiagram() {\n initializeMermaid();\n setIsRendering(true);\n setRenderError(\"\");\n\n try {\n const { svg } = await mermaid.render(`mermaid-${renderId}`, previewCode);\n if (!cancelled) {\n setSvgMarkup(svg);\n }\n } catch (error) {\n if (!cancelled) {\n setSvgMarkup(\"\");\n setRenderError(formatErrorMessage(error));\n }\n } finally {\n if (!cancelled) {\n setIsRendering(false);\n }\n }\n }\n\n if (!isEditing) {\n void renderDiagram();\n }\n\n return () => {\n cancelled = true;\n };\n }, [isEditing, previewCode, renderId]);\n\n const commitCodeChanges = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isMermaidNode(node)) {\n node.setCode(draftCode);\n }\n });\n\n setPreviewCode(draftCode);\n resetView();\n setIsEditing(false);\n };\n\n const cancelEditing = () => {\n setDraftCode(previewCode);\n setIsEditing(false);\n };\n\n const resetView = () => {\n setZoom(1);\n setOffset({ x: 0, y: 0 });\n };\n\n return (\n <Box borderWidth=\"1px\" borderColor=\"border.muted\" borderRadius=\"md\" overflow=\"hidden\" width=\"100%\">\n <Flex justifyContent=\"flex-end\" alignItems=\"center\" gap=\"xs\" paddingX=\"sm\" paddingY=\"xs\" bg=\"bg.muted\">\n {!isEditing && !renderError && !isRendering ? (\n <NumberInput.Root\n size=\"xs\"\n width=\"64px\"\n defaultValue={\"100\"}\n min={MIN_ZOOM}\n max={MAX_ZOOM}\n step={ZOOM_STEP}\n formatOptions={{\n style: \"percent\",\n }}\n onValueChange={({ valueAsNumber }) => {\n if (Number.isNaN(valueAsNumber)) {\n return;\n }\n\n setZoom(clampZoom(valueAsNumber));\n }}\n >\n <NumberInput.Control />\n <NumberInput.Input aria-label=\"Zoom percentage\" />\n </NumberInput.Root>\n ) : null}\n\n {isEditable ? (\n isEditing ? (\n <Flex gap=\"xs\">\n <Button size=\"xs\" variant=\"surface\" onClick={cancelEditing}>\n Cancel\n </Button>\n <Button size=\"xs\" onClick={commitCodeChanges}>\n Preview\n </Button>\n </Flex>\n ) : (\n <Button size=\"xs\" variant=\"surface\" onClick={() => setIsEditing(true)}>\n Edit\n </Button>\n )\n ) : null}\n </Flex>\n\n {isEditing ? (\n <Box padding=\"sm\" bg=\"bg.muted\">\n <Textarea\n value={draftCode}\n onChange={(event) => setDraftCode(event.target.value)}\n minHeight=\"180px\"\n resize=\"vertical\"\n fontFamily=\"mono\"\n fontSize=\"sm\"\n spellCheck={false}\n />\n </Box>\n ) : (\n <Box paddingX=\"sm\" paddingBottom=\"sm\" background=\"bg.muted\">\n {isRendering ? <Text color=\"fg.muted\">Rendering diagram...</Text> : null}\n {renderError ? (\n <Box>\n <Text color=\"fg.error\" textStyle=\"label/S/medium\">\n Mermaid parse failed\n </Text>\n <Text color=\"fg.muted\" textStyle=\"label/S/regular\" marginTop=\"2xs\">\n {renderError}\n </Text>\n <ScrollArea\n marginTop=\"sm\"\n borderRadius=\"sm\"\n bg=\"bg.panel\"\n showHorizontalScrollbar\n showVerticalScrollbar={false}\n contentProps={{ p: \"sm\" }}\n >\n <Box as=\"pre\">{previewCode}</Box>\n </ScrollArea>\n </Box>\n ) : (\n <Box\n borderRadius=\"sm\"\n overflow=\"hidden\"\n minHeight=\"160px\"\n onWheel={(event) => {\n event.preventDefault();\n event.stopPropagation();\n }}\n >\n <Box\n transform={`translate(${offset.x}px, ${offset.y}px) scale(${zoom})`}\n transformOrigin=\"top left\"\n cursor={isPanning ? \"grabbing\" : \"grab\"}\n touchAction=\"none\"\n onPointerDown={(event) => {\n panStartRef.current = {\n pointerId: event.pointerId,\n x: event.clientX - offset.x,\n y: event.clientY - offset.y,\n };\n setIsPanning(true);\n event.currentTarget.setPointerCapture(event.pointerId);\n }}\n onPointerMove={(event) => {\n if (!isPanning || panStartRef.current.pointerId !== event.pointerId) {\n return;\n }\n\n setOffset({\n x: event.clientX - panStartRef.current.x,\n y: event.clientY - panStartRef.current.y,\n });\n }}\n onPointerUp={(event) => {\n if (panStartRef.current.pointerId !== event.pointerId) {\n return;\n }\n\n setIsPanning(false);\n event.currentTarget.releasePointerCapture(event.pointerId);\n }}\n onPointerCancel={() => {\n setIsPanning(false);\n }}\n css={{\n \"& img\": {\n display: \"block\",\n width: \"100%\",\n height: \"auto\",\n userSelect: \"none\",\n },\n }}\n >\n <img\n alt=\"Mermaid diagram\"\n src={`data:image/svg+xml;utf8,${encodeURIComponent(svgMarkup)}`}\n draggable={false}\n />\n </Box>\n </Box>\n )}\n </Box>\n )}\n </Box>\n );\n}\n"],"names":["mermaidInitialized","initializeMermaid","mermaid","initialize","startOnLoad","securityLevel","theme","formatErrorMessage","error","Error","message","MIN_ZOOM","MAX_ZOOM","ZOOM_STEP","clampZoom","value","Number","Math","min","max","toFixed","MermaidComponent","props","code","nodeKey","editor","useLexicalComposerContext","isEditable","useLexicalEditable","isEditing","setIsEditing","useState","draftCode","setDraftCode","previewCode","setPreviewCode","svgMarkup","setSvgMarkup","renderError","setRenderError","isRendering","setIsRendering","zoom","setZoom","offset","setOffset","x","y","isPanning","setIsPanning","panStartRef","useRef","pointerId","renderId","useId","replaceAll","useEffect","cancelled","renderDiagram","svg","render","commitCodeChanges","update","node","$getNodeByKey","$isMermaidNode","setCode","resetView","cancelEditing","jsxs","Box","Flex","NumberInput","style","valueAsNumber","isNaN","jsx","Button","Textarea","event","target","Text","ScrollArea","p","preventDefault","stopPropagation","current","clientX","clientY","currentTarget","setPointerCapture","releasePointerCapture","display","width","height","userSelect","encodeURIComponent"],"mappings":"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"}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
export type AgentId = "opencode" | "claude-code";
|
|
2
|
-
export type SessionMessageRole = "user" | "assistant" | "tool" | "system" | "developer";
|
|
3
|
-
export type TextPart = {
|
|
4
|
-
type: "text";
|
|
5
|
-
text: string;
|
|
6
|
-
};
|
|
7
|
-
export type ReasoningPart = {
|
|
8
|
-
type: "reasoning";
|
|
9
|
-
text: string;
|
|
10
|
-
};
|
|
11
|
-
export type ToolPartActionType = "read" | "write" | "execute" | "network" | "other";
|
|
12
|
-
export type ToolPartStatus = "pending" | "running" | "completed" | "failed" | "denied";
|
|
13
|
-
export type ToolPart = {
|
|
14
|
-
type: "tool";
|
|
15
|
-
tool: string;
|
|
16
|
-
callId?: string;
|
|
17
|
-
actionType?: ToolPartActionType;
|
|
18
|
-
status?: ToolPartStatus;
|
|
19
|
-
state?: {
|
|
20
|
-
status?: string;
|
|
21
|
-
input?: unknown;
|
|
22
|
-
output?: unknown;
|
|
23
|
-
errorText?: string;
|
|
24
|
-
metadata?: unknown;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export type StepStartPart = {
|
|
28
|
-
type: "step-start";
|
|
29
|
-
snapshot?: string;
|
|
30
|
-
};
|
|
31
|
-
export type StepFinishPart = {
|
|
32
|
-
type: "step-finish";
|
|
33
|
-
reason?: string;
|
|
34
|
-
snapshot?: string;
|
|
35
|
-
cost?: number;
|
|
36
|
-
tokens?: unknown;
|
|
37
|
-
};
|
|
38
|
-
export type PatchPart = {
|
|
39
|
-
type: "patch";
|
|
40
|
-
hash?: string;
|
|
41
|
-
files?: unknown;
|
|
42
|
-
};
|
|
43
|
-
export type FilePart = {
|
|
44
|
-
type: "file";
|
|
45
|
-
mediaType?: string;
|
|
46
|
-
filename?: string;
|
|
47
|
-
url: string;
|
|
48
|
-
};
|
|
49
|
-
export type LoadingPart = {
|
|
50
|
-
type: "loading";
|
|
51
|
-
};
|
|
52
|
-
export type ErrorPart = {
|
|
53
|
-
type: "error";
|
|
54
|
-
errorType: "timeout" | "crash" | "permission" | "other";
|
|
55
|
-
message?: string;
|
|
56
|
-
};
|
|
57
|
-
export type TokenUsagePart = {
|
|
58
|
-
type: "token_usage";
|
|
59
|
-
inputTokens: number;
|
|
60
|
-
outputTokens: number;
|
|
61
|
-
cacheReadTokens?: number;
|
|
62
|
-
cacheWriteTokens?: number;
|
|
63
|
-
};
|
|
64
|
-
export type AlertPart = {
|
|
65
|
-
type: "alert";
|
|
66
|
-
status: "info" | "warning" | "error" | "success" | "loading";
|
|
67
|
-
title: string;
|
|
68
|
-
message?: string;
|
|
69
|
-
};
|
|
70
|
-
export type SessionMessagePart = TextPart | ReasoningPart | ToolPart | StepStartPart | StepFinishPart | PatchPart | FilePart | LoadingPart | ErrorPart | TokenUsagePart | AlertPart;
|
|
71
|
-
export type SessionMessage = {
|
|
72
|
-
id: string;
|
|
73
|
-
role: SessionMessageRole;
|
|
74
|
-
parts: SessionMessagePart[];
|
|
75
|
-
index?: number;
|
|
76
|
-
createdAt?: number;
|
|
77
|
-
modelId?: string;
|
|
78
|
-
providerId?: string;
|
|
79
|
-
tokens?: {
|
|
80
|
-
input?: number;
|
|
81
|
-
output?: number;
|
|
82
|
-
reasoning?: number;
|
|
83
|
-
cache?: {
|
|
84
|
-
read?: number;
|
|
85
|
-
write?: number;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
export type SessionStartInput = {
|
|
90
|
-
prompt: string;
|
|
91
|
-
title?: string;
|
|
92
|
-
model?: string | null;
|
|
93
|
-
cwd?: string;
|
|
94
|
-
eventStore?: EventStore;
|
|
95
|
-
};
|
|
96
|
-
export type SessionStartResult = {
|
|
97
|
-
sessionId: string;
|
|
98
|
-
process?: SpawnedProcess;
|
|
99
|
-
};
|
|
100
|
-
export type SessionMessageInput = {
|
|
101
|
-
sessionId: string;
|
|
102
|
-
prompt: string;
|
|
103
|
-
model?: string | null;
|
|
104
|
-
cwd?: string;
|
|
105
|
-
messageOffset?: number;
|
|
106
|
-
questionResponse?: QuestionResponse;
|
|
107
|
-
};
|
|
108
|
-
export type QuestionResponse = {
|
|
109
|
-
answers: string[][];
|
|
110
|
-
};
|
|
111
|
-
export type SessionMessagesInput = {
|
|
112
|
-
cwd?: string | null;
|
|
113
|
-
};
|
|
114
|
-
export type AvailabilityInfo = {
|
|
115
|
-
type: "INSTALLED" | "NOT_FOUND";
|
|
116
|
-
};
|
|
117
|
-
export type AgentModel = {
|
|
118
|
-
id: string;
|
|
119
|
-
};
|
|
120
|
-
export type AgentCapability = "SessionFork" | "ContextUsage" | "Approvals";
|
|
121
|
-
export type SessionListEntry = {
|
|
122
|
-
id: string;
|
|
123
|
-
title: string;
|
|
124
|
-
directory: string;
|
|
125
|
-
updatedAt: string;
|
|
126
|
-
};
|
|
127
|
-
export type SessionExport = {
|
|
128
|
-
session: SessionListEntry;
|
|
129
|
-
messages: SessionMessage[];
|
|
130
|
-
};
|
|
131
|
-
export type LaunchInput = {
|
|
132
|
-
prompt: string;
|
|
133
|
-
title?: string;
|
|
134
|
-
model?: string | null;
|
|
135
|
-
cwd?: string;
|
|
136
|
-
};
|
|
137
|
-
export type LaunchResult = {
|
|
138
|
-
pid?: number;
|
|
139
|
-
sessionId?: string;
|
|
140
|
-
};
|
|
141
|
-
export type RawLogEvent = {
|
|
142
|
-
type: "stdout";
|
|
143
|
-
data: string;
|
|
144
|
-
} | {
|
|
145
|
-
type: "stderr";
|
|
146
|
-
data: string;
|
|
147
|
-
} | {
|
|
148
|
-
type: "session_id";
|
|
149
|
-
sessionId: string;
|
|
150
|
-
} | {
|
|
151
|
-
type: "message_id";
|
|
152
|
-
messageId: string;
|
|
153
|
-
} | {
|
|
154
|
-
type: "ready";
|
|
155
|
-
} | {
|
|
156
|
-
type: "finished";
|
|
157
|
-
};
|
|
158
|
-
export type JsonPatch = {
|
|
159
|
-
op: "add" | "replace" | "remove";
|
|
160
|
-
path: string;
|
|
161
|
-
value?: unknown;
|
|
162
|
-
};
|
|
163
|
-
export type EventStore = {
|
|
164
|
-
push(patch: JsonPatch): void;
|
|
165
|
-
getHistory(): JsonPatch[];
|
|
166
|
-
subscribe(): AsyncIterable<JsonPatch>;
|
|
167
|
-
historyPlusStream(): AsyncIterable<JsonPatch>;
|
|
168
|
-
snapshotAndSubscribe(): {
|
|
169
|
-
history: JsonPatch[];
|
|
170
|
-
stream: AsyncIterable<JsonPatch>;
|
|
171
|
-
};
|
|
172
|
-
};
|
|
173
|
-
export type SpawnedProcess = {
|
|
174
|
-
sessionId: string;
|
|
175
|
-
stdin: import('node:stream').Writable;
|
|
176
|
-
kill(): void;
|
|
177
|
-
onExit: Promise<{
|
|
178
|
-
code: number | null;
|
|
179
|
-
signal: string | null;
|
|
180
|
-
}>;
|
|
181
|
-
};
|
|
182
|
-
export type ResumeResult = {
|
|
183
|
-
process?: SpawnedProcess;
|
|
184
|
-
};
|
|
185
|
-
export type ApprovalRequest = {
|
|
186
|
-
id: string;
|
|
187
|
-
toolName: string;
|
|
188
|
-
toolInput: unknown;
|
|
189
|
-
toolUseId: string;
|
|
190
|
-
};
|
|
191
|
-
export type ApprovalResponse = {
|
|
192
|
-
id: string;
|
|
193
|
-
decision: "approve" | "deny" | "timeout";
|
|
194
|
-
};
|
|
195
|
-
export type ApprovalService = {
|
|
196
|
-
requestApproval(request: ApprovalRequest): Promise<ApprovalResponse>;
|
|
197
|
-
handleResponse(response: ApprovalResponse): void;
|
|
198
|
-
dispose(): void;
|
|
199
|
-
};
|
|
200
|
-
export type AgentService = {
|
|
201
|
-
id: AgentId;
|
|
202
|
-
name: string;
|
|
203
|
-
capabilities(): AgentCapability[];
|
|
204
|
-
checkAvailability(): AvailabilityInfo;
|
|
205
|
-
listModels(): AgentModel[];
|
|
206
|
-
startSession(input: SessionStartInput): Promise<SessionStartResult>;
|
|
207
|
-
resumeSession(input: SessionMessageInput, eventStore: EventStore, approvalService?: ApprovalService): Promise<ResumeResult>;
|
|
208
|
-
getMessages(sessionId: string, input?: SessionMessagesInput): Promise<SessionMessage[]>;
|
|
209
|
-
listSessions(input?: {
|
|
210
|
-
cwd?: string;
|
|
211
|
-
}): Promise<SessionListEntry[]>;
|
|
212
|
-
exportSession(sessionId: string): Promise<SessionExport>;
|
|
213
|
-
launchSession(input: LaunchInput): Promise<LaunchResult>;
|
|
214
|
-
setSessionTitle?(sessionId: string, title: string): Promise<void>;
|
|
215
|
-
};
|
|
216
|
-
export type AgentRegistry = {
|
|
217
|
-
get(id: AgentId): AgentService | null;
|
|
218
|
-
list(): AgentService[];
|
|
219
|
-
checkAll(): Record<AgentId, AvailabilityInfo>;
|
|
220
|
-
};
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { jsx as g, jsxs as $ } from "react/jsx-runtime";
|
|
2
|
-
import { c as q } from "react/compiler-runtime";
|
|
3
|
-
import { Tooltip as F, Portal as D, ScrollArea as R } from "@chakra-ui/react";
|
|
4
|
-
import * as V from "react";
|
|
5
|
-
import { FileSpreadsheet as E, FileCode as H, FileChartLine as I, FileJson as L, FileText as _, FileCog as k, FileImage as J, FileArchive as W, File as B } from "lucide-react";
|
|
6
|
-
const U = V.forwardRef(function(t, v) {
|
|
7
|
-
const e = q(26);
|
|
8
|
-
let l, r, i, d, s, a, f, u;
|
|
9
|
-
e[0] !== t ? ({
|
|
10
|
-
showArrow: f,
|
|
11
|
-
children: l,
|
|
12
|
-
disabled: d,
|
|
13
|
-
portalled: u,
|
|
14
|
-
content: r,
|
|
15
|
-
contentProps: i,
|
|
16
|
-
portalRef: s,
|
|
17
|
-
...a
|
|
18
|
-
} = t, e[0] = t, e[1] = l, e[2] = r, e[3] = i, e[4] = d, e[5] = s, e[6] = a, e[7] = f, e[8] = u) : (l = e[1], r = e[2], i = e[3], d = e[4], s = e[5], a = e[6], f = e[7], u = e[8]);
|
|
19
|
-
const x = u === void 0 ? !0 : u;
|
|
20
|
-
if (d || K(r))
|
|
21
|
-
return l;
|
|
22
|
-
let n;
|
|
23
|
-
e[9] !== l ? (n = /* @__PURE__ */ g(F.Trigger, { asChild: !0, children: l }), e[9] = l, e[10] = n) : n = e[10];
|
|
24
|
-
const h = !x;
|
|
25
|
-
let p;
|
|
26
|
-
e[11] !== f ? (p = f && /* @__PURE__ */ g(F.Arrow, { children: /* @__PURE__ */ g(F.ArrowTip, {}) }), e[11] = f, e[12] = p) : p = e[12];
|
|
27
|
-
let o;
|
|
28
|
-
e[13] !== r || e[14] !== i || e[15] !== v || e[16] !== p ? (o = /* @__PURE__ */ g(F.Positioner, { children: /* @__PURE__ */ $(F.Content, { ref: v, ...i, children: [
|
|
29
|
-
p,
|
|
30
|
-
r
|
|
31
|
-
] }) }), e[13] = r, e[14] = i, e[15] = v, e[16] = p, e[17] = o) : o = e[17];
|
|
32
|
-
let m;
|
|
33
|
-
e[18] !== s || e[19] !== h || e[20] !== o ? (m = /* @__PURE__ */ g(D, { disabled: h, container: s, children: o }), e[18] = s, e[19] = h, e[20] = o, e[21] = m) : m = e[21];
|
|
34
|
-
let w;
|
|
35
|
-
return e[22] !== a || e[23] !== n || e[24] !== m ? (w = /* @__PURE__ */ $(F.Root, { openDelay: 100, closeDelay: 100, ...a, children: [
|
|
36
|
-
n,
|
|
37
|
-
m
|
|
38
|
-
] }), e[22] = a, e[23] = n, e[24] = m, e[25] = w) : w = e[25], w;
|
|
39
|
-
});
|
|
40
|
-
function G(c) {
|
|
41
|
-
return typeof c == "string" ? c.trim().length === 0 : !1;
|
|
42
|
-
}
|
|
43
|
-
function K(c) {
|
|
44
|
-
if (c == null || c === !1)
|
|
45
|
-
return !0;
|
|
46
|
-
const t = V.Children.toArray(c);
|
|
47
|
-
return t.length === 0 ? !0 : t.every(G);
|
|
48
|
-
}
|
|
49
|
-
const X = V.forwardRef(function(t, v) {
|
|
50
|
-
const e = q(40);
|
|
51
|
-
let l, r, i, d, s, a, f, u, x, b, n, h;
|
|
52
|
-
e[0] !== t ? ({
|
|
53
|
-
children: l,
|
|
54
|
-
viewportRef: h,
|
|
55
|
-
contentRef: i,
|
|
56
|
-
viewportProps: n,
|
|
57
|
-
contentProps: r,
|
|
58
|
-
verticalScrollbarProps: b,
|
|
59
|
-
horizontalScrollbarProps: d,
|
|
60
|
-
showVerticalScrollbar: a,
|
|
61
|
-
showHorizontalScrollbar: f,
|
|
62
|
-
showCorner: u,
|
|
63
|
-
size: x,
|
|
64
|
-
...s
|
|
65
|
-
} = t, e[0] = t, e[1] = l, e[2] = r, e[3] = i, e[4] = d, e[5] = s, e[6] = a, e[7] = f, e[8] = u, e[9] = x, e[10] = b, e[11] = n, e[12] = h) : (l = e[1], r = e[2], i = e[3], d = e[4], s = e[5], a = e[6], f = e[7], u = e[8], x = e[9], b = e[10], n = e[11], h = e[12]);
|
|
66
|
-
const p = a === void 0 ? !0 : a, o = f === void 0 ? !1 : f, m = u === void 0 ? p && o : u, w = x === void 0 ? "xs" : x;
|
|
67
|
-
let A;
|
|
68
|
-
e[13] !== r || e[14] !== o ? (A = o ? r : {
|
|
69
|
-
...r,
|
|
70
|
-
style: {
|
|
71
|
-
minWidth: 0,
|
|
72
|
-
...r?.style
|
|
73
|
-
}
|
|
74
|
-
}, e[13] = r, e[14] = o, e[15] = A) : A = e[15];
|
|
75
|
-
const P = A;
|
|
76
|
-
let C;
|
|
77
|
-
e[16] !== l || e[17] !== i || e[18] !== P ? (C = /* @__PURE__ */ g(R.Content, { ...P, ref: i, children: l }), e[16] = l, e[17] = i, e[18] = P, e[19] = C) : C = e[19];
|
|
78
|
-
let S;
|
|
79
|
-
e[20] !== C || e[21] !== n || e[22] !== h ? (S = /* @__PURE__ */ g(R.Viewport, { ...n, ref: h, children: C }), e[20] = C, e[21] = n, e[22] = h, e[23] = S) : S = e[23];
|
|
80
|
-
let y;
|
|
81
|
-
e[24] !== p || e[25] !== b ? (y = p ? /* @__PURE__ */ g(R.Scrollbar, { ...b, borderRadius: "xs" }) : null, e[24] = p, e[25] = b, e[26] = y) : y = e[26];
|
|
82
|
-
let j;
|
|
83
|
-
e[27] !== d || e[28] !== o ? (j = o ? /* @__PURE__ */ g(R.Scrollbar, { orientation: "horizontal", ...d, borderRadius: "xs" }) : null, e[27] = d, e[28] = o, e[29] = j) : j = e[29];
|
|
84
|
-
let z;
|
|
85
|
-
e[30] !== m ? (z = m ? /* @__PURE__ */ g(R.Corner, {}) : null, e[30] = m, e[31] = z) : z = e[31];
|
|
86
|
-
let T;
|
|
87
|
-
return e[32] !== v || e[33] !== s || e[34] !== w || e[35] !== S || e[36] !== y || e[37] !== j || e[38] !== z ? (T = /* @__PURE__ */ $(R.Root, { ref: v, size: w, ...s, children: [
|
|
88
|
-
S,
|
|
89
|
-
y,
|
|
90
|
-
j,
|
|
91
|
-
z
|
|
92
|
-
] }), e[32] = v, e[33] = s, e[34] = w, e[35] = S, e[36] = y, e[37] = j, e[38] = z, e[39] = T) : T = e[39], T;
|
|
93
|
-
}), Y = (c) => {
|
|
94
|
-
const t = c.split(".").pop()?.toLowerCase() ?? "";
|
|
95
|
-
return ["csv", "tsv", "xlsx", "xls", "parquet"].includes(t) ? E : ["sql", "py", "js", "ts", "jsx", "tsx", "java", "cpp", "c", "h", "css", "scss", "sass", "php", "rb", "go", "rs", "kt", "swift"].includes(t) ? H : ["json", "jsonl", "ndjson"].includes(t) ? c.includes("/visualizations/") ? I : L : ["md", "txt", "rst", "org", "pdf", "doc", "docx", "rtf"].includes(t) ? _ : ["yaml", "yml", "toml", "ini", "conf", "config"].includes(t) ? k : ["png", "jpg", "jpeg", "gif", "svg", "webp", "ico"].includes(t) ? J : ["zip", "tar", "gz", "rar", "7z"].includes(t) ? W : B;
|
|
96
|
-
};
|
|
97
|
-
export {
|
|
98
|
-
X as S,
|
|
99
|
-
U as T,
|
|
100
|
-
Y as g
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=get-file-type-icon-ufFb0IkR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-file-type-icon-ufFb0IkR.js","sources":["../src/components/tooltip.tsx","../src/components/scroll-area.tsx","../src/utils/get-file-type-icon.ts"],"sourcesContent":["import { Tooltip as ChakraTooltip, Portal } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface TooltipProps extends ChakraTooltip.RootProps {\n children?: React.ReactElement;\n showArrow?: boolean;\n portalled?: boolean;\n portalRef?: React.RefObject<HTMLElement>;\n content: React.ReactNode;\n contentProps?: ChakraTooltip.ContentProps;\n disabled?: boolean;\n}\n\nexport const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(function Tooltip(props, ref) {\n const { showArrow, children, disabled, portalled = true, content, contentProps, portalRef, ...rest } = props;\n\n const isEmptyContent = (node: React.ReactNode): boolean => {\n if (node === null || node === undefined || node === false) return true;\n const arr = React.Children.toArray(node);\n if (arr.length === 0) return true;\n return arr.every((child) => (typeof child === \"string\" ? child.trim().length === 0 : false));\n };\n\n if (disabled || isEmptyContent(content)) return children;\n\n return (\n <ChakraTooltip.Root openDelay={100} closeDelay={100} {...rest}>\n <ChakraTooltip.Trigger asChild>{children}</ChakraTooltip.Trigger>\n <Portal disabled={!portalled} container={portalRef}>\n <ChakraTooltip.Positioner>\n <ChakraTooltip.Content ref={ref} {...contentProps}>\n {showArrow && (\n <ChakraTooltip.Arrow>\n <ChakraTooltip.ArrowTip />\n </ChakraTooltip.Arrow>\n )}\n {content}\n </ChakraTooltip.Content>\n </ChakraTooltip.Positioner>\n </Portal>\n </ChakraTooltip.Root>\n );\n});\n","import { ScrollArea as ChakraScrollArea } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\ntype VerticalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, \"orientation\">;\ntype HorizontalScrollbarProps = Omit<ChakraScrollArea.ScrollbarProps, \"orientation\">;\n\nexport interface ScrollAreaProps extends ChakraScrollArea.RootProps {\n viewportRef?: React.Ref<HTMLDivElement>;\n contentRef?: React.Ref<HTMLDivElement>;\n viewportProps?: ChakraScrollArea.ViewportProps;\n contentProps?: ChakraScrollArea.ContentProps;\n verticalScrollbarProps?: VerticalScrollbarProps;\n horizontalScrollbarProps?: HorizontalScrollbarProps;\n showVerticalScrollbar?: boolean;\n showHorizontalScrollbar?: boolean;\n showCorner?: boolean;\n}\n\nexport const ScrollArea = React.forwardRef<HTMLDivElement, ScrollAreaProps>(function ScrollArea(props, ref) {\n const {\n children,\n viewportRef,\n contentRef,\n viewportProps,\n contentProps,\n verticalScrollbarProps,\n horizontalScrollbarProps,\n showVerticalScrollbar = true,\n showHorizontalScrollbar = false,\n showCorner = showVerticalScrollbar && showHorizontalScrollbar,\n size = \"xs\",\n ...rest\n } = props;\n\n const mergedContentProps = showHorizontalScrollbar\n ? contentProps\n : { ...contentProps, style: { minWidth: 0, ...contentProps?.style } };\n\n return (\n <ChakraScrollArea.Root ref={ref} size={size} {...rest}>\n <ChakraScrollArea.Viewport {...viewportProps} ref={viewportRef}>\n <ChakraScrollArea.Content {...mergedContentProps} ref={contentRef}>\n {children}\n </ChakraScrollArea.Content>\n </ChakraScrollArea.Viewport>\n {showVerticalScrollbar ? <ChakraScrollArea.Scrollbar {...verticalScrollbarProps} borderRadius={\"xs\"} /> : null}\n {showHorizontalScrollbar ? (\n <ChakraScrollArea.Scrollbar orientation=\"horizontal\" {...horizontalScrollbarProps} borderRadius={\"xs\"} />\n ) : null}\n {showCorner ? <ChakraScrollArea.Corner /> : null}\n </ChakraScrollArea.Root>\n );\n});\n","import type { LucideIcon } from \"lucide-react\";\nimport {\n File,\n FileArchive,\n FileChartLine,\n FileCode,\n FileCog,\n FileImage,\n FileJson,\n FileSpreadsheet,\n FileText,\n} from \"lucide-react\";\n\nexport const getFileTypeIcon = (filename: string): LucideIcon => {\n const extension = filename.split(\".\").pop()?.toLowerCase() ?? \"\";\n\n if ([\"csv\", \"tsv\", \"xlsx\", \"xls\", \"parquet\"].includes(extension)) return FileSpreadsheet;\n if (\n [\n \"sql\",\n \"py\",\n \"js\",\n \"ts\",\n \"jsx\",\n \"tsx\",\n \"java\",\n \"cpp\",\n \"c\",\n \"h\",\n \"css\",\n \"scss\",\n \"sass\",\n \"php\",\n \"rb\",\n \"go\",\n \"rs\",\n \"kt\",\n \"swift\",\n ].includes(extension)\n ) {\n return FileCode;\n }\n if ([\"json\", \"jsonl\", \"ndjson\"].includes(extension)) {\n if (filename.includes(\"/visualizations/\")) return FileChartLine;\n return FileJson;\n }\n if ([\"md\", \"txt\", \"rst\", \"org\", \"pdf\", \"doc\", \"docx\", \"rtf\"].includes(extension)) return FileText;\n if ([\"yaml\", \"yml\", \"toml\", \"ini\", \"conf\", \"config\"].includes(extension)) return FileCog;\n if ([\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\", \"ico\"].includes(extension)) return FileImage;\n if ([\"zip\", \"tar\", \"gz\", \"rar\", \"7z\"].includes(extension)) return FileArchive;\n return File;\n};\n"],"names":["Tooltip","React","forwardRef","props","ref","$","_c","children","content","contentProps","disabled","portalRef","rest","showArrow","t0","portalled","undefined","_temp2","t1","ChakraTooltip","t2","t3","jsx","t4","jsxs","t5","Portal","t6","_temp","child","trim","length","node","arr","Children","toArray","every","ScrollArea","contentRef","horizontalScrollbarProps","verticalScrollbarProps","viewportProps","viewportRef","showVerticalScrollbar","showHorizontalScrollbar","showCorner","size","style","minWidth","mergedContentProps","ChakraScrollArea","t7","t8","t9","t10","getFileTypeIcon","filename","extension","split","pop","toLowerCase","includes","FileSpreadsheet","FileCode","FileChartLine","FileJson","FileText","FileCog","FileImage","FileArchive","File"],"mappings":"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"}
|