green-screen-proxy 1.0.3 → 1.1.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 (38) hide show
  1. package/dist/controller.d.ts +2 -0
  2. package/dist/controller.d.ts.map +1 -1
  3. package/dist/controller.js +37 -5
  4. package/dist/controller.js.map +1 -1
  5. package/dist/protocols/tn5250-handler.d.ts +14 -1
  6. package/dist/protocols/tn5250-handler.d.ts.map +1 -1
  7. package/dist/protocols/tn5250-handler.js +204 -16
  8. package/dist/protocols/tn5250-handler.js.map +1 -1
  9. package/dist/routes.js +2 -2
  10. package/dist/routes.js.map +1 -1
  11. package/dist/session.d.ts +2 -2
  12. package/dist/session.d.ts.map +1 -1
  13. package/dist/session.js +2 -2
  14. package/dist/session.js.map +1 -1
  15. package/dist/tn5250/connection.d.ts +2 -1
  16. package/dist/tn5250/connection.d.ts.map +1 -1
  17. package/dist/tn5250/connection.js +5 -3
  18. package/dist/tn5250/connection.js.map +1 -1
  19. package/dist/tn5250/constants.d.ts +15 -0
  20. package/dist/tn5250/constants.d.ts.map +1 -1
  21. package/dist/tn5250/constants.js +18 -0
  22. package/dist/tn5250/constants.js.map +1 -1
  23. package/dist/tn5250/encoder.d.ts +11 -0
  24. package/dist/tn5250/encoder.d.ts.map +1 -1
  25. package/dist/tn5250/encoder.js +107 -5
  26. package/dist/tn5250/encoder.js.map +1 -1
  27. package/dist/tn5250/parser.d.ts +64 -6
  28. package/dist/tn5250/parser.d.ts.map +1 -1
  29. package/dist/tn5250/parser.js +579 -134
  30. package/dist/tn5250/parser.js.map +1 -1
  31. package/dist/tn5250/screen.d.ts +93 -0
  32. package/dist/tn5250/screen.d.ts.map +1 -1
  33. package/dist/tn5250/screen.js +283 -12
  34. package/dist/tn5250/screen.js.map +1 -1
  35. package/dist/websocket.d.ts.map +1 -1
  36. package/dist/websocket.js +90 -19
  37. package/dist/websocket.js.map +1 -1
  38. package/package.json +1 -1
