@markusylisiurunen/tau 0.3.18 → 0.3.20

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 (175) hide show
  1. package/README.md +22 -48
  2. package/dist/core/cli.js +6 -39
  3. package/dist/core/cli.js.map +1 -1
  4. package/dist/core/commands/index.js +1 -1
  5. package/dist/core/commands/index.js.map +1 -1
  6. package/dist/core/commands/registry.js +5 -76
  7. package/dist/core/commands/registry.js.map +1 -1
  8. package/dist/core/config/builtin_themes.js +0 -62
  9. package/dist/core/config/builtin_themes.js.map +1 -1
  10. package/dist/core/config/content_loader.js +4 -7
  11. package/dist/core/config/content_loader.js.map +1 -1
  12. package/dist/core/config/diff_tool.js +1 -1
  13. package/dist/core/config/diff_tool.js.map +1 -1
  14. package/dist/core/config/runtime.js +1 -1
  15. package/dist/core/config/runtime.js.map +1 -1
  16. package/dist/core/config/runtime_config_snapshot.js +1 -1
  17. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  18. package/dist/core/config/schema.js +10 -43
  19. package/dist/core/config/schema.js.map +1 -1
  20. package/dist/core/config/skill_parser.js +1 -1
  21. package/dist/core/config/skill_parser.js.map +1 -1
  22. package/dist/core/config/virtual_defaults.js +0 -1
  23. package/dist/core/config/virtual_defaults.js.map +1 -1
  24. package/dist/core/debug.js +1 -7
  25. package/dist/core/debug.js.map +1 -1
  26. package/dist/core/diff_review/bridge.js +1 -3
  27. package/dist/core/diff_review/bridge.js.map +1 -1
  28. package/dist/core/diff_review/index.js.map +1 -1
  29. package/dist/core/diff_review/protocol.js +13 -13
  30. package/dist/core/diff_review/protocol.js.map +1 -1
  31. package/dist/core/diff_review/review_instructions.js +48 -0
  32. package/dist/core/diff_review/review_instructions.js.map +1 -0
  33. package/dist/core/events/index.js.map +1 -1
  34. package/dist/core/events/parser.js +161 -38
  35. package/dist/core/events/parser.js.map +1 -1
  36. package/dist/core/events/types.js +1 -1
  37. package/dist/core/events/types.js.map +1 -1
  38. package/dist/core/index.js +1 -1
  39. package/dist/core/index.js.map +1 -1
  40. package/dist/core/models/catalog.js +4 -4
  41. package/dist/core/models/catalog.js.map +1 -1
  42. package/dist/core/nook/cli.js +10 -0
  43. package/dist/core/nook/cli.js.map +1 -1
  44. package/dist/core/nook/client.js +59 -16
  45. package/dist/core/nook/client.js.map +1 -1
  46. package/dist/core/nook/index.js.map +1 -1
  47. package/dist/core/personas.js +29 -14
  48. package/dist/core/personas.js.map +1 -1
  49. package/dist/core/runtime/chat_runtime.js +12 -34
  50. package/dist/core/runtime/chat_runtime.js.map +1 -1
  51. package/dist/core/runtime/conversation_turn_runtime.js +0 -4
  52. package/dist/core/runtime/conversation_turn_runtime.js.map +1 -1
  53. package/dist/core/runtime/runtime_bootstrap.js +191 -317
  54. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  55. package/dist/core/runtime/session_prompt_composer.js +2 -6
  56. package/dist/core/runtime/session_prompt_composer.js.map +1 -1
  57. package/dist/core/session/core_session.js +2 -5
  58. package/dist/core/session/core_session.js.map +1 -1
  59. package/dist/core/session/message_accumulator.js +6 -0
  60. package/dist/core/session/message_accumulator.js.map +1 -1
  61. package/dist/core/session/runner.js +137 -32
  62. package/dist/core/session/runner.js.map +1 -1
  63. package/dist/core/session/session_engine.js +365 -120
  64. package/dist/core/session/session_engine.js.map +1 -1
  65. package/dist/core/static/index.js +0 -11
  66. package/dist/core/static/index.js.map +1 -1
  67. package/dist/core/subagents/registry.js +0 -2
  68. package/dist/core/subagents/registry.js.map +1 -1
  69. package/dist/core/subagents/subagent_engine.js +1 -3
  70. package/dist/core/subagents/subagent_engine.js.map +1 -1
  71. package/dist/core/telegram/adapter.js +34 -2
  72. package/dist/core/telegram/adapter.js.map +1 -1
  73. package/dist/core/telegram/config.js +3 -13
  74. package/dist/core/telegram/config.js.map +1 -1
  75. package/dist/core/telegram/session_manager.js +16 -5
  76. package/dist/core/telegram/session_manager.js.map +1 -1
  77. package/dist/core/tools/bash.js +6 -21
  78. package/dist/core/tools/bash.js.map +1 -1
  79. package/dist/core/tools/edit.js +1 -4
  80. package/dist/core/tools/edit.js.map +1 -1
  81. package/dist/core/tools/emit_output.js +1 -1
  82. package/dist/core/tools/emit_output.js.map +1 -1
  83. package/dist/core/tools/execution_backend.js +3 -1
  84. package/dist/core/tools/execution_backend.js.map +1 -1
  85. package/dist/core/tools/grep.js +1 -1
  86. package/dist/core/tools/grep.js.map +1 -1
  87. package/dist/core/tools/list.js +1 -1
  88. package/dist/core/tools/list.js.map +1 -1
  89. package/dist/core/tools/nook.js +29 -15
  90. package/dist/core/tools/nook.js.map +1 -1
  91. package/dist/core/tools/read.js +1 -1
  92. package/dist/core/tools/read.js.map +1 -1
  93. package/dist/core/tools/registry.js.map +1 -1
  94. package/dist/core/tools/send_input_to_agent.js +1 -1
  95. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  96. package/dist/core/tools/spawn_agent.js +40 -88
  97. package/dist/core/tools/spawn_agent.js.map +1 -1
  98. package/dist/core/tools/terminate_agent.js +1 -1
  99. package/dist/core/tools/terminate_agent.js.map +1 -1
  100. package/dist/core/tools/view_image.js +1 -1
  101. package/dist/core/tools/view_image.js.map +1 -1
  102. package/dist/core/tools/wait_for_agents.js +1 -1
  103. package/dist/core/tools/wait_for_agents.js.map +1 -1
  104. package/dist/core/tools/web_fetch.js +1 -1
  105. package/dist/core/tools/web_fetch.js.map +1 -1
  106. package/dist/core/tools/web_search.js +1 -1
  107. package/dist/core/tools/web_search.js.map +1 -1
  108. package/dist/core/tools/write.js +1 -4
  109. package/dist/core/tools/write.js.map +1 -1
  110. package/dist/core/types.js +0 -1
  111. package/dist/core/types.js.map +1 -1
  112. package/dist/core/utils/context.js +1 -1
  113. package/dist/core/utils/context.js.map +1 -1
  114. package/dist/core/utils/context_builder.js +1 -15
  115. package/dist/core/utils/context_builder.js.map +1 -1
  116. package/dist/core/utils/user_metadata.js +13 -19
  117. package/dist/core/utils/user_metadata.js.map +1 -1
  118. package/dist/core/version.js +1 -1
  119. package/dist/execution/cloudflare_sandbox_execution_environment.js +15 -10
  120. package/dist/execution/cloudflare_sandbox_execution_environment.js.map +1 -1
  121. package/dist/execution/fly_sprite_execution_environment.js +9 -1
  122. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  123. package/dist/execution/local_execution_environment.js +9 -55
  124. package/dist/execution/local_execution_environment.js.map +1 -1
  125. package/dist/execution/tool_backend_execution_environment.js +7 -10
  126. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  127. package/dist/host/client_tool_broker.js +1 -1
  128. package/dist/host/client_tool_broker.js.map +1 -1
  129. package/dist/host/execution_runtime.js +35 -0
  130. package/dist/host/execution_runtime.js.map +1 -0
  131. package/dist/host/hosted_ephemeral_agent_session.js +20 -11
  132. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  133. package/dist/host/local_session_host.js +117 -109
  134. package/dist/host/local_session_host.js.map +1 -1
  135. package/dist/host/session_protocol_handler.js +0 -10
  136. package/dist/host/session_protocol_handler.js.map +1 -1
  137. package/dist/main.js +31 -63
  138. package/dist/main.js.map +1 -1
  139. package/dist/nook/README.md +4 -1
  140. package/dist/nook/worker/index.js +41 -1
  141. package/dist/nook/worker/index.js.map +1 -1
  142. package/dist/protocol/index.d.ts +1 -1
  143. package/dist/protocol/index.js.map +1 -1
  144. package/dist/protocol/session_protocol.d.ts +1 -11
  145. package/dist/protocol/session_protocol.js +242 -343
  146. package/dist/protocol/session_protocol.js.map +1 -1
  147. package/dist/sdk/client.js +2 -24
  148. package/dist/sdk/client.js.map +1 -1
  149. package/dist/sdk/index.d.ts +1 -1
  150. package/dist/sdk/index.js.map +1 -1
  151. package/dist/sdk/session.js +0 -9
  152. package/dist/sdk/session.js.map +1 -1
  153. package/dist/sdk/types.d.ts +0 -4
  154. package/dist/starter/skills/guided-review/SKILL.md +1 -1
  155. package/dist/tui/chat_controller/command_hints.js +0 -2
  156. package/dist/tui/chat_controller/command_hints.js.map +1 -1
  157. package/dist/tui/chat_view.js +0 -2
  158. package/dist/tui/chat_view.js.map +1 -1
  159. package/dist/tui/session_chat_app.js +1 -1
  160. package/dist/tui/session_chat_app.js.map +1 -1
  161. package/dist/tui/session_chat_controller.js +2 -38
  162. package/dist/tui/session_chat_controller.js.map +1 -1
  163. package/dist/tui/ui/custom_editor.js +0 -5
  164. package/dist/tui/ui/custom_editor.js.map +1 -1
  165. package/dist/tui/ui/footer.js +4 -37
  166. package/dist/tui/ui/footer.js.map +1 -1
  167. package/dist/tui/ui/slash_autocomplete.js +2 -33
  168. package/dist/tui/ui/slash_autocomplete.js.map +1 -1
  169. package/dist/tui/ui/theme/palette.js +0 -2
  170. package/dist/tui/ui/theme/palette.js.map +1 -1
  171. package/dist/tui/ui/theme/theme.js.map +1 -1
  172. package/package.json +4 -4
  173. package/dist/core/diff_review/review_thread.js +0 -264
  174. package/dist/core/diff_review/review_thread.js.map +0 -1
  175. package/dist/core/static/prompts/diff-review-wrapper.md +0 -26
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { readFileSync, writeSync } from "node:fs";
2
+ import { writeSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { isAbsolute } from "node:path";
5
5
  import { createInterface } from "node:readline";
@@ -300,9 +300,6 @@ function printAttachHelp() {
300
300
  " tau attach --new --execution-kind cloudflare-sandbox --cloudflare-bridge default --cloudflare-sandbox sandbox-1 --cwd /workspace/repo ws://127.0.0.1:8787",
301
301
  " tau attach --new --execution-kind fly-sprite --fly-api default --fly-sprite sprite-1 --cwd /home/sprite/repo ws://127.0.0.1:8787",
302
302
  " tau attach --session 0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3 --auth-token $TAU_WS_AUTH_TOKEN ws://vps:8787",
303
- " tau attach -- tau rpc --risk read-only",
304
- " tau attach --new --cwd /repo -- tau rpc --risk read-only",
305
- " tau attach --session 0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3 -- ssh vps 'cd /repo && tau rpc --risk read-only'",
306
303
  "",
307
304
  "without --session or --new, attach lists hosted sessions and prompts for a selection.",
308
305
  "stdio commands and websocket servers both speak Tau's session protocol.",
@@ -321,11 +318,9 @@ function printServeHelp() {
321
318
  " --auth-token <token> require tau attach / SDK websocket clients to provide this token.",
322
319
  " --help, -h show this help and exit.",
323
320
  "",
324
- "tau session options such as --risk and --persona are accepted too.",
325
- "",
326
321
  "examples:",
327
- " tau serve --risk read-only",
328
- " tau serve --host 0.0.0.0 --port 8787 --auth-token $TAU_WS_AUTH_TOKEN --risk read-only",
322
+ " tau serve",
323
+ " tau serve --host 0.0.0.0 --port 8787 --auth-token $TAU_WS_AUTH_TOKEN",
329
324
  ].join("\n"));
330
325
  }
