arcane-os 0.36.0 → 0.36.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.36.1
4
+
5
+ - Infer ordinary audio MIME types from mp3, wav, ogg, oga, opus, aac, m4a,
6
+ flac and weba filenames when stored files have no supplied MIME metadata.
7
+ Native file previews can select audio controls without decoding audio as text.
8
+ - Preserve supplied MIME types, existing non-audio classification, the original
9
+ file and complete payload. An untyped webm remains ambiguous and retains its
10
+ ordinary download behavior. No stored files are rewritten.
11
+
3
12
  ## 0.36.0
4
13
 
5
14
  - Add optional continuous microphone capture to `voice-transcription` through
package/README.md CHANGED
@@ -19,7 +19,7 @@ version-locked SDK runtime, while an integrated Arcane checkout uses its live
19
19
  `arcane/` runtime. Both profiles share the theme, packaging, event, cancellation,
20
20
  and browser run contracts while retaining their selected application layout.
21
21
 
22
- This checkout defines the `0.36.0` SDK contract. Applications pin one exact npm
22
+ This checkout defines the `0.36.1` SDK contract. Applications pin one exact npm
23
23
  version and lockfile; registry state is deliberately not baked into application
24
24
  artifacts.
25
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arcane-os",
3
- "version": "0.36.0",
3
+ "version": "0.36.1",
4
4
  "description": "Arcane OS JavaScript SDK, project-local CLI, browser runtime, and repository-portable application packager.",
5
5
  "type": "module",
6
6
  "main": "./src/index.mjs",
@@ -80,8 +80,22 @@ class FileEntity {
80
80
  (this.fileName.lastIndexOf('.')+1)
81
81
  ).toLowerCase();
82
82
 
83
+ // Storage may omit MIME metadata; preserve a supplied type before inferring audio.
84
+ const audioMimeTypes={
85
+ "mp3": "audio/mpeg",
86
+ "wav": "audio/wav",
87
+ "ogg": "audio/ogg",
88
+ "oga": "audio/ogg",
89
+ "opus": "audio/ogg",
90
+ "aac": "audio/aac",
91
+ "m4a": "audio/mp4",
92
+ "flac": "audio/flac",
93
+ "weba": "audio/webm"
94
+ };
95
+
83
96
  const mime=mimeTypes[file.ext]||
84
97
  file.type||
98
+ audioMimeTypes[file.ext]||
85
99
  'application/octet-stream';
86
100
 
87
101
  file.mime=mime;