@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.
Files changed (37) hide show
  1. package/README.md +8 -3
  2. package/dist/core/cli.js +7 -0
  3. package/dist/core/cli.js.map +1 -1
  4. package/dist/core/debug.js +16 -30
  5. package/dist/core/debug.js.map +1 -1
  6. package/dist/core/runtime/runtime_bootstrap.js +68 -25
  7. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  8. package/dist/core/telegram/adapter.js +319 -67
  9. package/dist/core/telegram/adapter.js.map +1 -1
  10. package/dist/core/telegram/config.js +1 -1
  11. package/dist/core/telegram/runtime.js +20 -1
  12. package/dist/core/telegram/runtime.js.map +1 -1
  13. package/dist/core/telegram/session_manager.js +12 -0
  14. package/dist/core/telegram/session_manager.js.map +1 -1
  15. package/dist/core/tools/tool_names.js +1 -0
  16. package/dist/core/tools/tool_names.js.map +1 -1
  17. package/dist/core/tools/view_image.js +8 -5
  18. package/dist/core/tools/view_image.js.map +1 -1
  19. package/dist/core/utils/context.js +0 -1
  20. package/dist/core/utils/context.js.map +1 -1
  21. package/dist/core/utils/context_builder.js +2 -3
  22. package/dist/core/utils/context_builder.js.map +1 -1
  23. package/dist/core/version.js +1 -1
  24. package/dist/main.js +86 -31
  25. package/dist/main.js.map +1 -1
  26. package/dist/sdk/client.js +7 -108
  27. package/dist/sdk/client.js.map +1 -1
  28. package/dist/sdk/local_client.d.ts +3 -0
  29. package/dist/sdk/local_client.js +106 -0
  30. package/dist/sdk/local_client.js.map +1 -0
  31. package/dist/tui/session_chat_app.js +53 -3
  32. package/dist/tui/session_chat_app.js.map +1 -1
  33. package/dist/tui/session_chat_controller.js +7 -0
  34. package/dist/tui/session_chat_controller.js.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/core/utils/agents_files.js +0 -282
  37. package/dist/core/utils/agents_files.js.map +0 -1
package/README.md CHANGED
@@ -138,6 +138,8 @@ tau attach --session 0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3 -- ssh vps 'cd /path/t
138
138
 
139
139
  Session attach renders the authoritative session snapshot, streams recoverable `session.delta` updates and independently revisioned, non-persisted `session.pendingUserMessages` replacements, submits normal user input through `session.submit`, `session.queue`, and `session.steer`, supports steering/interruption, runs `!`/`!!` Bash commands in the session execution environment, records `/listen` from the local microphone, speaks `/speak` locally, reloads session content with `/reload`, switches session personas with `/persona:<id>` or `Ctrl+P`, inserts session prompt templates with `/prompt:<id>`, manages persistent autonomous goals with `/goal`, compacts the session with `/compact:*`, creates a new session with `/new`, and exits with `/exit` or `Ctrl+C` twice.
140
140
 
141
+ The TUI advertises client tools for diff review and input prefill. `prefill_input` fills only an empty editor and leaves existing draft text unchanged. Pass `--no-client-tools` to `tau` or `tau attach` to advertise neither tool, for example when another TUI attached to the same session already owns the client tools.
142
+
141
143
  Model `bash` tool calls, `!`/`!!`, `session.exec`, and Tau-controlled command helpers each run in a fresh, non-interactive login Bash belonging to the session execution environment. Tau sets `HOME` to the execution environment home, so Bash reads `/etc/profile` and then the first available user login file (`~/.bash_profile`, `~/.bash_login`, or `~/.profile`). Bash also reads inherited `BASH_ENV` when set; otherwise `.bashrc` is loaded only when the login configuration sources it. Login startup files must be automation-safe: they must not write to stdout or stderr, read stdin, require a TTY, or terminate the shell unexpectedly. Tau does not filter or frame startup output. Commands start from the backend's target-side environment and apply explicit execution-environment overrides; the local backend filters sensitive variables inherited from the Tau host. Node, Git, and other helper executables resolve from the same login-configured `PATH` as model commands. Shell state such as `cd`, exports, aliases, functions, and `nvm use` does not persist between calls.
