autodev-cli 1.4.0 → 1.4.4

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 (237) hide show
  1. package/bin/autodev.js +0 -0
  2. package/out/agentBackup/archive.d.ts +44 -0
  3. package/out/agentBackup/archive.js +131 -0
  4. package/out/agentBackup/archive.js.map +1 -0
  5. package/out/agentBackup/export.d.ts +18 -0
  6. package/out/agentBackup/export.js +92 -0
  7. package/out/agentBackup/export.js.map +1 -0
  8. package/out/agentBackup/import.d.ts +21 -0
  9. package/out/agentBackup/import.js +40 -0
  10. package/out/agentBackup/import.js.map +1 -0
  11. package/out/agentBackup/index.d.ts +6 -0
  12. package/out/agentBackup/index.js +11 -0
  13. package/out/agentBackup/index.js.map +1 -0
  14. package/out/agentBackup/layout.d.ts +30 -0
  15. package/out/agentBackup/layout.js +126 -0
  16. package/out/agentBackup/layout.js.map +1 -0
  17. package/out/agentBackup/manifest.d.ts +24 -0
  18. package/out/agentBackup/manifest.js +70 -0
  19. package/out/agentBackup/manifest.js.map +1 -0
  20. package/out/agentBackup/opencodeDb.d.ts +20 -0
  21. package/out/agentBackup/opencodeDb.js +213 -0
  22. package/out/agentBackup/opencodeDb.js.map +1 -0
  23. package/out/agentBackup/sessionProviders.d.ts +35 -0
  24. package/out/agentBackup/sessionProviders.js +263 -0
  25. package/out/agentBackup/sessionProviders.js.map +1 -0
  26. package/out/agentBackup/upload.d.ts +9 -0
  27. package/out/agentBackup/upload.js +121 -0
  28. package/out/agentBackup/upload.js.map +1 -0
  29. package/out/cli.d.ts +1 -0
  30. package/out/cli.js +8 -0
  31. package/out/cli.js.map +1 -1
  32. package/out/cliExit.d.ts +34 -0
  33. package/out/cliExit.js +159 -0
  34. package/out/cliExit.js.map +1 -0
  35. package/out/commands/config.d.ts +2 -0
  36. package/out/commands/config.js +7 -7
  37. package/out/commands/config.js.map +1 -1
  38. package/out/commands/connect.d.ts +2 -0
  39. package/out/commands/connect.js +11 -0
  40. package/out/commands/connect.js.map +1 -1
  41. package/out/commands/export.d.ts +2 -0
  42. package/out/commands/export.js +79 -0
  43. package/out/commands/export.js.map +1 -0
  44. package/out/commands/import.d.ts +2 -0
  45. package/out/commands/import.js +92 -0
  46. package/out/commands/import.js.map +1 -0
  47. package/out/commands/init.d.ts +16 -0
  48. package/out/commands/init.js +9 -5
  49. package/out/commands/init.js.map +1 -1
  50. package/out/commands/resume.d.ts +2 -0
  51. package/out/commands/resume.js +65 -0
  52. package/out/commands/resume.js.map +1 -0
  53. package/out/commands/sessions.d.ts +2 -0
  54. package/out/commands/sessions.js +64 -0
  55. package/out/commands/sessions.js.map +1 -0
  56. package/out/commands/start.d.ts +2 -0
  57. package/out/commands/start.js +40 -7
  58. package/out/commands/start.js.map +1 -1
  59. package/out/commands/status.d.ts +2 -0
  60. package/out/commands/status.js +3 -3
  61. package/out/commands/status.js.map +1 -1
  62. package/out/commands/tailOutput.d.ts +12 -0
  63. package/out/commands/up.d.ts +3 -0
  64. package/out/configManager.d.ts +42 -0
  65. package/out/configManager.js +447 -0
  66. package/out/configManager.js.map +1 -0
  67. package/out/connect.d.ts +4 -0
  68. package/out/connect.js +7 -7
  69. package/out/connect.js.map +1 -1
  70. package/out/core/adapters.d.ts +34 -0
  71. package/out/core/adapters.js +84 -0
  72. package/out/core/adapters.js.map +1 -0
  73. package/out/core/commandHelpers.d.ts +12 -0
  74. package/out/core/commandHelpers.js +96 -0
  75. package/out/core/commandHelpers.js.map +1 -0
  76. package/out/core/projectMcp.d.ts +34 -0
  77. package/out/core/projectMcp.js +160 -0
  78. package/out/core/projectMcp.js.map +1 -0
  79. package/out/core/provider/BaseProvider.d.ts +14 -0
  80. package/out/core/provider/BaseProvider.js +25 -0
  81. package/out/core/provider/BaseProvider.js.map +1 -0
  82. package/out/core/provider/ProviderRegistry.d.ts +12 -0
  83. package/out/core/provider/ProviderRegistry.js +40 -0
  84. package/out/core/provider/ProviderRegistry.js.map +1 -0
  85. package/out/core/provider/contract.d.ts +62 -0
  86. package/out/core/provider/contract.js +9 -0
  87. package/out/core/provider/contract.js.map +1 -0
  88. package/out/core/provider/implementations.d.ts +54 -0
  89. package/out/core/provider/implementations.js +147 -0
  90. package/out/core/provider/implementations.js.map +1 -0
  91. package/out/core/settingsLoader.d.ts +221 -0
  92. package/out/core/settingsLoader.js +176 -0
  93. package/out/core/settingsLoader.js.map +1 -0
  94. package/out/discordGateway.d.ts +26 -0
  95. package/out/discordGateway.js +230 -0
  96. package/out/discordGateway.js.map +1 -0
  97. package/out/discordPoller.d.ts +28 -0
  98. package/out/discordPoller.js +247 -0
  99. package/out/discordPoller.js.map +1 -0
  100. package/out/dispatcher.d.ts +12 -0
  101. package/out/dispatcher.js +214 -0
  102. package/out/dispatcher.js.map +1 -0
  103. package/out/emailPoller.d.ts +42 -0
  104. package/out/emailPoller.js +221 -0
  105. package/out/emailPoller.js.map +1 -0
  106. package/out/git/gitService.d.ts +36 -0
  107. package/out/git/gitService.js +165 -0
  108. package/out/git/gitService.js.map +1 -0
  109. package/out/hookEventNormalizer.d.ts +39 -0
  110. package/out/hookEventNormalizer.js +397 -0
  111. package/out/hookEventNormalizer.js.map +1 -0
  112. package/out/hooksManager.d.ts +25 -0
  113. package/out/hooksManager.js +471 -0
  114. package/out/hooksManager.js.map +1 -0
  115. package/out/launchIde.d.ts +14 -0
  116. package/out/logger.d.ts +12 -0
  117. package/out/mcpEmailTest.d.ts +29 -0
  118. package/out/mcpEmailTest.js +245 -0
  119. package/out/mcpEmailTest.js.map +1 -0
  120. package/out/mcpInstallCheck.d.ts +23 -0
  121. package/out/mcpInstallCheck.js +219 -0
  122. package/out/mcpInstallCheck.js.map +1 -0
  123. package/out/mcpManager.d.ts +35 -0
  124. package/out/mcpManager.js +371 -0
  125. package/out/mcpManager.js.map +1 -0
  126. package/out/messageBuilder.d.ts +54 -0
  127. package/out/messageBuilder.js +373 -0
  128. package/out/messageBuilder.js.map +1 -0
  129. package/out/openCodeHooksManager.d.ts +23 -0
  130. package/out/openCodeHooksManager.js +511 -0
  131. package/out/openCodeHooksManager.js.map +1 -0
  132. package/out/periodicActions.d.ts +63 -0
  133. package/out/periodicActions.js +237 -0
  134. package/out/periodicActions.js.map +1 -0
  135. package/out/profileBuilder.d.ts +29 -0
  136. package/out/profileBuilder.js +366 -0
  137. package/out/profileBuilder.js.map +1 -0
  138. package/out/prompt.d.ts +12 -0
  139. package/out/prompt.js +18 -0
  140. package/out/prompt.js.map +1 -0
  141. package/out/protocolSections.d.ts +26 -0
  142. package/out/protocolSections.js +209 -0
  143. package/out/protocolSections.js.map +1 -0
  144. package/out/providers/claudeCliProvider.d.ts +71 -0
  145. package/out/providers/claudeCliProvider.js +425 -0
  146. package/out/providers/claudeCliProvider.js.map +1 -0
  147. package/out/providers/claudeTuiProvider.d.ts +23 -0
  148. package/out/providers/claudeTuiProvider.js +296 -0
  149. package/out/providers/claudeTuiProvider.js.map +1 -0
  150. package/out/providers/copilotCliProvider.d.ts +16 -0
  151. package/out/providers/copilotCliProvider.js +44 -0
  152. package/out/providers/copilotCliProvider.js.map +1 -0
  153. package/out/providers/copilotSdkProvider.d.ts +12 -0
  154. package/out/providers/copilotSdkProvider.js +445 -0
  155. package/out/providers/copilotSdkProvider.js.map +1 -0
  156. package/out/providers/grokTuiProvider.d.ts +14 -0
  157. package/out/providers/grokTuiProvider.js +271 -0
  158. package/out/providers/grokTuiProvider.js.map +1 -0
  159. package/out/providers/opencodeCliProvider.d.ts +29 -0
  160. package/out/providers/opencodeCliProvider.js +199 -0
  161. package/out/providers/opencodeCliProvider.js.map +1 -0
  162. package/out/providers/opencodeSdkProvider.d.ts +22 -0
  163. package/out/providers/opencodeSdkProvider.js +557 -0
  164. package/out/providers/opencodeSdkProvider.js.map +1 -0
  165. package/out/providers.d.ts +9 -0
  166. package/out/providers.js +44 -0
  167. package/out/providers.js.map +1 -0
  168. package/out/rateLimit.d.ts +18 -0
  169. package/out/rateLimit.js +90 -0
  170. package/out/rateLimit.js.map +1 -0
  171. package/out/rdp/auth.d.ts +55 -0
  172. package/out/rdp/auth.js +197 -0
  173. package/out/rdp/auth.js.map +1 -0
  174. package/out/rdp/bridge.d.ts +86 -0
  175. package/out/rdp/bridge.js +1398 -0
  176. package/out/rdp/bridge.js.map +1 -0
  177. package/out/rdp/constants.d.ts +86 -0
  178. package/out/rdp/constants.js +182 -0
  179. package/out/rdp/constants.js.map +1 -0
  180. package/out/rdp/index.d.ts +7 -0
  181. package/out/rdp/index.js +14 -0
  182. package/out/rdp/index.js.map +1 -0
  183. package/out/rdp/session.d.ts +30 -0
  184. package/out/rdp/session.js +196 -0
  185. package/out/rdp/session.js.map +1 -0
  186. package/out/rdp/types.d.ts +27 -0
  187. package/out/rdp/types.js +6 -0
  188. package/out/rdp/types.js.map +1 -0
  189. package/out/sdk/index.d.ts +22 -0
  190. package/out/sdk/index.js +81 -0
  191. package/out/sdk/index.js.map +1 -0
  192. package/out/sessionState.d.ts +54 -0
  193. package/out/sessionState.js +284 -0
  194. package/out/sessionState.js.map +1 -0
  195. package/out/sessions.d.ts +11 -0
  196. package/out/sessions.js +32 -0
  197. package/out/sessions.js.map +1 -0
  198. package/out/taskLoop.d.ts +152 -0
  199. package/out/taskLoop.js +2505 -0
  200. package/out/taskLoop.js.map +1 -0
  201. package/out/todo.d.ts +42 -0
  202. package/out/todo.js +311 -0
  203. package/out/todo.js.map +1 -0
  204. package/out/todoWriteManager.d.ts +26 -0
  205. package/out/todoWriteManager.js +44 -0
  206. package/out/todoWriteManager.js.map +1 -0
  207. package/out/vnc/auth.d.ts +52 -0
  208. package/out/vnc/auth.js +181 -0
  209. package/out/vnc/auth.js.map +1 -0
  210. package/out/vnc/bridge.d.ts +40 -0
  211. package/out/vnc/bridge.js +540 -0
  212. package/out/vnc/bridge.js.map +1 -0
  213. package/out/vnc/constants.d.ts +8 -0
  214. package/out/vnc/constants.js +34 -0
  215. package/out/vnc/constants.js.map +1 -0
  216. package/out/vnc/des.d.ts +6 -0
  217. package/out/vnc/des.js +93 -0
  218. package/out/vnc/des.js.map +1 -0
  219. package/out/vnc/index.d.ts +7 -0
  220. package/out/vnc/index.js +13 -0
  221. package/out/vnc/index.js.map +1 -0
  222. package/out/vnc/session.d.ts +18 -0
  223. package/out/vnc/session.js +193 -0
  224. package/out/vnc/session.js.map +1 -0
  225. package/out/vnc/types.d.ts +16 -0
  226. package/out/vnc/types.js +6 -0
  227. package/out/vnc/types.js.map +1 -0
  228. package/out/webSocketPoller.d.ts +95 -0
  229. package/out/webSocketPoller.js +986 -0
  230. package/out/webSocketPoller.js.map +1 -0
  231. package/out/webhook.d.ts +37 -0
  232. package/out/webhook.js +265 -0
  233. package/out/webhook.js.map +1 -0
  234. package/out/webhookPoller.d.ts +40 -0
  235. package/out/webhookPoller.js +378 -0
  236. package/out/webhookPoller.js.map +1 -0
  237. package/package.json +54 -41
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/rdp/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * RDP / T.128 protocol constants.
3
+ */
4
+ export declare const RDP_DEFAULT_PORT = 3389;
5
+ export declare const RDP_DEFAULT_WIDTH = 1024;
6
+ export declare const RDP_DEFAULT_HEIGHT = 768;
7
+ export declare const RDP_DEFAULT_COLOR_DEPTH = 24;
8
+ export declare const X224_TPDU_CONNECTION_REQUEST = 224;
9
+ export declare const X224_TPDU_CONNECTION_CONFIRM = 208;
10
+ export declare const X224_TPDU_DATA = 240;
11
+ export declare const MCS_CONNECT_INITIAL = 32613;
12
+ export declare const MCS_CONNECT_RESPONSE = 32614;
13
+ export declare const MCS_ERECT_DOMAIN_REQUEST = 4;
14
+ export declare const MCS_ATTACH_USER_REQUEST = 40;
15
+ export declare const MCS_ATTACH_USER_CONFIRM = 46;
16
+ export declare const MCS_CHANNEL_JOIN_REQUEST = 56;
17
+ export declare const MCS_CHANNEL_JOIN_CONFIRM = 62;
18
+ export declare const MCS_SEND_DATA_REQUEST = 100;
19
+ export declare const MCS_SEND_DATA_INDICATION = 104;
20
+ export declare const MCS_CHANNEL_GLOBAL = 1003;
21
+ export declare const MCS_CHANNEL_USER = 1007;
22
+ export declare const MCS_CHANNEL_CLIPRDR = 1004;
23
+ export declare const MCS_CHANNEL_RDPSND = 1005;
24
+ export declare const PDUTYPE_DEMANDACTIVEPDU = 17;
25
+ export declare const PDUTYPE_CONFIRMACTIVEPDU = 19;
26
+ export declare const PDUTYPE_DATAPDU = 23;
27
+ export declare const PDUTYPE_DEACTIVATEALLPDU = 22;
28
+ export declare const PDUTYPE_SERVER_REDIR_PKT = 26;
29
+ export declare const PDUTYPE2_UPDATE = 2;
30
+ export declare const PDUTYPE2_CONTROL = 20;
31
+ export declare const PDUTYPE2_POINTER = 27;
32
+ export declare const PDUTYPE2_INPUT = 28;
33
+ export declare const PDUTYPE2_SYNCHRONIZE = 31;
34
+ export declare const PDUTYPE2_REFRESH_RECT = 33;
35
+ export declare const PDUTYPE2_SUPPRESS_OUTPUT = 35;
36
+ export declare const PDUTYPE2_FONTLIST = 39;
37
+ export declare const PDUTYPE2_FONTMAP = 40;
38
+ export declare const PDUTYPE2_SET_KEYBOARD_INDICATORS = 46;
39
+ export declare const PDUTYPE2_BITMAPCACHEERROR = 51;
40
+ export declare const PDUTYPE2_SET_KEYBOARD_IME = 57;
41
+ export declare const PDUTYPE2_SHUTDOWN_REQUEST = 36;
42
+ export declare const PDUTYPE2_SHUTDOWN_DENIED = 37;
43
+ export declare const UPDATE_ORDERS = 0;
44
+ export declare const UPDATE_BITMAP = 1;
45
+ export declare const UPDATE_PALETTE = 2;
46
+ export declare const UPDATE_POINTER = 3;
47
+ export declare const SEC_EXCHANGE_PKT = 1;
48
+ export declare const SEC_ENCRYPT = 8;
49
+ export declare const SEC_LOGON_INFO = 64;
50
+ export declare const SEC_LICENSE_PKT = 128;
51
+ export declare const SEC_REDIRECTION_PKT = 1024;
52
+ export declare const ENCRYPTION_METHOD_NONE = 0;
53
+ export declare const ENCRYPTION_METHOD_40BIT = 1;
54
+ export declare const ENCRYPTION_METHOD_128BIT = 2;
55
+ export declare const ENCRYPTION_METHOD_56BIT = 8;
56
+ export declare const ENCRYPTION_METHOD_FIPS = 16;
57
+ export declare const ENCRYPTION_LEVEL_NONE = 0;
58
+ export declare const ENCRYPTION_LEVEL_LOW = 1;
59
+ export declare const ENCRYPTION_LEVEL_CLIENT_COMPATIBLE = 2;
60
+ export declare const ENCRYPTION_LEVEL_HIGH = 3;
61
+ export declare const ENCRYPTION_LEVEL_FIPS = 4;
62
+ export declare const PROTOCOL_RDP = 0;
63
+ export declare const PROTOCOL_SSL = 1;
64
+ export declare const PROTOCOL_HYBRID = 2;
65
+ export declare const PROTOCOL_RDSTLS = 4;
66
+ export declare const PROTOCOL_HYBRID_EX = 8;
67
+ export declare const INPUT_EVENT_SYNC = 0;
68
+ export declare const INPUT_EVENT_SCANCODE = 4;
69
+ export declare const INPUT_EVENT_UNICODE = 5;
70
+ export declare const INPUT_EVENT_MOUSE = 32769;
71
+ export declare const INPUT_EVENT_MOUSEX = 32770;
72
+ export declare const PTRFLAGS_DOWN = 32768;
73
+ export declare const PTRFLAGS_BUTTON1 = 4096;
74
+ export declare const PTRFLAGS_BUTTON2 = 8192;
75
+ export declare const PTRFLAGS_BUTTON3 = 16384;
76
+ export declare const PTRFLAGS_MOVE = 2048;
77
+ export declare const PTRFLAGS_WHEEL = 512;
78
+ export declare const PTRFLAGS_WHEEL_NEG = 256;
79
+ export declare const KBDFLAGS_EXTENDED = 256;
80
+ export declare const KBDFLAGS_DOWN = 0;
81
+ export declare const KBDFLAGS_RELEASE = 32768;
82
+ export declare const BITMAP_COMPRESSION = 1;
83
+ export declare const NO_BITMAP_COMPRESSION_HDR = 1024;
84
+ export declare const RDP_SCANCODE: Record<number, number>;
85
+ /** Keys that require the EXTENDED flag in the RDP scancode event. */
86
+ export declare const RDP_EXTENDED_KEYS: Set<number>;
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /**
3
+ * RDP / T.128 protocol constants.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ENCRYPTION_METHOD_40BIT = exports.ENCRYPTION_METHOD_NONE = exports.SEC_REDIRECTION_PKT = exports.SEC_LICENSE_PKT = exports.SEC_LOGON_INFO = exports.SEC_ENCRYPT = exports.SEC_EXCHANGE_PKT = exports.UPDATE_POINTER = exports.UPDATE_PALETTE = exports.UPDATE_BITMAP = exports.UPDATE_ORDERS = exports.PDUTYPE2_SHUTDOWN_DENIED = exports.PDUTYPE2_SHUTDOWN_REQUEST = exports.PDUTYPE2_SET_KEYBOARD_IME = exports.PDUTYPE2_BITMAPCACHEERROR = exports.PDUTYPE2_SET_KEYBOARD_INDICATORS = exports.PDUTYPE2_FONTMAP = exports.PDUTYPE2_FONTLIST = exports.PDUTYPE2_SUPPRESS_OUTPUT = exports.PDUTYPE2_REFRESH_RECT = exports.PDUTYPE2_SYNCHRONIZE = exports.PDUTYPE2_INPUT = exports.PDUTYPE2_POINTER = exports.PDUTYPE2_CONTROL = exports.PDUTYPE2_UPDATE = exports.PDUTYPE_SERVER_REDIR_PKT = exports.PDUTYPE_DEACTIVATEALLPDU = exports.PDUTYPE_DATAPDU = exports.PDUTYPE_CONFIRMACTIVEPDU = exports.PDUTYPE_DEMANDACTIVEPDU = exports.MCS_CHANNEL_RDPSND = exports.MCS_CHANNEL_CLIPRDR = exports.MCS_CHANNEL_USER = exports.MCS_CHANNEL_GLOBAL = exports.MCS_SEND_DATA_INDICATION = exports.MCS_SEND_DATA_REQUEST = exports.MCS_CHANNEL_JOIN_CONFIRM = exports.MCS_CHANNEL_JOIN_REQUEST = exports.MCS_ATTACH_USER_CONFIRM = exports.MCS_ATTACH_USER_REQUEST = exports.MCS_ERECT_DOMAIN_REQUEST = exports.MCS_CONNECT_RESPONSE = exports.MCS_CONNECT_INITIAL = exports.X224_TPDU_DATA = exports.X224_TPDU_CONNECTION_CONFIRM = exports.X224_TPDU_CONNECTION_REQUEST = exports.RDP_DEFAULT_COLOR_DEPTH = exports.RDP_DEFAULT_HEIGHT = exports.RDP_DEFAULT_WIDTH = exports.RDP_DEFAULT_PORT = void 0;
7
+ exports.RDP_EXTENDED_KEYS = exports.RDP_SCANCODE = exports.NO_BITMAP_COMPRESSION_HDR = exports.BITMAP_COMPRESSION = exports.KBDFLAGS_RELEASE = exports.KBDFLAGS_DOWN = exports.KBDFLAGS_EXTENDED = exports.PTRFLAGS_WHEEL_NEG = exports.PTRFLAGS_WHEEL = exports.PTRFLAGS_MOVE = exports.PTRFLAGS_BUTTON3 = exports.PTRFLAGS_BUTTON2 = exports.PTRFLAGS_BUTTON1 = exports.PTRFLAGS_DOWN = exports.INPUT_EVENT_MOUSEX = exports.INPUT_EVENT_MOUSE = exports.INPUT_EVENT_UNICODE = exports.INPUT_EVENT_SCANCODE = exports.INPUT_EVENT_SYNC = exports.PROTOCOL_HYBRID_EX = exports.PROTOCOL_RDSTLS = exports.PROTOCOL_HYBRID = exports.PROTOCOL_SSL = exports.PROTOCOL_RDP = exports.ENCRYPTION_LEVEL_FIPS = exports.ENCRYPTION_LEVEL_HIGH = exports.ENCRYPTION_LEVEL_CLIENT_COMPATIBLE = exports.ENCRYPTION_LEVEL_LOW = exports.ENCRYPTION_LEVEL_NONE = exports.ENCRYPTION_METHOD_FIPS = exports.ENCRYPTION_METHOD_56BIT = exports.ENCRYPTION_METHOD_128BIT = void 0;
8
+ // ── Default connection parameters ─────────────────────────────────────────
9
+ exports.RDP_DEFAULT_PORT = 3389;
10
+ exports.RDP_DEFAULT_WIDTH = 1024;
11
+ exports.RDP_DEFAULT_HEIGHT = 768;
12
+ exports.RDP_DEFAULT_COLOR_DEPTH = 24;
13
+ // ── X.224 PDU types ───────────────────────────────────────────────────────
14
+ exports.X224_TPDU_CONNECTION_REQUEST = 0xe0;
15
+ exports.X224_TPDU_CONNECTION_CONFIRM = 0xd0;
16
+ exports.X224_TPDU_DATA = 0xf0;
17
+ // ── MCS PDU types (T.125) ─────────────────────────────────────────────────
18
+ exports.MCS_CONNECT_INITIAL = 0x7f65;
19
+ exports.MCS_CONNECT_RESPONSE = 0x7f66;
20
+ exports.MCS_ERECT_DOMAIN_REQUEST = 0x04;
21
+ exports.MCS_ATTACH_USER_REQUEST = 0x28;
22
+ exports.MCS_ATTACH_USER_CONFIRM = 0x2e; // (11 << 2) | 2 — "initiator present" bit set
23
+ exports.MCS_CHANNEL_JOIN_REQUEST = 0x38;
24
+ exports.MCS_CHANNEL_JOIN_CONFIRM = 0x3e; // (15 << 2) | 2 — "channelId present" bit set
25
+ exports.MCS_SEND_DATA_REQUEST = 0x64;
26
+ exports.MCS_SEND_DATA_INDICATION = 0x68;
27
+ // ── RDP well-known MCS channel IDs ────────────────────────────────────────
28
+ exports.MCS_CHANNEL_GLOBAL = 1003; // MCS Global Channel
29
+ exports.MCS_CHANNEL_USER = 1007; // Dynamically assigned; placeholder
30
+ exports.MCS_CHANNEL_CLIPRDR = 1004; // Clipboard redirection
31
+ exports.MCS_CHANNEL_RDPSND = 1005; // Sound
32
+ // ── RDP PDU types (Share Control Header) ──────────────────────────────────
33
+ exports.PDUTYPE_DEMANDACTIVEPDU = 0x11;
34
+ exports.PDUTYPE_CONFIRMACTIVEPDU = 0x13;
35
+ exports.PDUTYPE_DATAPDU = 0x17;
36
+ exports.PDUTYPE_DEACTIVATEALLPDU = 0x16;
37
+ exports.PDUTYPE_SERVER_REDIR_PKT = 0x1a;
38
+ // ── RDP Data PDU sub-types ────────────────────────────────────────────────
39
+ exports.PDUTYPE2_UPDATE = 0x02;
40
+ exports.PDUTYPE2_CONTROL = 0x14;
41
+ exports.PDUTYPE2_POINTER = 0x1b;
42
+ exports.PDUTYPE2_INPUT = 0x1c;
43
+ exports.PDUTYPE2_SYNCHRONIZE = 0x1f;
44
+ exports.PDUTYPE2_REFRESH_RECT = 0x21;
45
+ exports.PDUTYPE2_SUPPRESS_OUTPUT = 0x23;
46
+ exports.PDUTYPE2_FONTLIST = 0x27;
47
+ exports.PDUTYPE2_FONTMAP = 0x28;
48
+ exports.PDUTYPE2_SET_KEYBOARD_INDICATORS = 0x2e;
49
+ exports.PDUTYPE2_BITMAPCACHEERROR = 0x33;
50
+ exports.PDUTYPE2_SET_KEYBOARD_IME = 0x39;
51
+ exports.PDUTYPE2_SHUTDOWN_REQUEST = 0x24;
52
+ exports.PDUTYPE2_SHUTDOWN_DENIED = 0x25;
53
+ // ── RDP Update types ──────────────────────────────────────────────────────
54
+ exports.UPDATE_ORDERS = 0x0000;
55
+ exports.UPDATE_BITMAP = 0x0001;
56
+ exports.UPDATE_PALETTE = 0x0002;
57
+ exports.UPDATE_POINTER = 0x0003;
58
+ // ── RDP Security flags ────────────────────────────────────────────────────
59
+ exports.SEC_EXCHANGE_PKT = 0x0001;
60
+ exports.SEC_ENCRYPT = 0x0008;
61
+ exports.SEC_LOGON_INFO = 0x0040;
62
+ exports.SEC_LICENSE_PKT = 0x0080;
63
+ exports.SEC_REDIRECTION_PKT = 0x0400;
64
+ // ── RDP encryption methods ────────────────────────────────────────────────
65
+ exports.ENCRYPTION_METHOD_NONE = 0x00000000;
66
+ exports.ENCRYPTION_METHOD_40BIT = 0x00000001;
67
+ exports.ENCRYPTION_METHOD_128BIT = 0x00000002;
68
+ exports.ENCRYPTION_METHOD_56BIT = 0x00000008;
69
+ exports.ENCRYPTION_METHOD_FIPS = 0x00000010;
70
+ // ── RDP encryption levels ─────────────────────────────────────────────────
71
+ exports.ENCRYPTION_LEVEL_NONE = 0x00000000;
72
+ exports.ENCRYPTION_LEVEL_LOW = 0x00000001;
73
+ exports.ENCRYPTION_LEVEL_CLIENT_COMPATIBLE = 0x00000002;
74
+ exports.ENCRYPTION_LEVEL_HIGH = 0x00000003;
75
+ exports.ENCRYPTION_LEVEL_FIPS = 0x00000004;
76
+ // ── Negotiation protocol flags (RDP Negotiation Request) ──────────────────
77
+ exports.PROTOCOL_RDP = 0x00000000;
78
+ exports.PROTOCOL_SSL = 0x00000001;
79
+ exports.PROTOCOL_HYBRID = 0x00000002; // CredSSP / NLA
80
+ exports.PROTOCOL_RDSTLS = 0x00000004;
81
+ exports.PROTOCOL_HYBRID_EX = 0x00000008;
82
+ // ── Input event types ─────────────────────────────────────────────────────
83
+ exports.INPUT_EVENT_SYNC = 0x0000;
84
+ exports.INPUT_EVENT_SCANCODE = 0x0004;
85
+ exports.INPUT_EVENT_UNICODE = 0x0005;
86
+ exports.INPUT_EVENT_MOUSE = 0x8001;
87
+ exports.INPUT_EVENT_MOUSEX = 0x8002;
88
+ // ── Mouse button flags ────────────────────────────────────────────────────
89
+ exports.PTRFLAGS_DOWN = 0x8000;
90
+ exports.PTRFLAGS_BUTTON1 = 0x1000; // left
91
+ exports.PTRFLAGS_BUTTON2 = 0x2000; // right
92
+ exports.PTRFLAGS_BUTTON3 = 0x4000; // middle
93
+ exports.PTRFLAGS_MOVE = 0x0800;
94
+ exports.PTRFLAGS_WHEEL = 0x0200;
95
+ exports.PTRFLAGS_WHEEL_NEG = 0x0100;
96
+ // ── Keyboard scancode flags ───────────────────────────────────────────────
97
+ exports.KBDFLAGS_EXTENDED = 0x0100;
98
+ exports.KBDFLAGS_DOWN = 0x0000;
99
+ exports.KBDFLAGS_RELEASE = 0x8000;
100
+ // ── Bitmap compression flags ──────────────────────────────────────────────
101
+ exports.BITMAP_COMPRESSION = 0x0001;
102
+ exports.NO_BITMAP_COMPRESSION_HDR = 0x0400;
103
+ // ── Virtual scancode → RDP scancode map (JS keyCode → RDP scan) ──────────
104
+ exports.RDP_SCANCODE = {
105
+ 8: 0x0e, // Backspace
106
+ 9: 0x0f, // Tab
107
+ 13: 0x1c, // Enter
108
+ 16: 0x2a, // Shift (left)
109
+ 17: 0x1d, // Ctrl (left)
110
+ 18: 0x38, // Alt (left)
111
+ 19: 0x45, // Pause
112
+ 20: 0x3a, // CapsLock
113
+ 27: 0x01, // Escape
114
+ 32: 0x39, // Space
115
+ 33: 0x49, // PageUp
116
+ 34: 0x51, // PageDown
117
+ 35: 0x4f, // End
118
+ 36: 0x47, // Home
119
+ 37: 0x4b, // ArrowLeft
120
+ 38: 0x48, // ArrowUp
121
+ 39: 0x4d, // ArrowRight
122
+ 40: 0x50, // ArrowDown
123
+ 45: 0x52, // Insert
124
+ 46: 0x53, // Delete
125
+ 48: 0x0b, // 0
126
+ 49: 0x02, // 1
127
+ 50: 0x03, // 2
128
+ 51: 0x04, // 3
129
+ 52: 0x05, // 4
130
+ 53: 0x06, // 5
131
+ 54: 0x07, // 6
132
+ 55: 0x08, // 7
133
+ 56: 0x09, // 8
134
+ 57: 0x0a, // 9
135
+ 65: 0x1e, // A
136
+ 66: 0x30, // B
137
+ 67: 0x2e, // C
138
+ 68: 0x20, // D
139
+ 69: 0x12, // E
140
+ 70: 0x21, // F
141
+ 71: 0x22, // G
142
+ 72: 0x23, // H
143
+ 73: 0x17, // I
144
+ 74: 0x24, // J
145
+ 75: 0x25, // K
146
+ 76: 0x26, // L
147
+ 77: 0x32, // M
148
+ 78: 0x31, // N
149
+ 79: 0x18, // O
150
+ 80: 0x19, // P
151
+ 81: 0x10, // Q
152
+ 82: 0x13, // R
153
+ 83: 0x1f, // S
154
+ 84: 0x14, // T
155
+ 85: 0x16, // U
156
+ 86: 0x2f, // V
157
+ 87: 0x11, // W
158
+ 88: 0x2d, // X
159
+ 89: 0x15, // Y
160
+ 90: 0x2c, // Z
161
+ 91: 0x5b, // Meta/Win (left) — extended
162
+ 112: 0x3b, // F1
163
+ 113: 0x3c, // F2
164
+ 114: 0x3d, // F3
165
+ 115: 0x3e, // F4
166
+ 116: 0x3f, // F5
167
+ 117: 0x40, // F6
168
+ 118: 0x41, // F7
169
+ 119: 0x42, // F8
170
+ 120: 0x43, // F9
171
+ 121: 0x44, // F10
172
+ 122: 0x57, // F11
173
+ 123: 0x58, // F12
174
+ 144: 0x45, // NumLock
175
+ 145: 0x46, // ScrollLock
176
+ };
177
+ /** Keys that require the EXTENDED flag in the RDP scancode event. */
178
+ exports.RDP_EXTENDED_KEYS = new Set([
179
+ 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, // nav cluster
180
+ 91, // Win key
181
+ ]);
182
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rdp/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * RDP subsystem barrel — re-exports everything consumers need.
3
+ */
4
+ export { RdpBridge } from './bridge';
5
+ export { RdpSession } from './session';
6
+ export { RDP_SCANCODE, RDP_DEFAULT_PORT } from './constants';
7
+ export type { RdpRect, RdpInfo, RdpConnectOptions } from './types';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * RDP subsystem barrel — re-exports everything consumers need.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RDP_DEFAULT_PORT = exports.RDP_SCANCODE = exports.RdpSession = exports.RdpBridge = void 0;
7
+ var bridge_1 = require("./bridge");
8
+ Object.defineProperty(exports, "RdpBridge", { enumerable: true, get: function () { return bridge_1.RdpBridge; } });
9
+ var session_1 = require("./session");
10
+ Object.defineProperty(exports, "RdpSession", { enumerable: true, get: function () { return session_1.RdpSession; } });
11
+ var constants_1 = require("./constants");
12
+ Object.defineProperty(exports, "RDP_SCANCODE", { enumerable: true, get: function () { return constants_1.RDP_SCANCODE; } });
13
+ Object.defineProperty(exports, "RDP_DEFAULT_PORT", { enumerable: true, get: function () { return constants_1.RDP_DEFAULT_PORT; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rdp/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mCAAuC;AAA9B,mGAAA,SAAS,OAAA;AAClB,qCAAwC;AAA/B,qGAAA,UAAU,OAAA;AACnB,yCAA6D;AAApD,yGAAA,YAAY,OAAA;AAAE,6GAAA,gBAAgB,OAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * RdpSession — one tunnel: RdpBridge ↔ WS sender ↔ pixel-office.
3
+ *
4
+ * Mirrors VncSession exactly in structure and message naming conventions:
5
+ *
6
+ * rdp_ready — desktop is up; sends { sessionId, name, width, height, colorDepth }
7
+ * rdp_fbu — frame-buffer update batch (same schema as vnc_fbu)
8
+ * rdp_cursor — cursor shape change
9
+ * rdp_close — session ended (error or intentional)
10
+ *
11
+ * Incoming commands from the browser (via webhookPoller):
12
+ * fuq — frame update request (incremental|full; x/y/w/h)
13
+ * pe — pointer (mouse) event
14
+ * ke — key event
15
+ * clipboard — local clipboard pushed to remote
16
+ */
17
+ import type { RdpConnectOptions } from './types';
18
+ export declare class RdpSession {
19
+ private readonly sessionId;
20
+ private readonly wsSender;
21
+ private readonly logger?;
22
+ private _bridge;
23
+ private _active;
24
+ private _pendingFuq;
25
+ private _bufferedFuq;
26
+ constructor(sessionId: string, wsSender: (frame: Record<string, unknown>) => boolean, logger?: ((msg: string) => void) | undefined);
27
+ start(opts: RdpConnectOptions): Promise<void>;
28
+ handleInput(event: Record<string, unknown>): void;
29
+ stop(): void;
30
+ }