valenceai 1.0.5 → 1.0.6

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
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.6] - 2026-02-17
9
+
10
+ ### Fixed
11
+ - **S3 Upload SignatureDoesNotMatch**: Fixed async multipart uploads failing with 403 errors from S3. Axios was automatically adding `Content-Type: application/x-www-form-urlencoded` to Buffer payloads, which invalidated the presigned URL signature. Added explicit empty `Content-Type` header to S3 PUT requests in both `valenceClient.js` and `asyncAudio.js`.
12
+
8
13
  ## [1.0.3] - 2025-01-28
9
14
 
10
15
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valenceai",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "type": "module",
5
5
  "main": "src/index.js",
6
6
  "description": "Node.js SDK for Valence AI Emotion Detection API - Real-time, Async, and Streaming Support",
package/src/asyncAudio.js CHANGED
@@ -63,7 +63,7 @@ export async function uploadAsyncAudio(filePath, partSize = 5 * 1024 * 1024, max
63
63
  log(`Uploading part ${index + 1}/${partCount}`, 'debug');
64
64
 
65
65
  const res = await axios.put(url, chunk, {
66
- headers: { 'Content-Length': chunk.length },
66
+ headers: { 'Content-Type': '', 'Content-Length': chunk.length },
67
67
  timeout: 60000 // 1 minute timeout for each part
68
68
  });
69
69
 
@@ -258,7 +258,7 @@ class AsyncClient {
258
258
  log(`Uploading part ${index + 1}/${partCount}`, 'debug');
259
259
 
260
260
  const res = await axios.put(url, chunk, {
261
- headers: { 'Content-Length': chunk.length },
261
+ headers: { 'Content-Type': '', 'Content-Length': chunk.length },
262
262
  timeout: 60000 // 1 minute timeout for each part
263
263
  });
264
264