@h-ear/openclaw 1.1.5-dev.202604280224 → 1.1.5
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 +21 -21
- package/dist/cli.d.ts +10 -12
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +242 -109
- package/dist/cli.js.map +1 -1
- package/dist/commands/classify.js +1 -1
- package/dist/commands/classify.js.map +1 -1
- package/dist/formatter.js +12 -12
- package/dist/formatter.js.map +1 -1
- package/dist/manifest.d.ts +67 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +331 -0
- package/dist/manifest.js.map +1 -0
- package/package.json +1 -1
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
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `job <
|
|
29
|
-
| `job
|
|
30
|
-
| `job
|
|
31
|
-
| `
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `webhook
|
|
36
|
-
| `webhook
|
|
37
|
-
| `webhook
|
|
38
|
-
| `webhook
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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 —
|
|
3
|
+
* h-ear CLI — manifest-driven dispatcher for the H-ear OpenClaw skill.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
-
*
|
|
14
|
-
*
|
|
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
|
|
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 —
|
|
3
|
+
* h-ear CLI — manifest-driven dispatcher for the H-ear OpenClaw skill.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
-
*
|
|
14
|
-
*
|
|
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 {
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
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
|
|
36
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
184
|
+
// ─── Main ────────────────────────────────────────────────────────────────────
|
|
68
185
|
async function main() {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
93
|
-
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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
|
-
|
|
262
|
+
unlinkSync(tmpFile);
|
|
142
263
|
}
|
|
143
|
-
|
|
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
|
-
|
|
156
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAYhF,SAAS,WAAW,CAAC,IAAgD;IACjE,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;AACL,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,aAAa,CAAC,MAAqB;IAC9C,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,GAAG,YAAY,YAAY,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,wCAAwC,CAAC,CAAC;
|
|
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
|
-
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
|
278
|
+
return `Webhook \`${webhookId}\` deleted.`;
|
|
279
279
|
}
|
|
280
280
|
export function formatWebhookDeliveries(result) {
|
|
281
281
|
const lines = [
|
package/dist/formatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACvD,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,IAAK,MAA0B,CAAC,EAAE,IAAI,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAa;QACpB,mCAAmC;QACnC,aAAa,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,UAAU,wBAAwB;KAClG,CAAC;IAEF,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,2CAA2C,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,iGAAiG,CAAC,CAAC;IAC9I,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAe;IACpE,MAAM,KAAK,GAAa;QACpB,sBAAsB,MAAM,CAAC,QAAQ,GAAG;QACxC,GAAG,MAAM,CAAC,aAAa,OAAO,MAAM,CAAC,cAAc,UAAU;QAC7D,EAAE;KACL,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,MAAM,CAAC,aAAa,8BAA8B,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC7C,OAAO;QACH,sBAAsB;QACtB,WAAW,MAAM,CAAC,MAAM,EAAE;QAC1B,YAAY,MAAM,CAAC,OAAO,EAAE;QAC5B,aAAa,MAAM,CAAC,iBAAiB,EAAE;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAC5D,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;QACH,qBAAqB;QACrB,SAAS,MAAM,CAAC,IAAI,EAAE;QACtB,YAAY,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,UAAU,IAAI;QAC1H,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,WAAW,QAAQ,IAAI;QAC5G,cAAc,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ;QAC7D,WAAW,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;KAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC7C,MAAM,KAAK,GAAa;QACpB,oBAAoB,MAAM,CAAC,KAAK,SAAS;QACzC,EAAE;KACL,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,mEAAmE;YACnE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAK,GAAuB,CAAC,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAChE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC;YACrC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACvF,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,MAAM,MAAM,IAAI,MAAM,MAAM,MAAM,OAAO,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,iCAAiC,CAAC,CAAC;QACvG,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC7C,6DAA6D;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAK,MAA0B,CAAC,EAAE,IAAI,EAAE,CAAC;IAEnE,MAAM,KAAK,GAAa;QACpB,SAAS,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO;QACrC,WAAW,MAAM,CAAC,MAAM,EAAE;KAC7B,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAEvE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,KAAK,8FAA8F,CAAC,CAAC;IAC9I,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAc,EAAE,MAAuB;IACvE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAuB;IAC3D,OAAO;QACH,qBAAqB;QACrB,WAAW,QAAQ,CAAC,SAAS,EAAE;QAC/B,WAAW,QAAQ,CAAC,MAAM,EAAE;QAC5B,uCAAuC;QACvC,EAAE;QACF,uBAAuB,QAAQ,CAAC,SAAS,IAAI;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,MAAM,KAAK,GAAa;QACpB,mBAAmB,MAAM,CAAC,KAAK,SAAS;QACxC,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;QACzC,EAAE;KACL,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAEtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC;YACrD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;YACxB,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,8BAA8B,CAAC,CAAC;QACtG,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAsB;IACjD,MAAM,KAAK,GAAa;QACpB,eAAe;QACf,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;QACzC,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACzB,YAAY,MAAM,CAAC,SAAS,EAAE;KACjC,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACvD,MAAM,KAAK,GAAa;QACpB,kBAAkB;QAClB,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;QACzC,aAAa,MAAM,CAAC,WAAW,EAAE;QACjC,SAAS,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,eAAe,cAAc;QAC7D,YAAY,MAAM,CAAC,SAAS,EAAE;KACjC,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACpD,OAAO,mDAAmD,UAAU,iBAAiB,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACtD,OAAO,eAAe,UAAU,sBAAsB,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAmC;IACjE,MAAM,KAAK,GAAa;QACpB,iBAAiB,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,GAAG;QAChE,EAAE;KACL,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAExD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACvE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,MAAM,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,8BAA8B,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC1D,MAAM,KAAK,GAAa;QACpB,aAAa,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO;QAC9C,QAAQ,OAAO,CAAC,GAAG,EAAE;QACrB,WAAW,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACtC,WAAW,OAAO,CAAC,MAAM,EAAE;QAC3B,aAAa,OAAO,CAAC,YAAY,EAAE;KACtC,CAAC;IAEF,IAAI,OAAO,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,sBAAsB;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,OAAO,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC;IACnH,IAAI,OAAO,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE5C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAqC;IACtE,OAAO;QACH,qBAAqB;QACrB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;QAC1B,QAAQ,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QAC5B,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC7C,EAAE;QACF,eAAe,MAAM,CAAC,MAAM,MAAM;QAClC,8EAA8E;KACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,OAAO;QACH,kBAAkB,MAAM,IAAI;QAC5B,gBAAgB,MAAM,CAAC,UAAU,EAAE;QACnC,aAAa,MAAM,CAAC,cAAc,IAAI,KAAK,EAAE;QAC7C,aAAa,MAAM,CAAC,UAAU,IAAI;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,OAAO;QACH,gBAAgB;QAChB,QAAQ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;QACzC,WAAW,MAAM,CAAC,SAAS,EAAE;QAC7B,YAAY,MAAM,CAAC,SAAS,EAAE;KACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC3D,OAAO;QACH,qBAAqB;QACrB,mBAAmB,CAAC,OAAO,CAAC;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IAClD,OAAO,aAAa,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IACnE,MAAM,KAAK,GAAa;QACpB,2BAA2B,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG;QACtD,EAAE;KACL,CAAC;IAEF,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAE5D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,cAAc,IAAI,GAAG,CAAC;YACvC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,MAAM,MAAM,OAAO,MAAM,CAAC,CAAC,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
|
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"}
|
package/dist/manifest.js
ADDED
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@h-ear/openclaw",
|
|
3
|
-
"version": "1.1.5
|
|
3
|
+
"version": "1.1.5",
|
|
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",
|