@@ -16,10 +16,11 @@ export declare class TN5250Connection extends EventEmitter {
16
16
  private connected;
17
17
  private recvBuffer;
18
18
  private negotiationDone;
19
+ private terminalType;
19
20
  get isConnected(): boolean;
20
21
  get remoteHost(): string;
21
22
  get remotePort(): number;
22
- connect(host: string, port: number): Promise<void>;
23
+ connect(host: string, port: number, terminalType?: string): Promise<void>;
23
24
  disconnect(): void;
24
25
  /** Send raw bytes over the socket */
25
26
  sendRaw(data: Buffer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/tn5250/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAkB;IAEzC,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;IA+ClD,UAAU,IAAI,IAAI;IAOlB,qCAAqC;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,aAAa;IA6DrB,kDAAkD;IAClD,OAAO,CAAC,aAAa;IASrB,wCAAwC;IACxC,OAAO,CAAC,aAAa;IASrB,wCAAwC;IACxC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/tn5250/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAiC;IAErD,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,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDzE,UAAU,IAAI,IAAI;IAOlB,qCAAqC;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,aAAa;IA6DrB,kDAAkD;IAClD,OAAO,CAAC,aAAa;IASrB,wCAAwC;IACxC,OAAO,CAAC,aAAa;IASrB,wCAAwC;IACxC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;CAGnB"}
@@ -1,6 +1,6 @@
1
1
  import * as net from 'net';
2
2
  import { EventEmitter } from 'events';
3
- import { TELNET, TERMINAL_TYPE } from './constants.js';
3
+ import { TELNET, TERMINAL_TYPE as DEFAULT_TERMINAL_TYPE } from './constants.js';
4
4
  /**
5
5
  * Manages raw TCP socket to IBM i, handles Telnet negotiation,
6
6
  * and extracts 5250 data records (delimited by IAC EOR).
@@ -12,6 +12,7 @@ export class TN5250Connection extends EventEmitter {
12
12
  connected = false;
13
13
  recvBuffer = Buffer.alloc(0);
14
14
  negotiationDone = false;
15
+ terminalType = DEFAULT_TERMINAL_TYPE;
15
16
  get isConnected() {
16
17
  return this.connected;
17
18
  }
@@ -21,7 +22,7 @@ export class TN5250Connection extends EventEmitter {
21
22
  get remotePort() {
22
23
  return this.port;
23
24
  }
24
- connect(host, port) {
25
+ connect(host, port, terminalType) {
25
26
  return new Promise((resolve, reject) => {
26
27
  if (this.socket) {
27
28
  this.disconnect();
@@ -30,6 +31,7 @@ export class TN5250Connection extends EventEmitter {
30
31
  this.port = port;
31
32
  this.recvBuffer = Buffer.alloc(0);
32
33
  this.negotiationDone = false;
34
+ this.terminalType = terminalType || DEFAULT_TERMINAL_TYPE;
33
35
  this.socket = new net.Socket();
34
36
  this.socket.setTimeout(30000);
35
37
  const onError = (err) => {
@@ -219,7 +221,7 @@ export class TN5250Connection extends EventEmitter {
219
221
  }
220
222
  }
221
223
  sendTerminalType() {
222
- const typeStr = TERMINAL_TYPE;
224
+ const typeStr = this.terminalType;
223
225
  const buf = Buffer.alloc(4 + typeStr.length + 2);
224
226
  let i = 0;
225
227
  buf[i++] = TELNET.IAC;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/tn5250/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/tn5250/connection.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ export declare const ORDER: {
61
61
  readonly TD: 16;
62
62
  readonly WEA: 4;
63
63
  readonly SF: 29;
64
+ readonly WDSF: 21;
64
65
  readonly SA: 40;
65
66
  };
66
67
  export declare const AID: {
@@ -118,6 +119,16 @@ export declare const ATTR: {
118
119
  readonly NON_DISPLAY: 39;
119
120
  readonly COLUMN_SEPARATOR: 35;
120
121
  };
122
+ export declare const WDSF_TYPE: {
123
+ readonly DEFINE_SELECTION_FIELD: 80;
124
+ readonly CREATE_WINDOW: 81;
125
+ readonly UNRESTRICT_CURSOR: 82;
126
+ readonly DEFINE_SCROLL_BAR: 83;
127
+ readonly WRITE_DATA: 84;
128
+ readonly REM_GUI_WINDOW: 89;
129
+ readonly REM_ALL_GUI_CONSTRUCTS: 95;
130
+ };
131
+ export declare const WDSF_CLASS = 217;
121
132
  export declare const SCREEN: {
122
133
  readonly ROWS_24: 24;
123
134
  readonly COLS_80: 80;
@@ -126,4 +137,8 @@ export declare const SCREEN: {
126
137
  };
127
138
  export declare const TERMINAL_TYPE = "IBM-3179-2";
128
139
  export declare const TERMINAL_TYPE_WIDE = "IBM-3477-FC";
140
+ export declare const TERMINAL_DIMENSIONS: Record<string, {
141
+ rows: number;
142
+ cols: number;
143
+ }>;
129
144
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC;AAKX,eAAO,MAAM,WAAW;;CAEd,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAaT,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;CAcN,CAAC;AAGX,eAAO,MAAM,KAAK;;;;;;;;;;;CAWR,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCN,CAAC;AAGX,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa7C,CAAC;AAGF,eAAO,MAAM,GAAG;;;;;;;;;;CAYN,CAAC;AAGX,eAAO,MAAM,IAAI;;;;;;;;CAQP,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAGX,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,kBAAkB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;CAwBT,CAAC;AAKX,eAAO,MAAM,WAAW;;CAEd,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAaT,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;CAcN,CAAC;AAGX,eAAO,MAAM,KAAK;;;;;;;;;;;;CAYR,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCN,CAAC;AAGX,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa7C,CAAC;AAGF,eAAO,MAAM,GAAG;;;;;;;;;;CAYN,CAAC;AAGX,eAAO,MAAM,IAAI;;;;;;;;CAQP,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAGX,eAAO,MAAM,UAAU,MAAO,CAAC;AAG/B,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAGX,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAGhD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAG9E,CAAC"}
@@ -69,6 +69,7 @@ export const ORDER = {
69
69
  TD: 0x10, // Transparent Data
70
70
  WEA: 0x04, // Write Extended Attribute
71
71
  SF: 0x1D, // Start Field (used in field attribute)
72
+ WDSF: 0x15, // Write Display Structured Field (within WTD)
72
73
  SA: 0x28, // Set Attribute
73
74
  };
74
75
  // 5250 Aid key bytes (sent from client to host)
@@ -144,6 +145,18 @@ export const ATTR = {
144
145
  NON_DISPLAY: 0x27,
145
146
  COLUMN_SEPARATOR: 0x23,
146
147
  };
148
+ // Write Display Structured Field (WDSF) types — within WTD (ORDER.WDSF = 0x15)
149
+ export const WDSF_TYPE = {
150
+ DEFINE_SELECTION_FIELD: 0x50,
151
+ CREATE_WINDOW: 0x51,
152
+ UNRESTRICT_CURSOR: 0x52,
153
+ DEFINE_SCROLL_BAR: 0x53,
154
+ WRITE_DATA: 0x54,
155
+ REM_GUI_WINDOW: 0x59,
156
+ REM_ALL_GUI_CONSTRUCTS: 0x5F,
157
+ };
158
+ // Structured field class byte (IBM Display class)
159
+ export const WDSF_CLASS = 0xD9;
147
160
  // Screen dimensions
148
161
  export const SCREEN = {
149
162
  ROWS_24: 24,
@@ -154,4 +167,9 @@ export const SCREEN = {
154
167
  // Terminal type strings for negotiation
155
168
  export const TERMINAL_TYPE = 'IBM-3179-2';
156
169
  export const TERMINAL_TYPE_WIDE = 'IBM-3477-FC';
170
+ // Terminal type → screen dimensions lookup
171
+ export const TERMINAL_DIMENSIONS = {
172
+ [TERMINAL_TYPE]: { rows: SCREEN.ROWS_24, cols: SCREEN.COLS_80 },
173
+ [TERMINAL_TYPE_WIDE]: { rows: SCREEN.ROWS_27, cols: SCREEN.COLS_132 },
174
+ };
157
175
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,22 @@ export declare class TN5250Encoder {
29
29
  * Also escapes any 0xFF bytes in the data as IAC IAC.
30
30
  */
31
31
  private wrapWithEOR;
32
+ /**
33
+ * Build a 5250 Query Reply response.
34
+ * Per lib5250 session.c:2367-2580. Tells the host our terminal capabilities,
35
+ * including enhanced 5250 WDSF support (windows, selection fields, etc.).
36
+ */
37
+ buildQueryReply(terminalType?: string): Buffer;
32
38
  /**
33
39
  * Insert text at the current cursor position in the current field.
34
40
  * Updates the screen buffer and marks the field as modified.
35
41
  * Returns true if text was successfully inserted.
36
42
  */
37
43
  insertText(text: string): boolean;
44
+ /**
45
+ * Field Exit: right-adjust field value per FFW2 bits and mark modified.
46
+ * Does NOT advance cursor — caller should handle that (e.g., Tab).
47
+ */
48
+ fieldExit(): boolean;
38
49
  }
39
50
  //# sourceMappingURL=encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiDhD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAoBnB;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAuBlC"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiDhD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAoBnB;;;;OAIG;IACH,eAAe,CAAC,YAAY,SAAe,GAAG,MAAM;IAuFpD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IA+BjC;;;OAGG;IACH,SAAS,IAAI,OAAO;CAoBrB"}
@@ -1,4 +1,4 @@
1
- import { TELNET, KEY_TO_AID, AID } from './constants.js';
1
+ import { TELNET, KEY_TO_AID, AID, FFW } from './constants.js';
2
2
  import { charToEbcdic, EBCDIC_SPACE } from './ebcdic.js';
3
3
  /**
4
4
  * Encodes client responses (aid keys + field data) into 5250 data stream
@@ -23,8 +23,8 @@ export class TN5250Encoder {
23
23
  const cursorCol = this.screen.cursorCol;
24
24
  // GDS header: length(2) + record_type(2) + var(1) + reserved(1) + opcode(1)
25
25
  parts.push(this.buildGDSHeader());
26
- // Cursor position + AID byte
27
- parts.push(Buffer.from([cursorRow, cursorCol, aidByte]));
26
+ // Cursor position (1-based, per 5250 spec) + AID byte
27
+ parts.push(Buffer.from([cursorRow + 1, cursorCol + 1, aidByte]));
28
28
  // For certain aid keys (like SysReq), no field data is sent
29
29
  if (aidByte === AID.SYS_REQUEST || aidByte === AID.CLEAR) {
30
30
  return this.wrapWithEOR(Buffer.concat(parts));
@@ -35,8 +35,8 @@ export class TN5250Encoder {
35
35
  continue;
36
36
  if (!this.screen.isInputField(field))
37
37
  continue;
38
- // SBA order to indicate field position
39
- parts.push(Buffer.from([0x11, field.row, field.col]));
38
+ // SBA order to indicate field position (1-based, per 5250 spec)
39
+ parts.push(Buffer.from([0x11, field.row + 1, field.col + 1]));
40
40
  // Field data in EBCDIC
41
41
  const value = this.screen.getFieldValue(field);
42
42
  const ebcdicData = Buffer.alloc(value.length);
@@ -90,6 +90,79 @@ export class TN5250Encoder {
90
90
  escaped.push(TELNET.IAC, TELNET.EOR);
91
91
  return Buffer.from(escaped);
92
92
  }
93
+ /**
94
+ * Build a 5250 Query Reply response.
95
+ * Per lib5250 session.c:2367-2580. Tells the host our terminal capabilities,
96
+ * including enhanced 5250 WDSF support (windows, selection fields, etc.).
97
+ */
98
+ buildQueryReply(terminalType = 'IBM-3179-2') {
99
+ const temp = Buffer.alloc(67, 0x00);
100
+ temp[0] = 0x00; // Cursor Row (zero)
101
+ temp[1] = 0x00; // Cursor Column (zero)
102
+ temp[2] = 0x88; // Inbound Write Structured Field Aid
103
+ // Length of query reply data (including these 2 bytes)
104
+ temp[3] = 0x00;
105
+ temp[4] = 0x40; // 64 bytes (enhanced mode)
106
+ temp[5] = 0xD9; // Command class
107
+ temp[6] = 0x70; // Command type — Query
108
+ temp[7] = 0x80; // Flag byte
109
+ temp[8] = 0x06; // Controller hardware class
110
+ temp[9] = 0x00; // Other WSF / 5250 emulator
111
+ temp[10] = 0x01; // Controller code level: Version 1 Release 1.0
112
+ temp[11] = 0x01;
113
+ temp[12] = 0x00;
114
+ // Bytes 13-28: Reserved (already zero)
115
+ temp[29] = 0x01; // Display emulation
116
+ // Device type and model from terminal type string (e.g., "IBM-3179-2")
117
+ const dashIdx = terminalType.indexOf('-');
118
+ const suffix = dashIdx >= 0 ? terminalType.substring(dashIdx + 1) : '3179-2';
119
+ const parts = suffix.split('-');
120
+ const devType = (parts[0] || '3179').padStart(4, '0');
121
+ const devModel = (parts[1] || '2').padStart(2, '0');
122
+ // Convert device type/model to EBCDIC
123
+ for (let i = 0; i < 4 && i < devType.length; i++) {
124
+ temp[30 + i] = charToEbcdic(devType[i]);
125
+ }
126
+ temp[34] = charToEbcdic(' '); // separator
127
+ for (let i = 0; i < 2 && i < devModel.length; i++) {
128
+ temp[35 + i] = charToEbcdic(devModel[i]);
129
+ }
130
+ temp[37] = 0x02; // Standard keyboard
131
+ temp[38] = 0x00; // Extended keyboard ID
132
+ temp[39] = 0x00; // Reserved
133
+ // Serial number (bytes 40-43)
134
+ temp[40] = 0x00;
135
+ temp[41] = 0x61;
136
+ temp[42] = 0x50;
137
+ temp[43] = 0x00;
138
+ temp[44] = 0xFF; // Max input fields (high byte)
139
+ temp[45] = 0xFF; // Max input fields (low byte)
140
+ temp[46] = 0x00; // Control unit customization
141
+ temp[47] = 0x00; // Reserved
142
+ temp[48] = 0x00;
143
+ temp[49] = 0x23; // Controller/Display capability
144
+ temp[50] = 0x31;
145
+ temp[51] = 0x00;
146
+ temp[52] = 0x00;
147
+ // Byte 53 bit 6: Enhanced 5250 FCW & WDSFs
148
+ // Byte 53 bit 7: WRITE ERROR CODE TO WINDOW support
149
+ temp[53] = 0x02;
150
+ // Byte 54 bit 0: Enhanced UI level 2
151
+ temp[54] = 0x80;
152
+ // Bytes 55-66: Reserved (already zero)
153
+ // Wrap in GDS header and Telnet EOR framing
154
+ const gdsHeader = Buffer.from([
155
+ 0x00, 0x00, // length placeholder
156
+ 0x12, 0xA0, // record type GDS
157
+ 0x00, 0x00, // reserved
158
+ 0x04, // sub-header length
159
+ 0x00, // flags
160
+ 0x00, // reserved
161
+ 0x00, // opcode NO_OP
162
+ ]);
163
+ const packet = Buffer.concat([gdsHeader, temp]);
164
+ return this.wrapWithEOR(packet);
165
+ }
93
166
  /**
94
167
  * Insert text at the current cursor position in the current field.
95
168
  * Updates the screen buffer and marks the field as modified.
@@ -105,6 +178,13 @@ export class TN5250Encoder {
105
178
  for (const ch of text) {
106
179
  if (cursorOffset >= fieldEnd)
107
180
  break; // Field is full
181
+ // In insert mode, shift existing content right to make room
182
+ // (per lib5250 dbuffer.c:790-835 dbuffer_ins)
183
+ if (this.screen.insertMode && this.screen.buffer[cursorOffset] !== ' ') {
184
+ for (let i = fieldEnd - 1; i > cursorOffset; i--) {
185
+ this.screen.buffer[i] = this.screen.buffer[i - 1];
186
+ }
187
+ }
108
188
  this.screen.buffer[cursorOffset] = ch;
109
189
  cursorOffset++;
110
190
  }
@@ -115,5 +195,27 @@ export class TN5250Encoder {
115
195
  field.modified = true;
116
196
  return true;
117
197
  }
198
+ /**
199
+ * Field Exit: right-adjust field value per FFW2 bits and mark modified.
200
+ * Does NOT advance cursor — caller should handle that (e.g., Tab).
201
+ */
202
+ fieldExit() {
203
+ const field = this.screen.getFieldAtCursor();
204
+ if (!field || !this.screen.isInputField(field))
205
+ return false;
206
+ const value = this.screen.getFieldValue(field);
207
+ const trimmed = value.replace(/\s+$/, '');
208
+ const adjustType = field.ffw2 & FFW.RIGHT_ADJUST_MASK;
209
+ if (adjustType !== 0 && trimmed.length > 0 && trimmed.length < field.length) {
210
+ let padChar = ' ';
211
+ if (adjustType === 1 || adjustType === 3)
212
+ padChar = '0'; // zero fill
213
+ // adjustType 2, 5 = blank fill (padChar stays ' ')
214
+ const adjusted = padChar.repeat(field.length - trimmed.length) + trimmed;
215
+ this.screen.setFieldValue(field, adjusted);
216
+ }
217
+ field.modified = true;
218
+ return true;
219
+ }
118
220
  }
