@markusylisiurunen/tau 0.3.23 → 0.3.25

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 (41) hide show
  1. package/README.md +21 -5
  2. package/dist/core/config/schema.js.map +1 -1
  3. package/dist/core/session/core_session.js +3 -0
  4. package/dist/core/session/core_session.js.map +1 -1
  5. package/dist/core/session/session_engine.js +23 -0
  6. package/dist/core/session/session_engine.js.map +1 -1
  7. package/dist/core/telegram/adapter.js +62 -27
  8. package/dist/core/telegram/adapter.js.map +1 -1
  9. package/dist/core/telegram/config.js +117 -42
  10. package/dist/core/telegram/config.js.map +1 -1
  11. package/dist/core/telegram/project_preferences.js +92 -0
  12. package/dist/core/telegram/project_preferences.js.map +1 -0
  13. package/dist/core/telegram/runtime.js +4 -1
  14. package/dist/core/telegram/runtime.js.map +1 -1
  15. package/dist/core/telegram/session_manager.js +41 -21
  16. package/dist/core/telegram/session_manager.js.map +1 -1
  17. package/dist/core/telegram/workspace.js +172 -26
  18. package/dist/core/telegram/workspace.js.map +1 -1
  19. package/dist/core/version.js +1 -1
  20. package/dist/host/local_session_host.js +87 -11
  21. package/dist/host/local_session_host.js.map +1 -1
  22. package/dist/host/session_host.js.map +1 -1
  23. package/dist/host/session_protocol_handler.js +60 -10
  24. package/dist/host/session_protocol_handler.js.map +1 -1
  25. package/dist/protocol/index.d.ts +1 -1
  26. package/dist/protocol/index.js.map +1 -1
  27. package/dist/protocol/session_protocol.d.ts +39 -10
  28. package/dist/protocol/session_protocol.js +205 -38
  29. package/dist/protocol/session_protocol.js.map +1 -1
  30. package/dist/sdk/index.d.ts +2 -1
  31. package/dist/sdk/index.js +1 -0
  32. package/dist/sdk/index.js.map +1 -1
  33. package/dist/sdk/session.js +6 -0
  34. package/dist/sdk/session.js.map +1 -1
  35. package/dist/sdk/turn_outcome.d.ts +2 -0
  36. package/dist/sdk/turn_outcome.js +4 -0
  37. package/dist/sdk/turn_outcome.js.map +1 -0
  38. package/dist/sdk/types.d.ts +5 -1
  39. package/dist/tui/session_chat_controller.js +5 -2
  40. package/dist/tui/session_chat_controller.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { mkdir, readdir, rm, stat } from "node:fs/promises";
1
+ import { mkdir, readdir, rm, stat, writeFile } from "node:fs/promises";
2
2
  import { dirname, join, relative, resolve, sep } from "node:path";
3
3
  import { spawnWithCapture } from "../utils/spawn_capture.js";
4
4
  const NANOSECONDS_PER_MILLISECOND = 1000000n;
