@markusylisiurunen/tau 0.3.90 → 0.3.92

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 (88) hide show
  1. package/dist/core/cli.js +0 -3
  2. package/dist/core/cli.js.map +1 -1
  3. package/dist/core/code_mode/sdk.js +0 -1
  4. package/dist/core/code_mode/sdk.js.map +1 -1
  5. package/dist/core/config/content_loader.js +1 -3
  6. package/dist/core/config/content_loader.js.map +1 -1
  7. package/dist/core/config/index.js +1 -1
  8. package/dist/core/config/index.js.map +1 -1
  9. package/dist/core/config/schema.js +0 -67
  10. package/dist/core/config/schema.js.map +1 -1
  11. package/dist/core/history/history_manager.js +188 -94
  12. package/dist/core/history/history_manager.js.map +1 -1
  13. package/dist/core/history/history_store_worker.js +21 -0
  14. package/dist/core/history/history_store_worker.js.map +1 -0
  15. package/dist/core/history/local_history_store.js +11 -5
  16. package/dist/core/history/local_history_store.js.map +1 -1
  17. package/dist/core/history/threaded_history_store.js +107 -0
  18. package/dist/core/history/threaded_history_store.js.map +1 -0
  19. package/dist/core/index.js +0 -1
  20. package/dist/core/index.js.map +1 -1
  21. package/dist/core/personas.js +1 -2
  22. package/dist/core/personas.js.map +1 -1
  23. package/dist/core/static/tau_docs/client-tools.md +1 -1
  24. package/dist/core/static/tau_docs/config-reference.md +0 -24
  25. package/dist/core/static/tau_docs/configuration.md +1 -1
  26. package/dist/core/static/tau_docs/credentials.md +3 -18
  27. package/dist/core/static/tau_docs/history.md +9 -3
  28. package/dist/core/static/tau_docs/index.md +0 -1
  29. package/dist/core/static/tau_docs/manifest.json +0 -1
  30. package/dist/core/static/tau_docs/node-sdk.md +1 -1
  31. package/dist/core/static/tau_docs/personas.md +3 -3
  32. package/dist/core/static/tau_docs/security.md +6 -18
  33. package/dist/core/static/tau_docs/session-protocol-methods.md +1 -1
  34. package/dist/core/static/tau_docs/session-protocol.md +2 -0
  35. package/dist/core/static/tau_docs/subagents.md +0 -1
  36. package/dist/core/static/tau_docs/tools.md +6 -8
  37. package/dist/core/static/tau_docs/troubleshooting.md +10 -12
  38. package/dist/core/static/tau_docs/tui.md +3 -0
  39. package/dist/core/subagents/claude_code_runner.mjs +43 -43
  40. package/dist/core/subagents/registry.js +1 -2
  41. package/dist/core/subagents/registry.js.map +1 -1
  42. package/dist/core/subagents/types.js +1 -2
  43. package/dist/core/subagents/types.js.map +1 -1
  44. package/dist/core/tools/code.js +0 -3
  45. package/dist/core/tools/code.js.map +1 -1
  46. package/dist/core/tools/presentation.js +1 -2
  47. package/dist/core/tools/presentation.js.map +1 -1
  48. package/dist/core/tools/tool_names.js +1 -3
  49. package/dist/core/tools/tool_names.js.map +1 -1
  50. package/dist/core/utils/speech.js +6 -2
  51. package/dist/core/utils/speech.js.map +1 -1
  52. package/dist/core/version.js +1 -1
  53. package/dist/host/client_tool_broker.js +8 -4
  54. package/dist/host/client_tool_broker.js.map +1 -1
  55. package/dist/host/local_session_host.js +3 -2
  56. package/dist/host/local_session_host.js.map +1 -1
  57. package/dist/main.js +4 -26
  58. package/dist/main.js.map +1 -1
  59. package/dist/protocol/session_protocol.d.ts +2 -2
  60. package/dist/protocol/session_protocol.js +2 -2
  61. package/dist/protocol/session_protocol.js.map +1 -1
  62. package/dist/sdk/local_client.js +1 -0
  63. package/dist/sdk/local_client.js.map +1 -1
  64. package/dist/sdk/types.d.ts +7 -0
  65. package/dist/tui/session_chat_app.js +1 -1
  66. package/dist/tui/session_chat_app.js.map +1 -1
  67. package/dist/tui/session_chat_controller.js +12 -1
  68. package/dist/tui/session_chat_controller.js.map +1 -1
  69. package/package.json +3 -4
  70. package/dist/core/code_mode/nook.js +0 -226
  71. package/dist/core/code_mode/nook.js.map +0 -1
  72. package/dist/core/nook/cli.js +0 -258
  73. package/dist/core/nook/cli.js.map +0 -1
  74. package/dist/core/nook/client.js +0 -372
  75. package/dist/core/nook/client.js.map +0 -1
  76. package/dist/core/nook/deploy.js +0 -152
  77. package/dist/core/nook/deploy.js.map +0 -1
  78. package/dist/core/nook/index.js +0 -5
  79. package/dist/core/nook/index.js.map +0 -1
  80. package/dist/core/nook/setup.js +0 -429
  81. package/dist/core/nook/setup.js.map +0 -1
  82. package/dist/core/nook/validation.js +0 -164
  83. package/dist/core/nook/validation.js.map +0 -1
  84. package/dist/core/static/code_mode/nook/documentation.md +0 -144
  85. package/dist/core/static/code_mode/nook/sandbox_runner.mjs +0 -1
  86. package/dist/core/static/tau_docs/nook.md +0 -270
  87. package/dist/nook/worker/index.js +0 -1175
  88. package/dist/nook/worker/index.js.map +0 -1
