@markusylisiurunen/tau 0.3.31 → 0.3.32
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 +1 -1
- package/dist/core/auth/auth_manager.js.map +1 -1
- package/dist/core/auth/auth_storage.js +1 -4
- package/dist/core/auth/auth_storage.js.map +1 -1
- package/dist/core/auth/credential_store.js.map +1 -1
- package/dist/core/commands/registry.js.map +1 -1
- package/dist/core/diff_review/bridge.js.map +1 -1
- package/dist/core/diff_review/snapshot.js.map +1 -1
- package/dist/core/install/cli.js.map +1 -1
- package/dist/core/models/tau_extensions.js.map +1 -1
- package/dist/core/modes/websocket_server.js.map +1 -1
- package/dist/core/nook/cli.js.map +1 -1
- package/dist/core/nook/client.js +57 -10
- package/dist/core/nook/client.js.map +1 -1
- package/dist/core/nook/deploy.js +24 -7
- package/dist/core/nook/deploy.js.map +1 -1
- package/dist/core/nook/setup.js.map +1 -1
- package/dist/core/personas.js.map +1 -1
- package/dist/core/session/message_accumulator.js.map +1 -1
- package/dist/core/session/pruning.js.map +1 -1
- package/dist/core/session/runner.js.map +1 -1
- package/dist/core/session/session_engine.js.map +1 -1
- package/dist/core/static/code_mode/nook/documentation.md +214 -0
- package/dist/core/static/code_mode/nook/sandbox_runner.mjs +144 -0
- package/dist/core/static/index.js.map +1 -1
- package/dist/core/telegram/adapter.js +2 -5
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/cli.js.map +1 -1
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/tool/cli.js.map +1 -1
- package/dist/core/tool/pdf_unpack.js.map +1 -1
- package/dist/core/tools/code_mode_worker.js +182 -0
- package/dist/core/tools/code_mode_worker.js.map +1 -0
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/nook.js +233 -217
- package/dist/core/tools/nook.js.map +1 -1
- package/dist/core/tools/web.js +7 -144
- package/dist/core/tools/web.js.map +1 -1
- package/dist/core/usage/cli.js.map +1 -1
- package/dist/core/utils/model_stream.js.map +1 -1
- package/dist/core/utils/project_files.js.map +1 -1
- package/dist/core/utils/spawn_capture.js.map +1 -1
- package/dist/core/utils/tool_preview.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/diff_tool/app/dist/assets/{angular-html-D8c6NJtn.js → angular-html-DbgxQryr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{angular-ts-CKOHcqki.js → angular-ts-Dzjq8SvI.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{apl-CQNGWx_V.js → apl-6AmEMJr-.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{astro-DtaLiRs1.js → astro-BM8EbfIg.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{blade-8lF6vUn0.js → blade-DiKMnN3e.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{c-C4UbPC2L.js → c-DMT5X-u9.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{cobol-B-SqiS-l.js → cobol-CACNMc1O.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{coffee-Dd1E2KHP.js → coffee-D_WUFE0g.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{cpp-fmh9U4o8.js → cpp-BcU9r9kv.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{crystal-ZMQ-EyMz.js → crystal-wh93mtUe.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{css-3Sj4Fmhw.js → css-CCfuUqEr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{edge-CwGnyfEm.js → edge-DP-spcJf.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elixir-B4YFjqQ-.js → elixir-BXBkaEtJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elm-DmUdvg9q.js → elm-BXr8OwKP.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{erb-CMpzjtLy.js → erb-Cu5Zacs_.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{git-rebase-EqdynY_f.js → git-rebase-DO8LWld4.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-js-C04Hkqrn.js → glimmer-js-Bh-OAIDW.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-ts-BYuV-E66.js → glimmer-ts-DI9lHU4q.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glsl-Dw8Wzaba.js → glsl--zoY4RCO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{graphql-CKOWRasR.js → graphql-C8h2T_SC.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hack-DSoYuKAw.js → hack-DAsjGmmw.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{haml-CW2clvKn.js → haml-C2BBBsDW.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{handlebars-Dt42oUMG.js → handlebars-cZMztphK.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{html-BssM8xm3.js → html-BtccomkJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{html-derivative-7ty0Z2kF.js → html-derivative-qjeUe52-.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{http-CzGxCb-E.js → http-Dv8OQO33.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hurl-DMjbA1F9.js → hurl-B6Fnr2ae.js} +1 -1
- package/dist/diff_tool/app/dist/assets/index-U7G4V3LV.js +1579 -0
- package/dist/diff_tool/app/dist/assets/{java-BVtLVPoR.js → java-BuadWMcp.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{javascript-CmzoS6sL.js → javascript-BIKxmHeL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jinja-MpkGgATF.js → jinja-Cm_guvgu.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jison-BJkiJV2g.js → jison-Sst29gJb.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{json-ByAo1NYt.js → json-Bg6l2vym.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jsx-DNzVmx9w.js → jsx-BiREAxkr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{julia-rksgfDyz.js → julia-DAhrWFzr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{just-Bf6HaeeV.js → just-xBwbf5aT.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{latex-Cql66cfm.js → latex-Bydg2zYo.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{liquid-wULyfiX7.js → liquid-BTsCzVvF.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{lua-B1VfQC3R.js → lua-BJt9x0JP.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{marko-D8Hd5-bx.js → marko-CWdJkbvC.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{mdc-DmQ944Ag.js → mdc-B6ddHTKx.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nginx-BDob-g0F.js → nginx-BwS0G4IK.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nim-Det1uggZ.js → nim-B2VFbcs9.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{perl-Dcgc5L27.js → perl-BTeqR-l8.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{php-BjwNWaG2.js → php-Crua7nbA.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{pug-BNSHQAJG.js → pug-CUlgPjMU.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{qml-5kU4d63S.js → qml-DI0IjNUw.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{r-T1WpUQOu.js → r-DRexFFDh.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{razor-Dp-yzXAB.js → razor-DrkKtFm5.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{regexp-CIsu-B9m.js → regexp-DRmxJil7.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{rst-ro17CyW2.js → rst-DiRke36z.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ruby-DU34BtJN.js → ruby-t7r9jzAg.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{sas-DvM2ogJU.js → sas-CR7Z4kg-.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{scss-lF64kkIV.js → scss--CnPWaDv.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellscript-WmDXBLCa.js → shellscript-Bz7H5174.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellsession--GggGr4o.js → shellsession-mlKnHJfN.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{soy-CxEGzs-_.js → soy-CKu9y9G1.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{sql-D8qrGuIn.js → sql-DcvKi3Jj.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{stata-5W1sjsQI.js → stata-Yo25QZyV.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{surrealql-DprXW366.js → surrealql-CUddZ4Qk.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{svelte-CzjcC8Mf.js → svelte-BIhEVbnP.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{templ-BOYl0ITc.js → templ-D6FrV4mZ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tex-fc_nK7Hm.js → tex-BOTYELrL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ts-tags-q7RBsUYS.js → ts-tags-Kqn1PP6m.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tsx-4vmj3sX4.js → tsx-L3TEJWGL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{twig-67g55beP.js → twig-BpzmhnWz.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{typescript-Bx4zhx0M.js → typescript-Dvc5RX4H.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-G4plfR7G.js → vue-X1uI3I2A.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-html-BiigD-BR.js → vue-html-BMpHEoeQ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-vine-Cbdk3EZl.js → vue-vine-DnTGaA4r.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xml-B3vUkid0.js → xml-QlPQXP0d.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xsl-ClW1O00E.js → xsl-JpRU16Li.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{yaml-DBUv6oV4.js → yaml-Djukn3_s.js} +1 -1
- package/dist/diff_tool/app/dist/index.html +1 -1
- package/dist/diff_tool/http_server.js.map +1 -1
- package/dist/diff_tool/index.js.map +1 -1
- package/dist/diff_tool/protocol_client.js.map +1 -1
- package/dist/diff_tool/review_state.js.map +1 -1
- package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/dist/host/client_tool_broker.js.map +1 -1
- package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
- package/dist/host/local_session_host.js +3 -0
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/main.js.map +1 -1
- package/dist/nook/README.md +1 -1
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/session.js.map +1 -1
- package/dist/store/file_session_store.js.map +1 -1
- package/dist/store/memory_session_store.js.map +1 -1
- package/dist/store/session_store.js.map +1 -1
- package/dist/transport/session_protocol_transport_helpers.js.map +1 -1
- package/dist/tui/chat_controller/diff_review_service.js.map +1 -1
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/ui/chat_message_model.js.map +1 -1
- package/dist/tui/ui/components/dynamic_border.js.map +1 -1
- package/dist/tui/ui/components/editor.js.map +1 -1
- package/dist/tui/ui/components/header_box.js.map +1 -1
- package/dist/tui/ui/components/header_line.js.map +1 -1
- package/dist/tui/ui/components/one_line_segments.js.map +1 -1
- package/dist/tui/ui/components/padded_container.js.map +1 -1
- package/dist/tui/ui/footer.js.map +1 -1
- package/dist/tui/ui/pending_messages.js.map +1 -1
- package/dist/tui/ui/session_divider.js.map +1 -1
- package/dist/tui/ui/slash_autocomplete.js.map +1 -1
- package/dist/tui/ui/subagent_editor_pane.js.map +1 -1
- package/dist/tui/ui/theme/theme.js.map +1 -1
- package/package.json +10 -10
- package/dist/diff_tool/app/dist/assets/index-BiNqgTgO.js +0 -1579
package/dist/core/tools/nook.js
CHANGED
|
@@ -1,260 +1,276 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
1
2
|
import { Type } from "typebox";
|
|
2
3
|
import { z } from "zod";
|
|
3
4
|
import { createNookClientFromConfig } from "../nook/client.js";
|
|
4
5
|
import { buildNookDeployManifestFromBackend, buildNookTemplateManifestFromBackend, } from "../nook/deploy.js";
|
|
5
|
-
import {
|
|
6
|
-
import { buildHeadTailPreviewLines } from "../utils/tool_preview.js";
|
|
6
|
+
import { validateNookSiteSlug, validateNookTemplateName } from "../nook/validation.js";
|
|
7
7
|
import { formatZodError } from "../utils/zod.js";
|
|
8
|
-
import {
|
|
8
|
+
import { createCodeModeToolDefinition, } from "./code_mode.js";
|
|
9
|
+
import { executeCodeModeWorker } from "./code_mode_worker.js";
|
|
9
10
|
import { TOOL_NAME_NOOK } from "./tool_names.js";
|
|
11
|
+
const NOOK_CODE_MODE_TIMEOUT_MS = 60_000;
|
|
12
|
+
const NOOK_CODE_MODE_OUTPUT_TOKENS = 8_192;
|
|
13
|
+
const MAX_KV_KEY_LENGTH = 256;
|
|
14
|
+
const MAX_KV_VALUE_BYTES = 64 * 1024;
|
|
10
15
|
const NOOK_DESCRIPTION = [
|
|
11
|
-
"
|
|
16
|
+
"Run a one-shot JavaScript program to operate the configured Nook platform: Tau's Cloudflare-backed static mini-app host for publishing built front-end artifacts with optional per-site same-origin JSON KV.",
|
|
12
17
|
"Do not use this tool autonomously; use it only when the user asks to manage Nook, deploy/publish/host an app or artifact, inspect Nook state, or manage Nook KV.",
|
|
13
18
|
"If the user asks to deploy a static artifact or mini-app, this is usually the right deployment target.",
|
|
19
|
+
"Top-level await is supported. The program receives nook, docs, and console globals.",
|
|
20
|
+
"Only text written through console methods is returned; program return values are ignored.",
|
|
21
|
+
"To discover the available Nook APIs, run a program that prints docs with console.log(docs), then use that documentation in the next turn.",
|
|
22
|
+
"The static docs describe the agent-facing SDK. When app-authoring guidance or the browser/KV contract is needed, print await nook.skill() before authoring the app.",
|
|
14
23
|
"When preparing site files for deployment, write the complete site directory under a fresh mktemp directory and deploy that directory; do not scatter generated site files into the project tree.",
|
|
15
24
|
"Sites and templates can be copied to an existing empty destination directory. Edit/build copied files normally, then deploy a built static directory separately.",
|
|
16
|
-
"Input keys by operation: read_skill, list_sites, and list_templates need only operation; deploy_site and copy_site need site and directory, with public optional only for deploy_site; delete_site needs site; template copy/save/delete operations need template, and copy/save also need directory; get_kv and delete_kv need site and key; put_kv needs site, key, and value; list_kv needs site, with prefix optional.",
|
|
17
25
|
].join(" ");
|
|
18
26
|
export const NOOK_TOOL = {
|
|
19
27
|
name: TOOL_NAME_NOOK,
|
|
20
28
|
description: NOOK_DESCRIPTION,
|
|
21
29
|
parameters: Type.Object({
|
|
22
|
-
|
|
23
|
-
description: "
|
|
24
|
-
enum: [
|
|
25
|
-
"read_skill",
|
|
26
|
-
"deploy_site",
|
|
27
|
-
"copy_site",
|
|
28
|
-
"list_sites",
|
|
29
|
-
"delete_site",
|
|
30
|
-
"list_templates",
|
|
31
|
-
"copy_template",
|
|
32
|
-
"save_template",
|
|
33
|
-
"delete_template",
|
|
34
|
-
"get_kv",
|
|
35
|
-
"put_kv",
|
|
36
|
-
"delete_kv",
|
|
37
|
-
"list_kv",
|
|
38
|
-
],
|
|
30
|
+
code: Type.String({
|
|
31
|
+
description: "JavaScript source to execute. Use console output to return information.",
|
|
39
32
|
}),
|
|
40
|
-
site: Type.Optional(Type.String({
|
|
41
|
-
description: "Nook site slug. Required for deploy_site, copy_site, delete_site, get_kv, put_kv, delete_kv, and list_kv.",
|
|
42
|
-
})),
|
|
43
|
-
directory: Type.Optional(Type.String({
|
|
44
|
-
description: "Directory in the session workspace. Required for deploy_site, copy_site, copy_template, and save_template. Copy operations require the directory to exist and be empty.",
|
|
45
|
-
})),
|
|
46
|
-
public: Type.Optional(Type.Boolean({
|
|
47
|
-
description: "Whether deploy_site should make the active deployment public.",
|
|
48
|
-
})),
|
|
49
|
-
template: Type.Optional(Type.String({
|
|
50
|
-
description: "Template name. Required for copy_template, save_template, and delete_template.",
|
|
51
|
-
})),
|
|
52
|
-
key: Type.Optional(Type.String({ description: "KV key. Required for get_kv, put_kv, and delete_kv." })),
|
|
53
|
-
value: Type.Optional(Type.Unknown({ description: "JSON-serializable KV value. Required for put_kv." })),
|
|
54
|
-
prefix: Type.Optional(Type.String({ description: "Optional KV key prefix filter for list_kv." })),
|
|
55
33
|
}, { additionalProperties: false }),
|
|
56
34
|
};
|
|
57
35
|
const nookArgsSchema = z
|
|
58
36
|
.object({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
]),
|
|
74
|
-
site: z.string().trim().min(1).optional(),
|
|
75
|
-
template: z.string().trim().min(1).optional(),
|
|
76
|
-
directory: z.string().trim().min(1).optional(),
|
|
77
|
-
public: z.boolean().optional(),
|
|
78
|
-
key: z.string().trim().min(1).optional(),
|
|
79
|
-
value: z.unknown().optional(),
|
|
37
|
+
code: z.string().trim().min(1),
|
|
38
|
+
})
|
|
39
|
+
.strict();
|
|
40
|
+
const nonEmptyStringSchema = z.string().trim().min(1);
|
|
41
|
+
const directorySchema = nonEmptyStringSchema;
|
|
42
|
+
const fileSchema = nonEmptyStringSchema;
|
|
43
|
+
const keySchema = z.string().min(1).max(MAX_KV_KEY_LENGTH);
|
|
44
|
+
const visibilityOptionsSchema = z
|
|
45
|
+
.object({
|
|
46
|
+
visibility: z.enum(["private", "public"]),
|
|
47
|
+
})
|
|
48
|
+
.strict();
|
|
49
|
+
const kvListOptionsSchema = z
|
|
50
|
+
.object({
|
|
80
51
|
prefix: z.string().optional(),
|
|
81
52
|
})
|
|
82
53
|
.strict();
|
|
83
|
-
function
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
54
|
+
function validatedPathLabel(validate) {
|
|
55
|
+
return nonEmptyStringSchema.superRefine((value, context) => {
|
|
56
|
+
const result = validate(value);
|
|
57
|
+
if (!result.ok) {
|
|
58
|
+
context.addIssue({ code: z.ZodIssueCode.custom, message: result.message });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
89
61
|
}
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
62
|
+
const siteSchema = validatedPathLabel(validateNookSiteSlug);
|
|
63
|
+
const templateSchema = validatedPathLabel(validateNookTemplateName);
|
|
64
|
+
const documentation = readFileSync(new URL("../static/code_mode/nook/documentation.md", import.meta.url), "utf8");
|
|
65
|
+
const sandboxRunnerUrl = new URL("../static/code_mode/nook/sandbox_runner.mjs", import.meta.url);
|
|
66
|
+
function parseNookArguments(raw) {
|
|
67
|
+
const rawCode = typeof raw === "object" && raw !== null && typeof raw.code === "string"
|
|
68
|
+
? raw.code
|
|
69
|
+
: "";
|
|
70
|
+
const displayTarget = rawCode
|
|
71
|
+
.split(/\r?\n/)
|
|
72
|
+
.map((line) => line.trim())
|
|
73
|
+
.find(Boolean) ?? "(invalid code)";
|
|
74
|
+
const parsed = nookArgsSchema.safeParse(raw);
|
|
75
|
+
if (!parsed.success) {
|
|
76
|
+
return {
|
|
77
|
+
ok: false,
|
|
78
|
+
error: formatZodError(parsed.error),
|
|
79
|
+
code: rawCode,
|
|
80
|
+
displayTarget,
|
|
81
|
+
};
|
|
96
82
|
}
|
|
97
|
-
return
|
|
83
|
+
return {
|
|
84
|
+
ok: true,
|
|
85
|
+
args: parsed.data,
|
|
86
|
+
code: parsed.data.code,
|
|
87
|
+
displayTarget,
|
|
88
|
+
};
|
|
98
89
|
}
|
|
99
|
-
function
|
|
100
|
-
|
|
101
|
-
|
|
90
|
+
function parseBridgeArguments(request) {
|
|
91
|
+
try {
|
|
92
|
+
return JSON.parse(request.argsJson);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
throw new Error("invalid nook bridge arguments");
|
|
102
96
|
}
|
|
103
|
-
return args.value;
|
|
104
97
|
}
|
|
105
|
-
function
|
|
106
|
-
|
|
98
|
+
function parseMethodArguments(method, args, schema) {
|
|
99
|
+
const parsed = schema.safeParse(args);
|
|
100
|
+
if (!parsed.success) {
|
|
101
|
+
throw new Error(`Invalid nook.${method} arguments: ${formatZodError(parsed.error)}`);
|
|
102
|
+
}
|
|
103
|
+
return parsed.data;
|
|
107
104
|
}
|
|
108
105
|
function joinBackendPath(dir, relativePath) {
|
|
109
106
|
const trimmedDir = dir.replace(/\/+$/, "");
|
|
110
107
|
const trimmedPath = relativePath.replace(/^\/+/, "");
|
|
111
108
|
return trimmedDir ? `${trimmedDir}/${trimmedPath}` : trimmedPath;
|
|
112
109
|
}
|
|
113
|
-
function
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
const fullLines = fallback.split("\n").map((text) => ({ text }));
|
|
121
|
-
return { previewLines, fullLines };
|
|
110
|
+
async function requireEmptyDirectory(backend, directory, artifact, signal) {
|
|
111
|
+
signal.throwIfAborted();
|
|
112
|
+
const destination = await backend.listDir(directory);
|
|
113
|
+
signal.throwIfAborted();
|
|
114
|
+
if (destination.entries.length > 0) {
|
|
115
|
+
throw new Error(`${artifact} copy destination is not empty: ${directory}`);
|
|
116
|
+
}
|
|
122
117
|
}
|
|
123
|
-
function
|
|
118
|
+
async function copySite(client, backend, site, directory, signal) {
|
|
119
|
+
await requireEmptyDirectory(backend, directory, "site", signal);
|
|
120
|
+
const manifest = await client.getSiteManifest(site);
|
|
121
|
+
signal.throwIfAborted();
|
|
122
|
+
const files = await client.downloadSiteFiles(site, manifest);
|
|
123
|
+
signal.throwIfAborted();
|
|
124
|
+
for (const file of files) {
|
|
125
|
+
signal.throwIfAborted();
|
|
126
|
+
await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
|
|
127
|
+
signal.throwIfAborted();
|
|
128
|
+
}
|
|
124
129
|
return {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
site,
|
|
131
|
+
directory,
|
|
132
|
+
deploymentId: manifest.deploymentId,
|
|
133
|
+
visibility: manifest.visibility,
|
|
134
|
+
fileCount: files.length,
|
|
135
|
+
byteCount: files.reduce((total, file) => total + file.sizeBytes, 0),
|
|
131
136
|
};
|
|
132
137
|
}
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
async function copyTemplate(client, backend, template, directory, signal) {
|
|
139
|
+
await requireEmptyDirectory(backend, directory, "template", signal);
|
|
140
|
+
const manifest = await client.getTemplateManifest(template);
|
|
141
|
+
signal.throwIfAborted();
|
|
142
|
+
const files = await client.downloadTemplateFiles(template, manifest);
|
|
143
|
+
signal.throwIfAborted();
|
|
144
|
+
for (const file of files) {
|
|
145
|
+
signal.throwIfAborted();
|
|
146
|
+
await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
|
|
147
|
+
signal.throwIfAborted();
|
|
148
|
+
}
|
|
149
|
+
return { ...manifest.template, directory };
|
|
150
|
+
}
|
|
151
|
+
async function writeKvToFile(client, backend, site, key, file, signal) {
|
|
152
|
+
const value = await client.getKv(site, key);
|
|
153
|
+
signal.throwIfAborted();
|
|
154
|
+
const content = JSON.stringify(value);
|
|
155
|
+
if (content === undefined) {
|
|
156
|
+
throw new Error(`nook.kv.getToFile received a non-JSON value for ${site}/${key}`);
|
|
157
|
+
}
|
|
158
|
+
const result = await backend.writeFile(file, content);
|
|
159
|
+
signal.throwIfAborted();
|
|
160
|
+
return { site, key, file: result.path, bytes: result.bytes };
|
|
161
|
+
}
|
|
162
|
+
async function readKvFromFile(client, backend, site, key, file, signal) {
|
|
163
|
+
signal.throwIfAborted();
|
|
164
|
+
const result = await backend.readFileBinary(file, { maxBytes: MAX_KV_VALUE_BYTES });
|
|
165
|
+
signal.throwIfAborted();
|
|
166
|
+
let value;
|
|
167
|
+
try {
|
|
168
|
+
value = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(result.content));
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
172
|
+
throw new Error(`invalid JSON in KV file '${file}': ${message}`);
|
|
173
|
+
}
|
|
174
|
+
const stored = await client.putKv(site, key, value);
|
|
175
|
+
return { ...stored, file: result.path };
|
|
176
|
+
}
|
|
177
|
+
async function handleNookRequest(request, deps, config, backend, signal) {
|
|
178
|
+
const args = parseBridgeArguments(request);
|
|
179
|
+
const createClient = () => deps.createClient({ config, signal });
|
|
180
|
+
switch (request.method) {
|
|
181
|
+
case "skill": {
|
|
182
|
+
parseMethodArguments("skill", args, z.tuple([]));
|
|
183
|
+
return createClient().readSkill();
|
|
184
|
+
}
|
|
185
|
+
case "sites.list": {
|
|
186
|
+
parseMethodArguments("sites.list", args, z.tuple([]));
|
|
187
|
+
return createClient().listSites();
|
|
188
|
+
}
|
|
189
|
+
case "sites.copy": {
|
|
190
|
+
const [site, directory] = parseMethodArguments("sites.copy", args, z.tuple([siteSchema, directorySchema]));
|
|
191
|
+
return copySite(createClient(), backend, site, directory, signal);
|
|
192
|
+
}
|
|
193
|
+
case "sites.deploy": {
|
|
194
|
+
const [site, directory, options] = parseMethodArguments("sites.deploy", args, z.tuple([siteSchema, directorySchema, visibilityOptionsSchema]));
|
|
195
|
+
const files = await buildNookDeployManifestFromBackend(backend, directory, signal);
|
|
196
|
+
signal.throwIfAborted();
|
|
197
|
+
return createClient().deploySite({ site, files, visibility: options.visibility });
|
|
198
|
+
}
|
|
199
|
+
case "sites.delete": {
|
|
200
|
+
const [site] = parseMethodArguments("sites.delete", args, z.tuple([siteSchema]));
|
|
201
|
+
return createClient().deleteSite(site);
|
|
202
|
+
}
|
|
203
|
+
case "templates.list": {
|
|
204
|
+
parseMethodArguments("templates.list", args, z.tuple([]));
|
|
205
|
+
return createClient().listTemplates();
|
|
206
|
+
}
|
|
207
|
+
case "templates.copy": {
|
|
208
|
+
const [template, directory] = parseMethodArguments("templates.copy", args, z.tuple([templateSchema, directorySchema]));
|
|
209
|
+
return copyTemplate(createClient(), backend, template, directory, signal);
|
|
210
|
+
}
|
|
211
|
+
case "templates.save": {
|
|
212
|
+
const [template, directory] = parseMethodArguments("templates.save", args, z.tuple([templateSchema, directorySchema]));
|
|
213
|
+
const files = await buildNookTemplateManifestFromBackend(backend, directory, signal);
|
|
214
|
+
signal.throwIfAborted();
|
|
215
|
+
return createClient().saveTemplate({ name: template, files });
|
|
216
|
+
}
|
|
217
|
+
case "templates.delete": {
|
|
218
|
+
const [template] = parseMethodArguments("templates.delete", args, z.tuple([templateSchema]));
|
|
219
|
+
return createClient().deleteTemplate(template);
|
|
220
|
+
}
|
|
221
|
+
case "kv.get": {
|
|
222
|
+
const [site, key] = parseMethodArguments("kv.get", args, z.tuple([siteSchema, keySchema]));
|
|
223
|
+
return createClient().getKv(site, key);
|
|
224
|
+
}
|
|
225
|
+
case "kv.getToFile": {
|
|
226
|
+
const [site, key, file] = parseMethodArguments("kv.getToFile", args, z.tuple([siteSchema, keySchema, fileSchema]));
|
|
227
|
+
return writeKvToFile(createClient(), backend, site, key, file, signal);
|
|
228
|
+
}
|
|
229
|
+
case "kv.put": {
|
|
230
|
+
const [site, key, value] = parseMethodArguments("kv.put", args, z.tuple([siteSchema, keySchema, z.json()]));
|
|
231
|
+
return createClient().putKv(site, key, value);
|
|
232
|
+
}
|
|
233
|
+
case "kv.putFromFile": {
|
|
234
|
+
const [site, key, file] = parseMethodArguments("kv.putFromFile", args, z.tuple([siteSchema, keySchema, fileSchema]));
|
|
235
|
+
return readKvFromFile(createClient(), backend, site, key, file, signal);
|
|
236
|
+
}
|
|
237
|
+
case "kv.delete": {
|
|
238
|
+
const [site, key] = parseMethodArguments("kv.delete", args, z.tuple([siteSchema, keySchema]));
|
|
239
|
+
return createClient().deleteKv(site, key);
|
|
240
|
+
}
|
|
241
|
+
case "kv.list": {
|
|
242
|
+
const [site, options] = parseMethodArguments("kv.list", args, z.union([
|
|
243
|
+
z.tuple([siteSchema]).transform(([site]) => [site, {}]),
|
|
244
|
+
z.tuple([siteSchema, kvListOptionsSchema]),
|
|
245
|
+
]));
|
|
246
|
+
const result = await createClient().listKv(site, options.prefix);
|
|
247
|
+
return result.keys;
|
|
248
|
+
}
|
|
249
|
+
default:
|
|
250
|
+
throw new Error(`unsupported nook method '${request.method}'`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function executeNookProgram(code, deps, config, backend, signal, timeoutMs) {
|
|
254
|
+
return executeCodeModeWorker({
|
|
255
|
+
sandboxRunnerUrl,
|
|
256
|
+
workerData: { code, docs: documentation },
|
|
257
|
+
signal,
|
|
258
|
+
timeoutMs,
|
|
259
|
+
handleRequest: (request, requestSignal) => handleNookRequest(request, deps, config, backend, requestSignal),
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
const defaultDeps = {
|
|
263
|
+
createClient: createNookClientFromConfig,
|
|
264
|
+
};
|
|
265
|
+
export function createNookToolDefinition(backend, deps = defaultDeps) {
|
|
266
|
+
const timeoutMs = deps.timeoutMs ?? NOOK_CODE_MODE_TIMEOUT_MS;
|
|
267
|
+
const implementation = {
|
|
135
268
|
schema: NOOK_TOOL,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (!parsed.success) {
|
|
141
|
-
const message = `Invalid arguments: ${formatZodError(parsed.error)}`;
|
|
142
|
-
return {
|
|
143
|
-
toolResult: createToolError(toolCall, message),
|
|
144
|
-
uiEvent: buildUiEvent(toolCall, "error", message),
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
try {
|
|
148
|
-
const args = parsed.data;
|
|
149
|
-
const client = createNookClientFromConfig({ config: context.config });
|
|
150
|
-
let result;
|
|
151
|
-
switch (args.operation) {
|
|
152
|
-
case "read_skill":
|
|
153
|
-
result = await client.readSkill();
|
|
154
|
-
break;
|
|
155
|
-
case "list_sites":
|
|
156
|
-
result = { sites: await client.listSites() };
|
|
157
|
-
break;
|
|
158
|
-
case "delete_site":
|
|
159
|
-
result = await client.deleteSite(requireArg(args, "site"));
|
|
160
|
-
break;
|
|
161
|
-
case "copy_site": {
|
|
162
|
-
const site = requireArg(args, "site");
|
|
163
|
-
const directory = requireArg(args, "directory");
|
|
164
|
-
const destination = await backend.listDir(directory);
|
|
165
|
-
if (destination.entries.length > 0) {
|
|
166
|
-
throw new Error(`site copy destination is not empty: ${directory}`);
|
|
167
|
-
}
|
|
168
|
-
const manifest = await client.getSiteManifest(site);
|
|
169
|
-
const files = await client.downloadSiteFiles(site, manifest);
|
|
170
|
-
for (const file of files) {
|
|
171
|
-
await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
|
|
172
|
-
}
|
|
173
|
-
result = {
|
|
174
|
-
site,
|
|
175
|
-
directory,
|
|
176
|
-
deploymentId: manifest.deploymentId,
|
|
177
|
-
fileCount: files.length,
|
|
178
|
-
byteCount: files.reduce((total, file) => total + file.sizeBytes, 0),
|
|
179
|
-
};
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
case "list_templates":
|
|
183
|
-
result = { templates: await client.listTemplates() };
|
|
184
|
-
break;
|
|
185
|
-
case "copy_template": {
|
|
186
|
-
const template = requireArg(args, "template");
|
|
187
|
-
const directory = requireArg(args, "directory");
|
|
188
|
-
const destination = await backend.listDir(directory);
|
|
189
|
-
if (destination.entries.length > 0) {
|
|
190
|
-
throw new Error(`template copy destination is not empty: ${directory}`);
|
|
191
|
-
}
|
|
192
|
-
const manifest = await client.getTemplateManifest(template);
|
|
193
|
-
const files = await client.downloadTemplateFiles(template, manifest);
|
|
194
|
-
for (const file of files) {
|
|
195
|
-
await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
|
|
196
|
-
}
|
|
197
|
-
result = {
|
|
198
|
-
template,
|
|
199
|
-
directory,
|
|
200
|
-
fileCount: files.length,
|
|
201
|
-
byteCount: files.reduce((total, file) => total + file.sizeBytes, 0),
|
|
202
|
-
};
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
case "save_template": {
|
|
206
|
-
const files = await buildNookTemplateManifestFromBackend(backend, requireArg(args, "directory"));
|
|
207
|
-
result = await client.saveTemplate({
|
|
208
|
-
name: requireArg(args, "template"),
|
|
209
|
-
files,
|
|
210
|
-
});
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
case "delete_template":
|
|
214
|
-
result = await client.deleteTemplate(requireArg(args, "template"));
|
|
215
|
-
break;
|
|
216
|
-
case "deploy_site": {
|
|
217
|
-
const directory = requireArg(args, "directory");
|
|
218
|
-
const files = await buildNookDeployManifestFromBackend(backend, directory);
|
|
219
|
-
result = await client.deploySite({
|
|
220
|
-
site: requireArg(args, "site"),
|
|
221
|
-
files,
|
|
222
|
-
visibility: args.public ? "public" : "private",
|
|
223
|
-
});
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
case "get_kv":
|
|
227
|
-
result = {
|
|
228
|
-
site: requireArg(args, "site"),
|
|
229
|
-
key: requireArg(args, "key"),
|
|
230
|
-
value: await client.getKv(requireArg(args, "site"), requireArg(args, "key")),
|
|
231
|
-
};
|
|
232
|
-
break;
|
|
233
|
-
case "put_kv":
|
|
234
|
-
result = await client.putKv(requireArg(args, "site"), requireArg(args, "key"), requireValue(args));
|
|
235
|
-
break;
|
|
236
|
-
case "delete_kv":
|
|
237
|
-
result = await client.deleteKv(requireArg(args, "site"), requireArg(args, "key"));
|
|
238
|
-
break;
|
|
239
|
-
case "list_kv":
|
|
240
|
-
result = await client.listKv(requireArg(args, "site"), args.prefix);
|
|
241
|
-
break;
|
|
242
|
-
}
|
|
243
|
-
const text = typeof result === "string" ? result : stringifyResult(result);
|
|
244
|
-
return {
|
|
245
|
-
toolResult: createToolSuccess(toolCall, text),
|
|
246
|
-
uiEvent: buildUiEvent(toolCall, "success", text),
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
catch (error) {
|
|
250
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
251
|
-
return {
|
|
252
|
-
toolResult: createToolError(toolCall, message),
|
|
253
|
-
uiEvent: buildUiEvent(toolCall, "error", message),
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
},
|
|
269
|
+
outputPolicy: { maxTokens: NOOK_CODE_MODE_OUTPUT_TOKENS },
|
|
270
|
+
timeoutMs,
|
|
271
|
+
parseArguments: parseNookArguments,
|
|
272
|
+
execute: async ({ code, context, signal, backend: executionBackend }) => executeNookProgram(code, deps, context.config, executionBackend, signal, timeoutMs),
|
|
258
273
|
};
|
|
274
|
+
return createCodeModeToolDefinition(backend, implementation);
|
|
259
275
|
}
|
|
260
276
|
//# sourceMappingURL=nook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"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"}
|