@h-ear/openclaw 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,11 @@
1
1
  import type { HearApiClient } from '@h-ear/core';
2
+ /** Async submit — returns immediately with job ID. Results delivered via callbackUrl. */
2
3
  export declare function classifyCommand(client: HearApiClient, url: string, options?: {
3
4
  threshold?: number;
4
5
  callbackUrl?: string;
5
6
  }): Promise<string>;
7
+ /** Sync classify — submits, polls until complete, returns formatted result. */
8
+ export declare function classifySyncCommand(client: HearApiClient, url: string, options?: {
9
+ threshold?: number;
10
+ }, onProgress?: (msg: string) => void): Promise<string>;
6
11
  //# 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;AAMjD,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"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,yFAAyF;AACzF,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,6 +1,7 @@
1
- import { formatClassifySubmitted } from '../formatter.js';
1
+ import { formatClassifySubmitted, formatClassifyResult } from '../formatter.js';
2
2
  /** Default gateway webhook receiver — OpenClaw routes results back to the user's channel. */
3
3
  const GATEWAY_CALLBACK = 'https://gateway.openclaw.ai/webhooks/h-ear';
4
+ /** Async submit — returns immediately with job ID. Results delivered via callbackUrl. */
4
5
  export async function classifyCommand(client, url, options) {
5
6
  const accepted = await client.submitClassify({
6
7
  url,
@@ -9,4 +10,9 @@ export async function classifyCommand(client, url, options) {
9
10
  });
10
11
  return formatClassifySubmitted(accepted);
11
12
  }
13
+ /** Sync classify — submits, polls until complete, returns formatted result. */
14
+ export async function classifySyncCommand(client, url, options, onProgress) {
15
+ const result = await client.classify({ url, threshold: options?.threshold ?? 0.3 }, onProgress);
16
+ return formatClassifyResult(result);
17
+ }
12
18
  //# 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,MAAM,iBAAiB,CAAC;AAE1D,6FAA6F;AAC7F,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAEtE,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,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,gBAAgB;KACxD,CAAC,CAAC;IACH,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC"}
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,6FAA6F;AAC7F,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAEtE,yFAAyF;AACzF,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,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,gBAAgB;KACxD,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"}
@@ -0,0 +1,3 @@
1
+ import type { HearApiClient } from '@h-ear/core';
2
+ export declare function jobAudioCommand(client: HearApiClient, jobId: string): Promise<string>;
3
+ //# sourceMappingURL=job-audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-audio.d.ts","sourceRoot":"","sources":["../../src/commands/job-audio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,eAAe,CACjC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -0,0 +1,6 @@
1
+ import { formatJobAudio } from '../formatter.js';
2
+ export async function jobAudioCommand(client, jobId) {
3
+ const result = await client.getJobAudio(jobId);
4
+ return formatJobAudio(result);
5
+ }
6
+ //# sourceMappingURL=job-audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-audio.js","sourceRoot":"","sources":["../../src/commands/job-audio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAAqB,EACrB,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { HearApiClient } from '@h-ear/core';
2
+ export declare function jobEventsCommand(client: HearApiClient, jobId: string, options?: {
3
+ minConfidence?: number;
4
+ category?: string;
5
+ limit?: number;
6
+ offset?: number;
7
+ sort?: string;
8
+ }): Promise<string>;
9
+ //# sourceMappingURL=job-events.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,12 @@
1
+ import { formatJobEvents } from '../formatter.js';
2
+ export async function jobEventsCommand(client, jobId, options) {
3
+ const result = await client.getJobEvents(jobId, {
4
+ minConfidence: options?.minConfidence,
5
+ category: options?.category,
6
+ limit: options?.limit ?? 20,
7
+ offset: options?.offset ?? 0,
8
+ sort: options?.sort,
9
+ });
10
+ return formatJobEvents(result);
11
+ }
12
+ //# sourceMappingURL=job-events.js.map
@@ -0,0 +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"}
@@ -0,0 +1,5 @@
1
+ import type { HearApiClient } from '@h-ear/core';
2
+ export declare function jobWaveformCommand(client: HearApiClient, jobId: string, options?: {
3
+ zoom?: 256 | 1024 | 4096;
4
+ }): Promise<string>;
5
+ //# sourceMappingURL=job-waveform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-waveform.d.ts","sourceRoot":"","sources":["../../src/commands/job-waveform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;CAAE,GACvC,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -0,0 +1,6 @@
1
+ import { formatJobWaveform } from '../formatter.js';
2
+ export async function jobWaveformCommand(client, jobId, options) {
3
+ const result = await client.getJobWaveform(jobId, { zoom: options?.zoom });
4
+ return formatJobWaveform(result);
5
+ }
6
+ //# sourceMappingURL=job-waveform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-waveform.js","sourceRoot":"","sources":["../../src/commands/job-waveform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,MAAqB,EACrB,KAAa,EACb,OAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -2,7 +2,7 @@
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, EnterpriseWebhookListResult, EnterpriseWebhook, EnterpriseWebhookCreateResult, PingResult, WebhookDeliveriesResult } from '@h-ear/core';
5
+ import type { ClassifyResult, ClassesResult, HealthResult, UsageResult, JobsResult, JobResult, AsyncAccepted, JobEventsResult, JobAudioResult, JobWaveformResult, 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;
@@ -10,6 +10,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
12
  export declare function formatClassifySubmitted(accepted: AsyncAccepted): string;
13
+ export declare function formatJobEvents(result: JobEventsResult): string;
14
+ export declare function formatJobAudio(result: JobAudioResult): string;
15
+ export declare function formatJobWaveform(result: JobWaveformResult): string;
13
16
  export declare function formatAlertRegistered(soundClass: string): string;
14
17
  export declare function formatAlertDeregistered(soundClass: string): string;
15
18
  export declare function formatWebhookList(result: EnterpriseWebhookListResult): string;
@@ -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,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,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,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"}
package/dist/formatter.js CHANGED
@@ -60,19 +60,19 @@ export function formatHealth(result) {
60
60
  ].join('\n');
61
61
  }
