@markusylisiurunen/tau 0.3.50 → 0.3.52
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/code_mode/command.js +26 -14
- package/dist/code_mode/command.js.map +1 -1
- package/dist/code_mode/index.d.ts +2 -1
- package/dist/code_mode/index.js +1 -0
- package/dist/code_mode/index.js.map +1 -1
- package/dist/core/cli.js +0 -11
- package/dist/core/cli.js.map +1 -1
- package/dist/core/client_tools/command_client_tools.js +236 -151
- package/dist/core/client_tools/command_client_tools.js.map +1 -1
- package/dist/core/config/schema.js +8 -2
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/history/history_manager.js +73 -7
- package/dist/core/history/history_manager.js.map +1 -1
- package/dist/core/history/local_history_store.js +73 -2
- package/dist/core/history/local_history_store.js.map +1 -1
- package/dist/core/history/remote_history_client.js +36 -6
- package/dist/core/history/remote_history_client.js.map +1 -1
- package/dist/core/modes/index.js +0 -1
- package/dist/core/modes/index.js.map +1 -1
- package/dist/core/static/tau_docs/client-tools.md +212 -12
- package/dist/core/static/tau_docs/config-reference.md +1 -1
- package/dist/core/static/tau_docs/configuration.md +1 -1
- package/dist/core/static/tau_docs/credentials.md +4 -4
- package/dist/core/static/tau_docs/history.md +6 -4
- package/dist/core/static/tau_docs/index.md +1 -1
- package/dist/core/static/tau_docs/node-sdk.md +33 -26
- package/dist/core/static/tau_docs/ownership-and-scope.md +3 -4
- package/dist/core/static/tau_docs/prompts-and-project-context.md +2 -2
- package/dist/core/static/tau_docs/remote-sessions.md +4 -47
- package/dist/core/static/tau_docs/security.md +2 -6
- package/dist/core/static/tau_docs/session-protocol-methods.md +48 -7
- package/dist/core/static/tau_docs/session-protocol.md +18 -18
- package/dist/core/static/tau_docs/sessions.md +6 -5
- package/dist/core/static/tau_docs/telegram.md +8 -4
- package/dist/core/static/tau_docs/tools.md +1 -1
- package/dist/core/static/tau_docs/troubleshooting.md +3 -5
- package/dist/core/static/tau_docs/tui.md +4 -6
- package/dist/core/telegram/adapter.js +226 -18
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +1 -1
- package/dist/core/telegram/config.js.map +1 -1
- package/dist/core/telegram/project_preferences.js +42 -12
- package/dist/core/telegram/project_preferences.js.map +1 -1
- package/dist/core/telegram/runtime.js +6 -1
- package/dist/core/telegram/runtime.js.map +1 -1
- package/dist/core/telegram/session_manager.js +50 -4
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/telegram/tts.js +137 -0
- package/dist/core/telegram/tts.js.map +1 -0
- package/dist/core/tools/execution_backend.js +13 -3
- package/dist/core/tools/execution_backend.js.map +1 -1
- package/dist/core/tools/presentation.js +55 -17
- package/dist/core/tools/presentation.js.map +1 -1
- package/dist/core/utils/gemini_speech.js +123 -42
- package/dist/core/utils/gemini_speech.js.map +1 -1
- package/dist/core/utils/gemini_transcription.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +2 -2
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js +2 -2
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/dist/host/client_tool_broker.js +71 -17
- package/dist/host/client_tool_broker.js.map +1 -1
- package/dist/host/local_session_host.js +2 -2
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/host/session_host.js.map +1 -1
- package/dist/host/session_protocol_handler.js +17 -6
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/main.js +18 -92
- package/dist/main.js.map +1 -1
- package/dist/protocol/session_protocol.d.ts +22 -2
- package/dist/protocol/session_protocol.js +47 -3
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/client_tool_command.d.ts +41 -13
- package/dist/sdk/client_tool_command.js +157 -39
- package/dist/sdk/client_tool_command.js.map +1 -1
- package/dist/sdk/client_tool_presentation.d.ts +17 -0
- package/dist/sdk/client_tool_presentation.js +9 -0
- package/dist/sdk/client_tool_presentation.js.map +1 -0
- package/dist/sdk/code_mode.js +10 -1
- package/dist/sdk/code_mode.js.map +1 -1
- package/dist/sdk/index.d.ts +5 -4
- package/dist/sdk/index.js +2 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/session.js +28 -9
- package/dist/sdk/session.js.map +1 -1
- package/dist/sdk/types.d.ts +11 -1
- package/dist/transport/errors.d.ts +0 -11
- package/dist/transport/errors.js +0 -12
- package/dist/transport/errors.js.map +1 -1
- package/dist/transport/index.d.ts +1 -3
- package/dist/transport/index.js +1 -2
- package/dist/transport/index.js.map +1 -1
- package/dist/tui/session_chat_app.js +28 -15
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +0 -51
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/speech_playback.js +3 -3
- package/dist/tui/speech_playback.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/modes/rpc_server.js +0 -105
- package/dist/core/modes/rpc_server.js.map +0 -1
- package/dist/transport/stdio_session_transport.d.ts +0 -48
- package/dist/transport/stdio_session_transport.js +0 -338
- package/dist/transport/stdio_session_transport.js.map +0 -1
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import type { AssistantMessage, Message, TextContent, ThinkingContent, Tool, ToolCall } from "@earendil-works/pi-ai";
|
|
2
|
-
export declare const SESSION_PROTOCOL_VERSION:
|
|
2
|
+
export declare const SESSION_PROTOCOL_VERSION: 13;
|
|
3
3
|
export declare const SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES: number;
|
|
4
4
|
export declare const SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES: number;
|
|
5
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_BYTES: number;
|
|
6
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_LABEL_BYTES: number;
|
|
7
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_SUBJECT_BYTES: number;
|
|
8
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAILS = 1024;
|
|
9
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAIL_BYTES: number;
|
|
10
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA = 1024;
|
|
11
|
+
export declare const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA_VALUE_BYTES: number;
|
|
5
12
|
export declare const SESSION_PROTOCOL_MAX_ATTRIBUTE_VALUE_CHARS = 1024;
|
|
6
13
|
export declare const SESSION_PROTOCOL_MAX_SUBAGENT_ACTIVITIES = 64;
|
|
7
14
|
export declare const SESSION_PROTOCOL_MAX_SUBAGENT_SHORT_TEXT_BYTES = 512;
|
|
@@ -155,17 +162,30 @@ export type SessionProtocolEphemeralSubmitParams = SessionProtocolSessionIdParam
|
|
|
155
162
|
export type SessionProtocolEphemeralCloseParams = SessionProtocolSessionIdParams & {
|
|
156
163
|
contextId: string;
|
|
157
164
|
};
|
|
165
|
+
export type SessionProtocolClientToolPresentation = {
|
|
166
|
+
subject?: string;
|
|
167
|
+
subjectWrap?: "word" | "character";
|
|
168
|
+
details?: Array<{
|
|
169
|
+
text: string;
|
|
170
|
+
tone?: "added" | "removed";
|
|
171
|
+
wrap?: "word" | "character";
|
|
172
|
+
}>;
|
|
173
|
+
metadata?: string[];
|
|
174
|
+
};
|
|
158
175
|
export type SessionProtocolClientToolAckParams = SessionProtocolSessionIdParams & {
|
|
159
176
|
callId: string;
|
|
177
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
160
178
|
};
|
|
161
179
|
export type SessionProtocolClientToolResultParams = SessionProtocolSessionIdParams & {
|
|
162
180
|
callId: string;
|
|
163
181
|
} & ({
|
|
164
182
|
ok: true;
|
|
165
183
|
content: string;
|
|
184
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
166
185
|
} | {
|
|
167
186
|
ok: false;
|
|
168
187
|
error: string;
|
|
188
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
169
189
|
});
|
|
170
190
|
export type SessionProtocolParamsByMethod = {
|
|
171
191
|
initialize: SessionProtocolInitializeParams;
|
|
@@ -890,7 +910,7 @@ export type SessionProtocolClientToolCancelMessage = {
|
|
|
890
910
|
type: "session.clientTool.cancel";
|
|
891
911
|
sessionId: string;
|
|
892
912
|
callId: string;
|
|
893
|
-
reason: "aborted" | "timeout" | "client-detached";
|
|
913
|
+
reason: "aborted" | "timeout" | "client-detached" | "host-failed";
|
|
894
914
|
};
|
|
895
915
|
export type SessionProtocolClientToolMessage = SessionProtocolClientToolCallMessage | SessionProtocolClientToolCancelMessage;
|
|
896
916
|
export type SessionProtocolEphemeralAgentThreadUpdateEvent = {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export const SESSION_PROTOCOL_VERSION =
|
|
2
|
+
export const SESSION_PROTOCOL_VERSION = 13;
|
|
3
3
|
export const SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES = 24 * 1024 * 1024;
|
|
4
4
|
export const SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES = 16 * 1024 * 1024;
|
|
5
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_BYTES = 1024 * 1024;
|
|
6
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_LABEL_BYTES = 16 * 1024;
|
|
7
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_SUBJECT_BYTES = 256 * 1024;
|
|
8
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAILS = 1024;
|
|
9
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAIL_BYTES = 256 * 1024;
|
|
10
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA = 1024;
|
|
11
|
+
export const SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA_VALUE_BYTES = 16 * 1024;
|
|
5
12
|
export const SESSION_PROTOCOL_MAX_ATTRIBUTE_VALUE_CHARS = 1_024;
|
|
6
13
|
export const SESSION_PROTOCOL_MAX_SUBAGENT_ACTIVITIES = 64;
|
|
7
14
|
export const SESSION_PROTOCOL_MAX_SUBAGENT_SHORT_TEXT_BYTES = 512;
|
|
@@ -443,7 +450,7 @@ const sessionProtocolClientToolCancelMessageSchema = z
|
|
|
443
450
|
type: z.literal("session.clientTool.cancel"),
|
|
444
451
|
sessionId: nonEmptyStringSchema,
|
|
445
452
|
callId: nonEmptyStringSchema,
|
|
446
|
-
reason: z.enum(["aborted", "timeout", "client-detached"]),
|
|
453
|
+
reason: z.enum(["aborted", "timeout", "client-detached", "host-failed"]),
|
|
447
454
|
})
|
|
448
455
|
.strip();
|
|
449
456
|
const sessionProtocolClientToolMessageSchema = z.discriminatedUnion("type", [
|
|
@@ -677,10 +684,43 @@ const sessionProtocolEphemeralCloseParamsSchema = z
|
|
|
677
684
|
contextId: nonEmptyStringSchema,
|
|
678
685
|
})
|
|
679
686
|
.strip();
|
|
687
|
+
const clientToolPresentationSingleLineSchema = z
|
|
688
|
+
.string()
|
|
689
|
+
.refine((value) => !value.includes("\n") && !value.includes("\r"), "must be one line");
|
|
690
|
+
const clientToolPresentationDetailSchema = clientToolPresentationSingleLineSchema.refine((value) => utf8ByteLength(value) <= SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAIL_BYTES, `must not exceed ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAIL_BYTES} UTF-8 bytes`);
|
|
691
|
+
const clientToolPresentationMetadataSchema = clientToolPresentationSingleLineSchema.refine((value) => utf8ByteLength(value) <= SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA_VALUE_BYTES, `must not exceed ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA_VALUE_BYTES} UTF-8 bytes`);
|
|
692
|
+
const sessionProtocolClientToolPresentationSchema = z
|
|
693
|
+
.object({
|
|
694
|
+
subject: z
|
|
695
|
+
.string()
|
|
696
|
+
.min(1)
|
|
697
|
+
.refine((value) => !value.includes("\r"), "must not contain carriage returns")
|
|
698
|
+
.refine((value) => utf8ByteLength(value) <= SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_SUBJECT_BYTES, `must not exceed ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_SUBJECT_BYTES} UTF-8 bytes`)
|
|
699
|
+
.optional(),
|
|
700
|
+
subjectWrap: z.enum(["word", "character"]).optional(),
|
|
701
|
+
details: z
|
|
702
|
+
.array(z
|
|
703
|
+
.object({
|
|
704
|
+
text: clientToolPresentationDetailSchema,
|
|
705
|
+
tone: z.enum(["added", "removed"]).optional(),
|
|
706
|
+
wrap: z.enum(["word", "character"]).optional(),
|
|
707
|
+
})
|
|
708
|
+
.strict())
|
|
709
|
+
.max(SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_DETAILS)
|
|
710
|
+
.optional(),
|
|
711
|
+
metadata: z
|
|
712
|
+
.array(clientToolPresentationMetadataSchema)
|
|
713
|
+
.max(SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_METADATA)
|
|
714
|
+
.optional(),
|
|
715
|
+
})
|
|
716
|
+
.strict()
|
|
717
|
+
.refine((value) => utf8ByteLength(JSON.stringify(value)) <=
|
|
718
|
+
SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_BYTES, `must not exceed ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_PRESENTATION_BYTES} UTF-8 bytes`);
|
|
680
719
|
const sessionProtocolClientToolAckParamsSchema = z
|
|
681
720
|
.object({
|
|
682
721
|
sessionId: nonEmptyStringSchema,
|
|
683
722
|
callId: nonEmptyStringSchema,
|
|
723
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
684
724
|
})
|
|
685
725
|
.strip();
|
|
686
726
|
const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
@@ -690,6 +730,7 @@ const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
|
690
730
|
callId: nonEmptyStringSchema,
|
|
691
731
|
ok: z.literal(true),
|
|
692
732
|
content: z.string(),
|
|
733
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
693
734
|
})
|
|
694
735
|
.strip(),
|
|
695
736
|
z
|
|
@@ -698,6 +739,7 @@ const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
|
698
739
|
callId: nonEmptyStringSchema,
|
|
699
740
|
ok: z.literal(false),
|
|
700
741
|
error: z.string(),
|
|
742
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
701
743
|
})
|
|
702
744
|
.strip(),
|
|
703
745
|
]);
|
|
@@ -3248,7 +3290,9 @@ function validateClientToolAckParams(params) {
|
|
|
3248
3290
|
? "session.clientTool.ack params.sessionId must be a non-empty string"
|
|
3249
3291
|
: hasIssue(parsed.error, ["callId"])
|
|
3250
3292
|
? "session.clientTool.ack params.callId must be a non-empty string"
|
|
3251
|
-
:
|
|
3293
|
+
: hasIssue(parsed.error, ["presentation"])
|
|
3294
|
+
? `session.clientTool.ack params.presentation is invalid: ${formatZodError(parsed.error)}`
|
|
3295
|
+
: `session.clientTool.ack params are invalid: ${formatZodError(parsed.error)}`;
|
|
3252
3296
|
return invalidParams(message);
|
|
3253
3297
|
}
|
|
3254
3298
|
return { ok: true, value: parsed.data };
|