@markusylisiurunen/tau 0.2.36 → 0.2.37

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 (38) hide show
  1. package/README.md +50 -0
  2. package/dist/core/cli.js +20 -1
  3. package/dist/core/cli.js.map +1 -1
  4. package/dist/core/index.js +4 -1
  5. package/dist/core/index.js.map +1 -1
  6. package/dist/core/modes/index.js +2 -0
  7. package/dist/core/modes/index.js.map +1 -1
  8. package/dist/core/modes/rpc_protocol.js +240 -0
  9. package/dist/core/modes/rpc_protocol.js.map +1 -0
  10. package/dist/core/modes/rpc_server.js +275 -0
  11. package/dist/core/modes/rpc_server.js.map +1 -0
  12. package/dist/core/runtime/chat_runtime.js +124 -0
  13. package/dist/core/runtime/chat_runtime.js.map +1 -0
  14. package/dist/core/runtime/conversation_turn_runtime.js +49 -0
  15. package/dist/core/runtime/conversation_turn_runtime.js.map +1 -0
  16. package/dist/core/runtime/session_prompt_composer.js +55 -0
  17. package/dist/core/runtime/session_prompt_composer.js.map +1 -0
  18. package/dist/core/utils/auto_retry.js +1 -1
  19. package/dist/core/utils/auto_retry.js.map +1 -1
  20. package/dist/core/version.js +1 -1
  21. package/dist/main.js +140 -5
  22. package/dist/main.js.map +1 -1
  23. package/dist/sdk/client.d.ts +2 -0
  24. package/dist/sdk/client.js +409 -0
  25. package/dist/sdk/client.js.map +1 -0
  26. package/dist/sdk/errors.d.ts +32 -0
  27. package/dist/sdk/errors.js +37 -0
  28. package/dist/sdk/errors.js.map +1 -0
  29. package/dist/sdk/index.d.ts +4 -0
  30. package/dist/sdk/index.js +3 -0
  31. package/dist/sdk/index.js.map +1 -0
  32. package/dist/sdk/types.d.ts +83 -0
  33. package/dist/sdk/types.js +2 -0
  34. package/dist/sdk/types.js.map +1 -0
  35. package/dist/tui/app.js.map +1 -1
  36. package/dist/tui/chat_controller.js +101 -99
  37. package/dist/tui/chat_controller.js.map +1 -1
  38. package/package.json +9 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sdk/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export type TauRpcErrorCode = "parse_error" | "invalid_request" | "method_not_found" | "invalid_params" | "busy" | "internal_error";
