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.
Files changed (146) hide show
  1. package/README.md +98 -0
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +23 -4
  5. package/dist/cli.js.map +1 -0
  6. package/dist/deploy.d.ts +2 -0
  7. package/dist/deploy.d.ts.map +1 -0
  8. package/dist/deploy.js +252 -0
  9. package/dist/deploy.js.map +1 -0
  10. package/dist/hp6530/connection.d.ts +1 -0
  11. package/dist/hp6530/connection.d.ts.map +1 -0
  12. package/dist/hp6530/connection.js +1 -0
  13. package/dist/hp6530/connection.js.map +1 -0
  14. package/dist/hp6530/constants.d.ts +1 -0
  15. package/dist/hp6530/constants.d.ts.map +1 -0
  16. package/dist/hp6530/constants.js +1 -0
  17. package/dist/hp6530/constants.js.map +1 -0
  18. package/dist/hp6530/encoder.d.ts +1 -0
  19. package/dist/hp6530/encoder.d.ts.map +1 -0
  20. package/dist/hp6530/encoder.js +1 -0
  21. package/dist/hp6530/encoder.js.map +1 -0
  22. package/dist/hp6530/parser.d.ts +1 -0
  23. package/dist/hp6530/parser.d.ts.map +1 -0
  24. package/dist/hp6530/parser.js +17 -15
  25. package/dist/hp6530/parser.js.map +1 -0
  26. package/dist/hp6530/screen.d.ts +1 -0
  27. package/dist/hp6530/screen.d.ts.map +1 -0
  28. package/dist/hp6530/screen.js +1 -0
  29. package/dist/hp6530/screen.js.map +1 -0
  30. package/dist/index.d.ts +36 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +81 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/mock/mock-routes.d.ts +1 -0
  35. package/dist/mock/mock-routes.d.ts.map +1 -0
  36. package/dist/mock/mock-routes.js +1 -0
  37. package/dist/mock/mock-routes.js.map +1 -0
  38. package/dist/protocols/hp6530-handler.d.ts +3 -1
  39. package/dist/protocols/hp6530-handler.d.ts.map +1 -0
  40. package/dist/protocols/hp6530-handler.js +1 -0
  41. package/dist/protocols/hp6530-handler.js.map +1 -0
  42. package/dist/protocols/index.d.ts +5 -2
  43. package/dist/protocols/index.d.ts.map +1 -0
  44. package/dist/protocols/index.js +1 -0
  45. package/dist/protocols/index.js.map +1 -0
  46. package/dist/protocols/tn3270-handler.d.ts +3 -1
  47. package/dist/protocols/tn3270-handler.d.ts.map +1 -0
  48. package/dist/protocols/tn3270-handler.js +1 -0
  49. package/dist/protocols/tn3270-handler.js.map +1 -0
  50. package/dist/protocols/tn5250-handler.d.ts +25 -1
  51. package/dist/protocols/tn5250-handler.d.ts.map +1 -0
  52. package/dist/protocols/tn5250-handler.js +150 -1
  53. package/dist/protocols/tn5250-handler.js.map +1 -0
  54. package/dist/protocols/types.d.ts +3 -23
  55. package/dist/protocols/types.d.ts.map +1 -0
  56. package/dist/protocols/types.js +1 -0
  57. package/dist/protocols/types.js.map +1 -0
  58. package/dist/protocols/vt-handler.d.ts +3 -1
  59. package/dist/protocols/vt-handler.d.ts.map +1 -0
  60. package/dist/protocols/vt-handler.js +1 -0
  61. package/dist/protocols/vt-handler.js.map +1 -0
  62. package/dist/routes.d.ts +1 -0
  63. package/dist/routes.d.ts.map +1 -0
  64. package/dist/routes.js +1 -0
  65. package/dist/routes.js.map +1 -0
  66. package/dist/server.d.ts +1 -0
  67. package/dist/server.d.ts.map +1 -0
  68. package/dist/server.js +13 -28
  69. package/dist/server.js.map +1 -0
  70. package/dist/session.d.ts +5 -10
  71. package/dist/session.d.ts.map +1 -0
  72. package/dist/session.js +1 -0
  73. package/dist/session.js.map +1 -0
  74. package/dist/standalone.d.ts +3 -0
  75. package/dist/standalone.d.ts.map +1 -0
  76. package/dist/standalone.js +6 -0
  77. package/dist/standalone.js.map +1 -0
  78. package/dist/tn3270/connection.d.ts +1 -0
  79. package/dist/tn3270/connection.d.ts.map +1 -0
  80. package/dist/tn3270/connection.js +1 -0
  81. package/dist/tn3270/connection.js.map +1 -0
  82. package/dist/tn3270/constants.d.ts +1 -0
  83. package/dist/tn3270/constants.d.ts.map +1 -0
  84. package/dist/tn3270/constants.js +1 -0
  85. package/dist/tn3270/constants.js.map +1 -0
  86. package/dist/tn3270/encoder.d.ts +1 -0
  87. package/dist/tn3270/encoder.d.ts.map +1 -0
  88. package/dist/tn3270/encoder.js +1 -0
  89. package/dist/tn3270/encoder.js.map +1 -0
  90. package/dist/tn3270/parser.d.ts +1 -0
  91. package/dist/tn3270/parser.d.ts.map +1 -0
  92. package/dist/tn3270/parser.js +1 -0
  93. package/dist/tn3270/parser.js.map +1 -0
  94. package/dist/tn3270/screen.d.ts +1 -0
  95. package/dist/tn3270/screen.d.ts.map +1 -0
  96. package/dist/tn3270/screen.js +1 -0
  97. package/dist/tn3270/screen.js.map +1 -0
  98. package/dist/tn5250/connection.d.ts +1 -0
  99. package/dist/tn5250/connection.d.ts.map +1 -0
  100. package/dist/tn5250/connection.js +7 -8
  101. package/dist/tn5250/connection.js.map +1 -0
  102. package/dist/tn5250/constants.d.ts +1 -0
  103. package/dist/tn5250/constants.d.ts.map +1 -0
  104. package/dist/tn5250/constants.js +1 -0
  105. package/dist/tn5250/constants.js.map +1 -0
  106. package/dist/tn5250/ebcdic.d.ts +2 -0
  107. package/dist/tn5250/ebcdic.d.ts.map +1 -0
  108. package/dist/tn5250/ebcdic.js +25 -0
  109. package/dist/tn5250/ebcdic.js.map +1 -0
  110. package/dist/tn5250/encoder.d.ts +10 -1
  111. package/dist/tn5250/encoder.d.ts.map +1 -0
  112. package/dist/tn5250/encoder.js +17 -19
  113. package/dist/tn5250/encoder.js.map +1 -0
  114. package/dist/tn5250/parser.d.ts +31 -5
  115. package/dist/tn5250/parser.d.ts.map +1 -0
  116. package/dist/tn5250/parser.js +234 -79
  117. package/dist/tn5250/parser.js.map +1 -0
  118. package/dist/tn5250/screen.d.ts +12 -0
  119. package/dist/tn5250/screen.d.ts.map +1 -0
  120. package/dist/tn5250/screen.js +29 -2
  121. package/dist/tn5250/screen.js.map +1 -0
  122. package/dist/vt/connection.d.ts +1 -0
  123. package/dist/vt/connection.d.ts.map +1 -0
  124. package/dist/vt/connection.js +1 -0
  125. package/dist/vt/connection.js.map +1 -0
  126. package/dist/vt/constants.d.ts +1 -0
  127. package/dist/vt/constants.d.ts.map +1 -0
  128. package/dist/vt/constants.js +1 -0
  129. package/dist/vt/constants.js.map +1 -0
  130. package/dist/vt/encoder.d.ts +1 -0
  131. package/dist/vt/encoder.d.ts.map +1 -0
  132. package/dist/vt/encoder.js +1 -0
  133. package/dist/vt/encoder.js.map +1 -0
  134. package/dist/vt/parser.d.ts +1 -0
  135. package/dist/vt/parser.d.ts.map +1 -0
  136. package/dist/vt/parser.js +35 -33
  137. package/dist/vt/parser.js.map +1 -0
  138. package/dist/vt/screen.d.ts +1 -0
  139. package/dist/vt/screen.d.ts.map +1 -0
  140. package/dist/vt/screen.js +1 -0
  141. package/dist/vt/screen.js.map +1 -0
  142. package/dist/websocket.d.ts +1 -0
  143. package/dist/websocket.d.ts.map +1 -0
  144. package/dist/websocket.js +241 -14
  145. package/dist/websocket.js.map +1 -0
  146. package/package.json +9 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/hp6530/parser.ts"],"names":[],"mappings":"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"}
