@markusylisiurunen/tau 0.3.91 → 0.3.93

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 (75) 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/index.js +0 -1
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/models/openrouter.js +6 -0
  14. package/dist/core/models/openrouter.js.map +1 -1
  15. package/dist/core/personas.js +30 -4
  16. package/dist/core/personas.js.map +1 -1
  17. package/dist/core/static/tau_docs/config-reference.md +0 -24
  18. package/dist/core/static/tau_docs/configuration.md +1 -1
  19. package/dist/core/static/tau_docs/credentials.md +3 -18
  20. package/dist/core/static/tau_docs/index.md +0 -1
  21. package/dist/core/static/tau_docs/manifest.json +0 -1
  22. package/dist/core/static/tau_docs/openrouter.md +1 -0
  23. package/dist/core/static/tau_docs/personas.md +4 -4
  24. package/dist/core/static/tau_docs/security.md +6 -18
  25. package/dist/core/static/tau_docs/subagents.md +0 -1
  26. package/dist/core/static/tau_docs/tools.md +6 -8
  27. package/dist/core/static/tau_docs/troubleshooting.md +10 -12
  28. package/dist/core/static/tau_docs/tui.md +1 -0
  29. package/dist/core/subagents/claude_code_runner.mjs +43 -43
  30. package/dist/core/subagents/registry.js +1 -2
  31. package/dist/core/subagents/registry.js.map +1 -1
  32. package/dist/core/subagents/types.js +1 -2
  33. package/dist/core/subagents/types.js.map +1 -1
  34. package/dist/core/telegram/workspace.js +1 -1
  35. package/dist/core/telegram/workspace.js.map +1 -1
  36. package/dist/core/tools/code.js +0 -3
  37. package/dist/core/tools/code.js.map +1 -1
  38. package/dist/core/tools/presentation.js +1 -2
  39. package/dist/core/tools/presentation.js.map +1 -1
  40. package/dist/core/tools/tool_names.js +1 -3
  41. package/dist/core/tools/tool_names.js.map +1 -1
  42. package/dist/core/utils/speech.js +6 -2
  43. package/dist/core/utils/speech.js.map +1 -1
  44. package/dist/core/version.js +1 -1
  45. package/dist/diff_tool/app/dist/assets/{core-DVIaxTZj.js → core-DaUcjNBm.js} +1 -1
  46. package/dist/diff_tool/app/dist/assets/{highlights-BKf96Xcr.js → highlights-ey_YWY7Q.js} +1 -1
  47. package/dist/diff_tool/app/dist/assets/{index-DKDNDuYd.js → index-B7CqEx6P.js} +19 -19
  48. package/dist/diff_tool/app/dist/assets/langs-BAlu0Oiy.js +1 -0
  49. package/dist/diff_tool/app/dist/assets/{shiki-DmA--L4w.js → shiki-BDtWTy6K.js} +2 -2
  50. package/dist/diff_tool/app/dist/assets/{stream-tokenizer-5ezp0vCr.js → stream-tokenizer-Dpnp6Te1.js} +1 -1
  51. package/dist/diff_tool/app/dist/assets/{themes-BNoMSXBX.js → themes-snQUZ0v5.js} +2 -2
  52. package/dist/diff_tool/app/dist/index.html +1 -1
  53. package/dist/main.js +0 -23
  54. package/dist/main.js.map +1 -1
  55. package/package.json +4 -5
  56. package/dist/core/code_mode/nook.js +0 -226
  57. package/dist/core/code_mode/nook.js.map +0 -1
  58. package/dist/core/nook/cli.js +0 -258
  59. package/dist/core/nook/cli.js.map +0 -1
  60. package/dist/core/nook/client.js +0 -372
  61. package/dist/core/nook/client.js.map +0 -1
  62. package/dist/core/nook/deploy.js +0 -152
  63. package/dist/core/nook/deploy.js.map +0 -1
  64. package/dist/core/nook/index.js +0 -5
  65. package/dist/core/nook/index.js.map +0 -1
  66. package/dist/core/nook/setup.js +0 -429
  67. package/dist/core/nook/setup.js.map +0 -1
  68. package/dist/core/nook/validation.js +0 -164
  69. package/dist/core/nook/validation.js.map +0 -1
  70. package/dist/core/static/code_mode/nook/documentation.md +0 -144
  71. package/dist/core/static/code_mode/nook/sandbox_runner.mjs +0 -1
  72. package/dist/core/static/tau_docs/nook.md +0 -270
  73. package/dist/diff_tool/app/dist/assets/langs-D3RgqfNW.js +0 -1
  74. package/dist/nook/worker/index.js +0 -1175
  75. package/dist/nook/worker/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/core/nook/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAEL,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AA6EzB,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB,EAAE,QAAgB;IAClE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,qCAAqC,SAAS,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,yCAAyC,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,mCAAmC,SAAS,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,KAA2B;IAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACnE,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAA0B,EAC1B,MAA+B;IAE/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,OAAO,IAAI,IAAI,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,OAAO,UAAU;IACJ,MAAM,CAAa;IACnB,GAAG,CAAoB;IACvB,SAAS,CAAe;IACxB,MAAM,CAA0B;IAEjD,YAAY,OAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,OAAO;QACL,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,yBAAyB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9E,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7E,CAAC;IAEO,WAAW;QACjB,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO;YACL,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;YACjD,yBAAyB,EAAE,MAAM;SAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,IAAI,GAAgB,EAAE;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,GAAG,IAAI;YACP,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,WAAW,EAAE;gBACrB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,GAAG,IAAI,CAAC,OAAO;aAChB;YACD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,SAAc,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE;YACtE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,GAAG,IAAI,CAAC,OAAO,EAAE,mBAAmB,CACrC,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAChE,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,YAAoB,EAAE,IAAY;QACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3F,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACjD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,QAAgC;QAEhC,4BAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAC;YAC3E,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,SAAiB;QACvD,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC;QAC9C,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAIhB;QACC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAIjC,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACrF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,IAAI,CAAC,UAAU,KAAK,QAAQ;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;oBACnE,IAAI;oBACJ,SAAS;oBACT,WAAW;oBACX,MAAM;iBACP,CAAC,CAAC;aACJ,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/K,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC/C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,WAAW,EAAE;oBACrB,cAAc,EAAE,IAAI,CAAC,WAAW;oBAChC,qBAAqB,EAAE,KAAK,CAAC,KAAK;iBACnC;gBACD,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAC7H;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,EAAE;SAChD,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,CACzC,CAAC;QACF,OAAO,MAAM,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAA6B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAGlB;QACC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAIjC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACjD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;oBACnE,IAAI;oBACJ,SAAS;oBACT,WAAW;oBACX,MAAM;iBACP,CAAC,CAAC;aACJ,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YACrI,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC/C,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,WAAW,EAAE;oBACrB,cAAc,EAAE,IAAI,CAAC,WAAW;oBAChC,uBAAuB,EAAE,KAAK,CAAC,KAAK;iBACrC;gBACD,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,WAAW,CAC3B,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EACnF;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,KAAK,EAAE;SAClD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,UAAkB,EAAE,IAAY;QACvE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,IAAY,EACZ,QAAoC;QAEpC,4BAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpF,IACE,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;YACrD,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,EACzC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC7C,IAAI,EACJ,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAC5B,IAAI,CAAC,IAAI,CACV,CAAC;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,gCAAgC,CAAC,CAAC;YAC/E,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,IAAY,EAAE,SAAiB;QAC3D,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO;YACL,GAAG,QAAQ,CAAC,QAAQ;YACpB,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,GAAW;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACxD,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,GAAW,EAAE,KAAc;QACnD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE;YACrF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,GAAW;QAEX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE;YACrF,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,MAAe;QACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,UAAU,0BAA0B,CAAC,IAK1C;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,UAAU,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QACxB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAkB;IACnD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoD,CAAC;QACnF,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YAC1B,OAAO,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzG,CAAC"}
