@h-ear/openclaw 1.0.16 → 1.1.5-dev.202604280224

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/SKILL.md CHANGED
@@ -1,12 +1,16 @@
1
1
  ---
2
2
  name: h-ear
3
3
  description: "H-ear.world transforms sound into an actionable, meaningful translation layer of the world around you. Describe, share and act upon environmental audio as a machine sensor that empowers you, your business and your AI flow."
4
- version: 0.1.0
4
+ version: 1.1.5
5
5
  author: H-ear World
6
6
  homepage: https://h-ear.world
7
7
  metadata: {"openclaw": {"requires": {"env": ["HEAR_API_KEY", "HEAR_ENV"], "bins": []}, "primaryEnv": "HEAR_API_KEY"}}
8
8
  ---
9
9
 
10
+ <!-- Version: keep in sync with package.json. Runtime code reads from package.json
11
+ via createRequire — this header is the static manifest the OpenClaw gateway
12
+ parses at install/registration time. Bump both together. -->
13
+
10
14
  # H-ear — Sound Intelligence for AI Agents
11
15
 
12
16
  H-ear.world transforms sound into an actionable, meaningful translation layer of the world around you. Describe, share and act upon environmental audio as a machine sensor that empowers you, your business and your AI flow.
@@ -15,14 +19,26 @@ H-ear.world transforms sound into an actionable, meaningful translation layer of
15
19
 
16
20
  | Command | Description |
17
21
  |---------|-------------|
18
- | `classify <url>` | Classify audio from a URL. Returns detected sound classes with confidence scores. |
22
+ | `classify <url>` | Classify audio from a URL. Returns detected sound classes with confidence scores. Supports `--lat`/`--lng` for GPS tagging. |
23
+ | `classify <file>` | Classify a local audio file. Auto-chunks files over 25 MB. |
19
24
  | `classify batch <url1> <url2>...` | Batch classify multiple audio URLs. Results delivered asynchronously via the gateway's webhook endpoint. |
20
- | `sounds [search]` | List supported sound classes (521+ across 3 taxonomies). |
25
+ | `sounds [search]` | List supported sound classes (521+ across 3 taxonomies: audioset-yamnet-521, audioset-panns-527, species). |
21
26
  | `usage` | Show API usage statistics (minutes, calls, quota). |
22
27
  | `jobs [last N]` | List recent classification jobs with status. |
23
28
  | `job <id>` | Show detailed job results with classifications. |
29
+ | `job events <id>` | Get per-event records with optional filters (taxonomy, tier2, tier3, time window, confidence). |
30
+ | `job audio <id>` | Get a SAS URL for streaming the source audio. |
31
+ | `job waveform <id>` | Get pre-computed waveform data + audio URL. |
32
+ | `job report <id>` | Get a 7-day SAS URL to download the Excel analysis report. |
24
33
  | `alerts on <sound>` | Enable real-time alerts for a sound class. Notifications delivered to your connected channel via the gateway. |
25
34
  | `alerts off <sound>` | Disable alerts for a sound class. |
35
+ | `webhook list` | List enterprise webhook registrations. |
36
+ | `webhook detail <id>` | Webhook details with filter config and delivery stats. |
37
+ | `webhook create <url>` | Create enterprise webhook (returns signing secret once). |
38
+ | `webhook update <id>` | Update webhook URL, events, status, or filters. |
39
+ | `webhook delete <id>` | Permanently delete a webhook registration. |
40
+ | `webhook ping <id>` | Test webhook connectivity. |
41
+ | `webhook deliveries <id>` | Delivery audit trail. |
26
42
  | `health` | Check API status. |
27
43
 
28
44
  ## Setup
package/dist/cli.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * HEAR_ENV Environment: dev, staging, prod (default: prod)
16
16
  * LISTEN_RTSP_URL RTSP source URL (for capture command)
17
17
  */
18
- import { readFileSync, unlinkSync, existsSync, mkdirSync } from 'fs';
18
+ import { readFileSync, unlinkSync, existsSync, mkdirSync, writeFileSync } from 'fs';
19
19
  import { spawnSync } from 'child_process';
20
20
  import { join } from 'path';
21
21
  import { tmpdir } from 'os';
@@ -23,9 +23,8 @@ import { createSkill } from './index.js';
23
23
  import { healthCommand } from './commands/health.js';
24
24
  import { soundsCommand } from './commands/sounds.js';
25
25
  import { usageCommand } from './commands/usage.js';
26
- import { classifySyncCommand } from './commands/classify.js';
26
+ import { classifySyncCommand, classifyFileCommand } from './commands/classify.js';
27
27
  import { jobsCommand } from './commands/jobs.js';
28
- import { formatClassifyResult } from './formatter.js';
29
28
  // --- Arg parsing -------------------------------------------------------------
30
29
  const args = process.argv.slice(2);
31
30
  const command = args[0] ?? 'help';
@@ -106,23 +105,19 @@ Environment:
106
105
  console.error('Error: h-ear classify <file-or-url>');
107
106
  process.exit(1);
108
107
  }
108
+ const lat = getFlag('--lat');
109
+ const lng = getFlag('--lng');
110
+ const opts = {
111
+ threshold: 0.3,
112
+ latitude: lat ? parseFloat(lat) : undefined,
113
+ longitude: lng ? parseFloat(lng) : undefined,
114
+ };
115
+ const onProgress = (msg) => console.error(` ${msg}`);
109
116
  if (target.startsWith('http://') || target.startsWith('https://')) {
110
- // URL mode use existing sync command
111
- console.log(await classifySyncCommand(client, target, undefined, (msg) => console.error(` ${msg}`)));
117
+ console.log(await classifySyncCommand(client, target, opts, onProgress));
112
118
  }
