zerg-ztc 0.1.11 → 0.1.12
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/bin/ztc-audio-darwin-arm64 +0 -0
- package/dist/utils/dictation_native.d.ts.map +1 -1
- package/dist/utils/dictation_native.js +43 -23
- package/dist/utils/dictation_native.js.map +1 -1
- package/package.json +5 -4
- package/packages/ztc-dictation/Cargo.toml +0 -43
- package/packages/ztc-dictation/README.md +0 -65
- package/packages/ztc-dictation/index.d.ts +0 -16
- package/packages/ztc-dictation/index.js +0 -74
- package/packages/ztc-dictation/package.json +0 -41
- package/packages/ztc-dictation/src/main.rs +0 -430
- package/src/App.tsx +0 -910
- package/src/agent/agent.ts +0 -534
- package/src/agent/backends/anthropic.ts +0 -86
- package/src/agent/backends/gemini.ts +0 -119
- package/src/agent/backends/inception.ts +0 -23
- package/src/agent/backends/index.ts +0 -17
- package/src/agent/backends/openai.ts +0 -23
- package/src/agent/backends/openai_compatible.ts +0 -143
- package/src/agent/backends/types.ts +0 -83
- package/src/agent/commands/clipboard.ts +0 -77
- package/src/agent/commands/config.ts +0 -204
- package/src/agent/commands/debug.ts +0 -23
- package/src/agent/commands/dictation.ts +0 -11
- package/src/agent/commands/emulation.ts +0 -80
- package/src/agent/commands/execution.ts +0 -9
- package/src/agent/commands/help.ts +0 -20
- package/src/agent/commands/history.ts +0 -13
- package/src/agent/commands/index.ts +0 -48
- package/src/agent/commands/input_mode.ts +0 -22
- package/src/agent/commands/keybindings.ts +0 -40
- package/src/agent/commands/model.ts +0 -11
- package/src/agent/commands/models.ts +0 -116
- package/src/agent/commands/permissions.ts +0 -64
- package/src/agent/commands/retry.ts +0 -9
- package/src/agent/commands/shell.ts +0 -68
- package/src/agent/commands/skills.ts +0 -54
- package/src/agent/commands/status.ts +0 -19
- package/src/agent/commands/types.ts +0 -88
- package/src/agent/commands/update.ts +0 -32
- package/src/agent/factory.ts +0 -60
- package/src/agent/index.ts +0 -20
- package/src/agent/runtime/capabilities.ts +0 -7
- package/src/agent/runtime/memory.ts +0 -23
- package/src/agent/runtime/policy.ts +0 -48
- package/src/agent/runtime/session.ts +0 -18
- package/src/agent/runtime/tracing.ts +0 -23
- package/src/agent/tools/file.ts +0 -178
- package/src/agent/tools/index.ts +0 -52
- package/src/agent/tools/screenshot.ts +0 -821
- package/src/agent/tools/search.ts +0 -138
- package/src/agent/tools/shell.ts +0 -69
- package/src/agent/tools/skills.ts +0 -28
- package/src/agent/tools/types.ts +0 -14
- package/src/agent/tools/zerg.ts +0 -50
- package/src/cli.tsx +0 -163
- package/src/components/ActivityLine.tsx +0 -23
- package/src/components/FullScreen.tsx +0 -79
- package/src/components/Header.tsx +0 -27
- package/src/components/InputArea.tsx +0 -1660
- package/src/components/MessageList.tsx +0 -71
- package/src/components/SingleMessage.tsx +0 -298
- package/src/components/StatusBar.tsx +0 -55
- package/src/components/index.tsx +0 -8
- package/src/config/types.ts +0 -19
- package/src/config.ts +0 -186
- package/src/debug/logger.ts +0 -14
- package/src/emulation/README.md +0 -24
- package/src/emulation/catalog.ts +0 -82
- package/src/emulation/trace_style.ts +0 -8
- package/src/emulation/types.ts +0 -7
- package/src/skills/index.ts +0 -36
- package/src/skills/loader.ts +0 -135
- package/src/skills/registry.ts +0 -6
- package/src/skills/types.ts +0 -10
- package/src/types.ts +0 -84
- package/src/ui/README.md +0 -44
- package/src/ui/core/factory.ts +0 -9
- package/src/ui/core/index.ts +0 -4
- package/src/ui/core/input.ts +0 -38
- package/src/ui/core/input_segments.ts +0 -410
- package/src/ui/core/input_state.ts +0 -17
- package/src/ui/core/layout_yoga.ts +0 -122
- package/src/ui/core/style.ts +0 -38
- package/src/ui/core/types.ts +0 -54
- package/src/ui/ink/index.tsx +0 -1
- package/src/ui/ink/render.tsx +0 -60
- package/src/ui/views/activity_line.ts +0 -33
- package/src/ui/views/app.ts +0 -111
- package/src/ui/views/header.ts +0 -44
- package/src/ui/views/input_area.ts +0 -255
- package/src/ui/views/message_list.ts +0 -443
- package/src/ui/views/status_bar.ts +0 -114
- package/src/ui/vue/index.ts +0 -53
- package/src/ui/web/frame_render.tsx +0 -148
- package/src/ui/web/index.tsx +0 -1
- package/src/ui/web/render.tsx +0 -41
- package/src/utils/clipboard.ts +0 -39
- package/src/utils/clipboard_image.ts +0 -40
- package/src/utils/dictation.ts +0 -467
- package/src/utils/dictation_native.ts +0 -258
- package/src/utils/diff.ts +0 -52
- package/src/utils/image_preview.ts +0 -36
- package/src/utils/models.ts +0 -98
- package/src/utils/path_complete.ts +0 -173
- package/src/utils/path_format.ts +0 -99
- package/src/utils/shell.ts +0 -72
- package/src/utils/spinner_frames.ts +0 -1
- package/src/utils/spinner_verbs.ts +0 -23
- package/src/utils/table.ts +0 -171
- package/src/utils/tool_summary.ts +0 -56
- package/src/utils/tool_trace.ts +0 -346
- package/src/utils/update.ts +0 -44
- package/src/utils/version.ts +0 -15
- package/src/web/index.html +0 -352
- package/src/web/mirror-favicon.svg +0 -4
- package/src/web/mirror.html +0 -641
- package/src/web/mirror_hook.ts +0 -25
- package/src/web/mirror_server.ts +0 -204
- package/tsconfig.json +0 -22
- package/vite.config.ts +0 -363
- /package/{packages/ztc-dictation/bin → bin}/.gitkeep +0 -0
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictation_native.d.ts","sourceRoot":"","sources":["../../src/utils/dictation_native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"dictation_native.d.ts","sourceRoot":"","sources":["../../src/utils/dictation_native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAqEpE;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,IAAI,CAK3E;AAYD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAuEf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgC3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAmBjD"}
|
|
@@ -9,40 +9,60 @@ import { spawn } from 'child_process';
|
|
|
9
9
|
import { existsSync } from 'fs';
|
|
10
10
|
import { createInterface } from 'readline';
|
|
11
11
|
import { join, dirname } from 'path';
|
|
12
|
-
import { homedir } from 'os';
|
|
12
|
+
import { homedir, platform, arch } from 'os';
|
|
13
13
|
import { fileURLToPath } from 'url';
|
|
14
14
|
const __filename = fileURLToPath(import.meta.url);
|
|
15
15
|
const __dirname = dirname(__filename);
|
|
16
|
-
// Try to import the @zergai/ztc-dictation package
|
|
17
|
-
let dictationPackage = null;
|
|
18
|
-
try {
|
|
19
|
-
// @ts-ignore - dynamic import of optional package
|
|
20
|
-
dictationPackage = await import('@zergai/ztc-dictation');
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
// Package not installed, will fall back to local binary
|
|
24
|
-
}
|
|
25
16
|
let activeProcess = null;
|
|
26
17
|
let eventHandlers = [];
|
|
18
|
+
/**
|
|
19
|
+
* Get the platform-specific binary name
|
|
20
|
+
*/
|
|
21
|
+
function getBinaryName() {
|
|
22
|
+
const p = platform();
|
|
23
|
+
const a = arch();
|
|
24
|
+
let os;
|
|
25
|
+
switch (p) {
|
|
26
|
+
case 'darwin':
|
|
27
|
+
os = 'darwin';
|
|
28
|
+
break;
|
|
29
|
+
case 'linux':
|
|
30
|
+
os = 'linux';
|
|
31
|
+
break;
|
|
32
|
+
case 'win32':
|
|
33
|
+
os = 'win';
|
|
34
|
+
break;
|
|
35
|
+
default:
|
|
36
|
+
os = p;
|
|
37
|
+
}
|
|
38
|
+
let cpu;
|
|
39
|
+
switch (a) {
|
|
40
|
+
case 'x64':
|
|
41
|
+
cpu = 'x64';
|
|
42
|
+
break;
|
|
43
|
+
case 'arm64':
|
|
44
|
+
cpu = 'arm64';
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
cpu = a;
|
|
48
|
+
}
|
|
49
|
+
const ext = p === 'win32' ? '.exe' : '';
|
|
50
|
+
return `ztc-audio-${os}-${cpu}${ext}`;
|
|
51
|
+
}
|
|
27
52
|
/**
|
|
28
53
|
* Get the path to the ztc-audio binary
|
|
29
54
|
*/
|
|
30
55
|
function getBinaryPath() {
|
|
31
|
-
|
|
32
|
-
if (dictationPackage) {
|
|
33
|
-
const pkgPath = dictationPackage.getBinaryPath();
|
|
34
|
-
if (pkgPath && existsSync(pkgPath)) {
|
|
35
|
-
return pkgPath;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// 2. Check local development/install paths
|
|
56
|
+
const binaryName = getBinaryName();
|
|
39
57
|
const possiblePaths = [
|
|
40
|
-
//
|
|
58
|
+
// Installed via npm (relative to this file in dist/utils/)
|
|
59
|
+
join(__dirname, '..', '..', 'bin', binaryName),
|
|
60
|
+
// Development: Rust build output
|
|
41
61
|
join(process.cwd(), 'packages', 'ztc-dictation', 'target', 'release', 'ztc-audio'),
|
|
42
|
-
// Development (
|
|
43
|
-
join(process.cwd(), '
|
|
44
|
-
// Global install
|
|
45
|
-
join(homedir(), '.ztc', 'bin',
|
|
62
|
+
// Development: bin directory (for local testing)
|
|
63
|
+
join(process.cwd(), 'bin', binaryName),
|
|
64
|
+
// Global install location
|
|
65
|
+
join(homedir(), '.ztc', 'bin', binaryName),
|
|
46
66
|
];
|
|
47
67
|
for (const p of possiblePaths) {
|
|
48
68
|
if (existsSync(p)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dictation_native.js","sourceRoot":"","sources":["../../src/utils/dictation_native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"dictation_native.js","sourceRoot":"","sources":["../../src/utils/dictation_native.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zerg-ztc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "Zerg Terminal Client - CLI agent for continual AI systems",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -19,15 +19,16 @@
|
|
|
19
19
|
"cli:web:dev": "ZTC_WEB_MIRROR=1 tsx src/cli.tsx",
|
|
20
20
|
"emulation:init": "tsx scripts/emulation_init.ts"
|
|
21
21
|
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist/",
|
|
24
|
+
"bin/"
|
|
25
|
+
],
|
|
22
26
|
"dependencies": {
|
|
23
27
|
"ink": "^5.0.1",
|
|
24
28
|
"react": "^18.3.1",
|
|
25
29
|
"react-dom": "^18.3.1",
|
|
26
30
|
"chalk": "^5.3.0"
|
|
27
31
|
},
|
|
28
|
-
"optionalDependencies": {
|
|
29
|
-
"@zergai/ztc-dictation": "^0.1.0"
|
|
30
|
-
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@types/node": "^20.14.0",
|
|
33
34
|
"@types/react": "^18.3.3",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
[package]
|
|
2
|
-
name = "ztc-audio"
|
|
3
|
-
version = "0.1.0"
|
|
4
|
-
edition = "2021"
|
|
5
|
-
description = "Cross-platform audio capture and real-time transcription for ZTC"
|
|
6
|
-
license = "MIT"
|
|
7
|
-
|
|
8
|
-
[dependencies]
|
|
9
|
-
# Cross-platform audio capture
|
|
10
|
-
cpal = "0.15"
|
|
11
|
-
|
|
12
|
-
# Whisper bindings for real-time transcription
|
|
13
|
-
whisper-rs = "0.12"
|
|
14
|
-
|
|
15
|
-
# JSON output
|
|
16
|
-
serde = { version = "1.0", features = ["derive"] }
|
|
17
|
-
serde_json = "1.0"
|
|
18
|
-
|
|
19
|
-
# Async runtime for audio streaming
|
|
20
|
-
tokio = { version = "1", features = ["rt", "sync", "macros"] }
|
|
21
|
-
|
|
22
|
-
# Ring buffer for audio chunks
|
|
23
|
-
ringbuf = "0.4"
|
|
24
|
-
|
|
25
|
-
# For model downloading
|
|
26
|
-
ureq = "2.9"
|
|
27
|
-
|
|
28
|
-
# CLI args
|
|
29
|
-
clap = { version = "4", features = ["derive"] }
|
|
30
|
-
|
|
31
|
-
# Home directory for model storage
|
|
32
|
-
dirs = "5"
|
|
33
|
-
|
|
34
|
-
# Progress bar for downloads
|
|
35
|
-
indicatif = "0.17"
|
|
36
|
-
|
|
37
|
-
# Signal handling
|
|
38
|
-
ctrlc = "3.4"
|
|
39
|
-
|
|
40
|
-
[profile.release]
|
|
41
|
-
lto = true
|
|
42
|
-
codegen-units = 1
|
|
43
|
-
strip = true
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# @zergai/ztc-dictation
|
|
2
|
-
|
|
3
|
-
Cross-platform audio capture and real-time transcription for ZTC.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- Real-time audio level metering (VU meter)
|
|
8
|
-
- Real-time speech-to-text transcription via Whisper
|
|
9
|
-
- Cross-platform: macOS (arm64/x64), Linux (x64), Windows (x64)
|
|
10
|
-
- Automatic whisper model download
|
|
11
|
-
|
|
12
|
-
## Installation
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npm install @zergai/ztc-dictation
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Usage
|
|
19
|
-
|
|
20
|
-
```javascript
|
|
21
|
-
const { getBinaryPath, isAvailable } = require('@zergai/ztc-dictation');
|
|
22
|
-
|
|
23
|
-
if (isAvailable()) {
|
|
24
|
-
const binaryPath = getBinaryPath();
|
|
25
|
-
// Spawn the binary and communicate via JSON lines on stdout
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Binary Protocol
|
|
30
|
-
|
|
31
|
-
The `ztc-audio` binary outputs JSON lines to stdout:
|
|
32
|
-
|
|
33
|
-
```json
|
|
34
|
-
{"type":"ready","device":"MacBook Pro Microphone","model":"ggml-tiny"}
|
|
35
|
-
{"type":"level","db":-35.5,"rms":0.015}
|
|
36
|
-
{"type":"text","content":"hello world","partial":true}
|
|
37
|
-
{"type":"text","content":"hello world how are you","partial":false}
|
|
38
|
-
{"type":"error","message":"..."}
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## CLI Options
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
ztc-audio [OPTIONS]
|
|
45
|
-
|
|
46
|
-
Options:
|
|
47
|
-
-m, --model <MODEL> Whisper model: tiny, base, small, medium, large [default: base]
|
|
48
|
-
-d, --device <DEVICE> Audio input device name
|
|
49
|
-
--list-devices List available audio devices
|
|
50
|
-
--download-model Download model and exit
|
|
51
|
-
-h, --help Print help
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Building from Source
|
|
55
|
-
|
|
56
|
-
Requires Rust toolchain:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
cd packages/ztc-dictation
|
|
60
|
-
cargo build --release
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## License
|
|
64
|
-
|
|
65
|
-
MIT
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get the path to the ztc-audio binary for the current platform
|
|
3
|
-
* @returns Path to binary, or null if not found
|
|
4
|
-
*/
|
|
5
|
-
export function getBinaryPath(): string | null;
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Get the platform-specific binary name
|
|
9
|
-
* @returns Binary filename for current platform
|
|
10
|
-
*/
|
|
11
|
-
export function getBinaryName(): string;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Check if the binary is available for the current platform
|
|
15
|
-
*/
|
|
16
|
-
export function isAvailable(): boolean;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
const { platform, arch } = require('os');
|
|
2
|
-
const { join } = require('path');
|
|
3
|
-
const { existsSync } = require('fs');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Get the platform-specific binary name
|
|
7
|
-
*/
|
|
8
|
-
function getBinaryName() {
|
|
9
|
-
const p = platform();
|
|
10
|
-
const a = arch();
|
|
11
|
-
|
|
12
|
-
let os;
|
|
13
|
-
switch (p) {
|
|
14
|
-
case 'darwin':
|
|
15
|
-
os = 'darwin';
|
|
16
|
-
break;
|
|
17
|
-
case 'linux':
|
|
18
|
-
os = 'linux';
|
|
19
|
-
break;
|
|
20
|
-
case 'win32':
|
|
21
|
-
os = 'win';
|
|
22
|
-
break;
|
|
23
|
-
default:
|
|
24
|
-
throw new Error(`Unsupported platform: ${p}`);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
let cpu;
|
|
28
|
-
switch (a) {
|
|
29
|
-
case 'x64':
|
|
30
|
-
cpu = 'x64';
|
|
31
|
-
break;
|
|
32
|
-
case 'arm64':
|
|
33
|
-
cpu = 'arm64';
|
|
34
|
-
break;
|
|
35
|
-
default:
|
|
36
|
-
throw new Error(`Unsupported architecture: ${a}`);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
const ext = p === 'win32' ? '.exe' : '';
|
|
40
|
-
return `ztc-audio-${os}-${cpu}${ext}`;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Get the path to the ztc-audio binary for the current platform
|
|
45
|
-
* @returns {string|null} Path to binary, or null if not found
|
|
46
|
-
*/
|
|
47
|
-
function getBinaryPath() {
|
|
48
|
-
try {
|
|
49
|
-
const binaryName = getBinaryName();
|
|
50
|
-
const binaryPath = join(__dirname, 'bin', binaryName);
|
|
51
|
-
|
|
52
|
-
if (existsSync(binaryPath)) {
|
|
53
|
-
return binaryPath;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return null;
|
|
57
|
-
} catch (e) {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Check if the binary is available for the current platform
|
|
64
|
-
* @returns {boolean}
|
|
65
|
-
*/
|
|
66
|
-
function isAvailable() {
|
|
67
|
-
return getBinaryPath() !== null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
module.exports = {
|
|
71
|
-
getBinaryPath,
|
|
72
|
-
getBinaryName,
|
|
73
|
-
isAvailable
|
|
74
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@zergai/ztc-dictation",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Cross-platform audio capture and real-time transcription for ZTC",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"types": "index.d.ts",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "https://github.com/zergai/ztc.git",
|
|
11
|
-
"directory": "packages/ztc-dictation"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"audio",
|
|
15
|
-
"transcription",
|
|
16
|
-
"whisper",
|
|
17
|
-
"speech-to-text",
|
|
18
|
-
"dictation"
|
|
19
|
-
],
|
|
20
|
-
"files": [
|
|
21
|
-
"bin/",
|
|
22
|
-
"index.js",
|
|
23
|
-
"index.d.ts"
|
|
24
|
-
],
|
|
25
|
-
"os": [
|
|
26
|
-
"darwin",
|
|
27
|
-
"linux",
|
|
28
|
-
"win32"
|
|
29
|
-
],
|
|
30
|
-
"cpu": [
|
|
31
|
-
"x64",
|
|
32
|
-
"arm64"
|
|
33
|
-
],
|
|
34
|
-
"engines": {
|
|
35
|
-
"node": ">=18"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"build": "cargo build --release",
|
|
39
|
-
"build:all": "echo 'Use CI to build for all platforms'"
|
|
40
|
-
}
|
|
41
|
-
}
|