@playdrop/playdrop-cli 0.3.1-build.1

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 (1315) hide show
  1. package/README.md +24 -0
  2. package/bin/playdrop +3 -0
  3. package/bin/playdrop-cli +2 -0
  4. package/config/client-meta.json +45 -0
  5. package/dist/apiClient.d.ts +9 -0
  6. package/dist/apiClient.js +21 -0
  7. package/dist/apps/build.d.ts +24 -0
  8. package/dist/apps/build.js +561 -0
  9. package/dist/apps/index.d.ts +15 -0
  10. package/dist/apps/index.js +23 -0
  11. package/dist/apps/upload.d.ts +19 -0
  12. package/dist/apps/upload.js +114 -0
  13. package/dist/apps/validate.d.ts +3 -0
  14. package/dist/apps/validate.js +75 -0
  15. package/dist/catalogue-utils.d.ts +24 -0
  16. package/dist/catalogue-utils.js +121 -0
  17. package/dist/catalogue.d.ts +262 -0
  18. package/dist/catalogue.js +1289 -0
  19. package/dist/clientInfo.d.ts +6 -0
  20. package/dist/clientInfo.js +51 -0
  21. package/dist/commandContext.d.ts +15 -0
  22. package/dist/commandContext.js +40 -0
  23. package/dist/commands/asset-packs.d.ts +27 -0
  24. package/dist/commands/asset-packs.js +508 -0
  25. package/dist/commands/assets.d.ts +35 -0
  26. package/dist/commands/assets.js +668 -0
  27. package/dist/commands/build.d.ts +1 -0
  28. package/dist/commands/build.js +56 -0
  29. package/dist/commands/capture.d.ts +11 -0
  30. package/dist/commands/capture.js +681 -0
  31. package/dist/commands/create.d.ts +6 -0
  32. package/dist/commands/create.js +1174 -0
  33. package/dist/commands/detail.d.ts +5 -0
  34. package/dist/commands/detail.js +320 -0
  35. package/dist/commands/dev.d.ts +1 -0
  36. package/dist/commands/dev.js +281 -0
  37. package/dist/commands/devServer.d.ts +18 -0
  38. package/dist/commands/devServer.js +122 -0
  39. package/dist/commands/devShared.d.ts +24 -0
  40. package/dist/commands/devShared.js +213 -0
  41. package/dist/commands/documentation.d.ts +1 -0
  42. package/dist/commands/documentation.js +152 -0
  43. package/dist/commands/feedback.d.ts +16 -0
  44. package/dist/commands/feedback.js +323 -0
  45. package/dist/commands/format.d.ts +1 -0
  46. package/dist/commands/format.js +65 -0
  47. package/dist/commands/generation.d.ts +33 -0
  48. package/dist/commands/generation.js +509 -0
  49. package/dist/commands/init.d.ts +13 -0
  50. package/dist/commands/init.js +300 -0
  51. package/dist/commands/list.d.ts +7 -0
  52. package/dist/commands/list.js +347 -0
  53. package/dist/commands/login.d.ts +10 -0
  54. package/dist/commands/login.js +117 -0
  55. package/dist/commands/logout.d.ts +1 -0
  56. package/dist/commands/logout.js +8 -0
  57. package/dist/commands/migrateCatalogueV2.d.ts +1 -0
  58. package/dist/commands/migrateCatalogueV2.js +142 -0
  59. package/dist/commands/upgrade.d.ts +1 -0
  60. package/dist/commands/upgrade.js +28 -0
  61. package/dist/commands/upload.d.ts +4 -0
  62. package/dist/commands/upload.js +651 -0
  63. package/dist/commands/validate.d.ts +1 -0
  64. package/dist/commands/validate.js +53 -0
  65. package/dist/commands/versions.d.ts +17 -0
  66. package/dist/commands/versions.js +384 -0
  67. package/dist/commands/whoami.d.ts +1 -0
  68. package/dist/commands/whoami.js +72 -0
  69. package/dist/config.d.ts +10 -0
  70. package/dist/config.js +41 -0
  71. package/dist/environment.d.ts +11 -0
  72. package/dist/environment.js +66 -0
  73. package/dist/http.d.ts +6 -0
  74. package/dist/http.js +49 -0
  75. package/dist/index.d.ts +2 -0
  76. package/dist/index.js +700 -0
  77. package/dist/messages.d.ts +12 -0
  78. package/dist/messages.js +65 -0
  79. package/dist/playwright.d.ts +10 -0
  80. package/dist/playwright.js +100 -0
  81. package/dist/proxyFetch.d.ts +14 -0
  82. package/dist/proxyFetch.js +203 -0
  83. package/dist/taskSelection.d.ts +16 -0
  84. package/dist/taskSelection.js +205 -0
  85. package/dist/taskUtils.d.ts +4 -0
  86. package/dist/taskUtils.js +35 -0
  87. package/dist/uploadLog.d.ts +15 -0
  88. package/dist/uploadLog.js +118 -0
  89. package/node_modules/@playdrop/ai-client/dist/index.d.ts +377 -0
  90. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -0
  91. package/node_modules/@playdrop/ai-client/dist/index.js +318 -0
  92. package/node_modules/@playdrop/ai-client/package.json +21 -0
  93. package/node_modules/@playdrop/api-client/dist/client.d.ts +299 -0
  94. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -0
  95. package/node_modules/@playdrop/api-client/dist/client.js +1908 -0
  96. package/node_modules/@playdrop/api-client/dist/index.d.ts +177 -0
  97. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -0
  98. package/node_modules/@playdrop/api-client/dist/index.js +329 -0
  99. package/node_modules/@playdrop/api-client/package.json +32 -0
  100. package/node_modules/@playdrop/config/client-meta.json +45 -0
  101. package/node_modules/@playdrop/config/dist/src/constants.d.ts +9 -0
  102. package/node_modules/@playdrop/config/dist/src/constants.d.ts.map +1 -0
  103. package/node_modules/@playdrop/config/dist/src/constants.js +10 -0
  104. package/node_modules/@playdrop/config/dist/src/index.d.ts +13 -0
  105. package/node_modules/@playdrop/config/dist/src/index.d.ts.map +1 -0
  106. package/node_modules/@playdrop/config/dist/src/index.js +197 -0
  107. package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts +12 -0
  108. package/node_modules/@playdrop/config/dist/src/server/fastify.d.ts.map +1 -0
  109. package/node_modules/@playdrop/config/dist/src/server/fastify.js +103 -0
  110. package/node_modules/@playdrop/config/dist/src/types.d.ts +59 -0
  111. package/node_modules/@playdrop/config/dist/src/types.d.ts.map +1 -0
  112. package/node_modules/@playdrop/config/dist/src/types.js +2 -0
  113. package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.d.ts +2 -0
  114. package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.d.ts.map +1 -0
  115. package/node_modules/@playdrop/config/dist/test/validateClientEnvironment.test.js +63 -0
  116. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -0
  117. package/node_modules/@playdrop/config/package.json +19 -0
  118. package/node_modules/@playdrop/entity-core/dist/src/entity-cleaner.d.ts +13 -0
  119. package/node_modules/@playdrop/entity-core/dist/src/entity-cleaner.js +146 -0
  120. package/node_modules/@playdrop/entity-core/dist/src/entity-cleaner.js.map +1 -0
  121. package/node_modules/@playdrop/entity-core/dist/src/entity-utils.d.ts +47 -0
  122. package/node_modules/@playdrop/entity-core/dist/src/entity-utils.js +328 -0
  123. package/node_modules/@playdrop/entity-core/dist/src/entity-utils.js.map +1 -0
  124. package/node_modules/@playdrop/entity-core/dist/src/format-utils.d.ts +3 -0
  125. package/node_modules/@playdrop/entity-core/dist/src/format-utils.js +38 -0
  126. package/node_modules/@playdrop/entity-core/dist/src/format-utils.js.map +1 -0
  127. package/node_modules/@playdrop/entity-core/dist/src/humanoid/geometry.d.ts +23 -0
  128. package/node_modules/@playdrop/entity-core/dist/src/humanoid/geometry.js +11 -0
  129. package/node_modules/@playdrop/entity-core/dist/src/humanoid/geometry.js.map +1 -0
  130. package/node_modules/@playdrop/entity-core/dist/src/humanoid/index.d.ts +4 -0
  131. package/node_modules/@playdrop/entity-core/dist/src/humanoid/index.js +21 -0
  132. package/node_modules/@playdrop/entity-core/dist/src/humanoid/index.js.map +1 -0
  133. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/common.d.ts +4 -0
  134. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/common.js +24 -0
  135. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/common.js.map +1 -0
  136. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/index.d.ts +3 -0
  137. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/index.js +20 -0
  138. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/index.js.map +1 -0
  139. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/textured-builder.d.ts +3 -0
  140. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/textured-builder.js +431 -0
  141. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/textured-builder.js.map +1 -0
  142. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/types.d.ts +6 -0
  143. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/types.js +3 -0
  144. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/types.js.map +1 -0
  145. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/voxel-builder.d.ts +3 -0
  146. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/voxel-builder.js +396 -0
  147. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/voxel-builder.js.map +1 -0
  148. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/builder.d.ts +12 -0
  149. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/builder.js +199 -0
  150. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/builder.js.map +1 -0
  151. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/index.d.ts +4 -0
  152. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/index.js +18 -0
  153. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/index.js.map +1 -0
  154. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/scanner.d.ts +43 -0
  155. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/scanner.js +142 -0
  156. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/scanner.js.map +1 -0
  157. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/artifacts.d.ts +26 -0
  158. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/artifacts.js +65 -0
  159. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/artifacts.js.map +1 -0
  160. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/face-map.d.ts +33 -0
  161. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/face-map.js +175 -0
  162. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/textures/face-map.js.map +1 -0
  163. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/humanoid_r15.json +1517 -0
  164. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/humanoid_r6.json +61 -0
  165. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/index.d.ts +10 -0
  166. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/index.js +23 -0
  167. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/index.js.map +1 -0
  168. package/node_modules/@playdrop/entity-core/dist/src/index.d.ts +19 -0
  169. package/node_modules/@playdrop/entity-core/dist/src/index.js +36 -0
  170. package/node_modules/@playdrop/entity-core/dist/src/index.js.map +1 -0
  171. package/node_modules/@playdrop/entity-core/dist/src/materials.d.ts +26 -0
  172. package/node_modules/@playdrop/entity-core/dist/src/materials.js +188 -0
  173. package/node_modules/@playdrop/entity-core/dist/src/materials.js.map +1 -0
  174. package/node_modules/@playdrop/entity-core/dist/src/palette_tools.d.ts +68 -0
  175. package/node_modules/@playdrop/entity-core/dist/src/palette_tools.js +491 -0
  176. package/node_modules/@playdrop/entity-core/dist/src/palette_tools.js.map +1 -0
  177. package/node_modules/@playdrop/entity-core/dist/src/serialization.d.ts +4 -0
  178. package/node_modules/@playdrop/entity-core/dist/src/serialization.js +382 -0
  179. package/node_modules/@playdrop/entity-core/dist/src/serialization.js.map +1 -0
  180. package/node_modules/@playdrop/entity-core/dist/src/textures.d.ts +29 -0
  181. package/node_modules/@playdrop/entity-core/dist/src/textures.js +214 -0
  182. package/node_modules/@playdrop/entity-core/dist/src/textures.js.map +1 -0
  183. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/infer-face.d.ts +9 -0
  184. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/infer-face.js +316 -0
  185. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/infer-face.js.map +1 -0
  186. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +9 -0
  187. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/layer-mode.js +153 -0
  188. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/layer-mode.js.map +1 -0
  189. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +2 -0
  190. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/merge-overlay.js +121 -0
  191. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +1 -0
  192. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/slice.d.ts +20 -0
  193. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/slice.js +398 -0
  194. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/slice.js.map +1 -0
  195. package/node_modules/@playdrop/entity-core/dist/src/transforms/upscale.d.ts +3 -0
  196. package/node_modules/@playdrop/entity-core/dist/src/transforms/upscale.js +210 -0
  197. package/node_modules/@playdrop/entity-core/dist/src/transforms/upscale.js.map +1 -0
  198. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/slice.d.ts +12 -0
  199. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/slice.js +81 -0
  200. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/slice.js.map +1 -0
  201. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +12 -0
  202. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/textured-to-voxel.js +323 -0
  203. package/node_modules/@playdrop/entity-core/dist/src/transforms/voxels/textured-to-voxel.js.map +1 -0
  204. package/node_modules/@playdrop/entity-core/dist/src/types.d.ts +168 -0
  205. package/node_modules/@playdrop/entity-core/dist/src/types.js +3 -0
  206. package/node_modules/@playdrop/entity-core/dist/src/types.js.map +1 -0
  207. package/node_modules/@playdrop/entity-core/dist/src/validation.d.ts +24 -0
  208. package/node_modules/@playdrop/entity-core/dist/src/validation.js +641 -0
  209. package/node_modules/@playdrop/entity-core/dist/src/validation.js.map +1 -0
  210. package/node_modules/@playdrop/entity-core/dist/src/voxels/greedy-mesher.d.ts +11 -0
  211. package/node_modules/@playdrop/entity-core/dist/src/voxels/greedy-mesher.js +135 -0
  212. package/node_modules/@playdrop/entity-core/dist/src/voxels/greedy-mesher.js.map +1 -0
  213. package/node_modules/@playdrop/entity-core/dist/src/voxels.d.ts +23 -0
  214. package/node_modules/@playdrop/entity-core/dist/src/voxels.js +57 -0
  215. package/node_modules/@playdrop/entity-core/dist/src/voxels.js.map +1 -0
  216. package/node_modules/@playdrop/entity-core/dist/test/entity-utils.test.d.ts +1 -0
  217. package/node_modules/@playdrop/entity-core/dist/test/entity-utils.test.js +92 -0
  218. package/node_modules/@playdrop/entity-core/dist/test/entity-utils.test.js.map +1 -0
  219. package/node_modules/@playdrop/entity-core/dist/test/greedy-mesher.test.d.ts +1 -0
  220. package/node_modules/@playdrop/entity-core/dist/test/greedy-mesher.test.js +48 -0
  221. package/node_modules/@playdrop/entity-core/dist/test/greedy-mesher.test.js.map +1 -0
  222. package/node_modules/@playdrop/entity-core/dist/test/humanoid/humanoid-builders.test.d.ts +1 -0
  223. package/node_modules/@playdrop/entity-core/dist/test/humanoid/humanoid-builders.test.js +270 -0
  224. package/node_modules/@playdrop/entity-core/dist/test/humanoid/humanoid-builders.test.js.map +1 -0
  225. package/node_modules/@playdrop/entity-core/dist/test/index.test.d.ts +1 -0
  226. package/node_modules/@playdrop/entity-core/dist/test/index.test.js +48 -0
  227. package/node_modules/@playdrop/entity-core/dist/test/index.test.js.map +1 -0
  228. package/node_modules/@playdrop/entity-core/dist/test/layer-mode.test.d.ts +1 -0
  229. package/node_modules/@playdrop/entity-core/dist/test/layer-mode.test.js +67 -0
  230. package/node_modules/@playdrop/entity-core/dist/test/layer-mode.test.js.map +1 -0
  231. package/node_modules/@playdrop/entity-core/dist/test/materials.test.d.ts +1 -0
  232. package/node_modules/@playdrop/entity-core/dist/test/materials.test.js +55 -0
  233. package/node_modules/@playdrop/entity-core/dist/test/materials.test.js.map +1 -0
  234. package/node_modules/@playdrop/entity-core/dist/test/palette-tools.test.d.ts +1 -0
  235. package/node_modules/@playdrop/entity-core/dist/test/palette-tools.test.js +124 -0
  236. package/node_modules/@playdrop/entity-core/dist/test/palette-tools.test.js.map +1 -0
  237. package/node_modules/@playdrop/entity-core/dist/test/serialization.test.d.ts +1 -0
  238. package/node_modules/@playdrop/entity-core/dist/test/serialization.test.js +35 -0
  239. package/node_modules/@playdrop/entity-core/dist/test/serialization.test.js.map +1 -0
  240. package/node_modules/@playdrop/entity-core/dist/test/textures.test.d.ts +1 -0
  241. package/node_modules/@playdrop/entity-core/dist/test/textures.test.js +120 -0
  242. package/node_modules/@playdrop/entity-core/dist/test/textures.test.js.map +1 -0
  243. package/node_modules/@playdrop/entity-core/dist/test/types.test.d.ts +1 -0
  244. package/node_modules/@playdrop/entity-core/dist/test/types.test.js +32 -0
  245. package/node_modules/@playdrop/entity-core/dist/test/types.test.js.map +1 -0
  246. package/node_modules/@playdrop/entity-core/dist/test/upscale.test.d.ts +1 -0
  247. package/node_modules/@playdrop/entity-core/dist/test/upscale.test.js +100 -0
  248. package/node_modules/@playdrop/entity-core/dist/test/upscale.test.js.map +1 -0
  249. package/node_modules/@playdrop/entity-core/dist/test/validation.test.d.ts +1 -0
  250. package/node_modules/@playdrop/entity-core/dist/test/validation.test.js +61 -0
  251. package/node_modules/@playdrop/entity-core/dist/test/validation.test.js.map +1 -0
  252. package/node_modules/@playdrop/entity-core/dist/test/voxels.test.d.ts +1 -0
  253. package/node_modules/@playdrop/entity-core/dist/test/voxels.test.js +51 -0
  254. package/node_modules/@playdrop/entity-core/dist/test/voxels.test.js.map +1 -0
  255. package/node_modules/@playdrop/entity-core/package.json +20 -0
  256. package/node_modules/@playdrop/entity-three/dist/src/animations.d.ts +4 -0
  257. package/node_modules/@playdrop/entity-three/dist/src/animations.js +70 -0
  258. package/node_modules/@playdrop/entity-three/dist/src/builders.d.ts +8 -0
  259. package/node_modules/@playdrop/entity-three/dist/src/builders.js +330 -0
  260. package/node_modules/@playdrop/entity-three/dist/src/context.d.ts +24 -0
  261. package/node_modules/@playdrop/entity-three/dist/src/context.js +32 -0
  262. package/node_modules/@playdrop/entity-three/dist/src/exporters/glb.d.ts +100 -0
  263. package/node_modules/@playdrop/entity-three/dist/src/exporters/glb.js +926 -0
  264. package/node_modules/@playdrop/entity-three/dist/src/exporters/image.d.ts +18 -0
  265. package/node_modules/@playdrop/entity-three/dist/src/exporters/image.js +288 -0
  266. package/node_modules/@playdrop/entity-three/dist/src/index.d.ts +17 -0
  267. package/node_modules/@playdrop/entity-three/dist/src/index.js +15 -0
  268. package/node_modules/@playdrop/entity-three/dist/src/instantiate.d.ts +40 -0
  269. package/node_modules/@playdrop/entity-three/dist/src/instantiate.js +70 -0
  270. package/node_modules/@playdrop/entity-three/dist/src/nodes.d.ts +8 -0
  271. package/node_modules/@playdrop/entity-three/dist/src/nodes.js +63 -0
  272. package/node_modules/@playdrop/entity-three/dist/src/overlays.d.ts +7 -0
  273. package/node_modules/@playdrop/entity-three/dist/src/overlays.js +97 -0
  274. package/node_modules/@playdrop/entity-three/dist/src/primitives.d.ts +4 -0
  275. package/node_modules/@playdrop/entity-three/dist/src/primitives.js +20 -0
  276. package/node_modules/@playdrop/entity-three/dist/src/scene.d.ts +3 -0
  277. package/node_modules/@playdrop/entity-three/dist/src/scene.js +144 -0
  278. package/node_modules/@playdrop/entity-three/dist/src/skinned-mesh.d.ts +29 -0
  279. package/node_modules/@playdrop/entity-three/dist/src/skinned-mesh.js +625 -0
  280. package/node_modules/@playdrop/entity-three/dist/src/texture-atlas.d.ts +13 -0
  281. package/node_modules/@playdrop/entity-three/dist/src/texture-atlas.js +107 -0
  282. package/node_modules/@playdrop/entity-three/dist/src/textures.d.ts +17 -0
  283. package/node_modules/@playdrop/entity-three/dist/src/textures.js +191 -0
  284. package/node_modules/@playdrop/entity-three/dist/src/types.d.ts +112 -0
  285. package/node_modules/@playdrop/entity-three/dist/src/types.js +1 -0
  286. package/node_modules/@playdrop/entity-three/dist/src/voxels/faces.d.ts +28 -0
  287. package/node_modules/@playdrop/entity-three/dist/src/voxels/faces.js +442 -0
  288. package/node_modules/@playdrop/entity-three/dist/src/voxels/mesher.d.ts +24 -0
  289. package/node_modules/@playdrop/entity-three/dist/src/voxels/mesher.js +88 -0
  290. package/node_modules/@playdrop/entity-three/dist/test/export-image.playwright.test.d.ts +1 -0
  291. package/node_modules/@playdrop/entity-three/dist/test/export-image.playwright.test.js +116 -0
  292. package/node_modules/@playdrop/entity-three/dist/test/fixtures/render-worker.d.ts +20 -0
  293. package/node_modules/@playdrop/entity-three/dist/test/fixtures/render-worker.js +63 -0
  294. package/node_modules/@playdrop/entity-three/dist/test/glb-skinned.test.d.ts +1 -0
  295. package/node_modules/@playdrop/entity-three/dist/test/glb-skinned.test.js +86 -0
  296. package/node_modules/@playdrop/entity-three/dist/test/index.test.d.ts +1 -0
  297. package/node_modules/@playdrop/entity-three/dist/test/index.test.js +8 -0
  298. package/node_modules/@playdrop/entity-three/dist/test/instantiate.test.d.ts +1 -0
  299. package/node_modules/@playdrop/entity-three/dist/test/instantiate.test.js +68 -0
  300. package/node_modules/@playdrop/entity-three/dist/test/overlays.test.d.ts +1 -0
  301. package/node_modules/@playdrop/entity-three/dist/test/overlays.test.js +20 -0
  302. package/node_modules/@playdrop/entity-three/dist/test/scene-filter.test.d.ts +1 -0
  303. package/node_modules/@playdrop/entity-three/dist/test/scene-filter.test.js +51 -0
  304. package/node_modules/@playdrop/entity-three/dist/test/scene-smoke.test.d.ts +1 -0
  305. package/node_modules/@playdrop/entity-three/dist/test/scene-smoke.test.js +63 -0
  306. package/node_modules/@playdrop/entity-three/dist/test/skinned-mesh.test.d.ts +1 -0
  307. package/node_modules/@playdrop/entity-three/dist/test/skinned-mesh.test.js +51 -0
  308. package/node_modules/@playdrop/entity-three/dist/test/textured-overlay.test.d.ts +1 -0
  309. package/node_modules/@playdrop/entity-three/dist/test/textured-overlay.test.js +116 -0
  310. package/node_modules/@playdrop/entity-three/dist/test/voxels.test.d.ts +1 -0
  311. package/node_modules/@playdrop/entity-three/dist/test/voxels.test.js +20 -0
  312. package/node_modules/@playdrop/entity-three/package.json +27 -0
  313. package/node_modules/@playdrop/types/dist/api.d.ts +647 -0
  314. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -0
  315. package/node_modules/@playdrop/types/dist/api.js +39 -0
  316. package/node_modules/@playdrop/types/dist/app.d.ts +35 -0
  317. package/node_modules/@playdrop/types/dist/app.d.ts.map +1 -0
  318. package/node_modules/@playdrop/types/dist/app.js +64 -0
  319. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +106 -0
  320. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -0
  321. package/node_modules/@playdrop/types/dist/asset-pack.js +4 -0
  322. package/node_modules/@playdrop/types/dist/asset.d.ts +188 -0
  323. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -0
  324. package/node_modules/@playdrop/types/dist/asset.js +100 -0
  325. package/node_modules/@playdrop/types/dist/ecs.d.ts +39 -0
  326. package/node_modules/@playdrop/types/dist/ecs.d.ts.map +1 -0
  327. package/node_modules/@playdrop/types/dist/ecs.js +93 -0
  328. package/node_modules/@playdrop/types/dist/engine-builtins.d.ts +17 -0
  329. package/node_modules/@playdrop/types/dist/engine-builtins.d.ts.map +1 -0
  330. package/node_modules/@playdrop/types/dist/engine-builtins.js +577 -0
  331. package/node_modules/@playdrop/types/dist/entity.d.ts +36 -0
  332. package/node_modules/@playdrop/types/dist/entity.d.ts.map +1 -0
  333. package/node_modules/@playdrop/types/dist/entity.js +40 -0
  334. package/node_modules/@playdrop/types/dist/graph.d.ts +34 -0
  335. package/node_modules/@playdrop/types/dist/graph.d.ts.map +1 -0
  336. package/node_modules/@playdrop/types/dist/graph.js +8 -0
  337. package/node_modules/@playdrop/types/dist/index.d.ts +10 -0
  338. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -0
  339. package/node_modules/@playdrop/types/dist/index.js +14 -0
  340. package/node_modules/@playdrop/types/dist/profile-asset-semantics.d.ts +22 -0
  341. package/node_modules/@playdrop/types/dist/profile-asset-semantics.d.ts.map +1 -0
  342. package/node_modules/@playdrop/types/dist/profile-asset-semantics.js +105 -0
  343. package/node_modules/@playdrop/types/dist/realtime.d.ts +221 -0
  344. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -0
  345. package/node_modules/@playdrop/types/dist/realtime.js +7 -0
  346. package/node_modules/@playdrop/types/dist/version.d.ts +149 -0
  347. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -0
  348. package/node_modules/@playdrop/types/dist/version.js +76 -0
  349. package/node_modules/@playdrop/types/package.json +63 -0
  350. package/node_modules/three/LICENSE +21 -0
  351. package/node_modules/three/README.md +86 -0
  352. package/node_modules/three/build/three.cjs +53732 -0
  353. package/node_modules/three/build/three.module.js +53316 -0
  354. package/node_modules/three/build/three.module.min.js +6 -0
  355. package/node_modules/three/examples/fonts/LICENSE +13 -0
  356. package/node_modules/three/examples/fonts/README.md +11 -0
  357. package/node_modules/three/examples/fonts/droid/NOTICE +190 -0
  358. package/node_modules/three/examples/fonts/droid/README.txt +18 -0
  359. package/node_modules/three/examples/fonts/droid/droid_sans_bold.typeface.json +1 -0
  360. package/node_modules/three/examples/fonts/droid/droid_sans_mono_regular.typeface.json +1 -0
  361. package/node_modules/three/examples/fonts/droid/droid_sans_regular.typeface.json +1 -0
  362. package/node_modules/three/examples/fonts/droid/droid_serif_bold.typeface.json +1 -0
  363. package/node_modules/three/examples/fonts/droid/droid_serif_regular.typeface.json +1 -0
  364. package/node_modules/three/examples/fonts/gentilis_bold.typeface.json +1 -0
  365. package/node_modules/three/examples/fonts/gentilis_regular.typeface.json +1 -0
  366. package/node_modules/three/examples/fonts/helvetiker_bold.typeface.json +1 -0
  367. package/node_modules/three/examples/fonts/helvetiker_regular.typeface.json +1 -0
  368. package/node_modules/three/examples/fonts/optimer_bold.typeface.json +1 -0
  369. package/node_modules/three/examples/fonts/optimer_regular.typeface.json +1 -0
  370. package/node_modules/three/examples/fonts/ttf/README.md +9 -0
  371. package/node_modules/three/examples/fonts/ttf/kenpixel.ttf +0 -0
  372. package/node_modules/three/examples/jsm/Addons.js +295 -0
  373. package/node_modules/three/examples/jsm/animation/AnimationClipCreator.js +116 -0
  374. package/node_modules/three/examples/jsm/animation/CCDIKSolver.js +482 -0
  375. package/node_modules/three/examples/jsm/animation/MMDAnimationHelper.js +1207 -0
  376. package/node_modules/three/examples/jsm/animation/MMDPhysics.js +1406 -0
  377. package/node_modules/three/examples/jsm/cameras/CinematicCamera.js +208 -0
  378. package/node_modules/three/examples/jsm/capabilities/WebGL.js +108 -0
  379. package/node_modules/three/examples/jsm/capabilities/WebGPU.js +57 -0
  380. package/node_modules/three/examples/jsm/controls/ArcballControls.js +3224 -0
  381. package/node_modules/three/examples/jsm/controls/DragControls.js +221 -0
  382. package/node_modules/three/examples/jsm/controls/FirstPersonControls.js +325 -0
  383. package/node_modules/three/examples/jsm/controls/FlyControls.js +326 -0
  384. package/node_modules/three/examples/jsm/controls/MapControls.js +28 -0
  385. package/node_modules/three/examples/jsm/controls/OrbitControls.js +1506 -0
  386. package/node_modules/three/examples/jsm/controls/PointerLockControls.js +162 -0
  387. package/node_modules/three/examples/jsm/controls/TrackballControls.js +828 -0
  388. package/node_modules/three/examples/jsm/controls/TransformControls.js +1573 -0
  389. package/node_modules/three/examples/jsm/csm/CSM.js +384 -0
  390. package/node_modules/three/examples/jsm/csm/CSMFrustum.js +152 -0
  391. package/node_modules/three/examples/jsm/csm/CSMHelper.js +193 -0
  392. package/node_modules/three/examples/jsm/csm/CSMShader.js +295 -0
  393. package/node_modules/three/examples/jsm/curves/CurveExtras.js +422 -0
  394. package/node_modules/three/examples/jsm/curves/NURBSCurve.js +80 -0
  395. package/node_modules/three/examples/jsm/curves/NURBSSurface.js +52 -0
  396. package/node_modules/three/examples/jsm/curves/NURBSUtils.js +542 -0
  397. package/node_modules/three/examples/jsm/curves/NURBSVolume.js +62 -0
  398. package/node_modules/three/examples/jsm/effects/AnaglyphEffect.js +154 -0
  399. package/node_modules/three/examples/jsm/effects/AsciiEffect.js +263 -0
  400. package/node_modules/three/examples/jsm/effects/OutlineEffect.js +539 -0
  401. package/node_modules/three/examples/jsm/effects/ParallaxBarrierEffect.js +119 -0
  402. package/node_modules/three/examples/jsm/effects/PeppersGhostEffect.js +153 -0
  403. package/node_modules/three/examples/jsm/effects/StereoEffect.js +55 -0
  404. package/node_modules/three/examples/jsm/environments/DebugEnvironment.js +52 -0
  405. package/node_modules/three/examples/jsm/environments/RoomEnvironment.js +148 -0
  406. package/node_modules/three/examples/jsm/exporters/DRACOExporter.js +267 -0
  407. package/node_modules/three/examples/jsm/exporters/EXRExporter.js +579 -0
  408. package/node_modules/three/examples/jsm/exporters/GLTFExporter.js +3309 -0
  409. package/node_modules/three/examples/jsm/exporters/KTX2Exporter.js +292 -0
  410. package/node_modules/three/examples/jsm/exporters/MMDExporter.js +217 -0
  411. package/node_modules/three/examples/jsm/exporters/OBJExporter.js +284 -0
  412. package/node_modules/three/examples/jsm/exporters/PLYExporter.js +528 -0
  413. package/node_modules/three/examples/jsm/exporters/STLExporter.js +199 -0
  414. package/node_modules/three/examples/jsm/exporters/USDZExporter.js +720 -0
  415. package/node_modules/three/examples/jsm/geometries/BoxLineGeometry.js +69 -0
  416. package/node_modules/three/examples/jsm/geometries/ConvexGeometry.js +53 -0
  417. package/node_modules/three/examples/jsm/geometries/DecalGeometry.js +356 -0
  418. package/node_modules/three/examples/jsm/geometries/InstancedPointsGeometry.js +174 -0
  419. package/node_modules/three/examples/jsm/geometries/ParametricGeometries.js +254 -0
  420. package/node_modules/three/examples/jsm/geometries/ParametricGeometry.js +139 -0
  421. package/node_modules/three/examples/jsm/geometries/RoundedBoxGeometry.js +155 -0
  422. package/node_modules/three/examples/jsm/geometries/SDFGeometryGenerator.js +144 -0
  423. package/node_modules/three/examples/jsm/geometries/TeapotGeometry.js +704 -0
  424. package/node_modules/three/examples/jsm/geometries/TextGeometry.js +57 -0
  425. package/node_modules/three/examples/jsm/helpers/LightProbeHelper.js +130 -0
  426. package/node_modules/three/examples/jsm/helpers/OctreeHelper.js +73 -0
  427. package/node_modules/three/examples/jsm/helpers/PositionalAudioHelper.js +109 -0
  428. package/node_modules/three/examples/jsm/helpers/RectAreaLightHelper.js +85 -0
  429. package/node_modules/three/examples/jsm/helpers/TextureHelper.js +237 -0
  430. package/node_modules/three/examples/jsm/helpers/VertexNormalsHelper.js +96 -0
  431. package/node_modules/three/examples/jsm/helpers/VertexTangentsHelper.js +88 -0
  432. package/node_modules/three/examples/jsm/helpers/ViewHelper.js +333 -0
  433. package/node_modules/three/examples/jsm/interactive/HTMLMesh.js +572 -0
  434. package/node_modules/three/examples/jsm/interactive/InteractiveGroup.js +116 -0
  435. package/node_modules/three/examples/jsm/interactive/SelectionBox.js +227 -0
  436. package/node_modules/three/examples/jsm/interactive/SelectionHelper.js +104 -0
  437. package/node_modules/three/examples/jsm/libs/ammo.wasm.js +822 -0
  438. package/node_modules/three/examples/jsm/libs/ammo.wasm.wasm +0 -0
  439. package/node_modules/three/examples/jsm/libs/basis/README.md +46 -0
  440. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.js +21 -0
  441. package/node_modules/three/examples/jsm/libs/basis/basis_transcoder.wasm +0 -0
  442. package/node_modules/three/examples/jsm/libs/chevrotain.module.min.js +141 -0
  443. package/node_modules/three/examples/jsm/libs/draco/README.md +32 -0
  444. package/node_modules/three/examples/jsm/libs/draco/draco_decoder.js +34 -0
  445. package/node_modules/three/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
  446. package/node_modules/three/examples/jsm/libs/draco/draco_encoder.js +33 -0
  447. package/node_modules/three/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
  448. package/node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
  449. package/node_modules/three/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
  450. package/node_modules/three/examples/jsm/libs/draco/gltf/draco_encoder.js +33 -0
  451. package/node_modules/three/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
  452. package/node_modules/three/examples/jsm/libs/ecsy.module.js +1792 -0
  453. package/node_modules/three/examples/jsm/libs/fflate.module.js +2474 -0
  454. package/node_modules/three/examples/jsm/libs/ktx-parse.module.js +1 -0
  455. package/node_modules/three/examples/jsm/libs/lil-gui.module.min.js +8 -0
  456. package/node_modules/three/examples/jsm/libs/lottie_canvas.module.js +14849 -0
  457. package/node_modules/three/examples/jsm/libs/meshopt_decoder.module.js +178 -0
  458. package/node_modules/three/examples/jsm/libs/mikktspace.module.js +128 -0
  459. package/node_modules/three/examples/jsm/libs/mmdparser.module.js +11530 -0
  460. package/node_modules/three/examples/jsm/libs/motion-controllers.module.js +397 -0
  461. package/node_modules/three/examples/jsm/libs/opentype.module.js +14506 -0
  462. package/node_modules/three/examples/jsm/libs/potpack.module.js +125 -0
  463. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.js +8743 -0
  464. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.module.js +8749 -0
  465. package/node_modules/three/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
  466. package/node_modules/three/examples/jsm/libs/stats.module.js +167 -0
  467. package/node_modules/three/examples/jsm/libs/surfaceNet.js +201 -0
  468. package/node_modules/three/examples/jsm/libs/tween.module.js +858 -0
  469. package/node_modules/three/examples/jsm/libs/utif.module.js +1665 -0
  470. package/node_modules/three/examples/jsm/libs/zstddec.module.js +1 -0
  471. package/node_modules/three/examples/jsm/lights/IESSpotLight.js +25 -0
  472. package/node_modules/three/examples/jsm/lights/LightProbeGenerator.js +286 -0
  473. package/node_modules/three/examples/jsm/lights/RectAreaLightUniformsLib.js +79 -0
  474. package/node_modules/three/examples/jsm/lines/Line2.js +19 -0
  475. package/node_modules/three/examples/jsm/lines/LineGeometry.js +79 -0
  476. package/node_modules/three/examples/jsm/lines/LineMaterial.js +619 -0
  477. package/node_modules/three/examples/jsm/lines/LineSegments2.js +361 -0
  478. package/node_modules/three/examples/jsm/lines/LineSegmentsGeometry.js +241 -0
  479. package/node_modules/three/examples/jsm/lines/Wireframe.js +56 -0
  480. package/node_modules/three/examples/jsm/lines/WireframeGeometry2.js +24 -0
  481. package/node_modules/three/examples/jsm/loaders/3DMLoader.js +1772 -0
  482. package/node_modules/three/examples/jsm/loaders/3MFLoader.js +1478 -0
  483. package/node_modules/three/examples/jsm/loaders/AMFLoader.js +521 -0
  484. package/node_modules/three/examples/jsm/loaders/BVHLoader.js +437 -0
  485. package/node_modules/three/examples/jsm/loaders/ColladaLoader.js +4116 -0
  486. package/node_modules/three/examples/jsm/loaders/DDSLoader.js +318 -0
  487. package/node_modules/three/examples/jsm/loaders/DRACOLoader.js +613 -0
  488. package/node_modules/three/examples/jsm/loaders/EXRLoader.js +2309 -0
  489. package/node_modules/three/examples/jsm/loaders/FBXLoader.js +4314 -0
  490. package/node_modules/three/examples/jsm/loaders/FontLoader.js +183 -0
  491. package/node_modules/three/examples/jsm/loaders/GCodeLoader.js +261 -0
  492. package/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4663 -0
  493. package/node_modules/three/examples/jsm/loaders/HDRCubeTextureLoader.js +115 -0
  494. package/node_modules/three/examples/jsm/loaders/IESLoader.js +337 -0
  495. package/node_modules/three/examples/jsm/loaders/KMZLoader.js +130 -0
  496. package/node_modules/three/examples/jsm/loaders/KTX2Loader.js +932 -0
  497. package/node_modules/three/examples/jsm/loaders/KTXLoader.js +176 -0
  498. package/node_modules/three/examples/jsm/loaders/LDrawLoader.js +2470 -0
  499. package/node_modules/three/examples/jsm/loaders/LUT3dlLoader.js +183 -0
  500. package/node_modules/three/examples/jsm/loaders/LUTCubeLoader.js +167 -0
  501. package/node_modules/three/examples/jsm/loaders/LUTImageLoader.js +163 -0
  502. package/node_modules/three/examples/jsm/loaders/LWOLoader.js +1052 -0
  503. package/node_modules/three/examples/jsm/loaders/LogLuvLoader.js +606 -0
  504. package/node_modules/three/examples/jsm/loaders/LottieLoader.js +77 -0
  505. package/node_modules/three/examples/jsm/loaders/MD2Loader.js +399 -0
  506. package/node_modules/three/examples/jsm/loaders/MDDLoader.js +102 -0
  507. package/node_modules/three/examples/jsm/loaders/MMDLoader.js +2276 -0
  508. package/node_modules/three/examples/jsm/loaders/MTLLoader.js +567 -0
  509. package/node_modules/three/examples/jsm/loaders/MaterialXLoader.js +852 -0
  510. package/node_modules/three/examples/jsm/loaders/NRRDLoader.js +686 -0
  511. package/node_modules/three/examples/jsm/loaders/OBJLoader.js +905 -0
  512. package/node_modules/three/examples/jsm/loaders/PCDLoader.js +467 -0
  513. package/node_modules/three/examples/jsm/loaders/PDBLoader.js +232 -0
  514. package/node_modules/three/examples/jsm/loaders/PLYLoader.js +771 -0
  515. package/node_modules/three/examples/jsm/loaders/PVRLoader.js +251 -0
  516. package/node_modules/three/examples/jsm/loaders/RGBELoader.js +450 -0
  517. package/node_modules/three/examples/jsm/loaders/RGBMLoader.js +1065 -0
  518. package/node_modules/three/examples/jsm/loaders/STLLoader.js +410 -0
  519. package/node_modules/three/examples/jsm/loaders/SVGLoader.js +3173 -0
  520. package/node_modules/three/examples/jsm/loaders/TDSLoader.js +1124 -0
  521. package/node_modules/three/examples/jsm/loaders/TGALoader.js +517 -0
  522. package/node_modules/three/examples/jsm/loaders/TIFFLoader.js +36 -0
  523. package/node_modules/three/examples/jsm/loaders/TTFLoader.js +214 -0
  524. package/node_modules/three/examples/jsm/loaders/TiltLoader.js +520 -0
  525. package/node_modules/three/examples/jsm/loaders/USDZLoader.js +822 -0
  526. package/node_modules/three/examples/jsm/loaders/VOXLoader.js +311 -0
  527. package/node_modules/three/examples/jsm/loaders/VRMLLoader.js +3533 -0
  528. package/node_modules/three/examples/jsm/loaders/VTKLoader.js +1163 -0
  529. package/node_modules/three/examples/jsm/loaders/XYZLoader.js +106 -0
  530. package/node_modules/three/examples/jsm/loaders/lwo/IFFParser.js +1214 -0
  531. package/node_modules/three/examples/jsm/loaders/lwo/LWO2Parser.js +414 -0
  532. package/node_modules/three/examples/jsm/loaders/lwo/LWO3Parser.js +373 -0
  533. package/node_modules/three/examples/jsm/materials/MeshGouraudMaterial.js +426 -0
  534. package/node_modules/three/examples/jsm/materials/MeshPostProcessingMaterial.js +144 -0
  535. package/node_modules/three/examples/jsm/math/Capsule.js +82 -0
  536. package/node_modules/three/examples/jsm/math/ColorConverter.js +36 -0
  537. package/node_modules/three/examples/jsm/math/ConvexHull.js +1271 -0
  538. package/node_modules/three/examples/jsm/math/ImprovedNoise.js +71 -0
  539. package/node_modules/three/examples/jsm/math/Lut.js +204 -0
  540. package/node_modules/three/examples/jsm/math/MeshSurfaceSampler.js +250 -0
  541. package/node_modules/three/examples/jsm/math/OBB.js +423 -0
  542. package/node_modules/three/examples/jsm/math/Octree.js +540 -0
  543. package/node_modules/three/examples/jsm/math/SimplexNoise.js +444 -0
  544. package/node_modules/three/examples/jsm/misc/ConvexObjectBreaker.js +519 -0
  545. package/node_modules/three/examples/jsm/misc/GPUComputationRenderer.js +446 -0
  546. package/node_modules/three/examples/jsm/misc/Gyroscope.js +66 -0
  547. package/node_modules/three/examples/jsm/misc/MD2Character.js +276 -0
  548. package/node_modules/three/examples/jsm/misc/MD2CharacterComplex.js +576 -0
  549. package/node_modules/three/examples/jsm/misc/MorphAnimMesh.js +75 -0
  550. package/node_modules/three/examples/jsm/misc/MorphBlendMesh.js +322 -0
  551. package/node_modules/three/examples/jsm/misc/ProgressiveLightMap.js +323 -0
  552. package/node_modules/three/examples/jsm/misc/RollerCoaster.js +566 -0
  553. package/node_modules/three/examples/jsm/misc/Timer.js +128 -0
  554. package/node_modules/three/examples/jsm/misc/TubePainter.js +202 -0
  555. package/node_modules/three/examples/jsm/misc/Volume.js +473 -0
  556. package/node_modules/three/examples/jsm/misc/VolumeSlice.js +229 -0
  557. package/node_modules/three/examples/jsm/modifiers/CurveModifier.js +344 -0
  558. package/node_modules/three/examples/jsm/modifiers/EdgeSplitModifier.js +279 -0
  559. package/node_modules/three/examples/jsm/modifiers/SimplifyModifier.js +617 -0
  560. package/node_modules/three/examples/jsm/modifiers/TessellateModifier.js +307 -0
  561. package/node_modules/three/examples/jsm/nodes/Nodes.js +193 -0
  562. package/node_modules/three/examples/jsm/nodes/accessors/BitangentNode.js +89 -0
  563. package/node_modules/three/examples/jsm/nodes/accessors/BufferAttributeNode.js +127 -0
  564. package/node_modules/three/examples/jsm/nodes/accessors/BufferNode.js +30 -0
  565. package/node_modules/three/examples/jsm/nodes/accessors/CameraNode.js +119 -0
  566. package/node_modules/three/examples/jsm/nodes/accessors/CubeTextureNode.js +61 -0
  567. package/node_modules/three/examples/jsm/nodes/accessors/InstanceNode.js +71 -0
  568. package/node_modules/three/examples/jsm/nodes/accessors/InstancedPointsMaterialNode.js +21 -0
  569. package/node_modules/three/examples/jsm/nodes/accessors/MaterialNode.js +314 -0
  570. package/node_modules/three/examples/jsm/nodes/accessors/MaterialReferenceNode.js +51 -0
  571. package/node_modules/three/examples/jsm/nodes/accessors/ModelNode.js +33 -0
  572. package/node_modules/three/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +39 -0
  573. package/node_modules/three/examples/jsm/nodes/accessors/MorphNode.js +245 -0
  574. package/node_modules/three/examples/jsm/nodes/accessors/NormalNode.js +96 -0
  575. package/node_modules/three/examples/jsm/nodes/accessors/Object3DNode.js +150 -0
  576. package/node_modules/three/examples/jsm/nodes/accessors/PointUVNode.js +26 -0
  577. package/node_modules/three/examples/jsm/nodes/accessors/PositionNode.js +104 -0
  578. package/node_modules/three/examples/jsm/nodes/accessors/ReferenceNode.js +102 -0
  579. package/node_modules/three/examples/jsm/nodes/accessors/ReflectVectorNode.js +35 -0
  580. package/node_modules/three/examples/jsm/nodes/accessors/SceneNode.js +52 -0
  581. package/node_modules/three/examples/jsm/nodes/accessors/SkinningNode.js +103 -0
  582. package/node_modules/three/examples/jsm/nodes/accessors/StorageBufferNode.js +54 -0
  583. package/node_modules/three/examples/jsm/nodes/accessors/TangentNode.js +103 -0
  584. package/node_modules/three/examples/jsm/nodes/accessors/TextureBicubicNode.js +94 -0
  585. package/node_modules/three/examples/jsm/nodes/accessors/TextureNode.js +367 -0
  586. package/node_modules/three/examples/jsm/nodes/accessors/TextureSizeNode.js +35 -0
  587. package/node_modules/three/examples/jsm/nodes/accessors/TextureStoreNode.js +82 -0
  588. package/node_modules/three/examples/jsm/nodes/accessors/UVNode.js +47 -0
  589. package/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js +29 -0
  590. package/node_modules/three/examples/jsm/nodes/accessors/VertexColorNode.js +70 -0
  591. package/node_modules/three/examples/jsm/nodes/code/CodeNode.js +78 -0
  592. package/node_modules/three/examples/jsm/nodes/code/ExpressionNode.js +37 -0
  593. package/node_modules/three/examples/jsm/nodes/code/FunctionCallNode.js +96 -0
  594. package/node_modules/three/examples/jsm/nodes/code/FunctionNode.js +138 -0
  595. package/node_modules/three/examples/jsm/nodes/code/ScriptableNode.js +488 -0
  596. package/node_modules/three/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
  597. package/node_modules/three/examples/jsm/nodes/core/ArrayUniformNode.js +26 -0
  598. package/node_modules/three/examples/jsm/nodes/core/AssignNode.js +72 -0
  599. package/node_modules/three/examples/jsm/nodes/core/AttributeNode.js +108 -0
  600. package/node_modules/three/examples/jsm/nodes/core/BypassNode.js +45 -0
  601. package/node_modules/three/examples/jsm/nodes/core/CacheNode.js +49 -0
  602. package/node_modules/three/examples/jsm/nodes/core/ConstNode.js +32 -0
  603. package/node_modules/three/examples/jsm/nodes/core/ContextNode.js +61 -0
  604. package/node_modules/three/examples/jsm/nodes/core/IndexNode.js +66 -0
  605. package/node_modules/three/examples/jsm/nodes/core/InputNode.js +83 -0
  606. package/node_modules/three/examples/jsm/nodes/core/LightingModel.js +17 -0
  607. package/node_modules/three/examples/jsm/nodes/core/Node.js +483 -0
  608. package/node_modules/three/examples/jsm/nodes/core/NodeAttribute.js +15 -0
  609. package/node_modules/three/examples/jsm/nodes/core/NodeBuilder.js +1256 -0
  610. package/node_modules/three/examples/jsm/nodes/core/NodeCache.js +26 -0
  611. package/node_modules/three/examples/jsm/nodes/core/NodeCode.js +15 -0
  612. package/node_modules/three/examples/jsm/nodes/core/NodeFrame.js +143 -0
  613. package/node_modules/three/examples/jsm/nodes/core/NodeFunction.js +22 -0
  614. package/node_modules/three/examples/jsm/nodes/core/NodeFunctionInput.js +17 -0
  615. package/node_modules/three/examples/jsm/nodes/core/NodeKeywords.js +80 -0
  616. package/node_modules/three/examples/jsm/nodes/core/NodeParser.js +11 -0
  617. package/node_modules/three/examples/jsm/nodes/core/NodeUniform.js +40 -0
  618. package/node_modules/three/examples/jsm/nodes/core/NodeUtils.js +210 -0
  619. package/node_modules/three/examples/jsm/nodes/core/NodeVar.js +14 -0
  620. package/node_modules/three/examples/jsm/nodes/core/NodeVarying.js +17 -0
  621. package/node_modules/three/examples/jsm/nodes/core/OutputStructNode.js +62 -0
  622. package/node_modules/three/examples/jsm/nodes/core/ParameterNode.js +33 -0
  623. package/node_modules/three/examples/jsm/nodes/core/PropertyNode.js +72 -0
  624. package/node_modules/three/examples/jsm/nodes/core/StackNode.js +89 -0
  625. package/node_modules/three/examples/jsm/nodes/core/StructTypeNode.js +24 -0
  626. package/node_modules/three/examples/jsm/nodes/core/TempNode.js +58 -0
  627. package/node_modules/three/examples/jsm/nodes/core/UniformGroup.js +13 -0
  628. package/node_modules/three/examples/jsm/nodes/core/UniformGroupNode.js +36 -0
  629. package/node_modules/three/examples/jsm/nodes/core/UniformNode.js +80 -0
  630. package/node_modules/three/examples/jsm/nodes/core/VarNode.js +60 -0
  631. package/node_modules/three/examples/jsm/nodes/core/VaryingNode.js +65 -0
  632. package/node_modules/three/examples/jsm/nodes/core/constants.js +28 -0
  633. package/node_modules/three/examples/jsm/nodes/display/AfterImageNode.js +148 -0
  634. package/node_modules/three/examples/jsm/nodes/display/AnamorphicNode.js +148 -0
  635. package/node_modules/three/examples/jsm/nodes/display/BlendModeNode.js +99 -0
  636. package/node_modules/three/examples/jsm/nodes/display/BumpMapNode.js +99 -0
  637. package/node_modules/three/examples/jsm/nodes/display/ColorAdjustmentNode.js +99 -0
  638. package/node_modules/three/examples/jsm/nodes/display/ColorSpaceNode.js +108 -0
  639. package/node_modules/three/examples/jsm/nodes/display/FrontFacingNode.js +27 -0
  640. package/node_modules/three/examples/jsm/nodes/display/GaussianBlurNode.js +190 -0
  641. package/node_modules/three/examples/jsm/nodes/display/NormalMapNode.js +108 -0
  642. package/node_modules/three/examples/jsm/nodes/display/PassNode.js +183 -0
  643. package/node_modules/three/examples/jsm/nodes/display/PosterizeNode.js +32 -0
  644. package/node_modules/three/examples/jsm/nodes/display/ToneMappingNode.js +184 -0
  645. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthNode.js +97 -0
  646. package/node_modules/three/examples/jsm/nodes/display/ViewportDepthTextureNode.js +31 -0
  647. package/node_modules/three/examples/jsm/nodes/display/ViewportNode.js +134 -0
  648. package/node_modules/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js +31 -0
  649. package/node_modules/three/examples/jsm/nodes/display/ViewportTextureNode.js +75 -0
  650. package/node_modules/three/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
  651. package/node_modules/three/examples/jsm/nodes/fog/FogNode.js +38 -0
  652. package/node_modules/three/examples/jsm/nodes/fog/FogRangeNode.js +34 -0
  653. package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +40 -0
  654. package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  655. package/node_modules/three/examples/jsm/nodes/functions/BSDF/BRDF_Sheen.js +57 -0
  656. package/node_modules/three/examples/jsm/nodes/functions/BSDF/DFGApprox.js +30 -0
  657. package/node_modules/three/examples/jsm/nodes/functions/BSDF/D_GGX.js +23 -0
  658. package/node_modules/three/examples/jsm/nodes/functions/BSDF/EnvironmentBRDF.js +13 -0
  659. package/node_modules/three/examples/jsm/nodes/functions/BSDF/F_Schlick.js +16 -0
  660. package/node_modules/three/examples/jsm/nodes/functions/BSDF/Schlick_to_F0.js +21 -0
  661. package/node_modules/three/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +28 -0
  662. package/node_modules/three/examples/jsm/nodes/functions/PhongLightingModel.js +67 -0
  663. package/node_modules/three/examples/jsm/nodes/functions/PhysicalLightingModel.js +393 -0
  664. package/node_modules/three/examples/jsm/nodes/functions/material/getGeometryRoughness.js +13 -0
  665. package/node_modules/three/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  666. package/node_modules/three/examples/jsm/nodes/geometry/RangeNode.js +104 -0
  667. package/node_modules/three/examples/jsm/nodes/gpgpu/ComputeNode.js +85 -0
  668. package/node_modules/three/examples/jsm/nodes/lighting/AONode.js +27 -0
  669. package/node_modules/three/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
  670. package/node_modules/three/examples/jsm/nodes/lighting/AnalyticLightNode.js +241 -0
  671. package/node_modules/three/examples/jsm/nodes/lighting/DirectionalLightNode.js +40 -0
  672. package/node_modules/three/examples/jsm/nodes/lighting/EnvironmentNode.js +181 -0
  673. package/node_modules/three/examples/jsm/nodes/lighting/HemisphereLightNode.js +55 -0
  674. package/node_modules/three/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
  675. package/node_modules/three/examples/jsm/nodes/lighting/LightNode.js +57 -0
  676. package/node_modules/three/examples/jsm/nodes/lighting/LightUtils.js +17 -0
  677. package/node_modules/three/examples/jsm/nodes/lighting/LightingContextNode.js +66 -0
  678. package/node_modules/three/examples/jsm/nodes/lighting/LightingNode.js +21 -0
  679. package/node_modules/three/examples/jsm/nodes/lighting/LightsNode.js +188 -0
  680. package/node_modules/three/examples/jsm/nodes/lighting/PointLightNode.js +68 -0
  681. package/node_modules/three/examples/jsm/nodes/lighting/SpotLightNode.js +89 -0
  682. package/node_modules/three/examples/jsm/nodes/loaders/NodeLoader.js +108 -0
  683. package/node_modules/three/examples/jsm/nodes/loaders/NodeMaterialLoader.js +59 -0
  684. package/node_modules/three/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  685. package/node_modules/three/examples/jsm/nodes/materials/InstancedPointsNodeMaterial.js +162 -0
  686. package/node_modules/three/examples/jsm/nodes/materials/Line2NodeMaterial.js +436 -0
  687. package/node_modules/three/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +28 -0
  688. package/node_modules/three/examples/jsm/nodes/materials/LineDashedNodeMaterial.js +54 -0
  689. package/node_modules/three/examples/jsm/nodes/materials/Materials.js +16 -0
  690. package/node_modules/three/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +28 -0
  691. package/node_modules/three/examples/jsm/nodes/materials/MeshLambertNodeMaterial.js +34 -0
  692. package/node_modules/three/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +40 -0
  693. package/node_modules/three/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +65 -0
  694. package/node_modules/three/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +155 -0
  695. package/node_modules/three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.js +84 -0
  696. package/node_modules/three/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +80 -0
  697. package/node_modules/three/examples/jsm/nodes/materials/NodeMaterial.js +570 -0
  698. package/node_modules/three/examples/jsm/nodes/materials/PointsNodeMaterial.js +39 -0
  699. package/node_modules/three/examples/jsm/nodes/materials/SpriteNodeMaterial.js +90 -0
  700. package/node_modules/three/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
  701. package/node_modules/three/examples/jsm/nodes/materialx/MaterialXNodes.js +68 -0
  702. package/node_modules/three/examples/jsm/nodes/materialx/lib/mx_hsv.js +130 -0
  703. package/node_modules/three/examples/jsm/nodes/materialx/lib/mx_noise.js +1430 -0
  704. package/node_modules/three/examples/jsm/nodes/materialx/lib/mx_transform_color.js +29 -0
  705. package/node_modules/three/examples/jsm/nodes/math/CondNode.js +86 -0
  706. package/node_modules/three/examples/jsm/nodes/math/HashNode.js +34 -0
  707. package/node_modules/three/examples/jsm/nodes/math/MathNode.js +371 -0
  708. package/node_modules/three/examples/jsm/nodes/math/MathUtils.js +15 -0
  709. package/node_modules/three/examples/jsm/nodes/math/OperatorNode.js +274 -0
  710. package/node_modules/three/examples/jsm/nodes/math/TriNoise3D.js +71 -0
  711. package/node_modules/three/examples/jsm/nodes/parsers/GLSLNodeFunction.js +152 -0
  712. package/node_modules/three/examples/jsm/nodes/parsers/GLSLNodeParser.js +14 -0
  713. package/node_modules/three/examples/jsm/nodes/procedural/CheckerNode.js +42 -0
  714. package/node_modules/three/examples/jsm/nodes/shadernode/ShaderNode.js +634 -0
  715. package/node_modules/three/examples/jsm/nodes/utils/ArrayElementNode.js +41 -0
  716. package/node_modules/three/examples/jsm/nodes/utils/ConvertNode.js +65 -0
  717. package/node_modules/three/examples/jsm/nodes/utils/DiscardNode.js +27 -0
  718. package/node_modules/three/examples/jsm/nodes/utils/EquirectUVNode.js +33 -0
  719. package/node_modules/three/examples/jsm/nodes/utils/FunctionOverloadingNode.js +95 -0
  720. package/node_modules/three/examples/jsm/nodes/utils/JoinNode.js +61 -0
  721. package/node_modules/three/examples/jsm/nodes/utils/LoopNode.js +198 -0
  722. package/node_modules/three/examples/jsm/nodes/utils/MatcapUVNode.js +30 -0
  723. package/node_modules/three/examples/jsm/nodes/utils/MaxMipLevelNode.js +46 -0
  724. package/node_modules/three/examples/jsm/nodes/utils/OscNode.js +81 -0
  725. package/node_modules/three/examples/jsm/nodes/utils/PackingNode.js +55 -0
  726. package/node_modules/three/examples/jsm/nodes/utils/ReflectorNode.js +227 -0
  727. package/node_modules/three/examples/jsm/nodes/utils/RemapNode.js +42 -0
  728. package/node_modules/three/examples/jsm/nodes/utils/RotateNode.js +68 -0
  729. package/node_modules/three/examples/jsm/nodes/utils/RotateUVNode.js +35 -0
  730. package/node_modules/three/examples/jsm/nodes/utils/SetNode.js +62 -0
  731. package/node_modules/three/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
  732. package/node_modules/three/examples/jsm/nodes/utils/SplitNode.js +112 -0
  733. package/node_modules/three/examples/jsm/nodes/utils/SpriteSheetUVNode.js +41 -0
  734. package/node_modules/three/examples/jsm/nodes/utils/TimerNode.js +94 -0
  735. package/node_modules/three/examples/jsm/nodes/utils/TriplanarTexturesNode.js +62 -0
  736. package/node_modules/three/examples/jsm/objects/GroundedSkybox.js +50 -0
  737. package/node_modules/three/examples/jsm/objects/InstancedPoints.js +21 -0
  738. package/node_modules/three/examples/jsm/objects/Lensflare.js +397 -0
  739. package/node_modules/three/examples/jsm/objects/MarchingCubes.js +1176 -0
  740. package/node_modules/three/examples/jsm/objects/QuadMesh.js +66 -0
  741. package/node_modules/three/examples/jsm/objects/Reflector.js +264 -0
  742. package/node_modules/three/examples/jsm/objects/ReflectorForSSRPass.js +352 -0
  743. package/node_modules/three/examples/jsm/objects/Refractor.js +327 -0
  744. package/node_modules/three/examples/jsm/objects/ShadowMesh.js +80 -0
  745. package/node_modules/three/examples/jsm/objects/Sky.js +219 -0
  746. package/node_modules/three/examples/jsm/objects/Water.js +333 -0
  747. package/node_modules/three/examples/jsm/objects/Water2.js +361 -0
  748. package/node_modules/three/examples/jsm/offscreen/jank.js +45 -0
  749. package/node_modules/three/examples/jsm/offscreen/offscreen.js +8 -0
  750. package/node_modules/three/examples/jsm/offscreen/scene.js +86 -0
  751. package/node_modules/three/examples/jsm/physics/AmmoPhysics.js +306 -0
  752. package/node_modules/three/examples/jsm/physics/RapierPhysics.js +220 -0
  753. package/node_modules/three/examples/jsm/postprocessing/AfterimagePass.js +104 -0
  754. package/node_modules/three/examples/jsm/postprocessing/BloomPass.js +172 -0
  755. package/node_modules/three/examples/jsm/postprocessing/BokehPass.js +141 -0
  756. package/node_modules/three/examples/jsm/postprocessing/ClearPass.js +46 -0
  757. package/node_modules/three/examples/jsm/postprocessing/CubeTexturePass.js +85 -0
  758. package/node_modules/three/examples/jsm/postprocessing/DotScreenPass.js +65 -0
  759. package/node_modules/three/examples/jsm/postprocessing/EffectComposer.js +231 -0
  760. package/node_modules/three/examples/jsm/postprocessing/FilmPass.js +64 -0
  761. package/node_modules/three/examples/jsm/postprocessing/GTAOPass.js +582 -0
  762. package/node_modules/three/examples/jsm/postprocessing/GlitchPass.js +128 -0
  763. package/node_modules/three/examples/jsm/postprocessing/HalftonePass.js +79 -0
  764. package/node_modules/three/examples/jsm/postprocessing/LUTPass.js +174 -0
  765. package/node_modules/three/examples/jsm/postprocessing/MaskPass.js +104 -0
  766. package/node_modules/three/examples/jsm/postprocessing/OutlinePass.js +654 -0
  767. package/node_modules/three/examples/jsm/postprocessing/OutputPass.js +95 -0
  768. package/node_modules/three/examples/jsm/postprocessing/Pass.js +95 -0
  769. package/node_modules/three/examples/jsm/postprocessing/RenderPass.js +99 -0
  770. package/node_modules/three/examples/jsm/postprocessing/RenderPixelatedPass.js +235 -0
  771. package/node_modules/three/examples/jsm/postprocessing/SAOPass.js +335 -0
  772. package/node_modules/three/examples/jsm/postprocessing/SMAAPass.js +199 -0
  773. package/node_modules/three/examples/jsm/postprocessing/SSAARenderPass.js +228 -0
  774. package/node_modules/three/examples/jsm/postprocessing/SSAOPass.js +420 -0
  775. package/node_modules/three/examples/jsm/postprocessing/SSRPass.js +641 -0
  776. package/node_modules/three/examples/jsm/postprocessing/SavePass.js +79 -0
  777. package/node_modules/three/examples/jsm/postprocessing/ShaderPass.js +77 -0
  778. package/node_modules/three/examples/jsm/postprocessing/TAARenderPass.js +188 -0
  779. package/node_modules/three/examples/jsm/postprocessing/TexturePass.js +67 -0
  780. package/node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js +415 -0
  781. package/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +215 -0
  782. package/node_modules/three/examples/jsm/renderers/CSS3DRenderer.js +329 -0
  783. package/node_modules/three/examples/jsm/renderers/Projector.js +918 -0
  784. package/node_modules/three/examples/jsm/renderers/SVGRenderer.js +556 -0
  785. package/node_modules/three/examples/jsm/renderers/common/Animation.js +47 -0
  786. package/node_modules/three/examples/jsm/renderers/common/Attributes.js +75 -0
  787. package/node_modules/three/examples/jsm/renderers/common/Backend.js +195 -0
  788. package/node_modules/three/examples/jsm/renderers/common/Background.js +134 -0
  789. package/node_modules/three/examples/jsm/renderers/common/Binding.js +25 -0
  790. package/node_modules/three/examples/jsm/renderers/common/Bindings.js +173 -0
  791. package/node_modules/three/examples/jsm/renderers/common/Buffer.js +38 -0
  792. package/node_modules/three/examples/jsm/renderers/common/BufferUtils.js +33 -0
  793. package/node_modules/three/examples/jsm/renderers/common/ChainMap.js +89 -0
  794. package/node_modules/three/examples/jsm/renderers/common/Color4.js +37 -0
  795. package/node_modules/three/examples/jsm/renderers/common/ComputePipeline.js +17 -0
  796. package/node_modules/three/examples/jsm/renderers/common/Constants.js +14 -0
  797. package/node_modules/three/examples/jsm/renderers/common/CubeRenderTarget.js +65 -0
  798. package/node_modules/three/examples/jsm/renderers/common/DataMap.js +54 -0
  799. package/node_modules/three/examples/jsm/renderers/common/Geometries.js +215 -0
  800. package/node_modules/three/examples/jsm/renderers/common/Info.js +107 -0
  801. package/node_modules/three/examples/jsm/renderers/common/Pipeline.js +13 -0
  802. package/node_modules/three/examples/jsm/renderers/common/Pipelines.js +322 -0
  803. package/node_modules/three/examples/jsm/renderers/common/PostProcessing.js +25 -0
  804. package/node_modules/three/examples/jsm/renderers/common/ProgrammableStage.js +20 -0
  805. package/node_modules/three/examples/jsm/renderers/common/RenderContext.js +41 -0
  806. package/node_modules/three/examples/jsm/renderers/common/RenderContexts.js +74 -0
  807. package/node_modules/three/examples/jsm/renderers/common/RenderList.js +186 -0
  808. package/node_modules/three/examples/jsm/renderers/common/RenderLists.js +38 -0
  809. package/node_modules/three/examples/jsm/renderers/common/RenderObject.js +178 -0
  810. package/node_modules/three/examples/jsm/renderers/common/RenderObjects.js +91 -0
  811. package/node_modules/three/examples/jsm/renderers/common/RenderPipeline.js +16 -0
  812. package/node_modules/three/examples/jsm/renderers/common/Renderer.js +1247 -0
  813. package/node_modules/three/examples/jsm/renderers/common/SampledTexture.js +83 -0
  814. package/node_modules/three/examples/jsm/renderers/common/Sampler.js +18 -0
  815. package/node_modules/three/examples/jsm/renderers/common/StorageBuffer.js +17 -0
  816. package/node_modules/three/examples/jsm/renderers/common/StorageBufferAttribute.js +17 -0
  817. package/node_modules/three/examples/jsm/renderers/common/StorageTexture.js +20 -0
  818. package/node_modules/three/examples/jsm/renderers/common/Textures.js +354 -0
  819. package/node_modules/three/examples/jsm/renderers/common/Uniform.js +140 -0
  820. package/node_modules/three/examples/jsm/renderers/common/UniformBuffer.js +15 -0
  821. package/node_modules/three/examples/jsm/renderers/common/UniformsGroup.js +299 -0
  822. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeBuilderState.js +44 -0
  823. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampledTexture.js +49 -0
  824. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeSampler.js +15 -0
  825. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniform.js +135 -0
  826. package/node_modules/three/examples/jsm/renderers/common/nodes/NodeUniformsGroup.js +44 -0
  827. package/node_modules/three/examples/jsm/renderers/common/nodes/Nodes.js +495 -0
  828. package/node_modules/three/examples/jsm/renderers/webgl/WebGLBackend.js +1362 -0
  829. package/node_modules/three/examples/jsm/renderers/webgl/nodes/GLSLNodeBuilder.js +679 -0
  830. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLAttributeUtils.js +252 -0
  831. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLCapabilities.js +36 -0
  832. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLConstants.js +11 -0
  833. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLExtensions.js +36 -0
  834. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLState.js +738 -0
  835. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLTextureUtils.js +647 -0
  836. package/node_modules/three/examples/jsm/renderers/webgl/utils/WebGLUtils.js +284 -0
  837. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +320 -0
  838. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +26 -0
  839. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +794 -0
  840. package/node_modules/three/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodes.js +51 -0
  841. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPUBackend.js +1321 -0
  842. package/node_modules/three/examples/jsm/renderers/webgpu/WebGPURenderer.js +53 -0
  843. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeBuilder.js +1103 -0
  844. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeFunction.js +104 -0
  845. package/node_modules/three/examples/jsm/renderers/webgpu/nodes/WGSLNodeParser.js +14 -0
  846. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +287 -0
  847. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +244 -0
  848. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUConstants.js +324 -0
  849. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUPipelineUtils.js +591 -0
  850. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTexturePassUtils.js +285 -0
  851. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +1040 -0
  852. package/node_modules/three/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +93 -0
  853. package/node_modules/three/examples/jsm/shaders/ACESFilmicToneMappingShader.js +89 -0
  854. package/node_modules/three/examples/jsm/shaders/AfterimageShader.js +58 -0
  855. package/node_modules/three/examples/jsm/shaders/BasicShader.js +29 -0
  856. package/node_modules/three/examples/jsm/shaders/BleachBypassShader.js +62 -0
  857. package/node_modules/three/examples/jsm/shaders/BlendShader.js +49 -0
  858. package/node_modules/three/examples/jsm/shaders/BokehShader.js +145 -0
  859. package/node_modules/three/examples/jsm/shaders/BokehShader2.js +397 -0
  860. package/node_modules/three/examples/jsm/shaders/BrightnessContrastShader.js +56 -0
  861. package/node_modules/three/examples/jsm/shaders/ColorCorrectionShader.js +52 -0
  862. package/node_modules/three/examples/jsm/shaders/ColorifyShader.js +51 -0
  863. package/node_modules/three/examples/jsm/shaders/ConvolutionShader.js +103 -0
  864. package/node_modules/three/examples/jsm/shaders/CopyShader.js +45 -0
  865. package/node_modules/three/examples/jsm/shaders/DOFMipMapShader.js +56 -0
  866. package/node_modules/three/examples/jsm/shaders/DepthLimitedBlurShader.js +171 -0
  867. package/node_modules/three/examples/jsm/shaders/DigitalGlitch.js +101 -0
  868. package/node_modules/three/examples/jsm/shaders/DotScreenShader.js +70 -0
  869. package/node_modules/three/examples/jsm/shaders/ExposureShader.js +44 -0
  870. package/node_modules/three/examples/jsm/shaders/FXAAShader.js +288 -0
  871. package/node_modules/three/examples/jsm/shaders/FilmShader.js +59 -0
  872. package/node_modules/three/examples/jsm/shaders/FocusShader.js +89 -0
  873. package/node_modules/three/examples/jsm/shaders/FreiChenShader.js +96 -0
  874. package/node_modules/three/examples/jsm/shaders/GTAOShader.js +424 -0
  875. package/node_modules/three/examples/jsm/shaders/GammaCorrectionShader.js +43 -0
  876. package/node_modules/three/examples/jsm/shaders/GodRaysShader.js +321 -0
  877. package/node_modules/three/examples/jsm/shaders/HalftoneShader.js +312 -0
  878. package/node_modules/three/examples/jsm/shaders/HorizontalBlurShader.js +59 -0
  879. package/node_modules/three/examples/jsm/shaders/HorizontalTiltShiftShader.js +63 -0
  880. package/node_modules/three/examples/jsm/shaders/HueSaturationShader.js +67 -0
  881. package/node_modules/three/examples/jsm/shaders/KaleidoShader.js +58 -0
  882. package/node_modules/three/examples/jsm/shaders/LuminosityHighPassShader.js +66 -0
  883. package/node_modules/three/examples/jsm/shaders/LuminosityShader.js +48 -0
  884. package/node_modules/three/examples/jsm/shaders/MMDToonShader.js +134 -0
  885. package/node_modules/three/examples/jsm/shaders/MirrorShader.js +56 -0
  886. package/node_modules/three/examples/jsm/shaders/NormalMapShader.js +55 -0
  887. package/node_modules/three/examples/jsm/shaders/OutputShader.js +81 -0
  888. package/node_modules/three/examples/jsm/shaders/PoissonDenoiseShader.js +226 -0
  889. package/node_modules/three/examples/jsm/shaders/RGBShiftShader.js +54 -0
  890. package/node_modules/three/examples/jsm/shaders/SAOShader.js +179 -0
  891. package/node_modules/three/examples/jsm/shaders/SMAAShader.js +466 -0
  892. package/node_modules/three/examples/jsm/shaders/SSAOShader.js +300 -0
  893. package/node_modules/three/examples/jsm/shaders/SSRShader.js +370 -0
  894. package/node_modules/three/examples/jsm/shaders/SepiaShader.js +52 -0
  895. package/node_modules/three/examples/jsm/shaders/SobelOperatorShader.js +92 -0
  896. package/node_modules/three/examples/jsm/shaders/SubsurfaceScatteringShader.js +90 -0
  897. package/node_modules/three/examples/jsm/shaders/TechnicolorShader.js +45 -0
  898. package/node_modules/three/examples/jsm/shaders/ToonShader.js +326 -0
  899. package/node_modules/three/examples/jsm/shaders/TriangleBlurShader.js +74 -0
  900. package/node_modules/three/examples/jsm/shaders/UnpackDepthRGBAShader.js +47 -0
  901. package/node_modules/three/examples/jsm/shaders/VelocityShader.js +130 -0
  902. package/node_modules/three/examples/jsm/shaders/VerticalBlurShader.js +59 -0
  903. package/node_modules/three/examples/jsm/shaders/VerticalTiltShiftShader.js +63 -0
  904. package/node_modules/three/examples/jsm/shaders/VignetteShader.js +51 -0
  905. package/node_modules/three/examples/jsm/shaders/VolumeShader.js +289 -0
  906. package/node_modules/three/examples/jsm/shaders/WaterRefractionShader.js +95 -0
  907. package/node_modules/three/examples/jsm/textures/FlakesTexture.js +40 -0
  908. package/node_modules/three/examples/jsm/transpiler/AST.js +270 -0
  909. package/node_modules/three/examples/jsm/transpiler/GLSLDecoder.js +941 -0
  910. package/node_modules/three/examples/jsm/transpiler/ShaderToyDecoder.js +49 -0
  911. package/node_modules/three/examples/jsm/transpiler/TSLEncoder.js +715 -0
  912. package/node_modules/three/examples/jsm/transpiler/Transpiler.js +18 -0
  913. package/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +1371 -0
  914. package/node_modules/three/examples/jsm/utils/CameraUtils.js +73 -0
  915. package/node_modules/three/examples/jsm/utils/GPUStatsPanel.js +128 -0
  916. package/node_modules/three/examples/jsm/utils/GeometryCompressionUtils.js +639 -0
  917. package/node_modules/three/examples/jsm/utils/GeometryUtils.js +221 -0
  918. package/node_modules/three/examples/jsm/utils/LDrawUtils.js +202 -0
  919. package/node_modules/three/examples/jsm/utils/PackedPhongMaterial.js +178 -0
  920. package/node_modules/three/examples/jsm/utils/SceneUtils.js +254 -0
  921. package/node_modules/three/examples/jsm/utils/ShadowMapViewer.js +210 -0
  922. package/node_modules/three/examples/jsm/utils/SkeletonUtils.js +413 -0
  923. package/node_modules/three/examples/jsm/utils/SortUtils.js +160 -0
  924. package/node_modules/three/examples/jsm/utils/TextureUtils.js +98 -0
  925. package/node_modules/three/examples/jsm/utils/UVsDebug.js +165 -0
  926. package/node_modules/three/examples/jsm/utils/WorkerPool.js +102 -0
  927. package/node_modules/three/examples/jsm/webxr/ARButton.js +232 -0
  928. package/node_modules/three/examples/jsm/webxr/OculusHandModel.js +109 -0
  929. package/node_modules/three/examples/jsm/webxr/OculusHandPointerModel.js +413 -0
  930. package/node_modules/three/examples/jsm/webxr/Text2D.js +38 -0
  931. package/node_modules/three/examples/jsm/webxr/VRButton.js +225 -0
  932. package/node_modules/three/examples/jsm/webxr/XRButton.js +224 -0
  933. package/node_modules/three/examples/jsm/webxr/XRControllerModelFactory.js +304 -0
  934. package/node_modules/three/examples/jsm/webxr/XREstimatedLight.js +223 -0
  935. package/node_modules/three/examples/jsm/webxr/XRHandMeshModel.js +114 -0
  936. package/node_modules/three/examples/jsm/webxr/XRHandModelFactory.js +105 -0
  937. package/node_modules/three/examples/jsm/webxr/XRHandPrimitiveModel.js +103 -0
  938. package/node_modules/three/examples/jsm/webxr/XRPlanes.js +100 -0
  939. package/node_modules/three/package.json +124 -0
  940. package/node_modules/three/src/Three.Legacy.js +1 -0
  941. package/node_modules/three/src/Three.js +184 -0
  942. package/node_modules/three/src/animation/AnimationAction.js +700 -0
  943. package/node_modules/three/src/animation/AnimationClip.js +473 -0
  944. package/node_modules/three/src/animation/AnimationMixer.js +770 -0
  945. package/node_modules/three/src/animation/AnimationObjectGroup.js +387 -0
  946. package/node_modules/three/src/animation/AnimationUtils.js +356 -0
  947. package/node_modules/three/src/animation/KeyframeTrack.js +462 -0
  948. package/node_modules/three/src/animation/PropertyBinding.js +719 -0
  949. package/node_modules/three/src/animation/PropertyMixer.js +318 -0
  950. package/node_modules/three/src/animation/tracks/BooleanKeyframeTrack.js +19 -0
  951. package/node_modules/three/src/animation/tracks/ColorKeyframeTrack.js +15 -0
  952. package/node_modules/three/src/animation/tracks/NumberKeyframeTrack.js +12 -0
  953. package/node_modules/three/src/animation/tracks/QuaternionKeyframeTrack.js +23 -0
  954. package/node_modules/three/src/animation/tracks/StringKeyframeTrack.js +15 -0
  955. package/node_modules/three/src/animation/tracks/VectorKeyframeTrack.js +12 -0
  956. package/node_modules/three/src/audio/Audio.js +400 -0
  957. package/node_modules/three/src/audio/AudioAnalyser.js +40 -0
  958. package/node_modules/three/src/audio/AudioContext.js +25 -0
  959. package/node_modules/three/src/audio/AudioListener.js +137 -0
  960. package/node_modules/three/src/audio/PositionalAudio.js +146 -0
  961. package/node_modules/three/src/cameras/ArrayCamera.js +17 -0
  962. package/node_modules/three/src/cameras/Camera.js +69 -0
  963. package/node_modules/three/src/cameras/CubeCamera.js +173 -0
  964. package/node_modules/three/src/cameras/OrthographicCamera.js +136 -0
  965. package/node_modules/three/src/cameras/PerspectiveCamera.js +268 -0
  966. package/node_modules/three/src/cameras/StereoCamera.js +100 -0
  967. package/node_modules/three/src/constants.js +216 -0
  968. package/node_modules/three/src/core/BufferAttribute.js +650 -0
  969. package/node_modules/three/src/core/BufferGeometry.js +1079 -0
  970. package/node_modules/three/src/core/Clock.js +74 -0
  971. package/node_modules/three/src/core/EventDispatcher.js +87 -0
  972. package/node_modules/three/src/core/GLBufferAttribute.js +60 -0
  973. package/node_modules/three/src/core/InstancedBufferAttribute.js +39 -0
  974. package/node_modules/three/src/core/InstancedBufferGeometry.js +40 -0
  975. package/node_modules/three/src/core/InstancedInterleavedBuffer.js +48 -0
  976. package/node_modules/three/src/core/InterleavedBuffer.js +166 -0
  977. package/node_modules/three/src/core/InterleavedBufferAttribute.js +351 -0
  978. package/node_modules/three/src/core/Layers.js +60 -0
  979. package/node_modules/three/src/core/Object3D.js +1008 -0
  980. package/node_modules/three/src/core/Raycaster.js +110 -0
  981. package/node_modules/three/src/core/RenderTarget.js +131 -0
  982. package/node_modules/three/src/core/Uniform.js +17 -0
  983. package/node_modules/three/src/core/UniformsGroup.js +98 -0
  984. package/node_modules/three/src/extras/DataUtils.js +176 -0
  985. package/node_modules/three/src/extras/Earcut.js +789 -0
  986. package/node_modules/three/src/extras/ImageUtils.js +129 -0
  987. package/node_modules/three/src/extras/PMREMGenerator.js +906 -0
  988. package/node_modules/three/src/extras/ShapeUtils.js +92 -0
  989. package/node_modules/three/src/extras/core/Curve.js +416 -0
  990. package/node_modules/three/src/extras/core/CurvePath.js +255 -0
  991. package/node_modules/three/src/extras/core/Interpolations.js +79 -0
  992. package/node_modules/three/src/extras/core/Path.js +196 -0
  993. package/node_modules/three/src/extras/core/Shape.js +102 -0
  994. package/node_modules/three/src/extras/core/ShapePath.js +291 -0
  995. package/node_modules/three/src/extras/curves/ArcCurve.js +17 -0
  996. package/node_modules/three/src/extras/curves/CatmullRomCurve3.js +255 -0
  997. package/node_modules/three/src/extras/curves/CubicBezierCurve.js +78 -0
  998. package/node_modules/three/src/extras/curves/CubicBezierCurve3.js +79 -0
  999. package/node_modules/three/src/extras/curves/Curves.js +10 -0
  1000. package/node_modules/three/src/extras/curves/EllipseCurve.js +156 -0
  1001. package/node_modules/three/src/extras/curves/LineCurve.js +92 -0
  1002. package/node_modules/three/src/extras/curves/LineCurve3.js +92 -0
  1003. package/node_modules/three/src/extras/curves/QuadraticBezierCurve.js +74 -0
  1004. package/node_modules/three/src/extras/curves/QuadraticBezierCurve3.js +75 -0
  1005. package/node_modules/three/src/extras/curves/SplineCurve.js +97 -0
  1006. package/node_modules/three/src/geometries/BoxGeometry.js +180 -0
  1007. package/node_modules/three/src/geometries/CapsuleGeometry.js +33 -0
  1008. package/node_modules/three/src/geometries/CircleGeometry.js +101 -0
  1009. package/node_modules/three/src/geometries/ConeGeometry.js +31 -0
  1010. package/node_modules/three/src/geometries/CylinderGeometry.js +286 -0
  1011. package/node_modules/three/src/geometries/DodecahedronGeometry.js +66 -0
  1012. package/node_modules/three/src/geometries/EdgesGeometry.js +152 -0
  1013. package/node_modules/three/src/geometries/ExtrudeGeometry.js +814 -0
  1014. package/node_modules/three/src/geometries/Geometries.js +21 -0
  1015. package/node_modules/three/src/geometries/IcosahedronGeometry.js +42 -0
  1016. package/node_modules/three/src/geometries/LatheGeometry.js +189 -0
  1017. package/node_modules/three/src/geometries/OctahedronGeometry.js +37 -0
  1018. package/node_modules/three/src/geometries/PlaneGeometry.js +98 -0
  1019. package/node_modules/three/src/geometries/PolyhedronGeometry.js +319 -0
  1020. package/node_modules/three/src/geometries/RingGeometry.js +128 -0
  1021. package/node_modules/three/src/geometries/ShapeGeometry.js +195 -0
  1022. package/node_modules/three/src/geometries/SphereGeometry.js +137 -0
  1023. package/node_modules/three/src/geometries/TetrahedronGeometry.js +34 -0
  1024. package/node_modules/three/src/geometries/TorusGeometry.js +120 -0
  1025. package/node_modules/three/src/geometries/TorusKnotGeometry.js +167 -0
  1026. package/node_modules/three/src/geometries/TubeGeometry.js +203 -0
  1027. package/node_modules/three/src/geometries/WireframeGeometry.js +147 -0
  1028. package/node_modules/three/src/helpers/ArrowHelper.js +114 -0
  1029. package/node_modules/three/src/helpers/AxesHelper.js +68 -0
  1030. package/node_modules/three/src/helpers/Box3Helper.js +55 -0
  1031. package/node_modules/three/src/helpers/BoxHelper.js +113 -0
  1032. package/node_modules/three/src/helpers/CameraHelper.js +269 -0
  1033. package/node_modules/three/src/helpers/DirectionalLightHelper.js +93 -0
  1034. package/node_modules/three/src/helpers/GridHelper.js +56 -0
  1035. package/node_modules/three/src/helpers/HemisphereLightHelper.js +88 -0
  1036. package/node_modules/three/src/helpers/PlaneHelper.js +63 -0
  1037. package/node_modules/three/src/helpers/PointLightHelper.js +92 -0
  1038. package/node_modules/three/src/helpers/PolarGridHelper.js +96 -0
  1039. package/node_modules/three/src/helpers/SkeletonHelper.js +128 -0
  1040. package/node_modules/three/src/helpers/SpotLightHelper.js +94 -0
  1041. package/node_modules/three/src/lights/AmbientLight.js +17 -0
  1042. package/node_modules/three/src/lights/DirectionalLight.js +43 -0
  1043. package/node_modules/three/src/lights/DirectionalLightShadow.js +16 -0
  1044. package/node_modules/three/src/lights/HemisphereLight.js +34 -0
  1045. package/node_modules/three/src/lights/Light.js +58 -0
  1046. package/node_modules/three/src/lights/LightProbe.js +47 -0
  1047. package/node_modules/three/src/lights/LightShadow.js +147 -0
  1048. package/node_modules/three/src/lights/PointLight.js +57 -0
  1049. package/node_modules/three/src/lights/PointLightShadow.js +96 -0
  1050. package/node_modules/three/src/lights/RectAreaLight.js +56 -0
  1051. package/node_modules/three/src/lights/SpotLight.js +71 -0
  1052. package/node_modules/three/src/lights/SpotLightShadow.js +50 -0
  1053. package/node_modules/three/src/loaders/AnimationLoader.js +66 -0
  1054. package/node_modules/three/src/loaders/AudioLoader.js +66 -0
  1055. package/node_modules/three/src/loaders/BufferGeometryLoader.js +217 -0
  1056. package/node_modules/three/src/loaders/Cache.js +42 -0
  1057. package/node_modules/three/src/loaders/CompressedTextureLoader.js +134 -0
  1058. package/node_modules/three/src/loaders/CubeTextureLoader.js +58 -0
  1059. package/node_modules/three/src/loaders/DataTextureLoader.js +135 -0
  1060. package/node_modules/three/src/loaders/FileLoader.js +284 -0
  1061. package/node_modules/three/src/loaders/ImageBitmapLoader.js +123 -0
  1062. package/node_modules/three/src/loaders/ImageLoader.js +91 -0
  1063. package/node_modules/three/src/loaders/Loader.js +72 -0
  1064. package/node_modules/three/src/loaders/LoaderUtils.js +75 -0
  1065. package/node_modules/three/src/loaders/LoadingManager.js +142 -0
  1066. package/node_modules/three/src/loaders/MaterialLoader.js +372 -0
  1067. package/node_modules/three/src/loaders/ObjectLoader.js +1148 -0
  1068. package/node_modules/three/src/loaders/TextureLoader.js +41 -0
  1069. package/node_modules/three/src/materials/LineBasicMaterial.js +49 -0
  1070. package/node_modules/three/src/materials/LineDashedMaterial.js +35 -0
  1071. package/node_modules/three/src/materials/Material.js +522 -0
  1072. package/node_modules/three/src/materials/Materials.js +39 -0
  1073. package/node_modules/three/src/materials/MeshBasicMaterial.js +81 -0
  1074. package/node_modules/three/src/materials/MeshDepthMaterial.js +54 -0
  1075. package/node_modules/three/src/materials/MeshDistanceMaterial.js +43 -0
  1076. package/node_modules/three/src/materials/MeshLambertMaterial.js +116 -0
  1077. package/node_modules/three/src/materials/MeshMatcapMaterial.js +81 -0
  1078. package/node_modules/three/src/materials/MeshNormalMaterial.js +61 -0
  1079. package/node_modules/three/src/materials/MeshPhongMaterial.js +120 -0
  1080. package/node_modules/three/src/materials/MeshPhysicalMaterial.js +224 -0
  1081. package/node_modules/three/src/materials/MeshStandardMaterial.js +124 -0
  1082. package/node_modules/three/src/materials/MeshToonMaterial.js +102 -0
  1083. package/node_modules/three/src/materials/PointsMaterial.js +50 -0
  1084. package/node_modules/three/src/materials/RawShaderMaterial.js +17 -0
  1085. package/node_modules/three/src/materials/ShaderMaterial.js +189 -0
  1086. package/node_modules/three/src/materials/ShadowMaterial.js +37 -0
  1087. package/node_modules/three/src/materials/SpriteMaterial.js +54 -0
  1088. package/node_modules/three/src/math/Box2.js +204 -0
  1089. package/node_modules/three/src/math/Box3.js +534 -0
  1090. package/node_modules/three/src/math/Color.js +623 -0
  1091. package/node_modules/three/src/math/ColorManagement.js +139 -0
  1092. package/node_modules/three/src/math/Cylindrical.js +61 -0
  1093. package/node_modules/three/src/math/Euler.js +315 -0
  1094. package/node_modules/three/src/math/Frustum.js +186 -0
  1095. package/node_modules/three/src/math/Interpolant.js +241 -0
  1096. package/node_modules/three/src/math/Line3.js +115 -0
  1097. package/node_modules/three/src/math/MathUtils.js +363 -0
  1098. package/node_modules/three/src/math/Matrix3.js +388 -0
  1099. package/node_modules/three/src/math/Matrix4.js +915 -0
  1100. package/node_modules/three/src/math/Plane.js +205 -0
  1101. package/node_modules/three/src/math/Quaternion.js +685 -0
  1102. package/node_modules/three/src/math/Ray.js +493 -0
  1103. package/node_modules/three/src/math/Sphere.js +245 -0
  1104. package/node_modules/three/src/math/Spherical.js +86 -0
  1105. package/node_modules/three/src/math/SphericalHarmonics3.js +243 -0
  1106. package/node_modules/three/src/math/Triangle.js +311 -0
  1107. package/node_modules/three/src/math/Vector2.js +480 -0
  1108. package/node_modules/three/src/math/Vector3.js +724 -0
  1109. package/node_modules/three/src/math/Vector4.js +644 -0
  1110. package/node_modules/three/src/math/interpolants/CubicInterpolant.js +150 -0
  1111. package/node_modules/three/src/math/interpolants/DiscreteInterpolant.js +26 -0
  1112. package/node_modules/three/src/math/interpolants/LinearInterpolant.js +38 -0
  1113. package/node_modules/three/src/math/interpolants/QuaternionLinearInterpolant.js +39 -0
  1114. package/node_modules/three/src/objects/BatchedMesh.js +1019 -0
  1115. package/node_modules/three/src/objects/Bone.js +17 -0
  1116. package/node_modules/three/src/objects/Group.js +17 -0
  1117. package/node_modules/three/src/objects/InstancedMesh.js +214 -0
  1118. package/node_modules/three/src/objects/LOD.js +214 -0
  1119. package/node_modules/three/src/objects/Line.js +222 -0
  1120. package/node_modules/three/src/objects/LineLoop.js +17 -0
  1121. package/node_modules/three/src/objects/LineSegments.js +55 -0
  1122. package/node_modules/three/src/objects/Mesh.js +429 -0
  1123. package/node_modules/three/src/objects/Points.js +166 -0
  1124. package/node_modules/three/src/objects/Skeleton.js +277 -0
  1125. package/node_modules/three/src/objects/SkinnedMesh.js +257 -0
  1126. package/node_modules/three/src/objects/Sprite.js +181 -0
  1127. package/node_modules/three/src/renderers/WebGL1Renderer.js +7 -0
  1128. package/node_modules/three/src/renderers/WebGL3DRenderTarget.js +22 -0
  1129. package/node_modules/three/src/renderers/WebGLArrayRenderTarget.js +22 -0
  1130. package/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +155 -0
  1131. package/node_modules/three/src/renderers/WebGLMultipleRenderTargets.js +82 -0
  1132. package/node_modules/three/src/renderers/WebGLRenderTarget.js +15 -0
  1133. package/node_modules/three/src/renderers/WebGLRenderer.js +2610 -0
  1134. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphahash_fragment.glsl.js +7 -0
  1135. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphahash_pars_fragment.glsl.js +68 -0
  1136. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +7 -0
  1137. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js +7 -0
  1138. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js +16 -0
  1139. package/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js +5 -0
  1140. package/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +26 -0
  1141. package/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js +8 -0
  1142. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +19 -0
  1143. package/node_modules/three/src/renderers/shaders/ShaderChunk/batching_vertex.glsl.js +5 -0
  1144. package/node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +9 -0
  1145. package/node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js +9 -0
  1146. package/node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +33 -0
  1147. package/node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +43 -0
  1148. package/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +7 -0
  1149. package/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +10 -0
  1150. package/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +21 -0
  1151. package/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js +78 -0
  1152. package/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js +9 -0
  1153. package/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js +7 -0
  1154. package/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js +7 -0
  1155. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +11 -0
  1156. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +11 -0
  1157. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +11 -0
  1158. package/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +23 -0
  1159. package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_fragment.glsl.js +3 -0
  1160. package/node_modules/three/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +44 -0
  1161. package/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +147 -0
  1162. package/node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +186 -0
  1163. package/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js +5 -0
  1164. package/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js +5 -0
  1165. package/node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +63 -0
  1166. package/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js +9 -0
  1167. package/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +7 -0
  1168. package/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js +7 -0
  1169. package/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +20 -0
  1170. package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +9 -0
  1171. package/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js +7 -0
  1172. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +14 -0
  1173. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +62 -0
  1174. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +21 -0
  1175. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +22 -0
  1176. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +69 -0
  1177. package/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +37 -0
  1178. package/node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +17 -0
  1179. package/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +19 -0
  1180. package/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +7 -0
  1181. package/node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +7 -0
  1182. package/node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +27 -0
  1183. package/node_modules/three/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +120 -0
  1184. package/node_modules/three/src/renderers/shaders/ShaderChunk/iridescence_pars_fragment.glsl.js +14 -0
  1185. package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +10 -0
  1186. package/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js +8 -0
  1187. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +202 -0
  1188. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +13 -0
  1189. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +40 -0
  1190. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
  1191. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +28 -0
  1192. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +228 -0
  1193. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js +7 -0
  1194. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +32 -0
  1195. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +151 -0
  1196. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +562 -0
  1197. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js +4 -0
  1198. package/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +26 -0
  1199. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +9 -0
  1200. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +9 -0
  1201. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +16 -0
  1202. package/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +22 -0
  1203. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +17 -0
  1204. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js +7 -0
  1205. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +27 -0
  1206. package/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +27 -0
  1207. package/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +12 -0
  1208. package/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js +7 -0
  1209. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +24 -0
  1210. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +27 -0
  1211. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +38 -0
  1212. package/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +36 -0
  1213. package/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +76 -0
  1214. package/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +33 -0
  1215. package/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +14 -0
  1216. package/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +14 -0
  1217. package/node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +14 -0
  1218. package/node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +43 -0
  1219. package/node_modules/three/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js +11 -0
  1220. package/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +68 -0
  1221. package/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +8 -0
  1222. package/node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js +19 -0
  1223. package/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +12 -0
  1224. package/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js +7 -0
  1225. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +314 -0
  1226. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +68 -0
  1227. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +68 -0
  1228. package/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +66 -0
  1229. package/node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js +10 -0
  1230. package/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +25 -0
  1231. package/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js +15 -0
  1232. package/node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js +20 -0
  1233. package/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +14 -0
  1234. package/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js +7 -0
  1235. package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js +7 -0
  1236. package/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +169 -0
  1237. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +36 -0
  1238. package/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +201 -0
  1239. package/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +119 -0
  1240. package/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +145 -0
  1241. package/node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +122 -0
  1242. package/node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +21 -0
  1243. package/node_modules/three/src/renderers/shaders/ShaderChunk.js +270 -0
  1244. package/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +40 -0
  1245. package/node_modules/three/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
  1246. package/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js +36 -0
  1247. package/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +95 -0
  1248. package/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +76 -0
  1249. package/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js +35 -0
  1250. package/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +75 -0
  1251. package/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +115 -0
  1252. package/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +124 -0
  1253. package/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +111 -0
  1254. package/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +86 -0
  1255. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +126 -0
  1256. package/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +224 -0
  1257. package/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +118 -0
  1258. package/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +86 -0
  1259. package/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +57 -0
  1260. package/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +81 -0
  1261. package/node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js +53 -0
  1262. package/node_modules/three/src/renderers/shaders/ShaderLib.js +359 -0
  1263. package/node_modules/three/src/renderers/shaders/UniformsLib.js +230 -0
  1264. package/node_modules/three/src/renderers/shaders/UniformsUtils.js +104 -0
  1265. package/node_modules/three/src/renderers/webgl/WebGLAnimation.js +53 -0
  1266. package/node_modules/three/src/renderers/webgl/WebGLAttributes.js +229 -0
  1267. package/node_modules/three/src/renderers/webgl/WebGLBackground.js +239 -0
  1268. package/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +631 -0
  1269. package/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +92 -0
  1270. package/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +120 -0
  1271. package/node_modules/three/src/renderers/webgl/WebGLClipping.js +171 -0
  1272. package/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js +99 -0
  1273. package/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +130 -0
  1274. package/node_modules/three/src/renderers/webgl/WebGLExtensions.js +97 -0
  1275. package/node_modules/three/src/renderers/webgl/WebGLGeometries.js +211 -0
  1276. package/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +102 -0
  1277. package/node_modules/three/src/renderers/webgl/WebGLInfo.js +71 -0
  1278. package/node_modules/three/src/renderers/webgl/WebGLLights.js +590 -0
  1279. package/node_modules/three/src/renderers/webgl/WebGLMaterials.js +567 -0
  1280. package/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +300 -0
  1281. package/node_modules/three/src/renderers/webgl/WebGLObjects.js +92 -0
  1282. package/node_modules/three/src/renderers/webgl/WebGLProgram.js +1109 -0
  1283. package/node_modules/three/src/renderers/webgl/WebGLPrograms.js +661 -0
  1284. package/node_modules/three/src/renderers/webgl/WebGLProperties.js +48 -0
  1285. package/node_modules/three/src/renderers/webgl/WebGLRenderLists.js +238 -0
  1286. package/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +107 -0
  1287. package/node_modules/three/src/renderers/webgl/WebGLShader.js +12 -0
  1288. package/node_modules/three/src/renderers/webgl/WebGLShaderCache.js +124 -0
  1289. package/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +424 -0
  1290. package/node_modules/three/src/renderers/webgl/WebGLState.js +1328 -0
  1291. package/node_modules/three/src/renderers/webgl/WebGLTextures.js +2183 -0
  1292. package/node_modules/three/src/renderers/webgl/WebGLUniforms.js +1156 -0
  1293. package/node_modules/three/src/renderers/webgl/WebGLUniformsGroups.js +392 -0
  1294. package/node_modules/three/src/renderers/webgl/WebGLUtils.js +283 -0
  1295. package/node_modules/three/src/renderers/webxr/WebXRController.js +343 -0
  1296. package/node_modules/three/src/renderers/webxr/WebXRDepthSensing.js +105 -0
  1297. package/node_modules/three/src/renderers/webxr/WebXRManager.js +824 -0
  1298. package/node_modules/three/src/scenes/Fog.js +38 -0
  1299. package/node_modules/three/src/scenes/FogExp2.js +35 -0
  1300. package/node_modules/three/src/scenes/Scene.js +63 -0
  1301. package/node_modules/three/src/textures/CanvasTexture.js +17 -0
  1302. package/node_modules/three/src/textures/CompressedArrayTexture.js +18 -0
  1303. package/node_modules/three/src/textures/CompressedCubeTexture.js +19 -0
  1304. package/node_modules/three/src/textures/CompressedTexture.js +28 -0
  1305. package/node_modules/three/src/textures/CubeTexture.js +33 -0
  1306. package/node_modules/three/src/textures/Data3DTexture.js +35 -0
  1307. package/node_modules/three/src/textures/DataArrayTexture.js +27 -0
  1308. package/node_modules/three/src/textures/DataTexture.js +22 -0
  1309. package/node_modules/three/src/textures/DepthTexture.js +58 -0
  1310. package/node_modules/three/src/textures/FramebufferTexture.js +23 -0
  1311. package/node_modules/three/src/textures/Source.js +128 -0
  1312. package/node_modules/three/src/textures/Texture.js +338 -0
  1313. package/node_modules/three/src/textures/VideoTexture.js +55 -0
  1314. package/node_modules/three/src/utils.js +91 -0
  1315. package/package.json +63 -0