142
144
 
143
145
  ## Telegram runner
@@ -152,11 +154,14 @@ The Telegram command surface is intentionally small:
152
154
 
153
155
  - `/use_<projectId>` selects the configured project used by future `/new` sessions without changing the active session.
154
156
  - `/new` creates a session from the selected project, replacing the previous active session if one exists.
155
- - `/status` reports the active project and session details, plus a different next-session project preference when selected.
157
+ - `/status` reports the active project and session details, including active or blocked goal state without the goal objective, plus a different next-session project preference when selected.
158
+ - `/effort_low`, `/effort_medium`, `/effort_high`, and `/effort_xhigh` set the active session's reasoning effort.
156
159
  - `/compact` summarizes older conversation context to reduce context usage.
157
160
  - `/interrupt` interrupts the active run.
158
161
 
159
- The runner keeps tool and lifecycle progress quiet: Telegram receives command acknowledgements/errors and assistant messages, including multiple assistant progress updates from a single active run. While work is active, it shows Telegram's typing indicator in DMs and groups. Assistant messages are sent as Telegram rich markdown.
162
+ Programmatic Telegram replies and notifications use natural-language sentences, with project and session identifiers included in the prose rather than shown as metadata-style fields.
163
+
164
+ The runner keeps tool and lifecycle progress quiet: Telegram receives command acknowledgements/errors and assistant messages, including multiple assistant progress updates from a single active run. While work is active, it shows Telegram's typing indicator in DMs and groups. Assistant messages are sent as Telegram rich markdown. Outbound reply chunks use a 30-second attempt deadline and retry transient network and retryable Telegram API failures twice, after 1 second and 5 seconds, and session notifications remain ordered per chat while retrying. Exhausted deliveries are logged with recoverable session, chat, and assistant message identity; retries do not survive a runner restart.
160
165
 
161
166
  Telegram DM input supports plain text, voice/audio transcription with the transcript echoed back for verification, and attachment queueing (`image/*`, PDF, `.txt`, `.md`, `.json`, `.csv`, `.yaml`, `.yml`). allowed groups are opt-in via `allowedChatIds`; non-triggering group text/captions, attachments, audio transcripts, and processing errors are buffered as sender-attributed context and the most recent 50 messages since the previous bot-triggering turn are included when a bot mention triggers a turn. group commands accept explicit bot mentions on or around the command, such as `/status@botusername`, `/status @botusername`, or `@botusername /status`.
162
167
 
@@ -422,7 +427,7 @@ you can also pipe content directly:
422
427
  cat src/tui/session_chat_app.ts | tau --persona opus-4.8-chat
