@markusylisiurunen/tau 0.3.49 → 0.3.51
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 +22 -908
- 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/commands/registry.js +4 -4
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/modes/index.js +0 -1
- package/dist/core/modes/index.js.map +1 -1
- package/dist/core/personas.js +19 -10
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +14 -9
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/static/tau_docs/client-tools.md +428 -0
- package/dist/core/static/tau_docs/config-reference.md +422 -0
- package/dist/core/static/tau_docs/configuration.md +210 -0
- package/dist/core/static/tau_docs/credentials.md +200 -0
- package/dist/core/static/tau_docs/getting-started.md +140 -0
- package/dist/core/static/tau_docs/history.md +163 -0
- package/dist/core/static/tau_docs/index.md +40 -0
- package/dist/core/static/tau_docs/manifest.json +28 -0
- package/dist/core/static/tau_docs/models.md +198 -0
- package/dist/core/static/tau_docs/node-sdk.md +406 -0
- package/dist/core/static/tau_docs/nook.md +264 -0
- package/dist/core/static/tau_docs/ownership-and-scope.md +103 -0
- package/dist/core/static/tau_docs/personas.md +199 -0
- package/dist/core/static/tau_docs/prompts-and-project-context.md +181 -0
- package/dist/core/static/tau_docs/remote-sessions.md +231 -0
- package/dist/core/static/tau_docs/security.md +184 -0
- package/dist/core/static/tau_docs/session-protocol-methods.md +618 -0
- package/dist/core/static/tau_docs/session-protocol.md +265 -0
- package/dist/core/static/tau_docs/sessions.md +224 -0
- package/dist/core/static/tau_docs/skills.md +176 -0
- package/dist/core/static/tau_docs/subagents.md +203 -0
- package/dist/core/static/tau_docs/telegram.md +346 -0
- package/dist/core/static/tau_docs/tools.md +203 -0
- package/dist/core/static/tau_docs/troubleshooting.md +290 -0
- package/dist/core/static/tau_docs/tui.md +222 -0
- 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 +54 -7
- 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/catalog.js +3 -1
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/presentation.js +67 -18
- package/dist/core/tools/presentation.js.map +1 -1
- package/dist/core/tools/tau_docs.js +115 -0
- package/dist/core/tools/tau_docs.js.map +1 -0
- package/dist/core/tools/tool_names.js +8 -0
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/utils/gemini_speech.js +122 -41
- package/dist/core/utils/gemini_speech.js.map +1 -1
- package/dist/core/utils/repository.js +19 -0
- package/dist/core/utils/repository.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/host/client_tool_broker.js +74 -35
- 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 +23 -2
- package/dist/protocol/session_protocol.js +49 -4
- 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 +29 -15
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +13 -64
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/session_creation_attributes.js +3 -3
- package/dist/tui/session_creation_attributes.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,15 @@
|
|
|
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;
|
|
12
|
+
export declare const SESSION_PROTOCOL_MAX_ATTRIBUTE_VALUE_CHARS = 1024;
|
|
5
13
|
export declare const SESSION_PROTOCOL_MAX_SUBAGENT_ACTIVITIES = 64;
|
|
6
14
|
export declare const SESSION_PROTOCOL_MAX_SUBAGENT_SHORT_TEXT_BYTES = 512;
|
|
7
15
|
export declare const SESSION_PROTOCOL_MAX_SUBAGENT_TOOL_SUBJECT_BYTES: number;
|
|
@@ -154,17 +162,30 @@ export type SessionProtocolEphemeralSubmitParams = SessionProtocolSessionIdParam
|
|
|
154
162
|
export type SessionProtocolEphemeralCloseParams = SessionProtocolSessionIdParams & {
|
|
155
163
|
contextId: string;
|
|
156
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
|
+
};
|
|
157
175
|
export type SessionProtocolClientToolAckParams = SessionProtocolSessionIdParams & {
|
|
158
176
|
callId: string;
|
|
177
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
159
178
|
};
|
|
160
179
|
export type SessionProtocolClientToolResultParams = SessionProtocolSessionIdParams & {
|
|
161
180
|
callId: string;
|
|
162
181
|
} & ({
|
|
163
182
|
ok: true;
|
|
164
183
|
content: string;
|
|
184
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
165
185
|
} | {
|
|
166
186
|
ok: false;
|
|
167
187
|
error: string;
|
|
188
|
+
presentation?: SessionProtocolClientToolPresentation;
|
|
168
189
|
});
|
|
169
190
|
export type SessionProtocolParamsByMethod = {
|
|
170
191
|
initialize: SessionProtocolInitializeParams;
|
|
@@ -889,7 +910,7 @@ export type SessionProtocolClientToolCancelMessage = {
|
|
|
889
910
|
type: "session.clientTool.cancel";
|
|
890
911
|
sessionId: string;
|
|
891
912
|
callId: string;
|
|
892
|
-
reason: "aborted" | "timeout" | "client-detached";
|
|
913
|
+
reason: "aborted" | "timeout" | "client-detached" | "host-failed";
|
|
893
914
|
};
|
|
894
915
|
export type SessionProtocolClientToolMessage = SessionProtocolClientToolCallMessage | SessionProtocolClientToolCancelMessage;
|
|
895
916
|
export type SessionProtocolEphemeralAgentThreadUpdateEvent = {
|
|
@@ -1,7 +1,15 @@
|
|
|
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;
|
|
12
|
+
export const SESSION_PROTOCOL_MAX_ATTRIBUTE_VALUE_CHARS = 1_024;
|
|
5
13
|
export const SESSION_PROTOCOL_MAX_SUBAGENT_ACTIVITIES = 64;
|
|
6
14
|
export const SESSION_PROTOCOL_MAX_SUBAGENT_SHORT_TEXT_BYTES = 512;
|
|
7
15
|
export const SESSION_PROTOCOL_MAX_SUBAGENT_TOOL_SUBJECT_BYTES = 4 * 1024;
|
|
@@ -269,7 +277,7 @@ const environmentVariablesSchema = z
|
|
|
269
277
|
.record(environmentVariableNameSchema, environmentVariableValueSchema)
|
|
270
278
|
.refine((value) => !("HOME" in value), "HOME is controlled by the execution environment");
|
|
271
279
|
const sessionAttributesSchema = z
|
|
272
|
-
.record(z.string().min(1).max(64), z.string().max(
|
|
280
|
+
.record(z.string().min(1).max(64), z.string().max(SESSION_PROTOCOL_MAX_ATTRIBUTE_VALUE_CHARS))
|
|
273
281
|
.refine((attributes) => Object.keys(attributes).length <= 32, "at most 32 attributes are allowed");
|
|
274
282
|
const processArgumentsSchema = z
|
|
275
283
|
.array(z.string())
|
|
@@ -442,7 +450,7 @@ const sessionProtocolClientToolCancelMessageSchema = z
|
|
|
442
450
|
type: z.literal("session.clientTool.cancel"),
|
|
443
451
|
sessionId: nonEmptyStringSchema,
|
|
444
452
|
callId: nonEmptyStringSchema,
|
|
445
|
-
reason: z.enum(["aborted", "timeout", "client-detached"]),
|
|
453
|
+
reason: z.enum(["aborted", "timeout", "client-detached", "host-failed"]),
|
|
446
454
|
})
|
|
447
455
|
.strip();
|
|
448
456
|
const sessionProtocolClientToolMessageSchema = z.discriminatedUnion("type", [
|
|
@@ -676,10 +684,43 @@ const sessionProtocolEphemeralCloseParamsSchema = z
|
|
|
676
684
|
contextId: nonEmptyStringSchema,
|
|
677
685
|
})
|
|
678
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`);
|
|
679
719
|
const sessionProtocolClientToolAckParamsSchema = z
|
|
680
720
|
.object({
|
|
681
721
|
sessionId: nonEmptyStringSchema,
|
|
682
722
|
callId: nonEmptyStringSchema,
|
|
723
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
683
724
|
})
|
|
684
725
|
.strip();
|
|
685
726
|
const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
@@ -689,6 +730,7 @@ const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
|
689
730
|
callId: nonEmptyStringSchema,
|
|
690
731
|
ok: z.literal(true),
|
|
691
732
|
content: z.string(),
|
|
733
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
692
734
|
})
|
|
693
735
|
.strip(),
|
|
694
736
|
z
|
|
@@ -697,6 +739,7 @@ const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
|
697
739
|
callId: nonEmptyStringSchema,
|
|
698
740
|
ok: z.literal(false),
|
|
699
741
|
error: z.string(),
|
|
742
|
+
presentation: sessionProtocolClientToolPresentationSchema.optional(),
|
|
700
743
|
})
|
|
701
744
|
.strip(),
|
|
702
745
|
]);
|
|
@@ -3247,7 +3290,9 @@ function validateClientToolAckParams(params) {
|
|
|
3247
3290
|
? "session.clientTool.ack params.sessionId must be a non-empty string"
|
|
3248
3291
|
: hasIssue(parsed.error, ["callId"])
|
|
3249
3292
|
? "session.clientTool.ack params.callId must be a non-empty string"
|
|
3250
|
-
:
|
|
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)}`;
|
|
3251
3296
|
return invalidParams(message);
|
|
3252
3297
|
}
|
|
3253
3298
|
return { ok: true, value: parsed.data };
|