113
119
  else {
114
- // File mode read and upload
115
- if (!existsSync(target)) {
116
- console.error(`Error: file not found: ${target}`);
117
- process.exit(1);
118
- }
119
- const buffer = readFileSync(target);
120
- const fileName = target.split(/[/\\]/).pop() ?? 'audio.wav';
121
- console.error(` Uploading ${fileName} (${(buffer.length / 1024).toFixed(0)} KB)...`);
122
- const accepted = await client.submitClassifyFile(buffer, fileName, { threshold: 0.3 });
123
- console.error(` Job ${accepted.requestId} queued, polling...`);
124
- const result = await client.pollJob(accepted.requestId, (msg) => console.error(` ${msg}`));
125
- console.log(formatClassifyResult(result));
120
+ console.log(await classifyFileCommand(client, target, { ...opts, waitForResult: true }, onProgress));
126
121
  }
127
122
  break;
128
123
  }
@@ -139,11 +134,18 @@ Environment:
139
134
  const { buffer, fileName } = captureAudio(rtspUrl, duration);
140
135
  console.error(` Captured ${(buffer.length / 1024).toFixed(0)} KB`);
141
136
  if (classifyAfter) {
142
- console.error(` Uploading ${fileName}...`);
143
- const accepted = await client.submitClassifyFile(buffer, fileName, { threshold: 0.3 });
144
- console.error(` Job ${accepted.requestId} queued, polling...`);
145
- const result = await client.pollJob(accepted.requestId, (msg) => console.error(` ${msg}`));
146
- console.log(formatClassifyResult(result));
137
+ // Persist captured audio so classifyFileCommand can chunk-upload it if needed
138
+ const tmpFile = join(tmpdir(), 'h-ear-listen', fileName);
139
+ writeFileSync(tmpFile, buffer);
140
+ try {
141
+ console.log(await classifyFileCommand(client, tmpFile, { threshold: 0.3, waitForResult: true }, (msg) => console.error(` ${msg}`)));
142
+ }
143
+ finally {
144
+ try {
145
+ unlinkSync(tmpFile);
146
+ }
147
+ catch { /* best effort */ }
148
+ }
147
149
  }
