aparavi-client 1.0.2

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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +523 -0
  3. package/dist/aparavi-client-typescript-1.0.0.tgz +0 -0
  4. package/dist/aparavi-client-typescript-1.0.1.tgz +0 -0
  5. package/dist/cjs/client.js +1002 -0
  6. package/dist/cjs/client.js.map +1 -0
  7. package/dist/cjs/constants.js +37 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/cjs/core/DAPBase.js +313 -0
  10. package/dist/cjs/core/DAPBase.js.map +1 -0
  11. package/dist/cjs/core/DAPClient.js +173 -0
  12. package/dist/cjs/core/DAPClient.js.map +1 -0
  13. package/dist/cjs/core/TransportBase.js +131 -0
  14. package/dist/cjs/core/TransportBase.js.map +1 -0
  15. package/dist/cjs/core/TransportWebSocket.js +492 -0
  16. package/dist/cjs/core/TransportWebSocket.js.map +1 -0
  17. package/dist/cjs/exceptions/index.js +109 -0
  18. package/dist/cjs/exceptions/index.js.map +1 -0
  19. package/dist/cjs/index.js +56 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/package.json +3 -0
  22. package/dist/cjs/schema/Doc.js +79 -0
  23. package/dist/cjs/schema/Doc.js.map +1 -0
  24. package/dist/cjs/schema/DocFilter.js +133 -0
  25. package/dist/cjs/schema/DocFilter.js.map +1 -0
  26. package/dist/cjs/schema/DocGroup.js +235 -0
  27. package/dist/cjs/schema/DocGroup.js.map +1 -0
  28. package/dist/cjs/schema/DocMetadata.js +57 -0
  29. package/dist/cjs/schema/DocMetadata.js.map +1 -0
  30. package/dist/cjs/schema/Question.js +414 -0
  31. package/dist/cjs/schema/Question.js.map +1 -0
  32. package/dist/cjs/schema/index.js +50 -0
  33. package/dist/cjs/schema/index.js.map +1 -0
  34. package/dist/cjs/types/client.js +26 -0
  35. package/dist/cjs/types/client.js.map +1 -0
  36. package/dist/cjs/types/data.js +26 -0
  37. package/dist/cjs/types/data.js.map +1 -0
  38. package/dist/cjs/types/events.js +119 -0
  39. package/dist/cjs/types/events.js.map +1 -0
  40. package/dist/cjs/types/index.js +50 -0
  41. package/dist/cjs/types/index.js.map +1 -0
  42. package/dist/cjs/types/pipeline.js +26 -0
  43. package/dist/cjs/types/pipeline.js.map +1 -0
  44. package/dist/cjs/types/task.js +115 -0
  45. package/dist/cjs/types/task.js.map +1 -0
  46. package/dist/cli/cli/aparavi.js +1401 -0
  47. package/dist/cli/cli/aparavi.js.map +1 -0
  48. package/dist/cli/src/client.js +1002 -0
  49. package/dist/cli/src/client.js.map +1 -0
  50. package/dist/cli/src/constants.js +37 -0
  51. package/dist/cli/src/constants.js.map +1 -0
  52. package/dist/cli/src/core/DAPBase.js +313 -0
  53. package/dist/cli/src/core/DAPBase.js.map +1 -0
  54. package/dist/cli/src/core/DAPClient.js +173 -0
  55. package/dist/cli/src/core/DAPClient.js.map +1 -0
  56. package/dist/cli/src/core/TransportBase.js +131 -0
  57. package/dist/cli/src/core/TransportBase.js.map +1 -0
  58. package/dist/cli/src/core/TransportWebSocket.js +492 -0
  59. package/dist/cli/src/core/TransportWebSocket.js.map +1 -0
  60. package/dist/cli/src/exceptions/index.js +109 -0
  61. package/dist/cli/src/exceptions/index.js.map +1 -0
  62. package/dist/cli/src/index.js +56 -0
  63. package/dist/cli/src/index.js.map +1 -0
  64. package/dist/cli/src/schema/Doc.js +79 -0
  65. package/dist/cli/src/schema/Doc.js.map +1 -0
  66. package/dist/cli/src/schema/DocFilter.js +133 -0
  67. package/dist/cli/src/schema/DocFilter.js.map +1 -0
  68. package/dist/cli/src/schema/DocGroup.js +235 -0
  69. package/dist/cli/src/schema/DocGroup.js.map +1 -0
  70. package/dist/cli/src/schema/DocMetadata.js +57 -0
  71. package/dist/cli/src/schema/DocMetadata.js.map +1 -0
  72. package/dist/cli/src/schema/Question.js +414 -0
  73. package/dist/cli/src/schema/Question.js.map +1 -0
  74. package/dist/cli/src/schema/index.js +50 -0
  75. package/dist/cli/src/schema/index.js.map +1 -0
  76. package/dist/cli/src/types/client.js +26 -0
  77. package/dist/cli/src/types/client.js.map +1 -0
  78. package/dist/cli/src/types/data.js +26 -0
  79. package/dist/cli/src/types/data.js.map +1 -0
  80. package/dist/cli/src/types/events.js +119 -0
  81. package/dist/cli/src/types/events.js.map +1 -0
  82. package/dist/cli/src/types/index.js +50 -0
  83. package/dist/cli/src/types/index.js.map +1 -0
  84. package/dist/cli/src/types/pipeline.js +26 -0
  85. package/dist/cli/src/types/pipeline.js.map +1 -0
  86. package/dist/cli/src/types/task.js +115 -0
  87. package/dist/cli/src/types/task.js.map +1 -0
  88. package/dist/esm/client.js +997 -0
  89. package/dist/esm/client.js.map +1 -0
  90. package/dist/esm/constants.js +34 -0
  91. package/dist/esm/constants.js.map +1 -0
  92. package/dist/esm/core/DAPBase.js +309 -0
  93. package/dist/esm/core/DAPBase.js.map +1 -0
  94. package/dist/esm/core/DAPClient.js +169 -0
  95. package/dist/esm/core/DAPClient.js.map +1 -0
  96. package/dist/esm/core/TransportBase.js +127 -0
  97. package/dist/esm/core/TransportBase.js.map +1 -0
  98. package/dist/esm/core/TransportWebSocket.js +488 -0
  99. package/dist/esm/core/TransportWebSocket.js.map +1 -0
  100. package/dist/esm/exceptions/index.js +100 -0
  101. package/dist/esm/exceptions/index.js.map +1 -0
  102. package/dist/esm/index.js +40 -0
  103. package/dist/esm/index.js.map +1 -0
  104. package/dist/esm/package.json +3 -0
  105. package/dist/esm/schema/Doc.js +75 -0
  106. package/dist/esm/schema/Doc.js.map +1 -0
  107. package/dist/esm/schema/DocFilter.js +129 -0
  108. package/dist/esm/schema/DocFilter.js.map +1 -0
  109. package/dist/esm/schema/DocGroup.js +231 -0
  110. package/dist/esm/schema/DocGroup.js.map +1 -0
  111. package/dist/esm/schema/DocMetadata.js +53 -0
  112. package/dist/esm/schema/DocMetadata.js.map +1 -0
  113. package/dist/esm/schema/Question.js +409 -0
  114. package/dist/esm/schema/Question.js.map +1 -0
  115. package/dist/esm/schema/index.js +34 -0
  116. package/dist/esm/schema/index.js.map +1 -0
  117. package/dist/esm/types/client.js +25 -0
  118. package/dist/esm/types/client.js.map +1 -0
  119. package/dist/esm/types/data.js +25 -0
  120. package/dist/esm/types/data.js.map +1 -0
  121. package/dist/esm/types/events.js +116 -0
  122. package/dist/esm/types/events.js.map +1 -0
  123. package/dist/esm/types/index.js +34 -0
  124. package/dist/esm/types/index.js.map +1 -0
  125. package/dist/esm/types/pipeline.js +25 -0
  126. package/dist/esm/types/pipeline.js.map +1 -0
  127. package/dist/esm/types/task.js +112 -0
  128. package/dist/esm/types/task.js.map +1 -0
  129. package/dist/types/client.d.ts +395 -0
  130. package/dist/types/client.d.ts.map +1 -0
  131. package/dist/types/constants.d.ts +34 -0
  132. package/dist/types/constants.d.ts.map +1 -0
  133. package/dist/types/core/DAPBase.d.ts +140 -0
  134. package/dist/types/core/DAPBase.d.ts.map +1 -0
  135. package/dist/types/core/DAPClient.d.ts +83 -0
  136. package/dist/types/core/DAPClient.d.ts.map +1 -0
  137. package/dist/types/core/TransportBase.d.ts +94 -0
  138. package/dist/types/core/TransportBase.d.ts.map +1 -0
  139. package/dist/types/core/TransportWebSocket.d.ts +78 -0
  140. package/dist/types/core/TransportWebSocket.d.ts.map +1 -0
  141. package/dist/types/exceptions/index.d.ts +81 -0
  142. package/dist/types/exceptions/index.d.ts.map +1 -0
  143. package/dist/types/index.d.ts +36 -0
  144. package/dist/types/index.d.ts.map +1 -0
  145. package/dist/types/schema/Doc.d.ts +69 -0
  146. package/dist/types/schema/Doc.d.ts.map +1 -0
  147. package/dist/types/schema/DocFilter.d.ts +101 -0
  148. package/dist/types/schema/DocFilter.d.ts.map +1 -0
  149. package/dist/types/schema/DocGroup.d.ts +113 -0
  150. package/dist/types/schema/DocGroup.d.ts.map +1 -0
  151. package/dist/types/schema/DocMetadata.d.ts +61 -0
  152. package/dist/types/schema/DocMetadata.d.ts.map +1 -0
  153. package/dist/types/schema/Question.d.ts +163 -0
  154. package/dist/types/schema/Question.d.ts.map +1 -0
  155. package/dist/types/schema/index.d.ts +34 -0
  156. package/dist/types/schema/index.d.ts.map +1 -0
  157. package/dist/types/types/client.d.ts +140 -0
  158. package/dist/types/types/client.d.ts.map +1 -0
  159. package/dist/types/types/data.d.ts +95 -0
  160. package/dist/types/types/data.d.ts.map +1 -0
  161. package/dist/types/types/events.d.ts +246 -0
  162. package/dist/types/types/events.d.ts.map +1 -0
  163. package/dist/types/types/index.d.ts +34 -0
  164. package/dist/types/types/index.d.ts.map +1 -0
  165. package/dist/types/types/pipeline.d.ts +61 -0
  166. package/dist/types/types/pipeline.d.ts.map +1 -0
  167. package/dist/types/types/task.d.ts +265 -0
  168. package/dist/types/types/task.d.ts.map +1 -0
  169. package/package.json +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../aparavi-client/src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ /**
25
+ * Default Aparavi service endpoint URL.
26
+ * Used when no custom URI is provided in the client configuration.
27
+ */
28
+ export const CONST_DEFAULT_SERVICE = 'https://eaas.aparavi.com';
29
+ /**
30
+ * WebSocket connection timeout in seconds.
31
+ * If no communication occurs within this period, the connection may be considered stale.
32
+ */
33
+ export const CONST_SOCKET_TIMEOUT = 180;
34
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../aparavi-client/src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ /**
25
+ * Base class for DAP (Debug Adapter Protocol) components.
26
+ *
27
+ * Provides standardized logging, error handling, message building, and debugging
28
+ * capabilities for all DAP-based components. This class handles the low-level
29
+ * details of the protocol including message sequencing, request/response correlation,
30
+ * and transport binding.
31
+ *
32
+ * Key responsibilities:
33
+ * - Message sequence number generation
34
+ * - Transport layer binding and lifecycle management
35
+ * - Debug logging and protocol tracing
36
+ * - Error handling and exception building
37
+ * - Request/Response message construction
38
+ *
39
+ * @abstract This class is meant to be extended by specific DAP implementations
40
+ */
41
+ export class DAPBase {
42
+ /**
43
+ * Creates a new DAPBase instance.
44
+ *
45
+ * @param module - Name of the module for message type identification
46
+ * @param transport - Transport layer for communication
47
+ * @param config - Client configuration including debug callbacks
48
+ */
49
+ constructor(module, transport, config) {
50
+ this._seqCounter = 0; // Counter for generating unique message sequence numbers
51
+ this._msgType = module;
52
+ this._callDebugMessage = config.onDebugMessage;
53
+ this._callDebugProtocol = config.onProtocolMessage;
54
+ // Set up transport layer
55
+ this._transport = transport;
56
+ // Bind the transport callbacks to this instance
57
+ if (this._transport) {
58
+ this._transport.bind({
59
+ onDebugMessage: this.debugMessage.bind(this),
60
+ onDebugProtocol: this.debugProtocol.bind(this),
61
+ onReceive: this.onReceive.bind(this),
62
+ onConnected: this.onConnected.bind(this),
63
+ onDisconnected: this.onDisconnected.bind(this),
64
+ });
65
+ }
66
+ }
67
+ /**
68
+ * Attempt to call a specific method, falling back to a default method.
69
+ *
70
+ * This is a utility method for dynamic method dispatch based on message commands.
71
+ * It first tries to call a specific handler method, then falls back to a default
72
+ * handler if the specific one doesn't exist.
73
+ *
74
+ * @param message - The DAP message to be handled
75
+ * @param methodName - Name of the specific handler method to try
76
+ * @param defaultName - Name of the default fallback method
77
+ * @returns Tuple of [handled: boolean, result: any]
78
+ * @protected
79
+ */
80
+ async _callMethod(message, methodName, defaultName) {
81
+ try {
82
+ if (methodName) {
83
+ // Look for a specific handler method for this command
84
+ const method = this[methodName];
85
+ if (typeof method === 'function') {
86
+ return [true, await method.call(this, message)];
87
+ }
88
+ }
89
+ if (defaultName) {
90
+ // Try the fallback default handler if no specific handler exists
91
+ const method = this[defaultName];
92
+ if (typeof method === 'function') {
93
+ return [true, await method.call(this, message)];
94
+ }
95
+ }
96
+ // No handler found
97
+ return [false, null];
98
+ }
99
+ catch (error) {
100
+ return [true, this.buildException(message, error)];
101
+ }
102
+ }
103
+ /**
104
+ * Generate the next sequence number for DAP message correlation.
105
+ */
106
+ _nextSeq() {
107
+ this._seqCounter += 1;
108
+ return this._seqCounter;
109
+ }
110
+ /**
111
+ * Log an error message and throw the provided exception.
112
+ */
113
+ raiseException(exception) {
114
+ this.debugMessage(`EXCEPTION: ${exception.message}`);
115
+ throw exception;
116
+ }
117
+ /**
118
+ * Output a general operational message with the instance's message type prefix.
119
+ */
120
+ debugMessage(msg) {
121
+ if (this._callDebugMessage) {
122
+ this._callDebugMessage(`[${this._msgType}]: ${msg}`);
123
+ }
124
+ }
125
+ /**
126
+ * Output a protocol-level debug message for detailed DAP communication tracing.
127
+ */
128
+ debugProtocol(packet) {
129
+ if (this._callDebugProtocol) {
130
+ this._callDebugProtocol(`[${this._msgType}]: ${packet}`);
131
+ }
132
+ }
133
+ /**
134
+ * Handle incoming DAP events from the transport layer.
135
+ */
136
+ async onEvent(event) {
137
+ // Override in subclasses
138
+ }
139
+ /**
140
+ * Handle transport connection establishment.
141
+ */
142
+ async onConnected(connectionInfo) {
143
+ // Override in subclasses
144
+ }
145
+ /**
146
+ * Handle transport disconnection and cleanup.
147
+ */
148
+ async onDisconnected(reason, hasError = false) {
149
+ // Override in subclasses
150
+ }
151
+ /**
152
+ * Handle received messages from the transport layer.
153
+ */
154
+ async onReceive(message) {
155
+ // Override in subclasses
156
+ }
157
+ /**
158
+ * Check if a DAP request indicates failure based on its response fields.
159
+ */
160
+ didFail(request) {
161
+ return request.success === false;
162
+ }
163
+ /**
164
+ * Extract the web error details from a DAP request message.
165
+ */
166
+ getWebResponse(message) {
167
+ if (message.success !== false) {
168
+ // Get the response body and return the web response
169
+ const body = message.body || {};
170
+ return { success: true, body };
171
+ }
172
+ else {
173
+ // Get the specifics about the error
174
+ const msg = message.message || 'Unknown error';
175
+ const trace = message.trace || {};
176
+ const file = trace?.file || null;
177
+ const lineno = trace?.lineno || null;
178
+ return {
179
+ error: true,
180
+ message: msg,
181
+ file,
182
+ lineno,
183
+ };
184
+ }
185
+ }
186
+ /**
187
+ * Build a DAP request message following the protocol specification.
188
+ */
189
+ buildRequest(command, options = {}) {
190
+ const request = {
191
+ type: 'request',
192
+ seq: this._nextSeq(),
193
+ command,
194
+ };
195
+ if (options.token !== undefined) {
196
+ request.token = options.token;
197
+ }
198
+ if (options.arguments !== undefined) {
199
+ request.arguments = options.arguments;
200
+ }
201
+ if (options.data !== undefined) {
202
+ if (typeof options.data === 'string') {
203
+ request.data = new TextEncoder().encode(options.data);
204
+ }
205
+ else {
206
+ request.data = options.data;
207
+ }
208
+ }
209
+ return request;
210
+ }
211
+ /**
212
+ * Build a successful DAP response message for a given request.
213
+ */
214
+ buildResponse(request, body) {
215
+ const response = {
216
+ type: 'response',
217
+ seq: this._nextSeq(),
218
+ request_seq: request.seq,
219
+ command: request.command,
220
+ success: true,
221
+ };
222
+ if (body !== undefined) {
223
+ response.body = body;
224
+ }
225
+ return response;
226
+ }
227
+ /**
228
+ * Build a DAP event message to notify clients of state changes.
229
+ */
230
+ buildEvent(event, options = {}) {
231
+ const message = {
232
+ type: 'event',
233
+ seq: this._nextSeq(),
234
+ event,
235
+ };
236
+ if (options.body !== undefined) {
237
+ message.body = options.body;
238
+ }
239
+ if (options.id !== undefined) {
240
+ if (!message.body) {
241
+ message.body = {};
242
+ }
243
+ message.body.__id = options.id;
244
+ }
245
+ return message;
246
+ }
247
+ /**
248
+ * Build a DAP error response.
249
+ */
250
+ buildError(request, message) {
251
+ const response = {
252
+ type: 'response',
253
+ seq: this._nextSeq(),
254
+ request_seq: request.seq,
255
+ command: request.command,
256
+ success: false,
257
+ message,
258
+ };
259
+ try {
260
+ // Get the call stack for debugging
261
+ const stack = new Error().stack;
262
+ if (stack) {
263
+ const lines = stack.split('\n');
264
+ if (lines.length >= 3) {
265
+ // Extract filename and line from stack trace
266
+ const callerLine = lines[2];
267
+ const match = callerLine.match(/at .* \((.+):(\d+):\d+\)/);
268
+ if (match) {
269
+ const filename = match[1].split('/').pop() || match[1];
270
+ const lineno = parseInt(match[2], 10);
271
+ response.trace = { file: filename, lineno };
272
+ }
273
+ }
274
+ }
275
+ }
276
+ catch {
277
+ // Not critical if we can't add trace info
278
+ }
279
+ return response;
280
+ }
281
+ /**
282
+ * Build a DAP exception response with debugging information.
283
+ */
284
+ buildException(request, error) {
285
+ const response = {
286
+ type: 'response',
287
+ seq: this._nextSeq(),
288
+ request_seq: request.seq,
289
+ command: request.command,
290
+ success: false,
291
+ message: error.message,
292
+ };
293
+ // Extract traceback information from the exception
294
+ if (error.stack) {
295
+ const lines = error.stack.split('\n');
296
+ if (lines.length >= 2) {
297
+ const errorLine = lines[1];
298
+ const match = errorLine.match(/at .* \((.+):(\d+):\d+\)/);
299
+ if (match) {
300
+ const filename = match[1].split('/').pop() || match[1];
301
+ const lineno = parseInt(match[2], 10);
302
+ response.trace = { file: filename, lineno };
303
+ }
304
+ }
305
+ }
306
+ return response;
307
+ }
308
+ }
309
+ //# sourceMappingURL=DAPBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DAPBase.js","sourceRoot":"","sources":["../../../aparavi-client/src/core/DAPBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (c) 2024 Aparavi Development Team
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+ import { DAPBase } from './DAPBase';
25
+ /**
26
+ * DAP (Debug Adapter Protocol) client for communicating with Aparavi servers.
27
+ *
28
+ * This class implements the client side of the DAP communication protocol,
29
+ * managing request/response correlation, pending request tracking, and message
30
+ * sequencing. It extends DAPBase to inherit common protocol functionality.
31
+ *
32
+ * Key responsibilities:
33
+ * - Request/response correlation via sequence numbers
34
+ * - Pending request management with promises
35
+ * - Connection lifecycle management
36
+ * - Message routing and handling
37
+ *
38
+ * @extends DAPBase
39
+ */
40
+ export class DAPClient extends DAPBase {
41
+ constructor(module, transport, config = {}) {
42
+ super(module, transport, config);
43
+ this._pendingRequests = new Map();
44
+ this._sequenceNumber = 0;
45
+ }
46
+ /**
47
+ * Generate the next sequence number for outgoing requests.
48
+ */
49
+ getNextSeq() {
50
+ return ++this._sequenceNumber;
51
+ }
52
+ /**
53
+ * Send a message to the DAP server through the transport layer.
54
+ */
55
+ async _send(message) {
56
+ if (!this._transport) {
57
+ throw new Error('Transport not available');
58
+ }
59
+ return this._transport.send(message);
60
+ }
61
+ /**
62
+ * Handle connection established event.
63
+ */
64
+ async onConnected(connectionInfo) {
65
+ await super.onConnected(connectionInfo);
66
+ }
67
+ /**
68
+ * Handle disconnection event and clean up pending requests.
69
+ */
70
+ async onDisconnected(reason, hasError = false) {
71
+ // Fail all pending requests since connection is lost
72
+ const connectionError = new Error(reason || 'Connection lost');
73
+ for (const [_, request] of this._pendingRequests) {
74
+ request.reject(connectionError);
75
+ }
76
+ // Clear pending requests
77
+ this._pendingRequests.clear();
78
+ // Notify parent classes
79
+ await super.onDisconnected(reason, hasError);
80
+ }
81
+ /**
82
+ * Handle received messages from the transport layer.
83
+ */
84
+ async onReceive(message) {
85
+ const messageType = message.type;
86
+ if (messageType === 'response') {
87
+ // Handle response correlation
88
+ const requestSeq = message.request_seq;
89
+ if (requestSeq !== undefined && this._pendingRequests.has(requestSeq)) {
90
+ const pendingRequest = this._pendingRequests.get(requestSeq);
91
+ this._pendingRequests.delete(requestSeq);
92
+ pendingRequest.resolve(message);
93
+ }
94
+ else {
95
+ this.debugMessage(`Response received for unknown request: ${JSON.stringify(message)}`);
96
+ }
97
+ }
98
+ else if (messageType === 'event') {
99
+ // Forward events to event handler
100
+ await this.onEvent(message);
101
+ }
102
+ else {
103
+ // Unknown message type
104
+ this.debugMessage(`Unhandled message type: ${JSON.stringify(message)}`);
105
+ }
106
+ }
107
+ /**
108
+ * Send a request and wait for the corresponding response.
109
+ */
110
+ async request(message) {
111
+ // Validate required fields
112
+ if (!message.command) {
113
+ this.raiseException(new Error("Request message must include a 'command' field"));
114
+ }
115
+ if (!message.type) {
116
+ this.raiseException(new Error("Request message must include a 'type' field"));
117
+ }
118
+ // Verify connection
119
+ if (!this._transport?.isConnected()) {
120
+ this.raiseException(new Error('Server is not connected'));
121
+ }
122
+ // Generate sequence number for this request
123
+ const seq = this.getNextSeq();
124
+ message.seq = seq;
125
+ // Create promise for response correlation
126
+ return new Promise((resolve, reject) => {
127
+ // Store the resolve/reject functions for later use
128
+ this._pendingRequests.set(seq, { resolve, reject });
129
+ // Send request through transport
130
+ this._send(message)
131
+ .catch(error => {
132
+ // Store pending request
133
+ this.debugMessage(`Clearing request due to error: ${seq}`);
134
+ // Clean up on send failure
135
+ if (this._pendingRequests.has(seq)) {
136
+ this._pendingRequests.delete(seq);
137
+ }
138
+ reject(new Error('Could not send request'));
139
+ });
140
+ });
141
+ }
142
+ /**
143
+ * Establish connection to the DAP server.
144
+ */
145
+ async connect() {
146
+ if (!this._transport) {
147
+ throw new Error('Transport not configured');
148
+ }
149
+ // Establish transport connection
150
+ await this._transport.connect();
151
+ // Connection state is updated in onConnected callback
152
+ }
153
+ /**
154
+ * Close connection to the DAP server and clean up resources.
155
+ */
156
+ async disconnect() {
157
+ // Close transport connection
158
+ if (this._transport) {
159
+ await this._transport.disconnect();
160
+ }
161
+ }
162
+ /**
163
+ * Check if connected to server.
164
+ */
165
+ isConnected() {
166
+ return this._transport?.isConnected() || false;
167
+ }
168
+ }
169
+ //# sourceMappingURL=DAPClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DAPClient.js","sourceRoot":"","sources":["../../../aparavi-client/src/core/DAPClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,SAAU,SAAQ,OAAO;IAOrC,YAAY,MAAc,EAAE,SAAwB,EAAE,SAA8B,EAAE;QACrF,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAP1B,qBAAgB,GAAG,IAAI,GAAG,EAG9B,CAAC;QACG,oBAAe,GAAG,CAAC,CAAC;IAI5B,CAAC;IAED;;OAEG;IACK,UAAU;QACjB,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,KAAK,CAAC,OAAmB;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,cAAuB;QACxC,MAAM,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAe,EAAE,QAAQ,GAAG,KAAK;QACrD,qDAAqD;QACrD,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;QAE/D,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAClD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAE9B,wBAAwB;QACxB,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAmB;QAClC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QAEjC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAChC,8BAA8B;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;YAEvC,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvE,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;gBAC9D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEzC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,YAAY,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;QACF,CAAC;aAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACpC,kCAAkC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,uBAAuB;YACvB,IAAI,CAAC,YAAY,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,OAAmB;QAChC,2BAA2B;QAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,4CAA4C;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QAElB,0CAA0C;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,mDAAmD;YACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpD,iCAAiC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;iBACjB,KAAK,CAAC,KAAK,CAAC,EAAE;gBACd,wBAAwB;gBACxB,IAAI,CAAC,YAAY,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;gBAE3D,2BAA2B;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QAED,iCAAiC;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAEhC,sDAAsD;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACf,6BAA6B;QAC7B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,WAAW;QACV,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IAChD,CAAC;CACD"}