claude-ws 0.3.109 → 0.3.111
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-ws",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.111",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A beautifully crafted workspace interface for Claude Code with real-time streaming and local SQLite database",
|
|
6
6
|
"keywords": [
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
]
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
|
-
"postinstall": "node -
|
|
80
|
+
"postinstall": "node scripts/postinstall-optional-native-deps.js",
|
|
81
81
|
"dev": "cross-env CLAUDECODE= tsx server.ts",
|
|
82
82
|
"build": "cross-env NODE_ENV=production next build",
|
|
83
83
|
"start": "cross-env NODE_ENV=production CLAUDECODE= tsx server.ts",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Postinstall script — chmod spawn-helper for node-pty on Unix,
|
|
3
|
+
* and log a friendly message if node-pty is unavailable.
|
|
4
|
+
*
|
|
5
|
+
* node-pty is in optionalDependencies so npm/pnpm handle install failures
|
|
6
|
+
* gracefully. This script just does post-setup and user feedback.
|
|
7
|
+
*
|
|
8
|
+
* If node-pty is not available (e.g. Windows ARM64), the interactive
|
|
9
|
+
* terminal panel is disabled but everything else works.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
const path = require('path');
|
|
13
|
+
const fs = require('fs');
|
|
14
|
+
|
|
15
|
+
const PKG = '@homebridge/node-pty-prebuilt-multiarch';
|
|
16
|
+
const PKG_DIR = path.join(__dirname, '..', 'node_modules', '@homebridge', 'node-pty-prebuilt-multiarch');
|
|
17
|
+
|
|
18
|
+
try {
|
|
19
|
+
require.resolve(PKG, { paths: [path.join(__dirname, '..')] });
|
|
20
|
+
// chmod +x the spawn-helper binary on Unix
|
|
21
|
+
try {
|
|
22
|
+
const helper = path.join(
|
|
23
|
+
PKG_DIR, 'prebuilds',
|
|
24
|
+
`${process.platform}-${process.arch}`,
|
|
25
|
+
'spawn-helper'
|
|
26
|
+
);
|
|
27
|
+
fs.chmodSync(helper, 0o755);
|
|
28
|
+
} catch {
|
|
29
|
+
// spawn-helper may not exist on this platform
|
|
30
|
+
}
|
|
31
|
+
} catch {
|
|
32
|
+
// node-pty not installed — this is fine, terminal feature will be disabled
|
|
33
|
+
}
|
|
@@ -15,9 +15,22 @@ import { createLogger } from './logger';
|
|
|
15
15
|
|
|
16
16
|
const log = createLogger('TerminalManager');
|
|
17
17
|
|
|
18
|
-
// Lazy-load node-pty — native module that may not compile on all platforms (e.g. Windows)
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
// Lazy-load node-pty — native module that may not compile on all platforms (e.g. Windows ARM64).
|
|
19
|
+
// Types are defined inline to avoid TypeScript errors when the package is not installed.
|
|
20
|
+
interface IPty {
|
|
21
|
+
pid: number;
|
|
22
|
+
cols: number;
|
|
23
|
+
rows: number;
|
|
24
|
+
process: string;
|
|
25
|
+
onData: (callback: (data: string) => void) => void;
|
|
26
|
+
onExit: (callback: (e: { exitCode: number; signal?: number }) => void) => void;
|
|
27
|
+
write: (data: string) => void;
|
|
28
|
+
resize: (cols: number, rows: number) => void;
|
|
29
|
+
kill: (signal?: string) => void;
|
|
30
|
+
}
|
|
31
|
+
interface NodePty {
|
|
32
|
+
spawn: (file: string, args: string[], options: Record<string, unknown>) => IPty;
|
|
33
|
+
}
|
|
21
34
|
let pty: NodePty | null = null;
|
|
22
35
|
try {
|
|
23
36
|
pty = require('@homebridge/node-pty-prebuilt-multiarch');
|