148
150
  else {
149
151
  console.log(`Captured: ${fileName} (${(buffer.length / 1024).toFixed(0)} KB)`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,gFAAgF;AAEhF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;AAElC,SAAS,OAAO,CAAC,IAAY;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,gFAAgF;AAEhF,SAAS,YAAY,CAAC,SAAiB,EAAE,WAAmB;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,SAAS,IAAI,WAAW,OAAO,CAAC,CAAC;IAEzE,MAAM,UAAU,GAAa,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAC/E,UAAU,CAAC,IAAI,CACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EACzD,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAClD,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC3C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,GAAG,IAAI;KACrC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC;QAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,iDAAiD,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAAC,CAAC;IAC5H,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,WAAW,SAAS,IAAI,WAAW,OAAO,EAAE,CAAC;AACjG,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,IAAI;IACf,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;0DAasC,CAAC,CAAC;QACpD,OAAO;IACX,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAEjC,QAAQ,OAAO,EAAE,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YACzC,MAAM;QACV,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,MAAM;QACV,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,MAAM;QACV,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACvF,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG;gBACT,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3C,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;aAC/C,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAE9D,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC,CAAC,CAAC;YACb,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEhD,OAAO,CAAC,KAAK,CAAC,eAAe,QAAQ,gBAAgB,OAAO,KAAK,CAAC,CAAC;YACnE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEpE,IAAI,aAAa,EAAE,CAAC;gBAChB,8EAA8E;gBAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACzD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,MAAM,mBAAmB,CACjC,MAAM,EACN,OAAO,EACP,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,EACvC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CACrC,CAAC,CAAC;gBACP,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC;wBAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACnF,CAAC;YACD,MAAM;QACV,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM;QACV,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,+BAA+B,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACxB,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -2,5 +2,7 @@ import type { HearApiClient } from '@h-ear/core';
2
2
  export declare function classifyBatchCommand(client: HearApiClient, urls: string[], options?: {
3
3
  threshold?: number;
4
4
  callbackUrl?: string;
5
+ callbackSecret?: string;
6
+ filterMinDurationSeconds?: number;
5
7
  }): Promise<string>;
6
8
  //# sourceMappingURL=classify-batch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classify-batch.d.ts","sourceRoot":"","sources":["../../src/commands/classify-batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,OAAO,CAAC,MAAM,CAAC,CAejB"}
1
+ {"version":3,"file":"classify-batch.d.ts","sourceRoot":"","sources":["../../src/commands/classify-batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC,GACF,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
@@ -1,9 +1,13 @@
1
1
  export async function classifyBatchCommand(client, urls, options) {
2
+ // Note: BatchRequest does not currently accept GPS — apply per-file via classifyFileCommand
3
+ // if you need to tag local recordings with location.
2
4
  const files = urls.map((url, i) => ({ url, id: `file-${i + 1}` }));
3
5
  const result = await client.classifyBatch({
4
6
  files,
5
7
  callbackUrl: options?.callbackUrl ?? '',
8
+ callbackSecret: options?.callbackSecret,
6
9
  threshold: options?.threshold ?? 0.3,
10
+ filterMinDurationSeconds: options?.filterMinDurationSeconds,
7
11
  });
8
12
  return [
9
13
  `**Batch Submitted**`,
@@ -1 +1 @@
1
- {"version":3,"file":"classify-batch.js","sourceRoot":"","sources":["../../src/commands/classify-batch.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,IAAc,EACd,OAAsD;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACtC,KAAK;QACL,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG;KACvC,CAAC,CAAC;IAEH,OAAO;QACH,qBAAqB;QACrB,aAAa,MAAM,CAAC,OAAO,EAAE;QAC7B,UAAU,MAAM,CAAC,SAAS,EAAE;QAC5B,eAAe,MAAM,CAAC,0BAA0B,MAAM;QACtD,WAAW,MAAM,CAAC,MAAM,EAAE;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"classify-batch.js","sourceRoot":"","sources":["../../src/commands/classify-batch.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,IAAc,EACd,OAKC;IAED,4FAA4F;IAC5F,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QACtC,KAAK;QACL,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE;QACvC,cAAc,EAAE,OAAO,EAAE,cAAc;QACvC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG;QACpC,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;KAC9D,CAAC,CAAC;IAEH,OAAO;QACH,qBAAqB;QACrB,aAAa,MAAM,CAAC,OAAO,EAAE;QAC7B,UAAU,MAAM,CAAC,SAAS,EAAE;QAC5B,eAAe,MAAM,CAAC,0BAA0B,MAAM;QACtD,WAAW,MAAM,CAAC,MAAM,EAAE;KAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC"}
@@ -1,11 +1,23 @@
1
1
  import type { HearApiClient } from '@h-ear/core';
2
- /** Async submit — returns immediately with job ID. callbackUrl is optional; client defaults to noop. */
3
- export declare function classifyCommand(client: HearApiClient, url: string, options?: {
2
+ interface ClassifyOpts {
4
3
  threshold?: number;
5
4
  callbackUrl?: string;
6
- }): Promise<string>;
5
+ callbackSecret?: string;
6
+ filterMinDurationSeconds?: number;
7
+ latitude?: number;
8
+ longitude?: number;
9
+ fileName?: string;
10
+ }
11
+ /** Async submit — returns immediately with job ID. callbackUrl is optional. */
12
+ export declare function classifyCommand(client: HearApiClient, url: string, options?: ClassifyOpts): Promise<string>;
7
13
  /** Sync classify — submits, polls until complete, returns formatted result. */
8
- export declare function classifySyncCommand(client: HearApiClient, url: string, options?: {
9
- threshold?: number;
14
+ export declare function classifySyncCommand(client: HearApiClient, url: string, options?: ClassifyOpts, onProgress?: (msg: string) => void): Promise<string>;
15
+ /**
16
+ * Local-file classify — reads file from disk, picks small-file or chunked-upload
17
+ * path based on size + duration, optionally polls. Mirrors mcp-server's classifyAudio.
18
+ */
19
+ export declare function classifyFileCommand(client: HearApiClient, filePath: string, options?: ClassifyOpts & {
20
+ waitForResult?: boolean;
10
21
  }, onProgress?: (msg: string) => void): Promise<string>;
22
+ export {};
11
23
  //# sourceMappingURL=classify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wGAAwG;AACxG,wBAAsB,eAAe,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAChC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,MAAM,CAAC,CAMjB"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,aAAa,CAAC;AAI/E,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,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,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAqBD,+EAA+E;AAC/E,wBAAsB,eAAe,CACjC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GAAG;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,EACpD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,MAAM,CAAC,CAiDjB"}
@@ -1,16 +1,106 @@
1
+ import { readFileSync, existsSync, statSync } from 'fs';
2
+ import { basename, extname } from 'path';
3
+ import { HearApiError, HEAR_API, getAudioDuration } from '@h-ear/core';
1
4
  import { formatClassifySubmitted, formatClassifyResult } from '../formatter.js';
2
- /** Async submit — returns immediately with job ID. callbackUrl is optional; client defaults to noop. */
5
+ function validateGps(opts) {
6
+ if (!opts)
7
+ return;
8
+ if ((opts.latitude !== undefined) !== (opts.longitude !== undefined)) {
9
+ throw new Error('latitude and longitude must both be provided together.');
10
+ }
11
+ }
12
+ /** Pre-flight auth probe — fail fast before kicking off a long classify. */
13
+ async function preflightAuth(client) {
14
+ try {
15
+ await client.usage();
16
+ }
17
+ catch (err) {
18
+ if (err instanceof HearApiError && (err.status === 401 || err.code === 'INVALID_API_KEY')) {
19
+ throw new Error(`Authentication failed: ${err.message}. Verify your API key or Bearer token.`);
20
+ }
21
+ // Non-auth errors (network, 5xx) — don't block; classify may still work.
22
+ }
23
+ }
24
+ /** Async submit — returns immediately with job ID. callbackUrl is optional. */
3
25
  export async function classifyCommand(client, url, options) {
26
+ validateGps(options);
27
+ await preflightAuth(client);
4
28
  const accepted = await client.submitClassify({
5
29
  url,
6
30
  threshold: options?.threshold ?? 0.3,
7
- ...(options?.callbackUrl ? { callbackUrl: options.callbackUrl } : {}),
31
+ fileName: options?.fileName,
32
+ callbackUrl: options?.callbackUrl,
33
+ callbackSecret: options?.callbackSecret,
34
+ filterMinDurationSeconds: options?.filterMinDurationSeconds,
35
+ latitude: options?.latitude,
36
+ longitude: options?.longitude,
8
37
  });
9
38
  return formatClassifySubmitted(accepted);
10
39
  }
11
40
  /** Sync classify — submits, polls until complete, returns formatted result. */
12
41
  export async function classifySyncCommand(client, url, options, onProgress) {
13
- const result = await client.classify({ url, threshold: options?.threshold ?? 0.3 }, onProgress);
42
+ validateGps(options);
43
+ await preflightAuth(client);
44
+ const result = await client.classify({
45
+ url,
46
+ threshold: options?.threshold ?? 0.3,
47
+ fileName: options?.fileName,
48
+ callbackUrl: options?.callbackUrl,
49
+ callbackSecret: options?.callbackSecret,
50
+ filterMinDurationSeconds: options?.filterMinDurationSeconds,
51
+ latitude: options?.latitude,
52
+ longitude: options?.longitude,
53
+ }, onProgress);
54
+ return formatClassifyResult(result);
55
+ }
56
+ /**
57
+ * Local-file classify — reads file from disk, picks small-file or chunked-upload
58
+ * path based on size + duration, optionally polls. Mirrors mcp-server's classifyAudio.
59
+ */
60
+ export async function classifyFileCommand(client, filePath, options, onProgress) {
61
+ validateGps(options);
62
+ if (!existsSync(filePath))
63
+ throw new Error(`File not found: ${filePath}`);
64
+ const ext = extname(filePath).toLowerCase().replace('.', '').toUpperCase();
65
+ if (!HEAR_API.SUPPORTED_FORMATS.includes(ext)) {
66
+ throw new Error(`Unsupported format: ${ext}. Supported: ${HEAR_API.SUPPORTED_FORMATS.join(', ')}`);
67
+ }
68
+ await preflightAuth(client);
69
+ const stat = statSync(filePath);
70
+ const fileName = basename(filePath);
71
+ const duration = getAudioDuration(filePath);
72
+ const sliceOptions = {
73
+ threshold: options?.threshold ?? 0.3,
74
+ callbackUrl: options?.callbackUrl,
75
+ callbackSecret: options?.callbackSecret,
76
+ filterMinDurationSeconds: options?.filterMinDurationSeconds,
77
+ latitude: options?.latitude,
78
+ longitude: options?.longitude,
79
+ };
80
+ // Small file: direct multipart upload
81
+ if (stat.size <= HEAR_API.MAX_FILE_SIZE_BYTES && duration <= HEAR_API.MAX_DURATION_SECONDS) {
82
+ const buffer = readFileSync(filePath);
83
+ const accepted = await client.submitClassifyFile(buffer, fileName, sliceOptions);
84
+ if (options?.callbackUrl || !options?.waitForResult) {
85
+ return formatClassifySubmitted(accepted);
86
+ }
87
+ const result = await client.pollJob(accepted.requestId, onProgress);
88
+ return formatClassifyResult(result);
89
+ }
90
+ // Large file: byte-slice chunked upload (chunk-by-requeue pipeline)
91
+ const totalSlices = Math.ceil(stat.size / HEAR_API.MAX_FILE_SIZE_BYTES);
92
+ const chunks = [];
93
+ for (let i = 0; i < totalSlices; i++) {
94
+ const offset = i * HEAR_API.MAX_FILE_SIZE_BYTES;
95
+ const length = Math.min(HEAR_API.MAX_FILE_SIZE_BYTES, stat.size - offset);
96
+ chunks.push({ filePath, offset, length, index: i });
97
+ }
98
+ onProgress?.(`Large file (${(stat.size / 1024 / 1024).toFixed(1)}MB) — uploading in ${totalSlices} chunks`);
99
+ const accepted = await client.submitClassifyChunked(chunks, fileName, sliceOptions, onProgress);
100
+ if (options?.callbackUrl || !options?.waitForResult) {
101
+ return formatClassifySubmitted(accepted);
102
+ }
103
+ const result = await client.pollJob(accepted.requestId, onProgress);
14
104
  return formatClassifyResult(result);
15
105
  }
16
106
  //# sourceMappingURL=classify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,wGAAwG;AACxG,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAAqB,EACrB,GAAW,EACX,OAAsD;IAEtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;QACzC,GAAG;QACH,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG;QACpC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAqB,EACrB,GAAW,EACX,OAAgC,EAChC,UAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAChC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,EAC7C,UAAU,CACb,CAAC;IACF,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import type { HearApiClient } from '@h-ear/core';
2
2
  export declare function jobEventsCommand(client: HearApiClient, jobId: string, options?: {
3
+ taxonomy?: string;
3
4
  minConfidence?: number;
4
5
  category?: string;
5
- limit?: number;
6
+ tier2?: string;
7
+ tier3?: string;
8
+ startTime?: number;
9
+ endTime?: number;
10
+ sourceId?: string;
6
11
  offset?: number;
7
- sort?: string;
8
12
  }): Promise<string>;
9
13
  //# sourceMappingURL=job-events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-events.d.ts","sourceRoot":"","sources":["../../src/commands/job-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CASjB"}
1
+ {"version":3,"file":"job-events.d.ts","sourceRoot":"","sources":["../../src/commands/job-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GACF,OAAO,CAAC,MAAM,CAAC,CAajB"}
@@ -1,11 +1,15 @@
1
1
  import { formatJobEvents } from '../formatter.js';
2
2
  export async function jobEventsCommand(client, jobId, options) {
3
3
  const result = await client.getJobEvents(jobId, {
4
+ taxonomy: options?.taxonomy,
4
5
  minConfidence: options?.minConfidence,
5
6
  category: options?.category,
6
- limit: options?.limit ?? 20,
7
+ tier2: options?.tier2,
8
+ tier3: options?.tier3,
9
+ startTime: options?.startTime,
10
+ endTime: options?.endTime,
11
+ sourceId: options?.sourceId,
7
12
  offset: options?.offset ?? 0,
8
- sort: options?.sort,
9
13
  });
10
14
  return formatJobEvents(result);
11
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job-events.js","sourceRoot":"","sources":["../../src/commands/job-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAqB,EACrB,KAAa,EACb,OAAuG;IAEvG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QAC5C,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAC5B,IAAI,EAAE,OAAO,EAAE,IAAI;KACtB,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"job-events.js","sourceRoot":"","sources":["../../src/commands/job-events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAqB,EACrB,KAAa,EACb,OAUC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QAC5C,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HearApiClient } from '@h-ear/core';
2
+ export declare function jobReportCommand(client: HearApiClient, jobId: string): Promise<string>;
3
+ //# sourceMappingURL=job-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-report.d.ts","sourceRoot":"","sources":["../../src/commands/job-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG5F"}
@@ -0,0 +1,6 @@
1
+ import { formatJobReport } from '../formatter.js';
2
+ export async function jobReportCommand(client, jobId) {
3
+ const result = await client.getJobReport(jobId);
4
+ return formatJobReport(result);
5
+ }
6
+ //# sourceMappingURL=job-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-report.js","sourceRoot":"","sources":["../../src/commands/job-report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,KAAa;IACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -2,5 +2,6 @@ import type { HearApiClient } from '@h-ear/core';
2
2
  export declare function soundsCommand(client: HearApiClient, search?: string, options?: {
3
3
  limit?: number;
4
4
  offset?: number;
5
+ taxonomy?: 'audioset-yamnet-521' | 'audioset-panns-527' | 'species';
5
6
  }): Promise<string>;
6
7
  //# sourceMappingURL=sounds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../src/commands/sounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../src/commands/sounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,aAAa,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACN,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,SAAS,CAAC;CACvE,GACF,OAAO,CAAC,MAAM,CAAC,CAQjB"}
@@ -4,6 +4,7 @@ export async function soundsCommand(client, search, options) {
4
4
  category: search,
5
5
  limit: options?.limit ?? 20,
6
6
  offset: options?.offset ?? 0,
7
+ taxonomy: options?.taxonomy,
7
8
  });
8
9
  return formatClassesList(result, search);
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sounds.js","sourceRoot":"","sources":["../../src/commands/sounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAqB,EACrB,MAAe,EACf,OAA6C;IAE7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;QACpC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"sounds.js","sourceRoot":"","sources":["../../src/commands/sounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAqB,EACrB,MAAe,EACf,OAIC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;QACpC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAC5B,QAAQ,EAAE,OAAO,EAAE,QAAQ;KAC9B,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { HearApiClient } from '@h-ear/core';
1
+ import type { HearApiClient, EnterpriseWebhookUpdate } from '@h-ear/core';
2
2
  export declare function webhookListCommand(client: HearApiClient): Promise<string>;
3
3
  export declare function webhookDetailCommand(client: HearApiClient, webhookId: string): Promise<string>;
4
4
  export declare function webhookCreateCommand(client: HearApiClient, url: string, options?: {
@@ -12,4 +12,6 @@ export declare function webhookPingCommand(client: HearApiClient, webhookId: str
12
12
  export declare function webhookDeliveriesCommand(client: HearApiClient, webhookId: string, options?: {
13
13
  limit?: number;
14
14
  }): Promise<string>;
15
+ export declare function webhookUpdateCommand(client: HearApiClient, webhookId: string, updates: EnterpriseWebhookUpdate): Promise<string>;
16
+ export declare function webhookDeleteCommand(client: HearApiClient, webhookId: string): Promise<string>;
15
17
  //# sourceMappingURL=webhooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/commands/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpG;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACN,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC,GACF,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlG;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAGjB"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/commands/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAO1E,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpG;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACN,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC,GACF,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlG;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -1,4 +1,4 @@
1
- import { formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from '../formatter.js';
1
+ import { formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, formatWebhookUpdated, formatWebhookDeleted, } from '../formatter.js';
2
2
  export async function webhookListCommand(client) {
3
3
  const result = await client.listEnterpriseWebhooks();
4
4
  return formatWebhookList(result);
@@ -26,4 +26,12 @@ export async function webhookDeliveriesCommand(client, webhookId, options) {
26
26
  const result = await client.getEnterpriseWebhookDeliveries(webhookId, options);
27
27
  return formatWebhookDeliveries(result);
28
28
  }
29
+ export async function webhookUpdateCommand(client, webhookId, updates) {
30
+ const result = await client.updateEnterpriseWebhook(webhookId, updates);
31
+ return formatWebhookUpdated(result);
32
+ }
33
+ export async function webhookDeleteCommand(client, webhookId) {
34
+ await client.deleteEnterpriseWebhook(webhookId);
35
+ return formatWebhookDeleted(webhookId);
36
+ }
29
37
  //# sourceMappingURL=webhooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/commands/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,GAC7C,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACrD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,SAAiB;IAC/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,GAAW,EACX,OAMC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;QAChD,GAAG;QACH,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,cAAc,EAAE,OAAO,EAAE,cAAc;QACvC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;QACrD,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;KAC1D,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB,EAAE,SAAiB;IAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC7D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,MAAqB,EACrB,SAAiB,EACjB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/commands/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,iBAAiB,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACrD,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,SAAiB;IAC/E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,GAAW,EACX,OAMC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC;QAChD,GAAG;QACH,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,WAAW,EAAE,OAAO,EAAE,WAAW;QACjC,cAAc,EAAE,OAAO,EAAE,cAAc;QACvC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;QACrD,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;KAC1D,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB,EAAE,SAAiB;IAC7E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC7D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,MAAqB,EACrB,SAAiB,EACjB,OAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/E,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,SAAiB,EACjB,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAqB,EACrB,SAAiB;IAEjB,MAAM,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC"}
@@ -2,13 +2,18 @@
2
2
  * Format H-ear API responses as chat-friendly markdown.
3
3
  * Designed for messaging channels: Telegram, Slack, Discord, WhatsApp, Teams.
4
4
  */
5
- import type { ClassifyResult, ClassesResult, HealthResult, UsageResult, JobsResult, JobResult, AsyncAccepted, JobEventsResult, JobAudioResult, JobWaveformResult, EnterpriseWebhookListResult, EnterpriseWebhook, EnterpriseWebhookCreateResult, PingResult, WebhookDeliveriesResult } from '@h-ear/core';
5
+ import type { ClassifyResult, ClassesResult, HealthResult, UsageResult, JobsResult, JobResult, AsyncAccepted, JobEventsResult, JobAudioResult, JobWaveformResult, JobReportResult, EnterpriseWebhookListResult, EnterpriseWebhook, EnterpriseWebhookCreateResult, PingResult, WebhookDeliveriesResult } from '@h-ear/core';
6
6
  export declare function formatClassifyResult(result: ClassifyResult): string;
7
7
  export declare function formatClassesList(result: ClassesResult, search?: string): string;
8
8
  export declare function formatHealth(result: HealthResult): string;
9
9
  export declare function formatUsage(result: UsageResult): string;
10
10
  export declare function formatJobsList(result: JobsResult): string;
11
11
  export declare function formatJobDetail(result: JobResult): string;
12
+ /**
13
+ * Render a job's metadata + per-event records in one block. Convenient when the
14
+ * caller has just chained getJob(jobId) and getJobEvents(jobId).
15
+ */
16
+ export declare function formatJobWithEvents(job: JobResult, events: JobEventsResult): string;
12
17
  export declare function formatClassifySubmitted(accepted: AsyncAccepted): string;
13
18
  export declare function formatJobEvents(result: JobEventsResult): string;
14
19
  export declare function formatJobAudio(result: JobAudioResult): string;
@@ -19,5 +24,8 @@ export declare function formatWebhookList(result: EnterpriseWebhookListResult):
19
24
  export declare function formatWebhookDetail(webhook: EnterpriseWebhook): string;
20
25
  export declare function formatWebhookCreated(result: EnterpriseWebhookCreateResult): string;
21
26
  export declare function formatWebhookPing(result: PingResult): string;
27
+ export declare function formatJobReport(result: JobReportResult): string;
28
+ export declare function formatWebhookUpdated(webhook: EnterpriseWebhook): string;
29
+ export declare function formatWebhookDeleted(webhookId: string): string;
22
30
  export declare function formatWebhookDeliveries(result: WebhookDeliveriesResult): string;
23
31
  //# sourceMappingURL=formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,cAAc,EAAE,aAAa,EAAE,YAAY,EAC3C,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EACjD,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAClD,2BAA2B,EAAE,iBAAiB,EAAE,6BAA6B,EAC7E,UAAU,EAAE,uBAAuB,EACtC,MAAM,aAAa,CAAC;AAErB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA8BnE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBhF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAOzD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgBvD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA2BzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAiCzD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CASvE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA2B/D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAU7D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAWnE;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,CAyB7E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAoBtE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM,CAUlF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAqB/E"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACR,cAAc,EAAE,aAAa,EAAE,YAAY,EAC3C,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EACjD,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EACnE,2BAA2B,EAAE,iBAAiB,EAAE,6BAA6B,EAC7E,UAAU,EAAE,uBAAuB,EACtC,MAAM,aAAa,CAAC;AAErB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAqBnE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBhF;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAOzD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgBvD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA6BzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAwBzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAEnF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CASvE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA2B/D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAU7D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAWnE;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,CAyB7E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAoBtE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM,CAUlF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQ5D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAO/D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAKvE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAqB/E"}
package/dist/formatter.js CHANGED
@@ -3,26 +3,18 @@
3
3
  * Designed for messaging channels: Telegram, Slack, Discord, WhatsApp, Teams.
4
4
  */
5
5
  export function formatClassifyResult(result) {
6
+ // Server returns the job as { id, ... }; ClassifyResult declares requestId.
7
+ // Read either so the formatter is robust to the wire shape.
8
+ const id = result.requestId ?? result.id ?? '';
6
9
  const lines = [
7
10
  `**Audio Classification Complete**`,
8
11
  `Duration: ${result.duration?.toFixed(1) ?? '?'}s | ${result.eventCount} noise events detected`,
9
- '',
10
12
  ];
11
- if (result.classifications && result.classifications.length > 0) {
12
- lines.push('| Sound | Confidence | Category |');
13
- lines.push('|-------|-----------|----------|');
14
- const top = result.classifications
15
- .sort((a, b) => (b.confidence || 0) - (a.confidence || 0))
16
- .slice(0, 10);
17
- for (const cls of top) {
18
- const name = cls.className || cls.class || 'Unknown';
19
- const pct = `${Math.round((cls.confidence || 0) * 100)}%`;
20
- const cat = cls.category || cls.tier1 || '-';
21
- lines.push(`| ${name} | ${pct} | ${cat} |`);
22
- }
13
+ if (result.eventCount === 0) {
14
+ lines.push('', 'No sound events detected above threshold.');
23
15
  }
24
16
  else {
25
- lines.push('No sound events detected above threshold.');
17
+ lines.push('', `Call getJobEvents("${id}") for the per-event records, or formatJobWithEvents(result, events) to render a combined view.`);
26
18
  }
27
19
  if (result.reportUrl) {
28
20
  lines.push('', `Full report: ${result.reportUrl}`);
@@ -84,7 +76,9 @@ export function formatJobsList(result) {
84
76
  lines.push('| Job ID | Status | File | Events | Created |');
85
77
  lines.push('|--------|--------|------|--------|---------|');
86
78
  for (const job of result.jobs) {
87
- const id = (job.jobId || '-').substring(0, 8);
79
+ // Server emits each job as { id, ... }; JobSummary declares jobId.
80
+ const jobId = job.jobId ?? job.id ?? '';
81
+ const id = (jobId || '-').substring(0, 8);
88
82
  const status = job.status === 'completed' ? 'done' : job.status;
89
83
  const file = job.fileName || '-';
90
84
  const events = job.eventCount ?? '-';
@@ -101,8 +95,10 @@ export function formatJobsList(result) {
101
95
  return lines.join('\n');
102
96
  }
103
97
  export function formatJobDetail(result) {
98
+ // Server emits job as { id, ... }; JobResult declares jobId.
99
+ const jobId = result.jobId ?? result.id ?? '';
104
100
  const lines = [
105
- `**Job ${result.jobId.substring(0, 8)}...**`,
101
+ `**Job ${jobId.substring(0, 8)}...**`,
106
102
  `Status: ${result.status}`,
107
103
  ];
108
104
  if (result.fileName)
@@ -114,24 +110,21 @@ export function formatJobDetail(result) {
114
110
  lines.push(`Created: ${result.createdAt}`);
115
111
  if (result.completedAt)
116
112
  lines.push(`Completed: ${result.completedAt}`);
117
- if (result.classifications && result.classifications.length > 0) {
118
- lines.push('', '| Sound | Confidence | Category |');
119
- lines.push('|-------|-----------|----------|');
120
- const top = result.classifications
121
- .sort((a, b) => (b.confidence || 0) - (a.confidence || 0))
122
- .slice(0, 10);
123
- for (const cls of top) {
124
- const name = cls.className || cls.class || 'Unknown';
125
- const pct = `${Math.round((cls.confidence || 0) * 100)}%`;
126
- const cat = cls.category || cls.tier1 || '-';
127
- lines.push(`| ${name} | ${pct} | ${cat} |`);
128
- }
113
+ if (result.eventCount && result.eventCount > 0) {
114
+ lines.push('', `Call getJobEvents("${jobId}") for the per-event records, or formatJobWithEvents(job, events) to render a combined view.`);
129
115
  }
130
116
  if (result.reportUrl) {
131
117
  lines.push('', `Full report: ${result.reportUrl}`);
132
118
  }
133
119
  return lines.join('\n');
134
120
  }
121
+ /**
122
+ * Render a job's metadata + per-event records in one block. Convenient when the
123
+ * caller has just chained getJob(jobId) and getJobEvents(jobId).
124
+ */
125
+ export function formatJobWithEvents(job, events) {
126
+ return [formatJobDetail(job), '', formatJobEvents(events)].join('\n');
127
+ }
135
128
  export function formatClassifySubmitted(accepted) {
136
129
  return [
137
130
  `**Analyzing Audio**`,
@@ -267,6 +260,23 @@ export function formatWebhookPing(result) {
267
260
  `Duration: ${result.durationMs}ms`,
268
261
  ].join('\n');
269
262
  }
263
+ export function formatJobReport(result) {
264
+ return [
265
+ `**Job Report**`,
266
+ `Job: ${result.jobId.substring(0, 8)}...`,
267
+ `Report: ${result.reportUrl}`,
268
+ `Expires: ${result.expiresIn}`,
269
+ ].join('\n');
270
+ }
271
+ export function formatWebhookUpdated(webhook) {
272
+ return [
273
+ `**Webhook Updated**`,
274
+ formatWebhookDetail(webhook),
275
+ ].join('\n');
276
+ }
277
+ export function formatWebhookDeleted(webhookId) {
278
+ return `Webhook **${webhookId.substring(0, 8)}...** deleted.`;
279
+ }
270
280
  export function formatWebhookDeliveries(result) {
271
281
  const lines = [
272
282
  `**Webhook Deliveries** (${result.deliveries.length})`,
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,9 @@
4
4
  * Exposes H-ear Enterprise API as conversational commands for messaging channels.
5
5
  */
6
6
  import { HearApiClient, type ServerConfig } from '@h-ear/core';
7
- export { classifyCommand, classifySyncCommand } from './commands/classify.js';
7
+ declare const SKILL_VERSION: string;
8
+ export { SKILL_VERSION };
9
+ export { classifyCommand, classifySyncCommand, classifyFileCommand } from './commands/classify.js';
8
10
  export { classifyBatchCommand } from './commands/classify-batch.js';
9
11
  export { soundsCommand } from './commands/sounds.js';
10
12
  export { healthCommand } from './commands/health.js';
@@ -13,13 +15,15 @@ export { jobsCommand, jobDetailCommand } from './commands/jobs.js';
13
15
  export { jobEventsCommand } from './commands/job-events.js';
14
16
  export { jobAudioCommand } from './commands/job-audio.js';
15
17
  export { jobWaveformCommand } from './commands/job-waveform.js';
18
+ export { jobReportCommand } from './commands/job-report.js';
16
19
  export { alertOnCommand, alertOffCommand } from './commands/alerts.js';
17
- export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand } from './commands/webhooks.js';
18
- export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
20
+ export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand, webhookUpdateCommand, webhookDeleteCommand, } from './commands/webhooks.js';
21
+ export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatJobReport, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, formatWebhookUpdated, formatWebhookDeleted, } from './formatter.js';
19
22
  export { resolveConfig } from './config.js';
20
23
  /** Create a configured skill instance with API client. */
21
24
  export declare function createSkill(config?: ServerConfig): {
22
25
  client: HearApiClient;
23
26
  config: ServerConfig;
27
+ version: string;
24
28
  };
25
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAI/D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGtJ,OAAO,EACH,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EACrD,WAAW,EAAE,cAAc,EAAE,eAAe,EAC5C,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAClD,qBAAqB,EAAE,uBAAuB,EAC9C,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,GAC7C,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG;IAChD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACxB,CAIA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAI/D,QAAA,MAAiB,aAAa,QAAsD,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACH,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAC9D,kBAAkB,EAAE,wBAAwB,EAC5C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EACrD,WAAW,EAAE,cAAc,EAAE,eAAe,EAC5C,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EACnE,qBAAqB,EAAE,uBAAuB,EAC9C,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG;IAChD,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB,CAIA"}
package/dist/index.js CHANGED
@@ -3,10 +3,14 @@
3
3
  *
4
4
  * Exposes H-ear Enterprise API as conversational commands for messaging channels.
5
5
  */
6
+ import { createRequire } from 'module';
6
7
  import { HearApiClient } from '@h-ear/core';
7
8
  import { resolveConfig } from './config.js';
9
+ const require = createRequire(import.meta.url);
10
+ const { version: SKILL_VERSION } = require('../package.json');
11
+ export { SKILL_VERSION };
8
12
  // Commands
9
- export { classifyCommand, classifySyncCommand } from './commands/classify.js';
13
+ export { classifyCommand, classifySyncCommand, classifyFileCommand } from './commands/classify.js';
10
14
  export { classifyBatchCommand } from './commands/classify-batch.js';
11
15
  export { soundsCommand } from './commands/sounds.js';
12
16
  export { healthCommand } from './commands/health.js';
@@ -15,16 +19,17 @@ export { jobsCommand, jobDetailCommand } from './commands/jobs.js';
15
19
  export { jobEventsCommand } from './commands/job-events.js';
16
20
  export { jobAudioCommand } from './commands/job-audio.js';
17
21
  export { jobWaveformCommand } from './commands/job-waveform.js';
22
+ export { jobReportCommand } from './commands/job-report.js';
18
23
  export { alertOnCommand, alertOffCommand } from './commands/alerts.js';
19
- export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand } from './commands/webhooks.js';
24
+ export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand, webhookUpdateCommand, webhookDeleteCommand, } from './commands/webhooks.js';
20
25
  // Formatter
21
- export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
26
+ export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatJobReport, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, formatWebhookUpdated, formatWebhookDeleted, } from './formatter.js';
22
27
  // Config
23
28
  export { resolveConfig } from './config.js';
24
29
  /** Create a configured skill instance with API client. */
25
30
  export function createSkill(config) {
26
31
  const resolved = config ?? resolveConfig();
27
32
  const client = new HearApiClient(resolved);
28
- return { client, config: resolved };
33
+ return { client, config: resolved, version: SKILL_VERSION };
29
34
  }
30
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEtJ,YAAY;AACZ,OAAO,EACH,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EACrD,WAAW,EAAE,cAAc,EAAE,eAAe,EAC5C,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAClD,qBAAqB,EAAE,uBAAuB,EAC9C,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,GAC7C,MAAM,gBAAgB,CAAC;AAExB,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,MAAqB;IAI7C,MAAM,QAAQ,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACH,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAC9D,kBAAkB,EAAE,wBAAwB,EAC5C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,wBAAwB,CAAC;AAEhC,YAAY;AACZ,OAAO,EACH,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EACrD,WAAW,EAAE,cAAc,EAAE,eAAe,EAC5C,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EACnE,qBAAqB,EAAE,uBAAuB,EAC9C,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAC5D,iBAAiB,EAAE,uBAAuB,EAC1C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,gBAAgB,CAAC;AAExB,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,MAAqB;IAK7C,MAAM,QAAQ,GAAG,MAAM,IAAI,aAAa,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-ear/openclaw",
3
- "version": "1.0.16",
3
+ "version": "1.1.5-dev.202604280224",
4
4
  "description": "OpenClaw skill for H-ear World audio classification — sound intelligence in WhatsApp, Telegram, Slack, Discord, and Teams",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",