@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
package/dist/main.js CHANGED
@@ -1,13 +1,17 @@
1
1
  #!/usr/bin/env node
2
- import { writeSync } from "node:fs";
2
+ import { readFileSync, writeSync } from "node:fs";
3
3
  import { readFile } from "node:fs/promises";
4
+ import { homedir } from "node:os";
4
5
  import { resolve } from "node:path";
5
6
  import { createInterface } from "node:readline";
6
- import { AuthStorage, buildVirtualBundle, CliError, createLocalToolExecutionBackend, createSandboxToolExecutionBackend, getAuthPath, InstallCliError, loadConfig, loadRuntimeConfig, parseCheckpoint, parseCliArgs, parsePersonaString, printDebugInfo, printHelp, printInstallHelp, printUsageHelp, runInstallCommand, runListCommand, runLoginCommand, runLogoutCommand, runUsageCommand, ToolCatalog, UsageCliError, } from "./core/index.js";
7
+ import { AuthStorage, buildVirtualBundle, ChatRuntime, CliError, createDefaultCoreDeps, createLocalToolExecutionBackend, createSandboxToolExecutionBackend, getAuthPath, InstallCliError, loadConfig, loadRuntimeConfig, parseCheckpoint, parseCliArgs, parsePersonaString, printDebugInfo, printHelp, printInstallHelp, printUsageHelp, runInstallCommand, runListCommand, runLoginCommand, runLogoutCommand, runRpcServer, runUsageCommand, ToolCatalog, UsageCliError, } from "./core/index.js";
8
+ import { resolveAgentCwd } from "./core/utils/agent_environment.js";
9
+ import { buildProjectContextBlock, buildSkillsIndexBlock, findAgentsFilesInScopeDetailed, } from "./core/utils/context.js";
7
10
  import { ChatApp } from "./tui/index.js";
8
11
  import { detectTerminalAppearance } from "./tui/terminal_appearance.js";
9
12
  const cwd = process.cwd();
10
13
  const argv = process.argv.slice(2);
14
+ const isRpcSubcommand = argv[0] === "rpc";
11
15
  function registerTerminalExitCleanup() {
12
16
  if (!process.stdout.isTTY)
13
17
  return;
@@ -20,7 +24,9 @@ function registerTerminalExitCleanup() {
20
24
  }
21
25
  });
22
26
  }
