@dilipod/ui 0.4.23 → 0.4.25
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/components/support-chat.d.ts +28 -0
- package/dist/components/support-chat.d.ts.map +1 -0
- package/dist/components/worker-spec.d.ts +18 -0
- package/dist/components/worker-spec.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +212 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +214 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/support-chat.tsx +236 -0
- package/src/components/worker-spec.tsx +155 -0
- package/src/index.ts +5 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SupportChatMessage {
|
|
3
|
+
id: string;
|
|
4
|
+
role: 'customer' | 'admin' | 'system';
|
|
5
|
+
content: string;
|
|
6
|
+
type: 'message' | 'event' | 'suggestion';
|
|
7
|
+
created_at: string;
|
|
8
|
+
metadata?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export interface SupportChatProps {
|
|
11
|
+
/** Fetch messages from this endpoint */
|
|
12
|
+
messagesEndpoint: string;
|
|
13
|
+
/** POST new messages to this endpoint */
|
|
14
|
+
sendEndpoint: string;
|
|
15
|
+
/** Role of the current user */
|
|
16
|
+
currentRole: 'customer' | 'admin';
|
|
17
|
+
/** Poll interval in ms (0 to disable). Default: 5000 */
|
|
18
|
+
pollInterval?: number;
|
|
19
|
+
/** Placeholder for the input */
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/** Custom empty state */
|
|
22
|
+
emptyMessage?: string | ReactNode;
|
|
23
|
+
/** Additional CSS class */
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function SupportChat({ messagesEndpoint, sendEndpoint, currentRole, pollInterval, placeholder, emptyMessage, className, }: SupportChatProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default SupportChat;
|
|
28
|
+
//# sourceMappingURL=support-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"support-chat.d.ts","sourceRoot":"","sources":["../../src/components/support-chat.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA4C,SAAS,EAAE,MAAM,OAAO,CAAA;AAY3E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,WAAW,EAAE,UAAU,GAAG,OAAO,CAAA;IACjC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAwBD,wBAAgB,WAAW,CAAC,EAC1B,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAmB,EACnB,WAAiC,EACjC,YAAyD,EACzD,SAAc,GACf,EAAE,gBAAgB,2CAmKlB;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
export interface AnalysisSource {
|
|
2
|
+
type: string;
|
|
3
|
+
name: string;
|
|
4
|
+
size: number;
|
|
5
|
+
insights?: string[];
|
|
6
|
+
processing_time_ms?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface AnalysisSummary {
|
|
9
|
+
total_sources: number;
|
|
10
|
+
video_count: number;
|
|
11
|
+
document_count: number;
|
|
12
|
+
image_count: number;
|
|
13
|
+
total_insights: number;
|
|
14
|
+
analyzed_at: string;
|
|
15
|
+
}
|
|
1
16
|
export interface WorkerSpecDocumentation {
|
|
2
17
|
scope: string | null;
|
|
3
18
|
goal: string | null;
|
|
@@ -21,6 +36,9 @@ export interface WorkerSpecDocumentation {
|
|
|
21
36
|
scenario: string;
|
|
22
37
|
handling: string;
|
|
23
38
|
}> | null;
|
|
39
|
+
analysis_sources: AnalysisSource[] | null;
|
|
40
|
+
analysis_summary: AnalysisSummary | null;
|
|
41
|
+
analysis_context: string | null;
|
|
24
42
|
version: number;
|
|
25
43
|
model_used: string | null;
|
|
26
44
|
updated_at: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-spec.d.ts","sourceRoot":"","sources":["../../src/components/worker-spec.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-spec.d.ts","sourceRoot":"","sources":["../../src/components/worker-spec.tsx"],"names":[],"mappings":"AA2CA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KACtB,CAAC,GAAG,IAAI,CAAA;IACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,eAAe,EAAE;QACf,iCAAiC,EAAE,MAAM,CAAA;QACzC,SAAS,EAAE,MAAM,CAAA;QACjB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,yBAAyB,EAAE,MAAM,CAAA;QACjC,oBAAoB,EAAE,MAAM,EAAE,CAAA;KAC/B,GAAG,IAAI,CAAA;IACR,sBAAsB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACvC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACnC,kBAAkB,EAAE,KAAK,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAC,GAAG,IAAI,CAAA;IACT,gBAAgB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;IACzC,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,aAAa,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC7C,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA8FD,wBAAgB,UAAU,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,eAAe,2CAiWvE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -90,12 +90,14 @@ export { ImpactMetricsForm } from './components/impact-metrics-form';
|
|
|
90
90
|
export type { ImpactMetrics, ImpactMetricsFormProps } from './components/impact-metrics-form';
|
|
91
91
|
export { ActivityTimeline } from './components/activity-timeline';
|
|
92
92
|
export type { Activity, ActivityTimelineProps } from './components/activity-timeline';
|
|
93
|
+
export { SupportChat } from './components/support-chat';
|
|
94
|
+
export type { SupportChatMessage, SupportChatProps } from './components/support-chat';
|
|
93
95
|
export { WorkflowFlow } from './components/workflow-flow';
|
|
94
96
|
export type { WorkflowFlowProps, N8nWorkflow as WorkflowFlowN8nWorkflow, N8nNode } from './components/workflow-flow';
|
|
95
97
|
export { WorkflowViewer } from './components/workflow-viewer';
|
|
96
98
|
export type { WorkflowViewerProps, N8nWorkflow, SimWorkflow, WorkflowTemplate } from './components/workflow-viewer';
|
|
97
99
|
export { WorkerSpec } from './components/worker-spec';
|
|
98
|
-
export type { WorkerSpecProps, WorkerSpecDocumentation } from './components/worker-spec';
|
|
100
|
+
export type { WorkerSpecProps, WorkerSpecDocumentation, AnalysisSource, AnalysisSummary } from './components/worker-spec';
|
|
99
101
|
export { FlowchartDiagram } from './components/flowchart-diagram';
|
|
100
102
|
export type { FlowchartDiagramProps } from './components/flowchart-diagram';
|
|
101
103
|
export { cn } from './lib/utils';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -485,6 +485,7 @@ __export(index_exports, {
|
|
|
485
485
|
Stat: () => Stat,
|
|
486
486
|
StepDots: () => StepDots,
|
|
487
487
|
StepProgress: () => StepProgress,
|
|
488
|
+
SupportChat: () => SupportChat,
|
|
488
489
|
Switch: () => Switch,
|
|
489
490
|
Table: () => Table,
|
|
490
491
|
TableBody: () => TableBody,
|
|
@@ -4901,6 +4902,135 @@ function ActivityTimeline({
|
|
|
4901
4902
|
] })
|
|
4902
4903
|
] });
|
|
4903
4904
|
}
|
|
4905
|
+
function formatMessageTime(dateStr) {
|
|
4906
|
+
const d = new Date(dateStr);
|
|
4907
|
+
const now = /* @__PURE__ */ new Date();
|
|
4908
|
+
const diffMs = now.getTime() - d.getTime();
|
|
4909
|
+
const diffMins = Math.floor(diffMs / 6e4);
|
|
4910
|
+
const diffHours = Math.floor(diffMs / 36e5);
|
|
4911
|
+
if (diffMins < 1) return "just now";
|
|
4912
|
+
if (diffMins < 60) return `${diffMins}m ago`;
|
|
4913
|
+
if (diffHours < 24) return `${diffHours}h ago`;
|
|
4914
|
+
return d.toLocaleDateString(void 0, { month: "short", day: "numeric", hour: "numeric", minute: "2-digit" });
|
|
4915
|
+
}
|
|
4916
|
+
function SupportChat({
|
|
4917
|
+
messagesEndpoint,
|
|
4918
|
+
sendEndpoint,
|
|
4919
|
+
currentRole,
|
|
4920
|
+
pollInterval = 5e3,
|
|
4921
|
+
placeholder = "Type a message...",
|
|
4922
|
+
emptyMessage = "No messages yet. Start the conversation!",
|
|
4923
|
+
className = ""
|
|
4924
|
+
}) {
|
|
4925
|
+
const [messages, setMessages] = React51.useState([]);
|
|
4926
|
+
const [loading, setLoading] = React51.useState(true);
|
|
4927
|
+
const [sending, setSending] = React51.useState(false);
|
|
4928
|
+
const [inputValue, setInputValue] = React51.useState("");
|
|
4929
|
+
const scrollRef = React51.useRef(null);
|
|
4930
|
+
const prevMessageCountRef = React51.useRef(0);
|
|
4931
|
+
const fetchMessages = React51.useCallback(async () => {
|
|
4932
|
+
try {
|
|
4933
|
+
const res = await fetch(messagesEndpoint);
|
|
4934
|
+
if (!res.ok) return;
|
|
4935
|
+
const data = await res.json();
|
|
4936
|
+
setMessages(data.messages || []);
|
|
4937
|
+
} catch {
|
|
4938
|
+
} finally {
|
|
4939
|
+
setLoading(false);
|
|
4940
|
+
}
|
|
4941
|
+
}, [messagesEndpoint]);
|
|
4942
|
+
React51.useEffect(() => {
|
|
4943
|
+
fetchMessages();
|
|
4944
|
+
if (pollInterval > 0) {
|
|
4945
|
+
const interval = setInterval(fetchMessages, pollInterval);
|
|
4946
|
+
return () => clearInterval(interval);
|
|
4947
|
+
}
|
|
4948
|
+
}, [fetchMessages, pollInterval]);
|
|
4949
|
+
React51.useEffect(() => {
|
|
4950
|
+
if (messages.length > prevMessageCountRef.current) {
|
|
4951
|
+
scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight, behavior: "smooth" });
|
|
4952
|
+
}
|
|
4953
|
+
prevMessageCountRef.current = messages.length;
|
|
4954
|
+
}, [messages.length]);
|
|
4955
|
+
const handleSend = async () => {
|
|
4956
|
+
const content = inputValue.trim();
|
|
4957
|
+
if (!content || sending) return;
|
|
4958
|
+
setSending(true);
|
|
4959
|
+
setInputValue("");
|
|
4960
|
+
const optimisticMsg = {
|
|
4961
|
+
id: `temp-${Date.now()}`,
|
|
4962
|
+
role: currentRole,
|
|
4963
|
+
content,
|
|
4964
|
+
type: "message",
|
|
4965
|
+
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
4966
|
+
};
|
|
4967
|
+
setMessages((prev) => [...prev, optimisticMsg]);
|
|
4968
|
+
try {
|
|
4969
|
+
const res = await fetch(sendEndpoint, {
|
|
4970
|
+
method: "POST",
|
|
4971
|
+
headers: { "Content-Type": "application/json" },
|
|
4972
|
+
body: JSON.stringify({ content })
|
|
4973
|
+
});
|
|
4974
|
+
if (res.ok) {
|
|
4975
|
+
await fetchMessages();
|
|
4976
|
+
} else {
|
|
4977
|
+
setMessages((prev) => prev.filter((m) => m.id !== optimisticMsg.id));
|
|
4978
|
+
}
|
|
4979
|
+
} catch {
|
|
4980
|
+
setMessages((prev) => prev.filter((m) => m.id !== optimisticMsg.id));
|
|
4981
|
+
} finally {
|
|
4982
|
+
setSending(false);
|
|
4983
|
+
}
|
|
4984
|
+
};
|
|
4985
|
+
const handleKeyDown = (e) => {
|
|
4986
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
4987
|
+
e.preventDefault();
|
|
4988
|
+
handleSend();
|
|
4989
|
+
}
|
|
4990
|
+
};
|
|
4991
|
+
if (loading) {
|
|
4992
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex items-center justify-center py-8 ${className}`, children: /* @__PURE__ */ jsxRuntime.jsx(react_star.CircleNotch, { className: "w-5 h-5 animate-spin text-muted-foreground" }) });
|
|
4993
|
+
}
|
|
4994
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex flex-col ${className}`, children: [
|
|
4995
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { ref: scrollRef, className: "flex-1 overflow-y-auto space-y-3 mb-4 max-h-[400px] min-h-[200px] px-1", children: messages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center h-full text-sm text-muted-foreground py-8", children: typeof emptyMessage === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: emptyMessage }) : emptyMessage }) : messages.map((msg) => {
|
|
4996
|
+
if (msg.type === "event" || msg.role === "system") {
|
|
4997
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-gray-50 border border-gray-100 rounded-full px-3 py-1 text-xs text-muted-foreground max-w-[90%] text-center", children: [
|
|
4998
|
+
msg.content,
|
|
4999
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 opacity-60", children: formatMessageTime(msg.created_at) })
|
|
5000
|
+
] }) }, msg.id);
|
|
5001
|
+
}
|
|
5002
|
+
const isCurrentUser = msg.role === currentRole;
|
|
5003
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex ${isCurrentUser ? "justify-end" : "justify-start"}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `max-w-[80%] rounded-lg px-3 py-2 ${isCurrentUser ? "bg-[var(--cyan)] text-white" : "bg-gray-100 text-[var(--black)]"}`, children: [
|
|
5004
|
+
!isCurrentUser && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium mb-0.5 opacity-70", children: msg.role === "admin" ? "Dilipod Team" : "You" }),
|
|
5005
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm whitespace-pre-wrap", children: msg.content }),
|
|
5006
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: `text-[10px] mt-1 ${isCurrentUser ? "text-white/60" : "text-muted-foreground"}`, children: formatMessageTime(msg.created_at) })
|
|
5007
|
+
] }) }, msg.id);
|
|
5008
|
+
}) }),
|
|
5009
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 border-t border-gray-100 pt-3", children: [
|
|
5010
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5011
|
+
Textarea,
|
|
5012
|
+
{
|
|
5013
|
+
value: inputValue,
|
|
5014
|
+
onChange: (e) => setInputValue(e.target.value),
|
|
5015
|
+
onKeyDown: handleKeyDown,
|
|
5016
|
+
placeholder,
|
|
5017
|
+
rows: 1,
|
|
5018
|
+
className: "resize-none min-h-[36px] py-2 flex-1"
|
|
5019
|
+
}
|
|
5020
|
+
),
|
|
5021
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5022
|
+
Button,
|
|
5023
|
+
{
|
|
5024
|
+
onClick: handleSend,
|
|
5025
|
+
disabled: sending || !inputValue.trim(),
|
|
5026
|
+
size: "sm",
|
|
5027
|
+
className: "flex-shrink-0 h-9",
|
|
5028
|
+
children: sending ? /* @__PURE__ */ jsxRuntime.jsx(react_star.CircleNotch, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(react_star.PaperPlaneTilt, { className: "w-4 h-4", weight: "bold" })
|
|
5029
|
+
}
|
|
5030
|
+
)
|
|
5031
|
+
] })
|
|
5032
|
+
] });
|
|
5033
|
+
}
|
|
4904
5034
|
|
|
4905
5035
|
// src/index.ts
|
|
4906
5036
|
init_workflow_flow();
|
|
@@ -6362,6 +6492,30 @@ function SectionHeader({
|
|
|
6362
6492
|
}
|
|
6363
6493
|
);
|
|
6364
6494
|
}
|
|
6495
|
+
function AnalysisContextRenderer({ content }) {
|
|
6496
|
+
const sections = content.split(/^## /gm).filter(Boolean);
|
|
6497
|
+
const getIcon = (title) => {
|
|
6498
|
+
if (title.includes("Request")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.Target, { size: 14, className: "text-[var(--cyan)]" });
|
|
6499
|
+
if (title.includes("Video")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.VideoCamera, { size: 14, className: "text-[var(--cyan)]" });
|
|
6500
|
+
if (title.includes("Document")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14, className: "text-[var(--cyan)]" });
|
|
6501
|
+
if (title.includes("Rules")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.Lightbulb, { size: 14, className: "text-amber-500" });
|
|
6502
|
+
if (title.includes("Context")) return /* @__PURE__ */ jsxRuntime.jsx(react_star.TextT, { size: 14, className: "text-[var(--cyan)]" });
|
|
6503
|
+
return null;
|
|
6504
|
+
};
|
|
6505
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-6", children: sections.map((section, index) => {
|
|
6506
|
+
const lines = section.split("\n");
|
|
6507
|
+
const title = lines[0]?.trim();
|
|
6508
|
+
const body = lines.slice(1).join("\n").trim();
|
|
6509
|
+
if (!body) return null;
|
|
6510
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6511
|
+
/* @__PURE__ */ jsxRuntime.jsxs("h4", { className: "text-sm font-medium text-[var(--black)] flex items-center gap-2 mb-3", children: [
|
|
6512
|
+
getIcon(title),
|
|
6513
|
+
title
|
|
6514
|
+
] }),
|
|
6515
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground pl-5 space-y-2 whitespace-pre-line", children: body })
|
|
6516
|
+
] }, index);
|
|
6517
|
+
}) });
|
|
6518
|
+
}
|
|
6365
6519
|
function WorkerSpec({ documentation, className }) {
|
|
6366
6520
|
const [expandedSections, setExpandedSections] = React51.useState(
|
|
6367
6521
|
/* @__PURE__ */ new Set(["goal", "scope", "steps", "diagram", "impact", "requirements", "edge_cases"])
|
|
@@ -6387,7 +6541,64 @@ function WorkerSpec({ documentation, className }) {
|
|
|
6387
6541
|
] }) });
|
|
6388
6542
|
}
|
|
6389
6543
|
const freqLabel = documentation.expected_impact?.frequency ? frequencyLabels[documentation.expected_impact.frequency] || documentation.expected_impact.frequency : "occurrence";
|
|
6544
|
+
const hasAnalysis = documentation.analysis_context || documentation.analysis_sources && documentation.analysis_sources.length > 0;
|
|
6390
6545
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
|
|
6546
|
+
hasAnalysis && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(Dialog, { children: [
|
|
6547
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: "flex items-center gap-2 text-sm font-medium text-[var(--cyan)] hover:text-[var(--cyan)]/80 transition-colors", children: [
|
|
6548
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.MagnifyingGlass, { size: 16 }),
|
|
6549
|
+
"What was analyzed",
|
|
6550
|
+
documentation.analysis_summary && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-muted-foreground font-normal", children: [
|
|
6551
|
+
"(",
|
|
6552
|
+
documentation.analysis_summary.total_sources,
|
|
6553
|
+
" source",
|
|
6554
|
+
documentation.analysis_summary.total_sources !== 1 ? "s" : "",
|
|
6555
|
+
")"
|
|
6556
|
+
] }),
|
|
6557
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.CaretRight, { size: 12 })
|
|
6558
|
+
] }) }),
|
|
6559
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "max-w-xl max-h-[80vh] overflow-y-auto", children: [
|
|
6560
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { children: [
|
|
6561
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: "What was analyzed" }),
|
|
6562
|
+
documentation.analysis_summary && /* @__PURE__ */ jsxRuntime.jsxs(DialogDescription, { className: "flex items-center gap-4 text-xs", children: [
|
|
6563
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
6564
|
+
documentation.analysis_summary.total_sources,
|
|
6565
|
+
" source",
|
|
6566
|
+
documentation.analysis_summary.total_sources !== 1 ? "s" : ""
|
|
6567
|
+
] }),
|
|
6568
|
+
documentation.analysis_summary.video_count > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1", children: [
|
|
6569
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.FilmStrip, { size: 12 }),
|
|
6570
|
+
documentation.analysis_summary.video_count,
|
|
6571
|
+
" video",
|
|
6572
|
+
documentation.analysis_summary.video_count !== 1 ? "s" : ""
|
|
6573
|
+
] }),
|
|
6574
|
+
documentation.analysis_summary.document_count > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1", children: [
|
|
6575
|
+
/* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 12 }),
|
|
6576
|
+
documentation.analysis_summary.document_count,
|
|
6577
|
+
" doc",
|
|
6578
|
+
documentation.analysis_summary.document_count !== 1 ? "s" : ""
|
|
6579
|
+
] })
|
|
6580
|
+
] })
|
|
6581
|
+
] }),
|
|
6582
|
+
documentation.analysis_sources && documentation.analysis_sources.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
6583
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide", children: "Sources" }),
|
|
6584
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: documentation.analysis_sources.map((source, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
6585
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-shrink-0 text-muted-foreground", children: [
|
|
6586
|
+
source.type === "video" && /* @__PURE__ */ jsxRuntime.jsx(react_star.FilmStrip, { size: 14 }),
|
|
6587
|
+
(source.type === "document" || source.type === "pdf") && /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14 }),
|
|
6588
|
+
source.type === "spreadsheet" && /* @__PURE__ */ jsxRuntime.jsx(react_star.FileText, { size: 14 }),
|
|
6589
|
+
source.type === "image" && /* @__PURE__ */ jsxRuntime.jsx(react_star.ImageSquare, { size: 14 }),
|
|
6590
|
+
source.type === "description" && /* @__PURE__ */ jsxRuntime.jsx(react_star.TextT, { size: 14 })
|
|
6591
|
+
] }),
|
|
6592
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[var(--black)]", children: source.name }),
|
|
6593
|
+
source.size > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground flex-shrink-0", children: source.size > 1024 * 1024 ? `${(source.size / 1024 / 1024).toFixed(1)}MB` : `${Math.round(source.size / 1024)}KB` })
|
|
6594
|
+
] }, i)) })
|
|
6595
|
+
] }),
|
|
6596
|
+
documentation.analysis_context && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-gray-100 pt-4 space-y-1", children: [
|
|
6597
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wide mb-3", children: "Analysis Details" }),
|
|
6598
|
+
/* @__PURE__ */ jsxRuntime.jsx(AnalysisContextRenderer, { content: documentation.analysis_context })
|
|
6599
|
+
] })
|
|
6600
|
+
] })
|
|
6601
|
+
] }) }),
|
|
6391
6602
|
documentation.goal && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
6392
6603
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6393
6604
|
SectionHeader,
|
|
@@ -6686,6 +6897,7 @@ exports.Slider = Slider;
|
|
|
6686
6897
|
exports.Stat = Stat;
|
|
6687
6898
|
exports.StepDots = StepDots;
|
|
6688
6899
|
exports.StepProgress = StepProgress;
|
|
6900
|
+
exports.SupportChat = SupportChat;
|
|
6689
6901
|
exports.Switch = Switch;
|
|
6690
6902
|
exports.Table = Table;
|
|
6691
6903
|
exports.TableBody = TableBody;
|