roku-debug 0.23.16 → 0.24.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 (52) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/Exceptions.d.ts +4 -0
  3. package/dist/Exceptions.js.map +1 -1
  4. package/dist/FileUtils.js +4 -9
  5. package/dist/FileUtils.js.map +1 -1
  6. package/dist/LaunchConfiguration.d.ts +20 -2
  7. package/dist/PerfettoManager.d.ts +7 -1
  8. package/dist/PerfettoManager.js +11 -6
  9. package/dist/PerfettoManager.js.map +1 -1
  10. package/dist/RendezvousTracker.d.ts +2 -2
  11. package/dist/RendezvousTracker.js +14 -41
  12. package/dist/RendezvousTracker.js.map +1 -1
  13. package/dist/RokuECP.d.ts +11 -4
  14. package/dist/RokuECP.js +48 -62
  15. package/dist/RokuECP.js.map +1 -1
  16. package/dist/SceneGraphDebugCommandController.d.ts +28 -2
  17. package/dist/SceneGraphDebugCommandController.js +100 -4
  18. package/dist/SceneGraphDebugCommandController.js.map +1 -1
  19. package/dist/adapters/DebugProtocolAdapter.d.ts +6 -0
  20. package/dist/adapters/DebugProtocolAdapter.js +30 -11
  21. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  22. package/dist/adapters/TelnetAdapter.d.ts +6 -0
  23. package/dist/adapters/TelnetAdapter.js +21 -13
  24. package/dist/adapters/TelnetAdapter.js.map +1 -1
  25. package/dist/adapters/TelnetRequestPipeline.d.ts +3 -4
  26. package/dist/adapters/TelnetRequestPipeline.js.map +1 -1
  27. package/dist/debugProtocol/DebugProtocolClientReplaySession.js +1 -1
  28. package/dist/debugProtocol/DebugProtocolClientReplaySession.js.map +1 -1
  29. package/dist/debugProtocol/client/DebugProtocolClient.d.ts +13 -2
  30. package/dist/debugProtocol/client/DebugProtocolClient.js +21 -14
  31. package/dist/debugProtocol/client/DebugProtocolClient.js.map +1 -1
  32. package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +2 -3
  33. package/dist/debugSession/BrightScriptDebugSession.d.ts +68 -9
  34. package/dist/debugSession/BrightScriptDebugSession.js +286 -110
  35. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  36. package/dist/debugSession/Events.d.ts +5 -5
  37. package/dist/debugSession/Events.js +15 -2
  38. package/dist/debugSession/Events.js.map +1 -1
  39. package/dist/interfaces.d.ts +8 -1
  40. package/dist/interfaces.js.map +1 -1
  41. package/dist/managers/BreakpointManager.d.ts +9 -5
  42. package/dist/managers/BreakpointManager.js +22 -11
  43. package/dist/managers/BreakpointManager.js.map +1 -1
  44. package/dist/managers/LocationManager.js +2 -2
  45. package/dist/managers/LocationManager.js.map +1 -1
  46. package/dist/managers/ProjectManager.d.ts +56 -1
  47. package/dist/managers/ProjectManager.js +146 -23
  48. package/dist/managers/ProjectManager.js.map +1 -1
  49. package/dist/util.d.ts +46 -2
  50. package/dist/util.js +71 -1
  51. package/dist/util.js.map +1 -1
  52. package/package.json +5 -5
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isProtocolUpdate = exports.isProtocolResponse = exports.isProtocolRequest = exports.DebugProtocolClient = void 0;
4
- const Net = require("net");
5
4
  const debounce = require("debounce");
6
5
  const EventEmitter = require("eventemitter3");
7
6
  const semver = require("semver");
@@ -44,6 +43,7 @@ const ActionQueue_1 = require("../../managers/ActionQueue");
44
43
  const PluginInterface_1 = require("../PluginInterface");
45
44
  const BreakpointVerifiedUpdate_1 = require("../events/updates/BreakpointVerifiedUpdate");