@@ -381,17 +381,12 @@ export async function cleanupWorkspaceRootsOnStartup(workspaceRoots, preservedWo
381
381
  export async function cleanupWorkspacePath(workspacePath) {
382
382
  await rm(workspacePath, { recursive: true, force: true });
383
383
  }
384
- export async function prepareWorkspace(options) {
385
- const workspaceStart = process.hrtime.bigint();
386
- const workspacePath = resolveWorkspacePath({
387
- workspaceRoot: options.workspaceRoot,
388
- projectId: options.projectId,
389
- sessionId: options.sessionId,
390
- });
391
- await rm(workspacePath, { recursive: true, force: true });
392
- await mkdir(dirname(workspacePath), { recursive: true });
384
+ function isRepositoryProject(project) {
385
+ return "repo" in project;
386
+ }
387
+ async function prepareRepositoryWorkspace(options) {
393
388
  const cachePath = await prepareRepositoryCache({
394
- workspaceRoot: options.workspaceRoot,
389
+ workspaceRoot: options.cacheWorkspaceRoot,
395
390
  projectId: options.projectId,
396
391
  repo: options.project.repo,
397
392
  signal: options.signal,
@@ -399,16 +394,19 @@ export async function prepareWorkspace(options) {
399
394
  });
400
395
  await cloneRepositoryFromCache({
401
396
  cachePath,
402
- workspacePath,
397
+ workspacePath: options.workspacePath,
403
398
  signal: options.signal,
404
399
  onLog: options.onLog,
405
400
  });
406
401
  if (options.project.ref) {
407
402
  const checkoutStart = process.hrtime.bigint();
408
- log(options.onLog, "info", "checking out ref", { ref: options.project.ref });
403
+ log(options.onLog, "info", "checking out ref", {
404
+ projectId: options.projectId,
405
+ ref: options.project.ref,
406
+ });
409
407
  const checkoutResult = await runCommand({
410
408
  command: "git",
411
- commandArgs: ["-C", workspacePath, "checkout", options.project.ref],
409
+ commandArgs: ["-C", options.workspacePath, "checkout", options.project.ref],
412
410
  signal: options.signal,
413
411
  });
414
412
  if (checkoutResult.exitCode !== 0) {
@@ -419,18 +417,20 @@ export async function prepareWorkspace(options) {
419
417
  log(options.onLog, "info", "git checkout output", { output: checkoutResult.output });
420
418
  }
421
419
  log(options.onLog, "info", "ref checkout complete", {
420
+ projectId: options.projectId,
422
421
  ref: options.project.ref,
423
422
  durationMs: elapsedMs(checkoutStart),
424
423
  });
425
424
  }
426
- let sessionCwd = workspacePath;
425
+ let projectCwd = options.workspacePath;
427
426
  if (options.project.workingDirectory) {
428
427
  const configuredPath = options.project.workingDirectory;
429
- const resolvedPath = resolve(workspacePath, configuredPath);
430
- if (!isInsideWorkspace(workspacePath, resolvedPath)) {
428
+ const resolvedPath = resolve(options.workspacePath, configuredPath);
429
+ if (!isInsideWorkspace(options.workspacePath, resolvedPath)) {
431
430
  log(options.onLog, "error", "project working directory escapes workspace", {
431
+ projectId: options.projectId,
432
432
  workingDirectory: configuredPath,
433
- sessionCwd: resolvedPath,
433
+ projectCwd: resolvedPath,
434
434
  });
435
435
  throw new Error("project workingDirectory must resolve inside the repository workspace");
436
436
  }
@@ -440,24 +440,170 @@ export async function prepareWorkspace(options) {
440
440
  if (!stats.isDirectory()) {
441
441
  throw new Error(`project workingDirectory is not a directory: ${configuredPath}`);
442
442
  }
443
- sessionCwd = resolvedPath;
443
+ projectCwd = resolvedPath;
444
444
  log(options.onLog, "info", "using project working directory", {
445
+ projectId: options.projectId,
445
446
  workingDirectory: configuredPath,
446
- sessionCwd,
447
+ projectCwd,
447
448
  });
448
449
  }
449
450
  await runBootstrapCommands({
450
451
  commands: options.project.bootstrapCommands ?? [],
451
- cwd: sessionCwd,
452
+ cwd: projectCwd,
452
453
  signal: options.signal,
453
454
  onLog: options.onLog,
454
455
  mode: "sync",
455
456
  });
456
- log(options.onLog, "info", "workspace prepared", {
457
- workspacePath,
458
- sessionCwd,
459
- durationMs: elapsedMs(workspaceStart),
457
+ return projectCwd;
458
+ }
459
+ async function pathIsFile(path) {
460
+ const stats = await stat(path).catch((error) => {
461
+ if (getErrorCode(error) === "ENOENT") {
462
+ return undefined;
463
+ }
464
+ throw error;
465
+ });
466
+ return stats?.isFile() ?? false;
467
+ }
468
+ async function collectMemberAgentContextFiles(options) {
469
+ const memberPath = join(options.workspacePath, options.memberProjectId);
470
+ const candidates = [join(memberPath, "AGENTS.md")];
471
+ let currentPath = memberPath;
472
+ for (const segment of options.project.workingDirectory?.split(/[\\/]/).filter(Boolean) ?? []) {
473
+ currentPath = join(currentPath, segment);
474
+ candidates.push(join(currentPath, "AGENTS.md"));
475
+ }
476
+ const contextFiles = [];
477
+ for (const candidate of candidates) {
478
+ if (await pathIsFile(candidate)) {
479
+ contextFiles.push(relative(options.workspacePath, candidate));
480
+ }
481
+ }
482
+ return contextFiles;
483
+ }
484
+ function formatCompositeAgentsFile(options) {
485
+ const lines = [
486
+ "# Multi-repository workspace",
487
+ "",
488
+ "This workspace contains multiple independent Git repositories:",
489
+ "",
490
+ ];
491
+ for (const memberProjectId of options.project.projectIds) {
492
+ const memberProject = options.projects[memberProjectId];
493
+ if (!memberProject || !isRepositoryProject(memberProject)) {
494
+ throw new Error(`composite project references invalid member '${memberProjectId}'`);
495
+ }
496
+ const details = [
497
+ `repository \`${memberProject.repo}\``,
498
+ memberProject.ref ? `ref \`${memberProject.ref}\`` : "its default branch",
499
+ memberProject.description,
500
+ memberProject.workingDirectory
501
+ ? `working directory \`${memberProject.workingDirectory}\``
502
+ : undefined,
503
+ ].filter((detail) => detail !== undefined);
504
+ lines.push(`- \`${memberProjectId}/\`: ${details.join(", ")}`);
505
+ }
506
+ lines.push("", "Each child directory is an independent Git repository. Instructions from AGENTS.md files inside each repository apply to work in that repository's subtree.");
507
+ if (options.project.instructions) {
508
+ lines.push("", "## Workspace instructions", "", options.project.instructions);
509
+ }
510
+ return `${lines.join("\n")}\n`;
511
+ }
512
+ async function writeCompositeWorkspaceFiles(options) {
513
+ const agentContextFiles = [];
514
+ for (const memberProjectId of options.project.projectIds) {
515
+ const memberProject = options.projects[memberProjectId];
516
+ if (!memberProject || !isRepositoryProject(memberProject)) {
517
+ throw new Error(`composite project references invalid member '${memberProjectId}'`);
518
+ }
519
+ agentContextFiles.push(...(await collectMemberAgentContextFiles({
520
+ workspacePath: options.workspacePath,
521
+ memberProjectId,
522
+ project: memberProject,
523
+ })));
524
+ }
525
+ await mkdir(join(options.workspacePath, ".tau"), { recursive: true });
526
+ await Promise.all([
527
+ writeFile(join(options.workspacePath, "AGENTS.md"), formatCompositeAgentsFile(options), "utf8"),
528
+ writeFile(join(options.workspacePath, ".tau", "config.json"), `${JSON.stringify({ agentContextFiles }, null, 2)}\n`, "utf8"),
529
+ ]);
530
+ }
531
+ export async function prepareWorkspace(options) {
532
+ const workspaceStart = process.hrtime.bigint();
533
+ const workspacePath = resolveWorkspacePath({
534
+ workspaceRoot: options.workspaceRoot,
535
+ projectId: options.projectId,
536
+ sessionId: options.sessionId,
460
537
  });
461
- return { workspacePath, sessionCwd };
538
+ await rm(workspacePath, { recursive: true, force: true });
539
+ await mkdir(dirname(workspacePath), { recursive: true });
540
+ try {
541
+ if (isRepositoryProject(options.project)) {
542
+ const sessionCwd = await prepareRepositoryWorkspace({
543
+ workspacePath,
544
+ cacheWorkspaceRoot: options.workspaceRoot,
545
+ projectId: options.projectId,
546
+ project: options.project,
547
+ signal: options.signal,
548
+ onLog: options.onLog,
549
+ });
550
+ log(options.onLog, "info", "workspace prepared", {
551
+ workspacePath,
552
+ sessionCwd,
553
+ durationMs: elapsedMs(workspaceStart),
554
+ });
555
+ return { workspacePath, sessionCwd };
556
+ }
557
+ await mkdir(workspacePath, { recursive: true });
558
+ const memberBackgroundBootstrapCommands = [];
559
+ for (const memberProjectId of options.project.projectIds) {
560
+ const memberProject = options.projects[memberProjectId];
561
+ if (!memberProject || !isRepositoryProject(memberProject)) {
562
+ throw new Error(`composite project references invalid member '${memberProjectId}'`);
563
+ }
564
+ const memberCwd = await prepareRepositoryWorkspace({
565
+ workspacePath: join(workspacePath, memberProjectId),
566
+ cacheWorkspaceRoot: memberProject.workspaceRoot ?? options.defaultWorkspaceRoot,
567
+ projectId: memberProjectId,
568
+ project: memberProject,
569
+ signal: options.signal,
570
+ onLog: options.onLog,
571
+ });
572
+ if (memberProject.backgroundBootstrapCommands) {
573
+ memberBackgroundBootstrapCommands.push({
574
+ commands: memberProject.backgroundBootstrapCommands,
575
+ cwd: memberCwd,
576
+ });
577
+ }
578
+ }
579
+ await writeCompositeWorkspaceFiles({
580
+ workspacePath,
581
+ project: options.project,
582
+ projects: options.projects,
583
+ });
584
+ await runBootstrapCommands({
585
+ commands: options.project.bootstrapCommands ?? [],
586
+ cwd: workspacePath,
587
+ signal: options.signal,
588
+ onLog: options.onLog,
589
+ mode: "sync",
590
+ });
591
+ log(options.onLog, "info", "workspace prepared", {
592
+ workspacePath,
593
+ sessionCwd: workspacePath,
594
+ durationMs: elapsedMs(workspaceStart),
595
+ });
596
+ return {
597
+ workspacePath,
598
+ sessionCwd: workspacePath,
599
+ ...(memberBackgroundBootstrapCommands.length > 0
600
+ ? { memberBackgroundBootstrapCommands }
601
+ : {}),
602
+ };
603
+ }
604
+ catch (error) {
605
+ await rm(workspacePath, { recursive: true, force: true });
606
+ throw error;
607
+ }
462
608
  }
463
609
  //# sourceMappingURL=workspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/core/telegram/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/core/telegram/workspace.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.3.23";
1
+ export const APP_VERSION = "0.3.25";
2
2
  //# sourceMappingURL=version.js.map
@@ -251,6 +251,7 @@ export class LocalSessionHost {
251
251
  for (const session of this.sessions) {
252
252
  session.interruptTurn();
253
253
  session.interruptMaintenance();
254
+ session.interruptSamples();
254
255
  }
255
256
  const settlementResults = await Promise.allSettled([...this.sessions].map((session) => session.waitForActiveWork()));
256
257
  for (const result of settlementResults) {
@@ -311,6 +312,7 @@ class LocalHostedSessionHandle {
311
312
  persistedSnapshot;
312
313
  draftAssistantMessage;
313
314
  messageStates = new Map();
315
+ turnOutcomes = new Map();
314
316
  restoredMessageIds;
315
317
  restoredTimelineMessageIds;
316
318
  timelineExtras = [];
@@ -329,6 +331,8 @@ class LocalHostedSessionHandle {
329
331
  snapshotGeneration = 0;
330
332
  maintenanceAbortControllers = new Set();
331
333
  maintenancePromises = new Set();
334
+ sampleAbortControllers = new Set();
335
+ samplePromises = new Set();
332
336
  activeTurnPromise;
333
337
  disposePromise;
334
338
  disposing = false;
@@ -406,15 +410,27 @@ class LocalHostedSessionHandle {
406
410
  }
407
411
  }
408
412
  async runTurnNow() {
413
+ const userMessage = this.session.rawHistoryEntries.findLast((entry) => entry.message.role === "user");
414
+ if (!userMessage) {
415
+ throw new Error("cannot run a turn without a user message");
416
+ }
417
+ let lastAssistantMessage;
409
418
  try {
410
419
  const result = await this.runtime.runTurn({
411
- onEvent: (event) => this.recordTurnRuntimeEvent(event),
420
+ onEvent: async (event) => {
421
+ if (event.type === "assistant_final") {
422
+ lastAssistantMessage = event.message;
423
+ }
424
+ await this.enqueueRuntimeEvent(event);
425
+ },
412
426
  });
413
427
  if (result.aborted && this.draftAssistantMessage) {
414
428
  await this.interruptDraftAssistantMessage();
415
429
  }
430
+ const outcome = turnOutcomeFromResult(result, lastAssistantMessage);
431
+ this.turnOutcomes.set(userMessage.id, outcome);
416
432
  await this.emitSnapshotResetIfChanged("assistant-message");
417
- return result;
433
+ return outcome;
418
434
  }
419
435
  catch (error) {
420
436
  try {
@@ -440,10 +456,21 @@ class LocalHostedSessionHandle {
440
456
  }
441
457
  return interrupted;
442
458
  }
459
+ interruptSamples() {
460
+ let interrupted = false;
461
+ for (const abortController of this.sampleAbortControllers) {
462
+ if (!abortController.signal.aborted) {
463
+ abortController.abort();
464
+ interrupted = true;
465
+ }
466
+ }
467
+ return interrupted;
468
+ }
443
469
  async waitForActiveWork() {
444
470
  await Promise.allSettled([
445
471
  ...(this.activeTurnPromise ? [this.activeTurnPromise] : []),
446
472
  ...this.maintenancePromises,
473
+ ...this.samplePromises,
447
474
  ]);
448
475
  await this.runtimeEventQueue;
449
476
  }
@@ -464,6 +491,23 @@ class LocalHostedSessionHandle {
464
491
  ...(options.signal !== undefined ? { signal: options.signal } : {}),
465
492
  });
466
493
  }
494
+ async sample(options) {
495
+ this.assertActive();
496
+ const abortController = new AbortController();
497
+ const signal = options.signal
498
+ ? AbortSignal.any([options.signal, abortController.signal])
499
+ : abortController.signal;
500
+ this.sampleAbortControllers.add(abortController);
501
+ const promise = this.session.sample({ ...options, signal }).then((message) => ({ message }));
502
+ this.samplePromises.add(promise);
503
+ try {
504
+ return await promise;
505
+ }
506
+ finally {
507
+ this.sampleAbortControllers.delete(abortController);
508
+ this.samplePromises.delete(promise);
509
+ }
510
+ }
467
511
  async setReasoning(reasoning) {
468
512
  this.assertActive();
469
513
  const fromRevision = this.committedSnapshot?.revision;
@@ -745,6 +789,7 @@ class LocalHostedSessionHandle {
745
789
  const errors = [];
746
790
  this.runtime.interruptTurn();
747
791
  this.interruptMaintenance();
792
+ this.interruptSamples();
748
793
  try {
749
794
  await this.waitForActiveWork();
750
795
  }
@@ -858,6 +903,11 @@ class LocalHostedSessionHandle {
858
903
  reconcileProjections(options = {}) {
859
904
  const messageIds = new Set(this.session.rawHistoryEntries.map((entry) => entry.id));
860
905
  messageIds.add("system");
906
+ for (const id of this.turnOutcomes.keys()) {
907
+ if (!messageIds.has(id)) {
908
+ this.turnOutcomes.delete(id);
909
+ }
910
+ }
861
911
  for (const [id, tool] of this.tools) {
862
912
  if (!messageIds.has(tool.call.messageId) ||
863
913
  (tool.resultMessageId !== undefined && !messageIds.has(tool.resultMessageId))) {
@@ -940,12 +990,16 @@ class LocalHostedSessionHandle {
940
990
  timestamp: 0,
941
991
  },
942
992
  };
943
- const historyMessages = this.session.rawHistoryEntries.map((entry) => ({
944
- id: entry.id,
945
- state: this.messageStates.get(entry.id) ?? "committed",
946
- modelVisible: true,
947
- message: entry.message,
948
- }));
993
+ const historyMessages = this.session.rawHistoryEntries.map((entry) => {
994
+ const turn = this.turnOutcomes.get(entry.id);
995
+ return {
996
+ id: entry.id,
997
+ state: this.messageStates.get(entry.id) ?? "committed",
998
+ modelVisible: true,
999
+ message: entry.message,
1000
+ ...(turn ? { turn } : {}),
1001
+ };
1002
+ });
949
1003
  return [
950
1004
  systemMessage,
951
1005
  ...historyMessages,
@@ -1007,10 +1061,14 @@ class LocalHostedSessionHandle {
1007
1061
  }
1008
1062
  this.draftAssistantMessage = snapshot.messages.find((message) => message.state === "draft");
1009
1063
  this.messageStates.clear();
1064
+ this.turnOutcomes.clear();
1010
1065
  for (const message of snapshot.messages) {
1011
1066
  if (message.state !== "committed" && message.state !== "draft") {
1012
1067
  this.messageStates.set(message.id, message.state);
1013
1068
  }
1069
+ if (message.turn) {
1070
+ this.turnOutcomes.set(message.id, message.turn);
1071
+ }
1014
1072
  }
1015
1073
  }
1016
1074
  assertActive() {
@@ -1228,9 +1286,6 @@ class LocalHostedSessionHandle {
1228
1286
  return;
1229
1287
  }
1230
1288
  }
1231
- async recordTurnRuntimeEvent(event) {
1232
- await this.enqueueRuntimeEvent(event);
1233
- }
1234
1289
  async recordToolUiEvent(event) {
1235
1290
  const toolCallId = event.toolCallId;
1236
1291
  const existingTool = this.tools.get(toolCallId);
@@ -1446,6 +1501,27 @@ class LocalHostedSessionHandle {
1446
1501
  await this.emitSnapshotResetIfChanged("assistant-message");
1447
1502
  }
1448
1503
  }
1504
+ function turnOutcomeFromResult(result, assistantMessage) {
1505
+ if (result.blocked) {
1506
+ return { status: "blocked", ...result.blocked };
1507
+ }
1508
+ if (result.aborted || assistantMessage?.stopReason === "aborted") {
1509
+ return { status: "aborted", stopReason: "aborted" };
1510
+ }
1511
+ if (!assistantMessage) {
1512
+ throw new Error("session turn completed without an assistant message");
1513
+ }
1514
+ if (assistantMessage.stopReason === "error") {
1515
+ return {
1516
+ status: "failed",
1517
+ stopReason: "error",
1518
+ ...(assistantMessage.errorMessage !== undefined
1519
+ ? { errorMessage: assistantMessage.errorMessage }
1520
+ : {}),
1521
+ };
1522
+ }
1523
+ return { status: "completed", stopReason: assistantMessage.stopReason };
1524
+ }
1449
1525
  function cloneSessionProtocolSnapshot(snapshot) {
1450
1526
  return structuredClone(snapshot);
1451
1527
  }