23
- registerTerminalExitCleanup();
27
+ if (!isRpcSubcommand) {
28
+ registerTerminalExitCleanup();
29
+ }
24
30
  function printAuthHelp() {
25
31
  console.log([
26
32
  "usage:",
@@ -50,6 +56,109 @@ async function readPipedStdin() {
50
56
  }
51
57
  return data;
52
58
  }
59
+ function getEnabledSkillsForPersona(persona, discoveredSkills) {
60
+ const personaSkills = persona.skills;
61
+ if (personaSkills === "*") {
62
+ return discoveredSkills;
63
+ }
64
+ if (!personaSkills || personaSkills.length === 0) {
65
+ return [];
66
+ }
67
+ const byName = new Map();
68
+ for (const skill of discoveredSkills) {
69
+ byName.set(skill.name.toLowerCase(), skill);
70
+ }
71
+ const enabled = [];
72
+ for (const name of personaSkills) {
73
+ const skill = byName.get(name.trim().toLowerCase());
74
+ if (skill) {
75
+ enabled.push(skill);
76
+ }
77
+ }
78
+ return enabled;
79
+ }
80
+ async function runRpcMode(options) {
81
+ const sandboxBackend = options.cli.sandbox
82
+ ? await createSandboxBackend(options.config)
83
+ : undefined;
84
+ try {
85
+ const deps = createDefaultCoreDeps();
86
+ const runtimeCwd = deps.env.cwd();
87
+ const home = deps.env.home() || process.env.HOME || homedir();
88
+ const includeAgentContext = !options.cli.noAgentContextFiles;
89
+ let projectContextBlock;
90
+ if (includeAgentContext) {
91
+ const agentsContext = findAgentsFilesInScopeDetailed(runtimeCwd, home);
92
+ if (agentsContext.errors.length > 0) {
93
+ // eslint-disable-next-line no-console
94
+ console.error("config warnings:");
95
+ for (const warning of agentsContext.errors) {
96
+ // eslint-disable-next-line no-console
97
+ console.error(`- ${warning}`);
98
+ }
99
+ // eslint-disable-next-line no-console
100
+ console.error("");
101
+ }
102
+ projectContextBlock = buildProjectContextBlock({
103
+ cwd: runtimeCwd,
104
+ home,
105
+ agentsFiles: agentsContext.files,
106
+ readFile: (path) => readFileSync(path, "utf-8"),
107
+ });
108
+ }
109
+ const runtime = ChatRuntime.create({
110
+ persona: options.persona,
111
+ riskLevel: options.riskLevel,
112
+ toolRegistry: ToolCatalog.createRegistry(sandboxBackend?.backend ?? createLocalToolExecutionBackend()),
113
+ promptContext: {
114
+ cwd: resolveAgentCwd({
115
+ cwd: runtimeCwd,
116
+ sandboxEnabled: options.cli.sandbox,
117
+ sandboxConfig: options.config.sandbox,
118
+ }),
119
+ projectContextBlock,
120
+ sandboxEnabled: options.cli.sandbox,
121
+ sandboxEnvironmentInfo: options.config.sandbox?.environmentInfo,
122
+ skillsBlock: buildSkillsIndexBlock(getEnabledSkillsForPersona(options.persona, options.skills)),
123
+ },
124
+ environment: {
125
+ now: () => deps.clock.now(),
126
+ platform: () => deps.env.platform(),
127
+ nodeVersion: () => deps.env.nodeVersion(),
128
+ },
129
+ config: options.config,
130
+ deps,
131
+ });
132
+ for (const message of options.history ?? []) {
133
+ runtime.session.addMessage(message);
134
+ }
135
+ const abortController = new AbortController();
136
+ const requestShutdown = () => {
137
+ if (!abortController.signal.aborted) {
138
+ abortController.abort();
139
+ }
140
+ };
141
+ const onSigInt = () => requestShutdown();
142
+ const onSigTerm = () => requestShutdown();
143
+ process.on("SIGINT", onSigInt);
144
+ process.on("SIGTERM", onSigTerm);
145
+ try {
146
+ await runRpcServer({
147
+ runtime,
148
+ input: process.stdin,
149
+ output: process.stdout,
150
+ signal: abortController.signal,
151
+ });
152
+ }
153
+ finally {
154
+ process.off("SIGINT", onSigInt);
155
+ process.off("SIGTERM", onSigTerm);
156
+ }
157
+ }
158
+ finally {
159
+ await sandboxBackend?.dispose?.();
160
+ }
161
+ }
53
162
  // Load built-in and user content
54
163
  let personas;
55
164
  let prompts;
@@ -201,9 +310,10 @@ catch (err) {
201
310
  skills = virtualBundle.skills;
202
311
  themes = virtualBundle.themes;
203
312
  }
313
+ const cliArgv = isRpcSubcommand ? argv.slice(1) : argv;
204
314
  let cli;
205
315
  try {
206
- cli = parseCliArgs(process.argv.slice(2), personas);
316
+ cli = parseCliArgs(cliArgv, personas);
207
317
  }
208
318
  catch (err) {
209
319
  if (err instanceof CliError) {
@@ -220,6 +330,11 @@ if (cli.help) {
220
330
  printHelp(personas);
221
331
  process.exit(0);
222
332
  }
333
+ if (isRpcSubcommand && cli.caffeinated) {
334
+ // eslint-disable-next-line no-console
335
+ console.error("--caffeinated is only supported in TUI mode.");
336
+ process.exit(1);
337
+ }
223
338
  let checkpointPersonaId;
224
339
  let checkpointReasoning;
225
340
  let checkpointRiskLevel;
@@ -313,6 +428,25 @@ const initialPersona = initialPersonaId
313
428
  if (reasoningOverride !== undefined) {
314
429
  initialPersona.settings.reasoning = reasoningOverride;
315
430
  }
431
+ const effectiveRiskLevel = initialRiskLevel ?? "read-only";
432
+ if (isRpcSubcommand) {
433
+ try {
434
+ await runRpcMode({
435
+ cli,
436
+ config,
437
+ persona: initialPersona,
438
+ riskLevel: effectiveRiskLevel,
439
+ skills,
440
+ history: checkpointHistory,
441
+ });
442
+ process.exit(0);
443
+ }
444
+ catch (err) {
445
+ // eslint-disable-next-line no-console
446
+ console.error(err.message);
447
+ process.exit(1);
448
+ }
449
+ }
316
450
  const initialUserMessage = await readPipedStdin();
317
451
  const sandboxBackend = cli.sandbox ? await createSandboxBackend(config) : undefined;
318
452
  const terminalAppearance = await detectTerminalAppearance();
@@ -325,11 +459,12 @@ const app = new ChatApp({
325
459
  terminalAppearance,
326
460
  initialPersonaId,
327
461
  initialUserMessage,
328
- initialRiskLevel,
462
+ initialRiskLevel: effectiveRiskLevel,
329
463
  initialHistory: checkpointHistory,
330
464
  noAgentContextFiles: cli.noAgentContextFiles,
331
465
  config,
332
466
  sandboxEnabled: cli.sandbox,
467
+ caffeinated: cli.caffeinated,
333
468
  toolBackend: sandboxBackend?.backend,
334
469
  toolBackendDispose: sandboxBackend?.dispose,
335
470
  });
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { TauSdkClient, TauSdkClientOptions } from "./types.js";
2
+ export declare function createTauSdkClient(options?: TauSdkClientOptions): Promise<TauSdkClient>;
@@ -0,0 +1,409 @@
1
+ import { spawn as spawnProcess } from "node:child_process";
2
+ import { fileURLToPath } from "node:url";
3
+ import { RPC_ERROR_CODES, RPC_PROTOCOL_VERSION, } from "../core/modes/rpc_protocol.js";
4
+ import { TauProcessError, TauRpcResponseError, TauTransportError } from "./errors.js";
5
+ const DEFAULT_CONNECT_TIMEOUT_MS = 5_000;
6
+ const DEFAULT_CLOSE_TIMEOUT_MS = 2_000;
7
+ const DEFAULT_MAIN_SCRIPT_PATH = fileURLToPath(new URL("../main.js", import.meta.url));
8
+ class TauSdkClientImpl {
9
+ process;
10
+ eventListeners = new Set();
11
+ pendingRequests = new Map();
12
+ readyDeferred = createDeferred();
13
+ exitDeferred = createDeferred();
14
+ closeTimeoutMs;
15
+ readyValue;
16
+ stdoutBuffer = "";
17
+ stderrBuffer = "";
18
+ nextRequestId = 1;
19
+ closePromise;
20
+ shutdownPromise;
21
+ isClosed = false;
22
+ isExited = false;
23
+ fatalError;
24
+ constructor(process) {
25
+ this.process = process;
26
+ this.closeTimeoutMs = DEFAULT_CLOSE_TIMEOUT_MS;
27
+ this.process.stdout.setEncoding("utf8");
28
+ this.process.stderr.setEncoding("utf8");
29
+ this.process.stdout.on("data", this.handleStdoutData);
30
+ this.process.stderr.on("data", this.handleStderrData);
31
+ this.process.on("error", this.handleProcessError);
32
+ this.process.on("exit", this.handleProcessExit);
33
+ this.process.on("close", this.handleProcessClose);
34
+ }
35
+ get ready() {
36
+ if (!this.readyValue) {
37
+ throw new TauTransportError("tau sdk client is not connected");
38
+ }
39
+ return this.readyValue;
40
+ }
41
+ async connect(initializeParams, timeoutMs) {
42
+ const ready = await withTimeout(this.readyDeferred.promise, timeoutMs, new TauTransportError(`timed out waiting for rpc ready message after ${timeoutMs}ms`));
43
+ this.readyValue = ready;
44
+ await this.request("initialize", initializeParams);
45
+ }
46
+ onEvent(listener) {
47
+ this.eventListeners.add(listener);
48
+ return () => {
49
+ this.eventListeners.delete(listener);
50
+ };
51
+ }
52
+ submit(text, options = {}) {
53
+ return this.request("session.submit", {
54
+ text,
55
+ ...(options.historyEntryId === undefined ? {} : { historyEntryId: options.historyEntryId }),
56
+ });
57
+ }
58
+ interrupt() {
59
+ return this.request("session.interrupt", {});
60
+ }
61
+ snapshot() {
62
+ return this.request("session.snapshot", {});
63
+ }
64
+ reset() {
65
+ return this.request("session.reset", {});
66
+ }
67
+ async shutdown() {
68
+ if (this.shutdownPromise) {
69
+ return this.shutdownPromise;
70
+ }
71
+ if (this.isClosed) {
72
+ this.shutdownPromise = Promise.resolve({ shutdown: true });
73
+ return this.shutdownPromise;
74
+ }
75
+ this.shutdownPromise = (async () => {
76
+ try {
77
+ return await this.request("session.shutdown", {});
78
+ }
79
+ finally {
80
+ await this.close();
81
+ }
82
+ })();
83
+ return this.shutdownPromise;
84
+ }
85
+ async close() {
86
+ if (this.closePromise) {
87
+ return this.closePromise;
88
+ }
89
+ this.isClosed = true;
90
+ const closeError = new TauTransportError("tau sdk client was closed");
91
+ this.failPendingRequests(closeError);
92
+ this.rejectReadyIfPending(closeError);
93
+ this.eventListeners.clear();
94
+ this.process.stdout.off("data", this.handleStdoutData);
95
+ this.process.stderr.off("data", this.handleStderrData);
96
+ this.closePromise = (async () => {
97
+ if (!this.isExited) {
98
+ try {
99
+ this.process.stdin.end();
100
+ }
101
+ catch {
102
+ // ignore transport shutdown errors
103
+ }
104
+ try {
105
+ this.process.kill("SIGTERM");
106
+ }
107
+ catch {
108
+ // ignore transport shutdown errors
109
+ }
110
+ await Promise.race([
111
+ this.exitDeferred.promise,
112
+ delay(this.closeTimeoutMs).then(() => {
113
+ if (!this.isExited) {
114
+ try {
115
+ this.process.kill("SIGKILL");
116
+ }
117
+ catch {
118
+ // ignore
119
+ }
120
+ }
121
+ }),
122
+ ]);
123
+ }
124
+ this.process.off("error", this.handleProcessError);
125
+ this.process.off("exit", this.handleProcessExit);
126
+ this.process.off("close", this.handleProcessClose);
127
+ })();
128
+ return this.closePromise;
129
+ }
130
+ request(method, params) {
131
+ if (this.isClosed) {
132
+ return Promise.reject(new TauTransportError("tau sdk client is closed"));
133
+ }
134
+ if (this.fatalError) {
135
+ return Promise.reject(this.fatalError);
136
+ }
137
+ const requestId = this.nextRequestId++;
138
+ const payload = JSON.stringify({
139
+ version: RPC_PROTOCOL_VERSION,
140
+ type: "request",
141
+ id: requestId,
142
+ method,
143
+ params,
144
+ });
145
+ return new Promise((resolve, reject) => {
146
+ const pending = {
147
+ method,
148
+ requestId,
149
+ resolve: resolve,
150
+ reject,
151
+ };
152
+ this.pendingRequests.set(requestId, pending);
153
+ try {
154
+ this.process.stdin.write(`${payload}\n`, "utf8", (error) => {
155
+ if (!error) {
156
+ return;
157
+ }
158
+ if (this.pendingRequests.get(requestId) !== pending) {
159
+ return;
160
+ }
161
+ this.pendingRequests.delete(requestId);
162
+ reject(new TauTransportError("failed to write request to tau rpc process", { cause: error }));
163
+ });
164
+ }
165
+ catch (error) {
166
+ this.pendingRequests.delete(requestId);
167
+ reject(new TauTransportError("failed to write request to tau rpc process", { cause: error }));
168
+ }
169
+ });
170
+ }
171
+ handleStdoutData = (chunk) => {
172
+ this.stdoutBuffer += chunk.toString();
173
+ while (true) {
174
+ const nextLineIndex = this.stdoutBuffer.indexOf("\n");
175
+ if (nextLineIndex === -1) {
176
+ break;
177
+ }
178
+ const line = this.stdoutBuffer.slice(0, nextLineIndex).trim();
179
+ this.stdoutBuffer = this.stdoutBuffer.slice(nextLineIndex + 1);
180
+ if (!line) {
181
+ continue;
182
+ }
183
+ this.handleRpcLine(line);
184
+ }
185
+ };
186
+ handleStderrData = (chunk) => {
187
+ this.stderrBuffer += chunk.toString();
188
+ };
189
+ handleProcessError = (error) => {
190
+ this.failTransport(new TauProcessError("tau rpc process transport failure", {
191
+ stderr: this.stderrBuffer,
192
+ cause: error,
193
+ }));
194
+ };
195
+ handleProcessExit = (code, signal) => {
196
+ this.onProcessTerminated({ code, signal });
197
+ };
198
+ handleProcessClose = (code, signal) => {
199
+ this.onProcessTerminated({ code, signal });
200
+ };
201
+ onProcessTerminated(exit) {
202
+ if (!this.isExited) {
203
+ this.isExited = true;
204
+ this.exitDeferred.resolve(exit);
205
+ }
206
+ if (this.isClosed) {
207
+ return;
208
+ }
209
+ this.isClosed = true;
210
+ const message = [
211
+ "tau rpc process exited unexpectedly",
212
+ `code=${exit.code ?? "null"}`,
213
+ `signal=${exit.signal ?? "null"}`,
214
+ ].join(" ");
215
+ this.failTransport(new TauProcessError(message, {
216
+ exitCode: exit.code,
217
+ signal: exit.signal,
218
+ stderr: this.stderrBuffer,
219
+ }));
220
+ }
221
+ handleRpcLine(line) {
222
+ let message;
223
+ try {
224
+ message = JSON.parse(line);
225
+ }
226
+ catch (error) {
227
+ this.failTransport(new TauTransportError("received malformed JSON from tau rpc process", { cause: error }));
228
+ return;
229
+ }
230
+ if (!isRecord(message)) {
231
+ this.failTransport(new TauTransportError("received non-object rpc payload from tau process"));
232
+ return;
233
+ }
234
+ if (message.version !== RPC_PROTOCOL_VERSION) {
235
+ this.failTransport(new TauTransportError(`received unsupported rpc version from tau process: ${String(message.version)}`));
236
+ return;
237
+ }
238
+ if (message.type === "ready") {
239
+ if (typeof message.sessionId !== "string") {
240
+ this.failTransport(new TauTransportError("received invalid ready payload from tau process"));
241
+ return;
242
+ }
243
+ if (!Array.isArray(message.methods)) {
244
+ this.failTransport(new TauTransportError("received invalid ready payload from tau process"));
245
+ return;
246
+ }
247
+ if (!this.readyValue) {
248
+ const readyMessage = message;
249
+ this.readyValue = readyMessage;
250
+ this.readyDeferred.resolve(readyMessage);
251
+ }
252
+ return;
253
+ }
254
+ if (message.type === "event") {
255
+ if (!isRecord(message.event)) {
256
+ this.failTransport(new TauTransportError("received invalid event payload from tau process"));
257
+ return;
258
+ }
259
+ const event = message;
260
+ for (const listener of [...this.eventListeners]) {
261
+ try {
262
+ listener(event);
263
+ }
264
+ catch {
265
+ // ignore listener errors so transport handling can continue
266
+ }
267
+ }
268
+ return;
269
+ }
270
+ if (message.type === "response") {
271
+ this.handleResponse(message);
272
+ return;
273
+ }
274
+ this.failTransport(new TauTransportError(`received unsupported rpc message type: ${String(message.type)}`));
275
+ }
276
+ handleResponse(message) {
277
+ const requestId = parseRequestId(message.id);
278
+ if (!requestId.ok) {
279
+ this.failTransport(new TauTransportError("received response without a valid request id"));
280
+ return;
281
+ }
282
+ if (requestId.id === null) {
283
+ this.failTransport(new TauTransportError("received uncorrelated rpc error response"));
284
+ return;
285
+ }
286
+ const pending = this.pendingRequests.get(requestId.id);
287
+ if (!pending) {
288
+ return;
289
+ }
290
+ this.pendingRequests.delete(requestId.id);
291
+ if (message.ok === true) {
292
+ pending.resolve(message.result);
293
+ return;
294
+ }
295
+ if (!isRecord(message.error)) {
296
+ pending.reject(new TauTransportError("received malformed rpc error response"));
297
+ return;
298
+ }
299
+ const code = message.error.code;
300
+ const rpcMessage = message.error.message;
301
+ if (!isRpcErrorCode(code) || typeof rpcMessage !== "string") {
302
+ pending.reject(new TauTransportError("received malformed rpc error response"));
303
+ return;
304
+ }
305
+ pending.reject(new TauRpcResponseError({
306
+ requestId: requestId.id,
307
+ error: {
308
+ code,
309
+ message: rpcMessage,
310
+ ...("data" in message.error ? { data: message.error.data } : {}),
311
+ },
312
+ }));
313
+ }
314
+ failTransport(error) {
315
+ if (this.fatalError) {
316
+ return;
317
+ }
318
+ this.fatalError = error;
319
+ this.failPendingRequests(error);
320
+ this.rejectReadyIfPending(error);
321
+ }
322
+ rejectReadyIfPending(error) {
323
+ if (this.readyValue) {
324
+ return;
325
+ }
326
+ this.readyDeferred.reject(error);
327
+ }
328
+ failPendingRequests(error) {
329
+ for (const pending of this.pendingRequests.values()) {
330
+ pending.reject(error);
331
+ }
332
+ this.pendingRequests.clear();
333
+ }
334
+ }
335
+ export async function createTauSdkClient(options = {}) {
336
+ const spawn = options.spawn ?? spawnProcess;
337
+ const command = options.executable ?? process.execPath;
338
+ const args = buildProcessArgs(options);
339
+ const env = options.env ? { ...process.env, ...options.env } : process.env;
340
+ let childProcess;
341
+ try {
342
+ childProcess = spawn(command, args, {
343
+ cwd: options.cwd,
344
+ env,
345
+ stdio: "pipe",
346
+ });
347
+ }
348
+ catch (error) {
349
+ throw new TauProcessError("failed to spawn tau rpc process", { cause: error });
350
+ }
351
+ const client = new TauSdkClientImpl(childProcess);
352
+ try {
353
+ await client.connect(options.initialize ?? {}, options.connectTimeoutMs ?? DEFAULT_CONNECT_TIMEOUT_MS);
354
+ return client;
355
+ }
356
+ catch (error) {
357
+ await client.close();
358
+ throw error;
359
+ }
360
+ }
361
+ function buildProcessArgs(options) {
362
+ const scriptPath = options.scriptPath === undefined ? DEFAULT_MAIN_SCRIPT_PATH : options.scriptPath;
363
+ return [
364
+ ...(options.executableArgs ?? []),
365
+ ...(scriptPath ? [scriptPath] : []),
366
+ ...(options.scriptArgs ?? []),
367
+ "rpc",
368
+ ...(options.persona ? ["--persona", options.persona] : []),
369
+ ...(options.riskLevel ? ["--risk", options.riskLevel] : []),
370
+ ...(options.sandbox ? ["--sandbox"] : []),
371
+ ...(options.noAgentContextFiles ? ["--no-agent-context-files"] : []),
372
+ ...(options.rpcArgs ?? []),
373
+ ];
374
+ }
375
+ function createDeferred() {
376
+ let resolve;
377
+ let reject;
378
+ const promise = new Promise((res, rej) => {
379
+ resolve = res;
380
+ reject = rej;
381
+ });
382
+ return { promise, resolve, reject };
383
+ }
384
+ function withTimeout(promise, timeoutMs, timeoutError) {
385
+ const timeoutPromise = new Promise((_, reject) => {
386
+ const timeout = setTimeout(() => reject(timeoutError), timeoutMs);
387
+ timeout.unref?.();
388
+ });
389
+ return Promise.race([promise, timeoutPromise]);
390
+ }
391
+ function delay(timeoutMs) {
392
+ return new Promise((resolve) => {
393
+ const timeout = setTimeout(resolve, timeoutMs);
394
+ timeout.unref?.();
395
+ });
396
+ }
397
+ function parseRequestId(value) {
398
+ if (value === null || typeof value === "string" || typeof value === "number") {
399
+ return { ok: true, id: value };
400
+ }
401
+ return { ok: false };
402
+ }
403
+ function isRpcErrorCode(value) {
404
+ return typeof value === "string" && Object.values(RPC_ERROR_CODES).includes(value);
405
+ }
406
+ function isRecord(value) {
407
+ return typeof value === "object" && value !== null && !Array.isArray(value);
408
+ }
409
+ //# sourceMappingURL=client.js.map