331
326
  function isWebSocketUrl(value) {
@@ -385,21 +380,19 @@ async function resolveHostedSessionBootstrap(options) {
385
380
  }
386
381
  return {
387
382
  persona,
388
- riskLevel: options.cli.riskLevel ?? runtime.config.defaultRisk ?? "read-only",
389
383
  discoveredSkills: runtime.skills,
390
384
  personas: runtime.personas.map(clonePersonaForSession),
391
385
  prompts: runtime.prompts,
386
+ modelResolver: runtime.bootstrap.modelResolver.resolveModel,
392
387
  config: runtime.config,
393
388
  };
394
389
  }
395
390
  function createLocalSessionHost(options) {
396
391
  const deps = createDefaultCoreDeps();
397
- const persona = clonePersonaForSession(options.persona);
398
392
  const home = deps.env.home() || process.env.HOME || homedir();
399
393
  const toolBackend = createLocalToolExecutionBackend();
400
394
  const localExecutionEnvironmentResolver = new LocalExecutionEnvironmentResolver({
401
395
  home,
402
- readFile: (path) => readFileSync(path, "utf-8"),
403
396
  toolBackend,
404
397
  });
405
398
  const executionEnvironmentResolver = new CompositeExecutionEnvironmentResolver({
@@ -421,23 +414,15 @@ function createLocalSessionHost(options) {
421
414
  });
422
415
  return new LocalSessionHost({
423
416
  store: new FileSessionStore({ directory: getDefaultSessionStoreDirectory(home) }),
424
- persona,
425
- riskLevel: options.riskLevel,
426
- discoveredSkills: options.skills,
427
- personas: [persona],
428
- prompts: [],
429
417
  executionEnvironmentResolver,
430
418
  includeAgentContext: !options.cli.noAgentContextFiles,
431
419
  environment: {
432
420
  now: () => deps.clock.now(),
433
- platform: () => deps.env.platform(),
434
- nodeVersion: () => deps.env.nodeVersion(),
435
421
  },
436
- config: options.config,
437
422
  deps,
438
423
  resolveSessionBootstrap: async ({ executionEnvironment }) => {
439
424
  const snapshot = executionEnvironment.snapshot();
440
- const runtime = await executionEnvironment.resolveRuntimeConfig();
425
+ const runtime = await executionEnvironment.resolveRuntimeConfig(snapshot.cwd);
441
426
  return await resolveHostedSessionBootstrap({
442
427
  cli: options.cli,
443
428
  runtime,
@@ -813,7 +798,13 @@ if (isServeSubcommand) {
813
798
  const cliArgv = isRpcSubcommand ? argv.slice(1) : isServeSubcommand ? serve.cliArgs : argv;
814
799
  let cli;
815
800
  try {
816
- cli = parseCliArgs(cliArgv, personas);
801
+ cli = parseCliArgs(cliArgv);
802
+ if (!isRpcSubcommand &&
803
+ !isServeSubcommand &&
804
+ cli.personaId &&
805
+ !personas.some((persona) => persona.id === cli.personaId)) {
806
+ throw new CliError(`unknown persona '${cli.personaId}'. available personas: ${personas.map((persona) => persona.id).join(", ")}`);
807
+ }
817
808
  }
818
809
  catch (err) {
819
810
  if (err instanceof CliError) {
@@ -830,6 +821,11 @@ if (cli.help) {
830
821
  printHelp(personas);
831
822
  process.exit(0);
832
823
  }
824
+ if ((isRpcSubcommand || isServeSubcommand) && cli.debug) {
825
+ // eslint-disable-next-line no-console
826
+ console.error("--debug is only supported in TUI mode.");
827
+ process.exit(1);
828
+ }
833
829
  if (isRpcSubcommand && cli.caffeinated) {
834
830
  // eslint-disable-next-line no-console
835
831
  console.error("--caffeinated is only supported in TUI mode.");
@@ -845,7 +841,7 @@ let reasoningOverride = cli.reasoningOverride;
845
841
  if (cli.personaId) {
846
842
  initialPersonaId = cli.personaId;
847
843
  }
848
- else if (config.defaultPersona) {
844
+ else if (!isRpcSubcommand && !isServeSubcommand && config.defaultPersona) {
849
845
  const parsedDefaultPersona = parsePersonaString(config.defaultPersona, personas);
850
846
  initialPersonaId = parsedDefaultPersona.personaId;
851
847
  if (reasoningOverride === undefined &&
@@ -854,19 +850,14 @@ else if (config.defaultPersona) {
854
850
  reasoningOverride = parsedDefaultPersona.reasoning;
855
851
  }
856
852
  }
857
- const initialRiskLevel = cli.riskLevel ?? config.defaultRisk;
858
853
  if (cli.debug) {
859
- let debugPersona;
860
- if (personas.length > 0) {
861
- const selectedPersona = initialPersonaId
862
- ? (personas.find((p) => p.id === initialPersonaId) ?? personas[0])
863
- : personas[0];
864
- debugPersona = clonePersonaForSession(selectedPersona);
865
- if (reasoningOverride !== undefined) {
866
- debugPersona.settings.reasoning = reasoningOverride;
867
- }
854
+ const selectedPersona = initialPersonaId
855
+ ? personas.find((persona) => persona.id === initialPersonaId)
856
+ : personas[0];
857
+ const debugPersona = selectedPersona ? clonePersonaForSession(selectedPersona) : undefined;
858
+ if (debugPersona && reasoningOverride !== undefined) {
859
+ debugPersona.settings.reasoning = reasoningOverride;
868
860
  }
869
- const debugRiskLevel = initialRiskLevel;
870
861
  const virtualBundle = runtimeBootstrap?.virtualBundle;
871
862
  const debugToolRegistry = ToolCatalog.createRegistry(createLocalToolExecutionBackend());
872
863
  printDebugInfo({
@@ -876,32 +867,12 @@ if (cli.debug) {
876
867
  virtualBundle,
877
868
  selectedPersona: debugPersona,
878
869
  noAgentContextFiles: cli.noAgentContextFiles,
879
- riskLevel: debugRiskLevel,
880
870
  toolRegistry: debugToolRegistry,
881
871
  });
882
872
  process.exit(0);
883
873
  }
884
- if (personas.length === 0) {
885
- // eslint-disable-next-line no-console
886
- console.error("no personas available. add a custom persona in ~/.config/tau/personas or .tau/personas, or unset disableBuiltinPersonas.");
887
- process.exit(1);
888
- }
889
- const initialPersonaBase = initialPersonaId
890
- ? (personas.find((p) => p.id === initialPersonaId) ?? personas[0])
891
- : personas[0];
892
- const initialPersona = clonePersonaForSession(initialPersonaBase);
893
- if (reasoningOverride !== undefined) {
894
- initialPersona.settings.reasoning = reasoningOverride;
895
- }
896
- const effectiveRiskLevel = initialRiskLevel ?? "read-only";
897
874
  if (isServeSubcommand) {
898
- const sessionHost = createLocalSessionHost({
899
- cli,
900
- config,
901
- persona: initialPersona,
902
- riskLevel: effectiveRiskLevel,
903
- skills,
904
- });
875
+ const sessionHost = createLocalSessionHost({ cli, config });
905
876
  const abortController = new AbortController();
906
877
  const requestShutdown = () => {
907
878
  if (!abortController.signal.aborted) {
@@ -938,13 +909,7 @@ if (isServeSubcommand) {
938
909
  }
939
910
  if (isRpcSubcommand) {
940
911
  try {
941
- await runRpcMode({
942
- cli,
943
- config,
944
- persona: initialPersona,
945
- riskLevel: effectiveRiskLevel,
946
- skills,
947
- });
912
+ await runRpcMode({ cli, config });
948
913
  process.exit(0);
949
914
  }
950
915
  catch (err) {
@@ -953,6 +918,11 @@ if (isRpcSubcommand) {
953
918
  process.exit(1);
954
919
  }
955
920
  }
921
+ if (personas.length === 0) {
922
+ // eslint-disable-next-line no-console
923
+ console.error("no personas available. add a custom persona in ~/.config/tau/personas or .tau/personas, or unset disableBuiltinPersonas.");
924
+ process.exit(1);
925
+ }
956
926
  const initialUserMessage = await readPipedStdin();
957
927
  const terminalAppearance = await detectTerminalAppearance();
958
928
  const defaultDiffTool = createBuiltInDiffToolConfig({
@@ -965,7 +935,6 @@ const sessionClient = await createTauSdkClient({
965
935
  cwd,
966
936
  persona: initialPersonaId,
967
937
  reasoning: reasoningOverride,
968
- riskLevel: effectiveRiskLevel,
969
938
  noAgentContextFiles: cli.noAgentContextFiles,
970
939
  initialize: { client: { name: "tau-tui", version: "1" } },
971
940
  clientTools: createTuiClientTools({ getController: () => sessionChatApp?.getController() }),
@@ -978,7 +947,6 @@ const app = await SessionChatApp.open({
978
947
  input: {
979
948
  executionEnvironment: { kind: "local", cwd },
980
949
  ...(initialPersonaId !== undefined ? { personaId: initialPersonaId } : {}),
981
- riskLevel: effectiveRiskLevel,
982
950
  ...(reasoningOverride !== undefined ? { reasoning: reasoningOverride } : {}),
983
951
  },
984
952
  },
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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"}
@@ -56,6 +56,8 @@ Destroy first calls `https://<domain>/__nook/api/destroy` through Cloudflare Acc
56
56
  ```sh
57
57
  tau nook deploy ./dist --site demo
58
58
  tau nook deploy ./dist --site demo --public
59
+ mkdir restored-demo
60
+ tau nook copy demo ./restored-demo
59
61
  ```
60
62
 
61
63
  Deploy requirements:
@@ -70,6 +72,7 @@ Deploy requirements:
70
72
  - Uploads are checked against the manifest byte size and SHA-256 digest.
71
73
  - Each site can have at most three non-expired pending deploy sessions.
72
74
  - Deployed asset URLs remain stable across deploys, so responses require cache revalidation.
75
+ - `copy` downloads the active deployment into an existing empty directory and verifies every file against its manifest. Site KV is not copied.
73
76
 
74
77
  ## templates
75
78
 
@@ -117,4 +120,4 @@ tau nook kv delete demo settings
117
120
  tau nook kv list demo --prefix todos/
118
121
  ```
119
122
 
120
- The assistant-facing model tool named `nook` appears automatically when Tau config contains `nook`. All tool operations require `read-write` risk.
123
+ The assistant-facing model tool named `nook` appears automatically when Tau config contains `nook`. Enabled operations execute directly.
@@ -462,7 +462,7 @@ async function handleBaseApi(request, env, url, identity, ctx) {
462
462
  actor: identity.actor,
463
463
  });
464
464
  }
465
- const match = url.pathname.match(/^\/__nook\/api\/sites(?:\/([^/]+))?(?:\/deploy\/([^/]+)\/(file|finish)|\/deploy\/start)?$/);
465
+ const match = url.pathname.match(/^\/__nook\/api\/sites(?:\/([^/]+))?(?:\/deploy\/([^/]+)\/(file|finish)|\/deploy\/start|\/file)?$/);
466
466
  if (!match)
467
467
  return error("not_found", "Unknown Nook API route", 404);
468
468
  const site = match[1] ? decodeURIComponent(match[1]) : undefined;
@@ -482,6 +482,46 @@ async function handleBaseApi(request, env, url, identity, ctx) {
482
482
  await registryFetch(env, `/sites/${encodeURIComponent(site)}`, { method: "DELETE" });
483
483
  return json({ site, deleted: true });
484
484
  }
485
+ if (request.method === "GET" && url.pathname === `/__nook/api/sites/${site}`) {
486
+ const active = await siteFetch(env, site, "/active");
487
+ if (!active.ok)
488
+ return active;
489
+ const deployment = (await active.json());
490
+ return json({
491
+ site,
492
+ deploymentId: deployment.deploymentId,
493
+ visibility: deployment.public ? "public" : "private",
494
+ fileCount: deployment.files.length,
495
+ byteCount: deployment.files.reduce((total, file) => total + file.sizeBytes, 0),
496
+ files: deployment.files,
497
+ });
498
+ }
499
+ if (request.method === "GET" && url.pathname === `/__nook/api/sites/${site}/file`) {
500
+ const deploymentId = url.searchParams.get("deployment");
501
+ if (!deploymentId || !/^dep_[a-f0-9]{24}$/.test(deploymentId)) {
502
+ return error("invalid_deployment", "Invalid deployment", 400);
503
+ }
504
+ const path = url.searchParams.get("path");
505
+ const normalized = path ? normalizeAssetPath(path) : undefined;
506
+ if (!normalized || normalized !== path)
507
+ return error("invalid_path", "Invalid site file path", 400);
508
+ const active = await siteFetch(env, site, "/active");
509
+ if (!active.ok)
510
+ return active;
511
+ const deployment = (await active.json());
512
+ if (deployment.deploymentId !== deploymentId) {
513
+ return error("deployment_changed", "Active deployment changed during copy", 409);
514
+ }
515
+ if (!deployment.files.some((file) => file.path === normalized)) {
516
+ return error("invalid_path", "Path is not in the active deployment manifest", 400);
517
+ }
518
+ const object = await env.ASSETS.get(assetKey(site, deploymentId, normalized));
519
+ if (!object)
520
+ return error("not_found", "Site file not found", 404);
521
+ return new Response(object.body, {
522
+ headers: { "content-type": object.httpMetadata?.contentType ?? "application/octet-stream" },
523
+ });
524
+ }
485
525
  if (request.method === "POST" && url.pathname.endsWith("/deploy/start")) {
486
526
  const body = (await readJson(request));
487
527
  const files = body.files ?? [];