@tomorrowos/sdk 0.3.1 → 0.3.3

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 (329) hide show
  1. package/dist/cli.js +27 -2
  2. package/dist/playlist-catalog.d.ts +9 -4
  3. package/dist/playlist-catalog.d.ts.map +1 -1
  4. package/dist/playlist-catalog.js +54 -14
  5. package/dist/tomorrowos.d.ts.map +1 -1
  6. package/dist/tomorrowos.js +6 -2
  7. package/package.json +1 -1
  8. package/templates/cms-starter/package.json +2 -2
  9. package/templates/cms-starter/public/index.html +2 -1
  10. package/templates/cms-starter/public/methods.js +73 -12
  11. package/templates/cms-starter/node_modules/.bin/esbuild +0 -16
  12. package/templates/cms-starter/node_modules/.bin/esbuild.cmd +0 -17
  13. package/templates/cms-starter/node_modules/.bin/esbuild.ps1 +0 -28
  14. package/templates/cms-starter/node_modules/.bin/tomorrowos +0 -16
  15. package/templates/cms-starter/node_modules/.bin/tomorrowos.cmd +0 -17
  16. package/templates/cms-starter/node_modules/.bin/tomorrowos.ps1 +0 -28
  17. package/templates/cms-starter/node_modules/.bin/tsc +0 -16
  18. package/templates/cms-starter/node_modules/.bin/tsc.cmd +0 -17
  19. package/templates/cms-starter/node_modules/.bin/tsc.ps1 +0 -28
  20. package/templates/cms-starter/node_modules/.bin/tsserver +0 -16
  21. package/templates/cms-starter/node_modules/.bin/tsserver.cmd +0 -17
  22. package/templates/cms-starter/node_modules/.bin/tsserver.ps1 +0 -28
  23. package/templates/cms-starter/node_modules/.bin/tsx +0 -16
  24. package/templates/cms-starter/node_modules/.bin/tsx.cmd +0 -17
  25. package/templates/cms-starter/node_modules/.bin/tsx.ps1 +0 -28
  26. package/templates/cms-starter/node_modules/.package-lock.json +0 -140
  27. package/templates/cms-starter/node_modules/@esbuild/win32-x64/README.md +0 -3
  28. package/templates/cms-starter/node_modules/@esbuild/win32-x64/esbuild.exe +0 -0
  29. package/templates/cms-starter/node_modules/@esbuild/win32-x64/package.json +0 -20
  30. package/templates/cms-starter/node_modules/@types/node/LICENSE +0 -21
  31. package/templates/cms-starter/node_modules/@types/node/README.md +0 -15
  32. package/templates/cms-starter/node_modules/@types/node/assert/strict.d.ts +0 -8
  33. package/templates/cms-starter/node_modules/@types/node/assert.d.ts +0 -1062
  34. package/templates/cms-starter/node_modules/@types/node/async_hooks.d.ts +0 -605
  35. package/templates/cms-starter/node_modules/@types/node/buffer.buffer.d.ts +0 -471
  36. package/templates/cms-starter/node_modules/@types/node/buffer.d.ts +0 -1936
  37. package/templates/cms-starter/node_modules/@types/node/child_process.d.ts +0 -1475
  38. package/templates/cms-starter/node_modules/@types/node/cluster.d.ts +0 -577
  39. package/templates/cms-starter/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  40. package/templates/cms-starter/node_modules/@types/node/compatibility/index.d.ts +0 -9
  41. package/templates/cms-starter/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  42. package/templates/cms-starter/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  43. package/templates/cms-starter/node_modules/@types/node/console.d.ts +0 -452
  44. package/templates/cms-starter/node_modules/@types/node/constants.d.ts +0 -21
  45. package/templates/cms-starter/node_modules/@types/node/crypto.d.ts +0 -4590
  46. package/templates/cms-starter/node_modules/@types/node/dgram.d.ts +0 -597
  47. package/templates/cms-starter/node_modules/@types/node/diagnostics_channel.d.ts +0 -578
  48. package/templates/cms-starter/node_modules/@types/node/dns/promises.d.ts +0 -479
  49. package/templates/cms-starter/node_modules/@types/node/dns.d.ts +0 -871
  50. package/templates/cms-starter/node_modules/@types/node/domain.d.ts +0 -170
  51. package/templates/cms-starter/node_modules/@types/node/events.d.ts +0 -977
  52. package/templates/cms-starter/node_modules/@types/node/fs/promises.d.ts +0 -1270
  53. package/templates/cms-starter/node_modules/@types/node/fs.d.ts +0 -4375
  54. package/templates/cms-starter/node_modules/@types/node/globals.d.ts +0 -172
  55. package/templates/cms-starter/node_modules/@types/node/globals.typedarray.d.ts +0 -38
  56. package/templates/cms-starter/node_modules/@types/node/http.d.ts +0 -2049
  57. package/templates/cms-starter/node_modules/@types/node/http2.d.ts +0 -2708
  58. package/templates/cms-starter/node_modules/@types/node/https.d.ts +0 -578
  59. package/templates/cms-starter/node_modules/@types/node/index.d.ts +0 -93
  60. package/templates/cms-starter/node_modules/@types/node/inspector.generated.d.ts +0 -3966
  61. package/templates/cms-starter/node_modules/@types/node/module.d.ts +0 -539
  62. package/templates/cms-starter/node_modules/@types/node/net.d.ts +0 -1031
  63. package/templates/cms-starter/node_modules/@types/node/os.d.ts +0 -506
  64. package/templates/cms-starter/node_modules/@types/node/package.json +0 -140
  65. package/templates/cms-starter/node_modules/@types/node/path.d.ts +0 -200
  66. package/templates/cms-starter/node_modules/@types/node/perf_hooks.d.ts +0 -961
  67. package/templates/cms-starter/node_modules/@types/node/process.d.ts +0 -1961
  68. package/templates/cms-starter/node_modules/@types/node/punycode.d.ts +0 -117
  69. package/templates/cms-starter/node_modules/@types/node/querystring.d.ts +0 -152
  70. package/templates/cms-starter/node_modules/@types/node/readline/promises.d.ts +0 -162
  71. package/templates/cms-starter/node_modules/@types/node/readline.d.ts +0 -589
  72. package/templates/cms-starter/node_modules/@types/node/repl.d.ts +0 -430
  73. package/templates/cms-starter/node_modules/@types/node/sea.d.ts +0 -153
  74. package/templates/cms-starter/node_modules/@types/node/stream/consumers.d.ts +0 -38
  75. package/templates/cms-starter/node_modules/@types/node/stream/promises.d.ts +0 -90
  76. package/templates/cms-starter/node_modules/@types/node/stream/web.d.ts +0 -533
  77. package/templates/cms-starter/node_modules/@types/node/stream.d.ts +0 -1698
  78. package/templates/cms-starter/node_modules/@types/node/string_decoder.d.ts +0 -67
  79. package/templates/cms-starter/node_modules/@types/node/test.d.ts +0 -1787
  80. package/templates/cms-starter/node_modules/@types/node/timers/promises.d.ts +0 -108
  81. package/templates/cms-starter/node_modules/@types/node/timers.d.ts +0 -286
  82. package/templates/cms-starter/node_modules/@types/node/tls.d.ts +0 -1259
  83. package/templates/cms-starter/node_modules/@types/node/trace_events.d.ts +0 -197
  84. package/templates/cms-starter/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -468
  85. package/templates/cms-starter/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -34
  86. package/templates/cms-starter/node_modules/@types/node/ts5.6/index.d.ts +0 -93
  87. package/templates/cms-starter/node_modules/@types/node/tty.d.ts +0 -208
  88. package/templates/cms-starter/node_modules/@types/node/url.d.ts +0 -964
  89. package/templates/cms-starter/node_modules/@types/node/util.d.ts +0 -2331
  90. package/templates/cms-starter/node_modules/@types/node/v8.d.ts +0 -809
  91. package/templates/cms-starter/node_modules/@types/node/vm.d.ts +0 -1001
  92. package/templates/cms-starter/node_modules/@types/node/wasi.d.ts +0 -181
  93. package/templates/cms-starter/node_modules/@types/node/web-globals/abortcontroller.d.ts +0 -34
  94. package/templates/cms-starter/node_modules/@types/node/web-globals/domexception.d.ts +0 -68
  95. package/templates/cms-starter/node_modules/@types/node/web-globals/events.d.ts +0 -97
  96. package/templates/cms-starter/node_modules/@types/node/web-globals/fetch.d.ts +0 -55
  97. package/templates/cms-starter/node_modules/@types/node/worker_threads.d.ts +0 -715
  98. package/templates/cms-starter/node_modules/@types/node/zlib.d.ts +0 -598
  99. package/templates/cms-starter/node_modules/esbuild/LICENSE.md +0 -21
  100. package/templates/cms-starter/node_modules/esbuild/README.md +0 -3
  101. package/templates/cms-starter/node_modules/esbuild/bin/esbuild +0 -223
  102. package/templates/cms-starter/node_modules/esbuild/install.js +0 -300
  103. package/templates/cms-starter/node_modules/esbuild/lib/main.d.ts +0 -716
  104. package/templates/cms-starter/node_modules/esbuild/lib/main.js +0 -2532
  105. package/templates/cms-starter/node_modules/esbuild/package.json +0 -74
  106. package/templates/cms-starter/node_modules/tsx/LICENSE +0 -21
  107. package/templates/cms-starter/node_modules/tsx/README.md +0 -32
  108. package/templates/cms-starter/node_modules/tsx/dist/cjs/api/index.cjs +0 -1
  109. package/templates/cms-starter/node_modules/tsx/dist/cjs/api/index.d.cts +0 -35
  110. package/templates/cms-starter/node_modules/tsx/dist/cjs/api/index.d.mts +0 -35
  111. package/templates/cms-starter/node_modules/tsx/dist/cjs/api/index.mjs +0 -1
  112. package/templates/cms-starter/node_modules/tsx/dist/cjs/index.cjs +0 -1
  113. package/templates/cms-starter/node_modules/tsx/dist/cjs/index.mjs +0 -1
  114. package/templates/cms-starter/node_modules/tsx/dist/cli.cjs +0 -54
  115. package/templates/cms-starter/node_modules/tsx/dist/cli.mjs +0 -55
  116. package/templates/cms-starter/node_modules/tsx/dist/client-D3mGB526.cjs +0 -1
  117. package/templates/cms-starter/node_modules/tsx/dist/client-D_mPDF5S.mjs +0 -1
  118. package/templates/cms-starter/node_modules/tsx/dist/esm/api/index.cjs +0 -1
  119. package/templates/cms-starter/node_modules/tsx/dist/esm/api/index.d.cts +0 -35
  120. package/templates/cms-starter/node_modules/tsx/dist/esm/api/index.d.mts +0 -35
  121. package/templates/cms-starter/node_modules/tsx/dist/esm/api/index.mjs +0 -1
  122. package/templates/cms-starter/node_modules/tsx/dist/esm/index.cjs +0 -1
  123. package/templates/cms-starter/node_modules/tsx/dist/esm/index.mjs +0 -1
  124. package/templates/cms-starter/node_modules/tsx/dist/get-pipe-path-D4YM6rQt.cjs +0 -1
  125. package/templates/cms-starter/node_modules/tsx/dist/get-pipe-path-_tAJyU_v.mjs +0 -1
  126. package/templates/cms-starter/node_modules/tsx/dist/index-BWFBUo6r.cjs +0 -1
  127. package/templates/cms-starter/node_modules/tsx/dist/index-D9F1FXzN.cjs +0 -14
  128. package/templates/cms-starter/node_modules/tsx/dist/index-XurvG3JN.mjs +0 -14
  129. package/templates/cms-starter/node_modules/tsx/dist/index-gbaejti9.mjs +0 -1
  130. package/templates/cms-starter/node_modules/tsx/dist/lexer-DQCqS3nf.mjs +0 -3
  131. package/templates/cms-starter/node_modules/tsx/dist/lexer-DgIbo0BU.cjs +0 -3
  132. package/templates/cms-starter/node_modules/tsx/dist/loader.cjs +0 -1
  133. package/templates/cms-starter/node_modules/tsx/dist/loader.mjs +0 -1
  134. package/templates/cms-starter/node_modules/tsx/dist/node-features-B9BBLzwu.mjs +0 -1
  135. package/templates/cms-starter/node_modules/tsx/dist/node-features-CQLdkVE6.cjs +0 -1
  136. package/templates/cms-starter/node_modules/tsx/dist/package-CGdS2_oX.cjs +0 -1
  137. package/templates/cms-starter/node_modules/tsx/dist/package-DyJMwVU5.mjs +0 -1
  138. package/templates/cms-starter/node_modules/tsx/dist/patch-repl.cjs +0 -1
  139. package/templates/cms-starter/node_modules/tsx/dist/patch-repl.mjs +0 -1
  140. package/templates/cms-starter/node_modules/tsx/dist/preflight.cjs +0 -1
  141. package/templates/cms-starter/node_modules/tsx/dist/preflight.mjs +0 -1
  142. package/templates/cms-starter/node_modules/tsx/dist/register-BOkp8V6j.cjs +0 -10
  143. package/templates/cms-starter/node_modules/tsx/dist/register-BnTWPeIB.mjs +0 -10
  144. package/templates/cms-starter/node_modules/tsx/dist/register-CHVGxKtC.cjs +0 -2
  145. package/templates/cms-starter/node_modules/tsx/dist/register-D_B8UL5H.mjs +0 -2
  146. package/templates/cms-starter/node_modules/tsx/dist/repl.cjs +0 -3
  147. package/templates/cms-starter/node_modules/tsx/dist/repl.mjs +0 -3
  148. package/templates/cms-starter/node_modules/tsx/dist/require-CjvaJWEr.cjs +0 -1
  149. package/templates/cms-starter/node_modules/tsx/dist/require-DzmC1hVr.mjs +0 -1
  150. package/templates/cms-starter/node_modules/tsx/dist/suppress-warnings.cjs +0 -1
  151. package/templates/cms-starter/node_modules/tsx/dist/suppress-warnings.mjs +0 -1
  152. package/templates/cms-starter/node_modules/tsx/dist/temporary-directory-B83uKxJF.cjs +0 -1
  153. package/templates/cms-starter/node_modules/tsx/dist/temporary-directory-BDDVQOvU.mjs +0 -1
  154. package/templates/cms-starter/node_modules/tsx/dist/types-Cxp8y2TL.d.ts +0 -5
  155. package/templates/cms-starter/node_modules/tsx/package.json +0 -67
  156. package/templates/cms-starter/node_modules/typescript/LICENSE.txt +0 -55
  157. package/templates/cms-starter/node_modules/typescript/README.md +0 -50
  158. package/templates/cms-starter/node_modules/typescript/SECURITY.md +0 -41
  159. package/templates/cms-starter/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  160. package/templates/cms-starter/node_modules/typescript/bin/tsc +0 -2
  161. package/templates/cms-starter/node_modules/typescript/bin/tsserver +0 -2
  162. package/templates/cms-starter/node_modules/typescript/lib/_tsc.js +0 -133818
  163. package/templates/cms-starter/node_modules/typescript/lib/_tsserver.js +0 -659
  164. package/templates/cms-starter/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  165. package/templates/cms-starter/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  166. package/templates/cms-starter/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  167. package/templates/cms-starter/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  168. package/templates/cms-starter/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  169. package/templates/cms-starter/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  170. package/templates/cms-starter/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  171. package/templates/cms-starter/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  172. package/templates/cms-starter/node_modules/typescript/lib/lib.d.ts +0 -22
  173. package/templates/cms-starter/node_modules/typescript/lib/lib.decorators.d.ts +0 -384
  174. package/templates/cms-starter/node_modules/typescript/lib/lib.decorators.legacy.d.ts +0 -22
  175. package/templates/cms-starter/node_modules/typescript/lib/lib.dom.asynciterable.d.ts +0 -41
  176. package/templates/cms-starter/node_modules/typescript/lib/lib.dom.d.ts +0 -39429
  177. package/templates/cms-starter/node_modules/typescript/lib/lib.dom.iterable.d.ts +0 -571
  178. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.collection.d.ts +0 -147
  179. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.core.d.ts +0 -597
  180. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.d.ts +0 -28
  181. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.generator.d.ts +0 -77
  182. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.iterable.d.ts +0 -605
  183. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.promise.d.ts +0 -81
  184. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.proxy.d.ts +0 -128
  185. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.reflect.d.ts +0 -144
  186. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.symbol.d.ts +0 -46
  187. package/templates/cms-starter/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -326
  188. package/templates/cms-starter/node_modules/typescript/lib/lib.es2016.array.include.d.ts +0 -116
  189. package/templates/cms-starter/node_modules/typescript/lib/lib.es2016.d.ts +0 -21
  190. package/templates/cms-starter/node_modules/typescript/lib/lib.es2016.full.d.ts +0 -23
  191. package/templates/cms-starter/node_modules/typescript/lib/lib.es2016.intl.d.ts +0 -31
  192. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts +0 -21
  193. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.d.ts +0 -26
  194. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.date.d.ts +0 -31
  195. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.full.d.ts +0 -23
  196. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.intl.d.ts +0 -44
  197. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.object.d.ts +0 -49
  198. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts +0 -135
  199. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.string.d.ts +0 -45
  200. package/templates/cms-starter/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts +0 -53
  201. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -77
  202. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts +0 -53
  203. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.d.ts +0 -24
  204. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.full.d.ts +0 -24
  205. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.intl.d.ts +0 -83
  206. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.promise.d.ts +0 -30
  207. package/templates/cms-starter/node_modules/typescript/lib/lib.es2018.regexp.d.ts +0 -37
  208. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.array.d.ts +0 -79
  209. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.d.ts +0 -24
  210. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.full.d.ts +0 -24
  211. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.intl.d.ts +0 -23
  212. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.object.d.ts +0 -33
  213. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.string.d.ts +0 -37
  214. package/templates/cms-starter/node_modules/typescript/lib/lib.es2019.symbol.d.ts +0 -24
  215. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.bigint.d.ts +0 -765
  216. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.d.ts +0 -27
  217. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.date.d.ts +0 -42
  218. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.full.d.ts +0 -24
  219. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.intl.d.ts +0 -474
  220. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.number.d.ts +0 -28
  221. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.promise.d.ts +0 -47
  222. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts +0 -99
  223. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.string.d.ts +0 -44
  224. package/templates/cms-starter/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -41
  225. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.d.ts +0 -23
  226. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.full.d.ts +0 -24
  227. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.intl.d.ts +0 -166
  228. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.promise.d.ts +0 -48
  229. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.string.d.ts +0 -33
  230. package/templates/cms-starter/node_modules/typescript/lib/lib.es2021.weakref.d.ts +0 -78
  231. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.array.d.ts +0 -121
  232. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.d.ts +0 -25
  233. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.error.d.ts +0 -75
  234. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.full.d.ts +0 -24
  235. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.intl.d.ts +0 -145
  236. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.object.d.ts +0 -26
  237. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.regexp.d.ts +0 -39
  238. package/templates/cms-starter/node_modules/typescript/lib/lib.es2022.string.d.ts +0 -25
  239. package/templates/cms-starter/node_modules/typescript/lib/lib.es2023.array.d.ts +0 -924
  240. package/templates/cms-starter/node_modules/typescript/lib/lib.es2023.collection.d.ts +0 -21
  241. package/templates/cms-starter/node_modules/typescript/lib/lib.es2023.d.ts +0 -22
  242. package/templates/cms-starter/node_modules/typescript/lib/lib.es2023.full.d.ts +0 -24
  243. package/templates/cms-starter/node_modules/typescript/lib/lib.es2023.intl.d.ts +0 -56
  244. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts +0 -65
  245. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.collection.d.ts +0 -29
  246. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.d.ts +0 -26
  247. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.full.d.ts +0 -24
  248. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.object.d.ts +0 -29
  249. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.promise.d.ts +0 -35
  250. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.regexp.d.ts +0 -25
  251. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts +0 -68
  252. package/templates/cms-starter/node_modules/typescript/lib/lib.es2024.string.d.ts +0 -29
  253. package/templates/cms-starter/node_modules/typescript/lib/lib.es5.d.ts +0 -4601
  254. package/templates/cms-starter/node_modules/typescript/lib/lib.es6.d.ts +0 -23
  255. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.array.d.ts +0 -35
  256. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.collection.d.ts +0 -96
  257. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.d.ts +0 -29
  258. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.decorators.d.ts +0 -28
  259. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.disposable.d.ts +0 -193
  260. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.error.d.ts +0 -24
  261. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.float16.d.ts +0 -445
  262. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.full.d.ts +0 -24
  263. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.intl.d.ts +0 -21
  264. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.iterator.d.ts +0 -148
  265. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.promise.d.ts +0 -34
  266. package/templates/cms-starter/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts +0 -25
  267. package/templates/cms-starter/node_modules/typescript/lib/lib.scripthost.d.ts +0 -322
  268. package/templates/cms-starter/node_modules/typescript/lib/lib.webworker.asynciterable.d.ts +0 -41
  269. package/templates/cms-starter/node_modules/typescript/lib/lib.webworker.d.ts +0 -13150
  270. package/templates/cms-starter/node_modules/typescript/lib/lib.webworker.importscripts.d.ts +0 -23
  271. package/templates/cms-starter/node_modules/typescript/lib/lib.webworker.iterable.d.ts +0 -340
  272. package/templates/cms-starter/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  273. package/templates/cms-starter/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  274. package/templates/cms-starter/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  275. package/templates/cms-starter/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  276. package/templates/cms-starter/node_modules/typescript/lib/tsc.js +0 -8
  277. package/templates/cms-starter/node_modules/typescript/lib/tsserver.js +0 -8
  278. package/templates/cms-starter/node_modules/typescript/lib/tsserverlibrary.d.ts +0 -17
  279. package/templates/cms-starter/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  280. package/templates/cms-starter/node_modules/typescript/lib/typesMap.json +0 -497
  281. package/templates/cms-starter/node_modules/typescript/lib/typescript.d.ts +0 -11437
  282. package/templates/cms-starter/node_modules/typescript/lib/typescript.js +0 -200276
  283. package/templates/cms-starter/node_modules/typescript/lib/typingsInstaller.js +0 -8
  284. package/templates/cms-starter/node_modules/typescript/lib/watchGuard.js +0 -53
  285. package/templates/cms-starter/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  286. package/templates/cms-starter/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  287. package/templates/cms-starter/node_modules/typescript/package.json +0 -120
  288. package/templates/cms-starter/node_modules/undici-types/LICENSE +0 -21
  289. package/templates/cms-starter/node_modules/undici-types/README.md +0 -6
  290. package/templates/cms-starter/node_modules/undici-types/agent.d.ts +0 -31
  291. package/templates/cms-starter/node_modules/undici-types/api.d.ts +0 -43
  292. package/templates/cms-starter/node_modules/undici-types/balanced-pool.d.ts +0 -29
  293. package/templates/cms-starter/node_modules/undici-types/cache.d.ts +0 -36
  294. package/templates/cms-starter/node_modules/undici-types/client.d.ts +0 -108
  295. package/templates/cms-starter/node_modules/undici-types/connector.d.ts +0 -34
  296. package/templates/cms-starter/node_modules/undici-types/content-type.d.ts +0 -21
  297. package/templates/cms-starter/node_modules/undici-types/cookies.d.ts +0 -28
  298. package/templates/cms-starter/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  299. package/templates/cms-starter/node_modules/undici-types/dispatcher.d.ts +0 -256
  300. package/templates/cms-starter/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  301. package/templates/cms-starter/node_modules/undici-types/errors.d.ts +0 -149
  302. package/templates/cms-starter/node_modules/undici-types/eventsource.d.ts +0 -61
  303. package/templates/cms-starter/node_modules/undici-types/fetch.d.ts +0 -209
  304. package/templates/cms-starter/node_modules/undici-types/file.d.ts +0 -39
  305. package/templates/cms-starter/node_modules/undici-types/filereader.d.ts +0 -54
  306. package/templates/cms-starter/node_modules/undici-types/formdata.d.ts +0 -108
  307. package/templates/cms-starter/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  308. package/templates/cms-starter/node_modules/undici-types/global-origin.d.ts +0 -7
  309. package/templates/cms-starter/node_modules/undici-types/handlers.d.ts +0 -15
  310. package/templates/cms-starter/node_modules/undici-types/header.d.ts +0 -4
  311. package/templates/cms-starter/node_modules/undici-types/index.d.ts +0 -71
  312. package/templates/cms-starter/node_modules/undici-types/interceptors.d.ts +0 -17
  313. package/templates/cms-starter/node_modules/undici-types/mock-agent.d.ts +0 -50
  314. package/templates/cms-starter/node_modules/undici-types/mock-client.d.ts +0 -25
  315. package/templates/cms-starter/node_modules/undici-types/mock-errors.d.ts +0 -12
  316. package/templates/cms-starter/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  317. package/templates/cms-starter/node_modules/undici-types/mock-pool.d.ts +0 -25
  318. package/templates/cms-starter/node_modules/undici-types/package.json +0 -55
  319. package/templates/cms-starter/node_modules/undici-types/patch.d.ts +0 -33
  320. package/templates/cms-starter/node_modules/undici-types/pool-stats.d.ts +0 -19
  321. package/templates/cms-starter/node_modules/undici-types/pool.d.ts +0 -39
  322. package/templates/cms-starter/node_modules/undici-types/proxy-agent.d.ts +0 -28
  323. package/templates/cms-starter/node_modules/undici-types/readable.d.ts +0 -65
  324. package/templates/cms-starter/node_modules/undici-types/retry-agent.d.ts +0 -8
  325. package/templates/cms-starter/node_modules/undici-types/retry-handler.d.ts +0 -116
  326. package/templates/cms-starter/node_modules/undici-types/util.d.ts +0 -18
  327. package/templates/cms-starter/node_modules/undici-types/webidl.d.ts +0 -228
  328. package/templates/cms-starter/node_modules/undici-types/websocket.d.ts +0 -150
  329. package/templates/cms-starter/package-lock.json +0 -592