@@ -102,3 +102,4 @@ export declare class HP6530Screen {
102
102
  timestamp: string;
103
103
  };
104
104
  }
105
+ //# sourceMappingURL=screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/hp6530/screen.ts"],"names":[],"mappings":"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"}
@@ -250,3 +250,4 @@ export class HP6530Screen {
250
250
  };
251
251
  }
252
252
  }
253
+ //# sourceMappingURL=screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/hp6530/screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import express from 'express';
2
+ import { Server as HttpServer } from 'http';
3
+ export interface ProxyOptions {
4
+ /** Port to listen on (default: 3001) */
5
+ port?: number;
6
+ /** Use mock screens instead of real connections */
7
+ mock?: boolean;
8
+ /** Serve the built-in web terminal UI */
9
+ standalone?: boolean;
10
+ }
11
+ export interface ProxyServer {
12
+ /** The underlying HTTP server */
13
+ server: HttpServer;
14
+ /** The Express app */
15
+ app: express.Express;
16
+ /** The port the server is listening on */
17
+ port: number;
18
+ /** Stop the server */
19
+ close(): Promise<void>;
20
+ }
21
+ /**
22
+ * Create and start a green-screen proxy server.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { createProxy } from 'green-screen-proxy';
27
+ *
28
+ * const proxy = await createProxy({ port: 3001 });
29
+ * console.log(`Proxy running on port ${proxy.port}`);
30
+ *
31
+ * // Later:
32
+ * await proxy.close();
33
+ * ```
34
+ */
35
+ export declare function createProxy(options?: ProxyOptions): Promise<ProxyServer>;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAgB,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAK1D,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,sBAAsB;IACtB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;IACrB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgElF"}
package/dist/index.js ADDED
@@ -0,0 +1,81 @@
1
+ import express from 'express';
2
+ import cors from 'cors';
3
+ import { createServer } from 'http';
4
+ import { existsSync } from 'fs';
5
+ import { join, dirname } from 'path';
6
+ import { fileURLToPath } from 'url';
7
+ /**
8
+ * Create and start a green-screen proxy server.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { createProxy } from 'green-screen-proxy';
13
+ *
14
+ * const proxy = await createProxy({ port: 3001 });
15
+ * console.log(`Proxy running on port ${proxy.port}`);
16
+ *
17
+ * // Later:
18
+ * await proxy.close();
19
+ * ```
20
+ */
21
+ export async function createProxy(options = {}) {
22
+ const { port = 3001, mock = false, standalone = false } = options;
23
+ const app = express();
24
+ app.use(cors());
25
+ app.use(express.json());
26
+ let setupWebSocket;
27
+ if (mock) {
28
+ const { default: mockRoutes } = await import('./mock/mock-routes.js');
29
+ app.use('/', mockRoutes);
30
+ }
31
+ else {
32
+ const [{ default: routes }, { setupWebSocket: setupWs }] = await Promise.all([
33
+ import('./routes.js'),
34
+ import('./websocket.js'),
35
+ ]);
36
+ app.use('/', routes);
37
+ setupWebSocket = setupWs;
38
+ }
39
+ if (standalone) {
40
+ const __dirname = dirname(fileURLToPath(import.meta.url));
41
+ const uiPath = join(__dirname, 'ui');
42
+ if (existsSync(uiPath)) {
43
+ app.use(express.static(uiPath));
44
+ app.get('*', (_req, res, next) => {
45
+ if (_req.path.startsWith('/api') || _req.path.startsWith('/connect')) {
46
+ return next();
47
+ }
48
+ res.sendFile(join(uiPath, 'index.html'));
49
+ });
50
+ }
51
+ }
52
+ const server = createServer(app);
53
+ if (setupWebSocket)
54
+ setupWebSocket(server);
55
+ let resolvedPort = port;
56
+ return new Promise((resolve, reject) => {
57
+ server.on('error', (err) => {
58
+ if (err.code === 'EADDRINUSE') {
59
+ resolvedPort++;
60
+ server.listen(resolvedPort);
61
+ }
62
+ else {
63
+ reject(err);
64
+ }
65
+ });
66
+ server.listen(resolvedPort, () => {
67
+ resolve({
68
+ server,
69
+ app,
70
+ port: resolvedPort,
71
+ close() {
72
+ return new Promise((res) => {
73
+ server.close(() => res());
74
+ setTimeout(() => res(), 1000);
75
+ });
76
+ },
77
+ });
78
+ });
79
+ });
80
+ }
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  declare const router: import("express-serve-static-core").Router;
2
2
  export default router;