119
221
  //# sourceMappingURL=encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,15 @@ export declare class TN5250Parser {
6
6
  private screen;
7
7
  /** When true, the next SF order should clear stale fields first */
8
8
  private pendingFieldsClear;
9
+ /** Set when a WSF 5250 Query is received; handler should send query reply */
10
+ pendingQueryReply: boolean;
11
+ /** Set when an IC order was applied during the last parseOrders call.
12
+ * When true, calculateFieldLengths should NOT override the cursor. */
13
+ private icApplied;
14
+ /** Active window offset — after CREATE_WINDOW, SBA/RA/EA addresses are
15
+ * relative to the window content area, not the full screen. */
16
+ winRowOff: number;
17
+ winColOff: number;
9
18
  constructor(screen: ScreenBuffer);
10
19
  /**
11
20
  * Parse a complete 5250 record (after Telnet framing is removed).
@@ -36,18 +45,67 @@ export declare class TN5250Parser {
36
45
  */
37
46
  private parseFieldAttribute;
38
47
  /**
39
- * Parse SF (Start Field) order with FFW and optional FCW.
40
- * Format: SF(0x1D) FFW1 FFW2 [FCW1 FCW2]
41
- * FFW1 always has bit 6 set (0x40+). No trailing attribute byte.
42
- * Display attribute is derived from FFW2.
48
+ * Parse SF (Start Field) order.
49
+ * Per lib5250 session.c:1499-1797:
50
+ * First byte: if (byte & 0xE0) != 0x20 input field with FFW
51
+ * if (byte & 0xE0) == 0x20 → output field, byte IS the attribute
52
+ * Input field: FFW1, FFW2, then loop reading FCW pairs while (byte & 0xE0) != 0x20,
53
+ * then attribute byte (0x20-0x3F), then 2-byte field length.
54
+ * Output field: attribute byte, then 2-byte field length.
43
55
  */
