@markusylisiurunen/tau 0.3.39 → 0.3.41
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 +34 -38
- package/dist/core/agent/agent_runtime.js +0 -22
- package/dist/core/agent/agent_runtime.js.map +1 -1
- package/dist/core/cli.js +2 -2
- package/dist/core/cli.js.map +1 -1
- package/dist/core/commands/registry.js +22 -20
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/config/builtin_themes.js +936 -998
- package/dist/core/config/builtin_themes.js.map +1 -1
- package/dist/core/history/migrations.js +57 -0
- package/dist/core/history/migrations.js.map +1 -0
- package/dist/core/history/setup.js +18 -0
- package/dist/core/history/setup.js.map +1 -1
- package/dist/core/personas.js +8 -53
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +0 -6
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/session/direct_bash.js +8 -8
- package/dist/core/session/direct_bash.js.map +1 -1
- package/dist/core/session/runner.js +6 -1
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/static/code_mode/history/documentation.md +3 -3
- package/dist/core/static/code_mode/nook/documentation.md +6 -4
- package/dist/core/static/code_mode/web/documentation.md +3 -3
- package/dist/core/tools/bash.js +80 -63
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/code_mode.js +45 -12
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/edit.js +72 -84
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/goal.js +97 -16
- package/dist/core/tools/goal.js.map +1 -1
- package/dist/core/tools/history.js +13 -15
- package/dist/core/tools/history.js.map +1 -1
- package/dist/core/tools/interrupt_agent.js +56 -37
- package/dist/core/tools/interrupt_agent.js.map +1 -1
- package/dist/core/tools/list_agents.js +28 -13
- package/dist/core/tools/list_agents.js.map +1 -1
- package/dist/core/tools/nook.js +15 -15
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/presentation.js +226 -0
- package/dist/core/tools/presentation.js.map +1 -0
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/tools/send_input_to_agent.js +57 -47
- package/dist/core/tools/send_input_to_agent.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +81 -52
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/subagent_ui.js +14 -38
- package/dist/core/tools/subagent_ui.js.map +1 -1
- package/dist/core/tools/view_image.js +45 -45
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/tools/wait_for_agents.js +94 -56
- package/dist/core/tools/wait_for_agents.js.map +1 -1
- package/dist/core/tools/web.js +11 -13
- package/dist/core/tools/web.js.map +1 -1
- package/dist/core/tools/write.js +41 -39
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/utils/gemini_speech.js +1 -1
- package/dist/core/utils/gemini_speech.js.map +1 -1
- package/dist/core/utils/subagent_utils.js +3 -3
- package/dist/core/utils/subagent_utils.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/history/worker/index.js +149 -192
- package/dist/history/worker/index.js.map +1 -1
- package/dist/host/client_tool_broker.js +29 -31
- package/dist/host/client_tool_broker.js.map +1 -1
- package/dist/host/local_session_host.js +11 -5
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/main.js +6 -6
- package/dist/main.js.map +1 -1
- package/dist/tui/chat_controller/diff_review_service.js +1 -1
- package/dist/tui/chat_controller/diff_review_service.js.map +1 -1
- package/dist/tui/chat_controller/history_labels.js +13 -0
- package/dist/tui/chat_controller/history_labels.js.map +1 -1
- package/dist/tui/chat_view.js +24 -50
- package/dist/tui/chat_view.js.map +1 -1
- package/dist/tui/session_chat_app.js +3 -4
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +80 -111
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/terminal_appearance.js +44 -25
- package/dist/tui/terminal_appearance.js.map +1 -1
- package/dist/tui/ui/autocomplete_item.js +2 -0
- package/dist/tui/ui/autocomplete_item.js.map +1 -0
- package/dist/tui/ui/chat_container.js +1 -14
- package/dist/tui/ui/chat_container.js.map +1 -1
- package/dist/tui/ui/chat_message_model.js +4 -12
- package/dist/tui/ui/chat_message_model.js.map +1 -1
- package/dist/tui/ui/components/autocomplete_list.js +138 -0
- package/dist/tui/ui/components/autocomplete_list.js.map +1 -0
- package/dist/tui/ui/components/editor.js +33 -40
- package/dist/tui/ui/components/editor.js.map +1 -1
- package/dist/tui/ui/components/one_line_segments.js +0 -67
- package/dist/tui/ui/components/one_line_segments.js.map +1 -1
- package/dist/tui/ui/custom_editor.js +15 -11
- package/dist/tui/ui/custom_editor.js.map +1 -1
- package/dist/tui/ui/diff_review_message.js +1 -11
- package/dist/tui/ui/diff_review_message.js.map +1 -1
- package/dist/tui/ui/footer.js +63 -13
- package/dist/tui/ui/footer.js.map +1 -1
- package/dist/tui/ui/rewind_picker.js +17 -47
- package/dist/tui/ui/rewind_picker.js.map +1 -1
- package/dist/tui/ui/slash_autocomplete.js +43 -64
- package/dist/tui/ui/slash_autocomplete.js.map +1 -1
- package/dist/tui/ui/subagent_editor_pane.js +3 -3
- package/dist/tui/ui/theme/index.js +1 -1
- package/dist/tui/ui/theme/index.js.map +1 -1
- package/dist/tui/ui/theme/palette.js +245 -8
- package/dist/tui/ui/theme/palette.js.map +1 -1
- package/dist/tui/ui/theme/theme.js +3 -30
- package/dist/tui/ui/theme/theme.js.map +1 -1
- package/dist/tui/ui/tool_card.js +137 -0
- package/dist/tui/ui/tool_card.js.map +1 -0
- package/dist/tui/ui/user_message.js +3 -6
- package/dist/tui/ui/user_message.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/utils/tool_preview.js +0 -73
- package/dist/core/utils/tool_preview.js.map +0 -1
- package/dist/tui/chat_controller/command_hints.js +0 -35
- package/dist/tui/chat_controller/command_hints.js.map +0 -1
- package/dist/tui/ui/bash_execution.js +0 -129
- package/dist/tui/ui/bash_execution.js.map +0 -1
- package/dist/tui/ui/components/dynamic_border.js +0 -11
- package/dist/tui/ui/components/dynamic_border.js.map +0 -1
- package/dist/tui/ui/components/header_box.js +0 -107
- package/dist/tui/ui/components/header_box.js.map +0 -1
- package/dist/tui/ui/components/header_line.js +0 -60
- package/dist/tui/ui/components/header_line.js.map +0 -1
- package/dist/tui/ui/components/padded_container.js +0 -24
- package/dist/tui/ui/components/padded_container.js.map +0 -1
- package/dist/tui/ui/file_execution.js +0 -176
- package/dist/tui/ui/file_execution.js.map +0 -1
- package/dist/tui/ui/tool_output.js +0 -163
- package/dist/tui/ui/tool_output.js.map +0 -1
- package/dist/tui/ui/tool_ui_registry.js +0 -786
- package/dist/tui/ui/tool_ui_registry.js.map +0 -1
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { buildToolRunPresentation, formatToolDurationMs } from "../core/tools/presentation.js";
|
|
2
3
|
import { createTextToolOutcome, executeTool, } from "../core/tools/registry.js";
|
|
3
4
|
import { TOOL_NAME_CREATE_GOAL, TOOL_NAME_GET_GOAL, TOOL_NAME_UPDATE_GOAL, } from "../core/tools/tool_names.js";
|
|
4
5
|
import { formatTokenEstimate } from "../core/utils/token.js";
|
|
5
|
-
import { buildHeadTailPreviewLines } from "../core/utils/tool_preview.js";
|
|
6
|
-
import { formatBytes } from "../core/utils/truncate.js";
|
|
7
6
|
import { SESSION_PROTOCOL_VERSION } from "../protocol/session_protocol.js";
|
|
8
7
|
const DEFAULT_ACK_TIMEOUT_MS = 5_000;
|
|
9
8
|
const DEFAULT_EXECUTION_TIMEOUT_MS = 60_000;
|
|
10
|
-
const CLIENT_TOOL_UI_HEAD_LINES = 3;
|
|
11
|
-
const CLIENT_TOOL_UI_TAIL_LINES = 3;
|
|
12
|
-
const CLIENT_TOOL_UI_MAX_LINE_CHARS = 160;
|
|
13
9
|
const HOST_TOOL_NAMES = new Set([
|
|
14
10
|
"bash",
|
|
15
11
|
"write",
|
|
@@ -190,38 +186,36 @@ export class ClientToolBroker {
|
|
|
190
186
|
pending.resolve(result);
|
|
191
187
|
}
|
|
192
188
|
}
|
|
193
|
-
function createClientToolFinishedUiEvent(toolCall, outcome) {
|
|
189
|
+
function createClientToolFinishedUiEvent(toolCall, outcome, durationMs) {
|
|
190
|
+
const isError = outcome.outcome !== "succeeded";
|
|
194
191
|
return {
|
|
195
|
-
type: "
|
|
192
|
+
type: "tool_call_finished",
|
|
196
193
|
toolCallId: toolCall.id,
|
|
197
194
|
toolName: toolCall.name,
|
|
198
|
-
|
|
199
|
-
status:
|
|
200
|
-
uiText: createClientToolUiText(extractToolOutcomeText(outcome), outcome.outcome !== "succeeded"),
|
|
195
|
+
presentation: createClientToolPresentation(toolCall.name, extractToolOutcomeText(outcome), durationMs),
|
|
196
|
+
status: isError ? "error" : "success",
|
|
201
197
|
};
|
|
202
198
|
}
|
|
203
|
-
function
|
|
199
|
+
function createClientToolPresentation(toolName, content, durationMs) {
|
|
204
200
|
const trimmed = content.trimEnd();
|
|
205
201
|
const lineCount = trimmed ? trimmed.split("\n").length : 0;
|
|
206
202
|
const contentBytes = Buffer.byteLength(trimmed, "utf8");
|
|
207
|
-
const
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
fullLines: previewLines,
|
|
224
|
-
};
|
|
203
|
+
const details = trimmed
|
|
204
|
+
? trimmed
|
|
205
|
+
.replace(/\r\n?/g, "\n")
|
|
206
|
+
.split("\n")
|
|
207
|
+
.map((text) => ({ text }))
|
|
208
|
+
: [];
|
|
209
|
+
return buildToolRunPresentation({
|
|
210
|
+
toolName,
|
|
211
|
+
subject: toolName,
|
|
212
|
+
details,
|
|
213
|
+
metadata: [
|
|
214
|
+
formatToolDurationMs(durationMs),
|
|
215
|
+
contentBytes > 0 ? formatTokenEstimate(contentBytes) : undefined,
|
|
216
|
+
formatLineCount(lineCount),
|
|
217
|
+
].filter((part) => part !== undefined),
|
|
218
|
+
});
|
|
225
219
|
}
|
|
226
220
|
function extractToolOutcomeText(outcome) {
|
|
227
221
|
return outcome.content
|
|
@@ -243,15 +237,19 @@ function createClientToolDefinition(sessionId, clientId, tool, broker) {
|
|
|
243
237
|
};
|
|
244
238
|
return {
|
|
245
239
|
schema,
|
|
246
|
-
describe: () => ({
|
|
240
|
+
describe: () => ({
|
|
241
|
+
presentation: buildToolRunPresentation({ toolName: tool.name, subject: tool.name }),
|
|
242
|
+
}),
|
|
247
243
|
async execute(toolCall, context) {
|
|
248
244
|
const { signal } = context;
|
|
249
245
|
return executeTool(context, async () => {
|
|
246
|
+
const startedAt = Date.now();
|
|
250
247
|
const toolResult = await broker.dispatch({ sessionId, clientId, tool, toolCall, signal });
|
|
248
|
+
const durationMs = Math.max(0, Date.now() - startedAt);
|
|
251
249
|
return {
|
|
252
250
|
content: toolResult.content,
|
|
253
251
|
outcome: toolResult.outcome,
|
|
254
|
-
uiEvent: createClientToolFinishedUiEvent(toolCall, toolResult),
|
|
252
|
+
uiEvent: createClientToolFinishedUiEvent(toolCall, toolResult, durationMs),
|
|
255
253
|
};
|
|
256
254
|
});
|
|
257
255
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_tool_broker.js","sourceRoot":"","sources":["../../src/host/client_tool_broker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAEL,qBAAqB,EACrB,WAAW,GAGZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"client_tool_broker.js","sourceRoot":"","sources":["../../src/host/client_tool_broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { ChatRuntime } from "../core/runtime/chat_runtime.js";
|
|
|
6
6
|
import { formatSteeringUserMessage } from "../core/runtime/steering.js";
|
|
7
7
|
import { buildGoalContinuationText, prependGoalPolicy } from "../core/session/goal.js";
|
|
8
8
|
import { SUBAGENT_ACTIVITY_FACET_KIND } from "../core/subagents/types.js";
|
|
9
|
+
import { buildToolRunPresentation, TOOL_UI_FACET_VERSION } from "../core/tools/presentation.js";
|
|
9
10
|
import { appendUsageLogEntry, getUsageCostTotal, getUsageTotals, } from "../core/usage/logs.js";
|
|
10
11
|
import { filterProjectPathAutocompleteEntries, loadProjectPathAutocompleteEntriesWithBackend, } from "../core/utils/project_files.js";
|
|
11
12
|
import { hasAutoCompactionContinuationMetadata, hasGoalTurnMetadata, isTauUserMessageHidden, } from "../core/utils/user_metadata.js";
|
|
@@ -562,7 +563,7 @@ class LocalHostedSessionHandle {
|
|
|
562
563
|
if (userMessage && hasGoalTurnMetadata(userMessage.message)) {
|
|
563
564
|
throw new SessionRetryUnavailableError("goal-controlled turns cannot be retried; resume a blocked goal or start a new goal");
|
|
564
565
|
}
|
|
565
|
-
if (!userMessage
|
|
566
|
+
if (!userMessage) {
|
|
566
567
|
throw new SessionRetryUnavailableError("no user turn is available to retry");
|
|
567
568
|
}
|
|
568
569
|
return await this.runTurn();
|
|
@@ -1625,13 +1626,16 @@ class LocalHostedSessionHandle {
|
|
|
1625
1626
|
type: "tool_call_streaming",
|
|
1626
1627
|
toolCallId: event.toolCallId,
|
|
1627
1628
|
toolName: event.toolName,
|
|
1628
|
-
|
|
1629
|
+
presentation: buildToolRunPresentation({
|
|
1630
|
+
toolName: event.toolName,
|
|
1631
|
+
subject: event.toolName,
|
|
1632
|
+
}),
|
|
1629
1633
|
};
|
|
1630
1634
|
const facet = {
|
|
1631
1635
|
id: facetId,
|
|
1632
1636
|
subject: { type: "tool", id: event.toolCallId },
|
|
1633
1637
|
kind: "tau.tool-ui-events",
|
|
1634
|
-
version:
|
|
1638
|
+
version: TOOL_UI_FACET_VERSION,
|
|
1635
1639
|
data: { events: [uiEvent] },
|
|
1636
1640
|
};
|
|
1637
1641
|
const tool = {
|
|
@@ -1941,12 +1945,14 @@ class LocalHostedSessionHandle {
|
|
|
1941
1945
|
}
|
|
1942
1946
|
const facetId = `tool-ui-${toolCallId}`;
|
|
1943
1947
|
const existing = this.facets.get(facetId);
|
|
1944
|
-
const events = Array.isArray(existing
|
|
1948
|
+
const events = existing?.version === TOOL_UI_FACET_VERSION && Array.isArray(existing.data.events)
|
|
1949
|
+
? existing.data.events
|
|
1950
|
+
: [];
|
|
1945
1951
|
const facet = {
|
|
1946
1952
|
id: facetId,
|
|
1947
1953
|
subject: { type: "tool", id: toolCallId },
|
|
1948
1954
|
kind: "tau.tool-ui-events",
|
|
1949
|
-
version:
|
|
1955
|
+
version: TOOL_UI_FACET_VERSION,
|
|
1950
1956
|
data: { events: [...events, structuredClone(event)] },
|
|
1951
1957
|
};
|
|
1952
1958
|
this.facets.set(facet.id, facet);
|