@markusylisiurunen/tau 0.3.27 → 0.3.29
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 +10 -8
- package/dist/core/config/runtime.js +5 -1
- package/dist/core/config/runtime.js.map +1 -1
- package/dist/core/config/runtime_config_snapshot.js +5 -1
- package/dist/core/config/runtime_config_snapshot.js.map +1 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/diff_review/snapshot.js +3 -3
- package/dist/core/diff_review/snapshot.js.map +1 -1
- package/dist/core/index.js +0 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +5 -1
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/session/direct_bash.js +1 -0
- package/dist/core/session/direct_bash.js.map +1 -1
- package/dist/core/session/runner.js +1 -0
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/session/session_engine.js +48 -12
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/subagents/control_plane.js +0 -37
- package/dist/core/subagents/control_plane.js.map +1 -1
- package/dist/core/subagents/subagent_engine.js +5 -8
- package/dist/core/subagents/subagent_engine.js.map +1 -1
- package/dist/core/telegram/adapter.js +51 -1
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +0 -8
- package/dist/core/telegram/config.js.map +1 -1
- package/dist/core/telegram/session_manager.js +128 -49
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/telegram/workspace.js +18 -76
- package/dist/core/telegram/workspace.js.map +1 -1
- package/dist/core/tools/bash.js +16 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/catalog.js +1 -5
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/execution_backend.js +81 -153
- package/dist/core/tools/execution_backend.js.map +1 -1
- package/dist/core/tools/registry.js +0 -3
- package/dist/core/tools/registry.js.map +1 -1
- package/dist/core/tools/spawn_agent.js +1 -1
- package/dist/core/tools/spawn_agent.js.map +1 -1
- package/dist/core/tools/terminate_agent.js +5 -11
- package/dist/core/tools/terminate_agent.js.map +1 -1
- package/dist/core/tools/tool_names.js +0 -8
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/tools/wait_for_agents.js +3 -11
- package/dist/core/tools/wait_for_agents.js.map +1 -1
- package/dist/core/utils/compact.js +53 -11
- package/dist/core/utils/compact.js.map +1 -1
- package/dist/core/utils/project_files.js +14 -1
- package/dist/core/utils/project_files.js.map +1 -1
- package/dist/core/utils/user_metadata.js +14 -0
- package/dist/core/utils/user_metadata.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js +155 -112
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js +109 -91
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/dist/execution/sandbox_tool_helpers.js +0 -25
- package/dist/execution/sandbox_tool_helpers.js.map +1 -1
- package/dist/execution/tool_backend_execution_environment.js +4 -1
- package/dist/execution/tool_backend_execution_environment.js.map +1 -1
- package/dist/host/local_session_host.js +68 -53
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/host/session_host.js +5 -0
- package/dist/host/session_host.js.map +1 -1
- package/dist/host/session_protocol_handler.js +108 -103
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/protocol/index.d.ts +2 -2
- package/dist/protocol/index.js +1 -1
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/session_protocol.d.ts +21 -2
- package/dist/protocol/session_protocol.js +114 -28
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/session.js +51 -2
- package/dist/sdk/session.js.map +1 -1
- package/dist/sdk/types.d.ts +5 -0
- package/dist/tui/session_chat_controller.js +5 -50
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/session_tool_execution_backend.js +76 -98
- package/dist/tui/session_tool_execution_backend.js.map +1 -1
- package/dist/tui/ui/subagent_panel.js +0 -13
- package/dist/tui/ui/subagent_panel.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/tools/emit_output.js +0 -58
- package/dist/core/tools/emit_output.js.map +0 -1
- package/dist/core/tools/grep.js +0 -250
- package/dist/core/tools/grep.js.map +0 -1
- package/dist/core/tools/list.js +0 -131
- package/dist/core/tools/list.js.map +0 -1
- package/dist/core/tools/read.js +0 -171
- package/dist/core/tools/read.js.map +0 -1
- package/dist/tui/ui/restricted_execution.js +0 -203
- package/dist/tui/ui/restricted_execution.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { AssistantMessage, Message, TextContent, ThinkingContent, Tool, ToolCall } from "@earendil-works/pi-ai";
|
|
2
|
-
export declare const SESSION_PROTOCOL_VERSION:
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const SESSION_PROTOCOL_VERSION: 3;
|
|
3
|
+
export declare const SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES: number;
|
|
4
|
+
export declare const SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES: number;
|
|
5
|
+
export declare const SESSION_PROTOCOL_METHODS: readonly ["initialize", "session.create", "session.list", "session.observe", "session.unobserve", "session.record", "session.submit", "session.queue", "session.steer", "session.cancelPendingMessages", "session.retry", "session.exec", "session.cancelExec", "session.sample", "session.interrupt", "session.snapshot", "session.setReasoning", "session.setPersona", "session.resolvePrompt", "session.autocompletePaths", "session.reload", "session.compact", "session.prune", "session.rewind", "session.terminateSubagent", "session.ephemeral.create", "session.ephemeral.submit", "session.ephemeral.close", "session.clientTool.ack", "session.clientTool.result"];
|
|
4
6
|
export type SessionProtocolMethod = (typeof SESSION_PROTOCOL_METHODS)[number];
|
|
5
7
|
export declare const SESSION_PROTOCOL_ERROR_CODES: {
|
|
6
8
|
readonly parseError: "parse_error";
|
|
@@ -70,9 +72,17 @@ export type SessionProtocolRecordParams = SessionProtocolSessionIdParams & {
|
|
|
70
72
|
};
|
|
71
73
|
export type SessionProtocolRetryParams = SessionProtocolSessionIdParams;
|
|
72
74
|
export type SessionProtocolExecParams = SessionProtocolSessionIdParams & {
|
|
75
|
+
execId: string;
|
|
73
76
|
command: string;
|
|
77
|
+
args?: string[];
|
|
78
|
+
env?: Record<string, string>;
|
|
79
|
+
stdinBase64?: string;
|
|
74
80
|
cwd?: string;
|
|
75
81
|
timeoutMs?: number;
|
|
82
|
+
maxCaptureBytes?: number;
|
|
83
|
+
};
|
|
84
|
+
export type SessionProtocolCancelExecParams = SessionProtocolSessionIdParams & {
|
|
85
|
+
execId: string;
|
|
76
86
|
};
|
|
77
87
|
export type SessionProtocolSampleContext = {
|
|
78
88
|
systemPrompt: string;
|
|
@@ -159,6 +169,7 @@ export type SessionProtocolParamsByMethod = {
|
|
|
159
169
|
"session.cancelPendingMessages": SessionProtocolCancelPendingMessagesParams;
|
|
160
170
|
"session.retry": SessionProtocolRetryParams;
|
|
161
171
|
"session.exec": SessionProtocolExecParams;
|
|
172
|
+
"session.cancelExec": SessionProtocolCancelExecParams;
|
|
162
173
|
"session.sample": SessionProtocolSampleParams;
|
|
163
174
|
"session.interrupt": SessionProtocolSessionIdParams;
|
|
164
175
|
"session.snapshot": SessionProtocolSessionIdParams;
|
|
@@ -236,6 +247,12 @@ export type SessionProtocolExecResult = {
|
|
|
236
247
|
stderr: string;
|
|
237
248
|
exitCode: number | null;
|
|
238
249
|
truncated: boolean;
|
|
250
|
+
timedOut: boolean;
|
|
251
|
+
aborted: boolean;
|
|
252
|
+
closeSignal: string | null;
|
|
253
|
+
};
|
|
254
|
+
export type SessionProtocolCancelExecResult = {
|
|
255
|
+
cancelled: boolean;
|
|
239
256
|
};
|
|
240
257
|
export type SessionProtocolSampleResult = {
|
|
241
258
|
message: AssistantMessage;
|
|
@@ -550,6 +567,7 @@ export type SessionProtocolResultByMethod = {
|
|
|
550
567
|
"session.cancelPendingMessages": SessionProtocolCancelPendingMessagesResult;
|
|
551
568
|
"session.retry": SessionProtocolRetryResult;
|
|
552
569
|
"session.exec": SessionProtocolExecResult;
|
|
570
|
+
"session.cancelExec": SessionProtocolCancelExecResult;
|
|
553
571
|
"session.sample": SessionProtocolSampleResult;
|
|
554
572
|
"session.interrupt": SessionProtocolInterruptResult;
|
|
555
573
|
"session.snapshot": SessionProtocolSnapshot;
|
|
@@ -797,6 +815,7 @@ export declare function validateSessionProtocolParams(method: "session.steer", p
|
|
|
797
815
|
export declare function validateSessionProtocolParams(method: "session.cancelPendingMessages", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolCancelPendingMessagesParams>;
|
|
798
816
|
export declare function validateSessionProtocolParams(method: "session.retry", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolRetryParams>;
|
|
799
817
|
export declare function validateSessionProtocolParams(method: "session.exec", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolExecParams>;
|
|
818
|
+
export declare function validateSessionProtocolParams(method: "session.cancelExec", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolCancelExecParams>;
|
|
800
819
|
export declare function validateSessionProtocolParams(method: "session.sample", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolSampleParams>;
|
|
801
820
|
export declare function validateSessionProtocolParams(method: "session.interrupt", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolSessionIdParams>;
|
|
802
821
|
export declare function validateSessionProtocolParams(method: "session.snapshot", params: unknown): SessionProtocolParamsValidationResult<SessionProtocolSessionIdParams>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export const SESSION_PROTOCOL_VERSION =
|
|
2
|
+
export const SESSION_PROTOCOL_VERSION = 3;
|
|
3
|
+
export const SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES = 24 * 1024 * 1024;
|
|
4
|
+
export const SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES = 16 * 1024 * 1024;
|
|
3
5
|
export const SESSION_PROTOCOL_METHODS = [
|
|
4
6
|
"initialize",
|
|
5
7
|
"session.create",
|
|
@@ -13,6 +15,7 @@ export const SESSION_PROTOCOL_METHODS = [
|
|
|
13
15
|
"session.cancelPendingMessages",
|
|
14
16
|
"session.retry",
|
|
15
17
|
"session.exec",
|
|
18
|
+
"session.cancelExec",
|
|
16
19
|
"session.sample",
|
|
17
20
|
"session.interrupt",
|
|
18
21
|
"session.snapshot",
|
|
@@ -83,6 +86,47 @@ const nonEmptyStringSchema = z
|
|
|
83
86
|
.refine((value) => value.trim().length > 0);
|
|
84
87
|
const sessionProtocolRequestIdSchema = nonEmptyStringSchema;
|
|
85
88
|
const nullableSessionProtocolRequestIdSchema = sessionProtocolRequestIdSchema.nullable();
|
|
89
|
+
const absolutePathSchema = nonEmptyStringSchema.refine((value) => value.startsWith("/"));
|
|
90
|
+
const environmentVariableNameSchema = z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/);
|
|
91
|
+
const environmentVariableValueSchema = z.string().refine((value) => !value.includes("\0"));
|
|
92
|
+
const environmentVariablesSchema = z
|
|
93
|
+
.record(environmentVariableNameSchema, environmentVariableValueSchema)
|
|
94
|
+
.refine((value) => !("HOME" in value), "HOME is controlled by the execution environment");
|
|
95
|
+
const processArgumentsSchema = z
|
|
96
|
+
.array(z.string())
|
|
97
|
+
.refine((values) => values.every((value) => !value.includes("\0")));
|
|
98
|
+
const nonEmptyProcessStringSchema = nonEmptyStringSchema.refine((value) => !value.includes("\0"));
|
|
99
|
+
const base64Schema = z.string().refine(isValidBase64, "must be valid base64");
|
|
100
|
+
const boundedExecStdinBase64Schema = base64Schema
|
|
101
|
+
.max(4 * Math.ceil(SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES / 3))
|
|
102
|
+
.refine((value) => decodedBase64ByteLength(value) <= SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES, "decoded content exceeds maximum size");
|
|
103
|
+
function isValidBase64(value) {
|
|
104
|
+
if (value.length % 4 !== 0)
|
|
105
|
+
return false;
|
|
106
|
+
const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
|
|
107
|
+
const contentLength = value.length - padding;
|
|
108
|
+
for (let index = 0; index < contentLength; index += 1) {
|
|
109
|
+
const code = value.charCodeAt(index);
|
|
110
|
+
const valid = (code >= 65 && code <= 90) ||
|
|
111
|
+
(code >= 97 && code <= 122) ||
|
|
112
|
+
(code >= 48 && code <= 57) ||
|
|
113
|
+
code === 43 ||
|
|
114
|
+
code === 47;
|
|
115
|
+
if (!valid)
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
for (let index = contentLength; index < value.length; index += 1) {
|
|
119
|
+
if (value.charCodeAt(index) !== 61)
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
function decodedBase64ByteLength(value) {
|
|
125
|
+
if (!value)
|
|
126
|
+
return 0;
|
|
127
|
+
const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
|
|
128
|
+
return (value.length * 3) / 4 - padding;
|
|
129
|
+
}
|
|
86
130
|
const modelTextContentSchema = z
|
|
87
131
|
.object({
|
|
88
132
|
type: z.literal("text"),
|
|
@@ -306,9 +350,25 @@ const sessionProtocolRecordParamsSchema = sessionProtocolUserMessageParamsSchema
|
|
|
306
350
|
const sessionProtocolExecParamsSchema = z
|
|
307
351
|
.object({
|
|
308
352
|
sessionId: nonEmptyStringSchema,
|
|
309
|
-
|
|
310
|
-
|
|
353
|
+
execId: nonEmptyStringSchema,
|
|
354
|
+
command: nonEmptyProcessStringSchema,
|
|
355
|
+
args: processArgumentsSchema.optional(),
|
|
356
|
+
env: environmentVariablesSchema.optional(),
|
|
357
|
+
stdinBase64: boundedExecStdinBase64Schema.optional(),
|
|
358
|
+
cwd: nonEmptyProcessStringSchema.optional(),
|
|
311
359
|
timeoutMs: z.number().int().positive().optional(),
|
|
360
|
+
maxCaptureBytes: z
|
|
361
|
+
.number()
|
|
362
|
+
.int()
|
|
363
|
+
.positive()
|
|
364
|
+
.max(SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES)
|
|
365
|
+
.optional(),
|
|
366
|
+
})
|
|
367
|
+
.strip();
|
|
368
|
+
const sessionProtocolCancelExecParamsSchema = z
|
|
369
|
+
.object({
|
|
370
|
+
sessionId: nonEmptyStringSchema,
|
|
371
|
+
execId: nonEmptyStringSchema,
|
|
312
372
|
})
|
|
313
373
|
.strip();
|
|
314
374
|
const sessionProtocolReasoningEffortSchema = z.enum([
|
|
@@ -456,10 +516,6 @@ const sessionProtocolClientToolResultParamsSchema = z.discriminatedUnion("ok", [
|
|
|
456
516
|
})
|
|
457
517
|
.strip(),
|
|
458
518
|
]);
|
|
459
|
-
const absolutePathSchema = nonEmptyStringSchema.refine((value) => value.startsWith("/"));
|
|
460
|
-
const environmentVariableNameSchema = z.string().regex(/^[A-Za-z_][A-Za-z0-9_]*$/);
|
|
461
|
-
const environmentVariableValueSchema = z.string().refine((value) => !value.includes("\0"));
|
|
462
|
-
const environmentVariablesSchema = z.record(environmentVariableNameSchema, environmentVariableValueSchema);
|
|
463
519
|
const sessionProtocolLocalExecutionEnvironmentInputSchema = z
|
|
464
520
|
.object({
|
|
465
521
|
kind: z.literal("local"),
|
|
@@ -1257,6 +1313,14 @@ const sessionProtocolExecResultSchema = z
|
|
|
1257
1313
|
stderr: z.string(),
|
|
1258
1314
|
exitCode: z.number().int().nullable(),
|
|
1259
1315
|
truncated: z.boolean(),
|
|
1316
|
+
timedOut: z.boolean(),
|
|
1317
|
+
aborted: z.boolean(),
|
|
1318
|
+
closeSignal: z.string().nullable(),
|
|
1319
|
+
})
|
|
1320
|
+
.strip();
|
|
1321
|
+
const sessionProtocolCancelExecResultSchema = z
|
|
1322
|
+
.object({
|
|
1323
|
+
cancelled: z.boolean(),
|
|
1260
1324
|
})
|
|
1261
1325
|
.strip();
|
|
1262
1326
|
const sessionProtocolSampleResultSchema = z
|
|
@@ -1868,6 +1932,8 @@ export function validateSessionProtocolParams(method, params) {
|
|
|
1868
1932
|
return validateUserMessageParams(method, params);
|
|
1869
1933
|
case "session.exec":
|
|
1870
1934
|
return validateExecParams(params);
|
|
1935
|
+
case "session.cancelExec":
|
|
1936
|
+
return validateCancelExecParams(params);
|
|
1871
1937
|
case "session.sample":
|
|
1872
1938
|
return validateSampleParams(params);
|
|
1873
1939
|
case "session.list":
|
|
@@ -1959,6 +2025,8 @@ export function validateSessionProtocolResult(method, result) {
|
|
|
1959
2025
|
return validateResult(method, result, sessionProtocolRetryResultSchema);
|
|
1960
2026
|
case "session.exec":
|
|
1961
2027
|
return validateResult(method, result, sessionProtocolExecResultSchema);
|
|
2028
|
+
case "session.cancelExec":
|
|
2029
|
+
return validateResult(method, result, sessionProtocolCancelExecResultSchema);
|
|
1962
2030
|
case "session.sample":
|
|
1963
2031
|
return validateResult(method, result, sessionProtocolSampleResultSchema);
|
|
1964
2032
|
case "session.interrupt":
|
|
@@ -2064,24 +2132,40 @@ function validateExecParams(params) {
|
|
|
2064
2132
|
? "session.exec params must be an object"
|
|
2065
2133
|
: hasIssue(parsed.error, ["sessionId"])
|
|
2066
2134
|
? "session.exec params.sessionId must be a non-empty string"
|
|
2067
|
-
: hasIssue(parsed.error, ["
|
|
2068
|
-
? "session.exec params.
|
|
2069
|
-
: hasIssue(parsed.error, ["
|
|
2070
|
-
? "session.exec params.
|
|
2071
|
-
: hasIssue(parsed.error, ["
|
|
2072
|
-
? "session.exec params.
|
|
2073
|
-
:
|
|
2135
|
+
: hasIssue(parsed.error, ["execId"])
|
|
2136
|
+
? "session.exec params.execId must be a non-empty string"
|
|
2137
|
+
: hasIssue(parsed.error, ["command"])
|
|
2138
|
+
? "session.exec params.command must be a non-empty string without null bytes"
|
|
2139
|
+
: hasIssue(parsed.error, ["args"])
|
|
2140
|
+
? "session.exec params.args must be an array of strings without null bytes when provided"
|
|
2141
|
+
: hasIssue(parsed.error, ["env"])
|
|
2142
|
+
? "session.exec params.env must use valid environment variable names and string values without null bytes and cannot override HOME"
|
|
2143
|
+
: hasIssue(parsed.error, ["stdinBase64"])
|
|
2144
|
+
? `session.exec params.stdinBase64 must be valid base64 encoding at most ${SESSION_PROTOCOL_MAX_EXEC_STDIN_BYTES} bytes`
|
|
2145
|
+
: hasIssue(parsed.error, ["cwd"])
|
|
2146
|
+
? "session.exec params.cwd must be a non-empty string without null bytes when provided"
|
|
2147
|
+
: hasIssue(parsed.error, ["timeoutMs"])
|
|
2148
|
+
? "session.exec params.timeoutMs must be a positive integer when provided"
|
|
2149
|
+
: hasIssue(parsed.error, ["maxCaptureBytes"])
|
|
2150
|
+
? `session.exec params.maxCaptureBytes must be a positive integer no greater than ${SESSION_PROTOCOL_MAX_EXEC_CAPTURE_BYTES} when provided`
|
|
2151
|
+
: `session.exec params are invalid: ${formatZodError(parsed.error)}`;
|
|
2074
2152
|
return invalidParams(message);
|
|
2075
2153
|
}
|
|
2076
|
-
return {
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2154
|
+
return { ok: true, value: parsed.data };
|
|
2155
|
+
}
|
|
2156
|
+
function validateCancelExecParams(params) {
|
|
2157
|
+
const parsed = sessionProtocolCancelExecParamsSchema.safeParse(params);
|
|
2158
|
+
if (!parsed.success) {
|
|
2159
|
+
const message = hasIssue(parsed.error, [], "invalid_type")
|
|
2160
|
+
? "session.cancelExec params must be an object"
|
|
2161
|
+
: hasIssue(parsed.error, ["sessionId"])
|
|
2162
|
+
? "session.cancelExec params.sessionId must be a non-empty string"
|
|
2163
|
+
: hasIssue(parsed.error, ["execId"])
|
|
2164
|
+
? "session.cancelExec params.execId must be a non-empty string"
|
|
2165
|
+
: `session.cancelExec params are invalid: ${formatZodError(parsed.error)}`;
|
|
2166
|
+
return invalidParams(message);
|
|
2167
|
+
}
|
|
2168
|
+
return { ok: true, value: parsed.data };
|
|
2085
2169
|
}
|
|
2086
2170
|
function validateSampleParams(params) {
|
|
2087
2171
|
const parsed = sessionProtocolSampleParamsSchema.safeParse(params);
|
|
@@ -2371,11 +2455,13 @@ function validateCreateParams(params) {
|
|
|
2371
2455
|
? "session.create params.executionEnvironment.kind must be 'local', 'cloudflare-sandbox', or 'fly-sprite'"
|
|
2372
2456
|
: hasIssue(parsed.error, ["executionEnvironment", "cwd"])
|
|
2373
2457
|
? "session.create params.executionEnvironment.cwd must be an absolute path"
|
|
2374
|
-
: hasIssue(parsed.error, ["
|
|
2375
|
-
? "session.create params.
|
|
2376
|
-
: hasIssue(parsed.error, ["
|
|
2377
|
-
? "session.create params.
|
|
2378
|
-
:
|
|
2458
|
+
: hasIssue(parsed.error, ["executionEnvironment", "env"])
|
|
2459
|
+
? "session.create params.executionEnvironment.env must use valid environment variable names and string values without null bytes and cannot override HOME"
|
|
2460
|
+
: hasIssue(parsed.error, ["personaId"])
|
|
2461
|
+
? "session.create params.personaId must be a non-empty string"
|
|
2462
|
+
: hasIssue(parsed.error, ["reasoning"])
|
|
2463
|
+
? "session.create params.reasoning must be one of none, minimal, low, medium, high, xhigh, or max"
|
|
2464
|
+
: `session.create params are invalid: ${formatZodError(parsed.error)}`;
|
|
2379
2465
|
return invalidParams(message);
|
|
2380
2466
|
}
|
|
2381
2467
|
return {
|