green-screen-proxy 0.3.0 → 1.0.0
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/README.md +98 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +23 -4
- package/dist/cli.js.map +1 -0
- package/dist/deploy.d.ts +2 -0
- package/dist/deploy.d.ts.map +1 -0
- package/dist/deploy.js +252 -0
- package/dist/deploy.js.map +1 -0
- package/dist/hp6530/connection.d.ts +1 -0
- package/dist/hp6530/connection.d.ts.map +1 -0
- package/dist/hp6530/connection.js +1 -0
- package/dist/hp6530/connection.js.map +1 -0
- package/dist/hp6530/constants.d.ts +1 -0
- package/dist/hp6530/constants.d.ts.map +1 -0
- package/dist/hp6530/constants.js +1 -0
- package/dist/hp6530/constants.js.map +1 -0
- package/dist/hp6530/encoder.d.ts +1 -0
- package/dist/hp6530/encoder.d.ts.map +1 -0
- package/dist/hp6530/encoder.js +1 -0
- package/dist/hp6530/encoder.js.map +1 -0
- package/dist/hp6530/parser.d.ts +1 -0
- package/dist/hp6530/parser.d.ts.map +1 -0
- package/dist/hp6530/parser.js +17 -15
- package/dist/hp6530/parser.js.map +1 -0
- package/dist/hp6530/screen.d.ts +1 -0
- package/dist/hp6530/screen.d.ts.map +1 -0
- package/dist/hp6530/screen.js +1 -0
- package/dist/hp6530/screen.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/mock/mock-routes.d.ts +1 -0
- package/dist/mock/mock-routes.d.ts.map +1 -0
- package/dist/mock/mock-routes.js +1 -0
- package/dist/mock/mock-routes.js.map +1 -0
- package/dist/protocols/hp6530-handler.d.ts +3 -1
- package/dist/protocols/hp6530-handler.d.ts.map +1 -0
- package/dist/protocols/hp6530-handler.js +1 -0
- package/dist/protocols/hp6530-handler.js.map +1 -0
- package/dist/protocols/index.d.ts +5 -2
- package/dist/protocols/index.d.ts.map +1 -0
- package/dist/protocols/index.js +1 -0
- package/dist/protocols/index.js.map +1 -0
- package/dist/protocols/tn3270-handler.d.ts +3 -1
- package/dist/protocols/tn3270-handler.d.ts.map +1 -0
- package/dist/protocols/tn3270-handler.js +1 -0
- package/dist/protocols/tn3270-handler.js.map +1 -0
- package/dist/protocols/tn5250-handler.d.ts +25 -1
- package/dist/protocols/tn5250-handler.d.ts.map +1 -0
- package/dist/protocols/tn5250-handler.js +150 -1
- package/dist/protocols/tn5250-handler.js.map +1 -0
- package/dist/protocols/types.d.ts +3 -23
- package/dist/protocols/types.d.ts.map +1 -0
- package/dist/protocols/types.js +1 -0
- package/dist/protocols/types.js.map +1 -0
- package/dist/protocols/vt-handler.d.ts +3 -1
- package/dist/protocols/vt-handler.d.ts.map +1 -0
- package/dist/protocols/vt-handler.js +1 -0
- package/dist/protocols/vt-handler.js.map +1 -0
- package/dist/routes.d.ts +1 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +1 -0
- package/dist/routes.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +13 -28
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +5 -10
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +1 -0
- package/dist/session.js.map +1 -0
- package/dist/standalone.d.ts +3 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/standalone.js +6 -0
- package/dist/standalone.js.map +1 -0
- package/dist/tn3270/connection.d.ts +1 -0
- package/dist/tn3270/connection.d.ts.map +1 -0
- package/dist/tn3270/connection.js +1 -0
- package/dist/tn3270/connection.js.map +1 -0
- package/dist/tn3270/constants.d.ts +1 -0
- package/dist/tn3270/constants.d.ts.map +1 -0
- package/dist/tn3270/constants.js +1 -0
- package/dist/tn3270/constants.js.map +1 -0
- package/dist/tn3270/encoder.d.ts +1 -0
- package/dist/tn3270/encoder.d.ts.map +1 -0
- package/dist/tn3270/encoder.js +1 -0
- package/dist/tn3270/encoder.js.map +1 -0
- package/dist/tn3270/parser.d.ts +1 -0
- package/dist/tn3270/parser.d.ts.map +1 -0
- package/dist/tn3270/parser.js +1 -0
- package/dist/tn3270/parser.js.map +1 -0
- package/dist/tn3270/screen.d.ts +1 -0
- package/dist/tn3270/screen.d.ts.map +1 -0
- package/dist/tn3270/screen.js +1 -0
- package/dist/tn3270/screen.js.map +1 -0
- package/dist/tn5250/connection.d.ts +1 -0
- package/dist/tn5250/connection.d.ts.map +1 -0
- package/dist/tn5250/connection.js +7 -8
- package/dist/tn5250/connection.js.map +1 -0
- package/dist/tn5250/constants.d.ts +1 -0
- package/dist/tn5250/constants.d.ts.map +1 -0
- package/dist/tn5250/constants.js +1 -0
- package/dist/tn5250/constants.js.map +1 -0
- package/dist/tn5250/ebcdic.d.ts +2 -0
- package/dist/tn5250/ebcdic.d.ts.map +1 -0
- package/dist/tn5250/ebcdic.js +25 -0
- package/dist/tn5250/ebcdic.js.map +1 -0
- package/dist/tn5250/encoder.d.ts +10 -1
- package/dist/tn5250/encoder.d.ts.map +1 -0
- package/dist/tn5250/encoder.js +17 -19
- package/dist/tn5250/encoder.js.map +1 -0
- package/dist/tn5250/parser.d.ts +31 -5
- package/dist/tn5250/parser.d.ts.map +1 -0
- package/dist/tn5250/parser.js +234 -79
- package/dist/tn5250/parser.js.map +1 -0
- package/dist/tn5250/screen.d.ts +12 -0
- package/dist/tn5250/screen.d.ts.map +1 -0
- package/dist/tn5250/screen.js +29 -2
- package/dist/tn5250/screen.js.map +1 -0
- package/dist/vt/connection.d.ts +1 -0
- package/dist/vt/connection.d.ts.map +1 -0
- package/dist/vt/connection.js +1 -0
- package/dist/vt/connection.js.map +1 -0
- package/dist/vt/constants.d.ts +1 -0
- package/dist/vt/constants.d.ts.map +1 -0
- package/dist/vt/constants.js +1 -0
- package/dist/vt/constants.js.map +1 -0
- package/dist/vt/encoder.d.ts +1 -0
- package/dist/vt/encoder.d.ts.map +1 -0
- package/dist/vt/encoder.js +1 -0
- package/dist/vt/encoder.js.map +1 -0
- package/dist/vt/parser.d.ts +1 -0
- package/dist/vt/parser.d.ts.map +1 -0
- package/dist/vt/parser.js +35 -33
- package/dist/vt/parser.js.map +1 -0
- package/dist/vt/screen.d.ts +1 -0
- package/dist/vt/screen.d.ts.map +1 -0
- package/dist/vt/screen.js +1 -0
- package/dist/vt/screen.js.map +1 -0
- package/dist/websocket.d.ts +1 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +241 -14
- package/dist/websocket.js.map +1 -0
- package/package.json +9 -6
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# green-screen-proxy
|
|
2
|
+
|
|
3
|
+
WebSocket-to-TCP proxy for [green-screen-react](https://www.npmjs.com/package/green-screen-react). Bridges browser WebSocket connections to TN5250, TN3270, VT220, and HP 6530 hosts over TCP.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install green-screen-proxy
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx green-screen-proxy # Start on port 3001
|
|
15
|
+
npx green-screen-proxy --mock # Mock mode (no real host needed)
|
|
16
|
+
npx green-screen-proxy --standalone # Proxy + built-in web terminal UI
|
|
17
|
+
npx green-screen-proxy --port 8080 # Custom port
|
|
18
|
+
npx green-screen # Shorthand for --standalone
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Mock mode
|
|
22
|
+
|
|
23
|
+
With `--mock`, the proxy serves mock terminal screens — useful for trying out the component without a real host connection.
|
|
24
|
+
|
|
25
|
+
### Connecting to a real host
|
|
26
|
+
|
|
27
|
+
Without `--mock`, the proxy opens real TCP connections. The sign-in form in the React component collects host, port, protocol, and credentials — the proxy handles the rest.
|
|
28
|
+
|
|
29
|
+
## Cloudflare Worker Deployment
|
|
30
|
+
|
|
31
|
+
Deploy a serverless proxy to Cloudflare Workers:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx green-screen-proxy deploy # Default settings
|
|
35
|
+
npx green-screen-proxy deploy --name my-terminal # Custom worker name
|
|
36
|
+
npx green-screen-proxy deploy --origins https://myapp.com # Lock CORS to your domain
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This will:
|
|
40
|
+
1. Install Wrangler (Cloudflare CLI) if not present
|
|
41
|
+
2. Log you in to Cloudflare if needed
|
|
42
|
+
3. Deploy the worker and print the URL
|
|
43
|
+
4. Save the URL to `.env.local` (auto-detects Vite, Next.js, CRA)
|
|
44
|
+
|
|
45
|
+
Then point the React component at it:
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
const adapter = new WebSocketAdapter({
|
|
49
|
+
workerUrl: 'https://green-screen-worker.your-subdomain.workers.dev'
|
|
50
|
+
});
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Programmatic API
|
|
54
|
+
|
|
55
|
+
Start the proxy from your own Node.js app:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
import { createProxy } from 'green-screen-proxy';
|
|
59
|
+
|
|
60
|
+
const proxy = await createProxy({ port: 3001 });
|
|
61
|
+
console.log(`Proxy running on port ${proxy.port}`);
|
|
62
|
+
|
|
63
|
+
// Later:
|
|
64
|
+
await proxy.close();
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Options
|
|
68
|
+
|
|
69
|
+
| Option | Type | Default | Description |
|
|
70
|
+
|--------|------|---------|-------------|
|
|
71
|
+
| `port` | `number` | `3001` | Port to listen on |
|
|
72
|
+
| `mock` | `boolean` | `false` | Use mock screens |
|
|
73
|
+
| `standalone` | `boolean` | `false` | Serve built-in web UI |
|
|
74
|
+
|
|
75
|
+
### Returns
|
|
76
|
+
|
|
77
|
+
| Property | Type | Description |
|
|
78
|
+
|----------|------|-------------|
|
|
79
|
+
| `server` | `HttpServer` | The underlying HTTP server |
|
|
80
|
+
| `app` | `Express` | The Express app (add your own middleware) |
|
|
81
|
+
| `port` | `number` | The actual port (may differ if original was in use) |
|
|
82
|
+
| `close()` | `Promise<void>` | Stop the server |
|
|
83
|
+
|
|
84
|
+
## How It Works
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Browser Proxy Host
|
|
88
|
+
┌────────────┐ ┌────────────┐ ┌────────────┐
|
|
89
|
+
│ WebSocket │ WS │ Express │ TCP │ IBM i │
|
|
90
|
+
│ client │◄──────►│ :3001 │◄──────►│ Mainframe │
|
|
91
|
+
└────────────┘ └────────────┘ └────────────┘
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The proxy manages sessions — each WebSocket connection gets its own TCP session to the target host. Screen data is parsed into a protocol-agnostic format and pushed to the client in real time.
|
|
95
|
+
|
|
96
|
+
## License
|
|
97
|
+
|
|
98
|
+
MIT
|
package/dist/cli.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// Check for deploy subcommand first (before parseArgs)
|
|
3
|
+
const subcommand = process.argv[2];
|
|
4
|
+
if (subcommand === 'deploy') {
|
|
5
|
+
const { deploy } = await import('./deploy.js');
|
|
6
|
+
deploy(process.argv.slice(3));
|
|
7
|
+
process.exit(0);
|
|
8
|
+
}
|
|
2
9
|
import { parseArgs } from 'node:util';
|
|
3
10
|
const { values } = parseArgs({
|
|
4
11
|
options: {
|
|
5
12
|
mock: { type: 'boolean', default: false },
|
|
13
|
+
standalone: { type: 'boolean', default: false },
|
|
6
14
|
port: { type: 'string', default: '' },
|
|
7
15
|
help: { type: 'boolean', short: 'h', default: false },
|
|
8
16
|
},
|
|
@@ -11,16 +19,23 @@ if (values.help) {
|
|
|
11
19
|
console.log(`green-screen-proxy — WebSocket/REST proxy for legacy terminal connections
|
|
12
20
|
|
|
13
21
|
Usage: green-screen-proxy [options]
|
|
22
|
+
green-screen-proxy deploy [deploy-options]
|
|
23
|
+
|
|
24
|
+
Commands:
|
|
25
|
+
deploy Deploy as a Cloudflare Worker (run "deploy --help" for options)
|
|
14
26
|
|
|
15
27
|
Options:
|
|
16
|
-
--mock
|
|
17
|
-
--
|
|
18
|
-
|
|
28
|
+
--mock Run with mock data (no real host connection needed)
|
|
29
|
+
--standalone Serve the built-in web terminal UI
|
|
30
|
+
--port NUM Port to listen on (default: 3001, or PORT env var)
|
|
31
|
+
-h, --help Show this help message
|
|
19
32
|
|
|
20
33
|
Examples:
|
|
21
34
|
npx green-screen-proxy # Start proxy on port 3001
|
|
22
35
|
npx green-screen-proxy --mock # Start with mock screens
|
|
23
|
-
npx green-screen-proxy --
|
|
36
|
+
npx green-screen-proxy --standalone # Proxy + web terminal UI
|
|
37
|
+
npx green-screen-proxy --port 8080 # Start on port 8080
|
|
38
|
+
npx green-screen-proxy deploy # Deploy to Cloudflare Workers`);
|
|
24
39
|
process.exit(0);
|
|
25
40
|
}
|
|
26
41
|
if (values.port) {
|
|
@@ -29,4 +44,8 @@ if (values.port) {
|
|
|
29
44
|
if (values.mock) {
|
|
30
45
|
process.argv.push('--mock');
|
|
31
46
|
}
|
|
47
|
+
if (values.standalone) {
|
|
48
|
+
process.argv.push('--standalone');
|
|
49
|
+
}
|
|
32
50
|
await import('./server.js');
|
|
51
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,uDAAuD;AACvD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACzC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;KACtD;CACF,CAAC,CAAC;AAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;yEAmB2D,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC"}
|
package/dist/deploy.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"AA4FA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAiG3C"}
|
package/dist/deploy.js
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { spawnSync } from 'child_process';
|
|
2
|
+
import { mkdtempSync, writeFileSync, readFileSync, existsSync, appendFileSync } from 'fs';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { tmpdir } from 'os';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
import { dirname } from 'path';
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = dirname(__filename);
|
|
9
|
+
const WRANGLER_TOML = `name = "__WORKER_NAME__"
|
|
10
|
+
main = "index.js"
|
|
11
|
+
compatibility_date = "2024-12-18"
|
|
12
|
+
compatibility_flags = ["nodejs_compat"]
|
|
13
|
+
|
|
14
|
+
[durable_objects]
|
|
15
|
+
bindings = [
|
|
16
|
+
{ name = "TERMINAL_SESSION", class_name = "TerminalSession" }
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[[migrations]]
|
|
20
|
+
tag = "v1"
|
|
21
|
+
new_sqlite_classes = ["TerminalSession"]
|
|
22
|
+
`;
|
|
23
|
+
function printHelp() {
|
|
24
|
+
console.log(`green-screen-proxy deploy — Deploy the Cloudflare Worker for browser-to-host connections
|
|
25
|
+
|
|
26
|
+
Usage: green-screen-proxy deploy [options]
|
|
27
|
+
|
|
28
|
+
Options:
|
|
29
|
+
--name NAME Worker name (default: green-screen-worker)
|
|
30
|
+
--origins URL,... CORS allowed origins, comma-separated (default: * = all)
|
|
31
|
+
-h, --help Show this help message
|
|
32
|
+
|
|
33
|
+
Examples:
|
|
34
|
+
npx green-screen-proxy deploy
|
|
35
|
+
npx green-screen-proxy deploy --name my-terminal-worker
|
|
36
|
+
npx green-screen-proxy deploy --origins https://myapp.com,https://staging.myapp.com
|
|
37
|
+
|
|
38
|
+
Prerequisites:
|
|
39
|
+
- A free Cloudflare account (https://dash.cloudflare.com/sign-up)
|
|
40
|
+
- Wrangler CLI (installed automatically if missing)`);
|
|
41
|
+
}
|
|
42
|
+
function runCommand(command, args, options) {
|
|
43
|
+
const result = spawnSync(command, args, {
|
|
44
|
+
stdio: options?.stdio ?? 'pipe',
|
|
45
|
+
cwd: options?.cwd,
|
|
46
|
+
encoding: 'utf-8',
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
ok: result.status === 0,
|
|
50
|
+
stdout: typeof result.stdout === 'string' ? result.stdout : '',
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function checkWrangler() {
|
|
54
|
+
return runCommand('npx', ['wrangler', '--version']).ok;
|
|
55
|
+
}
|
|
56
|
+
function installWrangler() {
|
|
57
|
+
console.log('\nInstalling wrangler...');
|
|
58
|
+
const result = runCommand('npm', ['install', '-g', 'wrangler'], { stdio: 'inherit' });
|
|
59
|
+
if (!result.ok) {
|
|
60
|
+
console.error('Failed to install wrangler. Please install it manually:');
|
|
61
|
+
console.error(' npm install -g wrangler');
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
console.log('Wrangler installed successfully.\n');
|
|
65
|
+
}
|
|
66
|
+
function checkAuth() {
|
|
67
|
+
const result = runCommand('npx', ['wrangler', 'whoami']);
|
|
68
|
+
return result.ok && !result.stdout.includes('not authenticated');
|
|
69
|
+
}
|
|
70
|
+
function login() {
|
|
71
|
+
console.log('\nYou need to log in to Cloudflare first.\n');
|
|
72
|
+
const result = runCommand('npx', ['wrangler', 'login'], { stdio: 'inherit' });
|
|
73
|
+
if (!result.ok) {
|
|
74
|
+
console.error('Login failed. Please try: npx wrangler login');
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function deploy(args) {
|
|
79
|
+
const options = parseDeployArgs(args);
|
|
80
|
+
if (options.help) {
|
|
81
|
+
printHelp();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
console.log('green-screen-proxy deploy\n');
|
|
85
|
+
// Step 1: Check wrangler
|
|
86
|
+
console.log('Checking for wrangler...');
|
|
87
|
+
if (!checkWrangler()) {
|
|
88
|
+
console.log('Wrangler not found.');
|
|
89
|
+
installWrangler();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.log('Wrangler found.\n');
|
|
93
|
+
}
|
|
94
|
+
// Step 2: Check auth
|
|
95
|
+
console.log('Checking Cloudflare authentication...');
|
|
96
|
+
if (!checkAuth()) {
|
|
97
|
+
login();
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
console.log('Authenticated.\n');
|
|
101
|
+
}
|
|
102
|
+
// Step 3: Prepare temp directory with worker bundle
|
|
103
|
+
console.log('Preparing worker bundle...');
|
|
104
|
+
const tmpDir = mkdtempSync(join(tmpdir(), 'green-screen-worker-'));
|
|
105
|
+
// Read the pre-built worker bundle
|
|
106
|
+
const workerBundlePath = join(__dirname, 'worker', 'index.js');
|
|
107
|
+
let workerCode;
|
|
108
|
+
try {
|
|
109
|
+
workerCode = readFileSync(workerBundlePath, 'utf-8');
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
console.error(`Worker bundle not found at ${workerBundlePath}`);
|
|
113
|
+
console.error('This is a packaging error. Please report it at:');
|
|
114
|
+
console.error(' https://github.com/visionbridge-solutions/green-screen-react/issues');
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
// Step 4: Inject CORS origins
|
|
118
|
+
workerCode = workerCode.replace('__CORS_ORIGINS_PLACEHOLDER__', options.origins);
|
|
119
|
+
// Write files to temp dir
|
|
120
|
+
writeFileSync(join(tmpDir, 'index.js'), workerCode);
|
|
121
|
+
writeFileSync(join(tmpDir, 'wrangler.toml'), WRANGLER_TOML.replace('__WORKER_NAME__', options.name));
|
|
122
|
+
console.log(`Worker name: ${options.name}`);
|
|
123
|
+
console.log(`CORS origins: ${options.origins}\n`);
|
|
124
|
+
// Step 5: Deploy
|
|
125
|
+
console.log('Deploying to Cloudflare...\n');
|
|
126
|
+
const result = runCommand('npx', ['wrangler', 'deploy'], { cwd: tmpDir, stdio: ['inherit', 'pipe', 'inherit'] });
|
|
127
|
+
if (!result.ok) {
|
|
128
|
+
console.error('\nDeployment failed. Check the error above.');
|
|
129
|
+
process.exit(1);
|
|
130
|
+
}
|
|
131
|
+
// Extract URL from wrangler output
|
|
132
|
+
const urlMatch = result.stdout.match(/https:\/\/[\w.-]+\.workers\.dev/);
|
|
133
|
+
const workerUrl = urlMatch ? urlMatch[0] : null;
|
|
134
|
+
console.log('\nWorker deployed successfully!\n');
|
|
135
|
+
if (workerUrl) {
|
|
136
|
+
console.log(`Worker URL: ${workerUrl}\n`);
|
|
137
|
+
// Try to save URL to .env.local automatically
|
|
138
|
+
const saved = saveWorkerUrl(workerUrl);
|
|
139
|
+
if (saved) {
|
|
140
|
+
console.log(`Saved to ${saved}\n`);
|
|
141
|
+
console.log('Use it in your React app:\n');
|
|
142
|
+
console.log(` import { GreenScreenTerminal, WebSocketAdapter } from 'green-screen-react';`);
|
|
143
|
+
console.log(` import 'green-screen-react/styles.css';`);
|
|
144
|
+
console.log('');
|
|
145
|
+
console.log(` const adapter = new WebSocketAdapter({`);
|
|
146
|
+
console.log(` workerUrl: process.env.${getEnvVarName(saved)}`);
|
|
147
|
+
console.log(` });`);
|
|
148
|
+
console.log('');
|
|
149
|
+
console.log(` <GreenScreenTerminal adapter={adapter} />`);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
console.log('Use it in your React app:\n');
|
|
153
|
+
console.log(` import { GreenScreenTerminal, WebSocketAdapter } from 'green-screen-react';`);
|
|
154
|
+
console.log(` import 'green-screen-react/styles.css';`);
|
|
155
|
+
console.log('');
|
|
156
|
+
console.log(` const adapter = new WebSocketAdapter({`);
|
|
157
|
+
console.log(` workerUrl: '${workerUrl}'`);
|
|
158
|
+
console.log(` });`);
|
|
159
|
+
console.log('');
|
|
160
|
+
console.log(` <GreenScreenTerminal adapter={adapter} />`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Detect the project framework and save the worker URL to the appropriate .env.local file.
|
|
166
|
+
* Returns the file path if saved, null if detection failed.
|
|
167
|
+
*/
|
|
168
|
+
function saveWorkerUrl(url) {
|
|
169
|
+
const cwd = process.cwd();
|
|
170
|
+
// Check for package.json to detect framework
|
|
171
|
+
const pkgPath = join(cwd, 'package.json');
|
|
172
|
+
if (!existsSync(pkgPath))
|
|
173
|
+
return null;
|
|
174
|
+
let pkg;
|
|
175
|
+
try {
|
|
176
|
+
pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
182
|
+
const envFile = join(cwd, '.env.local');
|
|
183
|
+
// Detect framework and choose env var prefix
|
|
184
|
+
let envVar;
|
|
185
|
+
if (deps['next']) {
|
|
186
|
+
envVar = `NEXT_PUBLIC_GREEN_SCREEN_URL=${url}`;
|
|
187
|
+
}
|
|
188
|
+
else if (deps['vite'] || deps['@vitejs/plugin-react']) {
|
|
189
|
+
envVar = `VITE_GREEN_SCREEN_URL=${url}`;
|
|
190
|
+
}
|
|
191
|
+
else if (deps['react-scripts']) {
|
|
192
|
+
envVar = `REACT_APP_GREEN_SCREEN_URL=${url}`;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
// Generic — use VITE_ as most common
|
|
196
|
+
envVar = `VITE_GREEN_SCREEN_URL=${url}`;
|
|
197
|
+
}
|
|
198
|
+
// Append to .env.local (create if needed, don't overwrite existing)
|
|
199
|
+
try {
|
|
200
|
+
if (existsSync(envFile)) {
|
|
201
|
+
const content = readFileSync(envFile, 'utf-8');
|
|
202
|
+
// Check if already set
|
|
203
|
+
const varName = envVar.split('=')[0];
|
|
204
|
+
if (content.includes(varName)) {
|
|
205
|
+
// Update existing value
|
|
206
|
+
const updated = content.replace(new RegExp(`^${varName}=.*$`, 'm'), envVar);
|
|
207
|
+
writeFileSync(envFile, updated);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
appendFileSync(envFile, `\n${envVar}\n`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
writeFileSync(envFile, `${envVar}\n`);
|
|
215
|
+
}
|
|
216
|
+
return envFile;
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function getEnvVarName(envFile) {
|
|
223
|
+
try {
|
|
224
|
+
const content = readFileSync(envFile, 'utf-8');
|
|
225
|
+
const match = content.match(/((?:VITE|NEXT_PUBLIC|REACT_APP)_GREEN_SCREEN_URL)=/);
|
|
226
|
+
return match ? match[1] : 'VITE_GREEN_SCREEN_URL';
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
return 'VITE_GREEN_SCREEN_URL';
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
function parseDeployArgs(args) {
|
|
233
|
+
const options = {
|
|
234
|
+
name: 'green-screen-worker',
|
|
235
|
+
origins: '*',
|
|
236
|
+
help: false,
|
|
237
|
+
};
|
|
238
|
+
for (let i = 0; i < args.length; i++) {
|
|
239
|
+
const arg = args[i];
|
|
240
|
+
if (arg === '--name' && i + 1 < args.length) {
|
|
241
|
+
options.name = args[++i];
|
|
242
|
+
}
|
|
243
|
+
else if (arg === '--origins' && i + 1 < args.length) {
|
|
244
|
+
options.origins = args[++i];
|
|
245
|
+
}
|
|
246
|
+
else if (arg === '-h' || arg === '--help') {
|
|
247
|
+
options.help = true;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
return options;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../src/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/hp6530/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAA2B;IAE7C,oEAAoE;IACpE,OAAO,CAAC,IAAI,CAAkB;IAE9B,6CAA6C;IAC7C,OAAO,CAAC,SAAS,CAAgB;IAEjC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDlD,UAAU,IAAI,IAAI;IAOlB,uEAAuE;IACvE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY3B,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,MAAM;IAKd;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA0ErB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,cAAc;IAQtB,kDAAkD;IAClD,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,UAAU;CAMnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/hp6530/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,3 +62,4 @@ export declare const FKEY_SEQUENCES: Record<string, Buffer>;
|
|
|
62
62
|
export declare const ARROW_SEQUENCES: Record<string, Buffer>;
|
|
63
63
|
export declare const KEY_TO_SEQUENCE: Record<string, Buffer>;
|
|
64
64
|
export declare const FKEY_BYTE_TO_NAME: Record<number, string>;
|
|
65
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/hp6530/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIhD,wDAAwD;AACxD,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,gCAAgC;AAChC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,wBAAwB;AACxB,eAAO,MAAM,MAAM;;;CAGT,CAAC;AAIX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;CAqBP,CAAC;AAKX,8DAA8D;AAC9D,eAAO,MAAM,cAAc,qBAA4B,CAAC;AACxD,eAAO,MAAM,WAAW,KAAO,CAAC;AAChC,eAAO,MAAM,cAAc,KAAO,CAAC;AAEnC,8BAA8B;AAC9B,eAAO,MAAM,aAAa,qBAA4B,CAAC;AAEvD,2BAA2B;AAC3B,eAAO,MAAM,aAAa,qBAA4B,CAAC;AAEvD,4BAA4B;AAC5B,eAAO,MAAM,iBAAiB,qBAA4B,CAAC;AAE3D,8CAA8C;AAC9C,eAAO,MAAM,eAAe,qBAA4B,CAAC;AAKzD,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,eAAe,qBAAkC,CAAC;AAE/D,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAO7C,CAAC;AAKF,6CAA6C;AAC7C,gEAAgE;AAChE;qEACqE;AAErE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwCjD,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOlD,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC"}
|
package/dist/hp6530/constants.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/hp6530/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/hp6530/encoder.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/hp6530/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAuChD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CA0BlC"}
|
package/dist/hp6530/encoder.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/hp6530/encoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAe;IAE7B,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,OAAe;QAC9B,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,wEAAwE;QACxE,MAAM,WAAW,GAAG,OAAO,KAAK,OAAO;YACrC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,8CAA8C;YAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAAE,SAAS;gBAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC/C,uBAAuB;gBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBAED,qCAAqC;gBACrC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnB,qEAAqE;QACrE,IAAI,OAAO,KAAK,OAAO,IAAI,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAE3C,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,YAAY,IAAI,QAAQ;gBAAE,MAAM;YAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACtC,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAEnC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/hp6530/parser.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/hp6530/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAuB;IAEpC,sDAAsD;IACtD,OAAO,CAAC,SAAS,CAAc;gBAEnB,MAAM,EAAE,YAAY;IAIhC;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAgB5B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAwBnB,qCAAqC;IACrC,OAAO,CAAC,aAAa;IA8DrB,+BAA+B;IAC/B,OAAO,CAAC,UAAU;IAyClB;;;OAGG;IACH,OAAO,CAAC,UAAU;IA2BlB,iCAAiC;IACjC,OAAO,CAAC,UAAU;IAWlB,oDAAoD;IACpD,OAAO,CAAC,WAAW;IAMnB,oDAAoD;IACpD,OAAO,CAAC,oBAAoB;IAS5B,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB;IAyB1B,kEAAkE;IAClE,OAAO,CAAC,SAAS;CAuClB"}
|
package/dist/hp6530/parser.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CTRL } from './constants.js';
|
|
2
|
+
const State = { NORMAL: 0, ESC: 1, CSI: 2, AMP: 3, AMP_D: 4 };
|
|
2
3
|
/**
|
|
3
4
|
* Parses HP 6530 escape sequences from a data stream and applies
|
|
4
5
|
* them to the screen buffer.
|
|
@@ -9,7 +10,7 @@ import { CTRL } from './constants.js';
|
|
|
9
10
|
*/
|
|
10
11
|
export class HP6530Parser {
|
|
11
12
|
screen;
|
|
12
|
-
state =
|
|
13
|
+
state = State.NORMAL;
|
|
13
14
|
/** Accumulated numeric parameter for CSI sequences */
|
|
14
15
|
csiParams = '';
|
|
15
16
|
constructor(screen) {
|
|
@@ -38,18 +39,18 @@ export class HP6530Parser {
|
|
|
38
39
|
*/
|
|
39
40
|
processByte(byte) {
|
|
40
41
|
switch (this.state) {
|
|
41
|
-
case
|
|
42
|
+
case State.NORMAL:
|
|
42
43
|
return this.processNormal(byte);
|
|
43
|
-
case
|
|
44
|
+
case State.ESC:
|
|
44
45
|
return this.processEsc(byte);
|
|
45
|
-
case
|
|
46
|
+
case State.CSI:
|
|
46
47
|
return this.processCsi(byte);
|
|
47
|
-
case
|
|
48
|
+
case State.AMP:
|
|
48
49
|
return this.processAmp(byte);
|
|
49
|
-
case
|
|
50
|
+
case State.AMP_D:
|
|
50
51
|
return this.processAmpD(byte);
|
|
51
52
|
default:
|
|
52
|
-
this.state =
|
|
53
|
+
this.state = State.NORMAL;
|
|
53
54
|
return false;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
@@ -57,7 +58,7 @@ export class HP6530Parser {
|
|
|
57
58
|
processNormal(byte) {
|
|
58
59
|
// ESC starts an escape sequence
|
|
59
60
|
if (byte === CTRL.ESC) {
|
|
60
|
-
this.state =
|
|
61
|
+
this.state = State.ESC;
|
|
61
62
|
return false;
|
|
62
63
|
}
|
|
63
64
|
// Control characters
|
|
@@ -107,16 +108,16 @@ export class HP6530Parser {
|
|
|
107
108
|
}
|
|
108
109
|
/** Process a byte after ESC */
|
|
109
110
|
processEsc(byte) {
|
|
110
|
-
this.state =
|
|
111
|
+
this.state = State.NORMAL;
|
|
111
112
|
switch (byte) {
|
|
112
113
|
// ESC [ — CSI (cursor addressing)
|
|
113
114
|
case 0x5B: // '['
|
|
114
|
-
this.state =
|
|
115
|
+
this.state = State.CSI;
|
|
115
116
|
this.csiParams = '';
|
|
116
117
|
return false;
|
|
117
118
|
// ESC & — start of attribute sequence
|
|
118
119
|
case 0x26: // '&'
|
|
119
|
-
this.state =
|
|
120
|
+
this.state = State.AMP;
|
|
120
121
|
return false;
|
|
121
122
|
// ESC J — Clear to end of display
|
|
122
123
|
case 0x4A: // 'J'
|
|
@@ -150,7 +151,7 @@ export class HP6530Parser {
|
|
|
150
151
|
return false;
|
|
151
152
|
}
|
|
152
153
|
// Final byte determines the command
|
|
153
|
-
this.state =
|
|
154
|
+
this.state = State.NORMAL;
|
|
154
155
|
switch (byte) {
|
|
155
156
|
case 0x48: // 'H' — Cursor Position (CUP)
|
|
156
157
|
return this.handleCursorPosition();
|
|
@@ -167,16 +168,16 @@ export class HP6530Parser {
|
|
|
167
168
|
/** Process a byte after ESC & */
|
|
168
169
|
processAmp(byte) {
|
|
169
170
|
if (byte === 0x64) { // 'd'
|
|
170
|
-
this.state =
|
|
171
|
+
this.state = State.AMP_D;
|
|
171
172
|
return false;
|
|
172
173
|
}
|
|
173
174
|
// Unknown ESC & X sequence
|
|
174
|
-
this.state =
|
|
175
|
+
this.state = State.NORMAL;
|
|
175
176
|
return false;
|
|
176
177
|
}
|
|
177
178
|
/** Process the attribute code byte after ESC & d */
|
|
178
179
|
processAmpD(byte) {
|
|
179
|
-
this.state =
|
|
180
|
+
this.state = State.NORMAL;
|
|
180
181
|
this.screen.setAttrFromCode(byte);
|
|
181
182
|
return true;
|
|
182
183
|
}
|
|
@@ -253,3 +254,4 @@ export class HP6530Parser {
|
|
|
253
254
|
}
|
|
254
255
|
}
|
|
255
256
|
}
|
|
257
|
+
//# sourceMappingURL=parser.js.map
|