@markusylisiurunen/tau 0.3.97 → 0.3.98
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/dist/code_mode/runtime.js +1 -1
- package/dist/code_mode/runtime.js.map +1 -1
- package/dist/core/code_mode/agents.js +9 -1
- package/dist/core/code_mode/agents.js.map +1 -1
- package/dist/core/code_mode/models.js +69 -21
- package/dist/core/code_mode/models.js.map +1 -1
- package/dist/core/config/content_loader.js +27 -1
- package/dist/core/config/content_loader.js.map +1 -1
- package/dist/core/config/schema.js +9 -3
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/models/model_id.js +12 -0
- package/dist/core/models/model_id.js.map +1 -0
- package/dist/core/models/openrouter.js +63 -52
- package/dist/core/models/openrouter.js.map +1 -1
- package/dist/core/models/openrouter_budget.js +54 -0
- package/dist/core/models/openrouter_budget.js.map +1 -0
- package/dist/core/models/openrouter_media.js +20 -17
- package/dist/core/models/openrouter_media.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +25 -3
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/session/auto_compaction_threshold.js.map +1 -1
- package/dist/core/static/code_mode/sandbox_runner.mjs +1 -1
- package/dist/core/static/tau_docs/code-mode.md +2 -2
- package/dist/core/static/tau_docs/node-sdk.md +1 -1
- package/dist/core/static/tau_docs/openrouter.md +11 -10
- package/dist/core/static/tau_docs/personas.md +15 -0
- package/dist/core/static/tau_docs/session-protocol-methods.md +3 -3
- package/dist/core/static/tau_docs/session-protocol.md +2 -2
- package/dist/core/static/tau_docs/sessions.md +10 -3
- package/dist/core/static/tau_docs/subagents.md +10 -0
- package/dist/core/static/tau_docs/telegram.md +35 -5
- package/dist/core/static/tau_docs/tui.md +2 -2
- package/dist/core/subagents/launch_model.js +4 -7
- package/dist/core/subagents/launch_model.js.map +1 -1
- package/dist/core/subagents/native_subagent_runtime.js +1 -1
- package/dist/core/subagents/native_subagent_runtime.js.map +1 -1
- package/dist/core/subagents/registry.js.map +1 -1
- package/dist/core/telegram/adapter.js +46 -29
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +9 -1
- package/dist/core/telegram/config.js.map +1 -1
- package/dist/core/telegram/local_session_client.js +4 -1
- package/dist/core/telegram/local_session_client.js.map +1 -1
- package/dist/core/telegram/runtime.js +8 -0
- package/dist/core/telegram/runtime.js.map +1 -1
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/tool/openrouter.js +1 -1
- package/dist/core/tool/openrouter.js.map +1 -1
- package/dist/core/tools/catalog.js +1 -0
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/code_mode_worker.js +2 -2
- package/dist/core/tools/code_mode_worker.js.map +1 -1
- package/dist/core/utils/model_notices.js +0 -19
- package/dist/core/utils/model_notices.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/host/hosted_ephemeral_agent_session.js +1 -1
- package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
- package/dist/host/local_session_host.js +3 -2
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/sdk/local_client.d.ts +2 -0
- package/dist/sdk/local_client.js +1 -0
- package/dist/sdk/local_client.js.map +1 -1
- package/dist/tui/session_chat_controller.js +4 -1
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getApiKeyForProvider } from "../config/schema.js";
|
|
3
3
|
import { parseMediaJson, readMediaResponse } from "../utils/media_validation.js";
|
|
4
|
+
import { withOpenRouterBudget } from "./openrouter_budget.js";
|
|
4
5
|
import { decisionResponse, parseDecisionInput, validateDecisionAnswers, } from "./openrouter_decisions.js";
|
|
5
|
-
import { decodeOpenRouterText, OPENROUTER_REQUEST_BYTES, OPENROUTER_TEXT_BYTES, prepareOpenRouterAttachments, } from "./openrouter_media.js";
|
|
6
|
+
import { decodeOpenRouterText, OPENROUTER_REQUEST_BYTES, OPENROUTER_RESPONSE_BYTES, OPENROUTER_TEXT_BYTES, prepareOpenRouterAttachments, } from "./openrouter_media.js";
|
|
6
7
|
export const openRouterModels = {
|
|
7
8
|
decisions: [
|
|
8
9
|
{
|
|
@@ -116,7 +117,7 @@ function requestFailure(status) {
|
|
|
116
117
|
async function requestOpenRouter(operation, body, options) {
|
|
117
118
|
const payload = JSON.stringify(body);
|
|
118
119
|
if (Buffer.byteLength(payload) > OPENROUTER_REQUEST_BYTES)
|
|
119
|
-
throw new Error("encoded request exceeds
|
|
120
|
+
throw new Error("encoded request exceeds 512 MiB; reduce text or attachments");
|
|
120
121
|
const key = (options.env ?? process.env).OPENROUTER_API_KEY?.trim() ||
|
|
121
122
|
getApiKeyForProvider(options.config, "openrouter");
|
|
122
123
|
if (!key)
|
|
@@ -134,7 +135,7 @@ async function requestOpenRouter(operation, body, options) {
|
|
|
134
135
|
await response.body?.cancel();
|
|
135
136
|
throw requestFailure(response.status);
|
|
136
137
|
}
|
|
137
|
-
const value = parseMediaJson(decodeOpenRouterText(await readMediaResponse(response,
|
|
138
|
+
const value = parseMediaJson(decodeOpenRouterText(await readMediaResponse(response, OPENROUTER_RESPONSE_BYTES)), "OpenRouter response");
|
|
138
139
|
if (value && typeof value === "object" && "error" in value) {
|
|
139
140
|
const error = z.object({ code: z.number().int() }).safeParse(value.error);
|
|
140
141
|
if (error.success)
|
|
@@ -149,16 +150,19 @@ export async function requestOpenRouterDecisions({ model, value, attachments },
|
|
|
149
150
|
if (attachments.some((item) => item.kind !== "image" || !spec.inputs.includes(item.kind)))
|
|
150
151
|
throw new Error("unsupported attachment modality for the selected decision model");
|
|
151
152
|
const input = parseDecisionInput(model, value);
|
|
152
|
-
|
|
153
|
+
const textBytes = Buffer.byteLength(JSON.stringify(input));
|
|
154
|
+
if (textBytes > OPENROUTER_TEXT_BYTES)
|
|
153
155
|
throw new Error("decisions input exceeds its byte limit");
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
156
|
+
return await withOpenRouterBudget(attachments, textBytes, options.signal, async () => {
|
|
157
|
+
const media = await prepareOpenRouterAttachments(attachments, options.mediaAdapter, options.signal, model === "typesafe/jev-1.14" ? "jev" : "standard");
|
|
158
|
+
const text = typeof input.state === "string" ? input.state : JSON.stringify(input.state);
|
|
159
|
+
const state = media.length ? [text, ...media] : text;
|
|
160
|
+
const result = decisionResponse.safeParse(await requestOpenRouter("decisions", { model, state, questions: input.questions }, options));
|
|
161
|
+
if (!result.success)
|
|
162
|
+
throw new Error("OpenRouter returned an invalid decisions response");
|
|
163
|
+
validateDecisionAnswers(input, result.data);
|
|
164
|
+
return { requested_model: model, ...result.data };
|
|
165
|
+
});
|
|
162
166
|
}
|
|
163
167
|
export async function requestOpenRouterChat(input, options) {
|
|
164
168
|
options.signal.throwIfAborted();
|
|
@@ -168,46 +172,53 @@ export async function requestOpenRouterChat(input, options) {
|
|
|
168
172
|
if (input.attachments.some((attachment) => !spec.inputs.includes(attachment.kind)))
|
|
169
173
|
throw new Error("unsupported attachment modality for the selected model");
|
|
170
174
|
for (const value of [input.prompt, ...(input.system === undefined ? [] : [input.system])]) {
|
|
171
|
-
if (!value.trim()
|
|
172
|
-
throw new Error("prompt and system must be nonblank
|
|
175
|
+
if (!value.trim())
|
|
176
|
+
throw new Error("prompt and system must be nonblank");
|
|
173
177
|
}
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
messages
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
...metadata
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
178
|
+
const textBytes = Buffer.byteLength(input.prompt) +
|
|
179
|
+
Buffer.byteLength(input.system ?? "") +
|
|
180
|
+
(input.schema === undefined ? 0 : Buffer.byteLength(JSON.stringify(input.schema)));
|
|
181
|
+
if (textBytes > OPENROUTER_TEXT_BYTES)
|
|
182
|
+
throw new Error("combined model text exceeds 20 MiB");
|
|
183
|
+
return await withOpenRouterBudget(input.attachments, textBytes, options.signal, async () => {
|
|
184
|
+
const media = await prepareOpenRouterAttachments(input.attachments, options.mediaAdapter, options.signal);
|
|
185
|
+
const messages = [];
|
|
186
|
+
if (input.system !== undefined)
|
|
187
|
+
messages.push({ role: "system", content: input.system });
|
|
188
|
+
messages.push({ role: "user", content: [{ type: "text", text: input.prompt }, ...media] });
|
|
189
|
+
const result = chatResponse.safeParse(await requestOpenRouter("chat", {
|
|
190
|
+
model: input.model,
|
|
191
|
+
messages,
|
|
192
|
+
stream: false,
|
|
193
|
+
...(input.schema === undefined
|
|
194
|
+
? {}
|
|
195
|
+
: {
|
|
196
|
+
response_format: {
|
|
197
|
+
type: "json_schema",
|
|
198
|
+
json_schema: { name: "result", strict: true, schema: input.schema },
|
|
199
|
+
},
|
|
200
|
+
}),
|
|
201
|
+
...(input.reasoning === undefined ? {} : { reasoning: { effort: input.reasoning } }),
|
|
202
|
+
provider: { require_parameters: true },
|
|
203
|
+
}, options));
|
|
204
|
+
if (!result.success)
|
|
205
|
+
throw new Error("OpenRouter returned an invalid or unsupported chat response");
|
|
206
|
+
const { choices, ...metadata } = result.data;
|
|
207
|
+
const { message, finish_reason, native_finish_reason } = choices[0];
|
|
208
|
+
if (finish_reason === "stop" && !message.content?.trim() && !message.refusal)
|
|
209
|
+
throw new Error("OpenRouter returned no answer or refusal");
|
|
210
|
+
return {
|
|
211
|
+
requested_model: input.model,
|
|
212
|
+
...metadata,
|
|
213
|
+
answer: input.schema === undefined
|
|
214
|
+
? message.content
|
|
215
|
+
: finish_reason === "stop" && !message.refusal
|
|
216
|
+
? parseMediaJson(message.content, "OpenRouter structured answer")
|
|
217
|
+
: null,
|
|
218
|
+
finish_reason,
|
|
219
|
+
...(native_finish_reason === undefined ? {} : { native_finish_reason }),
|
|
220
|
+
...(message.refusal === undefined ? {} : { refusal: message.refusal }),
|
|
221
|
+
};
|
|
222
|
+
});
|
|
212
223
|
}
|
|
213
224
|
//# sourceMappingURL=openrouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/core/models/openrouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/core/models/openrouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { OPENROUTER_IMAGE_BYTES, OPENROUTER_MEDIA_BYTES, OPENROUTER_REQUEST_BYTES, } from "./openrouter_media.js";
|
|
2
|
+
const MEMORY_BUDGET_BYTES = 4 * 1024 * 1024 * 1024;
|
|
3
|
+
let reservedBytes = 0;
|
|
4
|
+
const waiters = [];
|
|
5
|
+
export async function withOpenRouterBudget(attachments, textBytes, signal, run) {
|
|
6
|
+
const encodedBytes = Math.min(OPENROUTER_REQUEST_BYTES, textBytes +
|
|
7
|
+
attachments.reduce((total, attachment) => {
|
|
8
|
+
const bytes = attachment.kind === "image" ? OPENROUTER_IMAGE_BYTES : OPENROUTER_MEDIA_BYTES;
|
|
9
|
+
return total + (attachment.data?.length ?? 4 * Math.ceil(bytes / 3));
|
|
10
|
+
}, 0));
|
|
11
|
+
// Reserve for raw bytes, base64, UTF-16 serialization and transport copies.
|
|
12
|
+
// Path inputs reserve their maximum size; images are decoded one at a time.
|
|
13
|
+
const imageBytes = attachments.some((attachment) => attachment.kind === "image")
|
|
14
|
+
? 64 * 1024 * 1024
|
|
15
|
+
: 0;
|
|
16
|
+
const baseBytes = 32 * 1024 * 1024;
|
|
17
|
+
const reservation = encodedBytes * 6 + imageBytes + baseBytes;
|
|
18
|
+
await new Promise((resolve, reject) => {
|
|
19
|
+
const cleanup = () => {
|
|
20
|
+
signal.removeEventListener("abort", abort);
|
|
21
|
+
const index = waiters.indexOf(acquire);
|
|
22
|
+
if (index !== -1)
|
|
23
|
+
waiters.splice(index, 1);
|
|
24
|
+
};
|
|
25
|
+
const abort = () => {
|
|
26
|
+
cleanup();
|
|
27
|
+
reject(signal.reason);
|
|
28
|
+
for (const waiter of [...waiters])
|
|
29
|
+
waiter();
|
|
30
|
+
};
|
|
31
|
+
const acquire = () => {
|
|
32
|
+
if (signal.aborted)
|
|
33
|
+
return abort();
|
|
34
|
+
if (waiters[0] !== acquire || reservedBytes + reservation > MEMORY_BUDGET_BYTES)
|
|
35
|
+
return;
|
|
36
|
+
reservedBytes += reservation;
|
|
37
|
+
cleanup();
|
|
38
|
+
resolve();
|
|
39
|
+
};
|
|
40
|
+
waiters.push(acquire);
|
|
41
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
42
|
+
acquire();
|
|
43
|
+
});
|
|
44
|
+
try {
|
|
45
|
+
signal.throwIfAborted();
|
|
46
|
+
return await run();
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
reservedBytes -= reservation;
|
|
50
|
+
for (const waiter of [...waiters])
|
|
51
|
+
waiter();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=openrouter_budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openrouter_budget.js","sourceRoot":"","sources":["../../../src/core/models/openrouter_budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { fileTypeFromBuffer } from "file-type";
|
|
2
2
|
import sharp from "sharp";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
export const OPENROUTER_TEXT_BYTES =
|
|
5
|
-
export const OPENROUTER_REQUEST_BYTES =
|
|
4
|
+
export const OPENROUTER_TEXT_BYTES = 20 * 1024 * 1024;
|
|
5
|
+
export const OPENROUTER_REQUEST_BYTES = 512 * 1024 * 1024;
|
|
6
|
+
export const OPENROUTER_IMAGE_BYTES = 32 * 1024 * 1024;
|
|
7
|
+
export const OPENROUTER_MEDIA_BYTES = 256 * 1024 * 1024;
|
|
8
|
+
export const OPENROUTER_RESPONSE_BYTES = 32 * 1024 * 1024;
|
|
6
9
|
export function decodeOpenRouterText(bytes) {
|
|
7
10
|
try {
|
|
8
11
|
return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
@@ -12,7 +15,9 @@ export function decodeOpenRouterText(bytes) {
|
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
17
|
const mediaProbe = z.object({
|
|
15
|
-
format: z.object({
|
|
18
|
+
format: z.object({
|
|
19
|
+
duration: z.string().transform(Number).pipe(z.number().positive().max(7200)),
|
|
20
|
+
}),
|
|
16
21
|
streams: z
|
|
17
22
|
.array(z.object({
|
|
18
23
|
codec_type: z.string(),
|
|
@@ -25,7 +30,7 @@ const mediaProbe = z.object({
|
|
|
25
30
|
function validateProbe(value, kind, format) {
|
|
26
31
|
const parsed = mediaProbe.safeParse(value);
|
|
27
32
|
if (!parsed.success)
|
|
28
|
-
throw new Error("media must have a known duration of at most
|
|
33
|
+
throw new Error("media must have a known duration of at most 7200 seconds");
|
|
29
34
|
const { streams, format: metadata } = parsed.data;
|
|
30
35
|
if (kind === "audio") {
|
|
31
36
|
if (streams.length !== 1 ||
|
|
@@ -50,10 +55,8 @@ function validateProbe(value, kind, format) {
|
|
|
50
55
|
return metadata.duration;
|
|
51
56
|
}
|
|
52
57
|
export async function prepareOpenRouterAttachments(attachments, adapter, signal, imageProfile = "standard") {
|
|
53
|
-
if (attachments.length > 16
|
|
54
|
-
|
|
55
|
-
attachments.filter((item) => item.kind === "video").length > 1) {
|
|
56
|
-
throw new Error("at most 16 attachments, including at most 4 audio files and 1 video, are supported");
|
|
58
|
+
if (attachments.length > (imageProfile === "jev" ? 16 : 64)) {
|
|
59
|
+
throw new Error("too many attachments");
|
|
57
60
|
}
|
|
58
61
|
const parts = [];
|
|
59
62
|
let duration = 0;
|
|
@@ -61,7 +64,7 @@ export async function prepareOpenRouterAttachments(attachments, adapter, signal,
|
|
|
61
64
|
for (const attachment of attachments) {
|
|
62
65
|
signal.throwIfAborted();
|
|
63
66
|
const { kind } = attachment;
|
|
64
|
-
const limit = kind === "image" ?
|
|
67
|
+
const limit = Math.min(kind === "image" ? OPENROUTER_IMAGE_BYTES : OPENROUTER_MEDIA_BYTES, Math.floor((OPENROUTER_REQUEST_BYTES - encodedBytes) / 4) * 3);
|
|
65
68
|
const path = attachment.path ?? "inline attachment";
|
|
66
69
|
if (attachment.data !== undefined && attachment.data.length > 4 * Math.ceil(limit / 3))
|
|
67
70
|
throw new Error("attachment exceeds its byte limit");
|
|
@@ -74,7 +77,7 @@ export async function prepareOpenRouterAttachments(attachments, adapter, signal,
|
|
|
74
77
|
throw new Error("invalid padded base64 attachment");
|
|
75
78
|
encodedBytes += 4 * Math.ceil(bytes.length / 3);
|
|
76
79
|
if (encodedBytes > OPENROUTER_REQUEST_BYTES)
|
|
77
|
-
throw new Error("attachments exceed the
|
|
80
|
+
throw new Error("attachments exceed the 512 MiB encoded request limit");
|
|
78
81
|
const type = await fileTypeFromBuffer(bytes);
|
|
79
82
|
if (attachment.mimeType !== undefined && type?.mime !== attachment.mimeType)
|
|
80
83
|
throw new Error("attachment MIME type does not match its bytes");
|
|
@@ -82,14 +85,14 @@ export async function prepareOpenRouterAttachments(attachments, adapter, signal,
|
|
|
82
85
|
if (!type || !["image/png", "image/jpeg", "image/webp"].includes(type.mime)) {
|
|
83
86
|
throw new Error(`unsupported image: ${path}; use PNG, JPEG, or WebP`);
|
|
84
87
|
}
|
|
85
|
-
const image = sharp(bytes, { limitInputPixels:
|
|
88
|
+
const image = sharp(bytes, { limitInputPixels: 100_000_000 });
|
|
86
89
|
const metadata = await image.metadata();
|
|
87
90
|
if (!metadata.width ||
|
|
88
91
|
!metadata.height ||
|
|
89
|
-
metadata.width >
|
|
90
|
-
metadata.height >
|
|
92
|
+
metadata.width > 32768 ||
|
|
93
|
+
metadata.height > 32768 ||
|
|
91
94
|
(metadata.pages ?? 1) > 1) {
|
|
92
|
-
throw new Error("images must be single-frame, at most
|
|
95
|
+
throw new Error("images must be single-frame, at most 32768 pixels per edge and 100 megapixels");
|
|
93
96
|
}
|
|
94
97
|
if (imageProfile === "jev" &&
|
|
95
98
|
(type.mime === "image/webp" ||
|
|
@@ -114,9 +117,9 @@ export async function prepareOpenRouterAttachments(attachments, adapter, signal,
|
|
|
114
117
|
: undefined;
|
|
115
118
|
if (!format)
|
|
116
119
|
throw new Error(`unsupported ${kind}: ${path}; use WAV/MP3 audio or MP4 video`);
|
|
117
|
-
duration += validateProbe(await adapter.probe(bytes, format), kind, format);
|
|
118
|
-
if (duration >
|
|
119
|
-
throw new Error("combined audio/video duration exceeds
|
|
120
|
+
duration += validateProbe(await adapter.probe(bytes, format, attachment.path), kind, format);
|
|
121
|
+
if (duration > 7200)
|
|
122
|
+
throw new Error("combined audio/video duration exceeds 7200 seconds");
|
|
120
123
|
parts.push(kind === "audio"
|
|
121
124
|
? {
|
|
122
125
|
type: "input_audio",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter_media.js","sourceRoot":"","sources":["../../../src/core/models/openrouter_media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"openrouter_media.js","sourceRoot":"","sources":["../../../src/core/models/openrouter_media.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export class ChatRuntime {
|
|
|
13
13
|
backgroundJobs = this.jobs.create();
|
|
14
14
|
supervisor;
|
|
15
15
|
currentPersona;
|
|
16
|
+
autoCompactDefaults;
|
|
17
|
+
autoCompactOverride = null;
|
|
16
18
|
currentConfig;
|
|
17
19
|
hostApiKeys;
|
|
18
20
|
currentModelResolver;
|
|
@@ -44,6 +46,7 @@ export class ChatRuntime {
|
|
|
44
46
|
}
|
|
45
47
|
constructor(options, composition) {
|
|
46
48
|
this.currentPersona = structuredClone(options.persona);
|
|
49
|
+
this.autoCompactDefaults = structuredClone(options.autoCompactDefaults);
|
|
47
50
|
this.currentConfig = options.config;
|
|
48
51
|
this.hostApiKeys = structuredClone(options.config.apiKeys);
|
|
49
52
|
this.currentModelResolver = options.modelResolver;
|
|
@@ -71,7 +74,7 @@ export class ChatRuntime {
|
|
|
71
74
|
agentId: options.sessionId,
|
|
72
75
|
spec: createAgentSpec({
|
|
73
76
|
...this.resolvedModel,
|
|
74
|
-
autoCompactThresholdTokens:
|
|
77
|
+
autoCompactThresholdTokens: this.resolvedAutoCompactThresholdTokens,
|
|
75
78
|
systemPrompt: composition.baseSystemPrompt,
|
|
76
79
|
tools,
|
|
77
80
|
}),
|
|
@@ -190,8 +193,23 @@ export class ChatRuntime {
|
|
|
190
193
|
});
|
|
191
194
|
this.refreshSpec();
|
|
192
195
|
}
|
|
196
|
+
get autoCompactOverrideTokens() {
|
|
197
|
+
return this.autoCompactOverride;
|
|
198
|
+
}
|
|
199
|
+
get resolvedAutoCompactThresholdTokens() {
|
|
200
|
+
const thresholds = this.autoCompactDefaults?.personaThresholdTokens;
|
|
201
|
+
const personaThreshold = thresholds && Object.hasOwn(thresholds, this.currentPersona.id)
|
|
202
|
+
? thresholds[this.currentPersona.id]
|
|
203
|
+
: undefined;
|
|
204
|
+
return (this.autoCompactOverride ??
|
|
205
|
+
personaThreshold ??
|
|
206
|
+
this.autoCompactDefaults?.thresholdTokens ??
|
|
207
|
+
this.currentPersona.autoCompactThresholdTokens ??
|
|
208
|
+
null);
|
|
209
|
+
}
|
|
193
210
|
setAutoCompactThreshold(thresholdTokens) {
|
|
194
|
-
this.
|
|
211
|
+
this.autoCompactOverride = thresholdTokens;
|
|
212
|
+
this.refreshSpec();
|
|
195
213
|
}
|
|
196
214
|
setReasoning(reasoning) {
|
|
197
215
|
this.currentPersona = {
|
|
@@ -205,6 +223,9 @@ export class ChatRuntime {
|
|
|
205
223
|
this.refreshSpec();
|
|
206
224
|
}
|
|
207
225
|
setPersona(persona) {
|
|
226
|
+
if (persona.id.toLowerCase() !== this.currentPersona.id.toLowerCase()) {
|
|
227
|
+
this.autoCompactOverride = null;
|
|
228
|
+
}
|
|
208
229
|
this.currentPersona = structuredClone(persona);
|
|
209
230
|
this.resolvedModel = resolveAgentModel(this.currentPersona, this.config, {
|
|
210
231
|
includeModelNotice: true,
|
|
@@ -223,7 +244,7 @@ export class ChatRuntime {
|
|
|
223
244
|
refreshSpec() {
|
|
224
245
|
this.agent.updateSpec(createAgentSpec({
|
|
225
246
|
...this.resolvedModel,
|
|
226
|
-
autoCompactThresholdTokens: this.
|
|
247
|
+
autoCompactThresholdTokens: this.resolvedAutoCompactThresholdTokens,
|
|
227
248
|
systemPrompt: this.latestPromptComposition.baseSystemPrompt,
|
|
228
249
|
tools: this.buildToolRegistry(this.latestPromptComposition),
|
|
229
250
|
}));
|
|
@@ -234,6 +255,7 @@ export class ChatRuntime {
|
|
|
234
255
|
cwd: this.promptContext.cwd,
|
|
235
256
|
config: this.config,
|
|
236
257
|
persona: this.currentPersona,
|
|
258
|
+
autoCompactThresholdTokens: this.resolvedAutoCompactThresholdTokens,
|
|
237
259
|
subagentSystemPrompt: composition.subagentSystemPrompt,
|
|
238
260
|
modelResolver: this.currentModelResolver,
|
|
239
261
|
supervisor: this.supervisor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat_runtime.js","sourceRoot":"","sources":["../../../src/core/runtime/chat_runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAKZ,eAAe,GAKhB,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"chat_runtime.js","sourceRoot":"","sources":["../../../src/core/runtime/chat_runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto_compaction_threshold.js","sourceRoot":"","sources":["../../../src/core/session/auto_compaction_threshold.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auto_compaction_threshold.js","sourceRoot":"","sources":["../../../src/core/session/auto_compaction_threshold.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,sCAAsC,CACpD,aAAqB,EACrB,eAA8B;IAE9B,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -84,7 +84,7 @@ function requestApi(methodId, argsJson) {
|
|
|
84
84
|
if (Buffer.byteLength(argsJson, "utf8") > workerData.maxBridgePayloadBytes) {
|
|
85
85
|
return Promise.reject(
|
|
86
86
|
new Error(
|
|
87
|
-
`code-mode API arguments exceeded ${workerData.maxBridgePayloadBytes} bridge payload bytes`,
|
|
87
|
+
`code-mode API arguments exceeded ${workerData.maxBridgePayloadBytes} bridge payload bytes; use attachment paths instead of inline media`,
|
|
88
88
|
),
|
|
89
89
|
);
|
|
90
90
|
}
|
|
@@ -51,7 +51,7 @@ printText(truncate(result.stdout, { maxChars: 4000 }));
|
|
|
51
51
|
|
|
52
52
|
Programs have no direct access to files, processes, environment variables, credentials, imports, timers, or the network. They can act only through the capabilities. Keep data in variables, and use `tau.bash` for files.
|
|
53
53
|
|
|
54
|
-
A foreground `code` program times out after 5 minutes by default. `timeout` accepts 1–3,600,000 ms (60 minutes). The deadline covers the whole program, including capability calls. When it passes, the program stops, unresolved capability calls are cancelled, and the text printed so far is returned with a timeout notice. `tau.bash.run` follows the timeout rules of the `bash` tool: 60 seconds by default, and any positive number of milliseconds with no upper limit. The program's own deadline still cancels the command. A program can make
|
|
54
|
+
A foreground `code` program times out after 5 minutes by default. `timeout` accepts 1–3,600,000 ms (60 minutes). The deadline covers the whole program, including capability calls. When it passes, the program stops, unresolved capability calls are cancelled, and the text printed so far is returned with a timeout notice. `tau.bash.run` follows the timeout rules of the `bash` tool: 60 seconds by default, and any positive number of milliseconds with no upper limit. The program's own deadline still cancels the command. A program can make 4,096 API requests, 32 at a time. Each serialized request and response can be at most 64 MiB. Object properties set to `undefined` are dropped, while `undefined` arguments and array entries are rejected. Programs are never retried, and failure or cancellation does not undo actions already taken.
|
|
55
55
|
|
|
56
56
|
## Background code jobs
|
|
57
57
|
|
|
@@ -71,7 +71,7 @@ Code jobs have the same lifecycle and ownership as background Bash jobs: each jo
|
|
|
71
71
|
- `tau.history`: read-only search and paginated transcripts. The agent uses it only when explicitly told to look at past sessions. It treats past content as data and never follows instructions in it. See [history](history.md).
|
|
72
72
|
- `tau.mcp`: finding and calling tools and resources on configured MCP servers. When the persona allows MCP, enabled server names and optional configured descriptions are visible in the initial tool definition, before any tool call. Disabled servers and connection settings are omitted. These summaries guide discovery and do not grant permission to act. The agent reads each tool's description and schema before calling it. Connections are shared and opened on first use, and calls that change data are never retried. An `isError` result is returned as data, while protocol failures throw. MCP server configuration and trust rules apply. See [configuration reference](config-reference.md#mcpservers) and [security](security.md#trust-mcp-servers).
|
|
73
73
|
- `tau.bash`: `run`, `start`, `list`, `read`, `wait`, and `stop`. `run` returns stdout, stderr, and exit and termination fields, capturing up to 24 MiB. Beyond that it keeps the end, so check `truncated` before parsing. Optional UTF-8 `stdin` is limited to 16 MiB and closed after writing. Without `stdin` the command has no stdin at all, while `""` gives it an empty one. `start` takes no stdin. Background jobs are the same jobs that the agent's Bash job tools show, and each keeps the last 24 MiB of output. `read`, `wait`, and `stop` return that retained output as a string, without the job tools' token budget. `list` leaves out output and execution error messages. Jobs survive the program ending and interruption, while foreground commands are cancelled. The [Bash rules](tools.md#bash) apply.
|
|
74
|
-
- `tau.models`: lists a fixed set of OpenRouter models and runs standalone chats or typed decisions with them. The initial tool definition names the chat and decision model IDs, so the agent can see them before any tool call. These calls do not see the session's conversation or tools. A chat can include a JSON Schema. Tau then requests structured output from the provider, and a complete answer is the parsed JSON. The agent uses that answer directly for ordinary extraction and analysis. How strictly the schema is enforced varies by provider, so the agent adds targeted checks when a constraint matters for a consequential action. Chat media can be paths on the agent's machine or inline padded base64 with a matching MIME type. Credentials stay on the host. Provider usage data is returned, but these charges are not included in the session's cost or usage logs. Requests can be cancelled and are never retried automatically. Limits on input, models, media, responses, and requests are the same as in [OpenRouter](openrouter.md). Check whether a response completed or was refused instead of assuming it is a full answer.
|
|
74
|
+
- `tau.models`: lists a fixed set of OpenRouter models and runs standalone chats or typed decisions with them. The initial tool definition names the chat and decision model IDs, so the agent can see them before any tool call. These calls do not see the session's conversation or tools. A chat can include a JSON Schema. Tau then requests structured output from the provider, and a complete answer is the parsed JSON. The agent uses that answer directly for ordinary extraction and analysis. How strictly the schema is enforced varies by provider, so the agent adds targeted checks when a constraint matters for a consequential action. Chat and decision media can be paths on the agent's machine or inline padded base64 with a matching MIME type. Inline media counts toward the 64 MiB request limit, so large files go by path. Credentials stay on the host. Provider usage data is returned, but these charges are not included in the session's cost or usage logs. Requests can be cancelled and are never retried automatically. Limits on input, models, media, responses, and requests are the same as in [OpenRouter](openrouter.md). Tau holds concurrent model requests to a shared memory budget, so a large request can wait for earlier ones to finish. Check whether a response completed or was refused instead of assuming it is a full answer.
|
|
75
75
|
- `tau.agents`: starts subagents, sends them queued or steering input, interrupts them, waits until they are idle, and reads pages of their conversation traces. Only the main agent has it, and only when the persona selects `agents`. Subagents keep working when the program that started or waits for them ends. See [subagents](subagents.md#managing-subagents).
|
|
76
76
|
|
|
77
77
|
SDK and command client tools built on code mode use the same sandbox functions and output rules, with their own declared APIs. They take only inline code, without saved files, input, or background mode. Their programs time out after 60 seconds unless configured otherwise.
|
|
@@ -151,7 +151,7 @@ try {
|
|
|
151
151
|
|
|
152
152
|
Creating a session requires the full execution environment and the creation attributes, which never change afterward. The `cwd` must be absolute and is a path in the chosen environment, which may not be where the SDK runs. A Fly Sprite session refers to an existing Sprite that the host is configured to reach. See [sessions](sessions.md) for creation attributes and [ownership and scope](ownership-and-scope.md) for which machine owns which paths.
|
|
153
153
|
|
|
154
|
-
To set the main conversation's automatic-compaction threshold at creation, pass `autoCompactThresholdTokens` as a safe integer of at least 50,000. Omit it or pass `null` to use the model's context window minus 16,384 tokens. The effective threshold cannot exceed this model-based
|
|
154
|
+
To set the main conversation's automatic-compaction threshold at creation, pass `autoCompactThresholdTokens` as a safe integer of at least 50,000. Omit it or pass `null` to use the persona default, falling back to the model's context window minus 16,384 tokens. Changing to a different persona resets the threshold to `null`. The effective threshold cannot exceed this model-based limit.
|
|
155
155
|
|
|
156
156
|
Use `session.setAutoCompactThreshold(50000)` to change the threshold from the next logical turn, or `session.setAutoCompactThreshold(null)` to restore the default. Snapshot `settings` contain both `autoCompactThresholdTokens` (the configured value) and `effectiveAutoCompactThresholdTokens` (the trigger for the selected model). See [automatic compaction](sessions.md#automatic-compaction) for timing, limits, and costs.
|
|
157
157
|
|