@@ -0,0 +1,1908 @@
1
+ import { ApiError, UnsupportedClientError } from '@playdrop/types/api';
2
+ const DEFAULT_REQUEST_TIMEOUT_MS = 15000;
3
+ export function createApiClient(config = {}) {
4
+ const fetchImpl = config.fetchImpl ?? globalThis.fetch?.bind(globalThis);
5
+ if (!fetchImpl) {
6
+ throw new Error('api_client_missing_fetch');
7
+ }
8
+ const requestTimeoutMs = (() => {
9
+ if (config.requestTimeoutMs === undefined) {
10
+ return DEFAULT_REQUEST_TIMEOUT_MS;
11
+ }
12
+ const parsed = Number(config.requestTimeoutMs);
13
+ if (!Number.isFinite(parsed) || parsed <= 0) {
14
+ throw new Error('invalid_api_request_timeout_ms');
15
+ }
16
+ return Math.floor(parsed);
17
+ })();
18
+ async function resolveToken() {
19
+ if (config.tokenProvider) {
20
+ const token = await config.tokenProvider();
21
+ return token ?? null;
22
+ }
23
+ if (typeof window !== 'undefined') {
24
+ try {
25
+ return window.localStorage.getItem('playdrop.accessToken');
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ return null;
32
+ }
33
+ function resolveBaseUrl() {
34
+ if (config.baseUrl) {
35
+ return config.baseUrl;
36
+ }
37
+ if (typeof process !== 'undefined' && process.env.NEXT_PUBLIC_API_BASE) {
38
+ return process.env.NEXT_PUBLIC_API_BASE;
39
+ }
40
+ if (typeof window !== 'undefined') {
41
+ const { protocol, hostname } = window.location;
42
+ if (hostname.includes('www.') && hostname.includes('.')) {
43
+ return `${protocol}//api.${hostname.replace('www.', '')}`;
44
+ }
45
+ if (hostname === 'play.local' || hostname === 'www.localhost') {
46
+ const apiDomain = hostname.includes('localhost') ? 'api.localhost' : 'api.local';
47
+ return `${protocol}//${apiDomain}`;
48
+ }
49
+ return `${protocol}//${hostname}:4000`;
50
+ }
51
+ return 'http://localhost:4000';
52
+ }
53
+ function resolveUrl(base, path) {
54
+ if (/^https?:/i.test(path)) {
55
+ return path;
56
+ }
57
+ const normalizedBase = base.endsWith('/') ? base : `${base}/`;
58
+ const trimmedPath = path.startsWith('/') ? path.slice(1) : path;
59
+ return new URL(trimmedPath, normalizedBase).toString();
60
+ }
61
+ function buildIapQuery(params) {
62
+ if (!params) {
63
+ return '';
64
+ }
65
+ const search = new URLSearchParams();
66
+ if (params.kind) {
67
+ search.set('kind', params.kind);
68
+ }
69
+ if (params.status) {
70
+ const statuses = Array.isArray(params.status) ? params.status : [params.status];
71
+ if (statuses.length > 0) {
72
+ search.set('status', statuses.join(','));
73
+ }
74
+ }
75
+ if (params.from) {
76
+ const fromValue = params.from instanceof Date ? params.from.toISOString() : params.from;
77
+ search.set('from', fromValue);
78
+ }
79
+ if (params.to) {
80
+ const toValue = params.to instanceof Date ? params.to.toISOString() : params.to;
81
+ search.set('to', toValue);
82
+ }
83
+ if (typeof params.appId === 'number') {
84
+ search.set('appId', String(params.appId));
85
+ }
86
+ if (typeof params.limit === 'number') {
87
+ search.set('limit', String(params.limit));
88
+ }
89
+ if (typeof params.offset === 'number') {
90
+ search.set('offset', String(params.offset));
91
+ }
92
+ const query = search.toString();
93
+ return query;
94
+ }
95
+ function normalizeAssetRevisionInput(revision) {
96
+ if (typeof revision === 'number') {
97
+ if (!Number.isInteger(revision) || revision <= 0) {
98
+ throw new Error('invalid_asset_revision');
99
+ }
100
+ return String(revision);
101
+ }
102
+ const trimmed = revision.trim().toLowerCase();
103
+ if (!trimmed) {
104
+ throw new Error('invalid_asset_revision');
105
+ }
106
+ const numeric = trimmed.startsWith('r') ? trimmed.slice(1) : trimmed;
107
+ const parsed = Number.parseInt(numeric, 10);
108
+ if (!Number.isInteger(parsed) || parsed <= 0) {
109
+ throw new Error('invalid_asset_revision');
110
+ }
111
+ return String(parsed);
112
+ }
113
+ function normalizeSemverInput(version) {
114
+ const trimmed = typeof version === 'string' ? version.trim() : '';
115
+ if (!trimmed) {
116
+ throw new Error('invalid_version_format');
117
+ }
118
+ const semverRegex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
119
+ if (!semverRegex.test(trimmed)) {
120
+ throw new Error('invalid_version_format');
121
+ }
122
+ return trimmed;
123
+ }
124
+ function parseContentDispositionFilename(headerValue) {
125
+ if (!headerValue) {
126
+ return null;
127
+ }
128
+ const utf8Match = /filename\*=UTF-8''([^;]+)/i.exec(headerValue);
129
+ if (utf8Match && utf8Match[1]) {
130
+ try {
131
+ return decodeURIComponent(utf8Match[1]);
132
+ }
133
+ catch {
134
+ return utf8Match[1];
135
+ }
136
+ }
137
+ const plainMatch = /filename="?([^";]+)"?/i.exec(headerValue);
138
+ return plainMatch?.[1] ?? null;
139
+ }
140
+ async function parseResponseBody(response) {
141
+ if (response.status === 204 || response.status === 205 || response.status === 304) {
142
+ return undefined;
143
+ }
144
+ const contentType = response.headers.get('content-type') || '';
145
+ if (contentType.includes('application/json')) {
146
+ try {
147
+ return (await response.clone().json());
148
+ }
149
+ catch {
150
+ // fall through to text if parsing fails
151
+ }
152
+ }
153
+ try {
154
+ const text = await response.clone().text();
155
+ return text;
156
+ }
157
+ catch {
158
+ return undefined;
159
+ }
160
+ }
161
+ function parseUnsupportedError(status, payload) {
162
+ if (status !== 426 && status !== 400) {
163
+ return null;
164
+ }
165
+ const data = (payload && typeof payload === 'object') ? payload : null;
166
+ const code = typeof data?.error === 'string' ? data.error : undefined;
167
+ const unsupportedCodes = new Set([
168
+ 'unsupported_client',
169
+ 'unsupported_client_version',
170
+ 'unsupported_client_build',
171
+ 'unsupported_platform_version',
172
+ 'missing_client_metadata',
173
+ ]);
174
+ const isGuardResponse = status === 426 || (status === 400 && code !== undefined && unsupportedCodes.has(code));
175
+ if (!isGuardResponse) {
176
+ return null;
177
+ }
178
+ const message = typeof data?.message === 'string' ? data.message : 'Unsupported client version';
179
+ return new UnsupportedClientError(code ?? 'unsupported_client', message, data ?? null);
180
+ }
181
+ async function request(req) {
182
+ const base = resolveBaseUrl();
183
+ const targetUrl = resolveUrl(base, req.path);
184
+ const headers = new Headers();
185
+ // Add client headers if provided
186
+ if (config.clientHeaders) {
187
+ const clientHeaders = config.clientHeaders();
188
+ for (const [key, value] of Object.entries(clientHeaders)) {
189
+ headers.set(key, value);
190
+ }
191
+ }
192
+ headers.set('accept', 'application/json');
193
+ if (req.body !== undefined && req.body !== null && req.method !== 'GET') {
194
+ headers.set('content-type', 'application/json');
195
+ }
196
+ if (req.headers) {
197
+ for (const [key, value] of Object.entries(req.headers)) {
198
+ headers.set(key, value);
199
+ }
200
+ }
201
+ const token = await resolveToken();
202
+ if (token) {
203
+ headers.set('authorization', `Bearer ${token}`);
204
+ }
205
+ const init = {
206
+ method: req.method,
207
+ headers,
208
+ };
209
+ if (req.body !== undefined && req.body !== null && req.method !== 'GET') {
210
+ init.body = typeof req.body === 'string' ? req.body : JSON.stringify(req.body);
211
+ }
212
+ let timeoutHandle = null;
213
+ let controller = null;
214
+ if (typeof AbortController !== 'undefined') {
215
+ controller = new AbortController();
216
+ init.signal = controller.signal;
217
+ timeoutHandle = setTimeout(() => {
218
+ controller?.abort();
219
+ }, requestTimeoutMs);
220
+ }
221
+ try {
222
+ const response = await fetchImpl(targetUrl, init);
223
+ const parsed = await parseResponseBody(response);
224
+ return {
225
+ status: response.status,
226
+ body: parsed,
227
+ headers: response.headers,
228
+ };
229
+ }
230
+ catch (error) {
231
+ if (controller?.signal.aborted) {
232
+ throw new Error(`api_request_timeout:${req.method}:${req.path}`);
233
+ }
234
+ throw error;
235
+ }
236
+ finally {
237
+ if (timeoutHandle) {
238
+ clearTimeout(timeoutHandle);
239
+ }
240
+ }
241
+ }
242
+ function handleApiError(response, context) {
243
+ const unsupported = parseUnsupportedError(response.status, response.body);
244
+ if (unsupported) {
245
+ throw unsupported;
246
+ }
247
+ const payload = response.body && typeof response.body === 'object' ? response.body : {};
248
+ const code = typeof payload.error === 'string' ? payload.error : context;
249
+ // Build a meaningful error message from the response
250
+ let message;
251
+ if (typeof payload.message === 'string') {
252
+ message = payload.message;
253
+ }
254
+ else if (typeof payload.error === 'string') {
255
+ // Use the error code as the base message
256
+ message = payload.error;
257
+ // Append errorPath if available (e.g., "ecs_invalid: systems.serverSim[0] uses reserved...")
258
+ if (typeof payload.errorPath === 'string') {
259
+ message = `${payload.error}: ${payload.errorPath}`;
260
+ }
261
+ // Append missing exports if available (for server_exports_missing)
262
+ if (Array.isArray(payload.missing) && payload.missing.length > 0) {
263
+ message = `${payload.error}: missing exports [${payload.missing.join(', ')}]`;
264
+ }
265
+ }
266
+ else {
267
+ message = `${context} failed`;
268
+ }
269
+ throw new ApiError(message, response.status, code);
270
+ }
271
+ // Implementation of all API methods
272
+ return {
273
+ request,
274
+ async login(loginRequest) {
275
+ const response = await request({
276
+ method: 'POST',
277
+ path: '/auth/login',
278
+ body: loginRequest,
279
+ });
280
+ if (response.status !== 200) {
281
+ handleApiError(response, 'login');
282
+ }
283
+ return response.body;
284
+ },
285
+ async register(registerRequest) {
286
+ const response = await request({
287
+ method: 'POST',
288
+ path: '/auth/register',
289
+ body: registerRequest,
290
+ });
291
+ if (response.status !== 201) {
292
+ handleApiError(response, 'register');
293
+ }
294
+ return response.body;
295
+ },
296
+ async me() {
297
+ const response = await request({
298
+ method: 'GET',
299
+ path: '/me',
300
+ });
301
+ if (response.status !== 200) {
302
+ handleApiError(response, 'me');
303
+ }
304
+ return response.body;
305
+ },
306
+ async updateProfile(updateRequest) {
307
+ const response = await request({
308
+ method: 'PATCH',
309
+ path: '/me',
310
+ body: updateRequest,
311
+ });
312
+ if (response.status !== 200) {
313
+ handleApiError(response, 'update_profile');
314
+ }
315
+ return response.body;
316
+ },
317
+ async changePassword(changeRequest) {
318
+ const response = await request({
319
+ method: 'POST',
320
+ path: '/me/password',
321
+ body: changeRequest,
322
+ });
323
+ if (response.status !== 200) {
324
+ handleApiError(response, 'change_password');
325
+ }
326
+ return response.body;
327
+ },
328
+ async upgradeToCreator() {
329
+ const response = await request({
330
+ method: 'POST',
331
+ path: '/me/upgrade-to-creator',
332
+ });
333
+ if (response.status !== 200) {
334
+ handleApiError(response, 'upgrade_to_creator');
335
+ }
336
+ return response.body;
337
+ },
338
+ async unlinkX() {
339
+ const response = await request({
340
+ method: 'POST',
341
+ path: '/auth/x/unlink',
342
+ });
343
+ if (response.status !== 200) {
344
+ handleApiError(response, 'unlink_x');
345
+ }
346
+ return response.body;
347
+ },
348
+ async unlinkGoogle() {
349
+ const response = await request({
350
+ method: 'POST',
351
+ path: '/auth/google/unlink',
352
+ });
353
+ if (response.status !== 200) {
354
+ handleApiError(response, 'unlink_google');
355
+ }
356
+ return response.body;
357
+ },
358
+ async fetchGooglePendingSignup(token) {
359
+ const response = await request({
360
+ method: 'GET',
361
+ path: `/auth/google/pending/${encodeURIComponent(token)}`,
362
+ });
363
+ if (response.status !== 200) {
364
+ handleApiError(response, 'fetch_google_pending_signup');
365
+ }
366
+ return response.body;
367
+ },
368
+ async checkUsernameAvailable(username) {
369
+ const response = await request({
370
+ method: 'GET',
371
+ path: `/auth/username-available/${encodeURIComponent(username)}`,
372
+ });
373
+ if (response.status !== 200) {
374
+ handleApiError(response, 'check_username_available');
375
+ }
376
+ return response.body;
377
+ },
378
+ async completeGoogleSignup(signupRequest) {
379
+ const response = await request({
380
+ method: 'POST',
381
+ path: '/auth/google/complete-signup',
382
+ body: signupRequest,
383
+ });
384
+ if (response.status !== 201) {
385
+ handleApiError(response, 'complete_google_signup');
386
+ }
387
+ return response.body;
388
+ },
389
+ async fetchUserById(userId) {
390
+ if (!Number.isFinite(userId) || userId <= 0) {
391
+ throw new Error('invalid_user_id');
392
+ }
393
+ const response = await request({
394
+ method: 'GET',
395
+ path: `/users/${encodeURIComponent(String(userId))}`,
396
+ });
397
+ if (response.status !== 200) {
398
+ handleApiError(response, 'fetch_user_by_id');
399
+ }
400
+ return response.body;
401
+ },
402
+ async fetchUserByUsername(username) {
403
+ const trimmed = typeof username === 'string' ? username.trim() : '';
404
+ if (!trimmed) {
405
+ throw new Error('invalid_username');
406
+ }
407
+ const response = await request({
408
+ method: 'GET',
409
+ path: `/users/by-username/${encodeURIComponent(trimmed)}`,
410
+ });
411
+ if (response.status !== 200) {
412
+ handleApiError(response, 'fetch_user_by_username');
413
+ }
414
+ return response.body;
415
+ },
416
+ async fetchOwnedProfileAssets() {
417
+ const response = await request({
418
+ method: 'GET',
419
+ path: '/me/profile-assets',
420
+ });
421
+ if (response.status !== 200) {
422
+ handleApiError(response, 'fetch_owned_profile_assets');
423
+ }
424
+ return response.body;
425
+ },
426
+ async fetchApps() {
427
+ const response = await request({
428
+ method: 'GET',
429
+ path: '/apps',
430
+ });
431
+ if (response.status !== 200) {
432
+ handleApiError(response, 'fetch_apps');
433
+ }
434
+ return response.body;
435
+ },
436
+ async fetchAppsByType(type, options = {}) {
437
+ const params = new URLSearchParams();
438
+ if (typeof options.limit === 'number' && Number.isFinite(options.limit)) {
439
+ params.set('limit', String(options.limit));
440
+ }
441
+ const query = params.toString();
442
+ const response = await request({
443
+ method: 'GET',
444
+ path: `/apps/types/${encodeURIComponent(type)}` + (query ? `?${query}` : ''),
445
+ });
446
+ if (response.status !== 200) {
447
+ handleApiError(response, 'fetch_apps_by_type');
448
+ }
449
+ return response.body;
450
+ },
451
+ async fetchAppsByCreator(creatorUsername, options = {}) {
452
+ const normalizedCreator = creatorUsername.trim();
453
+ const params = new URLSearchParams();
454
+ if (typeof options.limit === 'number' && Number.isFinite(options.limit)) {
455
+ params.set('limit', String(options.limit));
456
+ }
457
+ const query = params.toString();
458
+ const response = await request({
459
+ method: 'GET',
460
+ path: `/apps/creators/${encodeURIComponent(normalizedCreator)}` + (query ? `?${query}` : ''),
461
+ });
462
+ if (response.status !== 200) {
463
+ handleApiError(response, 'fetch_apps_by_creator');
464
+ }
465
+ return response.body;
466
+ },
467
+ async fetchAppBySlug(creatorUsername, appName) {
468
+ const response = await request({
469
+ method: 'GET',
470
+ path: `/apps/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(appName)}`,
471
+ });
472
+ if (response.status !== 200) {
473
+ handleApiError(response, 'fetch_app');
474
+ }
475
+ return response.body;
476
+ },
477
+ async requestAppAccessToken(appId) {
478
+ const response = await request({
479
+ method: 'POST',
480
+ path: `/apps/${encodeURIComponent(String(appId))}/token`,
481
+ });
482
+ if (response.status !== 200) {
483
+ handleApiError(response, 'request_app_access_token');
484
+ }
485
+ return response.body;
486
+ },
487
+ async sendAppLog(appId, entry) {
488
+ const response = await request({
489
+ method: 'POST',
490
+ path: `/apps/${encodeURIComponent(String(appId))}/logs`,
491
+ body: entry,
492
+ });
493
+ if (response.status !== 200) {
494
+ handleApiError(response, 'send_app_log');
495
+ }
496
+ return response.body;
497
+ },
498
+ async fetchCreatorApps() {
499
+ const response = await request({
500
+ method: 'GET',
501
+ path: '/creator/apps',
502
+ });
503
+ if (response.status !== 200) {
504
+ handleApiError(response, 'fetch_creator_apps');
505
+ }
506
+ return response.body;
507
+ },
508
+ async createApp(createRequest) {
509
+ const response = await request({
510
+ method: 'POST',
511
+ path: '/creator/apps',
512
+ body: createRequest,
513
+ });
514
+ if (response.status !== 200) {
515
+ handleApiError(response, 'create_app');
516
+ }
517
+ return response.body;
518
+ },
519
+ async updateApp(name, updateRequest, options = {}) {
520
+ const params = new URLSearchParams();
521
+ if (typeof options.creatorUsername === 'string' && options.creatorUsername.trim().length > 0) {
522
+ params.set('creatorUsername', options.creatorUsername.trim());
523
+ }
524
+ const query = params.toString();
525
+ const response = await request({
526
+ method: 'PATCH',
527
+ path: `/creator/apps/${encodeURIComponent(name)}${query ? `?${query}` : ''}`,
528
+ body: updateRequest,
529
+ });
530
+ if (response.status !== 200) {
531
+ handleApiError(response, 'update_app');
532
+ }
533
+ return response.body;
534
+ },
535
+ async uploadAppVersion(appName, options) {
536
+ const base = resolveBaseUrl();
537
+ const form = new FormData();
538
+ // Required field
539
+ form.append('version', options.version);
540
+ // Optional text fields
541
+ if (options.releaseNotes !== undefined) {
542
+ form.append('releaseNotes', options.releaseNotes);
543
+ }
544
+ if (options.visibility !== undefined) {
545
+ form.append('visibility', options.visibility);
546
+ }
547
+ if (options.surfaceTargets && options.surfaceTargets.length > 0) {
548
+ form.append('surfaceTargets', JSON.stringify(options.surfaceTargets));
549
+ }
550
+ if (options.entryPoint !== undefined) {
551
+ form.append('entryPoint', options.entryPoint);
552
+ }
553
+ if (options.setAsCurrent !== undefined) {
554
+ form.append('setAsCurrent', String(options.setAsCurrent));
555
+ }
556
+ if (options.externalUrl !== undefined) {
557
+ form.append('externalUrl', options.externalUrl);
558
+ }
559
+ // App metadata fields (for creating app if it doesn't exist)
560
+ if (options.displayName !== undefined) {
561
+ form.append('displayName', options.displayName);
562
+ }
563
+ if (options.description !== undefined) {
564
+ form.append('description', options.description);
565
+ }
566
+ if (options.type !== undefined) {
567
+ form.append('type', options.type);
568
+ }
569
+ if (options.emoji !== undefined) {
570
+ form.append('emoji', options.emoji);
571
+ }
572
+ if (options.color !== undefined) {
573
+ form.append('color', options.color);
574
+ }
575
+ // Admin-only field
576
+ if (options.creatorUsername !== undefined) {
577
+ form.append('creatorUsername', options.creatorUsername);
578
+ }
579
+ // Bundle files (HOSTED mode)
580
+ if (options.bundle) {
581
+ form.append('bundle', options.bundle);
582
+ }
583
+ if (options.source) {
584
+ form.append('source', options.source);
585
+ }
586
+ if (options.ecs) {
587
+ form.append('ecs', options.ecs);
588
+ }
589
+ if (options.server) {
590
+ form.append('server', options.server);
591
+ }
592
+ // Listing assets - images must be PNG, videos must be MP4
593
+ if (options.icon) {
594
+ form.append('icon', options.icon);
595
+ }
596
+ if (options.heroPortrait) {
597
+ form.append('heroPortrait', options.heroPortrait);
598
+ }
599
+ if (options.heroLandscape) {
600
+ form.append('heroLandscape', options.heroLandscape);
601
+ }
602
+ if (options.screenshotsPortrait) {
603
+ for (const screenshot of options.screenshotsPortrait) {
604
+ form.append('screenshotsPortrait', screenshot);
605
+ }
606
+ }
607
+ if (options.screenshotsLandscape) {
608
+ for (const screenshot of options.screenshotsLandscape) {
609
+ form.append('screenshotsLandscape', screenshot);
610
+ }
611
+ }
612
+ if (options.videosPortrait) {
613
+ for (const video of options.videosPortrait) {
614
+ form.append('videosPortrait', video);
615
+ }
616
+ }
617
+ if (options.videosLandscape) {
618
+ for (const video of options.videosLandscape) {
619
+ form.append('videosLandscape', video);
620
+ }
621
+ }
622
+ const path = `/creator/apps/${encodeURIComponent(appName)}/versions`;
623
+ const headers = new Headers();
624
+ if (config.clientHeaders) {
625
+ const clientHeaders = config.clientHeaders();
626
+ for (const [key, value] of Object.entries(clientHeaders)) {
627
+ headers.set(key, value);
628
+ }
629
+ }
630
+ const token = await resolveToken();
631
+ if (token) {
632
+ headers.set('authorization', `Bearer ${token}`);
633
+ }
634
+ const response = await fetchImpl(resolveUrl(base, path), {
635
+ method: 'POST',
636
+ headers,
637
+ body: form,
638
+ });
639
+ const parsed = await parseResponseBody(response);
640
+ const apiResponse = { status: response.status, body: parsed, headers: response.headers };
641
+ if (response.status !== 201) {
642
+ handleApiError(apiResponse, 'upload_app_version');
643
+ }
644
+ return parsed;
645
+ },
646
+ async listAppVersions(creatorUsername, appName) {
647
+ const path = `/apps/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(appName)}/versions`;
648
+ const response = await request({
649
+ method: 'GET',
650
+ path,
651
+ });
652
+ if (response.status !== 200) {
653
+ handleApiError(response, 'list_app_versions');
654
+ }
655
+ return response.body;
656
+ },
657
+ async getAppVersion(creatorUsername, appName, version) {
658
+ const path = `/apps/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(appName)}/versions/${encodeURIComponent(version)}`;
659
+ const response = await request({
660
+ method: 'GET',
661
+ path,
662
+ });
663
+ if (response.status !== 200) {
664
+ handleApiError(response, 'get_app_version');
665
+ }
666
+ return response.body;
667
+ },
668
+ async updateAppVersion(appName, version, updates, options = {}) {
669
+ const params = new URLSearchParams();
670
+ if (typeof options.creatorUsername === 'string' && options.creatorUsername.trim().length > 0) {
671
+ params.set('creatorUsername', options.creatorUsername.trim());
672
+ }
673
+ const query = params.toString();
674
+ const path = `/creator/apps/${encodeURIComponent(appName)}/versions/${encodeURIComponent(version)}${query ? `?${query}` : ''}`;
675
+ const response = await request({
676
+ method: 'PATCH',
677
+ path,
678
+ body: updates,
679
+ });
680
+ if (response.status !== 200) {
681
+ handleApiError(response, 'update_app_version');
682
+ }
683
+ return response.body;
684
+ },
685
+ async deleteAppVersion(appName, version, options = {}) {
686
+ const params = new URLSearchParams();
687
+ if (typeof options.creatorUsername === 'string' && options.creatorUsername.trim().length > 0) {
688
+ params.set('creatorUsername', options.creatorUsername.trim());
689
+ }
690
+ const query = params.toString();
691
+ const path = `/creator/apps/${encodeURIComponent(appName)}/versions/${encodeURIComponent(version)}${query ? `?${query}` : ''}`;
692
+ const response = await request({
693
+ method: 'DELETE',
694
+ path,
695
+ });
696
+ if (response.status !== 200) {
697
+ handleApiError(response, 'delete_app_version');
698
+ }
699
+ return response.body;
700
+ },
701
+ async createAssetVersion(name, options, mutationTarget = {}) {
702
+ const assetName = typeof name === 'string' ? name.trim() : '';
703
+ if (!assetName) {
704
+ throw new Error('invalid_asset_name');
705
+ }
706
+ if (!Array.isArray(options.files) || options.files.length === 0) {
707
+ throw new Error('missing_asset_files');
708
+ }
709
+ const form = new FormData();
710
+ form.set('category', options.category);
711
+ form.set('subcategory', options.subcategory);
712
+ form.set('format', options.format);
713
+ if (options.visibility) {
714
+ form.set('visibility', options.visibility);
715
+ }
716
+ if (options.sourceKind) {
717
+ form.set('sourceKind', options.sourceKind);
718
+ }
719
+ if (typeof options.sourceAppVersionId === 'number') {
720
+ form.set('sourceAppVersionId', String(options.sourceAppVersionId));
721
+ }
722
+ if (typeof options.sourceGenerationId === 'string' && options.sourceGenerationId.trim().length > 0) {
723
+ form.set('sourceGenerationId', options.sourceGenerationId.trim());
724
+ }
725
+ if (typeof options.shopListed === 'boolean') {
726
+ form.set('shopListed', options.shopListed ? 'true' : 'false');
727
+ }
728
+ if (typeof options.shopPriceCoins === 'number') {
729
+ form.set('shopPriceCoins', String(options.shopPriceCoins));
730
+ }
731
+ if (typeof options.displayName === 'string' && options.displayName.trim().length > 0) {
732
+ form.set('displayName', options.displayName.trim());
733
+ }
734
+ if (typeof options.description === 'string') {
735
+ form.set('description', options.description);
736
+ }
737
+ for (let index = 0; index < options.files.length; index++) {
738
+ const item = options.files[index];
739
+ const fieldName = typeof item.fieldName === 'string' && item.fieldName.trim().length > 0
740
+ ? item.fieldName.trim()
741
+ : 'file';
742
+ if (typeof item.filename === 'string' && item.filename.trim().length > 0) {
743
+ form.append(fieldName, item.file, item.filename.trim());
744
+ }
745
+ else {
746
+ form.append(fieldName, item.file);
747
+ }
748
+ }
749
+ const base = resolveBaseUrl();
750
+ const headers = new Headers();
751
+ if (config.clientHeaders) {
752
+ const clientHeaders = config.clientHeaders();
753
+ for (const [key, value] of Object.entries(clientHeaders)) {
754
+ headers.set(key, value);
755
+ }
756
+ }
757
+ const token = await resolveToken();
758
+ if (token) {
759
+ headers.set('authorization', `Bearer ${token}`);
760
+ }
761
+ const params = new URLSearchParams();
762
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
763
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
764
+ }
765
+ const query = params.toString();
766
+ const path = `/creator/assets/${encodeURIComponent(assetName)}/versions${query ? `?${query}` : ''}`;
767
+ const response = await fetchImpl(resolveUrl(base, path), {
768
+ method: 'POST',
769
+ headers,
770
+ body: form,
771
+ });
772
+ const parsed = await parseResponseBody(response);
773
+ const apiResponse = { status: response.status, body: parsed, headers: response.headers };
774
+ if (response.status !== 201 && response.status !== 200) {
775
+ handleApiError(apiResponse, 'create_asset_version');
776
+ }
777
+ return parsed;
778
+ },
779
+ async listAssetCategories() {
780
+ const response = await request({
781
+ method: 'GET',
782
+ path: '/asset-categories',
783
+ });
784
+ if (response.status !== 200) {
785
+ handleApiError(response, 'list_asset_categories');
786
+ }
787
+ return response.body;
788
+ },
789
+ async listAssets(options = {}) {
790
+ const params = new URLSearchParams();
791
+ if (typeof options.limit === 'number') {
792
+ params.set('limit', String(options.limit));
793
+ }
794
+ if (typeof options.offset === 'number') {
795
+ params.set('offset', String(options.offset));
796
+ }
797
+ if (typeof options.category === 'string' && options.category.trim().length > 0) {
798
+ params.set('category', options.category.trim());
799
+ }
800
+ if (typeof options.subcategory === 'string' && options.subcategory.trim().length > 0) {
801
+ params.set('subcategory', options.subcategory.trim());
802
+ }
803
+ const query = params.toString();
804
+ const path = `/assets${query ? `?${query}` : ''}`;
805
+ const response = await request({
806
+ method: 'GET',
807
+ path,
808
+ });
809
+ if (response.status !== 200) {
810
+ handleApiError(response, 'list_assets');
811
+ }
812
+ return response.body;
813
+ },
814
+ async listAssetsForCreator(creatorUsername, options = {}) {
815
+ const params = new URLSearchParams();
816
+ if (typeof options.limit === 'number') {
817
+ params.set('limit', String(options.limit));
818
+ }
819
+ if (typeof options.offset === 'number') {
820
+ params.set('offset', String(options.offset));
821
+ }
822
+ if (typeof options.category === 'string' && options.category.trim().length > 0) {
823
+ params.set('category', options.category.trim());
824
+ }
825
+ if (typeof options.subcategory === 'string' && options.subcategory.trim().length > 0) {
826
+ params.set('subcategory', options.subcategory.trim());
827
+ }
828
+ const query = params.toString();
829
+ const path = `/creators/${encodeURIComponent(creatorUsername)}/assets${query ? `?${query}` : ''}`;
830
+ const response = await request({
831
+ method: 'GET',
832
+ path,
833
+ });
834
+ if (response.status !== 200) {
835
+ handleApiError(response, 'list_assets_for_creator');
836
+ }
837
+ return response.body;
838
+ },
839
+ async fetchAssetBySlug(creatorUsername, assetName) {
840
+ const path = `/assets/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(assetName)}`;
841
+ const response = await request({
842
+ method: 'GET',
843
+ path,
844
+ });
845
+ if (response.status !== 200) {
846
+ handleApiError(response, 'fetch_asset_by_slug');
847
+ }
848
+ return response.body;
849
+ },
850
+ async listAssetVersions(creatorUsername, assetName, options = {}) {
851
+ const params = new URLSearchParams();
852
+ if (typeof options.limit === 'number') {
853
+ params.set('limit', String(options.limit));
854
+ }
855
+ if (typeof options.offset === 'number') {
856
+ params.set('offset', String(options.offset));
857
+ }
858
+ const query = params.toString();
859
+ const path = `/assets/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(assetName)}/versions${query ? `?${query}` : ''}`;
860
+ const response = await request({
861
+ method: 'GET',
862
+ path,
863
+ });
864
+ if (response.status !== 200) {
865
+ handleApiError(response, 'list_asset_versions');
866
+ }
867
+ return response.body;
868
+ },
869
+ async updateAsset(name, requestBody, mutationTarget = {}) {
870
+ const assetName = typeof name === 'string' ? name.trim() : '';
871
+ if (!assetName) {
872
+ throw new Error('invalid_asset_name');
873
+ }
874
+ const params = new URLSearchParams();
875
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
876
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
877
+ }
878
+ const query = params.toString();
879
+ const response = await request({
880
+ method: 'PATCH',
881
+ path: `/creator/assets/${encodeURIComponent(assetName)}${query ? `?${query}` : ''}`,
882
+ body: requestBody,
883
+ });
884
+ if (response.status !== 200) {
885
+ handleApiError(response, 'update_asset');
886
+ }
887
+ return response.body;
888
+ },
889
+ async updateAssetVersion(name, revision, requestBody, mutationTarget = {}) {
890
+ const assetName = typeof name === 'string' ? name.trim() : '';
891
+ if (!assetName) {
892
+ throw new Error('invalid_asset_name');
893
+ }
894
+ const normalizedRevision = normalizeAssetRevisionInput(revision);
895
+ const params = new URLSearchParams();
896
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
897
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
898
+ }
899
+ const query = params.toString();
900
+ const response = await request({
901
+ method: 'PATCH',
902
+ path: `/creator/assets/${encodeURIComponent(assetName)}/versions/${encodeURIComponent(normalizedRevision)}${query ? `?${query}` : ''}`,
903
+ body: requestBody,
904
+ });
905
+ if (response.status !== 200) {
906
+ handleApiError(response, 'update_asset_version');
907
+ }
908
+ return response.body;
909
+ },
910
+ async deleteAssetVersion(name, revision, mutationTarget = {}) {
911
+ const assetName = typeof name === 'string' ? name.trim() : '';
912
+ if (!assetName) {
913
+ throw new Error('invalid_asset_name');
914
+ }
915
+ const normalizedRevision = normalizeAssetRevisionInput(revision);
916
+ const params = new URLSearchParams();
917
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
918
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
919
+ }
920
+ const query = params.toString();
921
+ const response = await request({
922
+ method: 'DELETE',
923
+ path: `/creator/assets/${encodeURIComponent(assetName)}/versions/${encodeURIComponent(normalizedRevision)}${query ? `?${query}` : ''}`,
924
+ });
925
+ if (response.status !== 200) {
926
+ handleApiError(response, 'delete_asset_version');
927
+ }
928
+ return response.body;
929
+ },
930
+ async deleteAsset(name, mutationTarget = {}) {
931
+ const assetName = typeof name === 'string' ? name.trim() : '';
932
+ if (!assetName) {
933
+ throw new Error('invalid_asset_name');
934
+ }
935
+ const params = new URLSearchParams();
936
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
937
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
938
+ }
939
+ const query = params.toString();
940
+ const response = await request({
941
+ method: 'DELETE',
942
+ path: `/creator/assets/${encodeURIComponent(assetName)}${query ? `?${query}` : ''}`,
943
+ });
944
+ if (response.status !== 200) {
945
+ handleApiError(response, 'delete_asset');
946
+ }
947
+ return response.body;
948
+ },
949
+ async downloadAssetFile(creatorUsername, assetName, revision, options = {}) {
950
+ const creator = typeof creatorUsername === 'string' ? creatorUsername.trim() : '';
951
+ const name = typeof assetName === 'string' ? assetName.trim() : '';
952
+ if (!creator || !name) {
953
+ throw new Error('invalid_asset_key');
954
+ }
955
+ const normalizedRevision = normalizeAssetRevisionInput(revision);
956
+ const params = new URLSearchParams();
957
+ if (typeof options.role === 'string' && options.role.trim().length > 0) {
958
+ params.set('role', options.role.trim());
959
+ }
960
+ const query = params.toString();
961
+ const path = `/assets/${encodeURIComponent(creator)}/${encodeURIComponent(name)}/versions/${encodeURIComponent(normalizedRevision)}/file${query ? `?${query}` : ''}`;
962
+ const base = resolveBaseUrl();
963
+ const headers = new Headers();
964
+ if (config.clientHeaders) {
965
+ const clientHeaders = config.clientHeaders();
966
+ for (const [key, value] of Object.entries(clientHeaders)) {
967
+ headers.set(key, value);
968
+ }
969
+ }
970
+ const token = await resolveToken();
971
+ if (token) {
972
+ headers.set('authorization', `Bearer ${token}`);
973
+ }
974
+ const response = await fetchImpl(resolveUrl(base, path), {
975
+ method: 'GET',
976
+ headers,
977
+ });
978
+ if (!response.ok) {
979
+ const parsed = await parseResponseBody(response);
980
+ handleApiError({ status: response.status, body: parsed, headers: response.headers }, 'download_asset_file');
981
+ }
982
+ return response.blob();
983
+ },
984
+ async downloadAssetSource(creatorUsername, assetName, revision) {
985
+ const creator = typeof creatorUsername === 'string' ? creatorUsername.trim() : '';
986
+ const name = typeof assetName === 'string' ? assetName.trim() : '';
987
+ if (!creator || !name) {
988
+ throw new Error('invalid_asset_key');
989
+ }
990
+ const normalizedRevision = normalizeAssetRevisionInput(revision);
991
+ const path = `/assets/${encodeURIComponent(creator)}/${encodeURIComponent(name)}/versions/${encodeURIComponent(normalizedRevision)}/source`;
992
+ const base = resolveBaseUrl();
993
+ const headers = new Headers();
994
+ if (config.clientHeaders) {
995
+ const clientHeaders = config.clientHeaders();
996
+ for (const [key, value] of Object.entries(clientHeaders)) {
997
+ headers.set(key, value);
998
+ }
999
+ }
1000
+ const token = await resolveToken();
1001
+ if (token) {
1002
+ headers.set('authorization', `Bearer ${token}`);
1003
+ }
1004
+ const response = await fetchImpl(resolveUrl(base, path), {
1005
+ method: 'GET',
1006
+ headers,
1007
+ });
1008
+ if (!response.ok) {
1009
+ const parsed = await parseResponseBody(response);
1010
+ handleApiError({ status: response.status, body: parsed, headers: response.headers }, 'download_asset_source');
1011
+ }
1012
+ const blob = await response.blob();
1013
+ const filename = parseContentDispositionFilename(response.headers.get('content-disposition'))
1014
+ ?? `${name}-r${normalizedRevision}-source.zip`;
1015
+ const headerSize = response.headers.get('content-length');
1016
+ const parsedSize = headerSize ? Number.parseInt(headerSize, 10) : Number.NaN;
1017
+ const checksumHeader = response.headers.get('x-asset-source-checksum');
1018
+ return {
1019
+ blob,
1020
+ metadata: {
1021
+ filename,
1022
+ sizeBytes: Number.isFinite(parsedSize) && parsedSize >= 0 ? parsedSize : blob.size,
1023
+ checksum: checksumHeader ?? null,
1024
+ },
1025
+ };
1026
+ },
1027
+ async createAssetPackVersion(name, body, mutationTarget = {}) {
1028
+ const packName = typeof name === 'string' ? name.trim() : '';
1029
+ if (!packName) {
1030
+ throw new Error('invalid_pack_name');
1031
+ }
1032
+ const params = new URLSearchParams();
1033
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1034
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1035
+ }
1036
+ const query = params.toString();
1037
+ const response = await request({
1038
+ method: 'POST',
1039
+ path: `/creator/asset-packs/${encodeURIComponent(packName)}/versions${query ? `?${query}` : ''}`,
1040
+ body,
1041
+ });
1042
+ if (response.status !== 201 && response.status !== 200) {
1043
+ handleApiError(response, 'create_asset_pack_version');
1044
+ }
1045
+ return response.body;
1046
+ },
1047
+ async uploadAssetPackVersion(name, options, mutationTarget = {}) {
1048
+ const packName = typeof name === 'string' ? name.trim() : '';
1049
+ if (!packName) {
1050
+ throw new Error('invalid_pack_name');
1051
+ }
1052
+ if (!options || !options.request) {
1053
+ throw new Error('invalid_pack_upload_request');
1054
+ }
1055
+ const requestBody = options.request;
1056
+ const form = new FormData();
1057
+ form.append('version', requestBody.version);
1058
+ if (requestBody.visibility !== undefined) {
1059
+ form.append('visibility', requestBody.visibility);
1060
+ }
1061
+ if (requestBody.releaseNotes !== undefined) {
1062
+ form.append('releaseNotes', requestBody.releaseNotes);
1063
+ }
1064
+ if (requestBody.displayName !== undefined) {
1065
+ form.append('displayName', requestBody.displayName);
1066
+ }
1067
+ if (requestBody.description !== undefined) {
1068
+ form.append('description', requestBody.description);
1069
+ }
1070
+ if (requestBody.previewAppVersionId !== undefined) {
1071
+ form.append('previewAppVersionId', String(requestBody.previewAppVersionId));
1072
+ }
1073
+ form.append('assets', JSON.stringify(requestBody.assets ?? []));
1074
+ const relations = requestBody.relations;
1075
+ if (Array.isArray(relations) && relations.length > 0) {
1076
+ form.append('relations', JSON.stringify(relations));
1077
+ }
1078
+ if (options.icon) {
1079
+ form.append('icon', options.icon);
1080
+ }
1081
+ if (options.heroPortrait) {
1082
+ form.append('heroPortrait', options.heroPortrait);
1083
+ }
1084
+ if (options.heroLandscape) {
1085
+ form.append('heroLandscape', options.heroLandscape);
1086
+ }
1087
+ if (options.screenshotsPortrait) {
1088
+ for (const screenshot of options.screenshotsPortrait) {
1089
+ form.append('screenshotsPortrait', screenshot);
1090
+ }
1091
+ }
1092
+ if (options.screenshotsLandscape) {
1093
+ for (const screenshot of options.screenshotsLandscape) {
1094
+ form.append('screenshotsLandscape', screenshot);
1095
+ }
1096
+ }
1097
+ if (options.videosPortrait) {
1098
+ for (const video of options.videosPortrait) {
1099
+ form.append('videosPortrait', video);
1100
+ }
1101
+ }
1102
+ if (options.videosLandscape) {
1103
+ for (const video of options.videosLandscape) {
1104
+ form.append('videosLandscape', video);
1105
+ }
1106
+ }
1107
+ const params = new URLSearchParams();
1108
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1109
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1110
+ }
1111
+ const query = params.toString();
1112
+ const path = `/creator/asset-packs/${encodeURIComponent(packName)}/versions${query ? `?${query}` : ''}`;
1113
+ const base = resolveBaseUrl();
1114
+ const headers = new Headers();
1115
+ if (config.clientHeaders) {
1116
+ const clientHeaders = config.clientHeaders();
1117
+ for (const [key, value] of Object.entries(clientHeaders)) {
1118
+ headers.set(key, value);
1119
+ }
1120
+ }
1121
+ const token = await resolveToken();
1122
+ if (token) {
1123
+ headers.set('authorization', `Bearer ${token}`);
1124
+ }
1125
+ const response = await fetchImpl(resolveUrl(base, path), {
1126
+ method: 'POST',
1127
+ headers,
1128
+ body: form,
1129
+ });
1130
+ const parsed = await parseResponseBody(response);
1131
+ const apiResponse = { status: response.status, body: parsed, headers: response.headers };
1132
+ if (response.status !== 201 && response.status !== 200) {
1133
+ handleApiError(apiResponse, 'upload_asset_pack_version');
1134
+ }
1135
+ return parsed;
1136
+ },
1137
+ async listAssetPacks(options = {}) {
1138
+ const params = new URLSearchParams();
1139
+ if (typeof options.limit === 'number') {
1140
+ params.set('limit', String(options.limit));
1141
+ }
1142
+ if (typeof options.offset === 'number') {
1143
+ params.set('offset', String(options.offset));
1144
+ }
1145
+ if (typeof options.containsCategory === 'string' && options.containsCategory.trim().length > 0) {
1146
+ params.set('containsCategory', options.containsCategory.trim());
1147
+ }
1148
+ if (typeof options.containsSubcategory === 'string' && options.containsSubcategory.trim().length > 0) {
1149
+ params.set('containsSubcategory', options.containsSubcategory.trim());
1150
+ }
1151
+ const query = params.toString();
1152
+ const path = `/asset-packs${query ? `?${query}` : ''}`;
1153
+ const response = await request({
1154
+ method: 'GET',
1155
+ path,
1156
+ });
1157
+ if (response.status !== 200) {
1158
+ handleApiError(response, 'list_asset_packs');
1159
+ }
1160
+ return response.body;
1161
+ },
1162
+ async listAssetPacksForCreator(creatorUsername, options = {}) {
1163
+ const params = new URLSearchParams();
1164
+ if (typeof options.limit === 'number') {
1165
+ params.set('limit', String(options.limit));
1166
+ }
1167
+ if (typeof options.offset === 'number') {
1168
+ params.set('offset', String(options.offset));
1169
+ }
1170
+ if (typeof options.containsCategory === 'string' && options.containsCategory.trim().length > 0) {
1171
+ params.set('containsCategory', options.containsCategory.trim());
1172
+ }
1173
+ if (typeof options.containsSubcategory === 'string' && options.containsSubcategory.trim().length > 0) {
1174
+ params.set('containsSubcategory', options.containsSubcategory.trim());
1175
+ }
1176
+ const query = params.toString();
1177
+ const path = `/creators/${encodeURIComponent(creatorUsername)}/asset-packs${query ? `?${query}` : ''}`;
1178
+ const response = await request({
1179
+ method: 'GET',
1180
+ path,
1181
+ });
1182
+ if (response.status !== 200) {
1183
+ handleApiError(response, 'list_asset_packs_for_creator');
1184
+ }
1185
+ return response.body;
1186
+ },
1187
+ async fetchAssetPackBySlug(creatorUsername, packName) {
1188
+ const path = `/asset-packs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(packName)}`;
1189
+ const response = await request({
1190
+ method: 'GET',
1191
+ path,
1192
+ });
1193
+ if (response.status !== 200) {
1194
+ handleApiError(response, 'fetch_asset_pack_by_slug');
1195
+ }
1196
+ return response.body;
1197
+ },
1198
+ async downloadAssetPackSource(creatorUsername, packName, version) {
1199
+ const creator = typeof creatorUsername === 'string' ? creatorUsername.trim() : '';
1200
+ const name = typeof packName === 'string' ? packName.trim() : '';
1201
+ if (!creator || !name) {
1202
+ throw new Error('invalid_pack_key');
1203
+ }
1204
+ const normalizedVersion = normalizeSemverInput(version);
1205
+ const path = `/asset-packs/${encodeURIComponent(creator)}/${encodeURIComponent(name)}/versions/${encodeURIComponent(normalizedVersion)}/source`;
1206
+ const base = resolveBaseUrl();
1207
+ const headers = new Headers();
1208
+ if (config.clientHeaders) {
1209
+ const clientHeaders = config.clientHeaders();
1210
+ for (const [key, value] of Object.entries(clientHeaders)) {
1211
+ headers.set(key, value);
1212
+ }
1213
+ }
1214
+ const token = await resolveToken();
1215
+ if (token) {
1216
+ headers.set('authorization', `Bearer ${token}`);
1217
+ }
1218
+ const response = await fetchImpl(resolveUrl(base, path), {
1219
+ method: 'GET',
1220
+ headers,
1221
+ });
1222
+ if (!response.ok) {
1223
+ const parsed = await parseResponseBody(response);
1224
+ handleApiError({ status: response.status, body: parsed, headers: response.headers }, 'download_asset_pack_source');
1225
+ }
1226
+ const blob = await response.blob();
1227
+ const filename = parseContentDispositionFilename(response.headers.get('content-disposition'))
1228
+ ?? `${name}-${normalizedVersion}-source.zip`;
1229
+ const headerSize = response.headers.get('content-length');
1230
+ const parsedSize = headerSize ? Number.parseInt(headerSize, 10) : Number.NaN;
1231
+ const checksumHeader = response.headers.get('x-pack-source-checksum');
1232
+ return {
1233
+ blob,
1234
+ metadata: {
1235
+ filename,
1236
+ sizeBytes: Number.isFinite(parsedSize) && parsedSize >= 0 ? parsedSize : blob.size,
1237
+ checksum: checksumHeader ?? null,
1238
+ },
1239
+ };
1240
+ },
1241
+ async listAssetPackVersions(creatorUsername, packName, options = {}) {
1242
+ const params = new URLSearchParams();
1243
+ if (typeof options.limit === 'number') {
1244
+ params.set('limit', String(options.limit));
1245
+ }
1246
+ if (typeof options.offset === 'number') {
1247
+ params.set('offset', String(options.offset));
1248
+ }
1249
+ const query = params.toString();
1250
+ const path = `/asset-packs/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(packName)}/versions${query ? `?${query}` : ''}`;
1251
+ const response = await request({
1252
+ method: 'GET',
1253
+ path,
1254
+ });
1255
+ if (response.status !== 200) {
1256
+ handleApiError(response, 'list_asset_pack_versions');
1257
+ }
1258
+ return response.body;
1259
+ },
1260
+ async updateAssetPack(name, requestBody, mutationTarget = {}) {
1261
+ const packName = typeof name === 'string' ? name.trim() : '';
1262
+ if (!packName) {
1263
+ throw new Error('invalid_pack_name');
1264
+ }
1265
+ const params = new URLSearchParams();
1266
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1267
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1268
+ }
1269
+ const query = params.toString();
1270
+ const response = await request({
1271
+ method: 'PATCH',
1272
+ path: `/creator/asset-packs/${encodeURIComponent(packName)}${query ? `?${query}` : ''}`,
1273
+ body: requestBody,
1274
+ });
1275
+ if (response.status !== 200) {
1276
+ handleApiError(response, 'update_asset_pack');
1277
+ }
1278
+ return response.body;
1279
+ },
1280
+ async updateAssetPackVersion(name, version, requestBody, mutationTarget = {}) {
1281
+ const packName = typeof name === 'string' ? name.trim() : '';
1282
+ const versionValue = typeof version === 'string' ? version.trim() : '';
1283
+ if (!packName) {
1284
+ throw new Error('invalid_pack_name');
1285
+ }
1286
+ if (!versionValue) {
1287
+ throw new Error('invalid_pack_version');
1288
+ }
1289
+ const params = new URLSearchParams();
1290
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1291
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1292
+ }
1293
+ const query = params.toString();
1294
+ const response = await request({
1295
+ method: 'PATCH',
1296
+ path: `/creator/asset-packs/${encodeURIComponent(packName)}/versions/${encodeURIComponent(versionValue)}${query ? `?${query}` : ''}`,
1297
+ body: requestBody,
1298
+ });
1299
+ if (response.status !== 200) {
1300
+ handleApiError(response, 'update_asset_pack_version');
1301
+ }
1302
+ return response.body;
1303
+ },
1304
+ async deleteAssetPackVersion(name, version, mutationTarget = {}) {
1305
+ const packName = typeof name === 'string' ? name.trim() : '';
1306
+ const versionValue = typeof version === 'string' ? version.trim() : '';
1307
+ if (!packName) {
1308
+ throw new Error('invalid_pack_name');
1309
+ }
1310
+ if (!versionValue) {
1311
+ throw new Error('invalid_pack_version');
1312
+ }
1313
+ const params = new URLSearchParams();
1314
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1315
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1316
+ }
1317
+ const query = params.toString();
1318
+ const response = await request({
1319
+ method: 'DELETE',
1320
+ path: `/creator/asset-packs/${encodeURIComponent(packName)}/versions/${encodeURIComponent(versionValue)}${query ? `?${query}` : ''}`,
1321
+ });
1322
+ if (response.status !== 200) {
1323
+ handleApiError(response, 'delete_asset_pack_version');
1324
+ }
1325
+ return response.body;
1326
+ },
1327
+ async deleteAssetPack(name, mutationTarget = {}) {
1328
+ const packName = typeof name === 'string' ? name.trim() : '';
1329
+ if (!packName) {
1330
+ throw new Error('invalid_pack_name');
1331
+ }
1332
+ const params = new URLSearchParams();
1333
+ if (typeof mutationTarget.creatorUsername === 'string' && mutationTarget.creatorUsername.trim().length > 0) {
1334
+ params.set('creatorUsername', mutationTarget.creatorUsername.trim());
1335
+ }
1336
+ const query = params.toString();
1337
+ const response = await request({
1338
+ method: 'DELETE',
1339
+ path: `/creator/asset-packs/${encodeURIComponent(packName)}${query ? `?${query}` : ''}`,
1340
+ });
1341
+ if (response.status !== 200) {
1342
+ handleApiError(response, 'delete_asset_pack');
1343
+ }
1344
+ return response.body;
1345
+ },
1346
+ async batchUpsertGraphRelations(body) {
1347
+ const response = await request({
1348
+ method: 'POST',
1349
+ path: '/creator/graph/relations:batchUpsert',
1350
+ body,
1351
+ });
1352
+ if (response.status !== 200) {
1353
+ handleApiError(response, 'batch_upsert_graph_relations');
1354
+ }
1355
+ return response.body;
1356
+ },
1357
+ async deleteApp(name, options = {}) {
1358
+ const params = new URLSearchParams();
1359
+ if (typeof options.creatorUsername === 'string' && options.creatorUsername.trim().length > 0) {
1360
+ params.set('creatorUsername', options.creatorUsername.trim());
1361
+ }
1362
+ const query = params.toString();
1363
+ const response = await request({
1364
+ method: 'DELETE',
1365
+ path: `/creator/apps/${encodeURIComponent(name)}${query ? `?${query}` : ''}`,
1366
+ });
1367
+ if (response.status !== 200) {
1368
+ handleApiError(response, 'delete_app');
1369
+ }
1370
+ return response.body;
1371
+ },
1372
+ async submitFeedback(feedbackRequest) {
1373
+ const response = await request({
1374
+ method: 'POST',
1375
+ path: '/feedback',
1376
+ body: feedbackRequest,
1377
+ });
1378
+ if (response.status !== 201 && response.status !== 200) {
1379
+ handleApiError(response, 'submit_feedback');
1380
+ }
1381
+ return response.body;
1382
+ },
1383
+ async listFeedback(options = {}) {
1384
+ const params = new URLSearchParams();
1385
+ if (options.limit !== undefined) {
1386
+ params.set('limit', String(options.limit));
1387
+ }
1388
+ if (options.offset !== undefined) {
1389
+ params.set('offset', String(options.offset));
1390
+ }
1391
+ if (typeof options.source === 'string' && options.source.trim().length > 0) {
1392
+ params.set('source', options.source.trim());
1393
+ }
1394
+ if (options.userId !== undefined) {
1395
+ params.set('userId', String(options.userId));
1396
+ }
1397
+ const query = params.toString();
1398
+ const path = `/feedback${query ? `?${query}` : ''}`;
1399
+ const response = await request({
1400
+ method: 'GET',
1401
+ path,
1402
+ });
1403
+ if (response.status !== 200) {
1404
+ handleApiError(response, 'list_feedback');
1405
+ }
1406
+ return response.body;
1407
+ },
1408
+ async deleteFeedback(id) {
1409
+ const response = await request({
1410
+ method: 'DELETE',
1411
+ path: `/feedback/${encodeURIComponent(String(id))}`,
1412
+ });
1413
+ if (response.status !== 200) {
1414
+ handleApiError(response, 'delete_feedback');
1415
+ }
1416
+ return response.body;
1417
+ },
1418
+ async setSelectedProfileAsset(profileAssetRequest) {
1419
+ const response = await request({
1420
+ method: 'POST',
1421
+ path: '/me/profile-asset',
1422
+ body: profileAssetRequest,
1423
+ });
1424
+ if (response.status !== 200) {
1425
+ handleApiError(response, 'set_profile_asset');
1426
+ }
1427
+ return response.body;
1428
+ },
1429
+ async fetchHome() {
1430
+ const response = await request({
1431
+ method: 'GET',
1432
+ path: '/home',
1433
+ });
1434
+ if (response.status !== 200) {
1435
+ handleApiError(response, 'fetch_home');
1436
+ }
1437
+ return response.body;
1438
+ },
1439
+ async fetchUsers() {
1440
+ const response = await request({
1441
+ method: 'GET',
1442
+ path: '/admin/users',
1443
+ });
1444
+ if (response.status !== 200) {
1445
+ handleApiError(response, 'fetch_users');
1446
+ }
1447
+ return response.body;
1448
+ },
1449
+ async createUser(userRequest) {
1450
+ const response = await request({
1451
+ method: 'POST',
1452
+ path: '/admin/users',
1453
+ body: userRequest,
1454
+ });
1455
+ if (response.status !== 201 && response.status !== 200) {
1456
+ handleApiError(response, 'create_user');
1457
+ }
1458
+ return response.body;
1459
+ },
1460
+ async batchCreateUsersFromCsv(formData) {
1461
+ const base = resolveBaseUrl();
1462
+ const headers = new Headers();
1463
+ if (config.clientHeaders) {
1464
+ const clientHeaders = config.clientHeaders();
1465
+ for (const [key, value] of Object.entries(clientHeaders)) {
1466
+ headers.set(key, value);
1467
+ }
1468
+ }
1469
+ const token = await resolveToken();
1470
+ if (token) {
1471
+ headers.set('authorization', `Bearer ${token}`);
1472
+ }
1473
+ const path = '/admin/users/batch-create';
1474
+ const response = await fetchImpl(resolveUrl(base, path), {
1475
+ method: 'POST',
1476
+ headers,
1477
+ body: formData,
1478
+ });
1479
+ const parsed = await parseResponseBody(response);
1480
+ const apiResponse = { status: response.status, body: parsed, headers: response.headers };
1481
+ if (response.status !== 200 && response.status !== 201) {
1482
+ handleApiError(apiResponse, 'batch_create_users');
1483
+ }
1484
+ return parsed;
1485
+ },
1486
+ async fetchAdminUser(userId) {
1487
+ const response = await request({
1488
+ method: 'GET',
1489
+ path: `/admin/users/${encodeURIComponent(String(userId))}`,
1490
+ });
1491
+ if (response.status !== 200) {
1492
+ handleApiError(response, 'fetch_admin_user');
1493
+ }
1494
+ return response.body;
1495
+ },
1496
+ async updateAdminUser(userId, updateRequest) {
1497
+ const response = await request({
1498
+ method: 'PATCH',
1499
+ path: `/admin/users/${encodeURIComponent(String(userId))}`,
1500
+ body: updateRequest,
1501
+ });
1502
+ if (response.status !== 200) {
1503
+ handleApiError(response, 'update_admin_user');
1504
+ }
1505
+ return response.body;
1506
+ },
1507
+ async deleteAdminUser(userId) {
1508
+ const response = await request({
1509
+ method: 'DELETE',
1510
+ path: `/admin/users/${encodeURIComponent(String(userId))}`,
1511
+ });
1512
+ if (response.status !== 200) {
1513
+ handleApiError(response, 'delete_admin_user');
1514
+ }
1515
+ return response.body;
1516
+ },
1517
+ async fetchAdminApps() {
1518
+ const response = await request({
1519
+ method: 'GET',
1520
+ path: '/admin/apps',
1521
+ });
1522
+ if (response.status !== 200) {
1523
+ handleApiError(response, 'fetch_admin_apps');
1524
+ }
1525
+ return response.body;
1526
+ },
1527
+ async fetchAdminGames() {
1528
+ const response = await this.fetchAdminApps();
1529
+ return { ...response, games: response.apps };
1530
+ },
1531
+ async updateAdminApp(id, updateRequest) {
1532
+ const response = await request({
1533
+ method: 'PATCH',
1534
+ path: `/admin/apps/${encodeURIComponent(String(id))}`,
1535
+ body: updateRequest,
1536
+ });
1537
+ if (response.status !== 200) {
1538
+ handleApiError(response, 'update_admin_app');
1539
+ }
1540
+ return response.body;
1541
+ },
1542
+ async deleteAdminApp(id) {
1543
+ const response = await request({
1544
+ method: 'DELETE',
1545
+ path: `/admin/apps/${encodeURIComponent(String(id))}`,
1546
+ });
1547
+ if (response.status !== 200) {
1548
+ handleApiError(response, 'delete_admin_app');
1549
+ }
1550
+ return response.body;
1551
+ },
1552
+ async fetchAdminCoinPacks() {
1553
+ const response = await request({
1554
+ method: 'GET',
1555
+ path: '/admin/coin-packs',
1556
+ });
1557
+ if (response.status !== 200) {
1558
+ handleApiError(response, 'fetch_admin_coin_packs');
1559
+ }
1560
+ return response.body;
1561
+ },
1562
+ async createAdminCoinPack(body) {
1563
+ const response = await request({
1564
+ method: 'POST',
1565
+ path: '/admin/coin-packs',
1566
+ body,
1567
+ });
1568
+ if (response.status !== 201) {
1569
+ handleApiError(response, 'create_admin_coin_pack');
1570
+ }
1571
+ return response.body;
1572
+ },
1573
+ async updateAdminCoinPack(sku, body) {
1574
+ const response = await request({
1575
+ method: 'PATCH',
1576
+ path: `/admin/coin-packs/${encodeURIComponent(sku)}`,
1577
+ body,
1578
+ });
1579
+ if (response.status !== 200) {
1580
+ handleApiError(response, 'update_admin_coin_pack');
1581
+ }
1582
+ return response.body;
1583
+ },
1584
+ async deleteAdminCoinPack(sku) {
1585
+ const response = await request({
1586
+ method: 'DELETE',
1587
+ path: `/admin/coin-packs/${encodeURIComponent(sku)}`,
1588
+ });
1589
+ if (response.status !== 200) {
1590
+ handleApiError(response, 'delete_admin_coin_pack');
1591
+ }
1592
+ return response.body;
1593
+ },
1594
+ async fetchAdminPayments(options) {
1595
+ const params = new URLSearchParams();
1596
+ if (options?.provider) {
1597
+ params.set('provider', options.provider);
1598
+ }
1599
+ if (options?.status) {
1600
+ const statuses = Array.isArray(options.status) ? options.status : [options.status];
1601
+ params.set('status', statuses.join(','));
1602
+ }
1603
+ if (typeof options?.userId === 'number') {
1604
+ params.set('userId', String(options.userId));
1605
+ }
1606
+ if (options?.coinPackSku) {
1607
+ params.set('coinPackSku', options.coinPackSku);
1608
+ }
1609
+ if (options?.from) {
1610
+ const fromValue = options.from instanceof Date ? options.from.toISOString() : options.from;
1611
+ params.set('from', fromValue);
1612
+ }
1613
+ if (options?.to) {
1614
+ const toValue = options.to instanceof Date ? options.to.toISOString() : options.to;
1615
+ params.set('to', toValue);
1616
+ }
1617
+ if (typeof options?.limit === 'number') {
1618
+ params.set('limit', String(options.limit));
1619
+ }
1620
+ if (typeof options?.offset === 'number') {
1621
+ params.set('offset', String(options.offset));
1622
+ }
1623
+ const query = params.toString();
1624
+ const path = query ? `/admin/payments?${query}` : '/admin/payments';
1625
+ const response = await request({
1626
+ method: 'GET',
1627
+ path,
1628
+ });
1629
+ if (response.status !== 200) {
1630
+ handleApiError(response, 'fetch_admin_payments');
1631
+ }
1632
+ return response.body;
1633
+ },
1634
+ async fetchAdminPayment(paymentId) {
1635
+ const response = await request({
1636
+ method: 'GET',
1637
+ path: `/admin/payments/${encodeURIComponent(String(paymentId))}`,
1638
+ });
1639
+ if (response.status !== 200) {
1640
+ handleApiError(response, 'fetch_admin_payment');
1641
+ }
1642
+ return response.body;
1643
+ },
1644
+ async refundAdminPayment(paymentId, body) {
1645
+ const response = await request({
1646
+ method: 'POST',
1647
+ path: `/admin/payments/${encodeURIComponent(String(paymentId))}/refund`,
1648
+ body,
1649
+ });
1650
+ if (response.status !== 200) {
1651
+ handleApiError(response, 'refund_admin_payment');
1652
+ }
1653
+ return response.body;
1654
+ },
1655
+ async reconcileAdminPayment(paymentId) {
1656
+ const response = await request({
1657
+ method: 'POST',
1658
+ path: `/admin/payments/${encodeURIComponent(String(paymentId))}/reconcile`,
1659
+ });
1660
+ if (response.status !== 200) {
1661
+ handleApiError(response, 'reconcile_admin_payment');
1662
+ }
1663
+ return response.body;
1664
+ },
1665
+ async fetchAdminCoinTransactions(options) {
1666
+ const params = new URLSearchParams();
1667
+ if (options?.limit !== undefined) {
1668
+ params.set('limit', String(options.limit));
1669
+ }
1670
+ if (options?.offset !== undefined) {
1671
+ params.set('offset', String(options.offset));
1672
+ }
1673
+ const query = params.toString();
1674
+ const path = query ? `/admin/coin-transactions?${query}` : '/admin/coin-transactions';
1675
+ const response = await request({
1676
+ method: 'GET',
1677
+ path,
1678
+ });
1679
+ if (response.status !== 200) {
1680
+ handleApiError(response, 'fetch_admin_coin_transactions');
1681
+ }
1682
+ return response.body;
1683
+ },
1684
+ async fetchAdminAiGenerations(options) {
1685
+ const params = new URLSearchParams();
1686
+ if (options?.limit !== undefined) {
1687
+ params.set('limit', String(options.limit));
1688
+ }
1689
+ if (options?.offset !== undefined) {
1690
+ params.set('offset', String(options.offset));
1691
+ }
1692
+ const query = params.toString();
1693
+ const path = query ? `/admin/ai-generations?${query}` : '/admin/ai-generations';
1694
+ const response = await request({
1695
+ method: 'GET',
1696
+ path,
1697
+ });
1698
+ if (response.status !== 200) {
1699
+ handleApiError(response, 'fetch_admin_ai_generations');
1700
+ }
1701
+ return response.body;
1702
+ },
1703
+ async fetchAdminAiGeneration(id) {
1704
+ const response = await request({
1705
+ method: 'GET',
1706
+ path: `/admin/ai-generations/${id}`,
1707
+ });
1708
+ if (response.status !== 200) {
1709
+ handleApiError(response, 'fetch_admin_ai_generation');
1710
+ }
1711
+ return response.body;
1712
+ },
1713
+ async migrateAdminAppStorage(requestBody) {
1714
+ const response = await request({
1715
+ method: 'POST',
1716
+ path: '/admin/migrations/app-storage-v0-9-0',
1717
+ body: requestBody,
1718
+ });
1719
+ if (response.status !== 200) {
1720
+ handleApiError(response, 'admin_storage_migration');
1721
+ }
1722
+ return response.body;
1723
+ },
1724
+ async fetchCreatorBootstrap() {
1725
+ const response = await request({
1726
+ method: 'GET',
1727
+ path: '/creator/bootstrap',
1728
+ });
1729
+ if (response.status !== 200) {
1730
+ handleApiError(response, 'fetch_creator_bootstrap');
1731
+ }
1732
+ return response.body;
1733
+ },
1734
+ async fetchRemixScaffold(creatorUsername, appName) {
1735
+ const response = await request({
1736
+ method: 'GET',
1737
+ path: `/creator/apps/${encodeURIComponent(creatorUsername)}/${encodeURIComponent(appName)}/remix`,
1738
+ });
1739
+ if (response.status !== 200) {
1740
+ handleApiError(response, 'fetch_remix_scaffold');
1741
+ }
1742
+ return response.body;
1743
+ },
1744
+ async fetchTemplateScaffold(namespace, slug) {
1745
+ const response = await request({
1746
+ method: 'GET',
1747
+ path: `/creator/templates/${encodeURIComponent(namespace)}/${encodeURIComponent(slug)}`,
1748
+ });
1749
+ if (response.status !== 200) {
1750
+ handleApiError(response, 'fetch_template_scaffold');
1751
+ }
1752
+ return response.body;
1753
+ },
1754
+ async fetchCoinShop() {
1755
+ const response = await request({
1756
+ method: 'GET',
1757
+ path: '/shop',
1758
+ });
1759
+ if (response.status !== 200) {
1760
+ handleApiError(response, 'fetch_shop');
1761
+ }
1762
+ return response.body;
1763
+ },
1764
+ async createCoinPackCheckoutSession(sku) {
1765
+ const normalizedSku = sku.trim();
1766
+ if (!normalizedSku) {
1767
+ throw new Error('invalid_coin_pack_sku');
1768
+ }
1769
+ const response = await request({
1770
+ method: 'POST',
1771
+ path: `/shop/coin-packs/${encodeURIComponent(normalizedSku)}/checkout-session`,
1772
+ });
1773
+ if (response.status !== 200) {
1774
+ handleApiError(response, 'create_coin_pack_checkout_session');
1775
+ }
1776
+ return response.body;
1777
+ },
1778
+ async fetchCoinPackCheckoutStatus(sessionId) {
1779
+ const normalizedSessionId = sessionId.trim();
1780
+ if (!normalizedSessionId) {
1781
+ throw new Error('invalid_checkout_session_id');
1782
+ }
1783
+ const response = await request({
1784
+ method: 'GET',
1785
+ path: `/shop/coin-packs/checkout-session/${encodeURIComponent(normalizedSessionId)}`,
1786
+ });
1787
+ if (response.status !== 200) {
1788
+ handleApiError(response, 'fetch_coin_pack_checkout_status');
1789
+ }
1790
+ return response.body;
1791
+ },
1792
+ async purchaseAsset(body) {
1793
+ const response = await request({
1794
+ method: 'POST',
1795
+ path: '/purchase',
1796
+ body,
1797
+ });
1798
+ if (response.status !== 200) {
1799
+ handleApiError(response, 'purchase_asset');
1800
+ }
1801
+ return response.body;
1802
+ },
1803
+ async purchaseIap(body) {
1804
+ const response = await request({
1805
+ method: 'POST',
1806
+ path: '/iap/purchase',
1807
+ body,
1808
+ });
1809
+ if (response.status !== 200) {
1810
+ handleApiError(response, 'purchase_iap');
1811
+ }
1812
+ return response.body;
1813
+ },
1814
+ async fetchIapReceipts(params) {
1815
+ const query = buildIapQuery(params);
1816
+ const path = query ? `/iap/receipts?${query}` : '/iap/receipts';
1817
+ const response = await request({
1818
+ method: 'GET',
1819
+ path,
1820
+ });
1821
+ if (response.status !== 200) {
1822
+ handleApiError(response, 'fetch_iap_receipts');
1823
+ }
1824
+ return response.body;
1825
+ },
1826
+ async cancelIapReceipt(receiptId) {
1827
+ const response = await request({
1828
+ method: 'POST',
1829
+ path: `/iap/receipts/${encodeURIComponent(String(receiptId))}/cancel`,
1830
+ });
1831
+ if (response.status !== 200) {
1832
+ handleApiError(response, 'cancel_iap_receipt');
1833
+ }
1834
+ return response.body;
1835
+ },
1836
+ async fetchAppIapReceipts(params) {
1837
+ const query = buildIapQuery(params);
1838
+ const path = query ? `/app/iap/receipts?${query}` : '/app/iap/receipts';
1839
+ const response = await request({
1840
+ method: 'GET',
1841
+ path,
1842
+ });
1843
+ if (response.status !== 200) {
1844
+ handleApiError(response, 'fetch_app_iap_receipts');
1845
+ }
1846
+ return response.body;
1847
+ },
1848
+ async consumeAppIapReceipt(receiptId) {
1849
+ const response = await request({
1850
+ method: 'POST',
1851
+ path: `/app/iap/receipts/${encodeURIComponent(String(receiptId))}/consume`,
1852
+ });
1853
+ if (response.status !== 200) {
1854
+ handleApiError(response, 'consume_app_iap_receipt');
1855
+ }
1856
+ return response.body;
1857
+ },
1858
+ async grantAppIapReceipt(receiptId) {
1859
+ const response = await request({
1860
+ method: 'POST',
1861
+ path: `/app/iap/receipts/${encodeURIComponent(String(receiptId))}/grant`,
1862
+ });
1863
+ if (response.status !== 200) {
1864
+ handleApiError(response, 'grant_app_iap_receipt');
1865
+ }
1866
+ return response.body;
1867
+ },
1868
+ async cancelAppIapReceipt(receiptId) {
1869
+ const response = await request({
1870
+ method: 'POST',
1871
+ path: `/app/iap/receipts/${encodeURIComponent(String(receiptId))}/cancel`,
1872
+ });
1873
+ if (response.status !== 200) {
1874
+ handleApiError(response, 'cancel_app_iap_receipt');
1875
+ }
1876
+ return response.body;
1877
+ },
1878
+ async fetchCoinTransactions(options) {
1879
+ const params = new URLSearchParams();
1880
+ if (options?.limit !== undefined) {
1881
+ params.set('limit', String(options.limit));
1882
+ }
1883
+ if (options?.offset !== undefined) {
1884
+ params.set('offset', String(options.offset));
1885
+ }
1886
+ const query = params.toString();
1887
+ const path = query ? `/transactions?${query}` : '/transactions';
1888
+ const response = await request({
1889
+ method: 'GET',
1890
+ path,
1891
+ });
1892
+ if (response.status !== 200) {
1893
+ handleApiError(response, 'fetch_coin_transactions');
1894
+ }
1895
+ return response.body;
1896
+ },
1897
+ async fetchAiGeneration(id) {
1898
+ const response = await request({
1899
+ method: 'GET',
1900
+ path: `/ai-generations/${encodeURIComponent(id)}`,
1901
+ });
1902
+ if (response.status !== 200) {
1903
+ handleApiError(response, 'fetch_ai_generation');
1904
+ }
1905
+ return response.body;
1906
+ },
1907
+ };
1908
+ }