44
56
  private parseStartField;
45
57
  /**
46
58
  * Decode a display attribute byte (0x20–0x3F) into an ATTR constant.
47
- * Only recognises the bits that determine display type; falls back to
48
- * the SA context (displayAttr) for modifier-only bytes (0x30, 0x38, etc.).
59
+ *
60
+ * 5250 field attribute byte layout (bits of lower nibble):
61
+ * Lower 3 bits (0x07) determine display type:
62
+ * 0 = normal, 1 = column separator, 2 = high intensity,
63
+ * 3 = column separator + HI, 4 = underscore, 5 = underscore + reverse,
64
+ * 6 = underscore + HI, 7 = non-display
65
+ * Bit 3 (0x08): when set, indicates color field (RED, TURQ, etc.)
66
+ * Color is determined by the full byte value (0x28=RED, 0x30=TURQ, etc.)
67
+ * For color fields, the lower 3 bits still encode the display type.
49
68
  */
50
69
  private decodeDisplayAttr;
70
+ /**
71
+ * Parse CREATE_WINDOW structured field data.
72
+ * Per lib5250 session.c:3129-3349.
73
+ * Window position = current cursor position. Renders border and erases content area.
74
+ */
75
+ private parseCreateWindow;
76
+ /**
77
+ * Parse DEFINE_SELECTION_FIELD structured field data.
78
+ * Per lib5250 session.c:2930-3128 (tn5250_session_handle_define_selection).
79
+ *
80
+ * 16-byte fixed header:
81
+ * [0] flagbyte1 [1] flagbyte2 [2] flagbyte3 [3] fieldtype
82
+ * [4-8] reserved (5 bytes)
83
+ * [9] itemsize [10] height [11] items [12] padding
84
+ * [13] separator [14] selectionchar [15] cancelaid
85
+ *
86
+ * Followed by minor structures (type 0x10 = choice text, etc.)
87
+ */
88
+ private parseDefineSelectionField;
89
+ /**
90
+ * Roll (scroll) screen buffer rows within [top, bot] by `lines` rows.
91
+ * Negative = scroll up, positive = scroll down.
92
+ * Per lib5250 dbuffer.c:869-899.
93
+ */
94
+ private rollBuffer;
95
+ /**
96
+ * Handle CC2 (Control Character 2) from WTD.
97
+ * Per lib5250 session.c:1033-1066.
98
+ *
99
+ * CC2 bit flags:
100
+ * 0x40 IC_ULOCK — suppress IC cursor positioning when unlocking
101
+ * 0x20 CLR_BLINK — clear blink
102
+ * 0x10 SET_BLINK — set blink
103
+ * 0x08 UNLOCK — unlock keyboard
104
+ * 0x04 ALARM — sound audible alarm
105
+ * 0x02 MESSAGE_OFF — clear message waiting indicator
106
+ * 0x01 MESSAGE_ON — set message waiting indicator
107
+ */
108
+ private handleCC2;
51
109
  /** Clear stale fields when the first SF order arrives after a Reset MDT WTD */
52
110
  private clearStaleFieldsOnce;
53
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAIrD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,MAAM,EAAE,YAAY;IAIhC;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IA6EpC,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAKvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAiB/B,yDAAyD;IACzD,OAAO,CAAC,aAAa;IAkGrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAqKnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAuEvB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,qBAAqB,IAAI,IAAI;CA4E9B"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAIrD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAAS;IACnC,6EAA6E;IAC7E,iBAAiB,UAAS;IAC1B;2EACuE;IACvE,OAAO,CAAC,SAAS,CAAS;IAC1B;oEACgE;IAChE,SAAS,SAAK;IACd,SAAS,SAAK;gBAEF,MAAM,EAAE,YAAY;IAIhC;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAyFpC,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAKvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAiB/B,yDAAyD;IACzD,OAAO,CAAC,aAAa;IA8LrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAwQnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IA8DvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IAuEjC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA6ClB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS;IAkBjB,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,qBAAqB,IAAI,IAAI;CA4E9B"}