@markusylisiurunen/tau 0.3.80 → 0.3.82
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/command.js +4 -16
- package/dist/code_mode/command.js.map +1 -1
- package/dist/code_mode/images.js +5 -6
- package/dist/code_mode/images.js.map +1 -1
- package/dist/code_mode/index.d.ts +1 -3
- package/dist/code_mode/index.js +1 -2
- package/dist/code_mode/index.js.map +1 -1
- package/dist/code_mode/runtime.d.ts +8 -4
- package/dist/code_mode/runtime.js +52 -63
- package/dist/code_mode/runtime.js.map +1 -1
- package/dist/core/code_mode/bash.js +269 -0
- package/dist/core/code_mode/bash.js.map +1 -0
- package/dist/core/code_mode/capability.js +2 -0
- package/dist/core/code_mode/capability.js.map +1 -0
- package/dist/core/code_mode/history.js +62 -0
- package/dist/core/code_mode/history.js.map +1 -0
- package/dist/core/code_mode/mcp.js +121 -0
- package/dist/core/code_mode/mcp.js.map +1 -0
- package/dist/core/code_mode/models.js +256 -0
- package/dist/core/code_mode/models.js.map +1 -0
- package/dist/core/{tools → code_mode}/nook.js +13 -77
- package/dist/core/code_mode/nook.js.map +1 -0
- package/dist/core/code_mode/sdk.js +97 -0
- package/dist/core/code_mode/sdk.js.map +1 -0
- package/dist/core/{tools → code_mode}/web.js +31 -90
- package/dist/core/code_mode/web.js.map +1 -0
- package/dist/core/commands/registry.js +0 -22
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/config/content_loader.js +3 -1
- package/dist/core/config/content_loader.js.map +1 -1
- package/dist/core/debug.js +1 -1
- package/dist/core/debug.js.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/models/openrouter.js +171 -0
- package/dist/core/models/openrouter.js.map +1 -0
- package/dist/core/{tool → models}/openrouter_decisions.js +6 -7
- package/dist/core/models/openrouter_decisions.js.map +1 -0
- package/dist/core/models/openrouter_media.js +128 -0
- package/dist/core/models/openrouter_media.js.map +1 -0
- package/dist/core/personas.js +2 -1
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +2 -13
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/session/compaction.js +5 -3
- package/dist/core/session/compaction.js.map +1 -1
- package/dist/core/static/code_mode/history/documentation.md +95 -167
- package/dist/core/static/code_mode/mcp/documentation.md +144 -67
- package/dist/core/static/code_mode/nook/documentation.md +108 -169
- package/dist/core/static/code_mode/sandbox_runner.mjs +37 -20
- package/dist/core/static/code_mode/web/documentation.md +115 -213
- package/dist/core/static/tau_docs/client-tools.md +4 -4
- package/dist/core/static/tau_docs/history.md +2 -2
- package/dist/core/static/tau_docs/index.md +1 -1
- package/dist/core/static/tau_docs/node-sdk.md +6 -7
- package/dist/core/static/tau_docs/nook.md +2 -2
- package/dist/core/static/tau_docs/personas.md +2 -2
- package/dist/core/static/tau_docs/remote-sessions.md +2 -2
- package/dist/core/static/tau_docs/security.md +4 -4
- package/dist/core/static/tau_docs/session-protocol-methods.md +1 -46
- package/dist/core/static/tau_docs/session-protocol.md +11 -11
- package/dist/core/static/tau_docs/sessions.md +6 -25
- package/dist/core/static/tau_docs/subagents.md +3 -2
- package/dist/core/static/tau_docs/telegram.md +1 -1
- package/dist/core/static/tau_docs/tools.md +40 -48
- package/dist/core/static/tau_docs/troubleshooting.md +2 -2
- package/dist/core/static/tau_docs/tui.md +8 -7
- package/dist/core/subagents/registry.js +2 -1
- package/dist/core/subagents/registry.js.map +1 -1
- package/dist/core/subagents/types.js +2 -1
- package/dist/core/subagents/types.js.map +1 -1
- package/dist/core/telegram/adapter.js +1 -6
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/tool/image_generate.js +2 -1
- package/dist/core/tool/image_generate.js.map +1 -1
- package/dist/core/tool/media.js +1 -49
- package/dist/core/tool/media.js.map +1 -1
- package/dist/core/tool/openrouter.js +24 -156
- package/dist/core/tool/openrouter.js.map +1 -1
- package/dist/core/tool/openrouter_input.js +77 -0
- package/dist/core/tool/openrouter_input.js.map +1 -0
- package/dist/core/tool/speech_generate.js +2 -1
- package/dist/core/tool/speech_generate.js.map +1 -1
- package/dist/core/tools/bash.js +2 -1
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/bash_jobs.js +34 -5
- package/dist/core/tools/bash_jobs.js.map +1 -1
- package/dist/core/tools/catalog.js +18 -44
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/code.js +100 -0
- package/dist/core/tools/code.js.map +1 -0
- package/dist/core/tools/code_mode.js +9 -30
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/code_mode_worker.js +2 -2
- package/dist/core/tools/presentation.js +2 -1
- package/dist/core/tools/presentation.js.map +1 -1
- package/dist/core/tools/tool_names.js +5 -7
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/utils/gemini_transcription.js +81 -37
- package/dist/core/utils/gemini_transcription.js.map +1 -1
- package/dist/core/utils/media_validation.js +50 -0
- package/dist/core/utils/media_validation.js.map +1 -0
- package/dist/core/utils/user_metadata.js +0 -14
- package/dist/core/utils/user_metadata.js.map +1 -1
- package/dist/core/version.js +2 -2
- package/dist/diff_tool/app/dist/assets/{angular-html-BbLgbIhq.js → angular-html-D20byCHL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{angular-ts-DXk17TRM.js → angular-ts-CvVQslm2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{apl-BsvksCXR.js → apl-DNIxlYWe.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{astro-DH775E4V.js → astro-DDOw4EUG.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{blade-Ck99Rm59.js → blade-DlhB-SLW.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{c-DJpHqu5J.js → c-C1f4vhDm.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{chapel-Owff0Csy.js → chapel-Ctt8xOX1.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{cobol-Cv2gZuhO.js → cobol-BXw71PAA.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{coffee-Bji0YCf_.js → coffee-CRh_5Nmr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{cpp-DTjA_yFF.js → cpp-IlI-zWOZ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{crystal-Dd00NOeb.js → crystal-CXeL28i7.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{css-D44TN1V6.js → css-BfST9hFI.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{edge-CVmGSi2m.js → edge--Q22k_ty.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elixir-B8Mq7no2.js → elixir-CIfC_rQx.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elm-CXS0I3Z2.js → elm-OkZ29XRO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{erb-B9oDKaUo.js → erb-B8ZXgEqv.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{git-rebase-DT-YFebH.js → git-rebase-CxkO_WGd.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-js-s0DXlNjq.js → glimmer-js-BVadyIrr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-ts-QgEB5S2z.js → glimmer-ts-D5J3Qb7n.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glsl-NA0icwbY.js → glsl-B6iy73-Y.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{graphql-0_dOlfV0.js → graphql-Dc3rUXf5.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hack-D-mr7l1l.js → hack-q8Utf8Jp.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{haml-B0-oQmz7.js → haml-mjMIlj_2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{handlebars-Yq9bXpWN.js → handlebars-CA-BL8Ks.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{html-B8bMmdRK.js → html-BmPxhYCX.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{html-derivative-BpxSlQb_.js → html-derivative-CvknIjuB.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{http-hS_53mxt.js → http-DNxLDRIi.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hurl-B2ST1kwl.js → hurl-kbd3Eq2V.js} +1 -1
- package/dist/diff_tool/app/dist/assets/index-D8ZI_2RC.js +340 -0
- package/dist/diff_tool/app/dist/assets/{java-D4mj0lZJ.js → java-BuZshgf1.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{javascript-wC7rrKiV.js → javascript-DfL2oeFU.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jinja-DbQ3o87F.js → jinja-Bu0KQihU.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jison-CrE9FdvP.js → jison-Bqn7Mf3Q.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{json-xjicDyWN.js → json-BuX5LKaB.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jsx-m28lXojQ.js → jsx-DdVJ-ZBp.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{julia-19xkOmop.js → julia-CQeijOoQ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{just-Cf7OorTr.js → just-vzAktFGR.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{latex-DDb7GQOy.js → latex-Dm60cg0k.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{liquid-DHOuQ0rf.js → liquid-vxKzm2P8.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{lua-BGyIvonw.js → lua-DIoqi4dd.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{marko-DB5OqI1C.js → marko-BTHgFKby.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{mdc-DTyNMupO.js → mdc-CEfz8gZ9.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nginx-DfF0fMYD.js → nginx-DNlFDEfJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nim-BbwsXuZD.js → nim-DnvT_0lZ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{org-BkOBBl1f.js → org-BbD-ElVf.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{perl-BTXTOl4K.js → perl-DTsbnAmK.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{php-DIMVQWiA.js → php-CwEsJe-W.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{pug-B_nrb4dJ.js → pug-BOttMVH-.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{qml-1PXi8G8Z.js → qml-C8KkSItN.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{r-CJrAkc2Z.js → r-K4ksJj_R.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{razor-DgPUftNd.js → razor-yuWRrrG6.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{regexp-C2hS8XvL.js → regexp-CV-jhnUz.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{rst-CDouhKnc.js → rst-CLA3Attc.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ruby-CAjKW1uO.js → ruby-DiHR2-DX.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{sas-qAHkHLc1.js → sas-DxIjbYJ5.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{scss-Bfx2Ydid.js → scss-CShwEaV4.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellscript-Bu76R8y2.js → shellscript-CeezOnrF.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellsession-BU8BL0oL.js → shellsession-CjSS2r7j.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{soy-FRl8ozP-.js → soy-CI_v23nJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{sql-BacQgsEs.js → sql-D9GaB00A.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{stata-B9kkG-ET.js → stata-hK92TPE_.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{surrealql-qvETr7iY.js → surrealql-UO8LtPJG.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{svelte-B0z1MgHc.js → svelte-kIlaw_oh.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{templ-DTnPshKb.js → templ-DFRz1JP6.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tex-Cosab9_H.js → tex-CfxIXk_z.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ts-tags-DNYvLFUH.js → ts-tags-BtUHl0ff.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tsx-Dstq6j1a.js → tsx-Cd4SAe2C.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{twig-BzqZdwaX.js → twig-CWk4q5Y3.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{typescript-YOQ_oE25.js → typescript-BqxGJiP0.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{typst-DTffwfpc.js → typst-D9nAun2p.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-D4OMj_C5.js → vue-D6HYhg6_.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-html-kT4WrHGK.js → vue-html-1VRlaENS.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-vine-CxeapeMO.js → vue-vine-BaH0We9y.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xml-DWVpuurg.js → xml-C4RWnUuj.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xsl-C0ciup5a.js → xsl-D1iD38ga.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{yaml-98Fvyfpc.js → yaml-yAb4W0G-.js} +1 -1
- package/dist/diff_tool/app/dist/index.html +1 -1
- package/dist/host/local_session_host.js +24 -318
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/host/session_host.js.map +1 -1
- package/dist/host/session_protocol_handler.js +0 -98
- package/dist/host/session_protocol_handler.js.map +1 -1
- package/dist/nook/README.md +1 -1
- package/dist/protocol/index.d.ts +1 -1
- package/dist/protocol/index.js.map +1 -1
- package/dist/protocol/session_protocol.d.ts +3 -28
- package/dist/protocol/session_protocol.js +1 -56
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/code_mode.js +11 -17
- package/dist/sdk/code_mode.js.map +1 -1
- package/dist/sdk/index.d.ts +2 -2
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/session.js +0 -20
- package/dist/sdk/session.js.map +1 -1
- package/dist/sdk/types.d.ts +1 -7
- package/dist/store/session_snapshot_migrations.js +72 -1
- package/dist/store/session_snapshot_migrations.js.map +1 -1
- package/dist/tui/session_chat_controller.js +95 -82
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/ui/footer.js +2 -5
- package/dist/tui/ui/footer.js.map +1 -1
- package/package.json +7 -7
- package/dist/code_mode/files.d.ts +0 -47
- package/dist/code_mode/files.js +0 -296
- package/dist/code_mode/files.js.map +0 -1
- package/dist/core/session/goal.js +0 -54
- package/dist/core/session/goal.js.map +0 -1
- package/dist/core/tool/openrouter_decisions.js.map +0 -1
- package/dist/core/tool/openrouter_media.js +0 -180
- package/dist/core/tool/openrouter_media.js.map +0 -1
- package/dist/core/tools/goal.js +0 -167
- package/dist/core/tools/goal.js.map +0 -1
- package/dist/core/tools/history.js +0 -118
- package/dist/core/tools/history.js.map +0 -1
- package/dist/core/tools/mcp.js +0 -167
- package/dist/core/tools/mcp.js.map +0 -1
- package/dist/core/tools/nook.js.map +0 -1
- package/dist/core/tools/web.js.map +0 -1
- package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +0 -340
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { runTauClientToolCommand } from "../sdk/client_tool_command.js";
|
|
2
2
|
import { truncateTauClientToolText } from "../sdk/client_tool_presentation.js";
|
|
3
|
-
import {
|
|
3
|
+
import { executeTauCodeMode, parseCodeModeArguments, validateTauCodeModeDefinition, } from "./runtime.js";
|
|
4
4
|
export async function runTauCodeModeCommand(definition) {
|
|
5
5
|
validateTauCodeModeDefinition(definition);
|
|
6
6
|
await runTauClientToolCommand({
|
|
7
7
|
name: definition.name,
|
|
8
|
-
describe: (args) => createCodeModePresentation(
|
|
8
|
+
describe: (args) => createCodeModePresentation(parseCodeModeArguments(args).code),
|
|
9
9
|
execute: async (args, context) => {
|
|
10
|
-
const code =
|
|
10
|
+
const { code, maxOutputTokens } = parseCodeModeArguments(args);
|
|
11
11
|
const result = await executeTauCodeMode({
|
|
12
12
|
...definition,
|
|
13
13
|
code,
|
|
14
|
+
maxOutputTokens,
|
|
14
15
|
signal: context.signal,
|
|
15
16
|
invocation: {
|
|
16
17
|
sessionId: context.sessionId,
|
|
@@ -18,7 +19,6 @@ export async function runTauCodeModeCommand(definition) {
|
|
|
18
19
|
callId: context.callId,
|
|
19
20
|
},
|
|
20
21
|
executionEnvironment: context.executionEnvironment,
|
|
21
|
-
files: createTauCodeModeExecutionEnvironmentFiles(context.agentId, context.executionEnvironment),
|
|
22
22
|
});
|
|
23
23
|
return { ...result, presentation: createCodeModePresentation(code) };
|
|
24
24
|
},
|
|
@@ -30,16 +30,4 @@ function createCodeModePresentation(code) {
|
|
|
30
30
|
subjectWrap: "character",
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
function parseCodeArguments(value) {
|
|
34
|
-
if (typeof value !== "object" || value === null) {
|
|
35
|
-
throw new Error("code-mode command arguments must be an object");
|
|
36
|
-
}
|
|
37
|
-
const args = value;
|
|
38
|
-
if (typeof args.code !== "string" ||
|
|
39
|
-
!args.code.trim() ||
|
|
40
|
-
Object.keys(args).some((key) => key !== "code")) {
|
|
41
|
-
throw new Error("code-mode command arguments must contain exactly one non-empty 'code' string");
|
|
42
|
-
}
|
|
43
|
-
return args.code;
|
|
44
|
-
}
|
|
45
33
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/code_mode/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/code_mode/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EAEtB,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,UAAiC;IAC3E,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,uBAAuB,CAAC;QAC5B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;gBACtC,GAAG,UAAU;gBACb,IAAI;gBACJ,eAAe;gBACf,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU,EAAE;oBACV,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB;gBACD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;aACnD,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO;QACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC;QACxC,WAAW,EAAE,WAAoB;KAClC,CAAC;AACJ,CAAC"}
|
package/dist/code_mode/images.js
CHANGED
|
@@ -4,20 +4,19 @@ export async function prepareCodeModeImage(value) {
|
|
|
4
4
|
if (typeof value !== "object" ||
|
|
5
5
|
value === null ||
|
|
6
6
|
Array.isArray(value) ||
|
|
7
|
-
|
|
8
|
-
value.type !== "image" ||
|
|
7
|
+
("type" in value && value.type !== "image") ||
|
|
9
8
|
!("data" in value) ||
|
|
10
9
|
typeof value.data !== "string" ||
|
|
11
10
|
!("mimeType" in value) ||
|
|
12
11
|
typeof value.mimeType !== "string") {
|
|
13
|
-
throw new Error('
|
|
12
|
+
throw new Error('printImage() expects { type: "image", data: base64, mimeType }.');
|
|
14
13
|
}
|
|
15
14
|
if (!isSupportedImageType(value.mimeType)) {
|
|
16
|
-
throw new Error("
|
|
15
|
+
throw new Error("printImage() supports image/jpeg, image/png, and image/webp.");
|
|
17
16
|
}
|
|
18
17
|
const content = Buffer.from(value.data, "base64");
|
|
19
18
|
if (!value.data || content.toString("base64") !== value.data) {
|
|
20
|
-
throw new Error("
|
|
19
|
+
throw new Error("printImage() requires valid, padded base64 data.");
|
|
21
20
|
}
|
|
22
21
|
const [{ fileTypeFromBuffer }, { default: sharp }] = await Promise.all([
|
|
23
22
|
import("file-type"),
|
|
@@ -25,7 +24,7 @@ export async function prepareCodeModeImage(value) {
|
|
|
25
24
|
]);
|
|
26
25
|
const detected = await fileTypeFromBuffer(content);
|
|
27
26
|
if (detected?.mime !== value.mimeType) {
|
|
28
|
-
throw new Error("
|
|
27
|
+
throw new Error("printImage() MIME type does not match the image data.");
|
|
29
28
|
}
|
|
30
29
|
await sharp(content, { limitInputPixels: CODE_MODE_MAX_IMAGE_PIXELS })
|
|
31
30
|
.resize({ width: 1, height: 1, fit: "inside" })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/code_mode/images.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAc;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,
|
|
1
|
+
{"version":3,"file":"images.js","sourceRoot":"","sources":["../../src/code_mode/images.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAc;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;QAC3C,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC;QACtB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrE,MAAM,CAAC,WAAW,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC;KAChB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,QAAQ,EAAE,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;SACnE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;SAC9C,GAAG,EAAE;SACL,QAAQ,EAAE,CAAC;IACd,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACnG,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { runTauClientToolCommand, TAU_CLIENT_TOOL_COMMAND_PROTOCOL_VERSION, type TauClientToolCommandDefinition, type TauClientToolCommandHandler, type TauClientToolCommandPresentation, } from "../sdk/client_tool_command.js";
|
|
2
2
|
export { type TauClientToolPresentation, type TauClientToolTextTruncationOptions, truncateTauClientToolText, } from "../sdk/client_tool_presentation.js";
|
|
3
3
|
export { runTauCodeModeCommand } from "./command.js";
|
|
4
|
-
export type { TauCodeModeFileAdapter, TauCodeModeFileAdapterResult, TauCodeModeFileList, TauCodeModeFileMetadata, TauCodeModeFilesOptions, } from "./files.js";
|
|
5
|
-
export { TAU_CODE_MODE_MAX_FILES, TAU_CODE_MODE_MAX_TOTAL_FILE_BYTES, } from "./files.js";
|
|
6
4
|
export type { BuildTauCodeModeToolDescriptionOptions, ExecuteTauCodeModeOptions, TauCodeModeApi, TauCodeModeDefinition, TauCodeModeExecutionStatus, TauCodeModeHandler, TauCodeModeHandlerContext, TauCodeModeInvocation, TauCodeModeJsonValue, TauCodeModePersistOutput, TauCodeModeResult, } from "./runtime.js";
|
|
7
|
-
export { buildTauCodeModeToolDescription, executeTauCodeMode, TAU_CODE_MODE_DEFAULT_TIMEOUT_MS, TAU_CODE_MODE_MAX_OUTPUT_TOKENS, } from "./runtime.js";
|
|
5
|
+
export { buildTauCodeModeToolDescription, executeTauCodeMode, TAU_CODE_MODE_DEFAULT_MAX_OUTPUT_TOKENS, TAU_CODE_MODE_DEFAULT_TIMEOUT_MS, TAU_CODE_MODE_MAX_OUTPUT_TOKENS, } from "./runtime.js";
|
package/dist/code_mode/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { runTauClientToolCommand, TAU_CLIENT_TOOL_COMMAND_PROTOCOL_VERSION, } from "../sdk/client_tool_command.js";
|
|
2
2
|
export { truncateTauClientToolText, } from "../sdk/client_tool_presentation.js";
|
|
3
3
|
export { runTauCodeModeCommand } from "./command.js";
|
|
4
|
-
export {
|
|
5
|
-
export { buildTauCodeModeToolDescription, executeTauCodeMode, TAU_CODE_MODE_DEFAULT_TIMEOUT_MS, TAU_CODE_MODE_MAX_OUTPUT_TOKENS, } from "./runtime.js";
|
|
4
|
+
export { buildTauCodeModeToolDescription, executeTauCodeMode, TAU_CODE_MODE_DEFAULT_MAX_OUTPUT_TOKENS, TAU_CODE_MODE_DEFAULT_TIMEOUT_MS, TAU_CODE_MODE_MAX_OUTPUT_TOKENS, } from "./runtime.js";
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code_mode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wCAAwC,GAIzC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code_mode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wCAAwC,GAIzC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAcrD,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAClB,uCAAuC,EACvC,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,cAAc,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ImageContent, TextContent } from "@earendil-works/pi-ai";
|
|
2
2
|
import type { TauSdkClientToolExecutionEnvironment } from "../sdk/types.js";
|
|
3
|
-
import { type TauCodeModeFilesOptions } from "./files.js";
|
|
4
3
|
export declare const TAU_CODE_MODE_DEFAULT_TIMEOUT_MS = 60000;
|
|
5
|
-
export declare const
|
|
4
|
+
export declare const TAU_CODE_MODE_DEFAULT_MAX_OUTPUT_TOKENS = 8192;
|
|
5
|
+
export declare const TAU_CODE_MODE_MAX_OUTPUT_TOKENS = 65536;
|
|
6
|
+
export declare const CODE_MODE_MAX_OUTPUT_TOKENS_DESCRIPTION = "Optional maximum number of estimated output tokens to return. Defaults to 8192. Leave unset unless more output is genuinely needed; prefer printing selected results. Do not set speculatively or just in case. When needed, request 8192 through 16384 tokens. Only exceed 16384 when the user explicitly requests more output, up to 65536. Output exceeding the limit is middle-truncated. Side effects have already happened; read saved output rather than rerunning operations with side effects.";
|
|
6
7
|
export type TauCodeModeJsonValue = null | boolean | number | string | TauCodeModeJsonValue[] | {
|
|
7
8
|
[key: string]: TauCodeModeJsonValue;
|
|
8
9
|
};
|
|
@@ -59,10 +60,10 @@ export type TauCodeModeDefinition = {
|
|
|
59
60
|
};
|
|
60
61
|
export type ExecuteTauCodeModeOptions = TauCodeModeDefinition & {
|
|
61
62
|
code: string;
|
|
63
|
+
maxOutputTokens?: number;
|
|
62
64
|
signal?: AbortSignal;
|
|
63
65
|
invocation?: TauCodeModeInvocation | null;
|
|
64
66
|
executionEnvironment?: TauSdkClientToolExecutionEnvironment | null;
|
|
65
|
-
files?: TauCodeModeFilesOptions;
|
|
66
67
|
};
|
|
67
68
|
export type TauCodeModeResult = {
|
|
68
69
|
content: Array<TextContent | ImageContent>;
|
|
@@ -71,7 +72,6 @@ export type BuildTauCodeModeToolDescriptionOptions = {
|
|
|
71
72
|
name: string;
|
|
72
73
|
description: string;
|
|
73
74
|
};
|
|
74
|
-
export declare function createTauCodeModeExecutionEnvironmentFiles(agentId: string, executionEnvironment: TauSdkClientToolExecutionEnvironment): TauCodeModeFilesOptions;
|
|
75
75
|
export type TauCodeModeRuntimeResult = {
|
|
76
76
|
result: TauCodeModeResult;
|
|
77
77
|
status: TauCodeModeExecutionStatus;
|
|
@@ -84,4 +84,8 @@ export declare function buildTauCodeModeToolDescription({ name, description, }:
|
|
|
84
84
|
export declare function validateTauCodeModeDefinition(definition: TauCodeModeDefinition): void;
|
|
85
85
|
export declare function executeTauCodeMode(options: ExecuteTauCodeModeOptions): Promise<TauCodeModeResult>;
|
|
86
86
|
export declare function runTauCodeMode(options: ExecuteTauCodeModeOptions): Promise<TauCodeModeRuntimeResult>;
|
|
87
|
+
export declare function parseCodeModeArguments(value: unknown): {
|
|
88
|
+
code: string;
|
|
89
|
+
maxOutputTokens?: number;
|
|
90
|
+
};
|
|
87
91
|
export {};
|
|
@@ -2,33 +2,23 @@ import { CODE_MODE_MAX_BRIDGE_PAYLOAD_BYTES, CODE_MODE_MAX_BRIDGE_REQUESTS, CODE
|
|
|
2
2
|
import { bytesToTokens } from "../core/utils/token.js";
|
|
3
3
|
import { formatBytes, truncateForTokens } from "../core/utils/truncate.js";
|
|
4
4
|
import { SESSION_PROTOCOL_MAX_CLIENT_TOOL_IMAGES } from "../protocol/session_protocol.js";
|
|
5
|
-
import { createTauCodeModeFilesApi, TAU_CODE_MODE_MAX_FILES, TAU_CODE_MODE_MAX_TOTAL_FILE_BYTES, } from "./files.js";
|
|
6
5
|
import { CODE_MODE_MAX_IMAGE_PIXELS, prepareCodeModeImage } from "./images.js";
|
|
7
6
|
import { CodeModeOutput } from "./output.js";
|
|
8
7
|
export const TAU_CODE_MODE_DEFAULT_TIMEOUT_MS = 60_000;
|
|
9
|
-
export const
|
|
8
|
+
export const TAU_CODE_MODE_DEFAULT_MAX_OUTPUT_TOKENS = 8_192;
|
|
9
|
+
export const TAU_CODE_MODE_MAX_OUTPUT_TOKENS = 65_536;
|
|
10
|
+
export const CODE_MODE_MAX_OUTPUT_TOKENS_DESCRIPTION = "Optional maximum number of estimated output tokens to return. Defaults to 8192. Leave unset unless more output is genuinely needed; prefer printing selected results. Do not set speculatively or just in case. When needed, request 8192 through 16384 tokens. Only exceed 16384 when the user explicitly requests more output, up to 65536. Output exceeding the limit is middle-truncated. Side effects have already happened; read saved output rather than rerunning operations with side effects.";
|
|
10
11
|
const sandboxRunnerUrl = new URL("../core/static/code_mode/sandbox_runner.mjs", import.meta.url);
|
|
11
12
|
const javascriptIdentifierPattern = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
12
13
|
const reservedNames = new Set([
|
|
13
14
|
...Object.getOwnPropertyNames(globalThis),
|
|
14
15
|
"docs",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
16
|
+
"printText",
|
|
17
|
+
"printImage",
|
|
18
|
+
"truncate",
|
|
19
|
+
"truncateLines",
|
|
17
20
|
]);
|
|
18
21
|
const unsafeApiKeys = new Set(["__proto__", "constructor", "prototype"]);
|
|
19
|
-
export function createTauCodeModeExecutionEnvironmentFiles(agentId, executionEnvironment) {
|
|
20
|
-
return {
|
|
21
|
-
agentId,
|
|
22
|
-
adapter: {
|
|
23
|
-
runNodeScript: async (script, options) => await executionEnvironment.exec('exec "$0" "$@"', {
|
|
24
|
-
args: ["node", "-e", script],
|
|
25
|
-
stdin: Buffer.from(options.input),
|
|
26
|
-
signal: options.signal,
|
|
27
|
-
maxCaptureBytes: options.maxCaptureBytes,
|
|
28
|
-
}),
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
22
|
export function buildTauCodeModeToolDescription({ name, description, }) {
|
|
33
23
|
validateName(name);
|
|
34
24
|
const trimmedDescription = description.trim();
|
|
@@ -37,7 +27,7 @@ export function buildTauCodeModeToolDescription({ name, description, }) {
|
|
|
37
27
|
return [
|
|
38
28
|
trimmedDescription,
|
|
39
29
|
"When this tool is useful, first check whether its documentation is already visible in the conversation context.",
|
|
40
|
-
"If it is not, your first call must be a documentation-only program that does nothing except print docs with
|
|
30
|
+
"If it is not, your first call must be a documentation-only program that does nothing except print docs with printText(docs).",
|
|
41
31
|
`Read the returned documentation before writing a later tool call that uses ${name}.`,
|
|
42
32
|
"Once the documentation is visible, use the API normally without reloading it, and do not guess API signatures.",
|
|
43
33
|
].join(" ");
|
|
@@ -68,27 +58,22 @@ export async function runTauCodeMode(options) {
|
|
|
68
58
|
throw new Error("code-mode documentation must not be empty");
|
|
69
59
|
}
|
|
70
60
|
validateTimeout(options.timeoutMs);
|
|
61
|
+
validateMaxOutputTokens(options.maxOutputTokens);
|
|
71
62
|
const apiMethods = registerMethods(options.api, options.name);
|
|
72
|
-
const
|
|
73
|
-
? registerMethods(createTauCodeModeFilesApi(options.files), "files", apiMethods.length)
|
|
74
|
-
: [];
|
|
75
|
-
const apis = [
|
|
76
|
-
{ name: options.name, methods: apiMethods },
|
|
77
|
-
...(filesMethods.length > 0 ? [{ name: "files", methods: filesMethods }] : []),
|
|
78
|
-
];
|
|
63
|
+
const apis = [{ name: options.name, methods: apiMethods }];
|
|
79
64
|
const methods = apis.flatMap((api) => api.methods);
|
|
80
65
|
const orderedOutput = new CodeModeOutput();
|
|
81
66
|
let imageCount = 0;
|
|
82
67
|
const imageMethodId = methods.length;
|
|
83
68
|
methods.push({
|
|
84
69
|
id: imageMethodId,
|
|
85
|
-
apiName: "
|
|
70
|
+
apiName: "printImage",
|
|
86
71
|
path: [],
|
|
87
72
|
handler: async (args, context) => {
|
|
88
73
|
if (args.length !== 1)
|
|
89
|
-
throw new Error("
|
|
74
|
+
throw new Error("printImage() expects exactly one image block.");
|
|
90
75
|
if (imageCount >= SESSION_PROTOCOL_MAX_CLIENT_TOOL_IMAGES) {
|
|
91
|
-
throw new Error(`
|
|
76
|
+
throw new Error(`printImage() allows at most ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_IMAGES} images per program.`);
|
|
92
77
|
}
|
|
93
78
|
imageCount += 1;
|
|
94
79
|
const slot = orderedOutput.reserveImage();
|
|
@@ -109,7 +94,7 @@ export async function runTauCodeMode(options) {
|
|
|
109
94
|
const invocation = options.invocation ?? null;
|
|
110
95
|
const executionEnvironment = options.executionEnvironment ?? null;
|
|
111
96
|
const signal = options.signal ?? new AbortController().signal;
|
|
112
|
-
const docs = buildRuntimeDocumentation(options.name, options.documentation, timeoutMs
|
|
97
|
+
const docs = buildRuntimeDocumentation(options.name, options.documentation, timeoutMs);
|
|
113
98
|
const startedAt = Date.now();
|
|
114
99
|
let execution;
|
|
115
100
|
try {
|
|
@@ -161,7 +146,7 @@ export async function runTauCodeMode(options) {
|
|
|
161
146
|
const rawOutput = orderedOutput.text;
|
|
162
147
|
const output = appendTerminationNote(rawOutput, execution, timeoutMs);
|
|
163
148
|
const projection = truncateForTokens(output, {
|
|
164
|
-
maxTokens:
|
|
149
|
+
maxTokens: options.maxOutputTokens ?? TAU_CODE_MODE_DEFAULT_MAX_OUTPUT_TOKENS,
|
|
165
150
|
strategy: "middle",
|
|
166
151
|
});
|
|
167
152
|
let persistedPath;
|
|
@@ -220,6 +205,27 @@ function validateTimeout(timeoutMs) {
|
|
|
220
205
|
throw new Error("code-mode timeoutMs must be a positive integer");
|
|
221
206
|
}
|
|
222
207
|
}
|
|
208
|
+
function validateMaxOutputTokens(value) {
|
|
209
|
+
if (value !== undefined &&
|
|
210
|
+
(typeof value !== "number" ||
|
|
211
|
+
!Number.isInteger(value) ||
|
|
212
|
+
value < 1 ||
|
|
213
|
+
value > TAU_CODE_MODE_MAX_OUTPUT_TOKENS)) {
|
|
214
|
+
throw new Error(`maxOutputTokens must be an integer from 1 to ${TAU_CODE_MODE_MAX_OUTPUT_TOKENS}`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
export function parseCodeModeArguments(value) {
|
|
218
|
+
if (!isPlainObject(value))
|
|
219
|
+
throw new Error("code-mode arguments must be an object");
|
|
220
|
+
const args = value;
|
|
221
|
+
if (typeof args.code !== "string" ||
|
|
222
|
+
!args.code.trim() ||
|
|
223
|
+
Object.keys(args).some((key) => key !== "code" && key !== "maxOutputTokens")) {
|
|
224
|
+
throw new Error("code-mode arguments require a non-empty code string and optional maxOutputTokens");
|
|
225
|
+
}
|
|
226
|
+
validateMaxOutputTokens(args.maxOutputTokens);
|
|
227
|
+
return { code: args.code, maxOutputTokens: args.maxOutputTokens };
|
|
228
|
+
}
|
|
223
229
|
function registerMethods(api, apiName, firstId = 0) {
|
|
224
230
|
const methods = [];
|
|
225
231
|
const visit = (value, path) => {
|
|
@@ -298,26 +304,24 @@ function serializeBridgeResult(value, name, path) {
|
|
|
298
304
|
}
|
|
299
305
|
return json;
|
|
300
306
|
}
|
|
301
|
-
function buildRuntimeDocumentation(name, documentation, timeoutMs
|
|
307
|
+
function buildRuntimeDocumentation(name, documentation, timeoutMs) {
|
|
302
308
|
return [
|
|
303
309
|
"# Code-mode runtime",
|
|
304
310
|
"",
|
|
305
311
|
"## Available globals",
|
|
306
312
|
"",
|
|
307
313
|
`- \`${name}\`: the explicitly exposed API documented below.`,
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
"- `
|
|
312
|
-
"
|
|
313
|
-
"- `await image(block)`: explicitly forwards an image block to the model, documented below.",
|
|
314
|
+
"- `printText(text)`: emits a string to the model.",
|
|
315
|
+
"- `await printImage(block)`: emits a validated base64 image to the model.",
|
|
316
|
+
"- `truncate(text, { maxChars, position? })`: bounds Unicode characters, including an omission marker.",
|
|
317
|
+
"- `truncateLines(text, { maxLines, position? })`: bounds lines, including an omission marker.",
|
|
318
|
+
"Truncation position is `middle` (default), `start` (keep the start), or `end` (keep the end). Limits must be positive integers.",
|
|
314
319
|
"- `Date`: standard date handling with live current-time access.",
|
|
315
320
|
"- `Math`: standard math operations, including `Math.random()`.",
|
|
316
321
|
"",
|
|
317
|
-
"Top-level `await` is supported.
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
: "Generated code has no direct filesystem, process, environment, network, credential, import, timer, or `fetch` access.",
|
|
322
|
+
"Top-level `await` is supported. Methods on the exposed API return promises; await them before using their results. TypeScript blocks in capability references describe signatures and data shapes; write programs in JavaScript.",
|
|
323
|
+
"Each tool call starts a fresh program. Variables do not persist between calls; supply required values again. The program return value is ignored; printed text and explicitly forwarded images are returned.",
|
|
324
|
+
"Generated code has no direct filesystem, process, environment, network, credential, import, timer, or fetch access. Use explicitly exposed capabilities.",
|
|
321
325
|
"",
|
|
322
326
|
"## API limits",
|
|
323
327
|
"",
|
|
@@ -325,51 +329,36 @@ function buildRuntimeDocumentation(name, documentation, timeoutMs, hasFiles) {
|
|
|
325
329
|
"Undefined object properties are omitted from API arguments. Undefined arguments and array entries remain invalid.",
|
|
326
330
|
`A program may make at most ${CODE_MODE_MAX_BRIDGE_REQUESTS} API calls, with at most ${CODE_MODE_MAX_CONCURRENT_BRIDGE_REQUESTS} unresolved calls concurrently. Exceeding these limits fails the program.`,
|
|
327
331
|
`The program must finish within ${formatDuration(timeoutMs)}.`,
|
|
328
|
-
...(hasFiles
|
|
329
|
-
? [
|
|
330
|
-
"",
|
|
331
|
-
"## Scratch files",
|
|
332
|
-
"",
|
|
333
|
-
"Scratch files are temporary files shared by every code-mode tool for this agent. Returned absolute paths can be used by Bash and other tools. Do not rely on scratch files for durable storage.",
|
|
334
|
-
"",
|
|
335
|
-
"- `await files.write(name, content)` atomically writes UTF-8 text and returns `{ path, bytes }`.",
|
|
336
|
-
"- `await files.read(name)` reads the current file as UTF-8 text.",
|
|
337
|
-
"- `await files.list()` returns `{ files, totalFiles, totalBytes }`; each file has `{ name, path, bytes }`.",
|
|
338
|
-
"- `await files.remove(name)` removes a file and returns `{ path }`.",
|
|
339
|
-
"",
|
|
340
|
-
`Names must be single UTF-8 basenames of at most 255 bytes. \`files.write()\` rejects changes above ${TAU_CODE_MODE_MAX_FILES} regular files or ${TAU_CODE_MODE_MAX_TOTAL_FILE_BYTES / (1024 * 1024)} MiB total; Bash-created over-limit contents remain visible and removable.`,
|
|
341
|
-
]
|
|
342
|
-
: []),
|
|
343
332
|
"",
|
|
344
333
|
"## Output",
|
|
345
334
|
"",
|
|
346
|
-
|
|
335
|
+
CODE_MODE_MAX_OUTPUT_TOKENS_DESCRIPTION,
|
|
347
336
|
"",
|
|
348
|
-
"Print only relevant parts of API responses, not entire objects or large collections. Filter, select, or summarize before printing. Prefer concise, readable plain text
|
|
337
|
+
"Print only relevant parts of API responses, not entire objects or large collections. Filter, select, or summarize before printing. Prefer concise, readable plain text: labels, lines, and selected fields usually use fewer tokens than JSON envelopes and metadata. Use JSON when the structure itself matters or machine-readable output is requested. Keep identifiers and other fields needed for follow-up actions. Printed output consumes conversation context.",
|
|
349
338
|
"",
|
|
350
339
|
"For example, print selected fields rather than whole objects:",
|
|
351
340
|
"",
|
|
352
341
|
"```js",
|
|
353
|
-
'
|
|
342
|
+
'printText(items.map(item => item.id + ": " + item.title).join("\\n"));',
|
|
354
343
|
"```",
|
|
355
344
|
"",
|
|
356
345
|
"When a response contains text blocks, print their text rather than serializing the surrounding objects:",
|
|
357
346
|
"",
|
|
358
347
|
"```js",
|
|
359
|
-
"
|
|
348
|
+
"printText(blocks",
|
|
360
349
|
' .filter(block => block.type === "text")',
|
|
361
350
|
" .map(block => block.text)",
|
|
362
351
|
' .join("\\n\\n"));',
|
|
363
352
|
"```",
|
|
364
353
|
"",
|
|
365
|
-
"These examples illustrate output formatting, not API signatures. Use the documented response shape. Forward relevant images with `await
|
|
354
|
+
"These examples illustrate output formatting, not API signatures. Use the documented response shape. Forward relevant images with `await printImage(block)`; never print their base64 data.",
|
|
366
355
|
"",
|
|
367
356
|
"## Images",
|
|
368
357
|
"",
|
|
369
|
-
'Use `await
|
|
358
|
+
'Use `await printImage({ type: "image", data, mimeType })` to forward a base64-encoded image block returned by any API. Images are never forwarded automatically. Do not print base64 data.',
|
|
370
359
|
"Await each call so validation and preparation finish before the program exits. Invalid blocks reject and can be caught. No files are created.",
|
|
371
360
|
`Supported MIME types are image/jpeg, image/png, and image/webp. Each image block, including its base64 data, must fit within ${formatBytes(CODE_MODE_MAX_BRIDGE_PAYLOAD_BYTES)}, and source images cannot exceed ${CODE_MODE_MAX_IMAGE_PIXELS / 1_000_000} megapixels. At most ${SESSION_PROTOCOL_MAX_CLIENT_TOOL_IMAGES} images can be forwarded per program. Images are validated against their actual bytes and resized or re-encoded to fit the model's image limits.`,
|
|
372
|
-
"
|
|
361
|
+
"Printed text and images are returned as ordered content blocks. Adjacent text writes form one text block; each awaited image stays between the text printed before and after it. Text truncation keeps images in their original positions. Complete the program successfully to ensure all outputs are returned.",
|
|
373
362
|
"",
|
|
374
363
|
documentation.trim(),
|
|
375
364
|
].join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/code_mode/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/code_mode/runtime.ts"],"names":[],"mappings":"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"}
|