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

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
@@ -17,29 +17,29 @@ H-ear.world transforms sound into an actionable, meaningful translation layer of
17
17
 
18
18
  ## Commands
19
19
 
20
+ <!-- @doc-sync-ref gen:#openclaw-commands -->
20
21
  | Command | Description |
21
22
  |---------|-------------|
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. |
24
- | `classify batch <url1> <url2>...` | Batch classify multiple audio URLs. Results delivered asynchronously via the gateway's webhook endpoint. |
25
- | `sounds [search]` | List supported sound classes (521+ across 3 taxonomies: audioset-yamnet-521, audioset-panns-527, species). |
26
- | `usage` | Show API usage statistics (minutes, calls, quota). |
27
- | `jobs [last N]` | List recent classification jobs with status. |
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. |
33
- | `alerts on <sound>` | Enable real-time alerts for a sound class. Notifications delivered to your connected channel via the gateway. |
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. |
42
- | `health` | Check API status. |
23
+ | `h-ear health` | Check H-ear API health and liveness (no auth required). |
24
+ | `h-ear usage` | Show API usage statistics (minutes, calls, quota). |
25
+ | `h-ear sounds <search>` | List supported sound classes (521+ across 3 taxonomies). |
26
+ | `h-ear jobs` | List recent classification jobs (paginated). |
27
+ | `h-ear job <jobId>` | Get detail for one job: status, fileName, eventCount, timestamps. |
28
+ | `h-ear job events <jobId>` | Get noise events for a completed job (timeline order, filterable). |
29
+ | `h-ear job audio <jobId>` | Get a 1-hour SAS URL to stream the source audio of a job. |
30
+ | `h-ear job waveform <jobId>` | Get pre-computed peaks.js waveform + audio URL. |
31
+ | `h-ear job report <jobId>` | Get a 7-day SAS URL to download the Excel analysis report. |
32
+ | `h-ear classify <fileOrUrl>` | Classify audio (URL or local file). Polls until complete. |
33
+ | `h-ear webhook list` | List enterprise webhook registrations. |
34
+ | `h-ear webhook get <webhookId>` | Show one webhook (URL, events, filter config, delivery stats). |
35
+ | `h-ear webhook create <url>` | Create an enterprise webhook (returns signing secret ONCE). |
36
+ | `h-ear webhook update <webhookId>` | Update webhook URL, status (active/paused), or filters. |
37
+ | `h-ear webhook delete <webhookId>` | Permanently delete a webhook (cannot be undone). |
38
+ | `h-ear webhook ping <webhookId>` | Send a test ping to a webhook (verify connectivity + signing). |
39
+ | `h-ear webhook deliveries <webhookId>` | Audit trail: recent delivery attempts for a webhook. |
40
+ <!-- @end-doc-ref -->
41
+
42
+ For per-command help with all flags and examples, run `h-ear <command> --help`. For machine-readable schemas (LLM-friendly introspection): `h-ear --list-tools --json`.
43
43
 
44
44
  ## Setup
45
45
 
package/dist/cli.d.ts CHANGED
@@ -1,19 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * h-ear CLI — OpenClaw-friendly command-line interface for H-ear audio classification.
3
+ * h-ear CLI — manifest-driven dispatcher for the H-ear OpenClaw skill.
4
4
  *
5
- * Usage:
6
- * h-ear health Check API status
7
- * h-ear sounds [search] List sound classes
8
- * h-ear usage Show API usage
9
- * h-ear classify <file-or-url> Classify audio (sync, polls for results)
10
- * h-ear capture [--duration 15] Capture audio from RTSP camera and classify
11
- * h-ear jobs [--limit 5] List recent jobs
5
+ * The command surface (commands, flags, positionals, descriptions, examples)
6
+ * is declared exactly once in [manifest.ts]. This file only:
7
+ * 1. Parses argv into { positionals, flags, bools }
8
+ * 2. Resolves the manifest entry for the user's path
9
+ * 3. Calls its handler, prints the formatted result
10
+ * 4. Emits help (top-level, per-subcommand) and `--list-tools --json` from
11
+ * the same manifest
12
12
  *
13
- * Environment:
14
- * HEAR_API_KEY API key (required)
15
- * HEAR_ENV Environment: dev, staging, prod (default: prod)
16
- * LISTEN_RTSP_URL RTSP source URL (for capture command)
13
+ * If a flag is missing or wrong, the LLM (or human) sees a "did you mean"
14
+ * pointer at the next-likely subcommand instead of a stack trace.
17
15
  */
18
16
  export {};
19
17
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;GAeG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
package/dist/cli.js CHANGED
@@ -1,41 +1,158 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * h-ear CLI — OpenClaw-friendly command-line interface for H-ear audio classification.
3
+ * h-ear CLI — manifest-driven dispatcher for the H-ear OpenClaw skill.
4
4
  *
5
- * Usage:
6
- * h-ear health Check API status
7
- * h-ear sounds [search] List sound classes
8
- * h-ear usage Show API usage
9
- * h-ear classify <file-or-url> Classify audio (sync, polls for results)
10
- * h-ear capture [--duration 15] Capture audio from RTSP camera and classify
11
- * h-ear jobs [--limit 5] List recent jobs
5
+ * The command surface (commands, flags, positionals, descriptions, examples)
6
+ * is declared exactly once in [manifest.ts]. This file only:
7
+ * 1. Parses argv into { positionals, flags, bools }
8
+ * 2. Resolves the manifest entry for the user's path
9
+ * 3. Calls its handler, prints the formatted result
10
+ * 4. Emits help (top-level, per-subcommand) and `--list-tools --json` from
11
+ * the same manifest
12
12
  *
13
- * Environment:
14
- * HEAR_API_KEY API key (required)
15
- * HEAR_ENV Environment: dev, staging, prod (default: prod)
16
- * LISTEN_RTSP_URL RTSP source URL (for capture command)
13
+ * If a flag is missing or wrong, the LLM (or human) sees a "did you mean"
14
+ * pointer at the next-likely subcommand instead of a stack trace.
17
15
  */
18
16
  import { readFileSync, unlinkSync, existsSync, mkdirSync, writeFileSync } from 'fs';
19
17
  import { spawnSync } from 'child_process';
20
18
  import { join } from 'path';
21
19
  import { tmpdir } from 'os';
20
+ import { toolDescriptions, toolShapes } from '@h-ear/core';
22
21
  import { createSkill } from './index.js';