@@ -1,226 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { z } from "zod";
3
- import { createNookClientFromConfig } from "../nook/client.js";
4
- import { buildNookDeployManifestFromBackend, buildNookTemplateManifestFromBackend, } from "../nook/deploy.js";
5
- import { validateNookSiteSlug, validateNookTemplateName } from "../nook/validation.js";
6
- import { formatZodError } from "../utils/zod.js";
7
- const MAX_KV_KEY_LENGTH = 256;
8
- const MAX_KV_VALUE_BYTES = 64 * 1024;
9
- const description = [
10
- "Publish static apps and artifacts, inspect hosted sites, and manage their JSON KV on Nook.",
11
- "Use tau.nook only when the user asks for deployment, hosting, or Nook management. Nook is the usual target for static mini-app publishing.",
12
- ].join(" ");
13
- const nonEmptyStringSchema = z.string().trim().min(1);
14
- const directorySchema = nonEmptyStringSchema;
15
- const fileSchema = nonEmptyStringSchema;
16
- const keySchema = z.string().min(1).max(MAX_KV_KEY_LENGTH);
17
- const visibilityOptionsSchema = z
18
- .object({
19
- visibility: z.enum(["private", "public"]),
20
- })
21
- .strict();
22
- const kvListOptionsSchema = z
23
- .object({
24
- prefix: z.string().optional(),
25
- })
26
- .strict();
27
- function validatedPathLabel(validate) {
28
- return nonEmptyStringSchema.superRefine((value, context) => {
29
- const result = validate(value);
30
- if (!result.ok) {
31
- context.addIssue({ code: z.ZodIssueCode.custom, message: result.message });
32
- }
33
- });
34
- }
35
- const siteSchema = validatedPathLabel(validateNookSiteSlug);
36
- const templateSchema = validatedPathLabel(validateNookTemplateName);
37
- const documentation = readFileSync(new URL("../static/code_mode/nook/documentation.md", import.meta.url), "utf8");
38
- function parseMethodArguments(method, args, schema) {
39
- const parsed = schema.safeParse(args);
40
- if (!parsed.success) {
41
- throw new Error(`Invalid tau.nook.${method} arguments: ${formatZodError(parsed.error)}`);
42
- }
43
- return parsed.data;
44
- }
45
- function joinBackendPath(dir, relativePath) {
46
- const trimmedDir = dir.replace(/\/+$/, "");
47
- const trimmedPath = relativePath.replace(/^\/+/, "");
48
- return trimmedDir ? `${trimmedDir}/${trimmedPath}` : trimmedPath;
49
- }
50
- async function requireEmptyDirectory(backend, directory, artifact, signal) {
51
- signal.throwIfAborted();
52
- const destination = await backend.listDir(directory);
53
- signal.throwIfAborted();
54
- if (destination.entries.length > 0) {
55
- throw new Error(`${artifact} copy destination is not empty: ${directory}`);
56
- }
57
- }
58
- async function copySite(client, backend, site, directory, signal) {
59
- await requireEmptyDirectory(backend, directory, "site", signal);
60
- const manifest = await client.getSiteManifest(site);
61
- signal.throwIfAborted();
62
- const files = await client.downloadSiteFiles(site, manifest);
63
- signal.throwIfAborted();
64
- for (const file of files) {
65
- signal.throwIfAborted();
66
- await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
67
- signal.throwIfAborted();
68
- }
69
- return {
70
- site,
71
- directory,
72
- deploymentId: manifest.deploymentId,
73
- visibility: manifest.visibility,
74
- fileCount: files.length,
75
- byteCount: files.reduce((total, file) => total + file.sizeBytes, 0),
76
- };
77
- }
78
- async function copyTemplate(client, backend, template, directory, signal) {
79
- await requireEmptyDirectory(backend, directory, "template", signal);
80
- const manifest = await client.getTemplateManifest(template);
81
- signal.throwIfAborted();
82
- const files = await client.downloadTemplateFiles(template, manifest);
83
- signal.throwIfAborted();
84
- for (const file of files) {
85
- signal.throwIfAborted();
86
- await backend.writeFileBinary(joinBackendPath(directory, file.path), file.content);
87
- signal.throwIfAborted();
88
- }
89
- return { ...manifest.template, directory };
90
- }
91
- async function writeKvToFile(client, backend, site, key, file, signal) {
92
- const value = await client.getKv(site, key);
93
- signal.throwIfAborted();
94
- const content = JSON.stringify(value);
95
- if (content === undefined) {
96
- throw new Error(`tau.nook.kv.getToFile received a non-JSON value for ${site}/${key}`);
97
- }
98
- const result = await backend.writeFile(file, content);
99
- signal.throwIfAborted();
100
- return { site, key, file: result.path, bytes: result.bytes };
101
- }
102
- async function readKvFromFile(client, backend, site, key, file, signal) {
103
- signal.throwIfAborted();
104
- const result = await backend.readFileBinary(file, { maxBytes: MAX_KV_VALUE_BYTES });
105
- signal.throwIfAborted();
106
- let value;
107
- try {
108
- value = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(result.content));
109
- }
110
- catch (error) {
111
- const message = error instanceof Error ? error.message : String(error);
112
- throw new Error(`invalid JSON in KV file '${file}': ${message}`);
113
- }
114
- const stored = await client.putKv(site, key, value);
115
- return { ...stored, file: result.path };
116
- }
117
- async function handleNookRequest(method, args, deps, config, backend, signal) {
118
- const createClient = () => deps.createClient({ config, signal });
119
- switch (method) {
120
- case "skill": {
121
- parseMethodArguments("skill", args, z.tuple([]));
122
- return createClient().readSkill();
123
- }
124
- case "sites.list": {
125
- parseMethodArguments("sites.list", args, z.tuple([]));
126
- return createClient().listSites();
127
- }
128
- case "sites.copy": {
129
- const [site, directory] = parseMethodArguments("sites.copy", args, z.tuple([siteSchema, directorySchema]));
130
- return copySite(createClient(), backend, site, directory, signal);
131
- }
132
- case "sites.deploy": {
133
- const [site, directory, options] = parseMethodArguments("sites.deploy", args, z.tuple([siteSchema, directorySchema, visibilityOptionsSchema]));
134
- const files = await buildNookDeployManifestFromBackend(backend, directory, signal);
135
- signal.throwIfAborted();
136
- return createClient().deploySite({ site, files, visibility: options.visibility });
137
- }
138
- case "sites.delete": {
139
- const [site] = parseMethodArguments("sites.delete", args, z.tuple([siteSchema]));
140
- return createClient().deleteSite(site);
141
- }
142
- case "templates.list": {
143
- parseMethodArguments("templates.list", args, z.tuple([]));
144
- return createClient().listTemplates();
145
- }
146
- case "templates.copy": {
147
- const [template, directory] = parseMethodArguments("templates.copy", args, z.tuple([templateSchema, directorySchema]));
148
- return copyTemplate(createClient(), backend, template, directory, signal);
149
- }
150
- case "templates.save": {
151
- const [template, directory] = parseMethodArguments("templates.save", args, z.tuple([templateSchema, directorySchema]));
152
- const files = await buildNookTemplateManifestFromBackend(backend, directory, signal);
153
- signal.throwIfAborted();
154
- return createClient().saveTemplate({ name: template, files });
155
- }
156
- case "templates.delete": {
157
- const [template] = parseMethodArguments("templates.delete", args, z.tuple([templateSchema]));
158
- return createClient().deleteTemplate(template);
159
- }
160
- case "kv.get": {
161
- const [site, key] = parseMethodArguments("kv.get", args, z.tuple([siteSchema, keySchema]));
162
- return createClient().getKv(site, key);
163
- }
164
- case "kv.getToFile": {
165
- const [site, key, file] = parseMethodArguments("kv.getToFile", args, z.tuple([siteSchema, keySchema, fileSchema]));
166
- return writeKvToFile(createClient(), backend, site, key, file, signal);
167
- }
168
- case "kv.put": {
169
- const [site, key, value] = parseMethodArguments("kv.put", args, z.tuple([siteSchema, keySchema, z.json()]));
170
- return createClient().putKv(site, key, value);
171
- }
172
- case "kv.putFromFile": {
173
- const [site, key, file] = parseMethodArguments("kv.putFromFile", args, z.tuple([siteSchema, keySchema, fileSchema]));
174
- return readKvFromFile(createClient(), backend, site, key, file, signal);
175
- }
176
- case "kv.delete": {
177
- const [site, key] = parseMethodArguments("kv.delete", args, z.tuple([siteSchema, keySchema]));
178
- return createClient().deleteKv(site, key);
179
- }
180
- case "kv.list": {
181
- const [site, options] = parseMethodArguments("kv.list", args, z.union([
182
- z.tuple([siteSchema]).transform(([site]) => [site, {}]),
183
- z.tuple([siteSchema, kvListOptionsSchema]),
184
- ]));
185
- const result = await createClient().listKv(site, options.prefix);
186
- return result.keys;
187
- }
188
- default:
189
- throw new Error(`unsupported nook method '${method}'`);
190
- }
191
- }
192
- const defaultDeps = { createClient: createNookClientFromConfig };
193
- export function createNookCapability(backend, config, deps = defaultDeps) {
194
- if (!config.nook)
195
- throw new Error("nook is not configured");
196
- const method = (name) => async (args, context) => await handleNookRequest(name, args, deps, config, backend, context.signal);
197
- return {
198
- name: "nook",
199
- description,
200
- documentation,
201
- api: {
202
- skill: method("skill"),
203
- sites: {
204
- list: method("sites.list"),
205
- copy: method("sites.copy"),
206
- deploy: method("sites.deploy"),
207
- delete: method("sites.delete"),
208
- },
209
- templates: {
210
- list: method("templates.list"),
211
- copy: method("templates.copy"),
212
- save: method("templates.save"),
213
- delete: method("templates.delete"),
214
- },
215
- kv: {
216
- get: method("kv.get"),
217
- getToFile: method("kv.getToFile"),
218
- put: method("kv.put"),
219
- putFromFile: method("kv.putFromFile"),
220
- delete: method("kv.delete"),
221
- list: method("kv.list"),
222
- },
223
- },
224
- };
225
- }
226
- //# sourceMappingURL=nook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/code_mode/nook.ts"],"names":[],"mappings":"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"}
@@ -1,258 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { createNookClientFromConfig } from "./client.js";
3
- import { buildNookDeployManifest, buildNookTemplateManifest } from "./deploy.js";
4
- import { parseNookDestroyInputs, parseNookSetupInputs, runNookDestroy, runNookSetup, } from "./setup.js";
5
- export class NookCliError extends Error {
6
- constructor(message) {
7
- super(message);
8
- this.name = "NookCliError";
9
- }
10
- }
11
- function parseValue(arg, argv, index) {
12
- const eqIndex = arg.indexOf("=");
13
- if (eqIndex !== -1) {
14
- const value = arg.slice(eqIndex + 1);
15
- if (!value)
16
- throw new NookCliError(`missing value for ${arg.slice(0, eqIndex)}`);
17
- return { value, nextIndex: index };
18
- }
19
- const value = argv[index + 1];
20
- if (!value || value.startsWith("-")) {
21
- throw new NookCliError(`missing value for ${arg}`);
22
- }
23
- return { value, nextIndex: index + 1 };
24
- }
25
- export function printNookHelp(log = console.log) {
26
- log([
27
- "usage:",
28
- " tau nook setup --domain <domain> --zone-name <zone> --access-team-domain <url> --access-aud <aud>",
29
- " tau nook destroy --domain <domain> --access-client-id <id> --access-client-secret <secret> --yes",
30
- " tau nook skill",
31
- " tau nook deploy <dir> --site <slug> [--public]",
32
- " tau nook copy <site> <dir>",
33
- " tau nook list",
34
- " tau nook delete <site>",
35
- " tau nook template list",
36
- " tau nook template copy <name> <dir>",
37
- " tau nook template save <name> <dir>",
38
- " tau nook template delete <name>",
39
- " tau nook kv get <site> <key>",
40
- " tau nook kv put <site> <key> <json>",
41
- " tau nook kv delete <site> <key>",
42
- " tau nook kv list <site> [--prefix <prefix>]",
43
- ].join("\n"));
44
- }
45
- export async function runNookCommand(argv, options) {
46
- const stdout = options.stdout ?? console.log;
47
- const [subcommand, ...args] = argv;
48
- if (!subcommand || subcommand === "--help" || subcommand === "-h") {
49
- printNookHelp(stdout);
50
- return;
51
- }
52
- try {
53
- if (subcommand === "setup") {
54
- const parsed = parseNookSetupInputs({ argv: args, env: options.env });
55
- if (parsed.remaining.length > 0)
56
- throw new Error(`unknown option: ${parsed.remaining[0]}`);
57
- await runNookSetup({
58
- domain: parsed.domain,
59
- zoneName: parsed.zoneName,
60
- accessTeamDomain: parsed.accessTeamDomain,
61
- accessAud: parsed.accessAud,
62
- env: options.env,
63
- stdout,
64
- });
65
- return;
66
- }
67
- if (subcommand === "destroy") {
68
- const parsed = parseNookDestroyInputs({ argv: args, env: options.env });
69
- if (parsed.remaining.length > 0)
70
- throw new Error(`unknown option: ${parsed.remaining[0]}`);
71
- await runNookDestroy({
72
- domain: parsed.domain,
73
- accessClientId: parsed.accessClientId,
74
- accessClientSecret: parsed.accessClientSecret,
75
- yes: parsed.yes,
76
- env: options.env,
77
- stdout,
78
- fetchImpl: options.fetchImpl,
79
- });
80
- return;
81
- }
82
- const client = createNookClientFromConfig({
83
- config: options.config,
84
- env: options.env,
85
- fetchImpl: options.fetchImpl,
86
- });
87
- if (subcommand === "skill") {
88
- stdout(await client.readSkill());
89
- return;
90
- }
91
- if (subcommand === "list") {
92
- const sites = await client.listSites();
93
- if (sites.length === 0) {
94
- stdout("no nook sites");
95
- return;
96
- }
97
- for (const site of sites) {
98
- const visibility = site.visibility ? ` ${site.visibility}` : "";
99
- const latest = site.latestDeploymentId ? ` ${site.latestDeploymentId}` : "";
100
- stdout(`${site.slug} ${site.url}${visibility}${latest}`.trim());
101
- }
102
- return;
103
- }
104
- if (subcommand === "delete") {
105
- const site = args[0];
106
- if (!site || args.length !== 1)
107
- throw new Error("usage: tau nook delete <site>");
108
- await client.deleteSite(site);
109
- stdout(`deleted ${site}`);
110
- return;
111
- }
112
- if (subcommand === "copy") {
113
- const [site, directory] = args;
114
- if (!site || !directory || args.length !== 2) {
115
- throw new Error("usage: tau nook copy <site> <dir>");
116
- }
117
- const result = await client.copySiteToDirectory(site, resolve(options.cwd ?? process.cwd(), directory));
118
- stdout(`copied site ${result.site} to ${directory}`);
119
- return;
120
- }
121
- if (subcommand === "deploy") {
122
- let site;
123
- let isPublic = false;
124
- const positional = [];
125
- for (let i = 0; i < args.length; i += 1) {
126
- const arg = args[i];
127
- if (arg === "--public") {
128
- isPublic = true;
129
- continue;
130
- }
131
- if (arg === "--site" || arg.startsWith("--site=")) {
132
- const parsed = parseValue(arg, args, i);
133
- site = parsed.value;
134
- i = parsed.nextIndex;
135
- continue;
136
- }
137
- if (arg.startsWith("-"))
138
- throw new Error(`unknown option: ${arg}`);
139
- positional.push(arg);
140
- }
141
- if (positional.length !== 1 || !site) {
142
- throw new Error("usage: tau nook deploy <dir> --site <slug> [--public]");
143
- }
144
- const files = buildNookDeployManifest(resolve(options.cwd ?? process.cwd(), positional[0]));
145
- const result = await client.deploySite({
146
- site,
147
- files,
148
- visibility: isPublic ? "public" : "private",
149
- });
150
- stdout(`Deployed ${result.site} to ${result.url}`);
151
- return;
152
- }
153
- if (subcommand === "template") {
154
- await runTemplateCommand(args, client, stdout, options.cwd ?? process.cwd());
155
- return;
156
- }
157
- if (subcommand === "kv") {
158
- await runKvCommand(args, client, stdout);
159
- return;
160
- }
161
- throw new Error(`unknown nook subcommand '${subcommand}'`);
162
- }
163
- catch (error) {
164
- throw new NookCliError(error instanceof Error ? error.message : String(error));
165
- }
166
- }
167
- async function runTemplateCommand(args, client, stdout, cwd) {
168
- const [operation, name, directory] = args;
169
- if (!operation)
170
- throw new Error("missing template operation");
171
- if (operation === "list") {
172
- if (args.length !== 1)
173
- throw new Error("usage: tau nook template list");
174
- const templates = await client.listTemplates();
175
- if (templates.length === 0) {
176
- stdout("no nook templates");
177
- return;
178
- }
179
- for (const template of templates) {
180
- stdout(`${template.name} ${template.fileCount} files ${template.byteCount}B ${template.updatedAt}`);
181
- }
182
- return;
183
- }
184
- if (operation === "copy") {
185
- if (!name || !directory || args.length !== 3) {
186
- throw new Error("usage: tau nook template copy <name> <dir>");
187
- }
188
- const result = await client.copyTemplateToDirectory(name, resolve(cwd, directory));
189
- stdout(`copied template ${result.name} to ${directory}`);
190
- return;
191
- }
192
- if (operation === "save") {
193
- if (!name || !directory || args.length !== 3) {
194
- throw new Error("usage: tau nook template save <name> <dir>");
195
- }
196
- const files = buildNookTemplateManifest(resolve(cwd, directory));
197
- const result = await client.saveTemplate({ name, files });
198
- stdout(`saved template ${result.name} (${result.fileCount} files)`);
199
- return;
200
- }
201
- if (operation === "delete") {
202
- if (!name || args.length !== 2)
203
- throw new Error("usage: tau nook template delete <name>");
204
- await client.deleteTemplate(name);
205
- stdout(`deleted template ${name}`);
206
- return;
207
- }
208
- throw new Error(`unknown template operation '${operation}'`);
209
- }
210
- async function runKvCommand(args, client, stdout) {
211
- const [operation, site, keyOrFlag, value] = args;
212
- if (!operation)
213
- throw new Error("missing kv operation");
214
- if (operation === "get") {
215
- if (!site || !keyOrFlag || args.length !== 3)
216
- throw new Error("usage: tau nook kv get <site> <key>");
217
- stdout(JSON.stringify(await client.getKv(site, keyOrFlag), null, 2));
218
- return;
219
- }
220
- if (operation === "put") {
221
- if (!site || !keyOrFlag || value === undefined || args.length !== 4) {
222
- throw new Error("usage: tau nook kv put <site> <key> <json>");
223
- }
224
- await client.putKv(site, keyOrFlag, JSON.parse(value));
225
- stdout(`stored ${site}/${keyOrFlag}`);
226
- return;
227
- }
228
- if (operation === "delete") {
229
- if (!site || !keyOrFlag || args.length !== 3) {
230
- throw new Error("usage: tau nook kv delete <site> <key>");
231
- }
232
- await client.deleteKv(site, keyOrFlag);
233
- stdout(`deleted ${site}/${keyOrFlag}`);
234
- return;
235
- }
236
- if (operation === "list") {
237
- if (!site)
238
- throw new Error("usage: tau nook kv list <site> [--prefix <prefix>]");
239
- let prefix;
240
- for (let i = 2; i < args.length; i += 1) {
241
- const arg = args[i];
242
- if (arg === "--prefix" || arg.startsWith("--prefix=")) {
243
- const parsed = parseValue(arg, args, i);
244
- prefix = parsed.value;
245
- i = parsed.nextIndex;
246
- continue;
247
- }
248
- throw new Error(`unknown option: ${arg}`);
249
- }
250
- const result = await client.listKv(site, prefix);
251
- for (const entry of result.keys) {
252
- stdout(`${entry.key} ${entry.sizeBytes}B ${entry.updatedAt}`);
253
- }
254
- return;
255
- }
256
- throw new Error(`unknown kv operation '${operation}'`);
257
- }
258
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/core/nook/cli.ts"],"names":[],"mappings":"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"}