3
+ //# sourceMappingURL=mock-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-routes.d.ts","sourceRoot":"","sources":["../../src/mock/mock-routes.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAkQxB,eAAe,MAAM,CAAC"}
@@ -229,3 +229,4 @@ router.post('/send-key', (req, res) => {
229
229
  });
230
230
  });
231
231
  export default router;
232
+ //# sourceMappingURL=mock-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-routes.js","sourceRoot":"","sources":["../../src/mock/mock-routes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { ProtocolHandler, ScreenData, ProtocolOptions, ProtocolType } from './types.js';
1
+ import { ProtocolHandler } from './types.js';
2
+ import type { ScreenData, ProtocolOptions, ProtocolType } from './types.js';
2
3
  import { HP6530Connection } from '../hp6530/connection.js';
3
4
  import { HP6530Screen } from '../hp6530/screen.js';
4
5
  import { HP6530Parser } from '../hp6530/parser.js';
@@ -27,3 +28,4 @@ export declare class HP6530Handler extends ProtocolHandler {
27
28
  destroy(): void;
28
29
  private onData;
29
30
  }
31
+ //# sourceMappingURL=hp6530-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hp6530-handler.d.ts","sourceRoot":"","sources":["../../src/protocols/hp6530-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAY;IAE3C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;;IAchC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,UAAU;IAI3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,MAAM;CAMf"}
@@ -62,3 +62,4 @@ export class HP6530Handler extends ProtocolHandler {
62
62
  }