package/dist/cli.js CHANGED
@@ -11,6 +11,27 @@ function getSdkVersion() {
11
11
  const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
12
12
  return pkg.version ?? "0.0.0";
13
13
  }
14
+ const STARTER_SKIP_DIRS = new Set(["node_modules"]);
15
+ /** Never ship local install artifacts into a new CMS project. */
16
+ function shouldCopyStarterEntry(starterRoot, source) {
17
+ const rel = path.relative(starterRoot, source);
18
+ if (!rel)
19
+ return true;
20
+ const parts = rel.split(path.sep).filter(Boolean);
21
+ if (parts.some((p) => STARTER_SKIP_DIRS.has(p)))
22
+ return false;
23
+ if (path.basename(source) === "package-lock.json")
24
+ return false;
25
+ return true;
26
+ }
27
+ function removeStarterArtifacts(destDir) {
28
+ const lockPath = path.join(destDir, "package-lock.json");
29
+ const modulesPath = path.join(destDir, "node_modules");
30
+ if (fs.existsSync(lockPath))
31
+ fs.rmSync(lockPath, { force: true });
32
+ if (fs.existsSync(modulesPath))
33
+ fs.rmSync(modulesPath, { recursive: true, force: true });
34
+ }
14
35
  /** Align generated cms-starter package.json with the installed SDK version. */
