@markusylisiurunen/tau 0.3.9 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +37 -1
  2. package/dist/core/cli.js +3 -0
  3. package/dist/core/cli.js.map +1 -1
  4. package/dist/core/config/index.js +1 -1
  5. package/dist/core/config/index.js.map +1 -1
  6. package/dist/core/config/schema.js +68 -0
  7. package/dist/core/config/schema.js.map +1 -1
  8. package/dist/core/index.js +2 -0
  9. package/dist/core/index.js.map +1 -1
  10. package/dist/core/nook/cli.js +196 -0
  11. package/dist/core/nook/cli.js.map +1 -0
  12. package/dist/core/nook/client.js +164 -0
  13. package/dist/core/nook/client.js.map +1 -0
  14. package/dist/core/nook/deploy.js +116 -0
  15. package/dist/core/nook/deploy.js.map +1 -0
  16. package/dist/core/nook/index.js +5 -0
  17. package/dist/core/nook/index.js.map +1 -0
  18. package/dist/core/nook/setup.js +309 -0
  19. package/dist/core/nook/setup.js.map +1 -0
  20. package/dist/core/nook/validation.js +149 -0
  21. package/dist/core/nook/validation.js.map +1 -0
  22. package/dist/core/session/session_engine.js +20 -4
  23. package/dist/core/session/session_engine.js.map +1 -1
  24. package/dist/core/telegram/adapter.js +88 -5
  25. package/dist/core/telegram/adapter.js.map +1 -1
  26. package/dist/core/telegram/session_manager.js +11 -0
  27. package/dist/core/telegram/session_manager.js.map +1 -1
  28. package/dist/core/tools/catalog.js +2 -0
  29. package/dist/core/tools/catalog.js.map +1 -1
  30. package/dist/core/tools/nook.js +175 -0
  31. package/dist/core/tools/nook.js.map +1 -0
  32. package/dist/core/tools/tool_names.js +2 -0
  33. package/dist/core/tools/tool_names.js.map +1 -1
  34. package/dist/core/version.js +1 -1
  35. package/dist/core/version.js.map +1 -1
  36. package/dist/main.js +23 -1
  37. package/dist/main.js.map +1 -1
  38. package/dist/nook/README.md +96 -0
  39. package/dist/nook/worker/index.js +767 -0
  40. package/dist/nook/worker/index.js.map +1 -0
  41. package/package.json +3 -2