63
63
  }
64
64
  }
65
+ //# sourceMappingURL=hp6530-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hp6530-handler.js","sourceRoot":"","sources":["../../src/protocols/hp6530-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IACvC,QAAQ,GAAiB,QAAQ,CAAC;IAElC,UAAU,CAAmB;IAC7B,MAAM,CAAe;IACrB,MAAM,CAAe;IACrB,OAAO,CAAgB;IAEhC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,QAA0B;QAClE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,IAAY;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF"}
@@ -1,11 +1,14 @@
1
- export { ProtocolHandler, ProtocolType, ProtocolOptions, ScreenData } from './types.js';
1
+ export { ProtocolHandler } from './types.js';
2
+ export type { ProtocolType, ProtocolOptions, ScreenData } from './types.js';
2
3
  export { TN5250Handler } from './tn5250-handler.js';
3
4
  export { TN3270Handler } from './tn3270-handler.js';
4
5
  export { VTHandler } from './vt-handler.js';
5
6
  export { HP6530Handler } from './hp6530-handler.js';
6
- import { ProtocolHandler, ProtocolType } from './types.js';
7
+ import { ProtocolHandler } from './types.js';
8
+ import type { ProtocolType } from './types.js';
7
9
  /**
8
10
  * Create a protocol handler for the given protocol type.
9
11
  * Throws if the protocol is not yet implemented.
10
12
  */