15
36
  function patchStarterPackageJson(destDir) {
16
37
  const pkgPath = path.join(path.resolve(destDir), "package.json");
@@ -41,12 +62,16 @@ function copyStarter(destDir, force) {
41
62
  else {
42
63
  fs.mkdirSync(resolved, { recursive: true });
43
64
  }
44
- fs.cpSync(src, resolved, { recursive: true });
65
+ fs.cpSync(src, resolved, {
66
+ recursive: true,
67
+ filter: (source) => shouldCopyStarterEntry(src, source),
68
+ });
45
69
  patchStarterPackageJson(resolved);
70
+ removeStarterArtifacts(resolved);
46
71
  const sdkVer = getSdkVersion();
47
72
  console.log(`[tomorrowos] Created CMS project at ${resolved}`);
48
73
  console.log(`[tomorrowos] @tomorrowos/sdk dependency: ^${sdkVer}`);
49
- console.log("Next: cd there, run npm install, then npm run dev");
74
+ console.log("Next: cd there, run npm install, then npm start");
50
75
  }
51
76
  function cmdBuild(argv) {
52
77
  const platformIdx = argv.indexOf("--platform");
@@ -13,8 +13,15 @@ export interface BuiltDevicePolicy {
13
13
  };
14
14
  revision?: number;
15
15
  syncMode?: "latest" | "snapshot";
16
+ /** One-shot: player may start outside schedule right after publish. */
17
+ playNow?: boolean;
16
18
  };
17
19
  }