@@ -1,152 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { readdirSync, readFileSync, statSync } from "node:fs";
3
- import { extname, join, relative, resolve, sep } from "node:path";
4
- import { assertVisibleNookRelativePath, normalizeNookAssetPath, validateNookManifest, validateNookTemplateManifest, } from "./validation.js";
5
- const CONTENT_TYPES = {
6
- ".css": "text/css; charset=utf-8",
7
- ".gif": "image/gif",
8
- ".html": "text/html; charset=utf-8",
9
- ".ico": "image/x-icon",
10
- ".jpeg": "image/jpeg",
11
- ".jpg": "image/jpeg",
12
- ".js": "application/javascript; charset=utf-8",
13
- ".json": "application/json; charset=utf-8",
14
- ".map": "application/json; charset=utf-8",
15
- ".mjs": "application/javascript; charset=utf-8",
16
- ".png": "image/png",
17
- ".svg": "image/svg+xml",
18
- ".txt": "text/plain; charset=utf-8",
19
- ".wasm": "application/wasm",
20
- ".webp": "image/webp",
21
- };
22
- function contentTypeForPath(path) {
23
- return CONTENT_TYPES[extname(path).toLowerCase()] ?? "application/octet-stream";
24
- }
25
- function walkDirectory(dir, output) {
26
- const entries = readdirSync(dir, { withFileTypes: true });
27
- for (const entry of entries) {
28
- if (entry.name.startsWith(".")) {
29
- throw new Error(`hidden deploy path '${entry.name}' is not allowed`);
30
- }
31
- const entryPath = join(dir, entry.name);
32
- if (entry.isSymbolicLink()) {
33
- throw new Error(`symlink deploy path '${entryPath}' is not allowed`);
34
- }
35
- if (entry.isDirectory()) {
36
- walkDirectory(entryPath, output);
37
- continue;
38
- }
39
- if (entry.isFile()) {
40
- output.push(entryPath);
41
- }
42
- }
43
- }
44
- function buildLocalNookManifest(directory, artifactLabel) {
45
- const root = resolve(directory);
46
- const stats = statSync(root);
47
- if (!stats.isDirectory()) {
48
- throw new Error(`${artifactLabel} path is not a directory: ${directory}`);
49
- }
50
- const absoluteFiles = [];
51
- walkDirectory(root, absoluteFiles);
52
- return absoluteFiles
53
- .map((absolutePath) => {
54
- const relativePath = relative(root, absolutePath);
55
- assertVisibleNookRelativePath(relativePath);
56
- const assetPath = normalizeNookAssetPath(`/${relativePath.split(sep).join("/")}`);
57
- const content = readFileSync(absolutePath);
58
- return {
59
- path: assetPath,
60
- absolutePath,
61
- sizeBytes: content.length,
62
- sha256: createHash("sha256").update(content).digest("hex"),
63
- contentType: contentTypeForPath(assetPath),
64
- };
65
- })
66
- .sort((a, b) => a.path.localeCompare(b.path));
67
- }
68
- export function buildNookDeployManifest(directory) {
69
- const files = buildLocalNookManifest(directory, "deploy");
70
- validateNookManifest(files);
71
- return files;
72
- }
73
- export function buildNookTemplateManifest(directory) {
74
- const files = buildLocalNookManifest(directory, "template");
75
- validateNookTemplateManifest(files);
76
- return files;
77
- }
78
- function joinBackendPath(dir, name) {
79
- const trimmed = dir.replace(/\/+$/, "");
80
- return trimmed ? `${trimmed}/${name}` : name;
81
- }
82
- async function walkBackendDirectory(args) {
83
- args.signal.throwIfAborted();
84
- const listed = await args.backend.listDir(args.dir);
85
- args.signal.throwIfAborted();
86
- for (const entry of listed.entries) {
87
- args.signal.throwIfAborted();
88
- if (entry.name.startsWith(".")) {
89
- throw new Error(`hidden deploy path '${entry.name}' is not allowed`);
90
- }
91
- const backendPath = joinBackendPath(args.dir, entry.name);
92
- const relativePath = args.relativeDir ? `${args.relativeDir}/${entry.name}` : entry.name;
93
- if (entry.isSymlink) {
94
- throw new Error(`symlink deploy path '${relativePath}' is not allowed`);
95
- }
96
- if (entry.isDirectory) {
97
- await walkBackendDirectory({
98
- backend: args.backend,
99
- dir: backendPath,
100
- relativeDir: relativePath,
101
- output: args.output,
102
- signal: args.signal,
103
- });
104
- continue;
105
- }
106
- args.output.push({ backendPath, relativePath });
107
- }
108
- }
109
- async function buildBackendNookManifest(backend, directory, signal) {
110
- const files = [];
111
- await walkBackendDirectory({
112
- backend,
113
- dir: directory,
114
- relativeDir: "",
115
- output: files,
116
- signal,
117
- });
118
- const manifest = [];
119
- for (const file of files) {
120
- signal.throwIfAborted();
121
- assertVisibleNookRelativePath(file.relativePath);
122
- const assetPath = normalizeNookAssetPath(`/${file.relativePath}`);
123
- const binary = await backend.readFileBinary(file.backendPath);
124
- signal.throwIfAborted();
125
- const content = Buffer.from(binary.content);
126
- manifest.push({
127
- path: assetPath,
128
- backendPath: file.backendPath,
129
- sizeBytes: content.length,
130
- sha256: createHash("sha256").update(content).digest("hex"),
131
- contentType: contentTypeForPath(assetPath),
132
- readContent: async () => {
133
- signal.throwIfAborted();
134
- return content;
135
- },
136
- });
137
- }
138
- return manifest.sort((a, b) => a.path.localeCompare(b.path));
139
- }
140
- export async function buildNookDeployManifestFromBackend(backend, directory, signal) {
141
- const files = await buildBackendNookManifest(backend, directory, signal);
142
- signal.throwIfAborted();
143
- validateNookManifest(files);
144
- return files;
145
- }
146
- export async function buildNookTemplateManifestFromBackend(backend, directory, signal) {
147
- const files = await buildBackendNookManifest(backend, directory, signal);
148
- signal.throwIfAborted();
149
- validateNookTemplateManifest(files);
150
- return files;
151
- }
152
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/core/nook/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { NookCliError, printNookHelp, runNookCommand } from "./cli.js";
2
- export { createNookClientFromConfig, NookClient } from "./client.js";
3
- export { buildNookDeployManifest, buildNookTemplateManifest } from "./deploy.js";
4
- export { NOOK_DEPLOY_LIMITS, NOOK_RESERVED_PATH_PREFIX, normalizeNookAssetPath, normalizeNookDomain, validateNookManifest, validateNookSiteSlug, validateNookTemplateManifest, validateNookTemplateName, } from "./validation.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/nook/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAYvE,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC"}
@@ -1,429 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { copyFileSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import { dirname, join } from "node:path";
5
- import { StringDecoder } from "node:string_decoder";
6
- import { fileURLToPath } from "node:url";
7
- import { spawnWithCapture } from "../utils/spawn_capture.js";
8
- import { truncateToBytesFromEnd } from "../utils/truncate.js";
9
- import { normalizeNookDomain } from "./validation.js";
10
- const WORKER_NAME = "tau-nook";
11
- const R2_BUCKET = "tau-nook-assets";
12
- const COMMAND_OUTPUT_CAPTURE_BYTES = 1024 * 1024;
13
- function appendWranglerOutput(state, text) {
14
- if (!text)
15
- return;
16
- state.output += text;
17
- if (Buffer.byteLength(state.output, "utf-8") > COMMAND_OUTPUT_CAPTURE_BYTES) {
18
- state.output = truncateToBytesFromEnd(state.output, COMMAND_OUTPUT_CAPTURE_BYTES);
19
- }
20
- }
21
- function streamWranglerText(text, state, stdout) {
22
- if (!text)
23
- return;
24
- appendWranglerOutput(state, text);
25
- state.pendingLine += text;
26
- const parts = state.pendingLine.split(/\r\n|\n|\r/);
27
- state.pendingLine = parts.pop() ?? "";
28
- for (const part of parts) {
29
- stdout(part);
30
- }
31
- }
32
- async function runWranglerCaptured(args, options = {}) {
33
- const result = await spawnWithCapture("wrangler", args, {
34
- cwd: options.cwd,
35
- env: options.env,
36
- stdio: ["ignore", "pipe", "pipe"],
37
- captureOutput: "combined",
38
- maxCaptureBytes: COMMAND_OUTPUT_CAPTURE_BYTES,
39
- maxCaptureMode: "ignore",
40
- maxCaptureStrategy: "tail",
41
- });
42
- return { output: (result.output ?? "").trim(), exitCode: result.exitCode };
43
- }
44
- function streamWrangler(args, options) {
45
- return new Promise((resolve, reject) => {
46
- const child = spawn("wrangler", args, {
47
- cwd: options.cwd,
48
- env: options.env,
49
- stdio: ["ignore", "pipe", "pipe"],
50
- });
51
- const stdoutDecoder = new StringDecoder("utf8");
52
- const stderrDecoder = new StringDecoder("utf8");
53
- const streamState = { pendingLine: "", output: "" };
54
- let settled = false;
55
- child.stdout?.on("data", (chunk) => streamWranglerText(stdoutDecoder.write(chunk), streamState, options.stdout));
56
- child.stderr?.on("data", (chunk) => streamWranglerText(stderrDecoder.write(chunk), streamState, options.stdout));
57
- child.on("error", (error) => {
58
- if (settled)
59
- return;
60
- settled = true;
61
- reject(error instanceof Error ? error : new Error(String(error)));
62
- });
63
- child.on("close", (exitCode) => {
64
- if (settled)
65
- return;
66
- settled = true;
67
- streamWranglerText(stdoutDecoder.end(), streamState, options.stdout);
68
- streamWranglerText(stderrDecoder.end(), streamState, options.stdout);
69
- if (streamState.pendingLine) {
70
- options.stdout(streamState.pendingLine);
71
- }
72
- resolve({ output: streamState.output.trim(), exitCode });
73
- });
74
- });
75
- }
76
- async function runWrangler(args, options = {}) {
77
- const result = await runWranglerCaptured(args, options);
78
- if (result.exitCode !== 0) {
79
- throw new Error(`wrangler ${args.join(" ")} failed:\n${result.output}`);
80
- }
81
- return result.output;
82
- }
83
- async function runWranglerStreaming(args, options) {
84
- const result = await streamWrangler(args, options);
85
- if (result.exitCode !== 0) {
86
- throw new Error(`wrangler ${args.join(" ")} failed:\n${result.output}`);
87
- }
88
- return result.output;
89
- }
90
- async function runNpmInstall(options) {
91
- const result = await spawnWithCapture("npm", ["install", "--omit=dev", "--ignore-scripts", "--no-audit", "--no-fund"], {
92
- cwd: options.cwd,
93
- env: options.env,
94
- stdio: ["ignore", "pipe", "pipe"],
95
- captureOutput: "combined",
96
- maxCaptureBytes: COMMAND_OUTPUT_CAPTURE_BYTES,
97
- maxCaptureMode: "ignore",
98
- maxCaptureStrategy: "tail",
99
- });
100
- if (result.exitCode !== 0) {
101
- throw new Error(`npm install failed while preparing bundled Nook Worker:\n${result.output}`);
102
- }
103
- }
104
- function parseWranglerR2BucketInfo(output) {
105
- let parsed;
106
- try {
107
- parsed = JSON.parse(output);
108
- }
109
- catch {
110
- throw new Error(`wrangler r2 bucket info returned invalid JSON:\n${output}`);
111
- }
112
- if (!parsed ||
113
- typeof parsed !== "object" ||
114
- typeof parsed.name !== "string") {
115
- throw new Error(`wrangler r2 bucket info returned unexpected JSON:\n${output}`);
116
- }
117
- return parsed;
118
- }
119
- function isMissingR2BucketOutput(output) {
120
- return (output.includes("10007") ||
121
- /bucket.*(?:does not exist|not found)|(?:does not exist|not found).*bucket/i.test(output));
122
- }
123
- async function readExistingR2BucketInfo(env) {
124
- const result = await runWranglerCaptured(["r2", "bucket", "info", R2_BUCKET, "--json"], { env });
125
- if (result.exitCode !== 0) {
126
- if (isMissingR2BucketOutput(result.output))
127
- return undefined;
128
- throw new Error(`wrangler r2 bucket info ${R2_BUCKET} failed:\n${result.output}`);
129
- }
130
- const info = parseWranglerR2BucketInfo(result.output);
131
- if (info.name !== R2_BUCKET) {
132
- throw new Error(`wrangler r2 bucket info returned bucket '${info.name}' while checking '${R2_BUCKET}'.`);
133
- }
134
- return info;
135
- }
136
- async function ensureR2Bucket(args) {
137
- const existing = await readExistingR2BucketInfo(args.env);
138
- if (existing) {
139
- args.stdout(`R2 bucket ${existing.name} already exists`);
140
- return;
141
- }
142
- await runWrangler(["r2", "bucket", "create", R2_BUCKET], { env: args.env });
143
- args.stdout(`created R2 bucket ${R2_BUCKET}`);
144
- }
145
- function requireWranglerAuth(env) {
146
- if (!env.CLOUDFLARE_API_TOKEN?.trim()) {
147
- throw new Error("CLOUDFLARE_API_TOKEN is required for non-interactive wrangler auth.");
148
- }
149
- }
150
- function normalizeAccessTeamDomain(value) {
151
- const normalized = value.trim().replace(/\/+$/, "");
152
- let url;
153
- try {
154
- url = new URL(normalized);
155
- }
156
- catch {
157
- throw new Error("Cloudflare Access team domain must be an HTTPS URL.");
158
- }
159
- if (url.protocol !== "https:" || url.pathname !== "/" || url.search || url.hash) {
160
- throw new Error("Cloudflare Access team domain must be an HTTPS origin URL.");
161
- }
162
- return url.origin;
163
- }
164
- function bundledWorkerPath() {
165
- return join(dirname(fileURLToPath(import.meta.url)), "../../nook/worker/index.js");
166
- }
167
- function packageRootPath() {
168
- return join(dirname(fileURLToPath(import.meta.url)), "../../..");
169
- }
170
- function nookWorkerDependencies() {
171
- const packageJson = JSON.parse(readFileSync(join(packageRootPath(), "package.json"), "utf-8"));
172
- const jose = packageJson.dependencies?.jose;
173
- if (!jose) {
174
- throw new Error("Tau package is missing required Nook Worker dependency 'jose'.");
175
- }
176
- return { jose };
177
- }
178
- function writeBundledWorkerProject(tempDir) {
179
- const workerPath = bundledWorkerPath();
180
- if (!existsSync(workerPath)) {
181
- throw new Error(`bundled Nook Worker is missing at ${workerPath}. Rebuild or reinstall Tau before running tau nook setup.`);
182
- }
183
- const workerDir = join(tempDir, "worker");
184
- mkdirSync(workerDir, { recursive: true });
185
- copyFileSync(workerPath, join(workerDir, "index.js"));
186
- writeFileSync(join(tempDir, "package.json"), JSON.stringify({
187
- private: true,
188
- type: "module",
189
- dependencies: nookWorkerDependencies(),
190
- }, null, 2), "utf-8");
191
- }
192
- function writeWranglerProject(args) {
193
- writeBundledWorkerProject(args.tempDir);
194
- const wranglerConfig = {
195
- name: WORKER_NAME,
196
- main: "worker/index.js",
197
- compatibility_date: "2026-07-06",
198
- workers_dev: false,
199
- routes: [{ pattern: `${args.domain}/*`, zone_name: args.zoneName }],
200
- vars: {
201
- NOOK_DOMAIN: args.domain,
202
- NOOK_ACCESS_TEAM_DOMAIN: args.accessTeamDomain,
203
- NOOK_ACCESS_AUD: args.accessAud,
204
- },
205
- r2_buckets: [
206
- {
207
- binding: "ASSETS",
208
- bucket_name: R2_BUCKET,
209
- },
210
- ],
211
- durable_objects: {
212
- bindings: [
213
- { name: "REGISTRY_DO", class_name: "RegistryDO" },
214
- { name: "SITE_DO", class_name: "SiteDO" },
215
- ],
216
- },
217
- migrations: [
218
- {
219
- tag: "v1",
220
- new_sqlite_classes: ["RegistryDO", "SiteDO"],
221
- },
222
- ],
223
- };
224
- writeFileSync(join(args.tempDir, "wrangler.json"), JSON.stringify(wranglerConfig, null, 2), "utf-8");
225
- }
226
- export async function runNookSetup(args) {
227
- const env = args.env ?? process.env;
228
- const stdout = args.stdout ?? console.log;
229
- requireWranglerAuth(env);
230
- const tempDir = mkdtempSync(join(tmpdir(), "tau-nook-"));
231
- try {
232
- writeWranglerProject({
233
- tempDir,
234
- domain: args.domain,
235
- zoneName: args.zoneName,
236
- accessTeamDomain: args.accessTeamDomain,
237
- accessAud: args.accessAud,
238
- });
239
- await runNpmInstall({ cwd: tempDir, env });
240
- await ensureR2Bucket({ env, stdout });
241
- stdout(`deploying Worker ${WORKER_NAME} with Wrangler...`);
242
- await runWranglerStreaming(["deploy"], { cwd: tempDir, env, stdout });
243
- stdout(`deployed Worker ${WORKER_NAME}`);
244
- stdout("");
245
- stdout("Configure DNS for:");
246
- stdout(` ${args.domain}`);
247
- stdout("");
248
- stdout("Configure Cloudflare Access for this control-plane path:");
249
- stdout(` https://${args.domain}/__nook/*`);
250
- stdout(` application audience: ${args.accessAud}`);
251
- stdout(" disable the Cookie Path Attribute");
252
- stdout(" add user Allow and service-token Service Auth policies");
253
- stdout("");
254
- stdout("Add this to Tau config after creating a Cloudflare Access service token:");
255
- stdout(JSON.stringify({
256
- nook: {
257
- domain: args.domain,
258
- accessClientId: "<cloudflare-access-client-id>",
259
- accessClientSecretEnv: "NOOK_ACCESS_CLIENT_SECRET",
260
- },
261
- }, null, 2));
262
- }
263
- finally {
264
- rmSync(tempDir, { recursive: true, force: true });
265
- }
266
- }
267
- export async function runNookDestroy(args) {
268
- if (!args.yes) {
269
- throw new Error("tau nook destroy requires --yes.");
270
- }
271
- const env = args.env ?? process.env;
272
- const stdout = args.stdout ?? console.log;
273
- const fetchImpl = args.fetchImpl ?? fetch;
274
- requireWranglerAuth(env);
275
- try {
276
- const cleanupResponse = await fetchImpl(`https://${args.domain}/__nook/api/destroy`, {
277
- method: "POST",
278
- headers: {
279
- "CF-Access-Client-Id": args.accessClientId,
280
- "CF-Access-Client-Secret": args.accessClientSecret,
281
- },
282
- });
283
- if (!cleanupResponse.ok) {
284
- throw new Error(await cleanupResponse.text());
285
- }
286
- stdout(`deleted Nook R2 objects and Durable Object data for ${args.domain}`);
287
- }
288
- catch (error) {
289
- throw new Error(`failed to clean up Nook data through https://${args.domain}/__nook/api/destroy: ${error instanceof Error ? error.message : String(error)}`);
290
- }
291
- try {
292
- await runWrangler(["delete", WORKER_NAME, "--force"], { env });
293
- stdout(`deleted Worker ${WORKER_NAME}`);
294
- }
295
- catch (error) {
296
- stdout(`Worker ${WORKER_NAME} was not deleted: ${error.message}`);
297
- }
298
- try {
299
- await runWrangler(["r2", "bucket", "delete", R2_BUCKET], { env });
300
- stdout(`deleted R2 bucket ${R2_BUCKET}`);
301
- }
302
- catch (error) {
303
- stdout(`R2 bucket ${R2_BUCKET} was not deleted: ${error.message}`);
304
- }
305
- }
306
- export function parseNookInfrastructureDomain(args) {
307
- const remaining = [];
308
- let domain = args.env?.NOOK_DOMAIN;
309
- for (let i = 0; i < args.argv.length; i += 1) {
310
- const arg = args.argv[i];
311
- if (arg === "--domain" || arg.startsWith("--domain=")) {
312
- const value = arg.includes("=") ? arg.slice("--domain=".length) : args.argv[++i];
313
- if (!value) {
314
- throw new Error("missing value for --domain");
315
- }
316
- domain = value;
317
- continue;
318
- }
319
- remaining.push(arg);
320
- }
321
- if (!domain?.trim()) {
322
- throw new Error("missing nook domain. pass --domain <domain> or set NOOK_DOMAIN.");
323
- }
324
- return {
325
- domain: normalizeNookDomain(domain),
326
- remaining,
327
- };
328
- }
329
- export function parseNookSetupInputs(args) {
330
- const parsedDomain = parseNookInfrastructureDomain({ argv: args.argv, env: args.env });
331
- const remaining = [];
332
- let zoneName = args.env?.NOOK_ZONE_NAME;
333
- let accessTeamDomain = args.env?.NOOK_ACCESS_TEAM_DOMAIN;
334
- let accessAud = args.env?.NOOK_ACCESS_AUD;
335
- for (let i = 0; i < parsedDomain.remaining.length; i += 1) {
336
- const arg = parsedDomain.remaining[i];
337
- if (arg === "--zone-name" || arg.startsWith("--zone-name=")) {
338
- const value = arg.includes("=")
339
- ? arg.slice("--zone-name=".length)
340
- : parsedDomain.remaining[++i];
341
- if (!value)
342
- throw new Error("missing value for --zone-name");
343
- zoneName = value;
344
- continue;
345
- }
346
- if (arg === "--access-team-domain" || arg.startsWith("--access-team-domain=")) {
347
- const value = arg.includes("=")
348
- ? arg.slice("--access-team-domain=".length)
349
- : parsedDomain.remaining[++i];
350
- if (!value)
351
- throw new Error("missing value for --access-team-domain");
352
- accessTeamDomain = value;
353
- continue;
354
- }
355
- if (arg === "--access-aud" || arg.startsWith("--access-aud=")) {
356
- const value = arg.includes("=")
357
- ? arg.slice("--access-aud=".length)
358
- : parsedDomain.remaining[++i];
359
- if (!value)
360
- throw new Error("missing value for --access-aud");
361
- accessAud = value;
362
- continue;
363
- }
364
- remaining.push(arg);
365
- }
366
- if (!zoneName?.trim()) {
367
- throw new Error("missing Cloudflare zone name. pass --zone-name <zone> or set NOOK_ZONE_NAME.");
368
- }
369
- if (!accessTeamDomain?.trim()) {
370
- throw new Error("missing Cloudflare Access team domain. pass --access-team-domain <url> or set NOOK_ACCESS_TEAM_DOMAIN.");
371
- }
372
- if (!accessAud?.trim()) {
373
- throw new Error("missing Cloudflare Access application audience. pass --access-aud <aud> or set NOOK_ACCESS_AUD.");
374
- }
375
- return {
376
- domain: parsedDomain.domain,
377
- zoneName: normalizeNookDomain(zoneName),
378
- accessTeamDomain: normalizeAccessTeamDomain(accessTeamDomain),
379
- accessAud: accessAud.trim(),
380
- remaining,
381
- };
382
- }
383
- export function parseNookDestroyInputs(args) {
384
- const parsedDomain = parseNookInfrastructureDomain({ argv: args.argv, env: args.env });
385
- const remaining = [];
386
- let accessClientId = args.env?.NOOK_ACCESS_CLIENT_ID;
387
- let accessClientSecret = args.env?.NOOK_ACCESS_CLIENT_SECRET;
388
- let yes = false;
389
- for (let i = 0; i < parsedDomain.remaining.length; i += 1) {
390
- const arg = parsedDomain.remaining[i];
391
- if (arg === "--yes") {
392
- yes = true;
393
- continue;
394
- }
395
- if (arg === "--access-client-id" || arg.startsWith("--access-client-id=")) {
396
- const value = arg.includes("=")
397
- ? arg.slice("--access-client-id=".length)
398
- : parsedDomain.remaining[++i];
399
- if (!value)
400
- throw new Error("missing value for --access-client-id");
401
- accessClientId = value;
402
- continue;
403
- }
404
- if (arg === "--access-client-secret" || arg.startsWith("--access-client-secret=")) {
405
- const value = arg.includes("=")
406
- ? arg.slice("--access-client-secret=".length)
407
- : parsedDomain.remaining[++i];
408
- if (!value)
409
- throw new Error("missing value for --access-client-secret");
410
- accessClientSecret = value;
411
- continue;
412
- }
413
- remaining.push(arg);
414
- }
415
- if (!accessClientId?.trim()) {
416
- throw new Error("missing Cloudflare Access client id. pass --access-client-id <id> or set NOOK_ACCESS_CLIENT_ID.");
417
- }
418
- if (!accessClientSecret?.trim()) {
419
- throw new Error("missing Cloudflare Access client secret. pass --access-client-secret <secret> or set NOOK_ACCESS_CLIENT_SECRET.");
420
- }
421
- return {
422
- domain: parsedDomain.domain,
423
- accessClientId: accessClientId.trim(),
424
- accessClientSecret: accessClientSecret.trim(),
425
- yes,
426
- remaining,
427
- };
428
- }
429
- //# sourceMappingURL=setup.js.map