@openclaw/whatsapp 2026.5.28 → 2026.5.31-beta.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 (157) hide show
  1. package/dist/{access-control-Z0fYaWrx.js → access-control-C53zKYSN.js} +1 -1
  2. package/dist/{accounts-BMGM1RtF.js → accounts-DgViSyJx.js} +1 -0
  3. package/dist/{action-runtime-BdhkGtaP.js → action-runtime-Cyp5GNIT.js} +2 -2
  4. package/dist/action-runtime-api.js +1 -1
  5. package/dist/action-runtime.runtime.js +1 -1
  6. package/dist/api.js +9 -9
  7. package/dist/{approval-handler.runtime-C25wPeBf.js → approval-handler.runtime-BVmOu6x1.js} +1 -2
  8. package/dist/{auth-store-BrKb0mwT.js → auth-store-CZ22aNcV.js} +4 -2
  9. package/dist/{channel-D3y4A5Dd.js → channel-DA2BAIo5.js} +17 -64
  10. package/dist/channel-config-api.js +1 -1
  11. package/dist/channel-plugin-api.js +1 -1
  12. package/dist/{channel-react-action-Cd2qkLqp.js → channel-react-action-zvbaCnGe.js} +3 -3
  13. package/dist/{channel.runtime-C228XUjs.js → channel.runtime-Q1LZDB5s.js} +4 -4
  14. package/dist/{channel.setup-BJQyTUUP.js → channel.setup-DHXOo4h5.js} +2 -3
  15. package/dist/{config-schema-CsNDlDpL.js → config-schema-CROZuhT-.js} +16 -0
  16. package/dist/{connection-controller-mpPGmqGq.js → connection-controller-Bnm4INld.js} +2 -2
  17. package/dist/contract-api.js +1 -1
  18. package/dist/light-runtime-api.js +1 -1
  19. package/dist/{login-CE4UYnyO.js → login-2fuBM7Je.js} +4 -4
  20. package/dist/{login-qr-LBvhEes5.js → login-qr-B1o7GFy8.js} +10 -6
  21. package/dist/login-qr-runtime.js +1 -1
  22. package/dist/{monitor-Ccph7Y8M.js → monitor-BVRq04Dt.js} +36 -18
  23. package/dist/runtime-api.js +7 -7
  24. package/dist/{send-C4LG-Cl6.js → send-DSlVXKL_.js} +53 -41
  25. package/dist/{send-api-C66vkRl9.js → send-api-Bjn-h80j.js} +3 -2
  26. package/dist/{session-D8UW2Vbn.js → session-DyGWNClj.js} +1 -1
  27. package/dist/{setup-core-DpfT4K-2.js → setup-core-OvPMaAsx.js} +4 -4
  28. package/dist/{setup-finalize-CFnxX7la.js → setup-finalize-Dk23pfKc.js} +3 -3
  29. package/dist/setup-plugin-api.js +1 -1
  30. package/dist/{setup-surface-DRsmp0ZS.js → setup-surface-F-jVrH8u.js} +3 -3
  31. package/node_modules/@audio/decode-aac/LICENSE +9 -0
  32. package/node_modules/@audio/decode-aac/README.md +60 -0
  33. package/node_modules/@audio/decode-aac/decode-aac.d.ts +16 -0
  34. package/node_modules/@audio/decode-aac/decode-aac.js +391 -0
  35. package/node_modules/@audio/decode-aac/package.json +47 -0
  36. package/node_modules/@audio/decode-aac/src/aac.wasm.cjs +0 -0
  37. package/node_modules/@audio/decode-aiff/LICENSE +21 -0
  38. package/node_modules/@audio/decode-aiff/README.md +53 -0
  39. package/node_modules/@audio/decode-aiff/decode-aiff.d.ts +16 -0
  40. package/node_modules/@audio/decode-aiff/decode-aiff.js +583 -0
  41. package/node_modules/@audio/decode-aiff/package.json +42 -0
  42. package/node_modules/@audio/decode-amr/LICENSE +191 -0
  43. package/node_modules/@audio/decode-amr/README.md +65 -0
  44. package/node_modules/@audio/decode-amr/decode-amr.d.ts +16 -0
  45. package/node_modules/@audio/decode-amr/decode-amr.js +159 -0
  46. package/node_modules/@audio/decode-amr/package.json +48 -0
  47. package/node_modules/@audio/decode-amr/src/amr.wasm.cjs +0 -0
  48. package/node_modules/@audio/decode-caf/LICENSE +21 -0
  49. package/node_modules/@audio/decode-caf/README.md +55 -0
  50. package/node_modules/@audio/decode-caf/decode-caf.d.ts +16 -0
  51. package/node_modules/@audio/decode-caf/decode-caf.js +190 -0
  52. package/node_modules/@audio/decode-caf/package.json +43 -0
  53. package/node_modules/{audio-buffer → @audio/decode-flac}/LICENSE +5 -2
  54. package/node_modules/@audio/decode-flac/README.md +23 -0
  55. package/node_modules/@audio/decode-flac/decode-flac.d.ts +16 -0
  56. package/node_modules/@audio/decode-flac/decode-flac.js +2994 -0
  57. package/node_modules/@audio/decode-flac/meta.js +115 -0
  58. package/node_modules/@audio/decode-flac/package.json +49 -0
  59. package/node_modules/@audio/decode-mp3/LICENSE +25 -0
  60. package/node_modules/@audio/decode-mp3/README.md +23 -0
  61. package/node_modules/@audio/decode-mp3/decode-mp3.d.ts +16 -0
  62. package/node_modules/@audio/decode-mp3/decode-mp3.js +868 -0
  63. package/node_modules/@audio/decode-mp3/meta.js +143 -0
  64. package/node_modules/@audio/decode-mp3/package.json +50 -0
  65. package/node_modules/@audio/decode-opus/LICENSE +25 -0
  66. package/node_modules/@audio/decode-opus/README.md +23 -0
  67. package/node_modules/@audio/decode-opus/decode-opus.d.ts +16 -0
  68. package/node_modules/@audio/decode-opus/decode-opus.js +3179 -0
  69. package/node_modules/@audio/decode-opus/package.json +47 -0
  70. package/node_modules/@audio/decode-qoa/LICENSE +25 -0
  71. package/node_modules/@audio/decode-qoa/README.md +21 -0
  72. package/node_modules/@audio/decode-qoa/decode-qoa.d.ts +16 -0
  73. package/node_modules/@audio/decode-qoa/decode-qoa.js +278 -0
  74. package/node_modules/@audio/decode-qoa/package.json +46 -0
  75. package/node_modules/@audio/decode-vorbis/LICENSE +25 -0
  76. package/node_modules/@audio/decode-vorbis/README.md +23 -0
  77. package/node_modules/@audio/decode-vorbis/decode-vorbis.d.ts +16 -0
  78. package/node_modules/@audio/decode-vorbis/decode-vorbis.js +2984 -0
  79. package/node_modules/@audio/decode-vorbis/package.json +47 -0
  80. package/node_modules/@audio/decode-wav/decode-wav.js +104 -0
  81. package/node_modules/@audio/decode-wav/meta.js +114 -0
  82. package/node_modules/@audio/decode-wav/package.json +27 -0
  83. package/node_modules/@audio/decode-webm/LICENSE +21 -0
  84. package/node_modules/@audio/decode-webm/README.md +57 -0
  85. package/node_modules/@audio/decode-webm/decode-webm.d.ts +16 -0
  86. package/node_modules/@audio/decode-webm/decode-webm.js +3964 -0
  87. package/node_modules/@audio/decode-webm/package.json +51 -0
  88. package/node_modules/@audio/decode-wma/LICENSE +12 -0
  89. package/node_modules/@audio/decode-wma/README.md +76 -0
  90. package/node_modules/@audio/decode-wma/decode-wma.d.ts +33 -0
  91. package/node_modules/@audio/decode-wma/decode-wma.js +525 -0
  92. package/node_modules/@audio/decode-wma/package.json +47 -0
  93. package/node_modules/@audio/decode-wma/src/wma.wasm.cjs +0 -0
  94. package/node_modules/audio-decode/.claude/settings.json +204 -0
  95. package/node_modules/audio-decode/.github/workflows/test.js.yml +11 -20
  96. package/node_modules/audio-decode/.gitmodules +9 -0
  97. package/node_modules/audio-decode/audio-decode.d.ts +48 -10
  98. package/node_modules/audio-decode/audio-decode.js +193 -77
  99. package/node_modules/audio-decode/meta.js +11 -0
  100. package/node_modules/audio-decode/package.json +49 -21
  101. package/node_modules/audio-decode/readme.md +129 -29
  102. package/node_modules/audio-decode/stream.d.ts +15 -0
  103. package/node_modules/audio-decode/stream.js +1 -0
  104. package/node_modules/audio-decode/test.html +29 -10
  105. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +2 -2
  106. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
  107. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
  108. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +1 -1
  109. package/node_modules/lru-cache/dist/commonjs/index.d.ts +2 -2
  110. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
  111. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
  112. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +1 -1
  113. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +2 -2
  114. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
  115. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
  116. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +1 -1
  117. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +2 -2
  118. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
  119. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
  120. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +1 -1
  121. package/node_modules/lru-cache/dist/esm/index.d.ts +2 -2
  122. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
  123. package/node_modules/lru-cache/dist/esm/index.js.map +1 -1
  124. package/node_modules/lru-cache/dist/esm/index.min.js.map +1 -1
  125. package/node_modules/lru-cache/dist/esm/node/index.d.ts +2 -2
  126. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
  127. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
  128. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +1 -1
  129. package/node_modules/lru-cache/package.json +1 -1
  130. package/node_modules/typebox/build/type/script/mapping.d.mts +5 -2
  131. package/node_modules/typebox/build/type/script/mapping.mjs +15 -8
  132. package/node_modules/typebox/build/type/script/parser.d.mts +3 -1
  133. package/node_modules/typebox/build/type/script/parser.mjs +2 -1
  134. package/node_modules/typebox/package.json +29 -29
  135. package/npm-shrinkwrap.json +156 -39
  136. package/openclaw.plugin.json +76 -0
  137. package/package.json +6 -6
  138. package/node_modules/audio-buffer/.eslintrc.json +0 -44
  139. package/node_modules/audio-buffer/.github/workflows/node.js.yml +0 -31
  140. package/node_modules/audio-buffer/.travis.yml +0 -7
  141. package/node_modules/audio-buffer/index.js +0 -76
  142. package/node_modules/audio-buffer/package.json +0 -37
  143. package/node_modules/audio-buffer/readme.md +0 -56
  144. package/node_modules/audio-decode/.eslintrc.json +0 -43
  145. package/node_modules/audio-decode/.travis.yml +0 -13
  146. package/node_modules/audio-decode/tea.yaml +0 -6
  147. package/node_modules/audio-decode/test-case.js +0 -11
  148. package/node_modules/audio-decode/test.js +0 -107
  149. package/node_modules/node-wav/README.md +0 -35
  150. package/node_modules/node-wav/file.wav +0 -0
  151. package/node_modules/node-wav/index.js +0 -291
  152. package/node_modules/node-wav/package.json +0 -29
  153. package/node_modules/node-wav/tests/file1.wav +0 -0
  154. package/node_modules/node-wav/tests/test.js +0 -66
  155. package/node_modules/node-wav/x.js +0 -12
  156. package/node_modules/node-wav/x.json +0 -86702
  157. package/node_modules/node-wav/x.js~ +0 -13
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@audio/decode-wma",
3
+ "version": "1.1.2",
4
+ "description": "Decode WMA audio via RockBox WASM",
5
+ "type": "module",
6
+ "main": "decode-wma.js",
7
+ "types": "decode-wma.d.ts",
8
+ "exports": {
9
+ ".": "./decode-wma.js",
10
+ "./package.json": "./package.json"
11
+ },
12
+ "files": [
13
+ "decode-wma.js",
14
+ "decode-wma.d.ts",
15
+ "src/wma.wasm.cjs",
16
+ "LICENSE"
17
+ ],
18
+ "scripts": {
19
+ "build": "bash build.sh",
20
+ "prepack": "npm run build",
21
+ "test": "node test.js"
22
+ },
23
+ "keywords": [
24
+ "wma",
25
+ "windows-media-audio",
26
+ "asf",
27
+ "audio",
28
+ "decode",
29
+ "decoder",
30
+ "wasm",
31
+ "rockbox"
32
+ ],
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "license": "GPL-2.0-or-later",
37
+ "author": "audiojs",
38
+ "homepage": "https://github.com/audiojs/decode-wma#readme",
39
+ "bugs": "https://github.com/audiojs/decode-wma/issues",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/audiojs/decode-wma.git"
43
+ },
44
+ "engines": {
45
+ "node": ">=16"
46
+ }
47
+ }
@@ -0,0 +1,204 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npm outdated:*)",
5
+ "Bash(node test.js)",
6
+ "Bash(npm ls:*)",
7
+ "Bash(npm view:*)",
8
+ "Bash(npm install:*)",
9
+ "Bash(node -e \"import\\(''tst''\\).then\\(m => console.log\\(Object.keys\\(m\\)\\)\\)\")",
10
+ "Bash(node -e \"import mp3 from ''audio-lena/mp3.js''; console.log\\(mp3.constructor.name, mp3.byteLength\\)\")",
11
+ "Bash(node -e :*)",
12
+ "Bash(node -e \":*)",
13
+ "WebFetch(domain:www.npmjs.com)",
14
+ "WebSearch",
15
+ "Bash(gh api:*)",
16
+ "Bash(gh search:*)",
17
+ "WebFetch(domain:en.wikipedia.org)",
18
+ "WebFetch(domain:code.google.com)",
19
+ "Bash(emcc --version)",
20
+ "Read(//Users/div/projects/**)",
21
+ "Bash(brew info:*)",
22
+ "Bash(brew upgrade:*)",
23
+ "Bash(chmod +x ~/projects/aac-decode/build.sh)",
24
+ "Read(//Users/div/**)",
25
+ "Bash(brew list:*)",
26
+ "Read(//opt/homebrew/bin/**)",
27
+ "Read(//usr/local/bin/**)",
28
+ "Read(//dev/**)",
29
+ "Read(//Users/div/projects/audio-type/**)",
30
+ "Bash(ls /Users/div/projects/audio-type/fixture.*)",
31
+ "Read(//opt/homebrew/Cellar/emscripten/5.0.3/bin/**)",
32
+ "Read(//opt/homebrew/Cellar/emscripten/5.0.3/libexec/**)",
33
+ "Bash(EMSDK_PYTHON=/opt/homebrew/opt/python@3.14/bin/python3.14 emcc --version)",
34
+ "Bash(/opt/homebrew/Cellar/emscripten/5.0.3/libexec/llvm/bin/clang --version)",
35
+ "Bash(bash build.sh)",
36
+ "Bash(node --input-type=module -e \":*)",
37
+ "Bash(node --input-type=module:*)",
38
+ "Bash(find /Users/div/projects/aac-decode -type f -name *.md -o -name *.txt -o -name README*)",
39
+ "Bash(find /Users/div/projects -maxdepth 2 -name package.json -path *decode* -o -path *audio*)",
40
+ "Bash(/opt/homebrew/bin/emcc --version)",
41
+ "Bash(ffmpeg -version)",
42
+ "Bash(chmod +x /Users/div/projects/@audiojs/wma-decode/build.sh)",
43
+ "Bash(curl -L \"https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.6.tar.gz/download\" -o opencore-amr.tar.gz --max-time 30)",
44
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -f lavfi -i \"color=c=black:s=2x2:d=1\" -c:a libopus -b:a 64k -c:v libvpx -b:v 100k fixtures/video-audio.webm -y)",
45
+ "Bash(tar xf:*)",
46
+ "Bash(mv opencore-amr-0.1.6 opencore-amr)",
47
+ "Bash(rm opencore-amr.tar.gz)",
48
+ "Read(//Users/div/projects/audio-decode/**)",
49
+ "Bash(chmod +x /Users/div/projects/@audiojs/amr-decode/build.sh)",
50
+ "Bash(ffmpeg -encoders)",
51
+ "Bash(ffmpeg -codecs)",
52
+ "Bash(wc -l /Users/div/projects/@audiojs/wma-decode/*.js /Users/div/projects/@audiojs/wma-decode/*.d.ts /Users/div/projects/aac-decode/*.js /Users/div/projects/aac-decode/*.d.ts)",
53
+ "Bash(git -C /Users/div/projects/aac-decode log --oneline -5 lib/faad2)",
54
+ "Bash(git -C /Users/div/projects/@audiojs/amr-decode log --oneline -5 lib/opencore-amr)",
55
+ "Bash(ls -la /Users/div/projects/@audiojs/wma-decode/README*)",
56
+ "Bash(find /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr -name *.cpp -o -name *.c -o -name *.h)",
57
+ "Bash(wc -l /Users/div/projects/@audiojs/*/test.js)",
58
+ "Bash(wc -l /Users/div/projects/@audiojs/*/*.js /Users/div/projects/@audiojs/*/*.d.ts)",
59
+ "Bash(file /Users/div/projects/audio-type/fixture.*)",
60
+ "Bash(file /Users/div/projects/audio-lena/lena.*)",
61
+ "Bash(ffmpeg -formats)",
62
+ "Bash(ls /Users/div/projects/audio-lena/lena.*)",
63
+ "Bash(ffmpeg -i lena.wav -f caf -c:a pcm_s16le lena.caf -y)",
64
+ "Bash(ffmpeg -i lena.wav -c:a libopus -b:a 96k lena.webm -y)",
65
+ "Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a libopencore_amrnb -b:a 12.2k lena.amr -y)",
66
+ "Bash(ffmpeg -i lena.wav -c:a wmav2 -b:a 128k lena.wma -y)",
67
+ "Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a pcm_alaw lena-alaw.aiff -y)",
68
+ "Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -c:a pcm_mulaw lena-ulaw.aiff -y)",
69
+ "Bash(ffmpeg -i lena.wav -c:a pcm_s24be lena-24.aiff -y)",
70
+ "Bash(ffmpeg -i lena.wav -c:a pcm_s32be lena-32.aiff -y)",
71
+ "Bash(ffmpeg -i lena.wav -f caf -c:a pcm_f32le lena-f32.caf -y)",
72
+ "Bash(ffmpeg -i lena.wav -ar 8000 -ac 1 -f caf -c:a pcm_alaw lena-alaw.caf -y)",
73
+ "Bash(ls /Users/div/projects/audio-lena/lena*.aiff /Users/div/projects/audio-lena/lena.wav)",
74
+ "Bash(ls /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr/opencore/codecs_v2/audio/gsm_amr/amr_nb/enc/src/*.h)",
75
+ "Bash(for py:*)",
76
+ "Bash(do which:*)",
77
+ "Bash($py --version)",
78
+ "Bash(ffprobe -v error -show_entries stream=channels,sample_rate,codec_name -of default=noprint_wrappers=1 /Users/div/projects/audio-lena/lena.webm)",
79
+ "Bash(ls /Users/div/projects/@audiojs/amr-decode/lib/opencore-amr/amrnb/interf_enc.*)",
80
+ "Bash(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1 /Users/div/projects/audio-lena/lena.webm)",
81
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 /opt/homebrew/bin/emcc --version)",
82
+ "Bash(node -e:*)",
83
+ "Bash(rm -f configure configure.ac ltmain.sh install-sh missing depcomp compile config.guess config.sub aclocal.m4 Makefile.am Makefile.in)",
84
+ "Bash(rm -rf autom4te.cache m4)",
85
+ "Bash(./configure --help)",
86
+ "Bash(xxd -l 16 /Users/div/projects/audio-type/fixture.amr)",
87
+ "Bash(ffprobe /Users/div/projects/audio-lena/lena.wma)",
88
+ "Bash(FFMPEG=lib/ffmpeg)",
89
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O3 -flto -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o src/wma.wasm.cjs)",
90
+ "Bash(ffmpeg -i /Users/div/projects/audio-lena/lena.wma -f f32le -acodec pcm_f32le -ac 1 -)",
91
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O0 -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=2 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_debug.cjs)",
92
+ "Bash(rm -f config.h)",
93
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emconfigure ./configure --cc=emcc --cxx=em++ --ar=emar --ranlib=emranlib --enable-cross-compile --target-os=none --arch=x86 --disable-runtime-cpudetect --disable-asm --disable-inline-asm --disable-programs --disable-doc --disable-debug --disable-network --disable-everything --enable-decoder=wmav1 --enable-decoder=wmav2 --disable-pthreads --disable-avformat --disable-avfilter --disable-swresample --disable-swscale --disable-avdevice --extra-cflags=\"-O0\")",
94
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emmake make -C lib/ffmpeg -j14 libavutil/libavutil.a libavcodec/libavcodec.a)",
95
+ "Bash(EMSDK_PYTHON=/opt/homebrew/bin/python3.13 emcc src/wma_glue.c -I $FFMPEG $FFMPEG/libavcodec/libavcodec.a $FFMPEG/libavutil/libavutil.a -O0 -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_O0.cjs)",
96
+ "Bash(sed -i '' 's/var fs=require\\(\"\"node:fs\"\"\\);/var _nfs=\"\"node:\"\"+\"\"fs\"\";var fs=require\\(_nfs\\);/' /tmp/wma_O0.cjs)",
97
+ "Bash(printf '\\\\nif\\(typeof module!==\"\"undefined\"\"\\)module.exports=createWMA;\\\\n')",
98
+ "Bash(ls /Users/div/projects/@audiojs/wma-decode/lib/ffmpeg/libavformat/asf*)",
99
+ "Bash(ffprobe -show_packets -select_streams a /Users/div/projects/audio-lena/lena.wma)",
100
+ "WebFetch(domain:api.github.com)",
101
+ "WebFetch(domain:raw.githubusercontent.com)",
102
+ "Bash(chmod +x /Users/div/projects/@audiojs/wma-decode/build-rockbox.sh)",
103
+ "Bash(bash build-rockbox.sh)",
104
+ "Bash(ls -la /Users/div/projects/@audiojs/wma-decode/build*.sh)",
105
+ "Bash(/opt/homebrew/bin/emcc src/wma_glue.c -I lib/ffmpeg lib/ffmpeg/libavcodec/libavcodec.a lib/ffmpeg/libavutil/libavutil.a -O3 -flto -s WASM=1 -s STANDALONE_WASM=0 -s EXPORTED_FUNCTIONS='[\"\"_wma_create\"\",\"\"_wma_decode\"\",\"\"_wma_close\"\",\"\"_wma_samples\"\",\"\"_wma_channels\"\",\"\"_wma_samplerate\"\",\"\"_wma_free_buf\"\",\"\"_malloc\"\",\"\"_free\"\"]' -s EXPORTED_RUNTIME_METHODS='[\"\"HEAPU8\"\",\"\"HEAPF32\"\",\"\"getValue\"\"]' -s ALLOW_MEMORY_GROWTH=1 -s INITIAL_MEMORY=4194304 -s MAXIMUM_MEMORY=134217728 -s MODULARIZE=1 -s EXPORT_NAME=createWMA -s ENVIRONMENT='web,node' -s FILESYSTEM=0 -s ASSERTIONS=0 -s MALLOC=emmalloc -s SINGLE_FILE=1 --no-entry -o /tmp/wma_ffmpeg.wasm.cjs)",
106
+ "Bash(export EMSDK_PYTHON=/opt/homebrew/bin/python3.13)",
107
+ "Bash(mv src/wma_glue.c src/wma_glue_ffmpeg.c)",
108
+ "Bash(mv src/wma_glue_rockbox.c src/wma_glue.c)",
109
+ "Bash(mv build.sh build-ffmpeg.sh)",
110
+ "Bash(mv build-rockbox.sh build.sh)",
111
+ "Bash(ls -la /Users/div/projects/@audiojs/wma-decode/src/ /Users/div/projects/@audiojs/wma-decode/build*.sh)",
112
+ "Bash(ls /Users/div/projects/@audiojs/*/README.md)",
113
+ "Bash(ls /Users/div/projects/@audiojs/*/.gitignore)",
114
+ "Bash(curl -s \"https://registry.npmjs.org/-/search?text=vorbis+decoder&size=20\")",
115
+ "WebFetch(domain:xiph.org)",
116
+ "Bash(ffmpeg -i /Users/div/projects/audio-lena/lena.wav -c:a libvorbis -b:a 96k /Users/div/projects/audio-lena/lena-vorbis.webm -y)",
117
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a libvorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
118
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -f lavfi -i \"sine=frequency=880:duration=1\" -filter_complex \"[0:a][1:a]amerge=inputs=2\" -c:a libvorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-stereo.webm -y)",
119
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
120
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -strict -2 -b:a 96k /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
121
+ "Bash(ffmpeg -f lavfi -i \"sine=frequency=440:duration=1\" -c:a vorbis -strict experimental /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
122
+ "Bash(brew install:*)",
123
+ "Bash(oggenc -q 3 -o /tmp/sine_mono.ogg /tmp/sine_mono.wav)",
124
+ "Bash(ffmpeg -i /tmp/sine_mono.ogg -c:a copy /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm -y)",
125
+ "Bash(ffprobe /Users/div/projects/@audiojs/webm-decode/fixtures/vorbis-mono.webm)",
126
+ "Bash(ln -sf /Users/div/projects/aac-decode node_modules/@audio/aac-decode)",
127
+ "Bash(ln -sf /Users/div/projects/@audiojs/aiff-decode node_modules/@audio/aiff-decode)",
128
+ "Bash(ln -sf /Users/div/projects/@audiojs/caf-decode node_modules/@audio/caf-decode)",
129
+ "Bash(ln -sf /Users/div/projects/@audiojs/webm-decode node_modules/@audio/webm-decode)",
130
+ "Bash(ln -sf /Users/div/projects/@audiojs/amr-decode node_modules/@audio/amr-decode)",
131
+ "Bash(ln -sf /Users/div/projects/@audiojs/wma-decode node_modules/@audio/wma-decode)",
132
+ "Bash(ffprobe -hide_banner /Users/div/projects/audio-decode/fixtures/hk.m4a)",
133
+ "Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-24-dwvw.aiff)",
134
+ "Bash(ls -d /Users/div/projects/*aac*)",
135
+ "Bash(find /Users/div/projects -maxdepth 3 -name aac* -type f)",
136
+ "Bash(ln -sf /Users/div/projects/@audiojs/aac-decode node_modules/@audio/aac-decode)",
137
+ "Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-gsm.aiff)",
138
+ "Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-u.aiff)",
139
+ "Bash(ffprobe -hide_banner /Users/div/projects/audio-lena/audacity/lena-a.aiff)",
140
+ "Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/decode.c -o gsm_decode.c)",
141
+ "Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/rpe.c -o gsm_rpe.c)",
142
+ "Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/short_term.c -o gsm_short_term.c)",
143
+ "Bash(curl -sL https://raw.githubusercontent.com/nicfit/libgsm/master/src/long_term.c -o gsm_long_term.c)",
144
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/decode.c -o gsm_decode.c)",
145
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/rpe.c -o gsm_rpe.c)",
146
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/short_term.c -o gsm_short_term.c)",
147
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/long_term.c -o gsm_long_term.c)",
148
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/private.h -o gsm_private.h)",
149
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/table.c -o gsm_table.c)",
150
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/inc/private.h -o gsm_private.h)",
151
+ "Bash(curl -sL https://raw.githubusercontent.com/timothytylee/libgsm/master/src/add.c -o gsm_add.c)",
152
+ "Bash(ffmpeg -i /Users/div/projects/audio-lena/audacity/lena-gsm.aiff -f f32le -acodec pcm_f32le -ac 1 -)",
153
+ "Bash(ls gsm_*.c)",
154
+ "Bash(cc -o gsm_test gsm_test.c -w)",
155
+ "Bash(./gsm_test)",
156
+ "Bash(ffmpeg -i /Users/div/projects/audio-lena/audacity/lena-gsm.aiff -f s16le -acodec pcm_s16le -ac 1 -)",
157
+ "Bash(npx playwright:*)",
158
+ "Bash(node test.browser.js)",
159
+ "Bash(npm list:*)",
160
+ "Read(//opt/homebrew/lib/node_modules/**)",
161
+ "Bash(npm root:*)",
162
+ "Bash(grep '\"\"version\"\"' package.json)",
163
+ "Bash(grep -c '\"\"aac-decode\"\"' package-lock.json)",
164
+ "Bash(grep -c '\"\"@audio/aac-decode\"\"' package-lock.json)",
165
+ "Bash(ls /Users/div/projects/audio-decode/*.m4a)",
166
+ "Bash(ffprobe -hide_banner \"/Users/div/projects/audio-decode/a pradyumna as always.m4a\")",
167
+ "Bash(ln -s /Users/div/projects/@audiojs/aac-decode node_modules/@audio/aac-decode)",
168
+ "Bash(ln -s /Users/div/projects/@audiojs/aac-decode /Users/div/projects/audio-decode/node_modules/@audio/aac-decode)",
169
+ "Bash(ls *.js *.md)",
170
+ "Bash(ls -d /Users/div/projects/@audiojs/*-decode)",
171
+ "Bash(for pkg:*)",
172
+ "Bash(rsync -a --exclude='.git' --exclude='node_modules' --exclude='lib' --exclude='package-lock.json' \"/Users/div/projects/@audiojs/$pkg/\" \"/Users/div/projects/audio-decode/packages/$pkg/\")",
173
+ "Bash(echo \"copied $pkg\")",
174
+ "Bash(do echo:*)",
175
+ "Bash(grep -rn 'audio-lena' /Users/div/projects/audio-decode/packages/*/test.js)",
176
+ "Bash(for f:*)",
177
+ "Bash(sed -i '' 's|../../audio-lena/|../../../audio-lena/|g' \"$f\")",
178
+ "Bash(grep -rn '../../../audio-lena/' /Users/div/projects/audio-decode/packages/*/test.js)",
179
+ "Bash(node -e \"import.meta.resolve\\(''audio-lena''\\)\")",
180
+ "Bash(node -e \"console.log\\(import.meta.resolve\\(''audio-lena''\\)\\)\")",
181
+ "Bash(grep -rn \"import.meta.resolve\\(''''audio-lena''''\\)\" /Users/div/projects/audio-decode/packages/*/test.js)",
182
+ "Bash(sed -i '' \"s|new URL\\(''./fixtures/\\\\\\(.*\\\\\\)'', import.meta.resolve\\(''audio-lena''\\)\\)|new URL\\(''./fixtures/\\\\1'', import.meta.url\\)|g\" \"$f\")",
183
+ "Bash(sed -i '' \"s|new URL\\(''./fixtures/'', import.meta.resolve\\(''audio-lena''\\)\\)|new URL\\(''./fixtures/'', import.meta.url\\)|g\" \"$f\")",
184
+ "Bash(echo \"=== $pkg ===\")",
185
+ "Read(//Users/div/projects/audio-decode/packages/$pkg/**)",
186
+ "Bash(ls /Users/div/projects/audio-decode/packages/amr-decode/src/*.cjs /Users/div/projects/audio-decode/packages/wma-decode/src/*.cjs)",
187
+ "Bash(node /tmp/reproduce-aac.mjs)",
188
+ "Bash(npm whoami *)",
189
+ "Bash(npm publish *)",
190
+ "Bash(file fixtures/*.m4a)",
191
+ "Bash(xxd fixtures/hk.m4a)",
192
+ "Bash(node /Users/div/projects/audio-decode/packages/decode-aac/test.js)",
193
+ "Bash(node /Users/div/projects/audio-decode/test.js)"
194
+ ],
195
+ "additionalDirectories": [
196
+ "/Users/div/projects/aac-decode/src",
197
+ "/Users/div/projects/aac-decode",
198
+ "/Users/div/projects/audio-type",
199
+ "/Users/div",
200
+ "/Users/div/projects/audio-decode",
201
+ "/Users/div/projects/audio-decode/packages/*"
202
+ ]
203
+ }
204
+ }
@@ -1,31 +1,22 @@
1
- # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2
- # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
3
-
4
1
  name: test