20
+ export interface PolicyBuildOptions {
21
+ useLatest?: boolean;
22
+ playNow?: boolean;
23
+ mediaBaseUrl?: string;
24
+ }
18
25
  export declare class PlaylistCatalog {
19
26
  private readonly store;
20
27
  constructor(store: TomorrowOSStore);
@@ -24,11 +31,9 @@ export declare class PlaylistCatalog {
24
31
  savePlaylist(input: SavePlaylistInput): Promise<StoredPlaylist>;
25
32
  retirePlaylist(id: string): Promise<StoredPlaylist>;
26
33
  getDeviceAssignments(deviceId: string): Promise<DevicePlaylistAssignment[]>;
27
- publishPlaylistsToDevice(deviceId: string, playlistIds: string[]): Promise<BuiltDevicePolicy>;
34
+ publishPlaylistsToDevice(deviceId: string, playlistIds: string[], options?: PolicyBuildOptions): Promise<BuiltDevicePolicy>;
28
35
  removePlaylistFromDevice(deviceId: string, playlistId: string): Promise<BuiltDevicePolicy>;
29
- buildPolicyForDevice(deviceId: string, options?: {
30
- useLatest?: boolean;
31
- }): Promise<BuiltDevicePolicy>;
36
+ buildPolicyForDevice(deviceId: string, options?: PolicyBuildOptions): Promise<BuiltDevicePolicy>;
32
37
  private buildPolicyFromAssignments;
33
38
  canPublishPlaylistToNewDevice(playlistId: string): Promise<boolean>;
34
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playlist-catalog.d.ts","sourceRoot":"","sources":["../src/playlist-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QACN,SAAS,EAAE,yBAAyB,EAAE,CAAC;QACvC,QAAQ,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;KAClC,CAAC;CACH;AAYD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAE7C,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAK1C,6BAA6B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI1D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI5D,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC/D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAcnD,oBAAoB,CACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,wBAAwB,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,iBAAiB,CAAC;IA8BvB,wBAAwB,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAOvB,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,OAAO,CAAC,iBAAiB,CAAC;YAKf,0BAA0B;IA+BxC,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE"}
1
+ {"version":3,"file":"playlist-catalog.d.ts","sourceRoot":"","sources":["../src/playlist-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QACN,SAAS,EAAE,yBAAyB,EAAE,CAAC;QACvC,QAAQ,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QACjC,uEAAuE;QACvE,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+CD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAE7C,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAK1C,6BAA6B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI1D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI5D,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC/D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAcnD,oBAAoB,CACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAIhC,wBAAwB,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAkCvB,wBAAwB,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAOvB,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;YAKf,0BAA0B;IAmCxC,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE"}
@@ -1,11 +1,44 @@
1
1
  import { randomUUID } from "crypto";
2
- function cloneSnapshot(playlist) {
2
+ function normalizeMediaBaseUrl(raw) {
3
+ let s = String(raw || "").trim();
4
+ if (!s)
5
+ return "";
6
+ if (!/^https?:\/\//i.test(s))
7
+ s = `http://${s}`;
8
+ try {
9
+ return new URL(s).origin;
10
+ }
11
+ catch {
12
+ return "";
13
+ }
14
+ }
15
+ function absolutizeMediaUrl(url, mediaBaseUrl) {
16
+ const trimmed = String(url || "").trim();
17
+ if (!trimmed)
18
+ return trimmed;
19
+ if (/^https?:\/\//i.test(trimmed))
20
+ return trimmed;
21
+ const base = normalizeMediaBaseUrl(mediaBaseUrl);
22
+ if (!base)
23
+ return trimmed;
24
+ return `${base}${trimmed.startsWith("/") ? trimmed : `/${trimmed}`}`;
25
+ }
26
+ function absolutizePlaylistItems(items, mediaBaseUrl) {
27
+ const base = normalizeMediaBaseUrl(mediaBaseUrl);
28
+ if (!base)
29
+ return items.map((item) => ({ ...item }));
30
+ return items.map((item) => ({
31
+ ...item,
32
+ url: absolutizeMediaUrl(item.url, base)
33
+ }));
34
+ }
35
+ function cloneSnapshot(playlist, mediaBaseUrl) {
3
36
  return {
4
37
  id: playlist.id,
5
38
  name: playlist.name,
6
39
  version: playlist.version,
7
40
  schedule: playlist.schedule ? { ...playlist.schedule } : undefined,
8
- items: playlist.items.map((item) => ({ ...item }))
41
+ items: absolutizePlaylistItems(playlist.items, mediaBaseUrl)
9
42
  };
10
43
  }
11
44
  export class PlaylistCatalog {
@@ -67,7 +100,7 @@ export class PlaylistCatalog {
67
100
  async getDeviceAssignments(deviceId) {
68
101
  return this.store.getDeviceAssignments(deviceId);
69
102
  }
70
- async publishPlaylistsToDevice(deviceId, playlistIds) {
103
+ async publishPlaylistsToDevice(deviceId, playlistIds, options = {}) {
71
104
  const ids = [...new Set(playlistIds.map((x) => String(x).trim()).filter(Boolean))];
72
105
  if (ids.length === 0) {
73
106
  throw Object.assign(new Error("Select at least one playlist"), {
@@ -86,11 +119,15 @@ export class PlaylistCatalog {
86
119
  playlistId,
87
120
  publishedVersion: playlist.version,
88
121
  publishedAt: new Date().toISOString(),
89
- snapshot: cloneSnapshot(playlist)
122
+ snapshot: cloneSnapshot(playlist, options.mediaBaseUrl)
90
123
  });
91
124
  }
92
125
  await this.store.setDeviceAssignments(deviceId, assignments);
93
- return this.buildPolicyFromAssignments(assignments, { useLatest: false });
126
+ return this.buildPolicyFromAssignments(assignments, {
127
+ useLatest: false,
128
+ playNow: true,
129
+ mediaBaseUrl: options.mediaBaseUrl
130
+ });
94
131
  }
95
132
  async removePlaylistFromDevice(deviceId, playlistId) {
96
133
  const assignments = await this.store.getDeviceAssignments(deviceId);
@@ -104,28 +141,31 @@ export class PlaylistCatalog {
104
141
  }
105
142
  async buildPolicyFromAssignments(assignments, options) {
106
143
  const useLatest = options.useLatest === true;
144
+ const mediaBaseUrl = options.mediaBaseUrl;
107
145
  const playlists = [];
108
146
  for (const assignment of assignments) {
109
147
  if (useLatest) {
110
148
  const current = await this.store.getPlaylist(assignment.playlistId);
111
149
  if (current && !current.retired) {
112
- playlists.push(cloneSnapshot(current));
150
+ playlists.push(cloneSnapshot(current, mediaBaseUrl));
113
151
  continue;
114
152
  }
115
153
  }
116
154
  playlists.push({
117
155
  ...assignment.snapshot,
118
- items: assignment.snapshot.items.map((item) => ({ ...item }))
156
+ items: absolutizePlaylistItems(assignment.snapshot.items, mediaBaseUrl)
119
157
  });
120
158
  }
121
- return {
122
- policy: {
123
- playlists,
124
- fallback: { type: "brand" },
125
- revision: Date.now(),
126
- syncMode: useLatest ? "latest" : "snapshot"
127
- }
159
+ const policy = {
160
+ playlists,
161
+ fallback: { type: "brand" },
162
+ revision: Date.now(),
163
+ syncMode: useLatest ? "latest" : "snapshot"
128
164
  };
165
+ if (options.playNow === true) {
166
+ policy.playNow = true;
167
+ }
168
+ return { policy };
129
169
  }
130
170
  canPublishPlaylistToNewDevice(playlistId) {
131
171
  return this.store.getPlaylist(playlistId).then((p) => !!p && !p?.retired);
@@ -1 +1 @@
1
- {"version":3,"file":"tomorrowos.d.ts","sourceRoot":"","sources":["../src/tomorrowos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tomorrowos.d.ts","sourceRoot":"","sources":["../src/tomorrowos.ts"],"names":[],"mappings":"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"}
@@ -639,14 +639,18 @@ export class TomorrowOS extends EventEmitter {
639
639
  }
640
640
  try {
641
641
  let built;
642
+ const mediaBaseUrl = typeof body.mediaBaseUrl === "string" ? body.mediaBaseUrl : undefined;
642
643
  if (body.useLatest === true) {
643
644
  built = await this.playlists.buildPolicyForDevice(deviceId, {
644
- useLatest: true
645
+ useLatest: true,
646
+ mediaBaseUrl
645
647
  });
646
648
  }
647
649
  else {
648
650
  const ids = Array.isArray(body.playlistIds) ? body.playlistIds : [];
649
- built = await this.playlists.publishPlaylistsToDevice(deviceId, ids);
651
+ built = await this.playlists.publishPlaylistsToDevice(deviceId, ids, {
652
+ mediaBaseUrl
653
+ });
650
654
  }
651
655
  const result = await this.sendDeviceCommand(deviceId, "device.content.setPolicy", {
652
656
  policy: built.policy
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomorrowos/sdk",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "TomorrowOS CMS server SDK — WebSocket transport, pairing, device commands, optional static CMS UI. Includes CLI (tomorrowos init / build) and starter templates.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-cms",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "CMS server on @tomorrowos/sdk. Add your UI (React, static files, etc.) alongside this server.",
5
5
  "private": true,
6
6
  "type": "module",
@@ -10,7 +10,7 @@
10
10
  "build-player": "tomorrowos build --platform tizen"
11
11
  },
12
12
  "dependencies": {
13
- "@tomorrowos/sdk": "file:../.."
13
+ "@tomorrowos/sdk": "^0.3.3"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@types/node": "^20.0.0",
@@ -41,7 +41,8 @@
41
41
  <section class="card" id="cmsUrlSection">
42
42
  <h2>CMS URL for screens</h2>
43
43
  <p class="hint">
44
- <strong>Local development only.</strong> LAN URL for TVs (not localhost).
44
+ <strong>Local development only.</strong> Optional LAN override so TVs reach your PC (not localhost).
45
+ Hosted CMS (e.g. Replit) uses its public URL automatically — leave this empty there.
45
46
  </p>
46
47
  <div class="row">
47
48
  <input
@@ -79,15 +79,44 @@ function normalizeMediaBaseUrl(raw) {
79
79
  }
80
80
  }
81
81
 
82
+ /** User-saved LAN override (local dev only). Not used on hosted CMS unless explicitly set. */
83
+ function getExplicitLanMediaBase() {
84
+ return normalizeMediaBaseUrl(localStorage.getItem(PANEL_MEDIA_BASE_KEY) || "");
85
+ }
86
+
87
+ function playlistHasRelativeMediaUrls(playlist) {
88
+ return (playlist?.items || []).some((item) => {
89
+ const url = String(item?.url || "").trim();
90
+ return url && !/^https?:\/\//i.test(url);
91
+ });
92
+ }
93
+
94
+ /**
95
+ * Base URL sent on publish only when needed.
96
+ * - Hosted (e.g. Replit): use public origin only if items are still relative (/uploads/...).
97
+ * - Local: use saved LAN override only when set; never default to rewriting otherwise.
98
+ * - Returns null to omit mediaBaseUrl (playlist already has absolute https URLs).
99
+ */
100
+ function getPublishMediaBaseUrl(selectedPlaylists) {
101
+ const explicitLan = getExplicitLanMediaBase();
102
+ if (explicitLan) return explicitLan;
103
+
104
+ const needsRewrite = selectedPlaylists.some(playlistHasRelativeMediaUrls);
105
+ if (!needsRewrite) return null;
106
+
107
+ if (!isLocalPanelHost(window.location.hostname)) {
108
+ return window.location.origin;
109
+ }
110
+ return "";
111
+ }
112
+
113
+ /** Resolve media URLs in the editor (save / thumbnails). */
82
114
  function getMediaBaseOrigin() {
83
- const fromInput = normalizeMediaBaseUrl(
84
- document.getElementById("cmsDeviceBaseUrl")?.value ||
85
- localStorage.getItem(PANEL_MEDIA_BASE_KEY) ||
86
- ""
87
- );
88
- if (fromInput) return fromInput;
115
+ const explicitLan = getExplicitLanMediaBase();
116
+ if (explicitLan) return explicitLan;
89
117
  if (!isLocalPanelHost(window.location.hostname)) return window.location.origin;
90
- return "";
118
+ const draft = normalizeMediaBaseUrl(document.getElementById("cmsDeviceBaseUrl")?.value);
119
+ return draft;
91
120
  }
92
121
 
93
122
  function saveCmsDeviceBaseUrl() {
@@ -188,7 +217,7 @@ async function fetchPlaylists() {
188
217
  showResult({
189
218
  status: "failed",
190
219
  error:
191
- "CMS server is missing /playlists. Restart CMS with @tomorrowos/sdk 0.3.1 or newer."
220
+ "CMS server is missing /playlists. Restart CMS with @tomorrowos/sdk 0.3.3 or newer."
192
221
  });
193
222
  }
194
223
  return;
@@ -547,6 +576,13 @@ function renderDeviceCards() {
547
576
  infoBtn.textContent = "Info";
548
577
  infoBtn.addEventListener("click", () => deviceAction(device.deviceId, "get-info"));
549
578
 
579
+ const capBtn = document.createElement("button");
580
+ capBtn.type = "button";
581
+ capBtn.textContent = "Get capabilities";
582
+ capBtn.addEventListener("click", () =>
583
+ deviceAction(device.deviceId, "get-capabilities")
584
+ );
585
+
550
586
  const rebootBtn = document.createElement("button");
551
587
  rebootBtn.type = "button";
552
588
  rebootBtn.textContent = "Reboot";
@@ -565,6 +601,7 @@ function renderDeviceCards() {
565
601
 
566
602
  actions.appendChild(publishBtn);
567
603
  actions.appendChild(infoBtn);
604
+ actions.appendChild(capBtn);
568
605
  actions.appendChild(rebootBtn);
569
606
  actions.appendChild(clearBtn);
570
607
  actions.appendChild(unpairBtn);
@@ -624,12 +661,34 @@ async function confirmPublishModal() {
624
661
  return;
625
662
  }
626
663
 
664
+ const selectedPlaylists = ids
665
+ .map((id) => playlistsCatalog.find((p) => p.id === id))
666
+ .filter(Boolean);
667
+
668
+ for (const pl of selectedPlaylists) {
669
+ if (!(pl.items || []).length) {
670
+ alert(`Playlist "${pl.name || pl.id}" has no assets. Save the playlist first.`);
671
+ return;
672
+ }
673
+ }
674
+
675
+ const mediaBaseUrl = getPublishMediaBaseUrl(selectedPlaylists);
676
+ if (mediaBaseUrl === "") {
677
+ alert(
678
+ "Local CMS: save a LAN URL under “CMS URL for screens” (e.g. http://192.168.1.105:3000) so TVs can load /uploads paths. On Replit/hosted CMS this field is not required."
679
+ );
680
+ return;
681
+ }
682
+
683
+ const publishBody = { playlistIds: ids };
684
+ if (mediaBaseUrl) publishBody.mediaBaseUrl = mediaBaseUrl;
685
+
627
686
  const res = await fetch(
628
687
  `/device/${encodeURIComponent(publishModalDeviceId)}/assignments`,
629
688
  {
630
689
  method: "POST",
631
690
  headers: { "Content-Type": "application/json" },
632
- body: JSON.stringify({ playlistIds: ids })
691
+ body: JSON.stringify(publishBody)
633
692
  }
634
693
  );
635
694
  const data = await res.json();
@@ -743,12 +802,14 @@ function startDevicePolling() {
743
802
  }
744
803
 
745
804
  document.addEventListener("DOMContentLoaded", () => {
805
+ const cmsUrlSection = document.getElementById("cmsUrlSection");
806
+ if (cmsUrlSection && !isLocalPanelHost(window.location.hostname)) {
807
+ cmsUrlSection.classList.add("hidden");
808
+ }
809
+
746
810
  const savedMediaBase = localStorage.getItem(PANEL_MEDIA_BASE_KEY);
747
811
  const cmsBaseInput = document.getElementById("cmsDeviceBaseUrl");
748
812
  if (savedMediaBase && cmsBaseInput) cmsBaseInput.value = savedMediaBase;
749
- else if (cmsBaseInput && !isLocalPanelHost(window.location.hostname)) {
750
- cmsBaseInput.value = window.location.origin;
751
- }
752
813
 
753
814
  void fetchPlaylists();
754
815
  startDevicePolling();
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -x "$basedir/node" ]; then
13
- exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
14
- else
15
- exec node "$basedir/../esbuild/bin/esbuild" "$@"
16
- fi
@@ -1,17 +0,0 @@
1
- @ECHO off
2
- GOTO start
3
- :find_dp0
4
- SET dp0=%~dp0
5
- EXIT /b
6
- :start
7
- SETLOCAL
8
- CALL :find_dp0
9
-
10
- IF EXIST "%dp0%\node.exe" (
11
- SET "_prog=%dp0%\node.exe"
12
- ) ELSE (
13
- SET "_prog=node"
14
- SET PATHEXT=%PATHEXT:;.JS;=;%
15
- )
16
-
17
- endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\esbuild\bin\esbuild" %*
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
-
4
- $exe=""
5
- if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
- # Fix case when both the Windows and Linux builds of Node
7
- # are installed in the same directory
8
- $exe=".exe"
9
- }
10
- $ret=0
11
- if (Test-Path "$basedir/node$exe") {
12
- # Support pipeline input
13
- if ($MyInvocation.ExpectingInput) {
14
- $input | & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
15
- } else {
16
- & "$basedir/node$exe" "$basedir/../esbuild/bin/esbuild" $args
17
- }
18
- $ret=$LASTEXITCODE
19
- } else {
20
- # Support pipeline input
21
- if ($MyInvocation.ExpectingInput) {
22
- $input | & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
23
- } else {
24
- & "node$exe" "$basedir/../esbuild/bin/esbuild" $args
25
- }
26
- $ret=$LASTEXITCODE
27
- }
28
- exit $ret
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -x "$basedir/node" ]; then
13
- exec "$basedir/node" "$basedir/../@tomorrowos/sdk/dist/cli.js" "$@"
14
- else
15
- exec node "$basedir/../@tomorrowos/sdk/dist/cli.js" "$@"
16
- fi
@@ -1,17 +0,0 @@
1
- @ECHO off
2
- GOTO start
3
- :find_dp0
4
- SET dp0=%~dp0
5
- EXIT /b
6
- :start
7
- SETLOCAL
8
- CALL :find_dp0
9
-
10
- IF EXIST "%dp0%\node.exe" (
11
- SET "_prog=%dp0%\node.exe"
12
- ) ELSE (
13
- SET "_prog=node"
14
- SET PATHEXT=%PATHEXT:;.JS;=;%
15
- )
16
-
17
- endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\@tomorrowos\sdk\dist\cli.js" %*
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
-
4
- $exe=""
5
- if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
- # Fix case when both the Windows and Linux builds of Node
7
- # are installed in the same directory
8
- $exe=".exe"
9
- }
10
- $ret=0
11
- if (Test-Path "$basedir/node$exe") {
12
- # Support pipeline input
13
- if ($MyInvocation.ExpectingInput) {
14
- $input | & "$basedir/node$exe" "$basedir/../@tomorrowos/sdk/dist/cli.js" $args
15
- } else {
16
- & "$basedir/node$exe" "$basedir/../@tomorrowos/sdk/dist/cli.js" $args
17
- }
18
- $ret=$LASTEXITCODE
19
- } else {
20
- # Support pipeline input
21
- if ($MyInvocation.ExpectingInput) {
22
- $input | & "node$exe" "$basedir/../@tomorrowos/sdk/dist/cli.js" $args
23
- } else {
24
- & "node$exe" "$basedir/../@tomorrowos/sdk/dist/cli.js" $args
25
- }
26
- $ret=$LASTEXITCODE
27
- }
28
- exit $ret
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -x "$basedir/node" ]; then
13
- exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
14
- else
15
- exec node "$basedir/../typescript/bin/tsc" "$@"
16
- fi
@@ -1,17 +0,0 @@
1
- @ECHO off
2
- GOTO start
3
- :find_dp0
4
- SET dp0=%~dp0
5
- EXIT /b
6
- :start
7
- SETLOCAL
8
- CALL :find_dp0
9
-
10
- IF EXIST "%dp0%\node.exe" (
11
- SET "_prog=%dp0%\node.exe"
12
- ) ELSE (
13
- SET "_prog=node"
14
- SET PATHEXT=%PATHEXT:;.JS;=;%
15
- )
16
-
17
- endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsc" %*
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env pwsh
2
- $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
3
-
4
- $exe=""
5
- if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
6
- # Fix case when both the Windows and Linux builds of Node
7
- # are installed in the same directory
8
- $exe=".exe"
9
- }
10
- $ret=0
11
- if (Test-Path "$basedir/node$exe") {
12
- # Support pipeline input
13
- if ($MyInvocation.ExpectingInput) {
14
- $input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
15
- } else {
16
- & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
17
- }
18
- $ret=$LASTEXITCODE
19
- } else {
20
- # Support pipeline input
21
- if ($MyInvocation.ExpectingInput) {
22
- $input | & "node$exe" "$basedir/../typescript/bin/tsc" $args
23
- } else {
24
- & "node$exe" "$basedir/../typescript/bin/tsc" $args
25
- }
26
- $ret=$LASTEXITCODE
27
- }
28
- exit $ret
@@ -1,16 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -x "$basedir/node" ]; then
13
- exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
14
- else
15
- exec node "$basedir/../typescript/bin/tsserver" "$@"
16
- fi
@@ -1,17 +0,0 @@
1
- @ECHO off
2
- GOTO start
3
- :find_dp0
4
- SET dp0=%~dp0
5
- EXIT /b
6
- :start
7
- SETLOCAL
8
- CALL :find_dp0
9
-
10
- IF EXIST "%dp0%\node.exe" (
11
- SET "_prog=%dp0%\node.exe"
12
- ) ELSE (
13
- SET "_prog=node"
14
- SET PATHEXT=%PATHEXT:;.JS;=;%
15
- )
16
-
17
- endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\typescript\bin\tsserver" %*