423
428
  ```
424
429
 
425
- by default, tau injects your AGENTS.md into the system prompt. use `--no-agent-context-files` to disable this behavior. tau searches for AGENTS.md in the current directory and parent directories up to your home folder (or filesystem root if cwd is outside home). tau also includes a paths-only listing of `AGENTS.md` files in child directories under the current working directory, excluding any file already injected in full.
430
+ by default, tau injects your AGENTS.md into the system prompt. use `--no-agent-context-files` to disable this behavior. tau searches for AGENTS.md in the current directory and parent directories up to your home folder (or filesystem root if cwd is outside home). tau also includes a paths-only listing of `AGENTS.md` files in child directories under the current working directory, excluding any file already injected in full. this nested scan is breadth-first and stops after 8,192 directories or 16 levels. it skips standard VCS, dependency, build, virtual-environment, and cache directories at every level. when scanning directly from the execution home, it also skips direct tool-managed children such as `.cargo`, `.config`, `.local`, `.npm`, and platform data directories (`Library` on macOS and `snap` on Linux). project-local directories with the same tool-managed names remain visible. use `agentContextFiles` for important files that must be included independently of the nested scan.
426
431
 
427
432
  you can also include additional `AGENTS.md` files via config (when that config is in scope for the current working directory):
428
433
 
package/dist/core/cli.js CHANGED
@@ -62,6 +62,7 @@ export function parseCliArgs(argv) {
62
62
  let reasoningOverride;
63
63
  let caffeinated = false;
64
64
  let noAgentContextFiles = false;
65
+ let noClientTools = false;
65
66
  for (let i = 0; i < argv.length; i++) {
66
67
  const arg = argv[i];
67
68
  if (arg === "--help" || arg === "-h") {
@@ -76,6 +77,10 @@ export function parseCliArgs(argv) {
76
77
  noAgentContextFiles = true;
77
78
  continue;
78
79
  }
80
+ if (arg === "--no-client-tools") {
81
+ noClientTools = true;
82
+ continue;
83
+ }
79
84
  if (arg === "--caffeinated") {
80
85
  caffeinated = true;
81
86
  continue;
@@ -103,6 +108,7 @@ export function parseCliArgs(argv) {
103
108
  reasoningOverride,
104
109
  caffeinated,
105
110
  noAgentContextFiles,
111
+ noClientTools,
106
112
  };
107
113
  }
108
114
  export function printHelp(personas) {
@@ -133,6 +139,7 @@ export function printHelp(personas) {
133
139
  ` if not specified, uses resolved config defaultPersona.`,
134
140
  " --caffeinated keep macOS awake during active assistant turns in TUI mode (no-op on Linux).",
135
141
  " --no-agent-context-files disable AGENTS.md injection into the system prompt.",
142
+ " --no-client-tools disable TUI client tools such as diff review and input prefill.",
136
143
  "",
137
144
  "subcommands:",
138
145
  " rpc run headless stdio RPC mode (no TUI).",
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import { createDefaultCoreDeps } from "./runtime/deps.js";
2
- import { formatSubagentsForPrompt, resolveSubagentEffectiveSettings, } from "./subagents/registry.js";
3
- import { buildBaseSystemPrompt, buildEnvironmentTag, buildProjectContextBlock, buildSkillsIndexBlock, } from "./utils/context.js";
4
- import { resolvePromptGitRoot } from "./utils/git.js";
1
+ import { composeSessionPrompts } from "./runtime/session_prompt_composer.js";
2
+ import { resolveSubagentEffectiveSettings } from "./subagents/registry.js";
5
3
  function section(title) {
6
4
  console.log(`\n${"=".repeat(60)}`);
7
5
  console.log(` ${title}`);
@@ -61,10 +59,9 @@ function getActiveSkills(persona, skills) {
61
59
  return skills.filter((s) => enabledNames.has(s.name.toLowerCase()));
62
60
  }
63
61
  export function printDebugInfo(args) {
64
- const { personas, prompts, skills, selectedPersona, noAgentContextFiles, toolRegistry, virtualBundle, } = args;
65
- const deps = createDefaultCoreDeps();
66
- const cwd = deps.env.cwd();
67
- const home = deps.env.home();
62
+ const { personas, prompts, skills, selection, cwd, datetime, toolRegistry, virtualBundle } = args;
63
+ const selectedPersona = selection?.persona;
64
+ const promptContext = selection?.promptContext;
68
65
  console.log("tau debug info");
69
66
  console.log(`cwd: ${cwd}`);
70
67
  section("virtual bundle");
@@ -126,32 +123,21 @@ export function printDebugInfo(args) {
126
123
  }
127
124
  // Build and print full system prompt
128
125
  section("full system prompt");
129
- if (!selectedPersona) {
126
+ if (!selectedPersona || !promptContext) {
130
127
  console.log("\n (skipped: no persona loaded)");
131
128
  return;
132
129
  }
133
- const activeSkills = getActiveSkills(selectedPersona, skills);
134
- const skillsBlock = buildSkillsIndexBlock(activeSkills);
135
- const projectContextBlock = !noAgentContextFiles
136
- ? buildProjectContextBlock({ cwd, home, readFile: deps.fs.readFile })
137
- : undefined;
138
- const repoRoot = resolvePromptGitRoot({ cwd });
139
- const environmentTag = buildEnvironmentTag({
140
- cwd,
141
- repoRoot,
142
- datetime: new Date(deps.clock.now()).toISOString(),
143
- platform: deps.env.platform(),
144
- nodeVersion: deps.env.nodeVersion(),
130
+ const promptComposition = composeSessionPrompts({
131
+ persona: selectedPersona,
132
+ cwd: promptContext.cwd,
133
+ repoRoot: promptContext.repoRoot,
134
+ datetime,
135
+ platform: promptContext.platform,
136
+ nodeVersion: promptContext.nodeVersion,
137
+ skillsBlock: promptContext.skillsBlock,
138
+ projectContextBlock: promptContext.projectContextBlock,
145
139
  });
146
- const subagentsBlock = formatSubagentsForPrompt(selectedPersona);
147
- const fullSystemPrompt = buildBaseSystemPrompt({
148
- personaSystemPrompt: selectedPersona.systemPrompt,
149
- skillsBlock,
150
- projectContextBlock,
151
- environmentTag,
152
- subagentsBlock,
153
- });
154
- console.log(`\n${fullSystemPrompt}`);
140
+ console.log(`\n${promptComposition.baseSystemPrompt}`);
155
141
  // Sub-agents
156
142
  const activeSubagents = selectedPersona.subagents
157
143
  ? Object.entries(selectedPersona.subagents)
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,12 @@ const home = path.resolve(process.argv[2]);
47
47
  const includeAgentContext = process.argv[3] === "true";
48
48
  const additionalFiles = JSON.parse(process.argv[4]);
49
49
  const ignoredChildDirs = new Set(JSON.parse(process.argv[5]));
50
- const maxDirs = Number(process.argv[6]);
50
+ const ignoredHomeChildDirs = new Set(JSON.parse(process.argv[6]));
51
+ const ignoredPlatformHomeChildDirs = new Set(
52
+ process.platform === "darwin" ? ["Library"] : process.platform === "linux" ? ["snap"] : [],
53
+ );
54
+ const maxDirs = Number(process.argv[7]);
55
+ const maxDepth = Number(process.argv[8]);
51
56
 
52
57
  function realpath(pathname) {
53
58
  try {
@@ -115,40 +120,62 @@ if (includeAgentContext) {
115
120
  addAgentsFile(candidate);
116
121
  }
117
122
 
118
- const seenDirs = new Set();
119
- let visitedDirs = 0;
120
- function walk(dir) {
121
- if (visitedDirs >= maxDirs) return;
122
- const canonicalDir = realpath(dir);
123
- if (!canonicalDir || seenDirs.has(canonicalDir) || !isSameOrParent(cwdReal, canonicalDir)) return;
124
- seenDirs.add(canonicalDir);
125
- visitedDirs += 1;
126
-
123
+ const queuedDirs = new Set([cwdReal]);
124
+ const pendingDirs = [{ dir: cwd, canonicalDir: cwdReal, depth: 0 }];
125
+ for (let index = 0; index < pendingDirs.length; index += 1) {
126
+ const current = pendingDirs[index];
127
127
  let entries;
128
128
  try {
129
- entries = fs.readdirSync(canonicalDir, { withFileTypes: true });
129
+ entries = fs.readdirSync(current.canonicalDir, { withFileTypes: true });
130
130
  } catch {
131
- return;
131
+ continue;
132
132
  }
133
133
  entries.sort((a, b) => a.name.localeCompare(b.name));
134
+ const agentsEntry = entries.find((entry) => entry.name === "AGENTS.md");
135
+ if (
136
+ current.depth > 0 &&
137
+ agentsEntry &&
138
+ (agentsEntry.isFile() || agentsEntry.isSymbolicLink())
139
+ ) {
140
+ const candidate = resolveAgentsFile(path.join(current.dir, agentsEntry.name));
141
+ if (candidate && !seenFiles.has(candidate.canonical)) {
142
+ childAgentsFiles.push(candidate.path);
143
+ }
144
+ }
145
+
146
+ if (current.depth >= maxDepth) {
147
+ continue;
148
+ }
134
149
  for (const entry of entries) {
135
- if (visitedDirs >= maxDirs) return;
136
- if ((!entry.isDirectory() && !entry.isSymbolicLink()) || ignoredChildDirs.has(entry.name)) {
150
+ if (pendingDirs.length >= maxDirs) break;
151
+ if (
152
+ (!entry.isDirectory() && !entry.isSymbolicLink()) ||
153
+ ignoredChildDirs.has(entry.name) ||
154
+ (current.canonicalDir === homeReal &&
155
+ (ignoredHomeChildDirs.has(entry.name) ||
156
+ ignoredPlatformHomeChildDirs.has(entry.name)))
157
+ ) {
137
158
  continue;
138
159
  }
139
- const childDir = path.join(canonicalDir, entry.name);
140
- const candidate = resolveAgentsFile(path.join(childDir, "AGENTS.md"));
160
+ const childDir = path.join(current.dir, entry.name);
161
+ const canonicalChildDir = entry.isDirectory()
162
+ ? path.join(current.canonicalDir, entry.name)
163
+ : realpath(childDir);
141
164
  if (
142
- candidate &&
143
- !seenFiles.has(candidate.canonical) &&
144
- path.dirname(candidate.canonical) !== cwdReal
165
+ !canonicalChildDir ||
166
+ queuedDirs.has(canonicalChildDir) ||
167
+ !isSameOrParent(cwdReal, canonicalChildDir)
145
168
  ) {
146
- childAgentsFiles.push(candidate.path);
169
+ continue;
147
170
  }
148
- walk(childDir);
171
+ queuedDirs.add(canonicalChildDir);
172
+ pendingDirs.push({
173
+ dir: childDir,
174
+ canonicalDir: canonicalChildDir,
175
+ depth: current.depth + 1,
176
+ });
149
177
  }
150
178
  }
151
- walk(cwd);
152
179
  }
153
180
 
154
181
  let repoRoot;
@@ -192,15 +219,29 @@ const DEFAULT_IGNORED_CHILD_DIRS = [
192
219
  "vendor",
193
220
  "venv",
194
221
  ];
195
- const CHILD_AGENTS_WALK_MAX_DIRS = 10_000;
222
+ const HOME_IGNORED_CHILD_DIRS = [
223
+ ".bun",
224
+ ".cargo",
225
+ ".config",
226
+ ".deno",
227
+ ".gradle",
228
+ ".local",
229
+ ".m2",
230
+ ".npm",
231
+ ".nvm",
232
+ ".pnpm-store",
233
+ ".rustup",
234
+ ".sdkman",
235
+ ".yarn",
236
+ ];
237
+ const CHILD_AGENTS_WALK_MAX_DIRS = 8_192;
238
+ const CHILD_AGENTS_WALK_MAX_DEPTH = 16;
196
239
  const RUNTIME_PROMPT_CONTEXT_TIMEOUT_MS = 15_000;
197
240
  export async function resolveRuntimePromptBootstrap(args) {
198
241
  const inspection = await inspectRuntimePromptContext(args);
199
242
  const contentByPath = new Map(inspection.agentsFiles.map((file) => [file.path, file.content]));
200
243
  const projectContextBlock = args.includeAgentContext
201
244
  ? buildProjectContextBlock({
202
- cwd: args.cwd,
203
- home: args.home,
204
245
  agentsFiles: inspection.agentsFiles.map((file) => file.path),
205
246
  childAgentsFiles: inspection.childAgentsFiles,
206
247
  readFile: (path) => {
@@ -238,7 +279,9 @@ async function inspectRuntimePromptContext(args) {
238
279
  String(args.includeAgentContext),
239
280
  JSON.stringify(args.agentContextFiles),
240
281
  JSON.stringify(DEFAULT_IGNORED_CHILD_DIRS),
282
+ JSON.stringify(HOME_IGNORED_CHILD_DIRS),
241
283
  String(CHILD_AGENTS_WALK_MAX_DIRS),
284
+ String(CHILD_AGENTS_WALK_MAX_DEPTH),
242
285
  ], {
243
286
  cwd: args.cwd,
244
287
  timeoutMs: RUNTIME_PROMPT_CONTEXT_TIMEOUT_MS,
@@ -1 +1 @@
1
- {"version":3,"file":"runtime_bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime_bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime_bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime_bootstrap.ts"],"names":[],"mappings":"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"}