@@ -0,0 +1,175 @@
1
+ import { Type } from "typebox";
2
+ import { z } from "zod";
3
+ import { createNookClientFromConfig } from "../nook/client.js";
4
+ import { buildNookDeployManifestFromBackend } from "../nook/deploy.js";
5
+ import { createToolError, createToolSuccess } from "../utils/messages.js";
6
+ import { formatZodError } from "../utils/zod.js";
7
+ import { TOOL_NAME_NOOK } from "./tool_names.js";
8
+ const NOOK_DESCRIPTION = [
9
+ "Operate the configured Nook platform: Tau's Cloudflare-backed static mini-app host for publishing built front-end artifacts to https://<site>.<nook-domain>/ with optional per-site same-origin JSON KV.",
10
+ "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.",
11
+ "If the user asks to deploy a static artifact or mini-app, this is usually the right deployment target.",
12
+ "All operations require read-write risk.",
13
+ "Input keys by operation: read_skill and list_sites need only operation; deploy_site needs site and directory, with public optional; delete_site needs site; get_kv and delete_kv need site and key; put_kv needs site, key, and value; list_kv needs site, with prefix optional.",
14
+ ].join(" ");
15
+ export const NOOK_TOOL = {
16
+ name: TOOL_NAME_NOOK,
17
+ description: NOOK_DESCRIPTION,
18
+ parameters: Type.Object({
19
+ operation: Type.String({
20
+ description: "Operation to run. Required keys: read_skill/list_sites only operation; deploy_site site+directory; delete_site site; get_kv/delete_kv site+key; put_kv site+key+value; list_kv site.",
21
+ enum: [
22
+ "read_skill",
23
+ "deploy_site",
24
+ "list_sites",
25
+ "delete_site",
26
+ "get_kv",
27
+ "put_kv",
28
+ "delete_kv",
29
+ "list_kv",
30
+ ],
31
+ }),
32
+ site: Type.Optional(Type.String({
33
+ description: "Nook site slug. Required for deploy_site, delete_site, get_kv, put_kv, delete_kv, and list_kv.",
34
+ })),
35
+ directory: Type.Optional(Type.String({
36
+ description: "Static directory to deploy from the session workspace. Required for deploy_site.",
37
+ })),
38
+ public: Type.Optional(Type.Boolean({
39
+ description: "Whether deploy_site should make the active deployment public.",
40
+ })),
41
+ key: Type.Optional(Type.String({ description: "KV key. Required for get_kv, put_kv, and delete_kv." })),
42
+ value: Type.Optional(Type.Unknown({ description: "JSON-serializable KV value. Required for put_kv." })),
43
+ prefix: Type.Optional(Type.String({ description: "Optional KV key prefix filter for list_kv." })),
44
+ }, { additionalProperties: false }),
45
+ };
46
+ const nookArgsSchema = z
47
+ .object({
48
+ operation: z.enum([
49
+ "read_skill",
50
+ "deploy_site",
51
+ "list_sites",
52
+ "delete_site",
53
+ "get_kv",
54
+ "put_kv",
55
+ "delete_kv",
56
+ "list_kv",
57
+ ]),
58
+ site: z.string().trim().min(1).optional(),
59
+ directory: z.string().trim().min(1).optional(),
60
+ public: z.boolean().optional(),
61
+ key: z.string().trim().min(1).optional(),
62
+ value: z.unknown().optional(),
63
+ prefix: z.string().optional(),
64
+ })
65
+ .strict();
66
+ function requireArg(args, key) {
67
+ const value = args[key];
68
+ if (!value) {
69
+ throw new Error(`${args.operation} requires ${key}`);
70
+ }
71
+ return value;
72
+ }
73
+ function requireValue(args) {
74
+ if (args.value === undefined) {
75
+ throw new Error(`${args.operation} requires value`);
76
+ }
77
+ return args.value;
78
+ }
79
+ function stringifyResult(value) {
80
+ return JSON.stringify(value, null, 2);
81
+ }
82
+ function buildUiEvent(toolCall, status, message) {
83
+ return {
84
+ type: "client_tool_finished",
85
+ toolCallId: toolCall.id,
86
+ toolName: TOOL_NAME_NOOK,
87
+ headerTarget: TOOL_NAME_NOOK,
88
+ status,
89
+ uiText: {
90
+ previewLines: [{ text: message }],
91
+ fullLines: [{ text: message }],
92
+ },
93
+ };
94
+ }
95
+ export function createNookToolDefinition(backend) {
96
+ return {
97
+ schema: NOOK_TOOL,
98
+ async dispatch(toolCall, riskLevel, _signal, context) {
99
+ const parsed = nookArgsSchema.safeParse(toolCall.arguments);
100
+ if (!parsed.success) {
101
+ const message = `Invalid arguments: ${formatZodError(parsed.error)}`;
102
+ return {
103
+ kind: "single",
104
+ toolResult: createToolError(toolCall, message),
105
+ uiEvent: buildUiEvent(toolCall, "error", message),
106
+ };
107
+ }
108
+ if (riskLevel !== "read-write") {
109
+ const message = `Requires risk level 'read-write', but the current level is '${riskLevel}'. Ask the user to run /risk:read-write.`;
110
+ return {
111
+ kind: "single",
112
+ toolResult: createToolError(toolCall, message),
113
+ uiEvent: buildUiEvent(toolCall, "error", message),
114
+ };
115
+ }
116
+ try {
117
+ const args = parsed.data;
118
+ const client = createNookClientFromConfig({ config: context.config });
119
+ let result;
120
+ switch (args.operation) {
121
+ case "read_skill":
122
+ result = await client.readSkill();
123
+ break;
124
+ case "list_sites":
125
+ result = { sites: await client.listSites() };
126
+ break;
127
+ case "delete_site":
128
+ result = await client.deleteSite(requireArg(args, "site"));
129
+ break;
130
+ case "deploy_site": {
131
+ const directory = requireArg(args, "directory");
132
+ const files = await buildNookDeployManifestFromBackend(backend, directory);
133
+ result = await client.deploySite({
134
+ site: requireArg(args, "site"),
135
+ files,
136
+ visibility: args.public ? "public" : "private",
137
+ });
138
+ break;
139
+ }
140
+ case "get_kv":
141
+ result = {
142
+ site: requireArg(args, "site"),
143
+ key: requireArg(args, "key"),
144
+ value: await client.getKv(requireArg(args, "site"), requireArg(args, "key")),
145
+ };
146
+ break;
147
+ case "put_kv":
148
+ result = await client.putKv(requireArg(args, "site"), requireArg(args, "key"), requireValue(args));
149
+ break;
150
+ case "delete_kv":
151
+ result = await client.deleteKv(requireArg(args, "site"), requireArg(args, "key"));
152
+ break;
153
+ case "list_kv":
154
+ result = await client.listKv(requireArg(args, "site"), args.prefix);
155
+ break;
156
+ }
157
+ const text = typeof result === "string" ? result : stringifyResult(result);
158
+ return {
159
+ kind: "single",
160
+ toolResult: createToolSuccess(toolCall, text),
161
+ uiEvent: buildUiEvent(toolCall, "success", text.split("\n")[0] ?? "nook completed"),
162
+ };
163
+ }
164
+ catch (error) {
165
+ const message = error instanceof Error ? error.message : String(error);
166
+ return {
167
+ kind: "single",
168
+ toolResult: createToolError(toolCall, message),
169
+ uiEvent: buildUiEvent(toolCall, "error", message),
170
+ };
171
+ }
172
+ },
173
+ };
174
+ }
175
+ //# sourceMappingURL=nook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export const TOOL_NAME_WEB_FETCH = "web_fetch";
13
13
  export const TOOL_NAME_READ = "read";
