@h-ear/core 0.1.0 → 0.1.2
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/dist/api-client.d.ts +9 -1
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +116 -49
- package/dist/api-client.js.map +1 -1
- package/dist/chunker.d.ts +5 -2
- package/dist/chunker.d.ts.map +1 -1
- package/dist/chunker.js +23 -34
- package/dist/chunker.js.map +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +7 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -2
package/dist/api-client.d.ts
CHANGED
|
@@ -37,7 +37,9 @@ export declare class HearApiClient {
|
|
|
37
37
|
}): Promise<AsyncAccepted>;
|
|
38
38
|
/**
|
|
39
39
|
* Submit a large audio file in chunks via multipart/form-data.
|
|
40
|
-
* Each chunk is sent sequentially
|
|
40
|
+
* Each chunk is sent sequentially with per-chunk retry on transient failure.
|
|
41
|
+
* The server supports resume: same uploadSessionId + same chunkIndex is idempotent.
|
|
42
|
+
* The last chunk sets isFinal=true to trigger job creation.
|
|
41
43
|
* Returns the async job accepted response from the final chunk.
|
|
42
44
|
*/
|
|
43
45
|
submitClassifyChunked(chunks: Array<{
|
|
@@ -55,6 +57,12 @@ export declare class HearApiClient {
|
|
|
55
57
|
/**
|
|
56
58
|
* Poll job status until complete or failed.
|
|
57
59
|
* Returns full classification results.
|
|
60
|
+
*
|
|
61
|
+
* Resilience:
|
|
62
|
+
* - Exponential backoff: 3s -> 5s (after 10 attempts) -> 10s (after 20 attempts)
|
|
63
|
+
* - 429 (rate limited): respects Retry-After header, does not count toward timeout
|
|
64
|
+
* - 401 (auth expired): throws AUTH_EXPIRED with actionable jobId for later retrieval
|
|
65
|
+
* - 404 (eventual consistency): keeps polling silently
|
|
58
66
|
*/
|
|
59
67
|
pollJob(jobId: string, onProgress?: ProgressCallback): Promise<ClassifyResult>;
|
|
60
68
|
/**
|
package/dist/api-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EACR,eAAe,EAAE,cAAc,EAAE,aAAa,EAC9C,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,YAAY,EAC3B,WAAW,EAAE,UAAU,EAAE,SAAS,EAClC,eAAe,EAAE,aAAa,EACjC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/api-client.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { apiUrl } from './config.js';
|
|
6
6
|
import { HEAR_API } from './constants.js';
|
|
7
|
+
import { createHash } from 'crypto';
|
|
7
8
|
export class HearApiError extends Error {
|
|
8
9
|
status;
|
|
9
10
|
code;
|
|
@@ -56,7 +57,7 @@ export class HearApiClient {
|
|
|
56
57
|
const url = apiUrl(this.config, '/v1/classify');
|
|
57
58
|
const asyncParams = {
|
|
58
59
|
...params,
|
|
59
|
-
callbackUrl: HEAR_API.NOOP_CALLBACK_URL,
|
|
60
|
+
callbackUrl: params.callbackUrl ?? HEAR_API.NOOP_CALLBACK_URL,
|
|
60
61
|
};
|
|
61
62
|
const response = await fetch(url, {
|
|
62
63
|
method: 'POST',
|
|
@@ -106,69 +107,109 @@ export class HearApiClient {
|
|
|
106
107
|
}
|
|
107
108
|
/**
|
|
108
109
|
* Submit a large audio file in chunks via multipart/form-data.
|
|
109
|
-
* Each chunk is sent sequentially
|
|
110
|
+
* Each chunk is sent sequentially with per-chunk retry on transient failure.
|
|
111
|
+
* The server supports resume: same uploadSessionId + same chunkIndex is idempotent.
|
|
112
|
+
* The last chunk sets isFinal=true to trigger job creation.
|
|
110
113
|
* Returns the async job accepted response from the final chunk.
|
|
111
114
|
*/
|
|
112
115
|
async submitClassifyChunked(chunks, fileName, options, onProgress) {
|
|
113
116
|
const url = apiUrl(this.config, '/v1/classify');
|
|
114
117
|
let uploadSessionId;
|
|
118
|
+
let serverChunksReceived = 0;
|
|
115
119
|
for (let i = 0; i < chunks.length; i++) {
|
|
116
120
|
const chunk = chunks[i];
|
|
117
121
|
const isLast = i === chunks.length - 1;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
formData.append('isFinal', 'true');
|
|
126
|
-
}
|
|
127
|
-
// First chunk carries classify options
|
|
128
|
-
if (i === 0) {
|
|
129
|
-
if (options?.threshold) {
|
|
130
|
-
formData.append('threshold', String(options.threshold));
|
|
122
|
+
// Per-chunk retry loop (server stageBlock is idempotent for same blockId)
|
|
123
|
+
let lastError;
|
|
124
|
+
for (let attempt = 0; attempt <= HEAR_API.CHUNK_RETRY_MAX; attempt++) {
|
|
125
|
+
if (attempt > 0) {
|
|
126
|
+
const delayMs = HEAR_API.CHUNK_RETRY_DELAY_MS * Math.pow(2, attempt - 1);
|
|
127
|
+
onProgress?.(`Retrying chunk ${chunk.index} (attempt ${attempt + 1}/${HEAR_API.CHUNK_RETRY_MAX + 1}) after ${delayMs / 1000}s...`);
|
|
128
|
+
await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
131
129
|
}
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
const formData = new FormData();
|
|
131
|
+
formData.append('audio', new Blob([chunk.buffer]), fileName);
|
|
132
|
+
if (uploadSessionId) {
|
|
133
|
+
formData.append('uploadSessionId', uploadSessionId);
|
|
134
134
|
}
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
formData.append('chunkIndex', String(chunk.index));
|
|
136
|
+
formData.append('contentMD5', createHash('md5').update(chunk.buffer).digest('hex'));
|
|
137
|
+
if (isLast) {
|
|
138
|
+
formData.append('isFinal', 'true');
|
|
137
139
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
+
// First chunk carries classify options
|
|
141
|
+
if (i === 0 && attempt === 0) {
|
|
142
|
+
if (options?.threshold) {
|
|
143
|
+
formData.append('threshold', String(options.threshold));
|
|
144
|
+
}
|
|
145
|
+
if (options?.modelId) {
|
|
146
|
+
formData.append('modelId', options.modelId);
|
|
147
|
+
}
|
|
148
|
+
if (options?.callbackUrl) {
|
|
149
|
+
formData.append('callbackUrl', options.callbackUrl);
|
|
150
|
+
}
|
|
151
|
+
if (options?.callbackSecret) {
|
|
152
|
+
formData.append('callbackSecret', options.callbackSecret);
|
|
153
|
+
}
|
|
154
|
+
if (options?.filterMinDurationSeconds) {
|
|
155
|
+
formData.append('filterMinDurationSeconds', String(options.filterMinDurationSeconds));
|
|
156
|
+
}
|
|
157
|
+
if (options?.latitude) {
|
|
158
|
+
formData.append('latitude', String(options.latitude));
|
|
159
|
+
}
|
|
160
|
+
if (options?.longitude) {
|
|
161
|
+
formData.append('longitude', String(options.longitude));
|
|
162
|
+
}
|
|
140
163
|
}
|
|
141
|
-
|
|
142
|
-
|
|
164
|
+
const headers = {};
|
|
165
|
+
if (this.config.bearerToken) {
|
|
166
|
+
headers['Authorization'] = `Bearer ${this.config.bearerToken}`;
|
|
143
167
|
}
|
|
144
|
-
if (
|
|
145
|
-
|
|
168
|
+
else if (this.config.apiKey) {
|
|
169
|
+
headers['X-NCM-Api-Key'] = this.config.apiKey;
|
|
146
170
|
}
|
|
147
|
-
|
|
148
|
-
|
|
171
|
+
let response;
|
|
172
|
+
try {
|
|
173
|
+
response = await fetch(url, {
|
|
174
|
+
method: 'POST',
|
|
175
|
+
headers,
|
|
176
|
+
body: formData,
|
|
177
|
+
signal: AbortSignal.timeout(60000),
|
|
178
|
+
});
|
|
149
179
|
}
|
|
180
|
+
catch (_fetchErr) {
|
|
181
|
+
lastError = new HearApiError(0, 'CHUNK_UPLOAD_NETWORK_ERROR', `Network error uploading chunk ${i + 1}/${chunks.length}${uploadSessionId ? ` (session ${uploadSessionId}, server confirmed ${serverChunksReceived} chunks). Resume is supported — retry with same session.` : ''}`);
|
|
182
|
+
continue; // retry
|
|
183
|
+
}
|
|
184
|
+
// 401 auth expired -- not retryable with same credentials
|
|
185
|
+
if (response.status === 401) {
|
|
186
|
+
throw new HearApiError(401, 'AUTH_EXPIRED', `Auth failed on chunk ${i + 1}/${chunks.length}${uploadSessionId ? ` (session ${uploadSessionId}, server confirmed ${serverChunksReceived} chunks). Session is still active for ~10 min — fix credentials and resume from chunk ${chunk.index}.` : ''}`, uploadSessionId);
|
|
187
|
+
}
|
|
188
|
+
// 429 rate limited -- retryable
|
|
189
|
+
if (response.status === 429) {
|
|
190
|
+
lastError = new HearApiError(429, 'RATE_LIMITED', `Rate limited on chunk ${i + 1}/${chunks.length}`);
|
|
191
|
+
continue; // retry
|
|
192
|
+
}
|
|
193
|
+
// Parse full ChunkResult (intermediate) or AsyncAccepted (final)
|
|
194
|
+
if (isLast) {
|
|
195
|
+
const result = await handleResponse(response);
|
|
196
|
+
onProgress?.(`Chunk ${chunk.index}/${chunks.length - 1} uploaded (final) — server confirmed ${serverChunksReceived + 1} chunks`);
|
|
197
|
+
// Prefer server-returned uploadSessionId; fall back to locally tracked one
|
|
198
|
+
return { ...result, uploadSessionId: result.uploadSessionId ?? uploadSessionId };
|
|
199
|
+
}
|
|
200
|
+
const result = await handleResponse(response);
|
|
201
|
+
// Capture session state from server
|
|
202
|
+
if (result.uploadSessionId) {
|
|
203
|
+
uploadSessionId = result.uploadSessionId;
|
|
204
|
+
}
|
|
205
|
+
serverChunksReceived = result.chunksReceived;
|
|
206
|
+
onProgress?.(`Chunk ${chunk.index}/${chunks.length - 1} uploaded (server confirmed ${result.chunksReceived} chunks, ${result.totalBytes} bytes)`);
|
|
207
|
+
lastError = undefined;
|
|
208
|
+
break; // success, move to next chunk
|
|
150
209
|
}
|
|
151
|
-
|
|
152
|
-
if (
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
const response = await fetch(url, {
|
|
156
|
-
method: 'POST',
|
|
157
|
-
headers,
|
|
158
|
-
body: formData,
|
|
159
|
-
signal: AbortSignal.timeout(60000),
|
|
160
|
-
});
|
|
161
|
-
const result = await handleResponse(response);
|
|
162
|
-
// First chunk returns the uploadSessionId
|
|
163
|
-
if (i === 0 && result.uploadSessionId) {
|
|
164
|
-
uploadSessionId = result.uploadSessionId;
|
|
165
|
-
}
|
|
166
|
-
if (onProgress) {
|
|
167
|
-
onProgress(`Chunk ${chunk.index}/${chunks.length - 1} uploaded${isLast ? ' (final)' : ''}`);
|
|
168
|
-
}
|
|
169
|
-
// Final chunk returns the async accepted response
|
|
170
|
-
if (isLast) {
|
|
171
|
-
return result;
|
|
210
|
+
// All retries exhausted for this chunk
|
|
211
|
+
if (lastError) {
|
|
212
|
+
throw lastError;
|
|
172
213
|
}
|
|
173
214
|
}
|
|
174
215
|
throw new Error('No chunks provided');
|
|
@@ -176,13 +217,25 @@ export class HearApiClient {
|
|
|
176
217
|
/**
|
|
177
218
|
* Poll job status until complete or failed.
|
|
178
219
|
* Returns full classification results.
|
|
220
|
+
*
|
|
221
|
+
* Resilience:
|
|
222
|
+
* - Exponential backoff: 3s -> 5s (after 10 attempts) -> 10s (after 20 attempts)
|
|
223
|
+
* - 429 (rate limited): respects Retry-After header, does not count toward timeout
|
|
224
|
+
* - 401 (auth expired): throws AUTH_EXPIRED with actionable jobId for later retrieval
|
|
225
|
+
* - 404 (eventual consistency): keeps polling silently
|
|
179
226
|
*/
|
|
180
227
|
async pollJob(jobId, onProgress) {
|
|
181
228
|
const startMs = Date.now();
|
|
182
229
|
const pollUrl = apiUrl(this.config, `/v1/jobs/${jobId}`);
|
|
183
230
|
let attempts = 0;
|
|
184
231
|
while (Date.now() - startMs < HEAR_API.POLL_TIMEOUT_MS) {
|
|
185
|
-
|
|
232
|
+
// Exponential backoff based on attempt count
|
|
233
|
+
const interval = attempts >= HEAR_API.POLL_BACKOFF_STEP_2
|
|
234
|
+
? HEAR_API.POLL_INTERVAL_STEP_2_MS
|
|
235
|
+
: attempts >= HEAR_API.POLL_BACKOFF_STEP_1
|
|
236
|
+
? HEAR_API.POLL_INTERVAL_STEP_1_MS
|
|
237
|
+
: HEAR_API.POLL_INTERVAL_MS;
|
|
238
|
+
await new Promise(resolve => setTimeout(resolve, interval));
|
|
186
239
|
attempts++;
|
|
187
240
|
const elapsedSec = ((Date.now() - startMs) / 1000).toFixed(0);
|
|
188
241
|
onProgress?.(`Polling job ${jobId}... (${elapsedSec}s, attempt ${attempts})`);
|
|
@@ -192,6 +245,20 @@ export class HearApiClient {
|
|
|
192
245
|
headers: this.headers(true),
|
|
193
246
|
signal: AbortSignal.timeout(10000),
|
|
194
247
|
});
|
|
248
|
+
// 429 rate limited -- respect Retry-After and continue without counting toward timeout
|
|
249
|
+
if (response.status === 429) {
|
|
250
|
+
const retryAfter = response.headers.get('Retry-After');
|
|
251
|
+
const delayMs = retryAfter
|
|
252
|
+
? parseInt(retryAfter, 10) * 1000 || HEAR_API.POLL_429_DEFAULT_RETRY_MS
|
|
253
|
+
: HEAR_API.POLL_429_DEFAULT_RETRY_MS;
|
|
254
|
+
onProgress?.(`Rate limited — retrying in ${delayMs / 1000}s`);
|
|
255
|
+
await new Promise(resolve => setTimeout(resolve, delayMs));
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
// 401 auth expired -- throw actionable error with jobId for later retrieval
|
|
259
|
+
if (response.status === 401) {
|
|
260
|
+
throw new HearApiError(401, 'AUTH_EXPIRED', `Auth expired during polling. Job ${jobId} is still processing server-side. Use getJob('${jobId}') to retrieve results when ready.`, jobId);
|
|
261
|
+
}
|
|
195
262
|
const result = await handleResponse(response);
|
|
196
263
|
if (result.status === 'completed' || (result.classifications && result.classifications.length > 0)) {
|
|
197
264
|
onProgress?.(`Job ${jobId} completed in ${elapsedSec}s`);
|
package/dist/api-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/chunker.d.ts
CHANGED
|
@@ -31,8 +31,11 @@ export declare function splitAudioFile(filePath: string, totalDuration: number,
|
|
|
31
31
|
export declare function cleanupChunks(chunks: ChunkInfo[]): void;
|
|
32
32
|
/**
|
|
33
33
|
* Merge classification results from multiple chunks into a unified result.
|
|
34
|
-
*
|
|
35
|
-
*
|
|
34
|
+
* Uses TIME-CHOP: each chunk owns a non-overlapping time window.
|
|
35
|
+
* Events outside the owned window are discarded — the overlap served its ML context purpose.
|
|
36
|
+
*
|
|
37
|
+
* Chunk N owns [N*step, (N+1)*step) where step = chunkDuration - overlap.
|
|
38
|
+
* Last chunk owns [start, totalDuration].
|
|
36
39
|
*/
|
|
37
40
|
export declare function mergeChunkResults(chunkResults: Array<{
|
|
38
41
|
chunk: ChunkInfo;
|
package/dist/chunker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,mCAAmC;AACnC,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,SAAS,EAAE,CA2Cb;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;AAED
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,mCAAmC;AACnC,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,SAAS,EAAE,CA2Cb;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAOvD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,EACjE,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACtB,cAAc,CAmChB"}
|
package/dist/chunker.js
CHANGED
|
@@ -90,52 +90,41 @@ export function cleanupChunks(chunks) {
|
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Merge classification results from multiple chunks into a unified result.
|
|
93
|
-
*
|
|
94
|
-
*
|
|
93
|
+
* Uses TIME-CHOP: each chunk owns a non-overlapping time window.
|
|
94
|
+
* Events outside the owned window are discarded — the overlap served its ML context purpose.
|
|
95
|
+
*
|
|
96
|
+
* Chunk N owns [N*step, (N+1)*step) where step = chunkDuration - overlap.
|
|
97
|
+
* Last chunk owns [start, totalDuration].
|
|
95
98
|
*/
|
|
96
99
|
export function mergeChunkResults(chunkResults, originalFileName, totalDuration) {
|
|
97
100
|
const allClassifications = [];
|
|
98
|
-
for (
|
|
101
|
+
for (let i = 0; i < chunkResults.length; i++) {
|
|
102
|
+
const { chunk, result } = chunkResults[i];
|
|
99
103
|
if (!result.classifications)
|
|
100
104
|
continue;
|
|
105
|
+
const isLast = i === chunkResults.length - 1;
|
|
106
|
+
const ownedStart = chunk.startTime;
|
|
107
|
+
const ownedEnd = isLast ? totalDuration : chunkResults[i + 1].chunk.startTime;
|
|
101
108
|
for (const cls of result.classifications) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
const absoluteStart = (cls.startTime || 0) + chunk.startTime;
|
|
110
|
+
const absoluteEnd = (cls.endTime || 0) + chunk.startTime;
|
|
111
|
+
// Time-chop: only keep events within this chunk's owned window
|
|
112
|
+
if (absoluteStart >= ownedStart && absoluteStart < ownedEnd) {
|
|
113
|
+
allClassifications.push({
|
|
114
|
+
...cls,
|
|
115
|
+
startTime: absoluteStart,
|
|
116
|
+
endTime: absoluteEnd,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
107
119
|
}
|
|
108
120
|
}
|
|
109
|
-
|
|
110
|
-
// Sort by startTime
|
|
111
|
-
deduplicated.sort((a, b) => (a.startTime || 0) - (b.startTime || 0));
|
|
121
|
+
allClassifications.sort((a, b) => (a.startTime || 0) - (b.startTime || 0));
|
|
112
122
|
return {
|
|
113
123
|
requestId: `merged-${Date.now()}`,
|
|
114
124
|
duration: totalDuration,
|
|
115
125
|
processingTimeMs: 0,
|
|
116
|
-
eventCount:
|
|
117
|
-
classifications:
|
|
126
|
+
eventCount: allClassifications.length,
|
|
127
|
+
classifications: allClassifications,
|
|
118
128
|
};
|
|
119
129
|
}
|
|
120
|
-
function deduplicateOverlaps(events) {
|
|
121
|
-
if (events.length <= 1)
|
|
122
|
-
return events;
|
|
123
|
-
const sorted = [...events].sort((a, b) => (a.startTime || 0) - (b.startTime || 0));
|
|
124
|
-
const kept = [];
|
|
125
|
-
for (const event of sorted) {
|
|
126
|
-
const duplicate = kept.find(k => k.className === event.className &&
|
|
127
|
-
Math.abs((k.startTime || 0) - (event.startTime || 0)) < CHUNK_OVERLAP_SEC &&
|
|
128
|
-
Math.abs((k.endTime || 0) - (event.endTime || 0)) < CHUNK_OVERLAP_SEC);
|
|
129
|
-
if (duplicate) {
|
|
130
|
-
if ((event.confidence || 0) > (duplicate.confidence || 0)) {
|
|
131
|
-
const idx = kept.indexOf(duplicate);
|
|
132
|
-
kept[idx] = event;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
kept.push(event);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return kept;
|
|
140
|
-
}
|
|
141
130
|
//# sourceMappingURL=chunker.js.map
|
package/dist/chunker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAG5B,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AASpC,mCAAmC;AACnC,MAAM,UAAU,SAAS;IACrB,IAAI,CAAC;QACD,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CACnB,+DAA+D,QAAQ,GAAG,EAC1E,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CACzE,CAAC;QACF,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,CAAC,CAAC;IACb,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC1B,QAAgB,EAChB,aAAqB,EACrB,OAA4D;IAE5D,MAAM,aAAa,GAAG,OAAO,EAAE,gBAAgB,IAAI,kBAAkB,CAAC;IACtE,MAAM,OAAO,GAAG,OAAO,EAAE,UAAU,IAAI,iBAAiB,CAAC;IAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,SAAS,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE;YAC/B,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;YACtB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,GAAG,EAAe,8BAA8B;YACxD,SAAS;SACZ,EAAE;YACC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChH,MAAM;QACV,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7D,yDAAyD;QACzD,SAAS,IAAI,aAAa,GAAG,OAAO,CAAC;QACrC,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC;YAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC;QAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../src/chunker.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -7,6 +7,13 @@ export declare const HEAR_API: {
|
|
|
7
7
|
readonly MAX_DURATION_SECONDS: 600;
|
|
8
8
|
readonly POLL_INTERVAL_MS: 3000;
|
|
9
9
|
readonly POLL_TIMEOUT_MS: number;
|
|
10
|
+
readonly POLL_BACKOFF_STEP_1: 10;
|
|
11
|
+
readonly POLL_BACKOFF_STEP_2: 20;
|
|
12
|
+
readonly POLL_INTERVAL_STEP_1_MS: 5000;
|
|
13
|
+
readonly POLL_INTERVAL_STEP_2_MS: 10000;
|
|
14
|
+
readonly POLL_429_DEFAULT_RETRY_MS: 6000;
|
|
15
|
+
readonly CHUNK_RETRY_MAX: 3;
|
|
16
|
+
readonly CHUNK_RETRY_DELAY_MS: 2000;
|
|
10
17
|
readonly MAX_BATCH_FILES: 50;
|
|
11
18
|
readonly SUPPORTED_FORMATS: readonly ["MP3", "WAV", "FLAC", "OGG", "M4A"];
|
|
12
19
|
readonly NOOP_CALLBACK_URL: "https://mcp.h-ear.world/noop";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;CAgBX,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAIf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -7,6 +7,13 @@ export const HEAR_API = {
|
|
|
7
7
|
MAX_DURATION_SECONDS: 600, // 10 minutes
|
|
8
8
|
POLL_INTERVAL_MS: 3000, // 3 second polling interval
|
|
9
9
|
POLL_TIMEOUT_MS: 5 * 60 * 1000, // 5 minutes max poll wait
|
|
10
|
+
POLL_BACKOFF_STEP_1: 10, // After 10 attempts, increase interval to 5s
|
|
11
|
+
POLL_BACKOFF_STEP_2: 20, // After 20 attempts, increase interval to 10s
|
|
12
|
+
POLL_INTERVAL_STEP_1_MS: 5000, // 5 second interval after step 1
|
|
13
|
+
POLL_INTERVAL_STEP_2_MS: 10000, // 10 second interval after step 2
|
|
14
|
+
POLL_429_DEFAULT_RETRY_MS: 6000, // Default retry delay for 429 (no Retry-After header)
|
|
15
|
+
CHUNK_RETRY_MAX: 3, // Max retries per chunk on transient failure
|
|
16
|
+
CHUNK_RETRY_DELAY_MS: 2000, // Initial retry delay (doubles per attempt)
|
|
10
17
|
MAX_BATCH_FILES: 50, // max files per batch
|
|
11
18
|
SUPPORTED_FORMATS: ['MP3', 'WAV', 'FLAC', 'OGG', 'M4A'],
|
|
12
19
|
// Noop callback URL -- triggers async 202 response from the API
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,mBAAmB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAW,QAAQ;IACxD,oBAAoB,EAAE,GAAG,EAAwB,aAAa;IAC9D,gBAAgB,EAAE,IAAI,EAA4B,4BAA4B;IAC9E,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAoB,0BAA0B;IAC5E,eAAe,EAAE,EAAE,EAA+B,sBAAsB;IACxE,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU;IAChE,gEAAgE;IAChE,iBAAiB,EAAE,8BAA8B;CAC3C,CAAC;AAEX,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,GAAG,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE;IAChE,OAAO,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,EAAE;IACxE,IAAI,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE;CACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,mBAAmB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAW,QAAQ;IACxD,oBAAoB,EAAE,GAAG,EAAwB,aAAa;IAC9D,gBAAgB,EAAE,IAAI,EAA4B,4BAA4B;IAC9E,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAoB,0BAA0B;IAC5E,mBAAmB,EAAE,EAAE,EAA2B,6CAA6C;IAC/F,mBAAmB,EAAE,EAAE,EAA2B,8CAA8C;IAChG,uBAAuB,EAAE,IAAI,EAAqB,iCAAiC;IACnF,uBAAuB,EAAE,KAAK,EAAoB,kCAAkC;IACpF,yBAAyB,EAAE,IAAI,EAAmB,sDAAsD;IACxG,eAAe,EAAE,CAAC,EAAmC,6CAA6C;IAClG,oBAAoB,EAAE,IAAI,EAA4B,4CAA4C;IAClG,eAAe,EAAE,EAAE,EAA+B,sBAAsB;IACxE,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU;IAChE,gEAAgE;IAChE,iBAAiB,EAAE,8BAA8B;CAC3C,CAAC;AAEX,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,GAAG,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE;IAChE,OAAO,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,OAAO,EAAE,MAAM,EAAE;IACxE,IAAI,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE;CACvD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,5 +9,5 @@ export { HEAR_API, ENVIRONMENTS } from './constants.js';
|
|
|
9
9
|
export type { HearEnvironment } from './constants.js';
|
|
10
10
|
export { hasFFmpeg, getAudioDuration, splitAudioFile, cleanupChunks, mergeChunkResults, CHUNK_DURATION_SEC, CHUNK_OVERLAP_SEC, } from './chunker.js';
|
|
11
11
|
export type { ChunkInfo } from './chunker.js';
|
|
12
|
-
export type { ClassifyRequest, ClassifyResult, Classification, NoiseEvent, AsyncAccepted, BatchFile, BatchRequest, BatchAccepted, AudioClass, ClassesResult, HealthResult, UsageResult, JobSummary, JobsResult, JobResult, WebhookRegister, WebhookResult, ApiErrorBody, } from './types.js';
|
|
12
|
+
export type { ClassifyRequest, ClassifyResult, Classification, NoiseEvent, AsyncAccepted, ChunkResult, BatchFile, BatchRequest, BatchAccepted, AudioClass, ClassesResult, HealthResult, UsageResult, JobSummary, JobsResult, JobResult, WebhookRegister, WebhookResult, ApiErrorBody, } from './types.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EACH,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAC3C,aAAa,EAAE,iBAAiB,EAChC,kBAAkB,EAAE,iBAAiB,GACxC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,YAAY,EACR,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EACH,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAC3C,aAAa,EAAE,iBAAiB,EAChC,kBAAkB,EAAE,iBAAiB,GACxC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,YAAY,EACR,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EACvF,SAAS,EAAE,YAAY,EAAE,aAAa,EACtC,UAAU,EAAE,aAAa,EACzB,YAAY,EACZ,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAC9C,eAAe,EAAE,aAAa,EAC9B,YAAY,GACf,MAAM,YAAY,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -55,6 +55,15 @@ export interface AsyncAccepted {
|
|
|
55
55
|
message: string;
|
|
56
56
|
callbackUrl?: string;
|
|
57
57
|
pollUrl: string;
|
|
58
|
+
uploadSessionId?: string;
|
|
59
|
+
}
|
|
60
|
+
/** Server response for intermediate chunk uploads (matches UploadSessionService.ChunkResult) */
|
|
61
|
+
export interface ChunkResult {
|
|
62
|
+
uploadSessionId: string;
|
|
63
|
+
chunkIndex: number;
|
|
64
|
+
status: 'uploading' | 'complete';
|
|
65
|
+
chunksReceived: number;
|
|
66
|
+
totalBytes: number;
|
|
58
67
|
}
|
|
59
68
|
export interface BatchFile {
|
|
60
69
|
url: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@h-ear/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Shared API client for H-ear World audio classification — used by @h-ear/mcp-server and @h-ear/openclaw",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -38,18 +38,26 @@
|
|
|
38
38
|
"build": "tsc",
|
|
39
39
|
"build:watch": "tsc --watch",
|
|
40
40
|
"clean": "rm -rf dist",
|
|
41
|
+
"lint": "eslint .",
|
|
42
|
+
"lint:fix": "eslint . --fix",
|
|
41
43
|
"prepublishOnly": "npm run build"
|
|
42
44
|
},
|
|
43
45
|
"dependencies": {
|
|
44
46
|
"zod": "^3.23.0"
|
|
45
47
|
},
|
|
46
48
|
"devDependencies": {
|
|
49
|
+
"@eslint/js": "^10.0.1",
|
|
47
50
|
"@types/node": "^20.11.0",
|
|
48
|
-
"typescript": "^5.9.3"
|
|
51
|
+
"typescript": "^5.9.3",
|
|
52
|
+
"typescript-eslint": "^8.57.2"
|
|
49
53
|
},
|
|
50
54
|
"engines": {
|
|
51
55
|
"node": ">=18"
|
|
52
56
|
},
|
|
57
|
+
"systemDependencies": {
|
|
58
|
+
"ffmpeg": "optional — required only for splitAudioFile() large-file chunking (>25MB)",
|
|
59
|
+
"ffprobe": "optional — required only for getAudioDuration()"
|
|
60
|
+
},
|
|
53
61
|
"files": [
|
|
54
62
|
"dist",
|
|
55
63
|
"README.md"
|