2
+ export type TauRpcError = {
3
+ code: TauRpcErrorCode;
4
+ message: string;
5
+ data?: unknown;
6
+ };
7
+ export declare class TauSdkError extends Error {
8
+ constructor(message: string, options?: ErrorOptions);
9
+ }
10
+ export declare class TauRpcResponseError extends TauSdkError {
11
+ readonly code: TauRpcErrorCode;
12
+ readonly requestId: string | number;
13
+ readonly data?: unknown;
14
+ constructor(options: {
15
+ requestId: string | number;
16
+ error: TauRpcError;
17
+ });
18
+ }
19
+ export declare class TauTransportError extends TauSdkError {
20
+ constructor(message: string, options?: ErrorOptions);
21
+ }
22
+ export declare class TauProcessError extends TauTransportError {
23
+ readonly exitCode: number | null;
24
+ readonly signal: NodeJS.Signals | null;
25
+ readonly stderr: string;
26
+ constructor(message: string, options?: {
27
+ exitCode?: number | null;
28
+ signal?: NodeJS.Signals | null;
29
+ stderr?: string;
30
+ cause?: unknown;
31
+ });
32
+ }
@@ -0,0 +1,37 @@
1
+ export class TauSdkError extends Error {
2
+ constructor(message, options) {
3
+ super(message, options);
4
+ this.name = "TauSdkError";
5
+ }
6
+ }
7
+ export class TauRpcResponseError extends TauSdkError {
8
+ code;
9
+ requestId;
10
+ data;
11
+ constructor(options) {
12
+ super(options.error.message);
13
+ this.name = "TauRpcResponseError";
14
+ this.code = options.error.code;
15
+ this.requestId = options.requestId;
16
+ this.data = options.error.data;
17
+ }
18
+ }
19
+ export class TauTransportError extends TauSdkError {
20
+ constructor(message, options) {
21
+ super(message, options);
22
+ this.name = "TauTransportError";
23
+ }
24
+ }
25
+ export class TauProcessError extends TauTransportError {
26
+ exitCode;
27
+ signal;
28
+ stderr;
29
+ constructor(message, options) {
30
+ super(message, options?.cause === undefined ? undefined : { cause: options.cause });
31
+ this.name = "TauProcessError";
32
+ this.exitCode = options?.exitCode ?? null;
33
+ this.signal = options?.signal ?? null;
34
+ this.stderr = options?.stderr ?? "";
35
+ }
36
+ }
37
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/sdk/errors.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IACzC,IAAI,CAAkB;IACtB,SAAS,CAAkB;IAC3B,IAAI,CAAW;IAExB,YAAY,OAA2D;QACrE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,iBAAiB;IAC3C,QAAQ,CAAgB;IACxB,MAAM,CAAwB;IAC9B,MAAM,CAAS;IAExB,YACE,OAAe,EACf,OAKC;QAED,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export { createTauSdkClient } from "./client.js";
2
+ export type { TauRpcError, TauRpcErrorCode } from "./errors.js";
3
+ export { TauProcessError, TauRpcResponseError, TauSdkError, TauTransportError } from "./errors.js";
4
+ export type { TauSdkClient, TauSdkClientOptions, TauSdkEvent, TauSdkEventListener, TauSdkReadyMessage, TauSdkSessionInterruptResult, TauSdkSessionResetResult, TauSdkSessionShutdownResult, TauSdkSessionSnapshotResult, TauSdkSessionSubmitResult, TauSdkSpawnFunction, TauSdkSubmitOptions, } from "./types.js";
@@ -0,0 +1,3 @@
1
+ export { createTauSdkClient } from "./client.js";
2
+ export { TauProcessError, TauRpcResponseError, TauSdkError, TauTransportError } from "./errors.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio } from "node:child_process";
2
+ export type TauSdkRequestId = string | number;
3
+ export type TauSdkRpcMethod = "initialize" | "session.submit" | "session.interrupt" | "session.snapshot" | "session.reset" | "session.shutdown";
4
+ export type TauSdkInitializeParams = {
5
+ client?: {
6
+ name?: string;
7
+ version?: string;
8
+ };
9
+ };
10
+ export type TauSdkEvent = {
11
+ version: 1;
12
+ type: "event";
13
+ event: {
14
+ version: number;
15
+ event: unknown;
16
+ };
17
+ requestId?: TauSdkRequestId;
18
+ };
19
+ export type TauSdkReadyMessage = {
20
+ version: 1;
21
+ type: "ready";
22
+ sessionId: string;
23
+ methods: TauSdkRpcMethod[];
24
+ coreEventVersion: 1;
25
+ };
26
+ export type TauSdkSessionSubmitResult = {
27
+ userHistoryEntryId: string;
28
+ turn: {
29
+ aborted: boolean;
30
+ };
31
+ };
32
+ export type TauSdkSessionInterruptResult = {
33
+ interrupted: boolean;
34
+ isTurnRunning: boolean;
35
+ };
36
+ export type TauSdkSessionSnapshotResult = {
37
+ sessionId: string;
38
+ isTurnRunning: boolean;
39
+ historyLength: number;
40
+ history: unknown[];
41
+ historyEntries: {
42
+ id: string;
43
+ message: unknown;
44
+ }[];
45
+ };
46
+ export type TauSdkSessionResetResult = {
47
+ previousSessionId: string;
48
+ sessionId: string;
49
+ };
50
+ export type TauSdkSessionShutdownResult = {
51
+ shutdown: true;
52
+ };
53
+ export type TauSdkSpawnFunction = (command: string, args: string[], options: SpawnOptionsWithoutStdio) => ChildProcessWithoutNullStreams;
54
+ export type TauSdkClientOptions = {
55
+ cwd?: string;
56
+ env?: NodeJS.ProcessEnv;
57
+ persona?: string;
58
+ riskLevel?: "read-only" | "read-write";
59
+ sandbox?: boolean;
60
+ noAgentContextFiles?: boolean;
61
+ executable?: string;
62
+ executableArgs?: string[];
63
+ scriptPath?: string | null;
64
+ scriptArgs?: string[];
65
+ rpcArgs?: string[];
66
+ connectTimeoutMs?: number;
67
+ initialize?: TauSdkInitializeParams;
68
+ spawn?: TauSdkSpawnFunction;
69
+ };
70
+ export type TauSdkSubmitOptions = {
71
+ historyEntryId?: string;
72
+ };
73
+ export type TauSdkEventListener = (event: TauSdkEvent) => void;
74
+ export type TauSdkClient = {
75
+ readonly ready: TauSdkReadyMessage;
76
+ submit(text: string, options?: TauSdkSubmitOptions): Promise<TauSdkSessionSubmitResult>;
77
+ interrupt(): Promise<TauSdkSessionInterruptResult>;
78
+ snapshot(): Promise<TauSdkSessionSnapshotResult>;
79
+ reset(): Promise<TauSdkSessionResetResult>;
80
+ shutdown(): Promise<TauSdkSessionShutdownResult>;
81
+ close(): Promise<void>;
82
+ onEvent(listener: TauSdkEventListener): () => void;
83
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAqBvE,MAAM,OAAO,OAAO;IACD,IAAI,CAAc;IAClB,UAAU,CAAiB;IACpC,WAAW,CAAU;IAE7B,YAAY,OAAuB;QACjC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC;YAC1B,kBAAkB;YAClB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,KAAK;YACnB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,YAAY;YACrC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,cAAc,CAAC;YACnC,GAAG,OAAO;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,kBAAkB;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACpD,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,2BAA2B,EAAE,CAAC;gBAC5F,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,MAAM,EAAE;gBAC/D,eAAe,EAAE,sBAAsB;aACxC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAC/B,IAAI,yBAAyB,CAC3B,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EACpC,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,CACnB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAAY;QACnC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAEM,OAAO,CAAC,KAAgB;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -9,10 +9,9 @@ import { AuthStorage } from "../core/auth/auth_storage.js";
9
9
  import { createCredentialResolver, } from "../core/auth/credential_resolver.js";
10
10
  import { createCommandRegistry, getRiskLevelDescription, } from "../core/commands/index.js";
11
11
  import { createDefaultConfigDeps, getMistralApiKey, loadRuntimeConfig, } from "../core/config/index.js";
12
+ import { ChatRuntime } from "../core/runtime/chat_runtime.js";
12
13
  import { createDefaultCoreDeps } from "../core/runtime/deps.js";
13
14
  import { createCheckpoint } from "../core/session/checkpoint.js";
14
- import { CoreSession } from "../core/session/core_session.js";
15
- import { formatSubagentsForPrompt, getSubagentBasePrompt } from "../core/subagents/registry.js";
16
15
  import { buildBashUiText, formatBashUserMessageText, getBashOutputPolicy, prepareBashOutput, } from "../core/tools/bash.js";
17
16
  import { ToolCatalog } from "../core/tools/catalog.js";
18
17
  import { createLocalToolExecutionBackend } from "../core/tools/execution_backend.js";
@@ -20,7 +19,7 @@ import { TOOL_NAME_BASH, TOOL_NAME_EDIT } from "../core/tools/tool_names.js";
20
19
  import { REASONING_LEVELS, } from "../core/types.js";
21
20
  import { resolveAgentCwd, resolveSandboxPath } from "../core/utils/agent_environment.js";
22
21
  import { findAgentsFilesFromCwdToHome } from "../core/utils/agents_files.js";
23
- import { buildBaseSystemPrompt, buildEnvironmentTag, buildProjectContextBlock, buildSandboxInfoBlock, buildSkillsIndexBlock, findAgentsFilesInScopeDetailed, formatCwdChangeNotice, formatRiskLevelChangeNotice, } from "../core/utils/context.js";
22
+ import { buildProjectContextBlock, buildSkillsIndexBlock, findAgentsFilesInScopeDetailed, formatCwdChangeNotice, formatRiskLevelChangeNotice, } from "../core/utils/context.js";
24
23
  import { formatAdaptiveNumber, formatCwd, formatTokenWindow } from "../core/utils/format.js";
25
24
  import { getGitRoot } from "../core/utils/git.js";
26
25
  import { buildLineDiff, collapseLongUnchangedDiffRuns } from "../core/utils/line_diff.js";
@@ -63,6 +62,7 @@ const SPEAK_TEMP_FILE_TEMPLATE = "/tmp/tau-speak.XXXXXX";
63
62
  const SPEAK_MISTRAL_TRANSCRIBE_MODEL = "voxtral-mini-latest";
64
63
  const SPEAK_RECORDING_MIN_BYTES = 1024;
65
64
  const SPEAK_RECORDING_MAX_DURATION_MS = 5 * 60 * 1000;
65
+ const CAFFEINATE_COMMAND = "/usr/bin/caffeinate";
66
66
  export class ChatController {
67
67
  view;
68
68
  personas;
@@ -77,9 +77,11 @@ export class ChatController {
77
77
  credentialResolver;
78
78
  authPath;
79
79
  sandboxEnabled;
80
+ caffeinated;
80
81
  sandboxRootReal;
81
82
  agentCwd;
82
83
  includeAgentContext;
84
+ runtime;
83
85
  engine;
84
86
  commandRegistry;
85
87
  commandHandlers;
@@ -97,9 +99,9 @@ export class ChatController {
97
99
  showThinking = false;
98
100
  compactToolUi = true;
99
101
  commandHint;
102
+ assistantTurnInterruptRequested = false;
100
103
  currentTurnAbort;
101
104
  riskLevel = "read-only";
102
- environmentTag = "";
103
105
  projectContextBlock;
104
106
  projectFiles = [];
105
107
  projectFilesCwd;
@@ -107,8 +109,6 @@ export class ChatController {
107
109
  isInFileAutocomplete = false;
108
110
  agentsFiles;
109
111
  agentsConfigErrors;
110
- baseSystemPrompt = "";
111
- subagentPrompts = {};
112
112
  pendingRiskLevelChange;
113
113
  pendingCwdChange;
114
114
  expandedFilesInCurrentPrompt = new Set();
@@ -121,6 +121,8 @@ export class ChatController {
121
121
  speakRecording;
122
122
  isTranscribingSpeak = false;
123
123
  speakTransition;
124
+ turnCaffeinate;
125
+ disableCaffeinateForSession = false;
124
126
  constructor(options) {
125
127
  this.view = options.view;
126
128
  this.deps = options.deps ?? createDefaultCoreDeps();
@@ -136,7 +138,8 @@ export class ChatController {
136
138
  this.bashCommands = options.bashCommands ?? [];
137
139
  this.initialUserMessage = options.initialUserMessage;
138
140
  this.config = options.config ?? {};
139
- this.sandboxEnabled = options.sandboxEnabled ?? false;
141
+ this.sandboxEnabled = options.sandboxEnabled;
142
+ this.caffeinated = options.caffeinated ?? false;
140
143
  this.sandboxRootReal = this.sandboxEnabled ? this.resolveSandboxRoot(cwd) : undefined;
141
144
  this.agentCwd = resolveAgentCwd({
142
145
  cwd,
@@ -182,7 +185,6 @@ export class ChatController {
182
185
  this.riskLevel = options.initialRiskLevel;
183
186
  }
184
187
  const skillsContext = this.getSkillsIndexBlockForPersona(this.currentPersona);
185
- this.updateSystemPrompts(skillsContext.skillsBlock);
186
188
  this.toolBackend =
187
189
  options.toolBackend ??
188
190
  createLocalToolExecutionBackend({
@@ -193,15 +195,26 @@ export class ChatController {
193
195
  throw new Error("sandbox enabled but tool backend is not sandboxed.");
194
196
  }
195
197
  const toolRegistry = ToolCatalog.createRegistry(this.toolBackend);
196
- this.engine = new CoreSession({
198
+ this.runtime = ChatRuntime.create({
197
199
  persona: this.currentPersona,
198
- systemPrompt: this.baseSystemPrompt,
199
- subagentPrompts: this.subagentPrompts,
200
200
  riskLevel: this.riskLevel,
201
201
  toolRegistry,
202
+ promptContext: {
203
+ cwd: this.agentCwd,
204
+ projectContextBlock: this.projectContextBlock,
205
+ sandboxEnabled: this.sandboxEnabled,
206
+ sandboxEnvironmentInfo: this.config.sandbox?.environmentInfo,
207
+ skillsBlock: skillsContext.skillsBlock,
208
+ },
209
+ environment: {
210
+ now: () => this.deps.clock.now(),
211
+ platform: () => this.deps.env.platform(),
212
+ nodeVersion: () => this.deps.env.nodeVersion(),
213
+ },
202
214
  config: this.config,
203
215
  deps: this.deps,
204
216
  });
217
+ this.engine = this.runtime.session;
205
218
  this.subagentUnsubscribe = this.engine.onSubagentEvent((event) => this.onEvent(event));
206
219
  this.commandRegistry = createCommandRegistry();
207
220
  this.commandHandlers = {
@@ -297,6 +310,7 @@ export class ChatController {
297
310
  await this.speakTransition;
298
311
  }
299
312
  await this.cancelSpeakCapture();
313
+ await this.stopTurnCaffeinate();
300
314
  if (!this.toolBackendDispose)
301
315
  return;
302
316
  await this.toolBackendDispose();
@@ -779,7 +793,17 @@ export class ChatController {
779
793
  });
780
794
  }
781
795
  interruptAssistantTurn() {
782
- if (!this.isStreaming || this.currentTurnAbort?.signal.aborted)
796
+ if (!this.isStreaming)
797
+ return;
798
+ if (this.runtime.isTurnRunning) {
799
+ if (this.assistantTurnInterruptRequested)
800
+ return;
801
+ this.assistantTurnInterruptRequested = true;
802
+ this.runtime.interruptTurn();
803
+ this.view.addSystemMessage("interrupted", "error");
804
+ return;
805
+ }
806
+ if (this.currentTurnAbort?.signal.aborted)
783
807
  return;
784
808
  this.currentTurnAbort?.abort();
785
809
  this.view.addSystemMessage("interrupted", "error");
@@ -1555,86 +1579,23 @@ export class ChatController {
1555
1579
  escapeXmlAttribute(text) {
1556
1580
  return this.escapeXml(text).replace(/"/g, "&quot;").replace(/'/g, "&apos;");
1557
1581
  }
1558
- updateSystemPrompts(skillsBlock) {
1559
- const timestamp = new Date(this.deps.clock.now()).toISOString();
1560
- this.environmentTag = buildEnvironmentTag({
1561
- riskLevel: this.riskLevel,
1582
+ syncRuntimePromptContext() {
1583
+ this.runtime.updatePromptContext({
1562
1584
  cwd: this.agentCwd,
1563
- datetime: timestamp,
1564
- platform: this.deps.env.platform(),
1565
- nodeVersion: this.deps.env.nodeVersion(),
1566
- });
1567
- const resolvedSkillsBlock = skillsBlock ?? this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock;
1568
- this.baseSystemPrompt = this.buildSystemPrompt({
1569
- persona: this.currentPersona,
1570
- skillsBlock: resolvedSkillsBlock,
1571
- });
1572
- this.subagentPrompts = this.buildSubagentPromptMap({
1573
- persona: this.currentPersona,
1574
- skillsBlock: resolvedSkillsBlock,
1575
- timestamp,
1576
- });
1577
- }
1578
- updateSubagentPrompts(skillsBlock) {
1579
- const timestamp = new Date(this.deps.clock.now()).toISOString();
1580
- const resolvedSkillsBlock = skillsBlock ?? this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock;
1581
- this.subagentPrompts = this.buildSubagentPromptMap({
1582
- persona: this.currentPersona,
1583
- skillsBlock: resolvedSkillsBlock,
1584
- timestamp,
1585
+ projectContextBlock: this.projectContextBlock,
1586
+ sandboxEnabled: this.sandboxEnabled,
1587
+ sandboxEnvironmentInfo: this.config.sandbox?.environmentInfo,
1585
1588
  });
1586
1589
  }
1587
1590
  rebuildSystemPrompt(skillsBlock) {
1588
- this.updateSystemPrompts(skillsBlock);
1589
- this.engine.setPersona(this.currentPersona, this.baseSystemPrompt, this.subagentPrompts);
1591
+ const resolvedSkillsBlock = skillsBlock ?? this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock;
1592
+ this.syncRuntimePromptContext();
1593
+ this.runtime.setPersona(this.currentPersona, { skillsBlock: resolvedSkillsBlock });
1590
1594
  }
1591
1595
  rebuildSubagentPrompts(skillsBlock) {
1592
- this.updateSubagentPrompts(skillsBlock);
1593
- this.engine.setPersona(this.currentPersona, this.baseSystemPrompt, this.subagentPrompts);
1594
- }
1595
- buildSystemPrompt(args) {
1596
- return buildBaseSystemPrompt({
1597
- personaSystemPrompt: args.persona.systemPrompt,
1598
- skillsBlock: args.skillsBlock,
1599
- projectContextBlock: this.projectContextBlock,
1600
- sandboxInfoBlock: this.sandboxEnabled
1601
- ? buildSandboxInfoBlock(this.config.sandbox?.environmentInfo)
1602
- : undefined,
1603
- environmentTag: this.environmentTag,
1604
- subagentsBlock: formatSubagentsForPrompt(args.persona),
1605
- });
1606
- }
1607
- buildSubagentPromptMap(args) {
1608
- const subagents = args.persona.subagents;
1609
- if (!subagents || Object.keys(subagents).length === 0) {
1610
- return {};
1611
- }
1612
- const sandboxInfoBlock = this.sandboxEnabled
1613
- ? buildSandboxInfoBlock(this.config.sandbox?.environmentInfo)
1614
- : undefined;
1615
- const prompts = {};
1616
- for (const [name, cfg] of Object.entries(subagents)) {
1617
- if (!cfg)
1618
- continue;
1619
- const basePrompt = getSubagentBasePrompt(name, cfg);
1620
- if (!basePrompt)
1621
- continue;
1622
- const environmentTag = buildEnvironmentTag({
1623
- riskLevel: cfg.riskLevel ?? this.riskLevel,
1624
- cwd: this.agentCwd,
1625
- datetime: args.timestamp,
1626
- platform: this.deps.env.platform(),
1627
- nodeVersion: this.deps.env.nodeVersion(),
1628
- });
1629
- prompts[name] = buildBaseSystemPrompt({
1630
- personaSystemPrompt: basePrompt,
1631
- skillsBlock: args.skillsBlock,
1632
- projectContextBlock: this.projectContextBlock,
1633
- sandboxInfoBlock,
1634
- environmentTag,
1635
- });
1636
- }
1637
- return prompts;
1596
+ const resolvedSkillsBlock = skillsBlock ?? this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock;
1597
+ this.syncRuntimePromptContext();
1598
+ this.runtime.rebuildSubagentPrompts({ skillsBlock: resolvedSkillsBlock });
1638
1599
  }
1639
1600
  applyCompactedHistoryUi(compactionMessage) {
1640
1601
  this.view.resetToolUiSession();
@@ -2456,10 +2417,10 @@ export class ChatController {
2456
2417
  setRiskLevel(level, options) {
2457
2418
  const previous = this.riskLevel;
2458
2419
  this.riskLevel = level;
2459
- this.engine.setRiskLevel(level);
2420
+ this.syncRuntimePromptContext();
2421
+ this.runtime.setRiskLevel(level);
2460
2422
  this.refreshStatus();
2461
2423
  if (previous !== level) {
2462
- this.rebuildSubagentPrompts();
2463
2424
  const from = this.pendingRiskLevelChange?.from ?? previous;
2464
2425
  if (from === level) {
2465
2426
  this.pendingRiskLevelChange = undefined;
@@ -2546,7 +2507,7 @@ export class ChatController {
2546
2507
  const previousThemeId = this.activeThemeId ?? this.config.defaultTheme;
2547
2508
  const messages = [];
2548
2509
  this.config = runtime.config;
2549
- this.engine.setConfig(this.config);
2510
+ this.runtime.setConfig(this.config);
2550
2511
  if (plan.bashCommands) {
2551
2512
  this.bashCommands = runtime.bashCommands;
2552
2513
  }
@@ -2665,36 +2626,77 @@ export class ChatController {
2665
2626
  this.view.addSystemMessage(`reload failed: ${err.message}`, "error");
2666
2627
  }
2667
2628
  }
2629
+ startTurnCaffeinate() {
2630
+ if (!this.caffeinated || this.disableCaffeinateForSession || this.turnCaffeinate) {
2631
+ return;
2632
+ }
2633
+ if (this.deps.env.platform() !== "darwin") {
2634
+ this.disableCaffeinateForSession = true;
2635
+ this.view.addSystemMessage("--caffeinated is only supported on macOS.", "warn");
2636
+ return;
2637
+ }
2638
+ const abortController = new AbortController();
2639
+ const completion = this.deps.spawn(CAFFEINATE_COMMAND, ["-i"], {
2640
+ detached: true,
2641
+ killProcessGroup: true,
2642
+ signal: abortController.signal,
2643
+ stdio: ["ignore", "ignore", "ignore"],
2644
+ });
2645
+ completion.catch(() => { });
2646
+ this.turnCaffeinate = {
2647
+ abortController,
2648
+ completion,
2649
+ };
2650
+ }
2651
+ async stopTurnCaffeinate() {
2652
+ const session = this.turnCaffeinate;
2653
+ if (!session)
2654
+ return;
2655
+ this.turnCaffeinate = undefined;
2656
+ if (!session.abortController.signal.aborted) {
2657
+ session.abortController.abort();
2658
+ }
2659
+ try {
2660
+ await session.completion;
2661
+ }
2662
+ catch (err) {
2663
+ if (this.disableCaffeinateForSession) {
2664
+ return;
2665
+ }
2666
+ this.disableCaffeinateForSession = true;
2667
+ const error = err;
2668
+ const details = error.message || "unknown error";
2669
+ this.view.addSystemMessage(`failed to run caffeinate: ${details}`, "warn");
2670
+ }
2671
+ }
2668
2672
  // Assistant Turn --------------------------------------------------------------------------------
2669
2673
  async runAssistantTurn() {
2670
2674
  this.isStreaming = true;
2671
- this.currentTurnAbort = new AbortController();
2672
2675
  this.view.startWorkingIcon();
2673
2676
  this.startTurnTimer();
2674
2677
  this.assistantState = undefined;
2678
+ this.assistantTurnInterruptRequested = false;
2679
+ this.startTurnCaffeinate();
2680
+ let runResult = { aborted: false };
2675
2681
  try {
2676
- for await (const event of this.engine.events(this.currentTurnAbort.signal)) {
2677
- if (this.currentTurnAbort.signal.aborted)
2678
- break;
2679
- this.onEvent(event);
2680
- }
2682
+ runResult = await this.runtime.runTurn((event) => this.onEvent(event));
2681
2683
  }
2682
2684
  catch (err) {
2683
2685
  const message = err.message || "request failed";
2684
2686
  this.view.addSystemMessage(message, "error");
2685
2687
  }
2686
2688
  finally {
2687
- const wasAborted = this.currentTurnAbort?.signal.aborted ?? false;
2688
- const reason = wasAborted ? "aborted" : "interrupted";
2689
+ await this.stopTurnCaffeinate();
2690
+ const reason = runResult.aborted ? "aborted" : "interrupted";
2689
2691
  this.view.finalizeToolUiPending(reason);
2690
2692
  this.view.stopWorkingIcon();
2691
2693
  this.stopTurnTimer();
2692
2694
  this.isStreaming = false;
2693
- this.currentTurnAbort = undefined;
2695
+ this.assistantTurnInterruptRequested = false;
2694
2696
  this.view.clearToolUiTransientState();
2695
2697
  this.pendingIdleNotification = true;
2696
2698
  this.view.requestRender();
2697
- if (wasAborted) {
2699
+ if (runResult.aborted) {
2698
2700
  this.dequeueQueuedUserMessagesIntoEditor();
2699
2701
  }
2700
2702
  else {