@markusylisiurunen/tau 0.3.35 → 0.3.36
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 +8 -3
- package/dist/core/cli.js +7 -0
- package/dist/core/cli.js.map +1 -1
- package/dist/core/debug.js +16 -30
- package/dist/core/debug.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +68 -25
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/telegram/adapter.js +319 -67
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +1 -1
- package/dist/core/telegram/runtime.js +20 -1
- package/dist/core/telegram/runtime.js.map +1 -1
- package/dist/core/telegram/session_manager.js +12 -0
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/tools/tool_names.js +1 -0
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/tools/view_image.js +8 -5
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/utils/context.js +0 -1
- package/dist/core/utils/context.js.map +1 -1
- package/dist/core/utils/context_builder.js +2 -3
- package/dist/core/utils/context_builder.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/main.js +86 -31
- package/dist/main.js.map +1 -1
- package/dist/sdk/client.js +7 -108
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/local_client.d.ts +3 -0
- package/dist/sdk/local_client.js +106 -0
- package/dist/sdk/local_client.js.map +1 -0
- package/dist/tui/session_chat_app.js +53 -3
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +7 -0
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/utils/agents_files.js +0 -282
- package/dist/core/utils/agents_files.js.map +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { parsePersonaString } from "../core/cli.js";
|
|
3
|
+
import { createDefaultCoreDeps } from "../core/runtime/deps.js";
|
|
4
|
+
import { createLocalToolExecutionBackend } from "../core/tools/execution_backend.js";
|
|
5
|
+
import { CompositeExecutionEnvironmentResolver } from "../execution/execution_environment.js";
|
|
6
|
+
import { LocalExecutionEnvironmentResolver } from "../execution/local_execution_environment.js";
|
|
7
|
+
import { LocalSessionHost } from "../host/local_session_host.js";
|
|
8
|
+
import { FileSessionStore, getDefaultSessionStoreDirectory } from "../store/file_session_store.js";
|
|
9
|
+
import { InProcessSessionProtocolTransport } from "../transport/in_process_session_transport.js";
|
|
10
|
+
import { TauTransportError } from "../transport/index.js";
|
|
11
|
+
import { createTauSdkClientFromTransport, resolveTauSdkInitializeParams } from "./session.js";
|
|
12
|
+
export async function createTauSdkClientWithHostConfig(options, config) {
|
|
13
|
+
resolveTauSdkInitializeParams(options.initialize, options.clientTools);
|
|
14
|
+
const host = await createInProcessSdkHost(options, config);
|
|
15
|
+
const transport = new InProcessSessionProtocolTransport({ host, closeMode: "shutdown-host" });
|
|
16
|
+
return createTauSdkClientFromTransport(transport, options);
|
|
17
|
+
}
|
|
18
|
+
async function createInProcessSdkHost(options, config) {
|
|
19
|
+
const deps = createDefaultCoreDeps();
|
|
20
|
+
const home = deps.env.home() || process.env.HOME || homedir();
|
|
21
|
+
const toolBackend = createLocalToolExecutionBackend();
|
|
22
|
+
const localResolver = new LocalExecutionEnvironmentResolver({
|
|
23
|
+
home,
|
|
24
|
+
toolBackend,
|
|
25
|
+
});
|
|
26
|
+
const resolvers = {
|
|
27
|
+
local: localResolver,
|
|
28
|
+
};
|
|
29
|
+
if (config.cloudflareSandbox?.bridges) {
|
|
30
|
+
const { CloudflareSandboxExecutionEnvironmentResolver } = await import("../execution/cloudflare_sandbox_execution_environment.js");
|
|
31
|
+
resolvers["cloudflare-sandbox"] = new CloudflareSandboxExecutionEnvironmentResolver({
|
|
32
|
+
bridges: config.cloudflareSandbox.bridges,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (config.flySprites?.apis) {
|
|
36
|
+
const { FlySpriteExecutionEnvironmentResolver } = await import("../execution/fly_sprite_execution_environment.js");
|
|
37
|
+
resolvers["fly-sprite"] = new FlySpriteExecutionEnvironmentResolver({
|
|
38
|
+
apis: config.flySprites.apis,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const executionEnvironmentResolver = new CompositeExecutionEnvironmentResolver(resolvers);
|
|
42
|
+
return new LocalSessionHost({
|
|
43
|
+
store: new FileSessionStore({ directory: getDefaultSessionStoreDirectory(home) }),
|
|
44
|
+
executionEnvironmentResolver,
|
|
45
|
+
includeAgentContext: !options.noAgentContextFiles,
|
|
46
|
+
environment: {
|
|
47
|
+
now: () => deps.clock.now(),
|
|
48
|
+
},
|
|
49
|
+
deps,
|
|
50
|
+
resolveSessionBootstrap: async ({ executionEnvironment }) => {
|
|
51
|
+
const snapshot = executionEnvironment.snapshot();
|
|
52
|
+
const envRuntime = await executionEnvironment.resolveRuntimeConfig(snapshot.cwd);
|
|
53
|
+
if (envRuntime.personas.length === 0) {
|
|
54
|
+
throw new Error(`no personas available for execution environment cwd '${snapshot.cwd}'. add a custom persona or enable built-ins.`);
|
|
55
|
+
}
|
|
56
|
+
const envSelected = selectSdkPersona(envRuntime.personas, {
|
|
57
|
+
requestedPersona: options.persona,
|
|
58
|
+
defaultPersona: envRuntime.config.defaultPersona,
|
|
59
|
+
});
|
|
60
|
+
const envPersona = clonePersonaForSession(envSelected.persona);
|
|
61
|
+
const envReasoning = options.reasoning ?? envSelected.reasoning;
|
|
62
|
+
if (envReasoning !== undefined) {
|
|
63
|
+
envPersona.settings.reasoning = envReasoning;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
persona: envPersona,
|
|
67
|
+
discoveredSkills: envRuntime.skills,
|
|
68
|
+
personas: envRuntime.personas.map(clonePersonaForSession),
|
|
69
|
+
prompts: envRuntime.prompts,
|
|
70
|
+
modelResolver: envRuntime.bootstrap.modelResolver.resolveModel,
|
|
71
|
+
config: envRuntime.config,
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function selectSdkPersona(personas, options) {
|
|
77
|
+
let personaId = options.requestedPersona;
|
|
78
|
+
let reasoning = undefined;
|
|
79
|
+
if (personaId) {
|
|
80
|
+
const parsed = parsePersonaString(personaId, personas);
|
|
81
|
+
personaId = parsed.personaId;
|
|
82
|
+
reasoning = parsed.reasoning;
|
|
83
|
+
}
|
|
84
|
+
if (!personaId && options.defaultPersona) {
|
|
85
|
+
const parsed = parsePersonaString(options.defaultPersona, personas);
|
|
86
|
+
personaId = parsed.personaId;
|
|
87
|
+
reasoning = parsed.reasoning;
|
|
88
|
+
}
|
|
89
|
+
const persona = personaId
|
|
90
|
+
? personas.find((candidate) => candidate.id === personaId)
|
|
91
|
+
: personas[0];
|
|
92
|
+
if (!persona) {
|
|
93
|
+
throw new TauTransportError(`persona '${personaId}' is not available`);
|
|
94
|
+
}
|
|
95
|
+
return { persona, reasoning };
|
|
96
|
+
}
|
|
97
|
+
function clonePersonaForSession(persona) {
|
|
98
|
+
return {
|
|
99
|
+
...persona,
|
|
100
|
+
settings: { ...persona.settings },
|
|
101
|
+
allowedReasoningLevels: persona.allowedReasoningLevels
|
|
102
|
+
? [...persona.allowedReasoningLevels]
|
|
103
|
+
: undefined,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=local_client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local_client.js","sourceRoot":"","sources":["../../src/sdk/local_client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { spawn as spawnProcess } from "node:child_process";
|
|
2
2
|
import { createInterface } from "node:readline/promises";
|
|
3
|
+
import { Type } from "typebox";
|
|
4
|
+
import { z } from "zod";
|
|
3
5
|
import { createCommandRegistry } from "../core/commands/index.js";
|
|
4
6
|
import { DIFF_REVIEW_TOOL } from "../core/diff_review/index.js";
|
|
7
|
+
import { TOOL_NAME_PREFILL_INPUT } from "../core/tools/tool_names.js";
|
|
8
|
+
import { formatZodError } from "../core/utils/zod.js";
|
|
5
9
|
import { createTauSdkClientFromTransport } from "../sdk/session.js";
|
|
6
10
|
import { StdioSessionProtocolTransport } from "../transport/stdio_session_transport.js";
|
|
7
11
|
import { WebSocketSessionProtocolTransport } from "../transport/websocket_session_transport.js";
|
|
@@ -9,7 +13,18 @@ import { TuiChatView } from "./chat_view.js";
|
|
|
9
13
|
import { EXIT_DOUBLE_PRESS_WINDOW_MS, EXIT_TOAST_DURATION_MS } from "./constants.js";
|
|
10
14
|
import { SessionChatController } from "./session_chat_controller.js";
|
|
11
15
|
import { SlashAutocompleteProvider } from "./ui/slash_autocomplete.js";
|
|
16
|
+
const prefillInputArgsSchema = z
|
|
17
|
+
.object({
|
|
18
|
+
text: z
|
|
19
|
+
.string()
|
|
20
|
+
.min(1)
|
|
21
|
+
.refine((value) => value.trim().length > 0, "must contain non-whitespace text"),
|
|
22
|
+
})
|
|
23
|
+
.strict();
|
|
12
24
|
export function createTuiClientTools(options) {
|
|
25
|
+
if (!options.enabled) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
13
28
|
return [
|
|
14
29
|
{
|
|
15
30
|
schema: {
|
|
@@ -24,6 +39,35 @@ export function createTuiClientTools(options) {
|
|
|
24
39
|
return await controller.runClientDiffReview(args, context.signal);
|
|
25
40
|
},
|
|
26
41
|
},
|
|
42
|
+
{
|
|
43
|
+
schema: {
|
|
44
|
+
name: TOOL_NAME_PREFILL_INPUT,
|
|
45
|
+
description: [
|
|
46
|
+
"Prefill the user's TUI input editor with a draft for them to review, edit, and submit.",
|
|
47
|
+
"Use this sparingly, only when an editable structured draft would save the user meaningful effort; respond normally for routine content.",
|
|
48
|
+
"Use short, obvious placeholders such as [name] or [details] for information only the user can provide.",
|
|
49
|
+
"This tool does not submit the input and fails without changing the editor when it already contains text.",
|
|
50
|
+
].join(" "),
|
|
51
|
+
parameters: Type.Object({
|
|
52
|
+
text: Type.String({
|
|
53
|
+
minLength: 1,
|
|
54
|
+
pattern: "\\S",
|
|
55
|
+
description: "Complete non-blank draft text to place in the empty input editor.",
|
|
56
|
+
}),
|
|
57
|
+
}, { additionalProperties: false }),
|
|
58
|
+
},
|
|
59
|
+
execute: (args) => {
|
|
60
|
+
const parsed = prefillInputArgsSchema.safeParse(args);
|
|
61
|
+
if (!parsed.success) {
|
|
62
|
+
throw new Error(`Invalid prefill_input arguments: ${formatZodError(parsed.error)}`);
|
|
63
|
+
}
|
|
64
|
+
const controller = options.getController();
|
|
65
|
+
if (!controller) {
|
|
66
|
+
throw new Error("prefill_input is unavailable because the TUI is not ready");
|
|
67
|
+
}
|
|
68
|
+
return controller.prefillInput(parsed.data.text);
|
|
69
|
+
},
|
|
70
|
+
},
|
|
27
71
|
];
|
|
28
72
|
}
|
|
29
73
|
export class SessionChatApp {
|
|
@@ -50,7 +94,10 @@ export class SessionChatApp {
|
|
|
50
94
|
let controller;
|
|
51
95
|
const client = await createTauSdkClientFromTransport(transport, {
|
|
52
96
|
initialize: { client: { name: "tau-tui", version: "1" } },
|
|
53
|
-
clientTools: createTuiClientTools({
|
|
97
|
+
clientTools: createTuiClientTools({
|
|
98
|
+
enabled: options.clientToolsEnabled,
|
|
99
|
+
getController: () => controller,
|
|
100
|
+
}),
|
|
54
101
|
});
|
|
55
102
|
const app = await SessionChatApp.open({
|
|
56
103
|
...options,
|
|
@@ -62,12 +109,15 @@ export class SessionChatApp {
|
|
|
62
109
|
}
|
|
63
110
|
static async open(options) {
|
|
64
111
|
try {
|
|
65
|
-
const session = await
|
|
112
|
+
const [session, terminalAppearance] = await Promise.all([
|
|
113
|
+
resolveSession(options.client, options.sessionSelection),
|
|
114
|
+
options.terminalAppearance,
|
|
115
|
+
]);
|
|
66
116
|
const snapshot = await session.snapshot();
|
|
67
117
|
const view = new TuiChatView({
|
|
68
118
|
compactToolUi: true,
|
|
69
119
|
showThinking: false,
|
|
70
|
-
terminalAppearance
|
|
120
|
+
terminalAppearance,
|
|
71
121
|
themeId: options.themeId,
|
|
72
122
|
themes: options.themes ?? [],
|
|
73
123
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_chat_app.js","sourceRoot":"","sources":["../../src/tui/session_chat_app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"session_chat_app.js","sourceRoot":"","sources":["../../src/tui/session_chat_app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1694,6 +1694,13 @@ export class SessionChatController {
|
|
|
1694
1694
|
async runClientDiffReview(rawArgs, signal) {
|
|
1695
1695
|
return await this.diffReviewService.runModelTool(rawArgs, signal);
|
|
1696
1696
|
}
|
|
1697
|
+
prefillInput(text) {
|
|
1698
|
+
if (this.view.getEditorText().length > 0) {
|
|
1699
|
+
throw new Error("Cannot prefill input because the editor already contains text.");
|
|
1700
|
+
}
|
|
1701
|
+
this.view.setEditorText(text);
|
|
1702
|
+
return "Prefilled the input editor. The user can review, edit, and submit it.";
|
|
1703
|
+
}
|
|
1697
1704
|
async startDiffReview(argsText) {
|
|
1698
1705
|
if (this.diffReviewService.isActive()) {
|
|
1699
1706
|
this.view.addSystemMessage("diff review is already active.", "warn");
|