green-screen-proxy 1.1.2 → 1.2.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 (79) hide show
  1. package/README.md +93 -8
  2. package/dist/cli.js +0 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/controller.d.ts +3 -0
  5. package/dist/controller.d.ts.map +1 -1
  6. package/dist/controller.js +13 -2
  7. package/dist/controller.js.map +1 -1
  8. package/dist/index.d.ts +1 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +11 -16
  11. package/dist/index.js.map +1 -1
  12. package/dist/protocols/tn5250-handler.d.ts +3 -2
  13. package/dist/protocols/tn5250-handler.d.ts.map +1 -1
  14. package/dist/protocols/tn5250-handler.js +83 -25
  15. package/dist/protocols/tn5250-handler.js.map +1 -1
  16. package/dist/protocols/types.d.ts +28 -2
  17. package/dist/protocols/types.d.ts.map +1 -1
  18. package/dist/protocols/types.js +28 -0
  19. package/dist/protocols/types.js.map +1 -1
  20. package/dist/routes.d.ts.map +1 -1
  21. package/dist/routes.js +160 -34
  22. package/dist/routes.js.map +1 -1
  23. package/dist/server.js +1 -5
  24. package/dist/server.js.map +1 -1
  25. package/dist/session-store.d.ts +68 -0
  26. package/dist/session-store.d.ts.map +1 -0
  27. package/dist/session-store.js +40 -0
  28. package/dist/session-store.js.map +1 -0
  29. package/dist/session.d.ts +26 -3
  30. package/dist/session.d.ts.map +1 -1
  31. package/dist/session.js +83 -11
  32. package/dist/session.js.map +1 -1
  33. package/dist/standalone.d.ts +3 -0
  34. package/dist/standalone.d.ts.map +1 -0
  35. package/dist/standalone.js +6 -0
  36. package/dist/standalone.js.map +1 -0
  37. package/dist/tn5250/connection.d.ts +5 -0
  38. package/dist/tn5250/connection.d.ts.map +1 -1
  39. package/dist/tn5250/connection.js +25 -1
  40. package/dist/tn5250/connection.js.map +1 -1
  41. package/dist/tn5250/constants.d.ts +39 -3
  42. package/dist/tn5250/constants.d.ts.map +1 -1
  43. package/dist/tn5250/constants.js +51 -3
  44. package/dist/tn5250/constants.js.map +1 -1
  45. package/dist/tn5250/ebcdic-jp-builtin.d.ts +45 -0
  46. package/dist/tn5250/ebcdic-jp-builtin.d.ts.map +1 -0
  47. package/dist/tn5250/ebcdic-jp-builtin.js +124 -0
  48. package/dist/tn5250/ebcdic-jp-builtin.js.map +1 -0
  49. package/dist/tn5250/ebcdic-jp.d.ts +61 -0
  50. package/dist/tn5250/ebcdic-jp.d.ts.map +1 -0
  51. package/dist/tn5250/ebcdic-jp.js +188 -0
  52. package/dist/tn5250/ebcdic-jp.js.map +1 -0
  53. package/dist/tn5250/ebcdic.d.ts +13 -4
  54. package/dist/tn5250/ebcdic.d.ts.map +1 -1
  55. package/dist/tn5250/ebcdic.js +30 -8
  56. package/dist/tn5250/ebcdic.js.map +1 -1
  57. package/dist/tn5250/encoder.d.ts +41 -9
  58. package/dist/tn5250/encoder.d.ts.map +1 -1
  59. package/dist/tn5250/encoder.js +228 -41
  60. package/dist/tn5250/encoder.js.map +1 -1
  61. package/dist/tn5250/parser.d.ts +14 -0
  62. package/dist/tn5250/parser.d.ts.map +1 -1
  63. package/dist/tn5250/parser.js +428 -53
  64. package/dist/tn5250/parser.js.map +1 -1
  65. package/dist/tn5250/screen.d.ts +144 -24
  66. package/dist/tn5250/screen.d.ts.map +1 -1
  67. package/dist/tn5250/screen.js +244 -13
  68. package/dist/tn5250/screen.js.map +1 -1
  69. package/dist/ui/assets/index-B51sr7HL.js +56 -0
  70. package/dist/ui/assets/index-B9wpEWAh.css +1 -0
  71. package/dist/ui/assets/index-BrUnECmE.css +1 -0
  72. package/dist/ui/assets/index-CDBbEXbH.js +56 -0
  73. package/dist/ui/index.html +16 -0
  74. package/dist/websocket.d.ts +3 -0
  75. package/dist/websocket.d.ts.map +1 -1
  76. package/dist/websocket.js +90 -1
  77. package/dist/websocket.js.map +1 -1
  78. package/dist/worker/index.js +5573 -0
  79. package/package.json +1 -1