23
- import { healthCommand } from './commands/health.js';
24
- import { soundsCommand } from './commands/sounds.js';
25
- import { usageCommand } from './commands/usage.js';
26
- import { classifySyncCommand, classifyFileCommand } from './commands/classify.js';
27
- import { jobsCommand } from './commands/jobs.js';
28
- // --- Arg parsing -------------------------------------------------------------
29
- const args = process.argv.slice(2);
30
- const command = args[0] ?? 'help';
31
- function getFlag(flag) {
32
- const idx = args.indexOf(flag);
33
- return idx >= 0 && args[idx + 1] ? args[idx + 1] : null;
22
+ import { COMMANDS, findCommand, listToolsJson } from './manifest.js';
23
+ import { classifyFileCommand } from './commands/classify.js';
24
+ /** Split argv into path tokens + flag/positional buckets. */
25
+ function parseArgv(argv, spec) {
26
+ const flags = {};
27
+ const bools = {};
28
+ const positionalValues = [];
29
+ let wantsHelp = false;
30
+ // First, pull out the path tokens for the matched spec — they are NOT positionals.
31
+ const pathLen = spec?.cliPath.length ?? 0;
32
+ const rest = argv.slice(pathLen);
33
+ for (let i = 0; i < rest.length; i++) {
34
+ const tok = rest[i];
35
+ if (tok === '--help' || tok === '-h') {
36
+ wantsHelp = true;
37
+ continue;
38
+ }
39
+ if (tok.startsWith('--')) {
40
+ const name = tok.slice(2);
41
+ const next = rest[i + 1];
42
+ if (next !== undefined && !next.startsWith('-')) {
43
+ flags[name] = next;
44
+ i++;
45
+ }
46
+ else {
47
+ bools[name] = true;
48
+ }
49
+ }
50
+ else {
51
+ positionalValues.push(tok);
52
+ }
53
+ }
54
+ // Bind positional values to their declared names in spec order.
55
+ const positionals = {};
56
+ if (spec?.positionals) {
57
+ spec.positionals.forEach((p, idx) => {
58
+ positionals[p.name] = positionalValues[idx];
59
+ });
60
+ }
61
+ return {
62
+ pathTokens: argv.slice(0, pathLen),
63
+ parsed: { positionals, flags, bools },
64
+ wantsHelp,
65
+ };
66
+ }
67
+ // ─── Help renderers ──────────────────────────────────────────────────────────
68
+ const HEADER = `h-ear — Sound Intelligence CLI for the H-ear API
69
+ Documentation: https://h-ear.world · Skill: @h-ear/openclaw
70
+
71
+ Usage:
72
+ h-ear <command> [args] [flags]
73
+ h-ear <command> --help Show flags + examples for one command
74
+ h-ear --list-tools --json Emit MCP-style schemas for all commands
75
+ h-ear --version Print the skill version`;
76
+ const ENV_DOCS = `Environment variables:
77
+ HEAR_API_KEY H-ear Enterprise API key (required for most commands)
78
+ HEAR_BEARER_TOKEN OAuth bearer (alternative to HEAR_API_KEY)
79
+ HEAR_ENV dev | staging | prod (default: prod)
80
+ HEAR_BASE_URL Override base URL (advanced)
81
+ LISTEN_RTSP_URL RTSP source (only for h-ear capture)`;
82
+ function pad(s, n) { return s.length >= n ? s : s + ' '.repeat(n - s.length); }
83
+ function renderTopLevelHelp() {
84
+ const lines = [HEADER, '', 'Commands:'];
85
+ // Group by first path token so multi-level commands cluster nicely.
86
+ const groups = new Map();
87
+ for (const spec of COMMANDS) {
88
+ const head = spec.cliPath[0];
89
+ const existing = groups.get(head);
90
+ if (existing)
91
+ existing.push(spec);
92
+ else
93
+ groups.set(head, [spec]);
94
+ }
95
+ // Stable group order: alphabetical.
96
+ const groupNames = [...groups.keys()].sort();
97
+ for (const name of groupNames) {
98
+ const specs = groups.get(name) ?? [];
99
+ for (const spec of specs) {
100
+ const path = spec.cliPath.join(' ');
101
+ const positionalStr = spec.positionals?.map(p => `<${p.name}>`).join(' ') ?? '';
102
+ const sig = `${path}${positionalStr ? ' ' + positionalStr : ''}`;
103
+ lines.push(` ${pad(sig, 32)}${spec.summary}`);
104
+ }
105
+ }
106
+ lines.push('', ENV_DOCS);
107
+ return lines.join('\n');
34
108
  }
35
- function hasFlag(flag) {
36
- return args.includes(flag);
109
+ function renderCommandHelp(spec) {
110
+ const path = spec.cliPath.join(' ');
111
+ const positionalStr = spec.positionals?.map(p => `<${p.name}>`).join(' ') ?? '';
112
+ const lines = [
113
+ `h-ear ${path}${positionalStr ? ' ' + positionalStr : ''}`,
114
+ '',
115
+ spec.summary,
116
+ '',
117
+ toolDescriptions[spec.schemaName] ?? '',
118
+ '',
119
+ ];
120
+ if (spec.positionals?.length) {
121
+ lines.push('Positional arguments:');
122
+ for (const p of spec.positionals) {
123
+ const shape = toolShapes[spec.schemaName];
124
+ const zod = shape?.[p.schemaKey];
125
+ const desc = zod?._def?.description ?? '';
126
+ lines.push(` ${pad(`<${p.name}>`, 24)}${desc}`);
127
+ }
128
+ lines.push('');
129
+ }
130
+ if (spec.flags?.length) {
131
+ lines.push('Flags:');
132
+ for (const f of spec.flags) {
133
+ const shape = toolShapes[spec.schemaName];
134
+ const zod = shape?.[f.schemaKey];
135
+ const desc = zod?._def?.description ?? '';
136
+ lines.push(` ${pad(`--${f.name}`, 24)}${desc}`);
137
+ }
138
+ lines.push('');
139
+ }
140
+ lines.push('Examples:');
141
+ for (const ex of spec.examples)
142
+ lines.push(` ${ex}`);
143
+ return lines.join('\n');
37
144
  }
38
- // --- Capture -----------------------------------------------------------------
145
+ /**
146
+ * Find the most plausible commands given an unrecognised CLI path.
147
+ * Used to suggest "did you mean..." instead of failing opaquely.
148
+ */
149
+ function suggestNear(tokens) {
150
+ if (tokens.length === 0)
151
+ return [];
152
+ const head = tokens[0];
153
+ return COMMANDS.filter(c => c.cliPath[0] === head).slice(0, 5);
154
+ }
155
+ // ─── Capture (RTSP audio) — lives in CLI; not in manifest because it does I/O ──
39
156
  function captureAudio(sourceUrl, durationSec) {
40
157
  const tmpDir = join(tmpdir(), 'h-ear-listen');
41
158
  if (!existsSync(tmpDir))
@@ -64,104 +181,120 @@ function captureAudio(sourceUrl, durationSec) {
64
181
  }
65
182
  return { buffer: Buffer.from(buffer), fileName: `capture_${timestamp}_${durationSec}s.wav` };
66
183
  }
67
- // --- Main --------------------------------------------------------------------
184
+ // ─── Main ────────────────────────────────────────────────────────────────────
68
185
  async function main() {
69
- if (command === 'help' || command === '--help' || command === '-h') {
70
- console.log(`h-ear Sound Intelligence CLI
71
-
72
- Usage:
73
- h-ear health Check API status
74
- h-ear sounds [search] List sound classes (521+)
75
- h-ear usage Show API usage stats
76
- h-ear classify <file-or-url> Classify audio (waits for results)
77
- h-ear capture [--duration 15] Capture from RTSP camera and classify
78
- h-ear jobs [--limit 5] List recent jobs
79
-
80
- Environment:
81
- HEAR_API_KEY H-ear API key (required)
82
- HEAR_ENV dev | staging | prod (default: prod)
83
- LISTEN_RTSP_URL RTSP camera URL (for capture command)`);
186
+ const argv = process.argv.slice(2);
187
+ // Top-level switches that don't need a skill instance:
188
+ if (argv.length === 0 || argv[0] === 'help' || argv[0] === '--help' || argv[0] === '-h') {
189
+ console.log(renderTopLevelHelp());
84
190
  return;
85
191
  }
86
- const { client } = createSkill();
87
- switch (command) {
88
- case 'health': {
89
- console.log(await healthCommand(client));
90
- break;
192
+ if (argv[0] === '--version' || argv[0] === '-v') {
193
+ const { version } = createSkillSafe();
194
+ console.log(version);
195
+ return;
196
+ }
197
+ if (argv[0] === '--list-tools') {
198
+ if (argv.includes('--json')) {
199
+ console.log(JSON.stringify(listToolsJson(), null, 2));
91
200
  }
92
- case 'sounds': {
93
- const search = args[1] && !args[1].startsWith('-') ? args[1] : undefined;
94
- const limit = parseInt(getFlag('--limit') ?? '20', 10);
95
- console.log(await soundsCommand(client, search, { limit }));
96
- break;
201
+ else {
202
+ // Human-readable enumeration for terminal users.
203
+ for (const spec of COMMANDS) {
204
+ console.log(`${spec.cliPath.join(' ').padEnd(28)}${spec.summary}`);
205
+ }
97
206
  }
98
- case 'usage': {
99
- console.log(await usageCommand(client));
100
- break;
207
+ return;
208
+ }
209
+ // Manifest-driven commands first.
210
+ const matched = findCommand(argv);
211
+ if (matched) {
212
+ const { spec } = matched;
213
+ const parsed = parseArgv(argv, spec);
214
+ if (parsed.wantsHelp) {
215
+ console.log(renderCommandHelp(spec));
216
+ return;
101
217
  }
102
- case 'classify': {
103
- const target = args[1];
104
- if (!target) {
105
- console.error('Error: h-ear classify <file-or-url>');
106
- process.exit(1);
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}`);
116
- if (target.startsWith('http://') || target.startsWith('https://')) {
117
- console.log(await classifySyncCommand(client, target, opts, onProgress));
118
- }
119
- else {
120
- console.log(await classifyFileCommand(client, target, { ...opts, waitForResult: true }, onProgress));
121
- }
122
- break;
218
+ const { client } = createSkill();
219
+ const out = await spec.handler(client, parsed.parsed);
220
+ console.log(out);
221
+ return;
222
+ }
223
+ // Special-case: capture stays imperative (does ffmpeg I/O before classifying).
224
+ if (argv[0] === 'listen' || argv[0] === 'capture') {
225
+ const parsed = parseArgv(argv, null);
226
+ if (parsed.wantsHelp) {
227
+ console.log([
228
+ 'h-ear capture [--rtsp <url>] [--duration 15] [--no-classify]',
229
+ '',
230
+ 'Capture audio from an RTSP camera and (by default) classify it.',
231
+ '',
232
+ 'Flags:',
233
+ ` ${pad('--rtsp <url>', 24)}RTSP source URL (or set LISTEN_RTSP_URL).`,
234
+ ` ${pad('--duration <sec>', 24)}Capture length in seconds (default 15).`,
235
+ ` ${pad('--no-classify', 24)}Capture only, do not submit for classification.`,
236
+ '',
237
+ 'Examples:',
238
+ ' h-ear capture --duration 30',
239
+ ' LISTEN_RTSP_URL=rtsp://cam:554/stream h-ear capture',
240
+ ].join('\n'));
241
+ return;
242
+ }
243
+ const rtspUrl = parsed.parsed.flags.rtsp ?? process.env.LISTEN_RTSP_URL;
244
+ if (!rtspUrl) {
245
+ console.error('Error: RTSP URL required. Pass --rtsp <url> or set LISTEN_RTSP_URL');
246
+ process.exit(1);
123
247
  }
124
- case 'listen':
125
- case 'capture': {
126
- const rtspUrl = getFlag('--rtsp') ?? process.env.LISTEN_RTSP_URL;
127
- if (!rtspUrl) {
128
- console.error('Error: RTSP URL required. Pass --rtsp <url> or set LISTEN_RTSP_URL');
129
- process.exit(1);
248
+ const duration = parseInt(parsed.parsed.flags.duration ?? '15', 10);
249
+ const classifyAfter = !parsed.parsed.bools['no-classify'];
250
+ console.error(` Capturing ${duration}s audio from ${rtspUrl}...`);
251
+ const { buffer, fileName } = captureAudio(rtspUrl, duration);
252
+ console.error(` Captured ${(buffer.length / 1024).toFixed(0)} KB`);
253
+ if (classifyAfter) {
254
+ const { client } = createSkill();
255
+ const tmpFile = join(tmpdir(), 'h-ear-listen', fileName);
256
+ writeFileSync(tmpFile, buffer);
257
+ try {
258
+ console.log(await classifyFileCommand(client, tmpFile, { threshold: 0.3, waitForResult: true }, (msg) => console.error(` ${msg}`)));
130
259
  }
131
- const duration = parseInt(getFlag('--duration') ?? '15', 10);
132
- const classifyAfter = !hasFlag('--no-classify');
133
- console.error(` Capturing ${duration}s audio from ${rtspUrl}...`);
134
- const { buffer, fileName } = captureAudio(rtspUrl, duration);
135
- console.error(` Captured ${(buffer.length / 1024).toFixed(0)} KB`);
136
- if (classifyAfter) {
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);
260
+ finally {
140
261
  try {
141
- console.log(await classifyFileCommand(client, tmpFile, { threshold: 0.3, waitForResult: true }, (msg) => console.error(` ${msg}`)));
262
+ unlinkSync(tmpFile);
142
263
  }
143
- finally {
144
- try {
145
- unlinkSync(tmpFile);
146
- }
147
- catch { /* best effort */ }
148
- }
149
- }
150
- else {
151
- console.log(`Captured: ${fileName} (${(buffer.length / 1024).toFixed(0)} KB)`);
264
+ catch { /* best effort */ }
152
265
  }
153
- break;
154
266
  }
155
- case 'jobs': {
156
- const limit = parseInt(getFlag('--limit') ?? '5', 10);
157
- console.log(await jobsCommand(client, { limit }));
158
- break;
267
+ else {
268
+ console.log(`Captured: ${fileName} (${(buffer.length / 1024).toFixed(0)} KB)`);
159
269
  }
160
- default: {
161
- console.error(`Unknown command: ${command}. Run 'h-ear help' for usage.`);
162
- process.exit(1);
270
+ return;
271
+ }
272
+ // Unknown — give the LLM (or human) a useful pointer instead of a stack trace.
273
+ const suggestions = suggestNear(argv);
274
+ console.error(`Unknown command: ${argv.join(' ')}`);
275
+ if (suggestions.length > 0) {
276
+ console.error('');
277
+ console.error('Did you mean:');
278
+ for (const s of suggestions) {
279
+ console.error(` h-ear ${s.cliPath.join(' ')} ${s.summary}`);
163
280
  }
164
281
  }
282
+ else {
283
+ console.error('');
284
+ console.error("Run 'h-ear help' or 'h-ear --list-tools' to see all commands.");
285
+ }
286
+ process.exit(1);
287
+ }
288
+ /** Like createSkill, but tolerant of missing API key (we may just want --version). */
289
+ function createSkillSafe() {
290
+ try {
291
+ return createSkill();
292
+ }
293
+ catch {
294
+ // Resolve version directly from package.json without instantiating the client.
295
+ const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
296
+ return { version: pkg.version };
297
+ }
165
298
  }
166
299
  main().catch((err) => {
167
300
  console.error(`Error: ${err.message}`);
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":"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"}
@@ -16,7 +16,7 @@ async function preflightAuth(client) {
16
16
  }
17
17
  catch (err) {
18
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.`);
19
+ throw new Error(`Authentication failed: ${err.message}. Verify your API key or Bearer token.`, { cause: err });
20
20
  }
21
21
  // Non-auth errors (network, 5xx) — don't block; classify may still work.
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/commands/classify.ts"],"names":[],"mappings":"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"}
package/dist/formatter.js CHANGED
@@ -77,13 +77,13 @@ export function formatJobsList(result) {
77
77
  lines.push('|--------|--------|------|--------|---------|');
78
78
  for (const job of result.jobs) {
79
79
  // Server emits each job as { id, ... }; JobSummary declares jobId.
80
- const jobId = job.jobId ?? job.id ?? '';
81
- const id = (jobId || '-').substring(0, 8);
80
+ const jobId = job.jobId ?? job.id ?? '-';
82
81
  const status = job.status === 'completed' ? 'done' : job.status;
83
82
  const file = job.fileName || '-';
84
83
  const events = job.eventCount ?? '-';
85
84
  const created = job.createdAt ? job.createdAt.substring(0, 16).replace('T', ' ') : '-';
86
- lines.push(`| ${id}... | ${status} | ${file} | ${events} | ${created} |`);
85
+ // Full job ID (LLM needs it for follow-up calls; truncated IDs cause flag-guessing).
86
+ lines.push(`| \`${jobId}\` | ${status} | ${file} | ${events} | ${created} |`);
87
87
  }
88
88
  if (result.hasMore) {
89
89
  lines.push('', `_Showing ${result.jobs.length} of ${result.total} — use "jobs last N" for more._`);
@@ -98,7 +98,7 @@ export function formatJobDetail(result) {
98
98
  // Server emits job as { id, ... }; JobResult declares jobId.
99
99
  const jobId = result.jobId ?? result.id ?? '';
100
100
  const lines = [
101
- `**Job ${jobId.substring(0, 8)}...**`,
101
+ `**Job** \`${jobId}\``,
102
102
  `Status: ${result.status}`,
103
103
  ];
104
104
  if (result.fileName)
@@ -138,7 +138,7 @@ export function formatClassifySubmitted(accepted) {
138
138
  export function formatJobEvents(result) {
139
139
  const lines = [
140
140
  `**Job Events** (${result.total} total)`,
141
- `Job: ${result.jobId.substring(0, 8)}...`,
141
+ `Job: \`${result.jobId}\``,
142
142
  '',
143
143
  ];
144
144
  if (result.events.length > 0) {
@@ -163,7 +163,7 @@ export function formatJobEvents(result) {
163
163
  export function formatJobAudio(result) {
164
164
  const lines = [
165
165
  `**Job Audio**`,
166
- `Job: ${result.jobId.substring(0, 8)}...`,
166
+ `Job: \`${result.jobId}\``,
167
167
  `URL: ${result.audioUrl}`,
168
168
  `Expires: ${result.expiresAt}`,
169
169
  ];
@@ -176,7 +176,7 @@ export function formatJobAudio(result) {
176
176
  export function formatJobWaveform(result) {
177
177
  const lines = [
178
178
  `**Job Waveform**`,
179
- `Job: ${result.jobId.substring(0, 8)}...`,
179
+ `Job: \`${result.jobId}\``,
180
180
  `Waveform: ${result.waveformUrl}`,
181
181
  `Zoom: ${result.zoom} (${result.samplesPerPixel} samples/px)`,
182
182
  `Expires: ${result.expiresAt}`,
@@ -202,10 +202,10 @@ export function formatWebhookList(result) {
202
202
  lines.push('| ID | URL | Events | Status | Failures |');
203
203
  lines.push('|----|-----|--------|--------|----------|');
204
204
  for (const w of result.webhooks) {
205
- const id = w.id.substring(0, 8);
206
205
  const url = w.url.length > 40 ? w.url.substring(0, 37) + '...' : w.url;
207
206
  const events = w.events.join(', ');
208
- lines.push(`| ${id}... | ${url} | ${events} | ${w.status} | ${w.failureCount} |`);
207
+ // Full webhook ID needed for `h-ear webhook get/update/delete <id>`.
208
+ lines.push(`| \`${w.id}\` | ${url} | ${events} | ${w.status} | ${w.failureCount} |`);
209
209
  }
210
210
  }
211
211
  else {
@@ -218,7 +218,7 @@ export function formatWebhookList(result) {
218
218
  }
219
219
  export function formatWebhookDetail(webhook) {
220
220
  const lines = [
221
- `**Webhook ${webhook.id.substring(0, 8)}...**`,
221
+ `**Webhook** \`${webhook.id}\``,
222
222
  `URL: ${webhook.url}`,
223
223
  `Events: ${webhook.events.join(', ')}`,
224
224
  `Status: ${webhook.status}`,
@@ -263,7 +263,7 @@ export function formatWebhookPing(result) {
263
263
  export function formatJobReport(result) {
264
264
  return [
265
265
  `**Job Report**`,
266
- `Job: ${result.jobId.substring(0, 8)}...`,
266
+ `Job: \`${result.jobId}\``,
267
267
  `Report: ${result.reportUrl}`,
268
268
  `Expires: ${result.expiresIn}`,
269
269
  ].join('\n');
@@ -275,7 +275,7 @@ export function formatWebhookUpdated(webhook) {
275
275
  ].join('\n');
276
276
  }
277
277
  export function formatWebhookDeleted(webhookId) {
278
- return `Webhook **${webhookId.substring(0, 8)}...** deleted.`;
278
+ return `Webhook \`${webhookId}\` deleted.`;
279
279
  }
280
280
  export function formatWebhookDeliveries(result) {
281
281
  const lines = [
@@ -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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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Single source of truth for the `h-ear` CLI command surface.
3
+ *
4
+ * Each entry binds:
5
+ * - The CLI path the user types (e.g. ["job", "events"])
6
+ * - A schema name from @h-ear/core (Zod shape + description, shared with mcp-server)
7
+ * - A handler that calls the underlying library command
8
+ *
9
+ * Consumed by:
10
+ * - cli.ts → dispatcher, top-level help, per-subcommand help, --list-tools --json
11
+ * - scripts/doc.shared-generate.mjs → bakes the SKILL.md commands table
12
+ *
13
+ * Why this exists: the CLI surface, the SKILL.md the LLM reads, and the JSON
14
+ * the LLM gets from `h-ear --list-tools` MUST agree, or qwen2.5:14b (and any
15
+ * tool-using model) starts inventing flags. By making a single manifest the
16
+ * authority, drift is impossible.
17
+ */
18
+ import type { HearApiClient } from '@h-ear/core';
19
+ export interface ParsedArgs {
20
+ /** Positional values, indexed by their declared name. */
21
+ positionals: Record<string, string | undefined>;
22
+ /** Flag values, raw strings (numbers parsed in the handler). */
23
+ flags: Record<string, string | undefined>;
24
+ /** Boolean flags that were present. */
25
+ bools: Record<string, boolean>;
26
+ }
27
+ export interface CommandPositional {
28
+ /** Positional name as the user types it: `<jobId>`. */
29
+ name: string;
30
+ /** Schema key this positional binds to (for help text). */
31
+ schemaKey: string;
32
+ /** Whether this positional is required. Defaults to true. */
33
+ required?: boolean;
34
+ }
35
+ export interface CommandFlag {
36
+ /** Flag name without leading dashes: "limit" → --limit. */
37
+ name: string;
38
+ /** Schema key this flag binds to. */
39
+ schemaKey: string;
40
+ /** Type hint for parsing — string is left as-is, number is parseFloat'd. */
41
+ kind: 'string' | 'number' | 'boolean';
42
+ }
43
+ export interface CommandSpec {
44
+ /** CLI path, e.g. ["jobs"] or ["job", "events"] or ["webhook", "list"]. */
45
+ cliPath: string[];
46
+ /** Key in toolShapes/toolDescriptions in @h-ear/core, e.g. "getJobEvents". */
47
+ schemaName: string;
48
+ /** One-line summary for top-level help. Pulled from schema if omitted. */
49
+ summary: string;
50
+ /** Positional args declared in CLI order. */
51
+ positionals?: CommandPositional[];
52
+ /** Flag args. */
53
+ flags?: CommandFlag[];
54
+ /** Concrete examples — the LLM reads these to learn the syntax. */
55
+ examples: string[];
56
+ /** Calls the underlying library command and returns formatted markdown. */
57
+ handler: (client: HearApiClient, parsed: ParsedArgs) => Promise<string>;
58
+ }
59
+ export declare const COMMANDS: CommandSpec[];
60
+ /** Find the longest-prefix manifest entry matching the user's argv tokens. */
61
+ export declare function findCommand(argv: string[]): {
62
+ spec: CommandSpec;
63
+ remaining: string[];
64
+ } | null;
65
+ /** Render the manifest as MCP-style JSON for `--list-tools --json`. */
66
+ export declare function listToolsJson(): unknown;
67
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoBjD,MAAM,WAAW,UAAU;IACvB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAC9B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IACxB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,iBAAiB;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E;AAuBD,eAAO,MAAM,QAAQ,EAAE,WAAW,EAwPjC,CAAC;AAIF,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAS7F;AAED,uEAAuE;AACvE,wBAAgB,aAAa,IAAI,OAAO,CAyBvC"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Single source of truth for the `h-ear` CLI command surface.
3
+ *
4
+ * Each entry binds:
5
+ * - The CLI path the user types (e.g. ["job", "events"])
6
+ * - A schema name from @h-ear/core (Zod shape + description, shared with mcp-server)
7
+ * - A handler that calls the underlying library command
8
+ *
9
+ * Consumed by:
10
+ * - cli.ts → dispatcher, top-level help, per-subcommand help, --list-tools --json
11
+ * - scripts/doc.shared-generate.mjs → bakes the SKILL.md commands table
12
+ *
13
+ * Why this exists: the CLI surface, the SKILL.md the LLM reads, and the JSON
14
+ * the LLM gets from `h-ear --list-tools` MUST agree, or qwen2.5:14b (and any
15
+ * tool-using model) starts inventing flags. By making a single manifest the
16
+ * authority, drift is impossible.
17
+ */
18
+ import { toolDescriptions, toolShapes } from '@h-ear/core';
19
+ import { healthCommand } from './commands/health.js';
20
+ import { soundsCommand } from './commands/sounds.js';
21
+ import { usageCommand } from './commands/usage.js';
22
+ import { classifySyncCommand, classifyFileCommand } from './commands/classify.js';
23
+ import { jobsCommand, jobDetailCommand } from './commands/jobs.js';
24
+ import { jobEventsCommand } from './commands/job-events.js';
25
+ import { jobAudioCommand } from './commands/job-audio.js';
26
+ import { jobWaveformCommand } from './commands/job-waveform.js';
27
+ import { jobReportCommand } from './commands/job-report.js';
28
+ import { webhookListCommand, webhookDetailCommand, webhookCreateCommand, webhookPingCommand, webhookDeliveriesCommand, webhookUpdateCommand, webhookDeleteCommand, } from './commands/webhooks.js';
29
+ // ─── Helpers for handlers ────────────────────────────────────────────────────
30
+ function num(v) {
31
+ if (v === undefined)
32
+ return undefined;
33
+ const n = parseFloat(v);
34
+ return Number.isFinite(n) ? n : undefined;
35
+ }
36
+ function int(v) {
37
+ const n = num(v);
38
+ return n === undefined ? undefined : Math.trunc(n);
39
+ }
40
+ function need(parsed, name) {
41
+ const v = parsed.positionals[name];
42
+ if (v === undefined || v === '')
43
+ throw new Error(`Missing required positional <${name}>`);
44
+ return v;
45
+ }
46
+ // ─── Manifest ────────────────────────────────────────────────────────────────
47
+ export const COMMANDS = [
48
+ {
49
+ cliPath: ['health'],
50
+ schemaName: 'healthCheck',
51
+ summary: 'Check H-ear API health and liveness (no auth required).',
52
+ examples: ['h-ear health'],
53
+ handler: (client) => healthCommand(client),
54
+ },
55
+ {
56
+ cliPath: ['usage'],
57
+ schemaName: 'usage',
58
+ summary: 'Show API usage statistics (minutes, calls, quota).',
59
+ examples: ['h-ear usage'],
60
+ handler: (client) => usageCommand(client),
61
+ },
62
+ {
63
+ cliPath: ['sounds'],
64
+ schemaName: 'listClasses',
65
+ summary: 'List supported sound classes (521+ across 3 taxonomies).',
66
+ positionals: [{ name: 'search', schemaKey: 'category', required: false }],
67
+ flags: [
68
+ { name: 'limit', schemaKey: 'limit', kind: 'number' },
69
+ { name: 'offset', schemaKey: 'offset', kind: 'number' },
70
+ { name: 'taxonomy', schemaKey: 'taxonomy', kind: 'string' },
71
+ ],
72
+ examples: [
73
+ 'h-ear sounds # default 20 from yamnet-521',
74
+ 'h-ear sounds Animal --limit 5 # 5 animal classes',
75
+ 'h-ear sounds --taxonomy species # bird species taxonomy',
76
+ ],
77
+ handler: (client, p) => soundsCommand(client, p.positionals.search, {
78
+ limit: int(p.flags.limit),
79
+ offset: int(p.flags.offset),
80
+ taxonomy: p.flags.taxonomy,
81
+ }),
82
+ },
83
+ {
84
+ cliPath: ['jobs'],
85
+ schemaName: 'listJobs',
86
+ summary: 'List recent classification jobs (paginated).',
87
+ flags: [
88
+ { name: 'limit', schemaKey: 'limit', kind: 'number' },
89
+ { name: 'offset', schemaKey: 'offset', kind: 'number' },
90
+ { name: 'status', schemaKey: 'status', kind: 'string' },
91
+ { name: 'batchId', schemaKey: 'batchId', kind: 'string' },
92
+ ],
93
+ examples: [
94
+ 'h-ear jobs # last 10 jobs',
95
+ 'h-ear jobs --limit 5 # last 5',
96
+ 'h-ear jobs --status completed # only completed',
97
+ ],
98
+ handler: (client, p) => jobsCommand(client, {
99
+ limit: int(p.flags.limit),
100
+ offset: int(p.flags.offset),
101
+ status: p.flags.status,
102
+ }),
103
+ },
104
+ {
105
+ cliPath: ['job'],
106
+ schemaName: 'getJob',
107
+ summary: 'Get detail for one job: status, fileName, eventCount, timestamps.',
108
+ positionals: [{ name: 'jobId', schemaKey: 'jobId' }],
109
+ examples: ['h-ear job job-1777340510821-1453bf9b-...'],
110
+ handler: (client, p) => jobDetailCommand(client, need(p, 'jobId')),
111
+ },
112
+ {
113
+ cliPath: ['job', 'events'],
114
+ schemaName: 'getJobEvents',
115
+ summary: 'Get noise events for a completed job (timeline order, filterable).',
116
+ positionals: [{ name: 'jobId', schemaKey: 'jobId' }],
117
+ flags: [
118
+ { name: 'minConfidence', schemaKey: 'minConfidence', kind: 'number' },
119
+ { name: 'category', schemaKey: 'category', kind: 'string' },
120
+ { name: 'tier2', schemaKey: 'tier2', kind: 'string' },
121
+ { name: 'tier3', schemaKey: 'tier3', kind: 'string' },
122
+ { name: 'startTime', schemaKey: 'startTime', kind: 'number' },
123
+ { name: 'endTime', schemaKey: 'endTime', kind: 'number' },
124
+ { name: 'sourceId', schemaKey: 'sourceId', kind: 'string' },
125
+ { name: 'taxonomy', schemaKey: 'taxonomy', kind: 'string' },
126
+ { name: 'offset', schemaKey: 'offset', kind: 'number' },
127
+ ],
128
+ examples: [
129
+ 'h-ear job events job-1777...',
130
+ 'h-ear job events job-1777... --minConfidence 0.7',
131
+ 'h-ear job events job-1777... --category Animal --tier3 Dog',
132
+ ],
133
+ handler: (client, p) => jobEventsCommand(client, need(p, 'jobId'), {
134
+ minConfidence: num(p.flags.minConfidence),
135
+ category: p.flags.category,
136
+ tier2: p.flags.tier2,
137
+ tier3: p.flags.tier3,
138
+ startTime: num(p.flags.startTime),
139
+ endTime: num(p.flags.endTime),
140
+ sourceId: p.flags.sourceId,
141
+ taxonomy: p.flags.taxonomy,
142
+ offset: int(p.flags.offset),
143
+ }),
144
+ },
145
+ {
146
+ cliPath: ['job', 'audio'],
147
+ schemaName: 'getJobAudio',
148
+ summary: 'Get a 1-hour SAS URL to stream the source audio of a job.',
149
+ positionals: [{ name: 'jobId', schemaKey: 'jobId' }],
150
+ examples: ['h-ear job audio job-1777...'],
151
+ handler: (client, p) => jobAudioCommand(client, need(p, 'jobId')),
152
+ },
153
+ {
154
+ cliPath: ['job', 'waveform'],
155
+ schemaName: 'getJobWaveform',
156
+ summary: 'Get pre-computed peaks.js waveform + audio URL.',
157
+ positionals: [{ name: 'jobId', schemaKey: 'jobId' }],
158
+ flags: [{ name: 'zoom', schemaKey: 'zoom', kind: 'number' }],
159
+ examples: [
160
+ 'h-ear job waveform job-1777...',
161
+ 'h-ear job waveform job-1777... --zoom 256 # high detail',
162
+ ],
163
+ handler: (client, p) => jobWaveformCommand(client, need(p, 'jobId'), {
164
+ zoom: int(p.flags.zoom),
165
+ }),
166
+ },
167
+ {
168
+ cliPath: ['job', 'report'],
169
+ schemaName: 'getJobReport',
170
+ summary: 'Get a 7-day SAS URL to download the Excel analysis report.',
171
+ positionals: [{ name: 'jobId', schemaKey: 'jobId' }],
172
+ examples: ['h-ear job report job-1777...'],
173
+ handler: (client, p) => jobReportCommand(client, need(p, 'jobId')),
174
+ },
175
+ {
176
+ cliPath: ['classify'],
177
+ schemaName: 'classifyAudio',
178
+ summary: 'Classify audio (URL or local file). Polls until complete.',
179
+ positionals: [{ name: 'fileOrUrl', schemaKey: 'filePath' }],
180
+ flags: [
181
+ { name: 'threshold', schemaKey: 'threshold', kind: 'number' },
182
+ { name: 'lat', schemaKey: 'latitude', kind: 'number' },
183
+ { name: 'lng', schemaKey: 'longitude', kind: 'number' },
184
+ { name: 'callbackUrl', schemaKey: 'callbackUrl', kind: 'string' },
185
+ ],
186
+ examples: [
187
+ 'h-ear classify https://example.com/audio.mp3',
188
+ 'h-ear classify /path/to/local.wav --threshold 0.5',
189
+ 'h-ear classify ./demo.mp3 --lat -35.25 --lng 149.05',
190
+ ],
191
+ handler: async (client, p) => {
192
+ const target = p.positionals.fileOrUrl;
193
+ if (!target)
194
+ throw new Error('h-ear classify <file-or-url> is required');
195
+ const opts = {
196
+ threshold: num(p.flags.threshold),
197
+ latitude: num(p.flags.lat),
198
+ longitude: num(p.flags.lng),
199
+ callbackUrl: p.flags.callbackUrl,
200
+ };
201
+ const onProgress = (msg) => process.stderr.write(` ${msg}\n`);
202
+ if (target.startsWith('http://') || target.startsWith('https://')) {
203
+ return classifySyncCommand(client, target, opts, onProgress);
204
+ }
205
+ return classifyFileCommand(client, target, { ...opts, waitForResult: true }, onProgress);
206
+ },
207
+ },
208
+ {
209
+ cliPath: ['webhook', 'list'],
210
+ schemaName: 'listWebhooks',
211
+ summary: 'List enterprise webhook registrations.',
212
+ examples: ['h-ear webhook list'],
213
+ handler: (client) => webhookListCommand(client),
214
+ },
215
+ {
216
+ cliPath: ['webhook', 'get'],
217
+ schemaName: 'getWebhook',
218
+ summary: 'Show one webhook (URL, events, filter config, delivery stats).',
219
+ positionals: [{ name: 'webhookId', schemaKey: 'webhookId' }],
220
+ examples: ['h-ear webhook get wh_abc123'],
221
+ handler: (client, p) => webhookDetailCommand(client, need(p, 'webhookId')),
222
+ },
223
+ {
224
+ cliPath: ['webhook', 'create'],
225
+ schemaName: 'createWebhook',
226
+ summary: 'Create an enterprise webhook (returns signing secret ONCE).',
227
+ positionals: [{ name: 'url', schemaKey: 'url' }],
228
+ flags: [
229
+ { name: 'description', schemaKey: 'description', kind: 'string' },
230
+ ],
231
+ examples: [
232
+ 'h-ear webhook create https://my.host/hook',
233
+ 'h-ear webhook create https://my.host/hook --description "alerts"',
234
+ ],
235
+ handler: (client, p) => webhookCreateCommand(client, need(p, 'url'), {
236
+ description: p.flags.description,
237
+ }),
238
+ },
239
+ {
240
+ cliPath: ['webhook', 'update'],
241
+ schemaName: 'updateWebhook',
242
+ summary: 'Update webhook URL, status (active/paused), or filters.',
243
+ positionals: [{ name: 'webhookId', schemaKey: 'webhookId' }],
244
+ flags: [
245
+ { name: 'url', schemaKey: 'url', kind: 'string' },
246
+ { name: 'status', schemaKey: 'status', kind: 'string' },
247
+ { name: 'description', schemaKey: 'description', kind: 'string' },
248
+ ],
249
+ examples: [
250
+ 'h-ear webhook update wh_abc123 --status paused',
251
+ 'h-ear webhook update wh_abc123 --url https://new.host/hook',
252
+ ],
253
+ handler: (client, p) => webhookUpdateCommand(client, need(p, 'webhookId'), {
254
+ url: p.flags.url,
255
+ status: p.flags.status,
256
+ description: p.flags.description,
257
+ }),
258
+ },
259
+ {
260
+ cliPath: ['webhook', 'delete'],
261
+ schemaName: 'deleteWebhook',
262
+ summary: 'Permanently delete a webhook (cannot be undone).',
263
+ positionals: [{ name: 'webhookId', schemaKey: 'webhookId' }],
264
+ examples: ['h-ear webhook delete wh_abc123'],
265
+ handler: (client, p) => webhookDeleteCommand(client, need(p, 'webhookId')),
266
+ },
267
+ {
268
+ cliPath: ['webhook', 'ping'],
269
+ schemaName: 'pingWebhook',
270
+ summary: 'Send a test ping to a webhook (verify connectivity + signing).',
271
+ positionals: [{ name: 'webhookId', schemaKey: 'webhookId' }],
272
+ examples: ['h-ear webhook ping wh_abc123'],
273
+ handler: (client, p) => webhookPingCommand(client, need(p, 'webhookId')),
274
+ },
275
+ {
276
+ cliPath: ['webhook', 'deliveries'],
277
+ schemaName: 'listWebhookDeliveries',
278
+ summary: 'Audit trail: recent delivery attempts for a webhook.',
279
+ positionals: [{ name: 'webhookId', schemaKey: 'webhookId' }],
280
+ flags: [{ name: 'limit', schemaKey: 'limit', kind: 'number' }],
281
+ examples: [
282
+ 'h-ear webhook deliveries wh_abc123',
283
+ 'h-ear webhook deliveries wh_abc123 --limit 50',
284
+ ],
285
+ handler: (client, p) => webhookDeliveriesCommand(client, need(p, 'webhookId'), {
286
+ limit: int(p.flags.limit),
287
+ }),
288
+ },
289
+ ];
290
+ // ─── Lookups & introspection ─────────────────────────────────────────────────
291
+ /** Find the longest-prefix manifest entry matching the user's argv tokens. */
292
+ export function findCommand(argv) {
293
+ // Sort by depth descending so "job events" beats "job"
294
+ const byDepth = [...COMMANDS].sort((a, b) => b.cliPath.length - a.cliPath.length);
295
+ for (const spec of byDepth) {
296
+ if (argv.length < spec.cliPath.length)
297
+ continue;
298
+ const matches = spec.cliPath.every((p, i) => argv[i] === p);
299
+ if (matches)
300
+ return { spec, remaining: argv.slice(spec.cliPath.length) };
301
+ }
302
+ return null;
303
+ }
304
+ /** Render the manifest as MCP-style JSON for `--list-tools --json`. */
305
+ export function listToolsJson() {
306
+ return COMMANDS.map(spec => {
307
+ const shape = toolShapes[spec.schemaName];
308
+ const params = {};
309
+ if (shape) {
310
+ for (const [key, zod] of Object.entries(shape)) {
311
+ // .description() lives on the zod object's _def; defensively read it.
312
+ const def = zod._def;
313
+ params[key] = {
314
+ description: def?.description ?? '',
315
+ type: def?.typeName ?? 'unknown',
316
+ };
317
+ }
318
+ }
319
+ return {
320
+ name: spec.cliPath.join(' '),
321
+ schemaName: spec.schemaName,
322
+ summary: spec.summary,
323
+ description: toolDescriptions[spec.schemaName] ?? spec.summary,
324
+ positionals: spec.positionals ?? [],
325
+ flags: spec.flags ?? [],
326
+ examples: spec.examples,
327
+ params,
328
+ };
329
+ });
330
+ }
331
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,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,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,EACH,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAC9D,kBAAkB,EAAE,wBAAwB,EAC5C,oBAAoB,EAAE,oBAAoB,GAC7C,MAAM,wBAAwB,CAAC;AAgDhC,gFAAgF;AAEhF,SAAS,GAAG,CAAC,CAAqB;IAC9B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,GAAG,CAAC,CAAqB;IAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,IAAI,CAAC,MAAkB,EAAE,IAAY;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,GAAG,CAAC,CAAC;IAC1F,OAAO,CAAC,CAAC;AACb,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACnC;QACI,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,yDAAyD;QAClE,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;KAC7C;IACD;QACI,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO;QACnB,OAAO,EAAE,oDAAoD;QAC7D,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;KAC5C;IACD;QACI,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACzE,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9D;QACD,QAAQ,EAAE;YACN,oEAAoE;YACpE,0DAA0D;YAC1D,+DAA+D;SAClE;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE;YACxC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAgF;SACrG,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,8CAA8C;QACvD,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5D;QACD,QAAQ,EAAE;YACN,sDAAsD;YACtD,gDAAgD;YAChD,wDAAwD;SAC3D;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,WAAW,CAAC,MAAM,EAAE;YAChB,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;SACzB,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,KAAK,CAAC;QAChB,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,mEAAmE;QAC5E,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACpD,QAAQ,EAAE,CAAC,0CAA0C,CAAC;QACtD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;KACrE;IACD;QACI,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC1B,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,oEAAoE;QAC7E,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACpD,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrD,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzD,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC1D;QACD,QAAQ,EAAE;YACN,8BAA8B;YAC9B,kDAAkD;YAClD,4DAA4D;SAC/D;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YACvC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;YACzC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;YACpB,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACjC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC1B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;SAC9B,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QACzB,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,2DAA2D;QACpE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACpD,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;KACpE;IACD;QACI,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACpD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5D,QAAQ,EAAE;YACN,gCAAgC;YAChC,2DAA2D;SAC9D;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE;YACzC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAkC;SAC3D,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC1B,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,4DAA4D;QACrE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACpD,QAAQ,EAAE,CAAC,8BAA8B,CAAC;QAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;KACrE;IACD;QACI,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,2DAA2D;QACpE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QAC3D,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7D,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtD,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpE;QACD,QAAQ,EAAE;YACN,8CAA8C;YAC9C,mDAAmD;YACnD,qDAAqD;SACxD;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG;gBACT,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBACjC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC1B,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC3B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW;aACnC,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACvE,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7F,CAAC;KACJ;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,wCAAwC;QACjD,QAAQ,EAAE,CAAC,oBAAoB,CAAC;QAChC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC;KAClD;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QAC3B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE,gEAAgE;QACzE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,EAAE,CAAC,6BAA6B,CAAC;QACzC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;KAC7E;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC9B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,6DAA6D;QACtE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAChD,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpE;QACD,QAAQ,EAAE;YACN,2CAA2C;YAC3C,kEAAkE;SACrE;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;YACzC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW;SACnC,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC9B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,yDAAyD;QAClE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5D,KAAK,EAAE;YACH,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpE;QACD,QAAQ,EAAE;YACN,gDAAgD;YAChD,4DAA4D;SAC/D;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE;YAC/C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;YAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAyC;YACzD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW;SACnC,CAAC;KACT;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC9B,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,EAAE,CAAC,gCAAgC,CAAC;QAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;KAC7E;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,gEAAgE;QACzE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5D,QAAQ,EAAE,CAAC,8BAA8B,CAAC;QAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;KAC3E;IACD;QACI,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAClC,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,sDAAsD;QAC/D,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAC5D,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC9D,QAAQ,EAAE;YACN,oCAAoC;YACpC,+CAA+C;SAClD;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACnB,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE;YACnD,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;SAC5B,CAAC;KACT;CACJ,CAAC;AAEF,gFAAgF;AAEhF,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,IAAc;IACtC,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,SAAS;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa;IACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,sEAAsE;gBACtE,MAAM,GAAG,GAAI,GAA8D,CAAC,IAAI,CAAC;gBACjF,MAAM,CAAC,GAAG,CAAC,GAAG;oBACV,WAAW,EAAE,GAAG,EAAE,WAAW,IAAI,EAAE;oBACnC,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS;iBACnC,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM;SACT,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@h-ear/openclaw",
3
- "version": "1.1.5-dev.202604280224",
3
+ "version": "1.1.5-dev.202604290216",
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",