5
2
 
6
3
  on:
7
4
  push:
8
- branches: [ "master" ]
5
+ branches: [master]
9
6
  pull_request:
10
- branches: [ "master" ]
7
+ branches: [master]
11
8
 
12
9
  jobs:
13
- build:
14
-
10
+ test:
15
11
  runs-on: ubuntu-latest
16
-
17
12
  strategy:
18
13
  matrix:
19
- node-version: [14.x, 16.x, 18.x]
20
- # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
21
-
14
+ node-version: [20.x, 22.x]
22
15
  steps:
23
- - uses: actions/checkout@v3
24
- - name: Use Node.js ${{ matrix.node-version }}
25
- uses: actions/setup-node@v3
26
- with:
27
- node-version: ${{ matrix.node-version }}
28
- cache: 'npm'
29
- - run: npm ci
30
- - run: npm run build --if-present
31
- - run: npm test
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-node@v4
18
+ with:
19
+ node-version: ${{ matrix.node-version }}
20
+ cache: npm
21
+ - run: npm ci
22
+ - run: npm test
@@ -0,0 +1,9 @@
1
+ [submodule "packages/decode-aac/lib/faad2"]
2
+ path = packages/decode-aac/lib/faad2
3
+ url = https://github.com/knik0/faad2.git
4
+ [submodule "packages/decode-wma/lib/rockbox-wma"]
5
+ path = packages/decode-wma/lib/rockbox-wma
6
+ url = https://github.com/xOpenLee/wmaDecode.git
7
+ [submodule "packages/decode-amr/lib/opencore-amr"]
8
+ path = packages/decode-amr/lib/opencore-amr
9
+ url = https://git.code.sf.net/p/opencore-amr/code
@@ -1,14 +1,52 @@
1
- // audio-decode.d.ts
1
+ export interface AudioData {
2
+ channelData: Float32Array[];
3
+ sampleRate: number;
4
+ }
5
+
6
+ export interface StreamDecoder {
7
+ /** Feed a chunk of encoded audio data, or call empty to flush + free. */
8
+ (chunk?: Uint8Array): Promise<AudioData>;
9
+ /** Flush without freeing. */
10
+ flush(): Promise<AudioData>;
11
+ /** Free resources without flushing. */
12
+ free(): void;
13
+ }
2
14
 