11
13
  export declare function createProtocolHandler(protocol?: ProtocolType): ProtocolHandler;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,YAAuB,GAAG,eAAe,CAaxF"}
@@ -25,3 +25,4 @@ export function createProtocolHandler(protocol = 'tn5250') {
25
25
  throw new Error(`Protocol "${protocol}" is not yet implemented. Supported: tn5250, tn3270, vt, hp6530`);
26
26
  }
27
27
  }
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocols/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAyB,QAAQ;IACrE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,KAAK,IAAI;YACP,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B;YACE,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,iEAAiE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
- import { ProtocolHandler, ScreenData, ProtocolOptions, ProtocolType } from './types.js';
1
+ import { ProtocolHandler } from './types.js';
2
+ import type { ScreenData, ProtocolOptions, ProtocolType } from './types.js';
2
3
  import { TN3270Connection } from '../tn3270/connection.js';
3
4
  import { ScreenBuffer3270 } from '../tn3270/screen.js';
4
5
  import { TN3270Parser } from '../tn3270/parser.js';
@@ -24,3 +25,4 @@ export declare class TN3270Handler extends ProtocolHandler {
24
25
  destroy(): void;
25
26
  private onRecord;
26
27
  }
28
+ //# sourceMappingURL=tn3270-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tn3270-handler.d.ts","sourceRoot":"","sources":["../../src/protocols/tn3270-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAY;IAE3C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;;IAchC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,UAAU;IAI3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,QAAQ;CAMjB"}
@@ -59,3 +59,4 @@ export class TN3270Handler extends ProtocolHandler {
59
59
  }
60
60
  }
61
61
  }
62
+ //# sourceMappingURL=tn3270-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tn3270-handler.js","sourceRoot":"","sources":["../../src/protocols/tn3270-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IACvC,QAAQ,GAAiB,QAAQ,CAAC;IAElC,UAAU,CAAmB;IAC7B,MAAM,CAAmB;IACzB,MAAM,CAAe;IACrB,OAAO,CAAgB;IAEhC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,QAA0B;QAClE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,QAAQ,CAAC,MAAc;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
- import { ProtocolHandler, ScreenData, ProtocolOptions, ProtocolType } from './types.js';
1
+ import { ProtocolHandler } from './types.js';
2
+ import type { ScreenData, ProtocolOptions, ProtocolType } from './types.js';
2
3
  import { TN5250Connection } from '../tn5250/connection.js';
3
4
  import { ScreenBuffer } from '../tn5250/screen.js';
4
5
  import { TN5250Parser } from '../tn5250/parser.js';
@@ -20,7 +21,30 @@ export declare class TN5250Handler extends ProtocolHandler {
20
21
  getScreenData(): ScreenData;
21
22
  sendText(text: string): boolean;
22
23
  sendKey(keyName: string): boolean;
24
+ private normalizeKeyName;
25
+ /**
26
+ * Fill the first two input fields (username, password) and press Enter.
27
+ * Replicates the exact same operations as manual typing:
28
+ * cursor → field 0 start, insertText(username), cursor → field 1 start,
29
+ * insertText(password), buildAidResponse('Enter'), sendRaw.
30
+ */
31
+ autoSignIn(username: string, password: string): boolean;
32
+ /** Saved input field values from before the last AID was sent */
33
+ private savedFields;
34
+ /**
35
+ * Snapshot all input field values. Called before sending an AID so
36
+ * the values can be restored on the next screen if the host clears them.
37
+ */
38
+ private saveInputFields;
39
+ /**
40
+ * Restore saved field values into matching empty fields on the current
41
+ * screen. Matches by field attribute (e.g. UNDERSCORE, NON_DISPLAY)
42
+ * so it works even if exact positions shift between screens.
43
+ */
44
+ restoreFields(): void;
45
+ private isFieldEmpty;
23
46
  sendRaw(data: Buffer): void;
24
47
  destroy(): void;
25
48
  private onRecord;
26
49
  }