46
45
  const ExceptionBreakpointErrorUpdate_1 = require("../events/updates/ExceptionBreakpointErrorUpdate");
46
+ const roku_deploy_1 = require("roku-deploy");
47
47
  class DebugProtocolClient {
48
48
  constructor(options) {
49
49
  this.logger = logging_1.logger.createLogger(`[dpclient]`);
@@ -92,7 +92,6 @@ class DebugProtocolClient {
92
92
  this.isDestroyingIOSocket = false;
93
93
  this.options = {
94
94
  controlPort: 8081,
95
- host: undefined,
96
95
  //override the defaults with the options from parameters
97
96
  ...options !== null && options !== void 0 ? options : {}
98
97
  };
@@ -136,17 +135,27 @@ class DebugProtocolClient {
136
135
  //in rare cases, this event is fired after the debugger has closed, so make sure the event emitter still exists
137
136
  this.emitter.emit(eventName, data);
138
137
  }
138
+ /**
139
+ * Create the transport used to reach one of the device's debug protocol ports (the control port
140
+ * or the io port): a raw tcp socket for a local device, or the RCE instance api's
141
+ * `/api/v0/ports/<port>` WebSocket for a cloud device. Extracted to a protected method so tests
142
+ * can substitute a fake socket.
143
+ */
144
+ createRokuDeploySocket(options) {
145
+ return (0, roku_deploy_1.createRokuDeploySocket)(options);
146
+ }
139
147
  /**
140
148
  * A collection of sockets created when trying to connect to the debug protocol's control socket. We keep these around for quicker tear-down
141
149
  * whenever there is an early-terminated debug session
142
150
  */
143
151
  async establishControlConnection() {
144
152
  const connection = await new Promise((resolve) => {
145
- const socket = new Net.Socket({
146
- allowHalfOpen: false
153
+ const socket = this.createRokuDeploySocket({
154
+ device: this.options.device,
155
+ port: this.options.controlPort
147
156
  });
148
157
  util_1.util.registerSocketLogging(socket, this.logger, 'ControlSocket');
149
- socket.connect({ port: this.options.controlPort, host: this.options.host }, () => {
158
+ socket.connect(() => {
150
159
  resolve(socket);
151
160
  });
152
161
  });
@@ -903,19 +912,17 @@ class DebugProtocolClient {
903
912
  */
904
913
  connectToIoPort(update) {
905
914
  if (update.success) {
906
- // Create a new TCP client.
907
- this.ioSocket = new Net.Socket({
908
- allowHalfOpen: false
915
+ // Create a new client socket to the io port the device just opened
916
+ this.ioSocket = this.createRokuDeploySocket({
917
+ device: this.options.device,
918
+ port: update.data.port
909
919
  });
910
920
  util_1.util.registerSocketLogging(this.ioSocket, this.logger, 'IoSocket');
911
921
  // Send a connection request to the server.
912
- this.logger.log(`Connect to IO Port ${this.options.host}:${update.data.port}`);
922
+ this.logger.log(`Connect to IO Port ${update.data.port}`);
913
923
  //sometimes the server shuts down before we had a chance to connect, so recover more gracefully
914
924
  try {
915
- this.ioSocket.connect({
916
- port: update.data.port,
917
- host: this.options.host
918
- }, () => {
925
+ this.ioSocket.connect(() => {
919
926
  // If there is no error, the server has accepted the request
920
927
  this.logger.log('TCP connection established with the IO Port.');
921
928
  this.connectedToIoPort = true;
@@ -946,7 +953,7 @@ class DebugProtocolClient {
946
953
  return true;
947
954
  }
948
955
  catch (e) {
949
- this.logger.error(`Failed to connect to IO socket at ${this.options.host}:${update.data.port}`, e);
956
+ this.logger.error(`Failed to connect to IO socket at port ${update.data.port}`, e);
950
957
  this.emit('app-exit');
951
958
  }
952
959
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolClient.js","sourceRoot":"","sources":["../../../src/debugProtocol/client/DebugProtocolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DebugProtocolClient.js","sourceRoot":"","sources":["../../../src/debugProtocol/client/DebugProtocolClient.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
3
  import type { DebugProtocolClient } from './DebugProtocolClient';
5
- import type { Socket } from 'net';
4
+ import type { RokuDeploySocket } from 'roku-deploy';
6
5
  import type { ProtocolRequest, ProtocolResponse, ProtocolUpdate } from '../events/ProtocolEvent';
7
6
  export interface DebugProtocolClientPlugin {
8
7
  onServerConnected?(event: OnServerConnectedEvent): void | Promise<any>;
@@ -15,7 +14,7 @@ export interface DebugProtocolClientPlugin {
15
14
  }
16
15
  export interface OnServerConnectedEvent {
17
16
  client: DebugProtocolClient;
18
- server: Socket;
17
+ server: RokuDeploySocket;
19
18
  }
20
19
  export interface ProvideResponseOrUpdateEvent {
21
20
  client: DebugProtocolClient;
@@ -53,6 +53,11 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
53
53
  locationManager: LocationManager;
54
54
  sourceMapManager: SourceMapManager;
55
55
  rokuDeploy: RokuDeploy;
56
+ /**
57
+ * A short human-readable identifier for the target device, safe for log and error messages
58
+ * (never includes credentials like the rceToken)
59
+ */
60
+ private get deviceLabel();
56
61
  private componentLibraryServer;
57
62
  private rokuAdapterDeferred;
58
63
  /**
@@ -81,6 +86,13 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
81
86
  * Cleared once the ProgressEndEvent is sent.
82
87
  */
83
88
  private launchProgressId;
89
+ /**
90
+ * Sends the deferred ProgressEndEvent for the launch progress bar (sendLaunchProgress holds it
91
+ * back for UX). Kept here so shutdown can flush it immediately: the adapter can exit before the
92
+ * delay elapses, which would otherwise leave the client's progress notification stuck open.
93
+ * Cleared once the event has been sent.
94
+ */
95
+ private flushLaunchProgressEnd;
84
96
  /**
85
97
  * The first encountered compile error, will be used to send to the client as a runtime error (nicer UI presentation)
86
98
  */
@@ -98,6 +110,12 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
98
110
  * Get a promise that resolves when the roku adapter is ready to be used
99
111
  */
100
112
  private getRokuAdapter;
113
+ /**
114
+ * The normalized launch config for this session. The resolved type has no `host` (so nothing in
115
+ * the session can read or write it) and a concrete `device` config, which is the only way the
116
+ * debugger addresses the device. The raw `LaunchConfiguration` exists only as launchRequest's
117
+ * DAP input; normalizeLaunchConfig converts it.
118
+ */
101
119
  private launchConfiguration;
102
120
  private initRequestArgs;
103
121
  private exceptionBreakpoints;
@@ -177,11 +195,19 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
177
195
  */
178
196
  prepareMainProject(): Promise<void>;
179
197
  /**
180
- * Inject breakpoint STOP statements into the staged main project and create the zip package.
181
- * Runs after the DAP `InitializedEvent` so client-side `setBreakpoints` requests have landed
182
- * before any STOPs are written to the staged .brs files (telnet path) and before the zip is sealed.
198
+ * Validate every breakpoint against the staged projects and (telnet only) write STOP statements into the
199
+ * staged .brs files. Runs after the DAP `InitializedEvent` so client-side `setBreakpoints` requests have
200
+ * landed before any STOPs are written. Validates the main project and every component library in ONE pass:
201
+ * a breakpoint is only failed when it can't be placed in any project, so validating per project would fail
202
+ * every other project's breakpoints. Must complete before `postfixComponentLibraries` renames the complib
203
+ * files so telnet STOPs are written to the original file names.
204
+ */
205
+ private writeBreakpoints;
206
+ /**
207
+ * Create the main project's zip package (or run the configured packageTask). Must run AFTER
208
+ * `applyLibraryReferencePostfixes` so any rewritten `Library` statements are included in the zip.
183
209
  */
184
- private packageMainProject;
210
+ private zipMainProject;
185
211
  /**
186
212
  * Accepts custom events and requests from the extension
187
213
  * @param command name of the command to execute
@@ -192,12 +218,45 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
192
218
  */
193
219
  protected prepareComponentLibraries(componentLibraries: ComponentLibraryConfiguration[]): Promise<void>;
194
220
  /**
195
- * Inject breakpoint STOPs into the staged complibs, seal their zips, install installable ones,
196
- * and start static file hosting. Runs in `configurationDoneRequest` (after `InitializedEvent`)
197
- * so client-side `setBreakpoints` requests have landed before the staged .brs files are written
198
- * and the zips are sealed.
221
+ * Postfix each staged complib's own files (rename its `.brs` files with the `__lib<index>` postfix and
222
+ * rewrite its `uri=` references). Runs in `configurationDoneRequest` AFTER `writeBreakpoints` so any
223
+ * telnet STOPs have already been written to the original file names. Kept separate from zipping so the
224
+ * cross-project `Library` reference rewrite can run after EVERY project is postfixed but before any zip
225
+ * is sealed.
226
+ */
227
+ protected postfixComponentLibraries(componentLibraries: ComponentLibraryConfiguration[]): Promise<void>;
228
+ /**
229
+ * Seal every component library's zip, install the installable ones (in order), and start static file
230
+ * hosting. Must run AFTER `applyLibraryReferencePostfixes` so each zip contains the rewritten `Library`
231
+ * statements.
232
+ */
233
+ protected zipServeAndInstallComponentLibraries(componentLibraries: ComponentLibraryConfiguration[], port: number): Promise<void>;
234
+ /**
235
+ * Delete every component library installed on the device.
236
+ *
237
+ * A complib can only depend on complibs the user declared BEFORE it, so the user's configured order is already
238
+ * dependency order. Deleting in the REVERSE of that order therefore deletes each complib before the ones it
239
+ * depends on, avoiding compile errors entirely. We use that reverse order as the delete priority.
240
+ *
241
+ * Anything still installed that the user did NOT configure (e.g. leftovers from a previous session) has no known
242
+ * order, so we fall back to compile-error tolerance for those: deleting a complib while another still references
243
+ * it fails with a compile error, which we ignore and retry later (after its dependent is gone). We finish when
244
+ * every complib is gone, and fail if the only complibs left are ones that can never be deleted.
245
+ */
246
+ private deleteAllComponentLibraries;
247
+ /**
248
+ * Is this error the device reporting a compile failure (which, during complib deletion, means another
249
+ * installed complib still references the one we tried to delete)?
250
+ */
251
+ private isComponentLibraryDependencyCompileError;
252
+ /**
253
+ * Did the component-library delete actually succeed, even though the device also reported a compile error?
254
+ * When we delete a complib that a dependent still references, the device reports BOTH a compile error AND a
255
+ * `Delete Succeeded` message - meaning the complib really was removed. roku-deploy attaches the parsed device
256
+ * messages (`{ errors, infos, successes }`) to the thrown error as `rokuMessages`; we look for the success there.
257
+ * Absence of that success message means the delete did NOT happen, so it should be treated as a failure/retry.
199
258
  */
200
- protected packageAndHostComponentLibraries(componentLibraries: ComponentLibraryConfiguration[], port: number): Promise<void>;
259
+ private wasComponentLibraryDeleteSuccessful;
201
260
  protected sourceRequest(response: DebugProtocol.SourceResponse, args: DebugProtocol.SourceArguments): void;
202
261
  /**
203
262
  * Called every time a breakpoint is created, modified, or deleted, for each file. This receives the entire list of breakpoints every time.