@octostar/platform-api 0.5.30 → 0.5.32

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.
package/dist/factory.js CHANGED
@@ -1,172 +1,480 @@
1
1
  import * as postRobot from 'post-robot';
2
2
  import { retry } from './utils';
3
3
  import { getPostMessageNames } from './constants';
4
- const hasParent = (window) => window.parent !== window;
5
- function getOctostarWindow(channelId, currentWindow = window, depth = 0) {
6
- // Check all iframes in the current window
7
- let iframes;
8
- try {
9
- iframes = currentWindow.document.querySelectorAll('iframe');
10
- }
11
- catch (e) {
12
- // assuming cross-origin iframe
13
- return currentWindow;
14
- }
15
- for (let i = 0; i < iframes.length; i += 1) {
16
- const iframe = iframes[i];
17
- if (iframe.getAttribute('data-octostar-iframe') === 'true' &&
18
- iframe.getAttribute('data-octostar-iframe-channel') === channelId) {
19
- return currentWindow;
20
- }
21
- }
22
- // Check if we've reached the top window
23
- if (!hasParent(currentWindow)) {
24
- console.error('Top window reached without finding the Octostar window. You are trying to view the app from outside Octostar?');
25
- // could be an old version of Octostar?
26
- return currentWindow;
4
+ /**
5
+ * Manages Octostar connection state, including remote dev mode, channel IDs, window references,
6
+ * and connection lifecycle. This is a singleton class accessed via getOctostarConnectionManager().
7
+ */
8
+ export class OctostarConnectionManager {
9
+ constructor() {
10
+ this.remoteDevWindow = null;
11
+ this.channelIdSubscribers = new Set();
27
12
  }
28
- // Prevent infinite loops or excessive searching
29
- if (depth > 25) {
30
- throw new Error('Max depth reached. Octostar window not found.');
31
- }
32
- // If not found, continue searching in the parent window
33
- return getOctostarWindow(channelId, currentWindow.parent, depth + 1);
34
- }
35
- const handlePostResponse = (response) => {
36
- if (response.data.error) {
37
- throw new Error(response.data.error.message);
13
+ /* ------------------------------------------------------------------ */
14
+ /* Private Helpers */
15
+ /* ------------------------------------------------------------------ */
16
+ hasParent(window) {
17
+ return window.parent !== window;
38
18
  }
39
- return response.data.data;
40
- };
41
- const createObjectProxy = (value, options) => new Proxy(value, {
42
- get: (target, prop) => {
43
- // This construction does not support nested objects
44
- if (typeof target[prop] === 'function') {
45
- return new Proxy(target[prop], {
46
- apply: (methodTarget, _, args) => {
47
- const callResult = methodTarget(...args);
48
- const isPromise = callResult instanceof Promise;
49
- const isPromiseLike = typeof callResult?.then === 'function' && typeof callResult?.catch === 'function';
50
- if (isPromise || isPromiseLike) {
51
- return callResult.catch((e) => {
52
- const methodFullPath = `${options.name}.${prop}()`;
53
- const error = new Error(`Error calling ${methodFullPath}: ${e.message}`);
54
- error.stack = `at ${methodFullPath}: ${e.stack}`;
55
- error.originalError = e;
56
- throw error;
57
- });
58
- }
59
- return callResult;
60
- },
61
- });
62
- }
63
- return target[prop];
64
- },
65
- });
66
- function tryFetchingFomAttributes(currentWindow) {
67
- try {
68
- const iframes = currentWindow.parent.document.getElementsByTagName('iframe');
19
+ getParentOctostarWindow(channelId, currentWindow = window, depth = 0) {
20
+ let iframes;
21
+ try {
22
+ iframes = currentWindow.document.querySelectorAll('iframe');
23
+ }
24
+ catch {
25
+ return currentWindow;
26
+ }
69
27
  for (const iframe of iframes) {
70
- if (iframe.contentWindow === currentWindow) {
71
- const channelId = iframe.getAttribute('data-octostar-iframe-channel');
72
- if (channelId) {
73
- console.log(`PostRobot: Setting channelId from iframe attribute ${channelId}`);
74
- window.octostarChannelId = channelId;
75
- return channelId;
28
+ if (iframe.getAttribute('data-octostar-iframe') === 'true' &&
29
+ iframe.getAttribute('data-octostar-iframe-channel') === channelId) {
30
+ return currentWindow;
31
+ }
32
+ }
33
+ if (!this.hasParent(currentWindow)) {
34
+ return undefined;
35
+ }
36
+ if (depth > 25) {
37
+ return undefined;
38
+ }
39
+ return this.getParentOctostarWindow(channelId, currentWindow.parent, depth + 1);
40
+ }
41
+ tryFetchingFromAttributes(currentWindow) {
42
+ try {
43
+ const iframes = currentWindow.parent.document.getElementsByTagName('iframe');
44
+ for (const iframe of iframes) {
45
+ if (iframe.contentWindow === currentWindow) {
46
+ return iframe.getAttribute('data-octostar-iframe-channel') ?? undefined;
76
47
  }
77
48
  }
78
49
  }
50
+ catch {
51
+ /* ignore */
52
+ }
79
53
  return undefined;
80
54
  }
81
- catch (e) {
82
- // Ignore errors, maybe cross-origin iframes
83
- return undefined;
55
+ traverseForChannelId(currentWindow = window, depth = 0) {
56
+ if (depth > 25)
57
+ return undefined;
58
+ // Try to read octostarChannelId from window, but handle SecurityError for cross-origin windows
59
+ try {
60
+ if (currentWindow.octostarChannelId) {
61
+ return currentWindow.octostarChannelId;
62
+ }
63
+ }
64
+ catch {
65
+ // SecurityError on cross-origin windows - continue to fallback mechanisms
66
+ }
67
+ // Try to get channelId from URL query params
68
+ try {
69
+ if (currentWindow.location.search) {
70
+ const params = new URLSearchParams(currentWindow.location.search);
71
+ const fromQuery = params.get('octostarChannelId');
72
+ if (fromQuery) {
73
+ window.octostarChannelId = fromQuery;
74
+ return fromQuery;
75
+ }
76
+ }
77
+ }
78
+ catch {
79
+ // Cross-origin iframe - can't access location
80
+ // Continue to try other methods
81
+ }
82
+ // Try fetching from iframe attributes (only works if we can access parent)
83
+ try {
84
+ const fromAttrs = this.tryFetchingFromAttributes(currentWindow);
85
+ if (fromAttrs) {
86
+ window.octostarChannelId = fromAttrs;
87
+ return fromAttrs;
88
+ }
89
+ }
90
+ catch {
91
+ // Ignore errors
92
+ }
93
+ // Try parent window
94
+ try {
95
+ return this.traverseForChannelId(currentWindow.parent, depth + 1);
96
+ }
97
+ catch {
98
+ // Cross-origin parent - can't traverse further
99
+ return undefined;
100
+ }
84
101
  }
85
- }
86
- function traverseForChannelId(currentWindow = window, depth = 0) {
87
- // Prevent infinite loops or excessive searching
88
- if (depth > 25) {
89
- throw new Error('PostRobot: Max depth reached. octostarChannelId not found.');
102
+ clearConnectionHistory() {
103
+ sessionStorage.removeItem('octostarRemoteDevWasConnected');
104
+ sessionStorage.removeItem('octostarRemoteDevIntentionallyDisconnected');
90
105
  }
91
- // Try to access octostarChannelId, but handle cross-origin errors
92
- try {
93
- if (currentWindow.octostarChannelId) {
94
- return currentWindow.octostarChannelId;
106
+ notifyChannelIdChanged(channelId) {
107
+ this.channelIdSubscribers.forEach(callback => {
108
+ callback(channelId);
109
+ });
110
+ }
111
+ handlePostResponse(response) {
112
+ if (response.data.error) {
113
+ throw new Error(response.data.error.message);
95
114
  }
115
+ return response.data.data;
96
116
  }
97
- catch (e) {
98
- // Cross-origin iframe - can't access window properties
99
- // Continue to try other methods
117
+ createObjectProxy(value, options) {
118
+ return new Proxy(value, {
119
+ get: (target, prop) => {
120
+ if (typeof target[prop] === 'function') {
121
+ return new Proxy(target[prop], {
122
+ apply: (methodTarget, _, args) => {
123
+ const result = methodTarget(...args);
124
+ if (result?.then) {
125
+ return result.catch((e) => {
126
+ const path = `${options.name}.${String(prop)}()`;
127
+ const err = new Error(`Error calling ${path}: ${e.message}`);
128
+ err.originalError = e;
129
+ throw err;
130
+ });
131
+ }
132
+ return result;
133
+ },
134
+ });
135
+ }
136
+ return target[prop];
137
+ },
138
+ });
100
139
  }
101
- try {
102
- // Try to get channelId from URL query params
103
- if (currentWindow.location.search) {
104
- const urlParams = new URLSearchParams(currentWindow.location.search);
105
- const channelId = urlParams.get('octostarChannelId');
106
- if (channelId) {
107
- console.log(`PostRobot: Setting channelId from queryParams ${channelId}`);
108
- window.octostarChannelId = channelId;
109
- return channelId;
140
+ /* ------------------------------------------------------------------ */
141
+ /* Public API - Window Management */
142
+ /* ------------------------------------------------------------------ */
143
+ /**
144
+ * Sets the remote dev window reference.
145
+ * This should be called when opening a remote dev window from a React component.
146
+ */
147
+ setWindow(window) {
148
+ this.remoteDevWindow = window;
149
+ }
150
+ /**
151
+ * Gets the remote dev window reference.
152
+ */
153
+ getWindow() {
154
+ return this.remoteDevWindow;
155
+ }
156
+ /* ------------------------------------------------------------------ */
157
+ /* Public API - Channel ID Management */
158
+ /* ------------------------------------------------------------------ */
159
+ /**
160
+ * Gets or creates a remote dev channel ID.
161
+ * If a channel ID already exists in sessionStorage, returns it.
162
+ * Otherwise, generates a new one and stores it.
163
+ */
164
+ getOrCreateChannelId() {
165
+ const key = 'octostarRemoteDevChannelId';
166
+ const existing = sessionStorage.getItem(key);
167
+ if (existing)
168
+ return existing;
169
+ const generated = typeof crypto !== 'undefined' && 'randomUUID' in crypto
170
+ ? crypto.randomUUID()
171
+ : `rd-${Date.now()}-${Math.random().toString(16).slice(2)}`;
172
+ sessionStorage.setItem(key, generated);
173
+ return generated;
174
+ }
175
+ /**
176
+ * Checks if a remote dev channel ID exists without creating one.
177
+ * Used to determine if a connection attempt has been made.
178
+ */
179
+ hasChannelId() {
180
+ const key = 'octostarRemoteDevChannelId';
181
+ return sessionStorage.getItem(key) !== null;
182
+ }
183
+ /**
184
+ * Subscribe to remote dev channel ID changes.
185
+ * Returns an unsubscribe function.
186
+ */
187
+ onChannelIdChanged(callback) {
188
+ this.channelIdSubscribers.add(callback);
189
+ return () => this.channelIdSubscribers.delete(callback);
190
+ }
191
+ /* ------------------------------------------------------------------ */
192
+ /* Public API - Connection State */
193
+ /* ------------------------------------------------------------------ */
194
+ /**
195
+ * Marks that a successful remote dev connection was established.
196
+ * This is called when a connection is successfully made (e.g., ping succeeds).
197
+ */
198
+ markConnectionSuccess() {
199
+ sessionStorage.setItem('octostarRemoteDevWasConnected', 'true');
200
+ // Clear intentional disconnect flag since we're now connected
201
+ sessionStorage.removeItem('octostarRemoteDevIntentionallyDisconnected');
202
+ }
203
+ /**
204
+ * Marks whether the remote dev connection was intentionally disconnected.
205
+ * @param intentionallyDisconnected - true if user clicked Disconnect/Reset, false if user is trying to connect
206
+ */
207
+ markIntentionallyDisconnected(intentionallyDisconnected) {
208
+ if (intentionallyDisconnected) {
209
+ sessionStorage.setItem('octostarRemoteDevIntentionallyDisconnected', 'true');
210
+ }
211
+ else {
212
+ sessionStorage.removeItem('octostarRemoteDevIntentionallyDisconnected');
213
+ }
214
+ }
215
+ /**
216
+ * Returns whether a successful remote dev connection was ever established in this session.
217
+ * This persists across component remounts and page refreshes (within the same session).
218
+ * Only returns true if a channel ID exists (fixes initial load bug).
219
+ */
220
+ wasEverConnected() {
221
+ // Only return true if we have evidence of a connection attempt (channel ID exists)
222
+ // This prevents showing "CONNECTION LOST" on initial load when sessionStorage has stale data
223
+ return this.hasChannelId() && sessionStorage.getItem('octostarRemoteDevWasConnected') === 'true';
224
+ }
225
+ /**
226
+ * Returns whether the remote dev connection was intentionally disconnected.
227
+ * This is used to determine whether to show "Connect" vs "Reconnect" button.
228
+ */
229
+ wasIntentionallyDisconnected() {
230
+ return sessionStorage.getItem('octostarRemoteDevIntentionallyDisconnected') === 'true';
231
+ }
232
+ /* ------------------------------------------------------------------ */
233
+ /* Public API - URL Management */
234
+ /* ------------------------------------------------------------------ */
235
+ /**
236
+ * Gets the remote dev URL from sessionStorage.
237
+ * Returns empty string if not set.
238
+ */
239
+ getUrl() {
240
+ return sessionStorage.getItem('octostarRemoteDevUrl') || '';
241
+ }
242
+ /**
243
+ * Sets the remote dev URL in sessionStorage.
244
+ */
245
+ setUrl(url) {
246
+ sessionStorage.setItem('octostarRemoteDevUrl', url);
247
+ }
248
+ /* ------------------------------------------------------------------ */
249
+ /* Public API - Mode Detection */
250
+ /* ------------------------------------------------------------------ */
251
+ /**
252
+ * Returns true when the app is not in connected iframe mode (no octostarChannelId found in URL or
253
+ * iframe chain), i.e. running in remote dev mode. Returns false when running inside an Octostar
254
+ * iframe (embedded).
255
+ */
256
+ isRemoteDevMode() {
257
+ if (this.resolvedMode) {
258
+ return this.resolvedMode.mode === 'remote';
259
+ }
260
+ return this.traverseForChannelId() === undefined;
261
+ }
262
+ /* ------------------------------------------------------------------ */
263
+ /* Public API - Connection Lifecycle */
264
+ /* ------------------------------------------------------------------ */
265
+ /**
266
+ * Clears resolvedMode if the channel ID has changed.
267
+ * This is called when SET_CHANNEL_ID message is received to ensure
268
+ * createRemoteApiHandle re-resolves with the new channel ID.
269
+ * @param newChannelId - The new channel ID that was set
270
+ */
271
+ clearResolvedModeIfChannelChanged(newChannelId) {
272
+ if (this.resolvedMode && this.resolvedMode.mode === 'iframe') {
273
+ if (this.resolvedMode.channelId !== newChannelId) {
274
+ console.log('PostRobot: channel ID changed, clearing cached resolvedMode', {
275
+ old: this.resolvedMode.channelId,
276
+ new: newChannelId,
277
+ });
278
+ this.resolvedMode = undefined;
110
279
  }
111
280
  }
112
281
  }
113
- catch (e) {
114
- // Cross-origin iframe - can't access location
115
- // Continue to try other methods
282
+ /**
283
+ * Resets the remote dev connection state.
284
+ * This clears the resolved mode and window reference, allowing the connection to be re-established.
285
+ * Should be called when connection is lost and user wants to reconnect.
286
+ */
287
+ resetConnection() {
288
+ // Clear resolved mode to force re-resolution on next API call
289
+ this.resolvedMode = undefined;
290
+ // Clear remote dev window if it's closed
291
+ if (this.remoteDevWindow && this.remoteDevWindow.closed) {
292
+ this.remoteDevWindow = null;
293
+ }
116
294
  }
117
- // Try fetching from iframe attributes (only works if we can access parent)
118
- try {
119
- const channelId = tryFetchingFomAttributes(currentWindow);
120
- if (channelId) {
121
- return channelId;
295
+ /**
296
+ * Resets remote dev mode by closing the window and clearing all connection state.
297
+ * This puts the app back into a disconnected startup state.
298
+ * A new channel ID will be generated automatically when the user clicks Connect.
299
+ */
300
+ resetMode() {
301
+ // Close the remote dev window if it's open
302
+ if (this.remoteDevWindow && !this.remoteDevWindow.closed) {
303
+ this.remoteDevWindow.close();
122
304
  }
305
+ // Get the old channel ID before clearing it, so we can clear its cached app mapping
306
+ const oldChannelId = sessionStorage.getItem('octostarRemoteDevChannelId');
307
+ // Clear the old channel ID from sessionStorage
308
+ sessionStorage.removeItem('octostarRemoteDevChannelId');
309
+ // Clear the cached app entity mapping for the old channel ID
310
+ // Note: mappings are stored in localStorage (not sessionStorage) to persist across tab closes
311
+ // Only clear the mapping for this specific channel to avoid invalidating other active remote dev sessions
312
+ if (oldChannelId) {
313
+ const mappingKey = `octostarRemoteDevMapping-${oldChannelId}`;
314
+ localStorage.removeItem(mappingKey);
315
+ }
316
+ // Clear resolved mode to force re-resolution on next API call
317
+ this.resolvedMode = undefined;
318
+ // Clear remote dev window reference
319
+ this.remoteDevWindow = null;
320
+ // Clear connection history
321
+ this.clearConnectionHistory();
322
+ // Don't generate a new channel ID or notify subscribers here
323
+ // A new channel ID will be created when openWindow() is called
123
324
  }
124
- catch (e) {
125
- // Ignore errors
325
+ /**
326
+ * Opens a remote dev window with the given URL.
327
+ * This function:
328
+ * - Validates the URL
329
+ * - Saves it to sessionStorage
330
+ * - Gets or creates a channel ID
331
+ * - Adds remoteDevChannelId as a URL parameter
332
+ * - Opens the window and stores the reference
333
+ * - Returns the window or null if popup was blocked
334
+ */
335
+ openWindow(url) {
336
+ if (!url) {
337
+ return null;
338
+ }
339
+ // Save URL to sessionStorage
340
+ this.setUrl(url);
341
+ // Mark that user is trying to connect (not intentionally disconnected)
342
+ this.markIntentionallyDisconnected(false);
343
+ // Check if channel ID already exists
344
+ const key = 'octostarRemoteDevChannelId';
345
+ const existingChannelId = sessionStorage.getItem(key);
346
+ // Get or create channel ID
347
+ const channelId = this.getOrCreateChannelId();
348
+ // Notify subscribers if this is a new channel ID (created after reset)
349
+ if (!existingChannelId) {
350
+ this.notifyChannelIdChanged(channelId);
351
+ }
352
+ // Add remoteDevChannelId as a URL parameter
353
+ let urlObj;
354
+ try {
355
+ urlObj = new URL(url);
356
+ }
357
+ catch (error) {
358
+ // Invalid URL - return null to indicate failure (consistent with popup blocked behavior)
359
+ return null;
360
+ }
361
+ urlObj.searchParams.set('remoteDevChannelId', channelId);
362
+ // Open window
363
+ const win = window.open(urlObj.toString(), channelId);
364
+ if (!win) {
365
+ return null;
366
+ }
367
+ // Store window reference
368
+ this.setWindow(win);
369
+ return win;
126
370
  }
127
- // Try parent window
128
- try {
129
- return traverseForChannelId(currentWindow.parent, depth + 1);
371
+ /* ------------------------------------------------------------------ */
372
+ /* Public API - API Creation */
373
+ /* ------------------------------------------------------------------ */
374
+ /**
375
+ * Creates a remote API handle for communicating with Octostar.
376
+ * This resolves the connection mode (iframe vs remote dev) and sets up post-robot communication.
377
+ */
378
+ async createRemoteApiHandle(params) {
379
+ // Resolve once, reuse forever
380
+ if (!this.resolvedMode) {
381
+ const iframeChannelId = this.traverseForChannelId();
382
+ if (iframeChannelId) {
383
+ const targetWindow = this.getParentOctostarWindow(iframeChannelId);
384
+ if (!targetWindow) {
385
+ throw new Error('PostRobot: iframe channel found but no Octostar window');
386
+ }
387
+ this.resolvedMode = {
388
+ mode: 'iframe',
389
+ channelId: iframeChannelId,
390
+ targetWindow,
391
+ };
392
+ }
393
+ else {
394
+ const channelId = this.getOrCreateChannelId();
395
+ let targetWindow = this.remoteDevWindow;
396
+ // Check if existing window is closed, and clear it if so
397
+ if (targetWindow?.closed) {
398
+ this.remoteDevWindow = null;
399
+ targetWindow = null;
400
+ }
401
+ if (!targetWindow) {
402
+ // Don't automatically open window - user must click "Connect" or "Reconnect"
403
+ throw new Error('Remote dev window not open. Please click "Connect" or "Reconnect" to open the Octostar window.');
404
+ }
405
+ console.log('PostRobot: No iframe detected → remote dev mode', channelId);
406
+ this.resolvedMode = {
407
+ mode: 'remote',
408
+ channelId,
409
+ targetWindow,
410
+ };
411
+ }
412
+ }
413
+ const { channelId, targetWindow, mode } = this.resolvedMode;
414
+ const topic = getPostMessageNames(channelId).get_api;
415
+ console.debug('PostRobot: sending get_api', topic, params?.name);
416
+ // Use different retry parameters based on connection mode:
417
+ // - iframe mode: fail fast (3 attempts) since parent window should be immediately available
418
+ // - remote mode: retry many times (100 attempts) since Octostar window may take a while to open
419
+ const retryOptions = mode === 'iframe'
420
+ ? {
421
+ maxAttempts: 3,
422
+ retryInterval: 1000,
423
+ }
424
+ : {
425
+ maxAttempts: 100,
426
+ retryInterval: 1000,
427
+ };
428
+ const response = await retry(() => {
429
+ const actualTargetWindow = this.remoteDevWindow ?? targetWindow;
430
+ return postRobot.send(actualTargetWindow, topic, params);
431
+ }, retryOptions);
432
+ const api = this.handlePostResponse(response);
433
+ return this.createObjectProxy(api, { name: params.name });
130
434
  }
131
- catch (e) {
132
- // Cross-origin parent - can't traverse further
133
- console.error('PostRobot: Cannot traverse to parent window (cross-origin)', e);
134
- return undefined;
435
+ }
436
+ /* ------------------------------------------------------------------ */
437
+ /* Singleton Pattern */
438
+ /* ------------------------------------------------------------------ */
439
+ let instance = null;
440
+ /**
441
+ * Gets the singleton instance of OctostarConnectionManager.
442
+ * Creates a new instance if one doesn't exist.
443
+ */
444
+ export function getOctostarConnectionManager() {
445
+ if (!instance) {
446
+ instance = new OctostarConnectionManager();
135
447
  }
448
+ return instance;
136
449
  }
450
+ /* ------------------------------------------------------------------ */
451
+ /* Standalone Functions (used internally) */
452
+ /* ------------------------------------------------------------------ */
453
+ // Listen for SET_CHANNEL_ID messages and update channel ID + clear cached resolvedMode
137
454
  window.addEventListener('message', event => {
138
- if (event.data?.type === 'SET_CHANNEL_ID') {
139
- window.octostarChannelId = event.data.channelId;
140
- console.log('PostRobot: received channelId', event.data.channelId);
455
+ if (event.data?.type === 'SET_CHANNEL_ID' && typeof event.data.channelId === 'string') {
456
+ const newChannelId = event.data.channelId;
457
+ window.octostarChannelId = newChannelId;
458
+ console.log('PostRobot: received channelId', newChannelId);
459
+ // Clear cached resolvedMode if channel ID changed and we're in iframe mode
460
+ // This ensures createRemoteApiHandle re-resolves with the new channel ID
461
+ const manager = getOctostarConnectionManager();
462
+ manager.clearResolvedModeIfChannelChanged(newChannelId);
141
463
  }
142
464
  });
465
+ /**
466
+ * Creates a remote API handle. This is a convenience function that delegates to the manager.
467
+ * @deprecated Use getOctostarConnectionManager().createRemoteApiHandle() instead
468
+ */
143
469
  export const createRemoteApiHandle = async (params) => {
144
- const channelId = traverseForChannelId();
145
- if (!channelId) {
146
- throw new Error('PostRobot: No channelId found');
147
- }
148
- const octostarWindow = getOctostarWindow(channelId);
149
- console.log(`PostRobot: Trying to get handle ${channelId}`);
150
- const topic = getPostMessageNames(channelId).get_api;
151
- try {
152
- const response = await retry(() => postRobot.send(octostarWindow, topic, params), {
153
- maxAttempts: 5,
154
- retryInterval: 2000,
155
- });
156
- console.log(`PostRobot: Got remote api handle for ${params.name} on ${channelId}`);
157
- const api = handlePostResponse(response);
158
- return createObjectProxy(api, {
159
- name: params.name,
160
- });
161
- }
162
- catch (e) {
163
- console.log(`PostRobot: Error while trying to create remote API handle on ${topic}`, e);
164
- throw e;
165
- }
470
+ return getOctostarConnectionManager().createRemoteApiHandle(params);
166
471
  };
472
+ /**
473
+ * Forwards calls to a future object. Used for creating proxies that forward to promises.
474
+ */
167
475
  export const forwardCallsToFutureObject = (chain) => new Proxy({}, {
168
- get: (target, prop) => new Proxy(() => { }, {
169
- apply: (__, _, args) => chain.then((obj) => obj[prop](...args)),
476
+ get: (_, prop) => new Proxy(() => { }, {
477
+ apply: (_, __, args) => chain.then((obj) => obj[prop](...args)),
170
478
  }),
171
479
  });
172
480
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,4 +16,5 @@ export * from './lib/ContextApiRegistry';
16
16
  export * from './lib/SearchQueryBuilder';
17
17
  export * from './lib/browserChannel';
18
18
  export * from './lib/ApiConfig';
19
+ export * from './lib/RemoteDevManager';
19
20
  //# sourceMappingURL=index.d.ts.map