package/dist/session.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'crypto';
2
2
  import { EventEmitter } from 'events';
3
3
  import { createProtocolHandler } from './protocols/index.js';
4
+ import { getSessionStore, sessionLifecycle } from './session-store.js';
4
5
  export class Session extends EventEmitter {
5
6
  id;
6
7
  handler;
@@ -8,25 +9,55 @@ export class Session extends EventEmitter {
8
9
  _status = { connected: false, status: 'disconnected' };
9
10
  _host = '';
10
11
  _port = 23;
11
- /** Timeout (ms) to wait for screen data after connect or key send (default 2000) */
12
- screenTimeout = 2000;
12
+ _idleTimer = null;
13
+ _lastActivity = Date.now();
14
+ /** Timeout (ms) to wait for screen data after connect or key send (default 5000) */
15
+ screenTimeout = 5000;
16
+ /** Idle timeout (ms) — session auto-destroys if no activity. Default 5 min.
17
+ * Prevents stale TCP sessions when the backend crashes or misses a disconnect call. */
18
+ static IDLE_TIMEOUT = 5 * 60 * 1000;
13
19
  constructor(protocol = 'tn5250') {
14
20
  super();
15
21
  this.id = randomUUID();
16
22
  this.protocol = protocol;
17
23
  this.handler = createProtocolHandler(protocol);
18
24
  this.handler.on('screenChange', (screenData) => {
25
+ this.touch();
19
26
  this.emit('screenChange', screenData);
20
27
  });
21
28
  this.handler.on('disconnected', () => {
22
29
  this._status = { connected: false, status: 'disconnected', protocol: this.protocol, host: this._host };
30
+ this.stopIdleTimer();
23
31
  this.emit('statusChange', this._status);
32
+ sessionLifecycle.emit('session.lost', this.id, this._status);
24
33
  });
25
34
  this.handler.on('error', (err) => {
26
35
  this._status = { connected: false, status: 'error', protocol: this.protocol, host: this._host, error: err.message };
27
36
  this.emit('statusChange', this._status);
37
+ sessionLifecycle.emit('session.lost', this.id, this._status);
28
38
  });
29
39
  }
40
+ /** Reset idle timer — called on any API activity (screen read, key send, etc.) */
41
+ touch() {
42
+ this._lastActivity = Date.now();
43
+ }
44
+ /** Start the idle timer. Call after connection is established. */
45
+ startIdleTimer() {
46
+ this.stopIdleTimer();
47
+ this._idleTimer = setInterval(() => {
48
+ if (Date.now() - this._lastActivity > Session.IDLE_TIMEOUT) {
49
+ console.log(`[Session ${this.id.slice(0, 8)}] Idle timeout (${Session.IDLE_TIMEOUT / 1000}s) — destroying`);
50
+ destroySession(this.id);
51
+ }
52
+ }, 30_000); // Check every 30s
53
+ }
54
+ /** Stop the idle timer. */
55
+ stopIdleTimer() {
56
+ if (this._idleTimer) {
57
+ clearInterval(this._idleTimer);
58
+ this._idleTimer = null;
59
+ }
60
+ }
30
61
  get status() {
31
62
  return { ...this._status };
32
63
  }
@@ -46,9 +77,12 @@ export class Session extends EventEmitter {
46
77
  this.emit('statusChange', this._status);
47
78
  await this.handler.connect(host, port, options);
48
79
  this._status = { connected: true, status: 'connected', protocol: this.protocol, host };
80
+ this.touch();
81
+ this.startIdleTimer();
49
82
  this.emit('statusChange', this._status);
50
83
  }
51
84
  disconnect() {
85
+ this.stopIdleTimer();
52
86
  this.handler.disconnect();
53
87
  this._status = { connected: false, status: 'disconnected', protocol: this.protocol, host: this._host };
54
88
  this.emit('statusChange', this._status);
@@ -69,6 +103,17 @@ export class Session extends EventEmitter {
69
103
  getScreenData() {
70
104
  return this.handler.getScreenData();
71
105
  }
106
+ /** Read input field values from the current screen.
107
+ * @param modifiedOnly — when true (default), only fields with MDT bit set. */
108
+ readFieldValues(modifiedOnly = true) {
109
+ this.touch();
110
+ return this.handler.readFieldValues(modifiedOnly);
111
+ }
112
+ /** Wait until the next screen has at least `minFields` input fields (or timeout). */
113
+ waitForScreenWithFields(minFields, timeoutMs) {
114
+ this.touch();
115
+ return this.handler.waitForScreenWithFields(minFields, timeoutMs);
116
+ }
72
117
  /** Wait for the next screenChange event, or return current screen after timeout */
73
118
  waitForScreen(timeoutMs) {
74
119
  return new Promise((resolve) => {
@@ -79,35 +124,62 @@ export class Session extends EventEmitter {
79
124
  });
80
125
  });
81
126
  }
127
+ /** Send a remote key and wait for the host response — race-free.
128
+ * Sets up the screenChange listener BEFORE sending the key so fast
129
+ * host responses are never missed. */
130
+ sendKeyAndWait(keyName, timeoutMs) {
131
+ return new Promise((resolve) => {
132
+ const onScreen = (data) => {
133
+ clearTimeout(timer);
134
+ resolve({ ok: true, screen: data });
135
+ };
136
+ const timer = setTimeout(() => {
137
+ this.handler.removeListener('screenChange', onScreen);
138
+ resolve({ ok: true, screen: this.handler.getScreenData() });
139
+ }, timeoutMs);
140
+ // Listener registered BEFORE sendKey to close the race window
141
+ this.handler.once('screenChange', onScreen);
142
+ const ok = this.handler.sendKey(keyName);
143
+ if (!ok) {
144
+ clearTimeout(timer);
145
+ this.handler.removeListener('screenChange', onScreen);
146
+ resolve({ ok: false, screen: this.handler.getScreenData() });
147
+ }
148
+ });
149
+ }
82
150
  destroy() {
151
+ this.stopIdleTimer();
83
152
  this.handler.destroy();
84
153
  this.removeAllListeners();
85
154
  }
86
155
  }
87
- // Session manager
88
- const sessions = new Map();
156
+ // Session manager — delegates to the active SessionStore (default
157
+ // in-memory). Integrators can swap the store via setSessionStore() before
158
+ // any routes/websockets are mounted.
89
159
  export function createSession(protocol = 'tn5250') {
90
160
  const session = new Session(protocol);
91
- sessions.set(session.id, session);
161
+ getSessionStore().set(session.id, session);
92
162
  return session;
93
163
  }
94
164
  export function getSession(id) {
95
- return sessions.get(id);
165
+ return getSessionStore().get(id);
96
166
  }
97
167
  export function destroySession(id) {
98
- const session = sessions.get(id);
168
+ const store = getSessionStore();
169
+ const session = store.get(id);
99
170
  if (session) {
100
171
  session.destroy();
101
- sessions.delete(id);
172
+ store.delete(id);
102
173
  }
103
174
  }
104
175
  export function getDefaultSession() {
105
- if (sessions.size === 1) {
106
- return sessions.values().next().value;
176
+ const store = getSessionStore();
177
+ if (store.size() === 1) {
178
+ return store.values().next().value;
107
179
  }
108
180
  return undefined;
109
181
  }
110
182
  export function getAllSessions() {
111
- return sessions;
183
+ return Array.from(getSessionStore().values());
112
184
  }
113
185
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=standalone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ // Shorthand: `npx green-screen-terminal` → `npx green-screen-proxy --standalone`
3
+ process.argv.push('--standalone');
4
+ await import('./cli.js');
5
+ export {};
6
+ //# sourceMappingURL=standalone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";AAEA,iFAAiF;AACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAClC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC"}
@@ -17,6 +17,9 @@ export declare class TN5250Connection extends EventEmitter {
17
17
  private recvBuffer;
18
18
  private negotiationDone;
19
19
  private terminalType;
20
+ private keepAliveTimer;
21
+ private static readonly KEEP_ALIVE_INTERVAL;
22
+ private static readonly KEEP_ALIVE_NOP;
20
23
  get isConnected(): boolean;
21
24
  get remoteHost(): string;
22
25
  get remotePort(): number;
@@ -24,6 +27,8 @@ export declare class TN5250Connection extends EventEmitter {
24
27
  disconnect(): void;
25
28
  /** Send raw bytes over the socket */
26
29
  sendRaw(data: Buffer): void;
30
+ private startKeepAlive;
31
+ private stopKeepAlive;
27
32
  private cleanup;
28
33
  private onData;
29
34
  private processBuffer;
@@ -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;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,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDlG,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;IACrD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAE/E,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,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDlG,UAAU,IAAI,IAAI;IASlB,qCAAqC;IACrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,OAAO;IAUf,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"}
@@ -13,6 +13,9 @@ export class TN5250Connection extends EventEmitter {
13
13
  recvBuffer = Buffer.alloc(0);
14
14
  negotiationDone = false;
15
15
  terminalType = DEFAULT_TERMINAL_TYPE;
16
+ keepAliveTimer = null;
17
+ static KEEP_ALIVE_INTERVAL = 15_000; // 15s — well under PUB400's ~30s idle timeout
18
+ static KEEP_ALIVE_NOP = Buffer.from([TELNET.IAC, TELNET.NOP]);
16
19
  get isConnected() {
17
20
  return this.connected;
18
21
  }
@@ -54,6 +57,7 @@ export class TN5250Connection extends EventEmitter {
54
57
  this.emit('error', new Error('Connection timeout'));
55
58
  });
56
59
  this.socket.on('data', (data) => this.onData(data));
60
+ this.startKeepAlive();
57
61
  this.emit('connected');
58
62
  resolve();
59
63
  });
@@ -61,7 +65,12 @@ export class TN5250Connection extends EventEmitter {
61
65
  }
62
66
  disconnect() {
63
67
  if (this.socket) {
64
- this.socket.destroy();
68
+ console.log(`[tn5250] Disconnecting socket to ${this.socket.remoteAddress}:${this.socket.remotePort}`);
69
+ // Send FIN first, then destroy to ensure TCP session closes on the host
70
+ try {
71
+ this.socket.end();
72
+ }
73
+ catch { /* ignore */ }
65
74
  this.cleanup();
66
75
  }
67
76
  }
@@ -71,7 +80,22 @@ export class TN5250Connection extends EventEmitter {
71
80
  this.socket.write(data);
72
81
  }
73
82
  }
83
+ startKeepAlive() {
84
+ this.stopKeepAlive();
85
+ this.keepAliveTimer = setInterval(() => {
86
+ if (this.socket && this.connected) {
87
+ this.sendRaw(TN5250Connection.KEEP_ALIVE_NOP);
88
+ }
89
+ }, TN5250Connection.KEEP_ALIVE_INTERVAL);
90
+ }
91
+ stopKeepAlive() {
92
+ if (this.keepAliveTimer) {
93
+ clearInterval(this.keepAliveTimer);
94
+ this.keepAliveTimer = null;
95
+ }
96
+ }
74
97
  cleanup() {
98
+ this.stopKeepAlive();
75
99
  this.connected = false;
76
100
  if (this.socket) {
77
101
  this.socket.removeAllListeners();
@@ -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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"}
@@ -43,14 +43,37 @@ export declare const CMD: {
43
43
  readonly WRITE_TO_DISPLAY: 17;
44
44
  readonly WRITE_ERROR_CODE: 33;
45
45
  readonly WRITE_ERROR_CODE_WIN: 34;
46
- readonly READ_MDT_FIELDS: 82;
47
46
  readonly READ_INPUT_FIELDS: 66;
47
+ readonly READ_MDT_FIELDS: 82;
48
+ readonly READ_MDT_FIELDS_ALT: 130;
49
+ readonly READ_SCREEN_IMMEDIATE: 98;
48
50
  readonly READ_IMMEDIATE: 114;
51
+ readonly READ_IMMEDIATE_ALT: 131;
49
52
  readonly WRITE_STRUCTURED_FIELD: 243;
50
53
  readonly SAVE_SCREEN: 2;
51
54
  readonly RESTORE_SCREEN: 18;
52
55
  readonly ROLL: 35;
53
56
  };
57
+ export declare const RECORD_H: {
58
+ readonly NONE: 0;
59
+ readonly HLP: 1;
60
+ readonly TRQ: 2;
61
+ readonly SRQ: 4;
62
+ readonly ATN: 64;
63
+ };
64
+ export declare const RECORD_OPCODE: {
65
+ readonly NO_OP: 0;
66
+ readonly INVITE: 1;
67
+ readonly OUTPUT_ONLY: 2;
68
+ readonly PUT_GET: 3;
69
+ readonly SAVE_SCREEN: 4;
70
+ readonly RESTORE_SCREEN: 5;
71
+ readonly READ_IMMEDIATE: 6;
72
+ readonly READ_SCREEN: 8;
73
+ readonly CANCEL_INVITE: 10;
74
+ readonly TURN_ON_MSG_LIGHT: 11;
75
+ readonly TURN_OFF_MSG_LIGHT: 12;
76
+ };
54
77
  export declare const ORDER: {
55
78
  readonly SBA: 17;
56
79
  readonly IC: 19;
@@ -59,7 +82,7 @@ export declare const ORDER: {
59
82
  readonly EA: 3;
60
83
  readonly SOH: 1;
61
84
  readonly TD: 16;
62
- readonly WEA: 4;
85
+ readonly WEA: 18;
63
86
  readonly SF: 29;
64
87
  readonly WDSF: 21;
65
88
  readonly SA: 40;
@@ -96,7 +119,9 @@ export declare const AID: {
96
119
  readonly HELP: 243;
97
120
  readonly PRINT: 246;
98
121
  readonly RECORD_BACKSPACE: 248;
99
- readonly SYS_REQUEST: 1;
122
+ readonly SYS_REQUEST: 257;
123
+ readonly ATTN: 258;
124
+ readonly TEST_REQUEST: 259;
100
125
  };
101
126
  export declare const KEY_TO_AID: Record<string, number>;
102
127
  export declare const FFW: {
@@ -104,6 +129,14 @@ export declare const FFW: {
104
129
  readonly DUP_ENABLE: 16;
105
130
  readonly MDT: 8;
106
131
  readonly SHIFT_MASK: 7;
132
+ readonly SHIFT_ALPHA: 0;
133
+ readonly SHIFT_ALPHA_ONLY: 1;
134
+ readonly SHIFT_NUMERIC_SHIFT: 2;
135
+ readonly SHIFT_NUMERIC_ONLY: 3;
136
+ readonly SHIFT_KATAKANA: 4;
137
+ readonly SHIFT_DIGITS_ONLY: 5;
138
+ readonly SHIFT_IO: 6;
139
+ readonly SHIFT_SIGNED_NUM: 7;
107
140
  readonly AUTO_ENTER: 128;
108
141
  readonly FER: 64;
109
142
  readonly MONOCASE: 32;
@@ -125,7 +158,10 @@ export declare const WDSF_TYPE: {
125
158
  readonly UNRESTRICT_CURSOR: 82;
126
159
  readonly DEFINE_SCROLL_BAR: 83;
127
160
  readonly WRITE_DATA: 84;
161
+ readonly PROGRAMMABLE_MOUSE_BUTTONS: 85;
162
+ readonly REM_GUI_SEL_FIELD: 88;
128
163
  readonly REM_GUI_WINDOW: 89;
164
+ readonly REM_GUI_SCROLL_BAR: 91;
129
165
  readonly REM_ALL_GUI_CONSTRUCTS: 95;
130
166
  };
131
167
  export declare const WDSF_CLASS = 217;
@@ -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;;;;;;;;;;;;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"}
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;AAIX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;CAiBN,CAAC;AAIX,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAIX,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYhB,CAAC;AAGX,eAAO,MAAM,KAAK;;;;;;;;;;;;CAYR,CAAC;AAGX,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCN,CAAC;AAGX,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgB7C,CAAC;AAGF,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;CAsBN,CAAC;AAGX,eAAO,MAAM,IAAI;;;;;;;;CAQP,CAAC;AAGX,eAAO,MAAM,SAAS;;;;;;;;;;;CAWZ,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"}
@@ -43,6 +43,7 @@ export const OPCODE = {
43
43
  TURN_OFF_MSG_LIGHT: 0x0C,
44
44
  };
45
45
  // 5250 command codes (within WTD, etc.)
46
+ // Per lib5250 codes5250.h:38-55
46
47
  export const CMD = {
47
48
  CLEAR_UNIT: 0x40,
48
49
  CLEAR_FORMAT_TABLE: 0x50,
@@ -50,14 +51,41 @@ export const CMD = {
50
51
  WRITE_TO_DISPLAY: 0x11, // WTD
51
52
  WRITE_ERROR_CODE: 0x21,
52
53
  WRITE_ERROR_CODE_WIN: 0x22,
53
- READ_MDT_FIELDS: 0x52,
54
54
  READ_INPUT_FIELDS: 0x42,
55
+ READ_MDT_FIELDS: 0x52,
56
+ READ_MDT_FIELDS_ALT: 0x82,
57
+ READ_SCREEN_IMMEDIATE: 0x62,
55
58
  READ_IMMEDIATE: 0x72,
59
+ READ_IMMEDIATE_ALT: 0x83,
56
60
  WRITE_STRUCTURED_FIELD: 0xF3,
57
61
  SAVE_SCREEN: 0x02,
58
62
  RESTORE_SCREEN: 0x12,
59
63
  ROLL: 0x23,
60
64
  };
65
+ // Record header flag byte values (byte 8 of the GDS header).
66
+ // Per lib5250 record.h:60-68.
67
+ export const RECORD_H = {
68
+ NONE: 0x00,
69
+ HLP: 0x01, // Help
70
+ TRQ: 0x02, // Test request
71
+ SRQ: 0x04, // System request
72
+ ATN: 0x40, // Attention
73
+ };
74
+ // Record header opcode byte (byte 10).
75
+ // Per lib5250 record.h:70-78.
76
+ export const RECORD_OPCODE = {
77
+ NO_OP: 0x00,
78
+ INVITE: 0x01,
79
+ OUTPUT_ONLY: 0x02,
80
+ PUT_GET: 0x03,
81
+ SAVE_SCREEN: 0x04,
82
+ RESTORE_SCREEN: 0x05,
83
+ READ_IMMEDIATE: 0x06,
84
+ READ_SCREEN: 0x08,
85
+ CANCEL_INVITE: 0x0A,
86
+ TURN_ON_MSG_LIGHT: 0x0B,
87
+ TURN_OFF_MSG_LIGHT: 0x0C,
88
+ };
61
89
  // 5250 order codes
62
90
  export const ORDER = {
63
91
  SBA: 0x11, // Set Buffer Address
@@ -67,7 +95,7 @@ export const ORDER = {
67
95
  EA: 0x03, // Erase to Address
68
96
  SOH: 0x01, // Start of Header
69
97
  TD: 0x10, // Transparent Data
70
- WEA: 0x04, // Write Extended Attribute
98
+ WEA: 0x12, // Write Extended Attribute (per lib5250 codes5250.h)
71
99
  SF: 0x1D, // Start Field (used in field attribute)
72
100
  WDSF: 0x15, // Write Display Structured Field (within WTD)
73
101
  SA: 0x28, // Set Attribute
@@ -105,7 +133,12 @@ export const AID = {
105
133
  HELP: 0xF3,
106
134
  PRINT: 0xF6,
107
135
  RECORD_BACKSPACE: 0xF8,
108
- SYS_REQUEST: 0x01, // Attention key
136
+ // Sentinel values (not real AID bytes — dispatched via record flags).
137
+ // Per lib5250 session.h: these are negative in C; TS uses values outside
138
+ // the 0x00-0xFF AID range so they cannot collide with real AID bytes.
139
+ SYS_REQUEST: 0x101,
140
+ ATTN: 0x102,
141
+ TEST_REQUEST: 0x103,
109
142
  };
110
143
  // Map key names (from frontend) to AID bytes
111
144
  export const KEY_TO_AID = {
@@ -121,6 +154,9 @@ export const KEY_TO_AID = {
121
154
  'Clear': AID.CLEAR,
122
155
  'Help': AID.HELP,
123
156
  'Print': AID.PRINT,
157
+ 'SysReq': AID.SYS_REQUEST,
158
+ 'Attn': AID.ATTN,
159
+ 'TestReq': AID.TEST_REQUEST,
124
160
  };
125
161
  // Field attribute bits (in the FFW - Field Format Word)
126
162
  export const FFW = {
@@ -128,6 +164,15 @@ export const FFW = {
128
164
  DUP_ENABLE: 0x10,
129
165
  MDT: 0x08, // Modified Data Tag
130
166
  SHIFT_MASK: 0x07, // Data type shift bits
167
+ // Shift-type values (FFW1 & SHIFT_MASK)
168
+ SHIFT_ALPHA: 0x00,
169
+ SHIFT_ALPHA_ONLY: 0x01,
170
+ SHIFT_NUMERIC_SHIFT: 0x02,
171
+ SHIFT_NUMERIC_ONLY: 0x03,
172
+ SHIFT_KATAKANA: 0x04,
173
+ SHIFT_DIGITS_ONLY: 0x05,
174
+ SHIFT_IO: 0x06,
175
+ SHIFT_SIGNED_NUM: 0x07, // Signed numeric (last position is sign)
131
176
  // Second byte flags
132
177
  AUTO_ENTER: 0x80,
133
178
  FER: 0x40, // Field Exit Required
@@ -152,7 +197,10 @@ export const WDSF_TYPE = {
152
197
  UNRESTRICT_CURSOR: 0x52,
153
198
  DEFINE_SCROLL_BAR: 0x53,
154
199
  WRITE_DATA: 0x54,
200
+ PROGRAMMABLE_MOUSE_BUTTONS: 0x55,
201
+ REM_GUI_SEL_FIELD: 0x58,
155
202
  REM_GUI_WINDOW: 0x59,
203
+ REM_GUI_SCROLL_BAR: 0x5B,
156
204
  REM_ALL_GUI_CONSTRUCTS: 0x5F,
157
205
  };
158
206
  // Structured field class byte (IBM Display class)
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,IAAI,EAAI,uBAAuB;IACpC,IAAI,EAAE,IAAI;IACV,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,EAAE,EAAE,IAAI,EAAK,uBAAuB;IACpC,EAAE,EAAE,IAAI,EAAK,qBAAqB;IAClC,GAAG,EAAE,IAAI,EAAI,gBAAgB;IAC7B,GAAG,EAAE,IAAI;IAET,iBAAiB;IACjB,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI,EAAQ,oBAAoB;IACzC,SAAS,EAAE,IAAI,EAAM,gBAAgB;IACrC,OAAO,EAAE,IAAI,EAAQ,gBAAgB;IACrC,QAAQ,EAAE,IAAI,EAAO,8BAA8B;IACnD,eAAe,EAAE,IAAI,EAAE,kBAAkB;IACzC,WAAW,EAAE,IAAI,EAAI,uBAAuB;IAE5C,uBAAuB;IACvB,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;CACR,CAAC;AAEX,qCAAqC;AAErC,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,MAAM,EAAI,sBAAsB;CAC7B,CAAC;AAEX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,IAAI;CAChB,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,IAAI,EAAI,MAAM;IAChC,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,IAAI;IAC5B,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;CACF,CAAC;AAEX,mBAAmB;AACnB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,EAAE,IAAI,EAAI,qBAAqB;IAClC,EAAE,EAAE,IAAI,EAAK,gBAAgB;IAC7B,EAAE,EAAE,IAAI,EAAK,cAAc;IAC3B,EAAE,EAAE,IAAI,EAAK,oBAAoB;IACjC,EAAE,EAAE,IAAI,EAAK,mBAAmB;IAChC,GAAG,EAAE,IAAI,EAAI,kBAAkB;IAC/B,EAAE,EAAE,IAAI,EAAK,mBAAmB;IAChC,GAAG,EAAE,IAAI,EAAI,2BAA2B;IACxC,EAAE,EAAE,IAAI,EAAK,wCAAwC;IACrD,IAAI,EAAE,IAAI,EAAG,8CAA8C;IAC3D,EAAE,EAAE,IAAI,EAAK,gBAAgB;CACrB,CAAC;AAEX,gDAAgD;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,KAAK,EAAE,IAAI;IACX,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI,EAAK,YAAY;IAC9B,SAAS,EAAE,IAAI,EAAG,UAAU;IAC5B,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,IAAI,EAAE,gBAAgB;CAC3B,CAAC;AAEX,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAA2B;IAChD,OAAO,EAAE,GAAG,CAAC,KAAK;IAClB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;IACtD,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;IACtD,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG;IAC5D,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG;IAC9D,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG;IAC9D,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG;IAC9D,QAAQ,EAAE,GAAG,CAAC,OAAO;IACrB,UAAU,EAAE,GAAG,CAAC,SAAS;IACzB,OAAO,EAAE,GAAG,CAAC,KAAK;IAClB,MAAM,EAAE,GAAG,CAAC,IAAI;IAChB,OAAO,EAAE,GAAG,CAAC,KAAK;CACnB,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,MAAM,EAAE,IAAI,EAAY,iCAAiC;IACzD,UAAU,EAAE,IAAI;IAChB,GAAG,EAAE,IAAI,EAAe,oBAAoB;IAC5C,UAAU,EAAE,IAAI,EAAQ,uBAAuB;IAE/C,oBAAoB;IACpB,UAAU,EAAE,IAAI;IAChB,GAAG,EAAE,IAAI,EAAe,sBAAsB;IAC9C,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;CACf,CAAC;AAEX,gDAAgD;AAChD,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;IACX,WAAW,EAAE,IAAI;IACjB,gBAAgB,EAAE,IAAI;CACd,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,sBAAsB,EAAE,IAAI;IAC5B,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,sBAAsB,EAAE,IAAI;CACpB,CAAC;AAEX,kDAAkD;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC;AAE/B,oBAAoB;AACpB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAmD;IACjF,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;IAC/D,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;CACtE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tn5250/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Built-in minimum IBM-Kanji (CCSID 300) → Unicode table.
3
+ *
4
+ * This covers the **non-Kanji** portion of the IBM host double-byte code
5
+ * set — the rows that contain the DBCS space, full-width ASCII, Hiragana,
6
+ * Katakana (full-width), and common CJK punctuation / symbols.
7
+ *
8
+ * These are the characters you see on typical IBM i Japanese system
9
+ * screens (menu titles, field labels, error messages), which are mostly
10
+ * rendered in hiragana/katakana rather than kanji. The full Kanji plane
11
+ * (~7000 characters in rows 0x4F–0xFE of CCSID 300) is NOT included here
12
+ * — register the full table separately via `registerDbcsTable()` after
13
+ * generating it with `scripts/generate-ibm-kanji-table.mjs`.
14
+ *
15
+ * Layout notes (per IBM CCSID 300 mapping):
16
+ * Row 0x41 — CJK/IBM special symbols
17
+ * Row 0x42 — DBCS space + full-width ASCII 0x20-0x7E (full-width)
18
+ * Row 0x43 — Hiragana (あ-ん + voiced)
19
+ * Row 0x44 — Katakana (ア-ン + voiced)
20
+ * Row 0x45 — Greek (Α-Ω, α-ω)
21
+ * Row 0x46 — Cyrillic
22
+ * Row 0x47 — Box-drawing characters
23
+ *
24
+ * The bytes that follow row bytes are 0x41..0xFE (column selector).
25
+ * IBM CCSID 300 tables start at column 0x41 = JIS column 1.
26
+ *
27
+ * Rather than hand-transcribing every entry (error-prone), this file
28
+ * builds the mapping arithmetically from the well-known Unicode ranges
29
+ * using the IBM → JIS column offset of (byte2 - 0x41).
30
+ */
31
+ /**
32
+ * Register the built-in minimum IBM-Kanji table with the DBCS decoder.
33
+ * Call this once at proxy startup to get hiragana/katakana/symbol
34
+ * rendering without shipping the full Kanji table.
35
+ *
36
+ * The full Kanji plane (~7000 characters) still falls back to the geta
37
+ * mark until you register a complete table via `registerDbcsTable()`.
38
+ *
39
+ * Idempotent — safe to call multiple times; later entries overwrite
40
+ * earlier ones, so calling `registerDbcsTable(fullTable)` AFTER
41
+ * `registerBuiltinDbcsTable()` will layer the full table on top of the
42
+ * minimum.
43
+ */
44
+ export declare function registerBuiltinDbcsTable(): void;
45
+ //# sourceMappingURL=ebcdic-jp-builtin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ebcdic-jp-builtin.d.ts","sourceRoot":"","sources":["../../src/tn5250/ebcdic-jp-builtin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA8FH;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}