@tutti-os/agent-gui 0.0.198 → 0.0.200
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/README.md +23 -0
- package/dist/{AgentRichTextReadonly-2BWVTYD3.js → AgentRichTextReadonly-YU6STDUX.js} +5 -5
- package/dist/agent-conversation/index.js +7 -7
- package/dist/agent-gui.d.ts +1 -0
- package/dist/agent-gui.js +14 -14
- package/dist/agent-message-center/index.js +6 -6
- package/dist/app/renderer/agentactivity.css +66 -1
- package/dist/{chunk-JH6OERDW.js → chunk-3FA5JIDL.js} +2 -2
- package/dist/{chunk-D7WWGXPJ.js → chunk-5ZO3H4C5.js} +4 -4
- package/dist/{chunk-CTZPHYKU.js → chunk-7NUEEGAA.js} +3 -3
- package/dist/{chunk-NTY3JIYS.js → chunk-DAP74J63.js} +3695 -3612
- package/dist/chunk-DAP74J63.js.map +1 -0
- package/dist/{chunk-P4LUYDRL.js → chunk-EOGTJQID.js} +2 -2
- package/dist/{chunk-QCNCNAZT.js → chunk-F5ARZZES.js} +4 -4
- package/dist/{chunk-AEMVCADI.js → chunk-GWKXYGUN.js} +2 -2
- package/dist/{chunk-D5HAVQME.js → chunk-JXFOFJYI.js} +2 -2
- package/dist/{chunk-GIF2V624.js → chunk-MFQB4LR5.js} +4 -4
- package/dist/{chunk-GKKXAO7O.js → chunk-PWPVYNGO.js} +3 -3
- package/dist/{chunk-FFLXJ5RU.js → chunk-RJMCV7OR.js} +13 -7
- package/dist/chunk-RJMCV7OR.js.map +1 -0
- package/dist/{chunk-HU3Q2FQK.js → chunk-UEBPMWKS.js} +2 -2
- package/dist/{chunk-T3RMAGAE.js → chunk-XD5NTTFJ.js} +2 -2
- package/dist/{chunk-YC33LHRB.js → chunk-ZADHMOME.js} +51 -13
- package/dist/{chunk-YC33LHRB.js.map → chunk-ZADHMOME.js.map} +1 -1
- package/dist/context-mention-palette/index.js +7 -7
- package/dist/i18n/index.d.ts +12 -6
- package/dist/i18n/index.js +2 -2
- package/dist/index.d.ts +13 -6
- package/dist/index.js +14 -14
- package/dist/mention-search.js +5 -5
- package/dist/workbench/contribution.js +3 -3
- package/dist/workbench/index.js +3 -3
- package/dist/workbench/sessionTitle.js +2 -2
- package/package.json +16 -16
- package/dist/chunk-FFLXJ5RU.js.map +0 -1
- package/dist/chunk-NTY3JIYS.js.map +0 -1
- /package/dist/{AgentRichTextReadonly-2BWVTYD3.js.map → AgentRichTextReadonly-YU6STDUX.js.map} +0 -0
- /package/dist/{chunk-JH6OERDW.js.map → chunk-3FA5JIDL.js.map} +0 -0
- /package/dist/{chunk-D7WWGXPJ.js.map → chunk-5ZO3H4C5.js.map} +0 -0
- /package/dist/{chunk-CTZPHYKU.js.map → chunk-7NUEEGAA.js.map} +0 -0
- /package/dist/{chunk-P4LUYDRL.js.map → chunk-EOGTJQID.js.map} +0 -0
- /package/dist/{chunk-QCNCNAZT.js.map → chunk-F5ARZZES.js.map} +0 -0
- /package/dist/{chunk-AEMVCADI.js.map → chunk-GWKXYGUN.js.map} +0 -0
- /package/dist/{chunk-D5HAVQME.js.map → chunk-JXFOFJYI.js.map} +0 -0
- /package/dist/{chunk-GIF2V624.js.map → chunk-MFQB4LR5.js.map} +0 -0
- /package/dist/{chunk-GKKXAO7O.js.map → chunk-PWPVYNGO.js.map} +0 -0
- /package/dist/{chunk-HU3Q2FQK.js.map → chunk-UEBPMWKS.js.map} +0 -0
- /package/dist/{chunk-T3RMAGAE.js.map → chunk-XD5NTTFJ.js.map} +0 -0
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
formatAgentMentionMarkdown,
|
|
7
7
|
mentionItemToAttrs,
|
|
8
8
|
parseAgentMentionMarkdown
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-JXFOFJYI.js";
|
|
10
10
|
import {
|
|
11
11
|
cn,
|
|
12
12
|
resolveAgentTargetPresentation,
|
|
@@ -733,4 +733,4 @@ export {
|
|
|
733
733
|
agentRichTextContentToPromptText,
|
|
734
734
|
AgentRichTextReadonly
|
|
735
735
|
};
|
|
736
|
-
//# sourceMappingURL=chunk-
|
|
736
|
+
//# sourceMappingURL=chunk-XD5NTTFJ.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
AgentRichTextReadonly,
|
|
3
3
|
promptForProviderSkills,
|
|
4
4
|
skillTriggerForPrefix
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XD5NTTFJ.js";
|
|
6
6
|
import {
|
|
7
7
|
classifyRecoverableAgentMessage,
|
|
8
8
|
isProviderPlanLimitMessage,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
agentPromptFileBlocks,
|
|
28
28
|
agentPromptPastedTextBlocks,
|
|
29
29
|
materializeAgentComposerFileMentions
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-JXFOFJYI.js";
|
|
31
31
|
import {
|
|
32
32
|
AGENT_PASTED_TEXT_BLOCK_KIND,
|
|
33
33
|
AGENT_PASTED_TEXT_MENTION_KIND
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
resolveWorkspaceFileLinkAction,
|
|
48
48
|
resolveWorkspaceFilePathCandidate,
|
|
49
49
|
resolveWorkspaceLinkAction
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-PWPVYNGO.js";
|
|
51
51
|
import {
|
|
52
52
|
cn
|
|
53
53
|
} from "./chunk-ZVYUTXQJ.js";
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
useOptionalAgentActivityRuntime,
|
|
56
56
|
useOptionalAgentHostApi,
|
|
57
57
|
workspaceAgentProviderLabel
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-3FA5JIDL.js";
|
|
59
59
|
import {
|
|
60
60
|
fileChangeCountFromChanges,
|
|
61
61
|
fileChangeEntriesFromChanges,
|
|
@@ -65,7 +65,7 @@ import {
|
|
|
65
65
|
getActiveUiLanguage,
|
|
66
66
|
translate,
|
|
67
67
|
useTranslation
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-EOGTJQID.js";
|
|
69
69
|
import {
|
|
70
70
|
normalizeAgentTitleText
|
|
71
71
|
} from "./chunk-MIJXEELH.js";
|
|
@@ -13823,22 +13823,23 @@ import { Button as Button2 } from "@tutti-os/ui-system/components";
|
|
|
13823
13823
|
import { ChevronDownIcon } from "@tutti-os/ui-system/icons";
|
|
13824
13824
|
|
|
13825
13825
|
// shared/agentConversation/components/agentTurnWorkSectionModel.ts
|
|
13826
|
-
function resolveAgentTurnTiming(turn, isActiveTurn) {
|
|
13826
|
+
function resolveAgentTurnTiming(turn, isActiveTurn, submittedAtUnixMs) {
|
|
13827
13827
|
if (!turn || !Number.isFinite(turn.startedAtUnixMs)) {
|
|
13828
13828
|
return null;
|
|
13829
13829
|
}
|
|
13830
|
+
const timingStartedAtUnixMs = Number.isFinite(submittedAtUnixMs) && submittedAtUnixMs <= turn.startedAtUnixMs ? submittedAtUnixMs : turn.startedAtUnixMs;
|
|
13830
13831
|
if (turn.phase !== "settled") {
|
|
13831
|
-
return isActiveTurn ? { kind: "live", startedAtUnixMs:
|
|
13832
|
+
return isActiveTurn ? { kind: "live", startedAtUnixMs: timingStartedAtUnixMs } : null;
|
|
13832
13833
|
}
|
|
13833
13834
|
const endUnixMs = turn.settledAtUnixMs;
|
|
13834
|
-
if (!Number.isFinite(endUnixMs) || endUnixMs <
|
|
13835
|
+
if (!Number.isFinite(endUnixMs) || endUnixMs < timingStartedAtUnixMs) {
|
|
13835
13836
|
return null;
|
|
13836
13837
|
}
|
|
13837
13838
|
return {
|
|
13838
13839
|
kind: "settled",
|
|
13839
13840
|
elapsedSeconds: Math.max(
|
|
13840
13841
|
0,
|
|
13841
|
-
Math.floor((endUnixMs -
|
|
13842
|
+
Math.floor((endUnixMs - timingStartedAtUnixMs) / 1e3)
|
|
13842
13843
|
)
|
|
13843
13844
|
};
|
|
13844
13845
|
}
|
|
@@ -13855,12 +13856,16 @@ function formatAgentTurnDuration(elapsedSeconds) {
|
|
|
13855
13856
|
return { kind: "minutes-seconds", minutes, seconds };
|
|
13856
13857
|
}
|
|
13857
13858
|
function buildAgentTurnWorkSectionModel(group, turn, isActiveTurn = false, options = {}) {
|
|
13858
|
-
const
|
|
13859
|
+
const leadingRowCount = countLeadingUserRows(group.rows);
|
|
13860
|
+
const leadingRows = group.rows.slice(0, leadingRowCount);
|
|
13861
|
+
const submittedAtUnixMs = resolveTurnSubmittedAtUnixMs(
|
|
13862
|
+
leadingRows,
|
|
13863
|
+
turn?.startedAtUnixMs
|
|
13864
|
+
);
|
|
13865
|
+
const timing = resolveAgentTurnTiming(turn, isActiveTurn, submittedAtUnixMs);
|
|
13859
13866
|
if (!timing) {
|
|
13860
13867
|
return null;
|
|
13861
13868
|
}
|
|
13862
|
-
const leadingRowCount = countLeadingUserRows(group.rows);
|
|
13863
|
-
const leadingRows = group.rows.slice(0, leadingRowCount);
|
|
13864
13869
|
const finalTarget = findFinalAssistantTextTarget(group.rows);
|
|
13865
13870
|
const sections = buildOrderedSections(
|
|
13866
13871
|
group.rows,
|
|
@@ -13879,6 +13884,39 @@ function buildAgentTurnWorkSectionModel(group, turn, isActiveTurn = false, optio
|
|
|
13879
13884
|
collapseEligible
|
|
13880
13885
|
};
|
|
13881
13886
|
}
|
|
13887
|
+
function resolveTurnSubmittedAtUnixMs(leadingRows, fallbackUnixMs) {
|
|
13888
|
+
const exactTimestamps = leadingRows.flatMap(({ row }) => {
|
|
13889
|
+
if (row.kind !== "message" || row.speaker !== "user") {
|
|
13890
|
+
return [];
|
|
13891
|
+
}
|
|
13892
|
+
return row.messages.flatMap(
|
|
13893
|
+
(message) => (message.sourceTimelineItems ?? []).flatMap((item) => {
|
|
13894
|
+
const value = item.payload?.clientSubmittedAtUnixMs;
|
|
13895
|
+
return validUnixMs(value) ? [value] : [];
|
|
13896
|
+
})
|
|
13897
|
+
);
|
|
13898
|
+
});
|
|
13899
|
+
const exact = minimumTimestamp(exactTimestamps);
|
|
13900
|
+
if (exact !== null) {
|
|
13901
|
+
return exact;
|
|
13902
|
+
}
|
|
13903
|
+
const projected = minimumTimestamp(
|
|
13904
|
+
leadingRows.flatMap(
|
|
13905
|
+
({ row }) => row.kind === "message" && row.speaker === "user" ? [
|
|
13906
|
+
row.occurredAtUnixMs,
|
|
13907
|
+
...row.messages.map((message) => message.occurredAtUnixMs)
|
|
13908
|
+
] : []
|
|
13909
|
+
)
|
|
13910
|
+
);
|
|
13911
|
+
return projected ?? (validUnixMs(fallbackUnixMs) ? fallbackUnixMs : null);
|
|
13912
|
+
}
|
|
13913
|
+
function minimumTimestamp(values) {
|
|
13914
|
+
const valid = values.filter(validUnixMs);
|
|
13915
|
+
return valid.length > 0 ? Math.min(...valid) : null;
|
|
13916
|
+
}
|
|
13917
|
+
function validUnixMs(value) {
|
|
13918
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0;
|
|
13919
|
+
}
|
|
13882
13920
|
function countLeadingUserRows(rows) {
|
|
13883
13921
|
let count = 0;
|
|
13884
13922
|
while (isUserMessageRow(rows[count]?.row)) {
|
|
@@ -15652,4 +15690,4 @@ export {
|
|
|
15652
15690
|
AgentConversationFlow,
|
|
15653
15691
|
useProjectedAgentConversation
|
|
15654
15692
|
};
|
|
15655
|
-
//# sourceMappingURL=chunk-
|
|
15693
|
+
//# sourceMappingURL=chunk-ZADHMOME.js.map
|