@agent-native/core 0.12.15 → 0.12.16
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/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +56 -42
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/cli/workspace-dev.js +26 -5
- package/dist/cli/workspace-dev.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +33 -6
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +7 -2
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.d.ts.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.js +2 -0
- package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
- package/dist/client/sharing/ShareButton.js +6 -1
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareButton.spec.d.ts +2 -0
- package/dist/client/sharing/ShareButton.spec.d.ts.map +1 -0
- package/dist/client/sharing/ShareButton.spec.js +90 -0
- package/dist/client/sharing/ShareButton.spec.js.map +1 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +10 -2
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +19 -2
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +11 -7
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/templates/default/AGENTS.md +7 -1
- package/dist/templates/default/DEVELOPING.md +12 -0
- package/dist/templates/default/app/hooks/use-navigation-state.ts +81 -0
- package/dist/templates/default/app/root.tsx +11 -5
- package/package.json +1 -1
- package/src/templates/default/AGENTS.md +7 -1
- package/src/templates/default/DEVELOPING.md +12 -0
- package/src/templates/default/app/hooks/use-navigation-state.ts +81 -0
- package/src/templates/default/app/root.tsx +11 -5
|
@@ -807,7 +807,15 @@ function AssistantMessage() {
|
|
|
807
807
|
"");
|
|
808
808
|
})(), messageSeq: thread.messages.findIndex((m) => m.id === msg.id) }) }))] }))] }));
|
|
809
809
|
}
|
|
810
|
-
|
|
810
|
+
function ActivitySteps({ steps }) {
|
|
811
|
+
if (steps.length === 0)
|
|
812
|
+
return null;
|
|
813
|
+
const visibleSteps = steps.slice(-4);
|
|
814
|
+
return (_jsx("div", { className: "max-w-[85%] rounded-md border border-border/60 bg-muted/30 px-2.5 py-2 text-xs text-muted-foreground", "aria-live": "polite", children: _jsx("div", { className: "space-y-1", children: visibleSteps.map((step, index) => {
|
|
815
|
+
const isCurrent = index === visibleSteps.length - 1;
|
|
816
|
+
return (_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [isCurrent ? (_jsx(IconLoader2, { className: "h-3 w-3 shrink-0 animate-spin" })) : (_jsx(IconCheck, { className: "h-3 w-3 shrink-0 text-emerald-500" })), _jsx("span", { className: "truncate", children: step.label })] }, step.id));
|
|
817
|
+
}) }) }));
|
|
818
|
+
}
|
|
811
819
|
function ThinkingIndicator({ label = "Thinking" } = {}) {
|
|
812
820
|
const [dots, setDots] = useState(0);
|
|
813
821
|
useEffect(() => {
|
|
@@ -1106,6 +1114,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
|
|
|
1106
1114
|
const wasRunningRef = useRef(false);
|
|
1107
1115
|
const lastBroadcastRunningRef = useRef(isRunning);
|
|
1108
1116
|
const tiptapRef = useRef(null);
|
|
1117
|
+
const [activitySteps, setActivitySteps] = useState([]);
|
|
1109
1118
|
useEffect(() => {
|
|
1110
1119
|
if (lastBroadcastRunningRef.current === isRunning)
|
|
1111
1120
|
return;
|
|
@@ -1623,15 +1632,32 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
|
|
|
1623
1632
|
if (tabId && detail?.tabId && detail.tabId !== tabId)
|
|
1624
1633
|
return;
|
|
1625
1634
|
if (typeof detail?.label === "string" && detail.label.trim()) {
|
|
1626
|
-
|
|
1635
|
+
const label = detail.label.trim();
|
|
1636
|
+
const tool = detail.tool?.trim() || undefined;
|
|
1637
|
+
setActivityLabel(label);
|
|
1638
|
+
setActivitySteps((prev) => {
|
|
1639
|
+
const last = prev[prev.length - 1];
|
|
1640
|
+
if (last?.label === label && last.tool === tool)
|
|
1641
|
+
return prev;
|
|
1642
|
+
return [
|
|
1643
|
+
...prev,
|
|
1644
|
+
{
|
|
1645
|
+
id: `${Date.now()}-${prev.length}`,
|
|
1646
|
+
label,
|
|
1647
|
+
...(tool ? { tool } : {}),
|
|
1648
|
+
},
|
|
1649
|
+
].slice(-6);
|
|
1650
|
+
});
|
|
1627
1651
|
}
|
|
1628
1652
|
};
|
|
1629
1653
|
window.addEventListener("agent-chat:activity", handler);
|
|
1630
1654
|
return () => window.removeEventListener("agent-chat:activity", handler);
|
|
1631
1655
|
}, [tabId]);
|
|
1632
1656
|
useEffect(() => {
|
|
1633
|
-
if (!showRunningInUI)
|
|
1657
|
+
if (!showRunningInUI) {
|
|
1634
1658
|
setActivityLabel(null);
|
|
1659
|
+
setActivitySteps([]);
|
|
1660
|
+
}
|
|
1635
1661
|
}, [showRunningInUI]);
|
|
1636
1662
|
// Auto-dequeue: when agent finishes running, send the next queued message
|
|
1637
1663
|
useEffect(() => {
|
|
@@ -1699,6 +1725,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
|
|
|
1699
1725
|
setRunErrorInfo(null);
|
|
1700
1726
|
setDismissedRunErrorKey(null);
|
|
1701
1727
|
setActivityLabel(null);
|
|
1728
|
+
setActivitySteps([]);
|
|
1702
1729
|
userStoppedRunRef.current = null;
|
|
1703
1730
|
// Selection context attached via Cmd+I is one-shot — clear it as soon
|
|
1704
1731
|
// as the user actually sends a message so it can't be re-used.
|
|
@@ -1915,9 +1942,9 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
|
|
|
1915
1942
|
}
|
|
1916
1943
|
setRunErrorInfo(null);
|
|
1917
1944
|
} })), (isReconnecting || reconnectFrozen) &&
|
|
1918
|
-
reconnectContent.length > 0 && (_jsx(ReconnectStreamMessage, { content: reconnectContent })), showRunningInUI && (_jsx(ThinkingIndicator, { label: isReconnecting
|
|
1919
|
-
|
|
1920
|
-
|
|
1945
|
+
reconnectContent.length > 0 && (_jsx(ReconnectStreamMessage, { content: reconnectContent })), showRunningInUI && (_jsxs(_Fragment, { children: [_jsx(ActivitySteps, { steps: activitySteps }), _jsx(ThinkingIndicator, { label: isReconnecting
|
|
1946
|
+
? "Reconnecting"
|
|
1947
|
+
: (activityLabel ?? "Thinking") })] })), queuedMessages.map((msg) => {
|
|
1921
1948
|
const displayText = msg.text
|
|
1922
1949
|
.replace(/<context>[\s\S]*?<\/context>\n?/g, "")
|
|
1923
1950
|
.trim();
|