62
62
  export function formatUsage(result) {
63
- const minutesPct = result.minutesTotal > 0
64
- ? Math.round((result.minutesUsed / result.minutesTotal) * 100)
63
+ const minutesPct = result.period.minutesLimit > 0
64
+ ? Math.round((result.period.minutesUsed / result.period.minutesLimit) * 100)
65
65
  : 0;
66
- const callsPct = result.callsLimit > 0
67
- ? Math.round((result.callsToday / result.callsLimit) * 100)
66
+ const callsPct = result.daily.limit > 0
67
+ ? Math.round((result.daily.used / result.daily.limit) * 100)
68
68
  : 0;
69
69
  return [
70
70
  `**H-ear API Usage**`,
71
- `Plan: ${result.plan}`,
72
- `Minutes: ${result.minutesUsed.toLocaleString()} / ${result.minutesTotal.toLocaleString()} (${minutesPct}%)`,
73
- `Today: ${result.callsToday.toLocaleString()} / ${result.callsLimit.toLocaleString()} calls (${callsPct}%)`,
74
- `Active keys: ${result.activeKeys}`,
75
- `Period: ${result.periodStart} to ${result.periodEnd}`,
71
+ `Tier: ${result.tier}`,
72
+ `Minutes: ${result.period.minutesUsed.toLocaleString()} / ${result.period.minutesLimit.toLocaleString()} (${minutesPct}%)`,
73
+ `Today: ${result.daily.used.toLocaleString()} / ${result.daily.limit.toLocaleString()} calls (${callsPct}%)`,
74
+ `Remaining: ${result.daily.remaining.toLocaleString()} calls`,
75
+ `Period: ${result.period.start} to ${result.period.end}`,
76
76
  ].join('\n');
77
77
  }