50
+ //# sourceMappingURL=tn5250-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tn5250-handler.d.ts","sourceRoot":"","sources":["../../src/protocols/tn5250-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAY,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAY;IAE3C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;;IAchC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,UAAU;IAI3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA6CjC,OAAO,CAAC,gBAAgB;IAWxB;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAmDvD,iEAAiE;IACjE,OAAO,CAAC,WAAW,CAA6E;IAEhG;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAerB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,QAAQ;CAOjB"}
@@ -39,10 +39,158 @@ export class TN5250Handler extends ProtocolHandler {
39
39
  return this.encoder.insertText(text);
40
40
  }
41
41
  sendKey(keyName) {
42
- const response = this.encoder.buildAidResponse(keyName);
42
+ // Normalize key names: frontend sends uppercase (ENTER, TAB) but
43
+ // KEY_TO_AID uses mixed case (Enter, PageUp). Handle both.
44
+ const normalizedKey = this.normalizeKeyName(keyName);
45
+ // Tab/Backtab: local cursor movement to next/previous input field.
46
+ // Skip UIM framework artifact fields whose OWN attribute byte doesn't
47
+ // indicate underscore or non-display (they may inherit underscore from
48
+ // SA context but aren't real interactive fields).
49
+ if (normalizedKey === 'Tab' || normalizedKey === 'Backtab') {
50
+ const allInputs = this.screen.fields
51
+ .filter(f => this.screen.isInputField(f))
52
+ .sort((a, b) => this.screen.offset(a.row, a.col) - this.screen.offset(b.row, b.col));
53
+ if (allInputs.length === 0)
54
+ return false;
55
+ // Keep fields with native underscore/non-display, or the last input field
56
+ const lastPos = this.screen.offset(allInputs[allInputs.length - 1].row, allInputs[allInputs.length - 1].col);
57
+ const inputFields = allInputs.filter(f => this.screen.hasNativeUnderscore(f) || this.screen.hasNativeNonDisplay(f) ||
58
+ this.screen.offset(f.row, f.col) === lastPos);
59
+ if (inputFields.length === 0)
60
+ return false;
61
+ const cursorPos = this.screen.offset(this.screen.cursorRow, this.screen.cursorCol);
62
+ if (normalizedKey === 'Tab') {
63
+ // Find the next input field after cursor
64
+ const next = inputFields.find(f => this.screen.offset(f.row, f.col) > cursorPos);
65
+ const target = next || inputFields[0]; // wrap around
66
+ this.screen.cursorRow = target.row;
67
+ this.screen.cursorCol = target.col;
68
+ }
69
+ else {
70
+ // Backtab: find previous input field
71
+ const prev = [...inputFields].reverse().find(f => this.screen.offset(f.row, f.col) < cursorPos);
72
+ const target = prev || inputFields[inputFields.length - 1];
73
+ this.screen.cursorRow = target.row;
74
+ this.screen.cursorCol = target.col;
75
+ }
76
+ return true;
77
+ }
78
+ const response = this.encoder.buildAidResponse(normalizedKey);
79
+ if (!response)
80
+ return false;
81
+ this.connection.sendRaw(response);
82
+ return true;
83
+ }
84
+ normalizeKeyName(key) {
85
+ const map = {
86
+ 'ENTER': 'Enter', 'TAB': 'Tab', 'BACKTAB': 'Backtab',
87
+ 'PAGEUP': 'PageUp', 'PAGEDOWN': 'PageDown',
88
+ 'DELETE': 'Delete', 'CLEAR': 'Clear', 'HELP': 'Help', 'PRINT': 'Print',
89
+ 'UP': 'ArrowUp', 'DOWN': 'ArrowDown', 'LEFT': 'ArrowLeft', 'RIGHT': 'ArrowRight',
90
+ 'HOME': 'Home', 'END': 'End', 'INSERT': 'Insert',
91
+ };
92
+ return map[key] || key;
93
+ }
94
+ /**
95
+ * Fill the first two input fields (username, password) and press Enter.
96
+ * Replicates the exact same operations as manual typing:
97
+ * cursor → field 0 start, insertText(username), cursor → field 1 start,
98
+ * insertText(password), buildAidResponse('Enter'), sendRaw.
99
+ */
100
+ autoSignIn(username, password) {
101
+ // Find the username field (UNDERSCORE attribute = visible input) and
102
+ // password field (NON_DISPLAY attribute = hidden input). This avoids
103
+ // picking up non-visible input fields (ffw1=0x40, attr=NORMAL) that
104
+ // some screens define but aren't part of the sign-on form.
105
+ const ATTR_UNDERSCORE = 0x24;
106
+ const ATTR_NON_DISPLAY = 0x27;
107
+ const sortedFields = this.screen.fields
108
+ .filter(f => this.screen.isInputField(f))
109
+ .sort((a, b) => this.screen.offset(a.row, a.col) - this.screen.offset(b.row, b.col));
110
+ const userField = sortedFields.find(f => f.attribute === ATTR_UNDERSCORE);
111
+ const pwField = sortedFields.find(f => f.attribute === ATTR_NON_DISPLAY);
112
+ if (!userField || !pwField)
113
+ return false;
114
+ this.screen.cursorRow = userField.row;
115
+ this.screen.cursorCol = userField.col;
116
+ // Type username (same as manual typing via insertText)
117
+ this.encoder.insertText(username);
118
+ // Move cursor to password field start (same as TAB to next field)
119
+ this.screen.cursorRow = pwField.row;
120
+ this.screen.cursorCol = pwField.col;
121
+ // Type password (cursor ends up at end of password in pw field)
122
+ this.encoder.insertText(password);
123
+ // Snapshot field values before sending — so we can restore them on the
124
+ // confirmation screen after the host clears the buffer with CLEAR_UNIT.
125
+ // Password (NON_DISPLAY) is saved as asterisks for masked display.
126
+ this.saveInputFields([ATTR_NON_DISPLAY]);
127
+ // Build and send ENTER — cursor is in the password field, matching
128
+ // exactly what happens during manual sign-in
129
+ const response = this.encoder.buildAidResponse('Enter');
43
130
  if (!response)
44
131
  return false;
45
132
  this.connection.sendRaw(response);
133
+ // Clear the password from the buffer (the AID already captured it).
134
+ this.screen.setFieldValue(pwField, '');
135
+ // Reset all modified flags so stale data isn't re-sent in subsequent AIDs.
136
+ for (const f of this.screen.fields) {
137
+ f.modified = false;
138
+ }
139
+ return true;
140
+ }
141
+ /** Saved input field values from before the last AID was sent */
142
+ savedFields = [];
143
+ /**
144
+ * Snapshot all input field values. Called before sending an AID so
145
+ * the values can be restored on the next screen if the host clears them.
146
+ */
147
+ saveInputFields(maskAttributes) {
148
+ this.savedFields = [];
149
+ for (const f of this.screen.fields) {
150
+ if (!this.screen.isInputField(f) || f.length === 0)
151
+ continue;
152
+ const start = this.screen.offset(f.row, f.col);
153
+ let value = '';
154
+ for (let i = start; i < start + f.length; i++) {
155
+ value += this.screen.buffer[i];
156
+ }
157
+ if (value.trim().length === 0)
158
+ continue;
159
+ // For masked fields (e.g. NON_DISPLAY passwords), store asterisks
160
+ const isMasked = maskAttributes?.includes(f.attribute);
161
+ const trimmed = value.replace(/[\s\0]+$/, '');
162
+ this.savedFields.push({
163
+ row: f.row,
164
+ col: f.col,
165
+ attribute: f.attribute,
166
+ value: isMasked ? '*'.repeat(trimmed.length) : value,
167
+ });
168
+ }
169
+ }
170
+ /**
171
+ * Restore saved field values into matching empty fields on the current
172
+ * screen. Matches by field attribute (e.g. UNDERSCORE, NON_DISPLAY)
173
+ * so it works even if exact positions shift between screens.
174
+ */
175
+ restoreFields() {
176
+ for (const saved of this.savedFields) {
177
+ const field = this.screen.fields.find(f => this.screen.isInputField(f)
178
+ && f.attribute === saved.attribute
179
+ && f.length > 0
180
+ && this.isFieldEmpty(f));
181
+ if (!field)
182
+ continue;
183
+ this.screen.cursorRow = field.row;
184
+ this.screen.cursorCol = field.col;
185
+ this.encoder.insertText(saved.value.substring(0, field.length));
186
+ }
187
+ }
188
+ isFieldEmpty(field) {
189
+ const start = this.screen.offset(field.row, field.col);
190
+ for (let i = start; i < start + field.length; i++) {
191
+ if (this.screen.buffer[i] !== ' ' && this.screen.buffer[i] !== '\0')
192
+ return false;
193
+ }
46
194
  return true;
47
195
  }
