@axiom-lattice/react-sdk 4.6.3 → 4.6.5
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/{AgentDetailSideApp-OBDHXBHZ.mjs → AgentDetailSideApp-2ZWWXXAM.mjs} +6 -6
- package/dist/{AgentGovernanceWorkbench-GGVJP6GJ.mjs → AgentGovernanceWorkbench-BZDX64QS.mjs} +7 -7
- package/dist/{MessageGraph-GTPXPTZC.mjs → MessageGraph-C5WP23G7.mjs} +2 -2
- package/dist/{ReactChart-JEUW4EU2.mjs → ReactChart-JH2RKBRE.mjs} +2 -2
- package/dist/{TasksSideApp-74BUDYDZ.mjs → TasksSideApp-H7HMCYAP.mjs} +3 -3
- package/dist/{TeamWorkspace-EDO2D3QP.mjs → TeamWorkspace-QHSRNALK.mjs} +2 -2
- package/dist/{TopologyRuntimeView-TJ2O6QAK.mjs → TopologyRuntimeView-NDPEEC4A.mjs} +3 -3
- package/dist/{WorkflowAutomationView-BMP5ALOD.mjs → WorkflowAutomationView-B5ZKGVJQ.mjs} +5 -5
- package/dist/{chunk-RCMWZB5U.mjs → chunk-4R3453QP.mjs} +2 -2
- package/dist/{chunk-Y4VGUJAK.mjs → chunk-KLNZZCOC.mjs} +4 -4
- package/dist/{chunk-3SVN3DBY.mjs → chunk-LVWTPDHR.mjs} +308 -68
- package/dist/chunk-LVWTPDHR.mjs.map +1 -0
- package/dist/{chunk-MQJ4GZ45.mjs → chunk-RU45MWG6.mjs} +5 -5
- package/dist/{chunk-XVRNO7O4.mjs → chunk-SBL4B3F6.mjs} +2 -2
- package/dist/{chunk-H2YPL7NX.mjs → chunk-SC7PWT7C.mjs} +4 -4
- package/dist/{chunk-WD5XJQ7Y.mjs → chunk-ZIOX5BRF.mjs} +2 -2
- package/dist/{embed-page-AgentDetailSideApp-IV5GFM6V.js → embed-page-AgentDetailSideApp-MVSXAG5S.js} +1 -1
- package/dist/{embed-page-AgentGovernanceWorkbench-O7EHZD7A.js → embed-page-AgentGovernanceWorkbench-ZEVAVRIQ.js} +1 -1
- package/dist/{embed-page-MessageGraph-TPEQXQVI.js → embed-page-MessageGraph-CPZJIKOD.js} +1 -1
- package/dist/{embed-page-ReactChart-A54ZOWXH.js → embed-page-ReactChart-7NQMTFJE.js} +1 -1
- package/dist/{embed-page-TasksSideApp-VVT5TJHD.js → embed-page-TasksSideApp-CY6NI4DD.js} +1 -1
- package/dist/{embed-page-TeamWorkspace-UJCO54AJ.js → embed-page-TeamWorkspace-7GQCMJWF.js} +1 -1
- package/dist/{embed-page-TopologyRuntimeView-S65ORYJP.js → embed-page-TopologyRuntimeView-5DJPLCLQ.js} +1 -1
- package/dist/{embed-page-WorkflowAutomationView-U346EREK.js → embed-page-WorkflowAutomationView-PDVXZXEF.js} +1 -1
- package/dist/embed-page-chunk-3SV3E6X5.js +6986 -0
- package/dist/{embed-page-chunk-5KAV3UKK.js → embed-page-chunk-BKCIU75D.js} +1 -1
- package/dist/{embed-page-chunk-ZWOJE3I4.js → embed-page-chunk-PZCET7LJ.js} +1 -1
- package/dist/{embed-page-chunk-HXKUWQKZ.js → embed-page-chunk-SFHRRNYQ.js} +1 -1
- package/dist/{embed-page-chunk-ZXXK35AA.js → embed-page-chunk-ULBEL4OA.js} +1 -1
- package/dist/{embed-page-chunk-DLMNBQDM.js → embed-page-chunk-UWL37DAK.js} +1 -1
- package/dist/embed-page.js +1 -1
- package/dist/index.js +298 -57
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/package.json +3 -3
- package/dist/chunk-3SVN3DBY.mjs.map +0 -1
- package/dist/embed-page-chunk-PJ6DIO3E.js +0 -6985
- /package/dist/{AgentDetailSideApp-OBDHXBHZ.mjs.map → AgentDetailSideApp-2ZWWXXAM.mjs.map} +0 -0
- /package/dist/{AgentGovernanceWorkbench-GGVJP6GJ.mjs.map → AgentGovernanceWorkbench-BZDX64QS.mjs.map} +0 -0
- /package/dist/{MessageGraph-GTPXPTZC.mjs.map → MessageGraph-C5WP23G7.mjs.map} +0 -0
- /package/dist/{ReactChart-JEUW4EU2.mjs.map → ReactChart-JH2RKBRE.mjs.map} +0 -0
- /package/dist/{TasksSideApp-74BUDYDZ.mjs.map → TasksSideApp-H7HMCYAP.mjs.map} +0 -0
- /package/dist/{TeamWorkspace-EDO2D3QP.mjs.map → TeamWorkspace-QHSRNALK.mjs.map} +0 -0
- /package/dist/{TopologyRuntimeView-TJ2O6QAK.mjs.map → TopologyRuntimeView-NDPEEC4A.mjs.map} +0 -0
- /package/dist/{WorkflowAutomationView-BMP5ALOD.mjs.map → WorkflowAutomationView-B5ZKGVJQ.mjs.map} +0 -0
- /package/dist/{chunk-RCMWZB5U.mjs.map → chunk-4R3453QP.mjs.map} +0 -0
- /package/dist/{chunk-Y4VGUJAK.mjs.map → chunk-KLNZZCOC.mjs.map} +0 -0
- /package/dist/{chunk-MQJ4GZ45.mjs.map → chunk-RU45MWG6.mjs.map} +0 -0
- /package/dist/{chunk-XVRNO7O4.mjs.map → chunk-SBL4B3F6.mjs.map} +0 -0
- /package/dist/{chunk-H2YPL7NX.mjs.map → chunk-SC7PWT7C.mjs.map} +0 -0
- /package/dist/{chunk-WD5XJQ7Y.mjs.map → chunk-ZIOX5BRF.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -4456,6 +4456,17 @@ function AgentThreadProvider({
|
|
|
4456
4456
|
onStreamCompletedRef.current = onStreamCompleted;
|
|
4457
4457
|
const pendingIdsRef = (0, import_react14.useRef)(/* @__PURE__ */ new Set());
|
|
4458
4458
|
const inFlightRef = (0, import_react14.useRef)(0);
|
|
4459
|
+
const dismissedInterruptIdsRef = (0, import_react14.useRef)(/* @__PURE__ */ new Set());
|
|
4460
|
+
const interruptsRef = (0, import_react14.useRef)(state.interrupts);
|
|
4461
|
+
interruptsRef.current = state.interrupts;
|
|
4462
|
+
const isDismissedInterrupt = (0, import_react14.useCallback)(
|
|
4463
|
+
(id2) => id2 !== void 0 && dismissedInterruptIdsRef.current.has(id2),
|
|
4464
|
+
[]
|
|
4465
|
+
);
|
|
4466
|
+
const filterDismissedInterrupts = (0, import_react14.useCallback)(
|
|
4467
|
+
(list2) => list2?.filter((interrupt) => !dismissedInterruptIdsRef.current.has(interrupt.id)),
|
|
4468
|
+
[]
|
|
4469
|
+
);
|
|
4459
4470
|
const historyLoadingRef = (0, import_react14.useRef)(false);
|
|
4460
4471
|
const streamActiveRef = (0, import_react14.useRef)(false);
|
|
4461
4472
|
const historyGenerationRef = (0, import_react14.useRef)(0);
|
|
@@ -4471,6 +4482,7 @@ function AgentThreadProvider({
|
|
|
4471
4482
|
historyLoadingRef.current = false;
|
|
4472
4483
|
inFlightRef.current = 0;
|
|
4473
4484
|
streamActiveRef.current = false;
|
|
4485
|
+
dismissedInterruptIdsRef.current = /* @__PURE__ */ new Set();
|
|
4474
4486
|
}
|
|
4475
4487
|
const isLoadingRef = (0, import_react14.useRef)(state.isLoading);
|
|
4476
4488
|
isLoadingRef.current = state.isLoading;
|
|
@@ -4500,8 +4512,9 @@ function AgentThreadProvider({
|
|
|
4500
4512
|
};
|
|
4501
4513
|
});
|
|
4502
4514
|
});
|
|
4503
|
-
|
|
4504
|
-
|
|
4515
|
+
const remainingInterrupts = filterDismissedInterrupts(fetchedInterrupts);
|
|
4516
|
+
if (remainingInterrupts?.length) {
|
|
4517
|
+
needUpdateFields.interrupts = remainingInterrupts;
|
|
4505
4518
|
}
|
|
4506
4519
|
needUpdateFields.todos = agentState?.values?.todos;
|
|
4507
4520
|
needUpdateFields.tasks = agentState?.values?.tasks;
|
|
@@ -4513,7 +4526,7 @@ function AgentThreadProvider({
|
|
|
4513
4526
|
console.warn("Failed to fetch agent state:", error);
|
|
4514
4527
|
}
|
|
4515
4528
|
},
|
|
4516
|
-
[client, options.enableReturnStateWhenStreamCompleted]
|
|
4529
|
+
[client, options.enableReturnStateWhenStreamCompleted, filterDismissedInterrupts]
|
|
4517
4530
|
);
|
|
4518
4531
|
(0, import_react14.useEffect)(() => {
|
|
4519
4532
|
if (options.initialMessages && options.initialMessages.length > 0) {
|
|
@@ -4613,13 +4626,14 @@ function AgentThreadProvider({
|
|
|
4613
4626
|
isLoadingRef.current = isLoading;
|
|
4614
4627
|
setState((prev) => {
|
|
4615
4628
|
if (currentThreadIdRef.current !== threadId) return prev;
|
|
4629
|
+
const nextInterrupts = interrupt ? isDismissedInterrupt(interrupt.id) ? prev.interrupts : [interrupt] : void 0;
|
|
4616
4630
|
return {
|
|
4617
4631
|
...prev,
|
|
4618
4632
|
todos: todos || prev.todos,
|
|
4619
4633
|
messages: chunkMessageMerger.current.getMessages(),
|
|
4620
4634
|
isLoading,
|
|
4621
4635
|
stopReason: null,
|
|
4622
|
-
interrupts:
|
|
4636
|
+
interrupts: nextInterrupts
|
|
4623
4637
|
};
|
|
4624
4638
|
});
|
|
4625
4639
|
} else {
|
|
@@ -4639,7 +4653,7 @@ function AgentThreadProvider({
|
|
|
4639
4653
|
});
|
|
4640
4654
|
}
|
|
4641
4655
|
},
|
|
4642
|
-
[getOwnedLoading, startTransition, threadId]
|
|
4656
|
+
[getOwnedLoading, startTransition, threadId, isDismissedInterrupt]
|
|
4643
4657
|
);
|
|
4644
4658
|
const handleStreamEventRef = (0, import_react14.useRef)(handleStreamEvent);
|
|
4645
4659
|
handleStreamEventRef.current = handleStreamEvent;
|
|
@@ -4669,8 +4683,14 @@ function AgentThreadProvider({
|
|
|
4669
4683
|
};
|
|
4670
4684
|
messageActivityGenerationRef.current += 1;
|
|
4671
4685
|
const wasIdle = !getOwnedLoading();
|
|
4686
|
+
const isHitlResume = command?.resume !== void 0;
|
|
4687
|
+
if (isHitlResume) {
|
|
4688
|
+
for (const pending of interruptsRef.current ?? []) {
|
|
4689
|
+
dismissedInterruptIdsRef.current.add(pending.id);
|
|
4690
|
+
}
|
|
4691
|
+
}
|
|
4672
4692
|
inFlightRef.current += 1;
|
|
4673
|
-
if (wasIdle) {
|
|
4693
|
+
if (wasIdle || isHitlResume) {
|
|
4674
4694
|
const isLoading = getOwnedLoading();
|
|
4675
4695
|
isLoadingRef.current = isLoading;
|
|
4676
4696
|
setState((prev) => ({
|
|
@@ -4863,8 +4883,8 @@ function AgentThreadProvider({
|
|
|
4863
4883
|
};
|
|
4864
4884
|
});
|
|
4865
4885
|
}
|
|
4866
|
-
);
|
|
4867
|
-
needUpdateFields.interrupts = interrupts;
|
|
4886
|
+
) ?? [];
|
|
4887
|
+
needUpdateFields.interrupts = filterDismissedInterrupts(interrupts);
|
|
4868
4888
|
const fetchedMessages = await client.getMessages({ threadId: capturedThreadId });
|
|
4869
4889
|
if (capturedEpoch !== threadEpochRef.current || currentThreadIdRef.current !== capturedThreadId || capturedGeneration !== historyGenerationRef.current) return;
|
|
4870
4890
|
historyLoadingRef.current = false;
|
|
@@ -4882,7 +4902,7 @@ function AgentThreadProvider({
|
|
|
4882
4902
|
return {
|
|
4883
4903
|
...prev,
|
|
4884
4904
|
...needUpdateFields,
|
|
4885
|
-
interrupts: prev.interrupts ?? needUpdateFields.interrupts,
|
|
4905
|
+
interrupts: filterDismissedInterrupts(prev.interrupts ?? needUpdateFields.interrupts),
|
|
4886
4906
|
messages: chunkMessageMerger.current.getMessages(),
|
|
4887
4907
|
isLoading
|
|
4888
4908
|
};
|
|
@@ -4906,7 +4926,8 @@ function AgentThreadProvider({
|
|
|
4906
4926
|
handleStreamEvent,
|
|
4907
4927
|
fetchAndUpdateAgentState,
|
|
4908
4928
|
getOwnedLoading,
|
|
4909
|
-
resumeStream
|
|
4929
|
+
resumeStream,
|
|
4930
|
+
filterDismissedInterrupts
|
|
4910
4931
|
]);
|
|
4911
4932
|
const clearMessages = (0, import_react14.useCallback)(() => {
|
|
4912
4933
|
messageActivityGenerationRef.current += 1;
|
|
@@ -84549,7 +84570,7 @@ var init_read_eval_card = __esm({
|
|
|
84549
84570
|
});
|
|
84550
84571
|
|
|
84551
84572
|
// src/components/GenUI/elements/task_manage_card.tsx
|
|
84552
|
-
var import_antd49, import_antd_style27, import_lucide_react24, import_jsx_runtime167, Text20, useStyles19, actionTitleStyle4, truncate2, statusColor, priorityColor,
|
|
84573
|
+
var import_antd49, import_antd_style27, import_lucide_react24, import_jsx_runtime167, Text20, useStyles19, actionTitleStyle4, truncate2, firstLine, statusColor, priorityColor, StatusDot, HoverReveal, resolveLiveView, resolveListStats, resolveActivityView, TaskLiveCard, TaskLiveHoverCard, TaskListCard, TaskListHoverCard, TaskActivityCard, TaskActivityHoverCard, TaskDeleteDetailCard, TaskDeleteHoverCard, failureActionLabel, TaskFailureCard, extractTask, TaskManageCard;
|
|
84553
84574
|
var init_task_manage_card = __esm({
|
|
84554
84575
|
"src/components/GenUI/elements/task_manage_card.tsx"() {
|
|
84555
84576
|
"use strict";
|
|
@@ -84559,6 +84580,7 @@ var init_task_manage_card = __esm({
|
|
|
84559
84580
|
init_SideAppBrowserContext();
|
|
84560
84581
|
init_eval_manage_card();
|
|
84561
84582
|
init_EntityCard();
|
|
84583
|
+
init_MDResponse();
|
|
84562
84584
|
import_jsx_runtime167 = require("react/jsx-runtime");
|
|
84563
84585
|
({ Text: Text20 } = import_antd49.Typography);
|
|
84564
84586
|
useStyles19 = (0, import_antd_style27.createStyles)(({ css }) => ({
|
|
@@ -84586,6 +84608,10 @@ var init_task_manage_card = __esm({
|
|
|
84586
84608
|
letterSpacing: 0.5
|
|
84587
84609
|
};
|
|
84588
84610
|
truncate2 = (s4, max5 = 120) => s4.length > max5 ? s4.slice(0, max5) + "..." : s4;
|
|
84611
|
+
firstLine = (s4) => {
|
|
84612
|
+
const line2 = s4.split("\n").map((l3) => l3.replace(/^#+\s*/, "").trim()).find((l3) => l3.length > 0) ?? "";
|
|
84613
|
+
return truncate2(line2, 80);
|
|
84614
|
+
};
|
|
84589
84615
|
statusColor = {
|
|
84590
84616
|
pending: "#9ca3af",
|
|
84591
84617
|
in_progress: "#3b82f6",
|
|
@@ -84600,28 +84626,89 @@ var init_task_manage_card = __esm({
|
|
|
84600
84626
|
medium: "#f59e0b",
|
|
84601
84627
|
low: "#9ca3af"
|
|
84602
84628
|
};
|
|
84603
|
-
|
|
84604
|
-
|
|
84605
|
-
|
|
84606
|
-
|
|
84607
|
-
|
|
84629
|
+
StatusDot = ({ status }) => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84630
|
+
"span",
|
|
84631
|
+
{
|
|
84632
|
+
style: {
|
|
84633
|
+
width: 8,
|
|
84634
|
+
height: 8,
|
|
84635
|
+
borderRadius: "50%",
|
|
84636
|
+
background: statusColor[status] ?? "#9ca3af",
|
|
84637
|
+
display: "inline-block",
|
|
84638
|
+
flexShrink: 0
|
|
84639
|
+
}
|
|
84640
|
+
}
|
|
84641
|
+
);
|
|
84642
|
+
HoverReveal = ({ chip, detail, onClick }) => {
|
|
84608
84643
|
const { styles } = useStyles19();
|
|
84644
|
+
const trigger = /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { "data-testid": "manage-task-chip", style: { display: "inline-block", maxWidth: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84645
|
+
EntityCard,
|
|
84646
|
+
{
|
|
84647
|
+
item: null,
|
|
84648
|
+
dense: true,
|
|
84649
|
+
className: styles.compactLiveCard,
|
|
84650
|
+
onClick: onClick ? () => onClick() : void 0,
|
|
84651
|
+
renderPrimary: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { style: { display: "flex", alignItems: "center", gap: 8, minWidth: 0 }, children: chip })
|
|
84652
|
+
}
|
|
84653
|
+
) });
|
|
84654
|
+
if (!detail) return trigger;
|
|
84655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84656
|
+
import_antd49.Popover,
|
|
84657
|
+
{
|
|
84658
|
+
content: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { style: { maxWidth: 420 }, children: detail }),
|
|
84659
|
+
trigger: "hover",
|
|
84660
|
+
placement: "rightTop",
|
|
84661
|
+
mouseEnterDelay: 0.15,
|
|
84662
|
+
mouseLeaveDelay: 0.1,
|
|
84663
|
+
children: trigger
|
|
84664
|
+
}
|
|
84665
|
+
);
|
|
84666
|
+
};
|
|
84667
|
+
resolveLiveView = (data, result, task) => {
|
|
84609
84668
|
const args = data?.args ?? {};
|
|
84610
84669
|
const action = args.action ?? "";
|
|
84611
|
-
const item = result.data ?? {};
|
|
84612
|
-
|
|
84613
|
-
|
|
84614
|
-
|
|
84615
|
-
|
|
84616
|
-
|
|
84617
|
-
|
|
84618
|
-
|
|
84670
|
+
const item = task ?? result.data ?? {};
|
|
84671
|
+
return {
|
|
84672
|
+
verb: action === "create" ? "CREATE TASK" : action === "set_status" ? "SET STATUS" : action === "get" ? "TASK" : "UPDATE TASK",
|
|
84673
|
+
title: item.title ?? args.title ?? "",
|
|
84674
|
+
status: item.status ?? "pending",
|
|
84675
|
+
description: item.description ?? "",
|
|
84676
|
+
priority: item.priority ?? "medium",
|
|
84677
|
+
dependencies: Array.isArray(item.dependencies) ? item.dependencies : [],
|
|
84678
|
+
reviewerAction: result.reviewerAction
|
|
84679
|
+
};
|
|
84680
|
+
};
|
|
84681
|
+
resolveListStats = (result) => {
|
|
84682
|
+
const items3 = Array.isArray(result.data) ? result.data : [];
|
|
84683
|
+
return {
|
|
84684
|
+
items: items3,
|
|
84685
|
+
count: result.count ?? items3.length,
|
|
84686
|
+
inProgress: items3.filter((t4) => t4.status === "in_progress").length,
|
|
84687
|
+
completed: items3.filter((t4) => t4.status === "completed").length
|
|
84688
|
+
};
|
|
84689
|
+
};
|
|
84690
|
+
resolveActivityView = (data, result, task) => {
|
|
84691
|
+
const args = data?.args ?? {};
|
|
84692
|
+
const activity = result.data ?? {};
|
|
84693
|
+
const markdown = activity?.detail?.markdown ?? args.content ?? "";
|
|
84694
|
+
return {
|
|
84695
|
+
markdown,
|
|
84696
|
+
summary: activity?.summary ?? args.summary ?? firstLine(markdown),
|
|
84697
|
+
title: task?.title ?? "",
|
|
84698
|
+
status: task?.status ?? "pending"
|
|
84699
|
+
};
|
|
84700
|
+
};
|
|
84701
|
+
TaskLiveCard = ({ data, result, task }) => {
|
|
84702
|
+
const openSideApp = useSideAppOpener();
|
|
84703
|
+
const { styles } = useStyles19();
|
|
84704
|
+
const { verb, title, status, description, priority, dependencies, reviewerAction } = resolveLiveView(data, result, task);
|
|
84705
|
+
const item = task ?? result.data ?? {};
|
|
84619
84706
|
const handleClick = () => {
|
|
84620
84707
|
if (item.id) {
|
|
84621
84708
|
openSideApp({ component_key: "manage_task", data: { task: item } });
|
|
84622
84709
|
return;
|
|
84623
84710
|
}
|
|
84624
|
-
|
|
84711
|
+
openSideApp({ component_key: "manage_task", data: {} });
|
|
84625
84712
|
};
|
|
84626
84713
|
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84627
84714
|
EntityCard,
|
|
@@ -84633,19 +84720,7 @@ var init_task_manage_card = __esm({
|
|
|
84633
84720
|
renderPrimary: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84634
84721
|
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
84635
84722
|
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: actionTitleStyle4, children: verb }),
|
|
84636
|
-
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84637
|
-
"span",
|
|
84638
|
-
{
|
|
84639
|
-
style: {
|
|
84640
|
-
width: 8,
|
|
84641
|
-
height: 8,
|
|
84642
|
-
borderRadius: "50%",
|
|
84643
|
-
background: statusColor[status] ?? "#9ca3af",
|
|
84644
|
-
display: "inline-block",
|
|
84645
|
-
flexShrink: 0
|
|
84646
|
-
}
|
|
84647
|
-
}
|
|
84648
|
-
)
|
|
84723
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(StatusDot, { status })
|
|
84649
84724
|
] }),
|
|
84650
84725
|
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: { fontSize: 14 }, children: title }) })
|
|
84651
84726
|
] }),
|
|
@@ -84664,14 +84739,48 @@ var init_task_manage_card = __esm({
|
|
|
84664
84739
|
}
|
|
84665
84740
|
);
|
|
84666
84741
|
};
|
|
84742
|
+
TaskLiveHoverCard = ({ data, result, task }) => {
|
|
84743
|
+
const openSideApp = useSideAppOpener();
|
|
84744
|
+
const action = data?.args?.action ?? "";
|
|
84745
|
+
const { verb, title, status } = resolveLiveView(data, result, task);
|
|
84746
|
+
const handleClick = () => {
|
|
84747
|
+
if (task.id) {
|
|
84748
|
+
openSideApp({ component_key: "manage_task", data: { task } });
|
|
84749
|
+
return;
|
|
84750
|
+
}
|
|
84751
|
+
openSideApp({ component_key: "manage_task", data: {} });
|
|
84752
|
+
};
|
|
84753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84754
|
+
HoverReveal,
|
|
84755
|
+
{
|
|
84756
|
+
onClick: handleClick,
|
|
84757
|
+
detail: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskLiveCard, { data, result, task }),
|
|
84758
|
+
chip: /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84759
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: actionTitleStyle4, children: verb }),
|
|
84760
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84761
|
+
Text20,
|
|
84762
|
+
{
|
|
84763
|
+
style: {
|
|
84764
|
+
fontSize: 13,
|
|
84765
|
+
flex: 1,
|
|
84766
|
+
minWidth: 0,
|
|
84767
|
+
overflow: "hidden",
|
|
84768
|
+
textOverflow: "ellipsis",
|
|
84769
|
+
whiteSpace: "nowrap"
|
|
84770
|
+
},
|
|
84771
|
+
children: title
|
|
84772
|
+
}
|
|
84773
|
+
),
|
|
84774
|
+
action === "set_status" ? /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { style: { fontSize: 12, flexShrink: 0, color: statusColor[status] ?? "#9ca3af" }, children: status }) : /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(StatusDot, { status })
|
|
84775
|
+
] })
|
|
84776
|
+
}
|
|
84777
|
+
);
|
|
84778
|
+
};
|
|
84667
84779
|
TaskListCard = ({ data, result }) => {
|
|
84668
84780
|
const openSideApp = useSideAppOpener();
|
|
84669
84781
|
const { styles } = useStyles19();
|
|
84670
|
-
const items3 =
|
|
84671
|
-
const
|
|
84672
|
-
const inProgress = items3.filter((t4) => t4.status === "in_progress").length;
|
|
84673
|
-
const completed = items3.filter((t4) => t4.status === "completed").length;
|
|
84674
|
-
const handleClick = () => openTaskSideApp(openSideApp);
|
|
84782
|
+
const { items: items3, count: count3, inProgress, completed } = resolveListStats(result);
|
|
84783
|
+
const handleClick = () => openSideApp({ component_key: "manage_task", data: {} });
|
|
84675
84784
|
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84676
84785
|
EntityCard,
|
|
84677
84786
|
{
|
|
@@ -84724,20 +84833,137 @@ var init_task_manage_card = __esm({
|
|
|
84724
84833
|
}
|
|
84725
84834
|
);
|
|
84726
84835
|
};
|
|
84727
|
-
|
|
84836
|
+
TaskListHoverCard = ({ data, result }) => {
|
|
84837
|
+
const openSideApp = useSideAppOpener();
|
|
84838
|
+
const { count: count3, inProgress, completed } = resolveListStats(result);
|
|
84839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84840
|
+
HoverReveal,
|
|
84841
|
+
{
|
|
84842
|
+
onClick: () => openSideApp({ component_key: "manage_task", data: {} }),
|
|
84843
|
+
detail: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskListCard, { data, result }),
|
|
84844
|
+
chip: /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84845
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: actionTitleStyle4, children: "TASK LIST" }),
|
|
84846
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(Text20, { style: { fontSize: 13 }, children: [
|
|
84847
|
+
count3,
|
|
84848
|
+
" ",
|
|
84849
|
+
count3 === 1 ? "task" : "tasks"
|
|
84850
|
+
] }),
|
|
84851
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(Text20, { type: "secondary", style: { fontSize: 12 }, children: [
|
|
84852
|
+
inProgress,
|
|
84853
|
+
" in progress \xB7 ",
|
|
84854
|
+
completed,
|
|
84855
|
+
" completed"
|
|
84856
|
+
] })
|
|
84857
|
+
] })
|
|
84858
|
+
}
|
|
84859
|
+
);
|
|
84860
|
+
};
|
|
84861
|
+
TaskActivityCard = ({ data, result, task }) => {
|
|
84728
84862
|
const openSideApp = useSideAppOpener();
|
|
84729
84863
|
const { styles } = useStyles19();
|
|
84730
|
-
const
|
|
84731
|
-
const
|
|
84732
|
-
|
|
84864
|
+
const { markdown, title, status } = resolveActivityView(data, result, task);
|
|
84865
|
+
const handleClick = () => {
|
|
84866
|
+
openSideApp({ component_key: "manage_task", data: task?.id ? { task } : {} });
|
|
84867
|
+
};
|
|
84733
84868
|
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84734
84869
|
EntityCard,
|
|
84735
84870
|
{
|
|
84736
84871
|
item: data,
|
|
84737
|
-
|
|
84738
|
-
className: styles.compactLiveCard,
|
|
84872
|
+
className: styles.liveCard,
|
|
84739
84873
|
onClick: handleClick,
|
|
84740
|
-
|
|
84874
|
+
renderIcon: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(import_lucide_react24.ListChecks, { size: 20 }),
|
|
84875
|
+
renderPrimary: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84876
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: actionTitleStyle4, children: "ACTIVITY" }),
|
|
84877
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
84878
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: { fontSize: 14 }, children: title || "Task" }),
|
|
84879
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(StatusDot, { status })
|
|
84880
|
+
] })
|
|
84881
|
+
] }),
|
|
84882
|
+
renderDetails: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(MDResponse, { content: markdown })
|
|
84883
|
+
}
|
|
84884
|
+
);
|
|
84885
|
+
};
|
|
84886
|
+
TaskActivityHoverCard = ({ data, result, task }) => {
|
|
84887
|
+
const openSideApp = useSideAppOpener();
|
|
84888
|
+
const { summary, title } = resolveActivityView(data, result, task);
|
|
84889
|
+
const handleClick = () => {
|
|
84890
|
+
if (task?.id) {
|
|
84891
|
+
openSideApp({ component_key: "manage_task", data: { task } });
|
|
84892
|
+
return;
|
|
84893
|
+
}
|
|
84894
|
+
openSideApp({ component_key: "manage_task", data: {} });
|
|
84895
|
+
};
|
|
84896
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84897
|
+
HoverReveal,
|
|
84898
|
+
{
|
|
84899
|
+
onClick: handleClick,
|
|
84900
|
+
detail: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskActivityCard, { data, result, task }),
|
|
84901
|
+
chip: /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84902
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: actionTitleStyle4, children: "ACTIVITY" }),
|
|
84903
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84904
|
+
Text20,
|
|
84905
|
+
{
|
|
84906
|
+
style: {
|
|
84907
|
+
fontSize: 13,
|
|
84908
|
+
flex: 1,
|
|
84909
|
+
minWidth: 0,
|
|
84910
|
+
overflow: "hidden",
|
|
84911
|
+
textOverflow: "ellipsis",
|
|
84912
|
+
whiteSpace: "nowrap"
|
|
84913
|
+
},
|
|
84914
|
+
children: summary
|
|
84915
|
+
}
|
|
84916
|
+
),
|
|
84917
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(
|
|
84918
|
+
Text20,
|
|
84919
|
+
{
|
|
84920
|
+
type: "secondary",
|
|
84921
|
+
style: {
|
|
84922
|
+
fontSize: 12,
|
|
84923
|
+
overflow: "hidden",
|
|
84924
|
+
textOverflow: "ellipsis",
|
|
84925
|
+
whiteSpace: "nowrap"
|
|
84926
|
+
},
|
|
84927
|
+
children: [
|
|
84928
|
+
"\xB7 ",
|
|
84929
|
+
title
|
|
84930
|
+
]
|
|
84931
|
+
}
|
|
84932
|
+
)
|
|
84933
|
+
] })
|
|
84934
|
+
}
|
|
84935
|
+
);
|
|
84936
|
+
};
|
|
84937
|
+
TaskDeleteDetailCard = ({ title, id: id2 }) => {
|
|
84938
|
+
const openSideApp = useSideAppOpener();
|
|
84939
|
+
const { styles } = useStyles19();
|
|
84940
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84941
|
+
EntityCard,
|
|
84942
|
+
{
|
|
84943
|
+
item: null,
|
|
84944
|
+
className: styles.liveCard,
|
|
84945
|
+
onClick: () => openSideApp({ component_key: "manage_task", data: {} }),
|
|
84946
|
+
renderPrimary: () => /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84947
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(Text20, { strong: true, style: actionTitleStyle4, children: [
|
|
84948
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { style: { color: "#ef4444" }, children: "\u2713" }),
|
|
84949
|
+
" Deleted task"
|
|
84950
|
+
] }),
|
|
84951
|
+
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(Text20, { strong: true, style: { fontSize: 14 }, children: title || id2 }) })
|
|
84952
|
+
] })
|
|
84953
|
+
}
|
|
84954
|
+
);
|
|
84955
|
+
};
|
|
84956
|
+
TaskDeleteHoverCard = ({ data }) => {
|
|
84957
|
+
const openSideApp = useSideAppOpener();
|
|
84958
|
+
const args = data?.args ?? {};
|
|
84959
|
+
const title = args.title ?? "";
|
|
84960
|
+
const id2 = args.id ?? "";
|
|
84961
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
84962
|
+
HoverReveal,
|
|
84963
|
+
{
|
|
84964
|
+
onClick: () => openSideApp({ component_key: "manage_task", data: {} }),
|
|
84965
|
+
detail: /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskDeleteDetailCard, { title, id: id2 }),
|
|
84966
|
+
chip: /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(import_jsx_runtime167.Fragment, { children: [
|
|
84741
84967
|
/* @__PURE__ */ (0, import_jsx_runtime167.jsxs)(Text20, { strong: true, style: actionTitleStyle4, children: [
|
|
84742
84968
|
/* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { style: { color: "#ef4444" }, children: "\u2713" }),
|
|
84743
84969
|
" Deleted task"
|
|
@@ -84751,7 +84977,9 @@ var init_task_manage_card = __esm({
|
|
|
84751
84977
|
create: "CREATE TASK",
|
|
84752
84978
|
update: "UPDATE TASK",
|
|
84753
84979
|
set_status: "SET STATUS",
|
|
84980
|
+
get: "GET TASK",
|
|
84754
84981
|
list: "LIST TASKS",
|
|
84982
|
+
add_activity: "ADD ACTIVITY",
|
|
84755
84983
|
delete: "DELETE TASK"
|
|
84756
84984
|
};
|
|
84757
84985
|
TaskFailureCard = ({ action, message: message49 }) => {
|
|
@@ -84779,6 +85007,14 @@ var init_task_manage_card = __esm({
|
|
|
84779
85007
|
}
|
|
84780
85008
|
);
|
|
84781
85009
|
};
|
|
85010
|
+
extractTask = (action, result) => {
|
|
85011
|
+
if (action === "get") return result.data?.task;
|
|
85012
|
+
if (action === "add_activity") return result.task;
|
|
85013
|
+
if (action === "create" || action === "update" || action === "set_status") {
|
|
85014
|
+
return result.data;
|
|
85015
|
+
}
|
|
85016
|
+
return void 0;
|
|
85017
|
+
};
|
|
84782
85018
|
TaskManageCard = ({ data }) => {
|
|
84783
85019
|
const args = data?.args ?? {};
|
|
84784
85020
|
const action = typeof args.action === "string" ? args.action : "";
|
|
@@ -84786,15 +85022,19 @@ var init_task_manage_card = __esm({
|
|
|
84786
85022
|
if (!result.success) {
|
|
84787
85023
|
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskFailureCard, { action, message: result.error ?? "manage_task failed" });
|
|
84788
85024
|
}
|
|
85025
|
+
const task = extractTask(action, result);
|
|
84789
85026
|
switch (action) {
|
|
84790
85027
|
case "create":
|
|
84791
85028
|
case "update":
|
|
84792
85029
|
case "set_status":
|
|
84793
|
-
|
|
85030
|
+
case "get":
|
|
85031
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskLiveHoverCard, { data, result, task: task ?? {} });
|
|
84794
85032
|
case "list":
|
|
84795
|
-
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
85033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskListHoverCard, { data, result });
|
|
85034
|
+
case "add_activity":
|
|
85035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskActivityHoverCard, { data, result, task });
|
|
84796
85036
|
case "delete":
|
|
84797
|
-
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
|
|
85037
|
+
return /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(TaskDeleteHoverCard, { data });
|
|
84798
85038
|
default:
|
|
84799
85039
|
return null;
|
|
84800
85040
|
}
|
|
@@ -87525,11 +87765,11 @@ var init_esm2 = __esm({
|
|
|
87525
87765
|
return lines;
|
|
87526
87766
|
}
|
|
87527
87767
|
const lastLine = lines[lines.length - 1];
|
|
87528
|
-
const
|
|
87768
|
+
const firstLine2 = lines[0];
|
|
87529
87769
|
if (!lastLine) {
|
|
87530
87770
|
lines.pop();
|
|
87531
87771
|
}
|
|
87532
|
-
if (!
|
|
87772
|
+
if (!firstLine2) {
|
|
87533
87773
|
lines.shift();
|
|
87534
87774
|
}
|
|
87535
87775
|
return lines;
|
|
@@ -99077,6 +99317,7 @@ ${nextContent}`;
|
|
|
99077
99317
|
ref: senderRef,
|
|
99078
99318
|
value: content,
|
|
99079
99319
|
header: senderHeader,
|
|
99320
|
+
autoSize: { minRows: 1, maxRows: 8 },
|
|
99080
99321
|
onSubmit,
|
|
99081
99322
|
placeholder: getPlaceholder(isEmpty, isStreaming, hasPendingMessages),
|
|
99082
99323
|
onChange: (val) => {
|
|
@@ -101430,8 +101671,8 @@ var init_MailboxPanel = __esm({
|
|
|
101430
101671
|
}
|
|
101431
101672
|
};
|
|
101432
101673
|
getMessagePreview = (content) => {
|
|
101433
|
-
const
|
|
101434
|
-
return
|
|
101674
|
+
const firstLine2 = content.split("\n")[0];
|
|
101675
|
+
return firstLine2.length > 80 ? firstLine2.slice(0, 80) + "..." : firstLine2;
|
|
101435
101676
|
};
|
|
101436
101677
|
MessageGroupComponent = ({ group: group2, styles, defaultExpanded = true, onMessageClick }) => {
|
|
101437
101678
|
const [isExpanded, setIsExpanded] = (0, import_react115.useState)(defaultExpanded);
|