78
78
  export function formatJobsList(result) {
@@ -84,14 +84,14 @@ export function formatJobsList(result) {
84
84
  lines.push('| Job ID | Status | File | Events | Created |');
85
85
  lines.push('|--------|--------|------|--------|---------|');
86
86
  for (const job of result.jobs) {
87
- const id = job.jobId.substring(0, 8);
87
+ const id = (job.jobId || '-').substring(0, 8);
88
88
  const status = job.status === 'completed' ? 'done' : job.status;
89
89
  const file = job.fileName || '-';
90
90
  const events = job.eventCount ?? '-';
91
- const created = job.createdAt.substring(0, 16).replace('T', ' ');
91
+ const created = job.createdAt ? job.createdAt.substring(0, 16).replace('T', ' ') : '-';
92
92
  lines.push(`| ${id}... | ${status} | ${file} | ${events} | ${created} |`);
93
93
  }
94
- if (result.pagination.hasMore) {
94
+ if (result.hasMore) {
95
95
  lines.push('', `_Showing ${result.jobs.length} of ${result.total} — use "jobs last N" for more._`);
96
96
  }
97
97
  }
@@ -142,6 +142,58 @@ export function formatClassifySubmitted(accepted) {
142
142
  `Check status: \`job ${accepted.requestId}\``,
143
143
  ].join('\n');
144
144
  }
145
+ export function formatJobEvents(result) {
146
+ const lines = [
147
+ `**Job Events** (${result.total} total)`,
148
+ `Job: ${result.jobId.substring(0, 8)}...`,
149
+ '',
150
+ ];
151
+ if (result.events.length > 0) {
152
+ lines.push('| Sound | Confidence | Category | Time |');
153
+ lines.push('|-------|-----------|----------|------|');
154
+ for (const event of result.events.slice(0, 20)) {
155
+ const name = event.tier2 || event.tier1;
156
+ const pct = `${Math.round(event.confidence * 100)}%`;
157
+ const cat = event.tier1;
158
+ const time = `${event.startTime.toFixed(1)}s`;
159
+ lines.push(`| ${name} | ${pct} | ${cat} | ${time} |`);
160
+ }
161
+ if (result.hasMore) {
162
+ lines.push('', `_Showing ${result.events.length} of ${result.total} — use pagination for more._`);
163
+ }
164
+ }
165
+ else {
166
+ lines.push('No events found.');
167
+ }
168
+ return lines.join('\n');
169
+ }
170
+ export function formatJobAudio(result) {
171
+ const lines = [
172
+ `**Job Audio**`,
173
+ `Job: ${result.jobId.substring(0, 8)}...`,
174
+ `URL: ${result.audioUrl}`,
175
+ `Expires: ${result.expiresAt}`,
176
+ ];
177
+ if (result.duration)
178
+ lines.push(`Duration: ${result.duration.toFixed(1)}s`);
179
+ if (result.mimeType)
180
+ lines.push(`Type: ${result.mimeType}`);
181
+ return lines.join('\n');
182
+ }
183
+ export function formatJobWaveform(result) {
184
+ const lines = [
185
+ `**Job Waveform**`,
186
+ `Job: ${result.jobId.substring(0, 8)}...`,
187
+ `Waveform: ${result.waveformUrl}`,
188
+ `Zoom: ${result.zoom} (${result.samplesPerPixel} samples/px)`,
189
+ `Expires: ${result.expiresAt}`,
190
+ ];
191
+ if (result.audioUrl)
192
+ lines.push(`Audio: ${result.audioUrl}`);
193
+ if (result.duration)
194
+ lines.push(`Duration: ${result.duration.toFixed(1)}s`);
195
+ return lines.join('\n');
196
+ }
145
197
  export function formatAlertRegistered(soundClass) {
146
198
  return `Alert registered. You'll be notified whenever **${soundClass}** is detected.`;
147
199
  }
@@ -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,15 +4,18 @@
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 } from './commands/classify.js';
7
+ export { classifyCommand, classifySyncCommand } from './commands/classify.js';
8
8
  export { classifyBatchCommand } from './commands/classify-batch.js';
9
9
  export { soundsCommand } from './commands/sounds.js';
10
10
  export { healthCommand } from './commands/health.js';
11
11
  export { usageCommand } from './commands/usage.js';
12
12
  export { jobsCommand, jobDetailCommand } from './commands/jobs.js';
13
+ export { jobEventsCommand } from './commands/job-events.js';
14
+ export { jobAudioCommand } from './commands/job-audio.js';
15
+ export { jobWaveformCommand } from './commands/job-waveform.js';
13
16
  export { alertOnCommand, alertOffCommand } from './commands/alerts.js';
14
17
  export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand } from './commands/webhooks.js';
15
- export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
18
+ export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
16
19
  export { resolveConfig } from './config.js';
17
20
  /** Create a configured skill instance with API client. */
18
21
  export declare function createSkill(config?: ServerConfig): {
@@ -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,MAAM,wBAAwB,CAAC;AACzD,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,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,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;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"}
package/dist/index.js CHANGED
@@ -6,16 +6,19 @@
6
6
  import { HearApiClient } from '@h-ear/core';
7
7
  import { resolveConfig } from './config.js';
8
8
  // Commands
9
- export { classifyCommand } from './commands/classify.js';
9
+ export { classifyCommand, classifySyncCommand } from './commands/classify.js';
10
10
  export { classifyBatchCommand } from './commands/classify-batch.js';
11
11
  export { soundsCommand } from './commands/sounds.js';
12
12
  export { healthCommand } from './commands/health.js';
13
13
  export { usageCommand } from './commands/usage.js';
14
14
  export { jobsCommand, jobDetailCommand } from './commands/jobs.js';
15
+ export { jobEventsCommand } from './commands/job-events.js';
16
+ export { jobAudioCommand } from './commands/job-audio.js';
17
+ export { jobWaveformCommand } from './commands/job-waveform.js';
15
18
  export { alertOnCommand, alertOffCommand } from './commands/alerts.js';
16
19
  export { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand } from './commands/webhooks.js';
17
20
  // Formatter
18
- export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
21
+ export { formatClassifyResult, formatClassesList, formatHealth, formatUsage, formatJobsList, formatJobDetail, formatJobEvents, formatJobAudio, formatJobWaveform, formatAlertRegistered, formatAlertDeregistered, formatWebhookList, formatWebhookDetail, formatWebhookCreated, formatWebhookPing, formatWebhookDeliveries, } from './formatter.js';
19
22
  // Config
20
23
  export { resolveConfig } from './config.js';
21
24
  /** Create a configured skill instance with API client. */
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,MAAM,wBAAwB,CAAC;AACzD,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,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,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-ear/openclaw",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
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",