3
- export default function audioDecode(buf: ArrayBuffer | Uint8Array): Promise<AudioBuffer>;
15
+ type Format = 'mp3' | 'flac' | 'opus' | 'oga' | 'm4a' | 'wav' | 'qoa' | 'aac' | 'aiff' | 'caf' | 'webm' | 'amr' | 'wma';
4
16
 
5
- export interface Decoders {
6
- oga: (buf: Uint8Array) => Promise<AudioBuffer>;
7
- mp3: (buf: Uint8Array) => Promise<AudioBuffer>;
8
- flac: (buf: Uint8Array) => Promise<AudioBuffer>;
9
- opus: (buf: Uint8Array) => Promise<AudioBuffer>;
10
- wav: (buf: Uint8Array) => Promise<AudioBuffer>;
11
- qoa: (buf: Uint8Array) => Promise<AudioBuffer>;
17
+ interface FormatDecoder {
18
+ /** Create a decoder instance. */
19
+ (): Promise<StreamDecoder>;
12
20
  }
13
21
 
14
- export const decoders: Decoders;
22
+ /** Whole-file decode: auto-detects format. */
23
+ declare function decode(buf: ArrayBuffer | Uint8Array): Promise<AudioData>;
24
+ /** Chunked decode from stream or async iterable. */
25
+ declare function decode(
26
+ source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>,
27
+ format: Format
28
+ ): AsyncGenerator<AudioData>;
29
+
30
+ declare namespace decode {
31
+ export const mp3: FormatDecoder;
32
+ export const flac: FormatDecoder;
33
+ export const opus: FormatDecoder;
34
+ export const oga: FormatDecoder;
35
+ export const m4a: FormatDecoder;
36
+ export const wav: FormatDecoder;
37
+ export const qoa: FormatDecoder;
38
+ export const aac: FormatDecoder;
39
+ export const aiff: FormatDecoder;
40
+ export const caf: FormatDecoder;
41
+ export const webm: FormatDecoder;
42
+ export const amr: FormatDecoder;
43
+ export const wma: FormatDecoder;
44
+ }
45
+
46
+ export default decode;
47
+
48
+ /** Chunked decode from stream or async iterable. */
49
+ export function decodeChunked(
50
+ source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>,
51
+ format: Format
52
+ ): AsyncGenerator<AudioData>;