14
14
  export const TOOL_NAME_LIST = "list";
15
15
  export const TOOL_NAME_GREP = "grep";
16
+ export const TOOL_NAME_NOOK = "nook";
16
17
  export const TOOL_NAMES = [
17
18
  TOOL_NAME_BASH,
18
19
  TOOL_NAME_WRITE,
@@ -28,5 +29,6 @@ export const TOOL_NAMES = [
28
29
  TOOL_NAME_READ,
29
30
  TOOL_NAME_LIST,
30
31
  TOOL_NAME_GREP,
32
+ TOOL_NAME_NOOK,
31
33
  ];
32
34
  //# sourceMappingURL=tool_names.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool_names.js","sourceRoot":"","sources":["../../../src/core/tools/tool_names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,qBAAqB;IACrB,6BAA6B;IAC7B,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,cAAc;IACd,cAAc;CACN,CAAC"}
1
+ {"version":3,"file":"tool_names.js","sourceRoot":"","sources":["../../../src/core/tools/tool_names.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,qBAAqB;IACrB,6BAA6B;IAC7B,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;CACN,CAAC"}
@@ -1,2 +1,2 @@
1
- export const APP_VERSION = "0.3.9";
1
+ export const APP_VERSION = "0.3.11";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
package/dist/main.js CHANGED
@@ -4,7 +4,7 @@ import { homedir } from "node:os";
4
4
  import { isAbsolute } from "node:path";
5
5
  import { createInterface } from "node:readline";
6
6
  import { fileURLToPath } from "node:url";
7
- import { AuthStorage, CliError, createDefaultConfigDeps, createDefaultCoreDeps, createLocalToolExecutionBackend, getAuthPath, InstallCliError, loadConfig, loadRuntimeBootstrap, loadRuntimeConfig, parseCliArgs, parsePersonaString, printDebugInfo, printDiffToolHelp, printHelp, printInstallHelp, printTelegramHelp, printUsageHelp, runInstallCommand, runListCommand, runLoginCommand, runLogoutCommand, runRpcServer, runTelegramCommand, runToolCommand, runUsageCommand, runWebSocketSessionServer, TelegramCliError, ToolCatalog, ToolCliError, UsageCliError, } from "./core/index.js";
7
+ import { AuthStorage, CliError, createDefaultConfigDeps, createDefaultCoreDeps, createLocalToolExecutionBackend, getAuthPath, InstallCliError, loadConfig, loadRuntimeBootstrap, loadRuntimeConfig, NookCliError, parseCliArgs, parsePersonaString, printDebugInfo, printDiffToolHelp, printHelp, printInstallHelp, printNookHelp, printTelegramHelp, printUsageHelp, runInstallCommand, runListCommand, runLoginCommand, runLogoutCommand, runNookCommand, runRpcServer, runTelegramCommand, runToolCommand, runUsageCommand, runWebSocketSessionServer, TelegramCliError, ToolCatalog, ToolCliError, UsageCliError, } from "./core/index.js";
8
8
  import { getStartupPlatformError } from "./core/platform_support.js";
9
9
  import { createBuiltInDiffToolConfig, DiffToolLaunchEnvironmentError, runBuiltInDiffToolCommand, } from "./diff_tool/index.js";
10
10
  import { CloudflareSandboxExecutionEnvironmentResolver } from "./execution/cloudflare_sandbox_execution_environment.js";
@@ -565,6 +565,28 @@ if (argv[0] === "install") {
565
565
  throw err;
566
566
  }
567
567
  }
568
+ if (argv[0] === "nook") {
569
+ try {
570
+ const nookConfig = loadConfig(cwd, configDeps);
571
+ await runNookCommand(argv.slice(1), {
572
+ cwd,
573
+ env: process.env,
574
+ config: nookConfig,
575
+ });
576
+ process.exit(0);
577
+ }
578
+ catch (err) {
579
+ if (err instanceof NookCliError) {
580
+ // eslint-disable-next-line no-console
581
+ console.error(err.message);
582
+ // eslint-disable-next-line no-console
583
+ console.error("");
584
+ printNookHelp();
585
+ process.exit(1);
586
+ }
587
+ throw err;
588
+ }
589
+ }
568
590
  if (argv[0] === "telegram") {
569
591
  try {
570
592
  const telegramConfig = loadConfig(cwd, configDeps);
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ # Nook
2
+
3
+ Nook is Tau's bundled Cloudflare-backed static mini-app platform. It deploys static directories to wildcard subdomains and gives each site a small same-origin JSON KV API exposed through `window.nook`.
4
+
5
+ V0 scope is intentionally narrow:
6
+
7
+ - Cloudflare only: one Worker, R2 assets, a global Registry Durable Object, and one Site Durable Object per site.
8
+ - Static assets only. Build locally first, then deploy the output directory.
9
+ - Sites live at `https://<site>.<nook-domain>/`; there are no path-based app URLs or `workers.dev` fallback.
10
+ - Deploys are private by default. `--public` makes the active deployment public; omitting it on the next deploy makes the active deployment private again.
11
+ - Browser KV is per-site JSON state. It survives redeploys and is public-writable when the active deployment is public.
12
+
13
+ ## setup
14
+
15
+ Install Wrangler yourself and authenticate it non-interactively with `CLOUDFLARE_API_TOKEN`.
16
+
17
+ ```sh
18
+ tau nook setup \
19
+ --domain nook.example.com \
20
+ --access-team-domain https://team.cloudflareaccess.com \
21
+ --access-aud <access-application-audience>
22
+ ```
23
+
24
+ Setup deploys the bundled Worker as `tau-nook`, creates the `tau-nook-assets` R2 bucket where possible, and prints the Tau config block to add after you create a Cloudflare Access service token:
25
+
26
+ ```json
27
+ {
28
+ "nook": {
29
+ "domain": "nook.example.com",
30
+ "accessClientId": "...",
31
+ "accessClientSecretEnv": "NOOK_ACCESS_CLIENT_SECRET"
32
+ }
33
+ }
34
+ ```
35
+
36
+ DNS and Cloudflare Access applications/policies are external V0 setup steps. Configure routes for both `nook.example.com` and `*.nook.example.com`. Configure Access according to your organization policy and service-token needs.
37
+
38
+ The setup command writes the Access team domain and application audience into the Worker environment. The Worker validates Cloudflare Access JWTs by loading the Access JWKS from that team domain and checking the token issuer, audience, expiry, and signature. Tau sends service-token headers to Cloudflare Access for CLI/API calls, but the Worker never treats raw service-token headers as authentication.
39
+
40
+ Destroy is intentionally explicit:
41
+
42
+ ```sh
43
+ tau nook destroy \
44
+ --domain nook.example.com \
45
+ --access-client-id <cloudflare-access-client-id> \
46
+ --access-client-secret <cloudflare-access-client-secret> \
47
+ --yes
48
+ ```
49
+
50
+ Destroy first calls `https://<domain>/__nook/api/destroy` through Cloudflare Access to delete site Durable Object data and R2 objects, then deletes the Worker and R2 bucket with Wrangler. The Access client id and secret can also come from `NOOK_ACCESS_CLIENT_ID` and `NOOK_ACCESS_CLIENT_SECRET`.
51
+
52
+ ## deploy
53
+
54
+ ```sh
55
+ tau nook deploy ./dist --site demo
56
+ tau nook deploy ./dist --site demo --public
57
+ ```
58
+
59
+ Deploy requirements:
60
+
61
+ - `index.html` is required at the root.
62
+ - Hidden files and directories are rejected, including `.env`, `.git`, and `.DS_Store`.
63
+ - Symlinks are rejected.
64
+ - `/__nook/*` is reserved and cannot be deployed.
65
+ - Site slugs are lowercase subdomain labels with letters, numbers, and hyphens.
66
+ - Successful deploys exactly replace the active static asset set. KV data survives.
67
+ - Uploads are checked against the manifest byte size and SHA-256 digest.
68
+ - Each site can have at most three non-expired pending deploy sessions.
69
+ - Deployed asset URLs remain stable across deploys, so responses require cache revalidation.
70
+
71
+ ## browser SDK
72
+
73
+ The Worker injects `/__nook/client.js` into served HTML. App code can use:
74
+
75
+ ```js
76
+ await window.nook.kv.put("settings", { theme: "dark" });
77
+ const settings = await window.nook.kv.get("settings");
78
+ await window.nook.kv.delete("settings");
79
+ const keys = await window.nook.kv.list({ prefix: "todos/" });
80
+ ```
81
+
82
+ KV values must be JSON-serializable. Keys and total site KV storage have fixed guardrails in the Worker.
83
+
84
+ ## CLI
85
+
86
+ ```sh
87
+ tau nook skill
88
+ tau nook list
89
+ tau nook delete demo
90
+ tau nook kv get demo settings
91
+ tau nook kv put demo settings '{"theme":"dark"}'
92
+ tau nook kv delete demo settings
93
+ tau nook kv list demo --prefix todos/
94
+ ```
95
+
96
+ The assistant-facing model tool named `nook` appears automatically when Tau config contains `nook`. All tool operations require `read-write` risk.