48
196
  sendRaw(data) {
@@ -60,3 +208,4 @@ export class TN5250Handler extends ProtocolHandler {
60
208
  }
61
209
  }
62
210
  }
211
+ //# sourceMappingURL=tn5250-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tn5250-handler.js","sourceRoot":"","sources":["../../src/protocols/tn5250-handler.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,6 @@
1
1
  import { EventEmitter } from 'events';
2
- /**
3
- * Screen data returned by protocol handlers.
4
- * Protocol-agnostic representation of the terminal screen.
5
- */
6
- export interface ScreenData {
7
- content: string;
8
- cursor_row: number;
9
- cursor_col: number;
10
- rows: number;
11
- cols: number;
12
- fields: Array<{
13
- row: number;
14
- col: number;
15
- length: number;
16
- is_input: boolean;
17
- is_protected: boolean;
18
- is_highlighted?: boolean;
19
- is_reverse?: boolean;
20
- }>;
21
- screen_signature: string;
22
- timestamp: string;
23
- }
24
- export type ProtocolType = 'tn5250' | 'tn3270' | 'vt' | 'hp6530';
2
+ export type { ScreenData, ProtocolType, Field } from 'green-screen-types';
3
+ import type { ScreenData, ProtocolType } from 'green-screen-types';
25
4
  export interface ProtocolOptions {
26
5
  /** Terminal type string for negotiation */
27
6
  terminalType?: string;
@@ -57,3 +36,4 @@ export declare abstract class ProtocolHandler extends EventEmitter {
57
36
  /** Clean up resources */
58
37
  abstract destroy(): void;
59
38
  }
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,YAAY;IACxD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEzC,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtF,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,uCAAuC;IACvC,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC;IAEpC,mCAAmC;IACnC,QAAQ,CAAC,aAAa,IAAI,UAAU;IAEpC,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAExC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAE1C,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEpC,yBAAyB;IACzB,QAAQ,CAAC,OAAO,IAAI,IAAI;CACzB"}
@@ -5,3 +5,4 @@ import { EventEmitter } from 'events';
5
5
  */
6
6
  export class ProtocolHandler extends EventEmitter {
7
7
  }
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/protocols/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAkBtC;;;GAGG;AACH,MAAM,OAAgB,eAAgB,SAAQ,YAAY;CA6BzD"}
@@ -1,4 +1,5 @@
1
- import { ProtocolHandler, ScreenData, ProtocolOptions, ProtocolType } from './types.js';
1
+ import { ProtocolHandler } from './types.js';
2
+ import type { ScreenData, ProtocolOptions, ProtocolType } from './types.js';
2
3
  import { VTConnection } from '../vt/connection.js';
3
4
  import { VTScreenBuffer } from '../vt/screen.js';
4
5
  import { VTParser } from '../vt/parser.js';
@@ -28,3 +29,4 @@ export declare class VTHandler extends ProtocolHandler {
28
29
  destroy(): void;
29
30
  private onData;
30
31
  }
32
+ //# sourceMappingURL=vt-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vt-handler.d.ts","sourceRoot":"","sources":["../../src/protocols/vt-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,eAAe;IAC5C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAQ;IAEvC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;;IAc5B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,UAAU;IAI3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,MAAM;CAMf"}