orquesta-agent 0.2.33 → 0.2.36

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/supabase.js CHANGED
@@ -1,21 +1,11 @@
1
- import { createClient } from '@supabase/supabase-js';
2
1
  import * as os from 'os';
3
- import WebSocket from 'ws';
4
2
  import * as logger from './logger.js';
5
- // Polyfill WebSocket for Node.js (required for Supabase Realtime)
6
- // Node.js doesn't have a native WebSocket global, so we use the 'ws' package
7
- if (typeof globalThis.WebSocket === 'undefined') {
8
- // @ts-expect-error - ws is compatible with the WebSocket API
9
- globalThis.WebSocket = WebSocket;
10
- }
3
+ import { createWsChannel } from './ws-client.js';
11
4
  const ORQUESTA_API = process.env.ORQUESTA_API_URL || 'https://orquesta.live';
12
5
  let VERSION = '0.0.0';
13
6
  export function setAgentVersion(version) {
14
7
  VERSION = version;
15
8
  }
16
- // Store connection params for client recreation during hard reset
17
- let storedSupabaseUrl = null;
18
- let storedSupabaseKey = null;
19
9
  // Store token for API calls
20
10
  let agentToken = null;
21
11
  export function setAgentToken(token) {
@@ -84,8 +74,6 @@ let permissionModeUpdater = null;
84
74
  export function setPermissionModeUpdater(updater) {
85
75
  permissionModeUpdater = updater;
86
76
  }
87
- // Channel ping interval handle (to keep WebSocket alive)
88
- let channelPingInterval = null;
89
77
  // Track channel connection state - heartbeat should only report online when channel is connected
90
78
  let isChannelConnected = false;
91
79
  export function setChannelConnected(connected) {
@@ -165,95 +153,6 @@ export function stopHeartbeat() {
165
153
  heartbeatInterval = null;
166
154
  }
167
155
  }
168
- /**
169
- * Start sending periodic pings on the Supabase Realtime channel to keep WebSocket alive
170
- * This prevents the connection from being dropped due to inactivity
171
- * Supabase/network may drop idle WebSocket connections after extended inactivity
172
- */
173
- export function startChannelPing(channel) {
174
- // Stop any existing ping interval
175
- stopChannelPing();
176
- // Send ping every 2 minutes (120 seconds) - more aggressive to prevent disconnects
177
- // Reduced from 5 minutes because some networks/firewalls have shorter idle timeouts
178
- const PING_INTERVAL = 2 * 60 * 1000;
179
- let pingCount = 0;
180
- channelPingInterval = setInterval(async () => {
181
- if (!isChannelConnected) {
182
- logger.debug('Channel ping skipped - not connected');
183
- return;
184
- }
185
- pingCount++;
186
- try {
187
- const result = await channel.send({
188
- type: 'broadcast',
189
- event: 'agent_ping',
190
- payload: {
191
- timestamp: Date.now(),
192
- type: 'keepalive',
193
- pingNumber: pingCount,
194
- },
195
- });
196
- if (result === 'ok') {
197
- // Log every 5th ping to avoid log spam, but always log first few
198
- if (pingCount <= 3 || pingCount % 5 === 0) {
199
- logger.info(`Channel keepalive ping #${pingCount} sent successfully`);
200
- }
201
- else {
202
- logger.debug(`Channel ping #${pingCount} sent successfully`);
203
- }
204
- }
205
- else {
206
- logger.warn(`Channel ping #${pingCount} failed: ${result}`);
207
- }
208
- }
209
- catch (err) {
210
- logger.warn(`Channel ping #${pingCount} error: ${err}`);
211
- }
212
- }, PING_INTERVAL);
213
- logger.info(`Channel keepalive ping started (interval: ${PING_INTERVAL / 1000}s)`);
214
- }
215
- /**
216
- * Stop the channel ping
217
- */
218
- export function stopChannelPing() {
219
- if (channelPingInterval) {
220
- clearInterval(channelPingInterval);
221
- channelPingInterval = null;
222
- logger.debug('Channel ping stopped');
223
- }
224
- }
225
- /**
226
- * Create a fresh Supabase client using the stored credentials.
227
- * Used when the main channel may be stale (e.g. after a reconnect).
228
- */
229
- export function createFreshSupabaseClient() {
230
- if (!storedSupabaseUrl || !storedSupabaseKey)
231
- return null;
232
- return createClient(storedSupabaseUrl, storedSupabaseKey, {
233
- realtime: { params: { eventsPerSecond: 10 } },
234
- });
235
- }
236
- export function createSupabaseClient(url, key) {
237
- logger.debug(`Creating Supabase client with URL: ${url}`);
238
- logger.debug(`Anon key starts with: ${key?.substring(0, 20)}...`);
239
- logger.debug(`Anon key length: ${key?.length}`);
240
- // Store for potential client recreation during hard reset
241
- storedSupabaseUrl = url;
242
- storedSupabaseKey = key;
243
- // Log the realtime URL for debugging
244
- const realtimeUrl = url.replace('https://', 'wss://').replace('http://', 'ws://') + '/realtime/v1';
245
- logger.debug(`Realtime WebSocket URL: ${realtimeUrl}`);
246
- return createClient(url, key, {
247
- realtime: {
248
- params: {
249
- eventsPerSecond: 50, // Increased for better streaming
250
- },
251
- timeout: 30000, // Increase timeout to 30 seconds
252
- heartbeatIntervalMs: 15000, // Send WebSocket heartbeat every 15 seconds (default is 30)
253
- log_level: 'info', // Enable info logging for Realtime (valid: info|warn|error)
254
- },
255
- });
256
- }
257
156
  const outputBuffers = new Map();
258
157
  const FLUSH_INTERVAL = 100; // Flush every 100ms
259
158
  const MAX_CHUNK_SIZE = 4000; // Max characters per message
@@ -363,121 +262,25 @@ async function sendOutputDirect(channel, commandId, type, data, seqStart, seqEnd
363
262
  }
364
263
  }
365
264
  }
366
- // Helper function to set up all channel listeners (to avoid duplication)
367
- function setupChannelListeners(channel, callbacks) {
368
- const { onExecute, onCancel, onSupervisionResponse, onEvaluate, onGeneratePlanItems, onDisconnect, onReloadCredentials, onUpdateAgent, onSessionStart, onSessionInput, onSessionEnd, onSessionForceEnd, onSessionResize, onSessionStatus, } = callbacks;
369
- channel.on('broadcast', { event: 'execute' }, ({ payload }) => {
370
- logger.info('>>> Received EXECUTE command via broadcast');
371
- logger.debug('Payload:', payload);
372
- onExecute(payload);
373
- });
374
- channel.on('broadcast', { event: 'cancel' }, ({ payload }) => {
375
- logger.info('>>> Received CANCEL command via broadcast');
376
- logger.debug('Payload:', payload);
377
- onCancel(payload);
378
- });
379
- if (onDisconnect) {
380
- channel.on('broadcast', { event: 'disconnect' }, ({ payload }) => {
381
- logger.warn('Received disconnect signal from dashboard:', payload?.message || 'No message');
382
- onDisconnect(payload);
383
- });
384
- }
385
- if (onSupervisionResponse) {
386
- channel.on('broadcast', { event: 'supervision_response' }, ({ payload }) => {
387
- logger.debug('Received supervision response:', payload);
388
- onSupervisionResponse(payload);
389
- });
390
- }
391
- if (onEvaluate) {
392
- channel.on('broadcast', { event: 'evaluate' }, ({ payload }) => {
393
- logger.info('>>> Received EVALUATE command via broadcast');
394
- logger.debug('Payload:', payload);
395
- onEvaluate(payload);
396
- });
397
- }
398
- if (onGeneratePlanItems) {
399
- channel.on('broadcast', { event: 'generate_plan_items' }, ({ payload }) => {
400
- logger.debug('Received generate_plan_items command:', payload);
401
- onGeneratePlanItems(payload);
402
- });
403
- }
404
- if (onReloadCredentials) {
405
- channel.on('broadcast', { event: 'reload_credentials' }, () => {
406
- logger.info('Received reload_credentials command from dashboard');
407
- onReloadCredentials();
408
- });
409
- }
410
- if (onUpdateAgent) {
411
- channel.on('broadcast', { event: 'update_agent' }, ({ payload }) => {
412
- logger.info('>>> Received UPDATE_AGENT command from dashboard');
413
- logger.debug('Payload:', payload);
414
- onUpdateAgent(payload || {});
415
- });
416
- }
417
- if (onSessionStart) {
418
- channel.on('broadcast', { event: 'session:start' }, ({ payload }) => {
419
- logger.info('Received session:start command:', payload);
420
- onSessionStart(payload);
421
- });
422
- }
423
- if (onSessionInput) {
424
- channel.on('broadcast', { event: 'session:input' }, ({ payload }) => {
425
- logger.debug('Received session:input');
426
- onSessionInput(payload);
427
- });
428
- }
429
- if (onSessionEnd) {
430
- channel.on('broadcast', { event: 'session:end' }, ({ payload }) => {
431
- logger.info('Received session:end command:', payload);
432
- onSessionEnd(payload);
433
- });
434
- }
435
- if (onSessionForceEnd) {
436
- channel.on('broadcast', { event: 'session:force_end' }, ({ payload }) => {
437
- logger.warn('Received session:force_end command:', payload);
438
- onSessionForceEnd(payload);
439
- });
440
- }
441
- if (onSessionResize) {
442
- channel.on('broadcast', { event: 'session:resize' }, ({ payload }) => {
443
- logger.debug(`Received session:resize: ${payload?.cols}x${payload?.rows}`);
444
- onSessionResize(payload);
445
- });
446
- }
447
- if (onSessionStatus) {
448
- channel.on('broadcast', { event: 'session:status_request' }, () => {
449
- logger.info('Received session:status_request — responding with current state');
450
- const status = onSessionStatus();
451
- channel.send({
452
- type: 'broadcast',
453
- event: 'session:status_response',
454
- payload: { ...status, timestamp: Date.now() },
455
- }).catch((err) => logger.error(`Failed to send session:status_response: ${err}`));
456
- });
457
- }
458
- }
459
- export function subscribeToChannel(supabase, channelName, onExecute, onCancel, onSupervisionResponse, onEvaluate, onGeneratePlanItems, onDisconnect, onReloadCredentials,
265
+ /**
266
+ * Subscribe to a project channel using Socket.io WebSocket transport.
267
+ * Replaces the previous Supabase Realtime implementation.
268
+ * Socket.io handles reconnection automatically no manual state machine needed.
269
+ */
270
+ export function subscribeToChannel(agentToken, channelName, onExecute, onCancel, onSupervisionResponse, onEvaluate, onGeneratePlanItems, onDisconnect, onReloadCredentials,
460
271
  // Interactive session callbacks
461
272
  onSessionStart, onSessionInput, onSessionEnd, onSessionForceEnd, onSessionResize, onSessionStatus,
462
273
  // Update agent callback
463
274
  onUpdateAgent,
464
275
  // Connection status callback
465
276
  onConnected,
466
- // Called when channel is recreated during reconnection so callers can update their reference
277
+ // Called when channel is reconnected so callers can update their reference
467
278
  onChannelReconnect) {
468
279
  const agentInfo = getAgentInfo();
469
280
  logger.info(`Subscribing to channel: ${channelName}`);
470
281
  logger.debug(`Registering listeners for: execute, cancel, evaluate, supervision_response, etc.`);
471
282
  logger.debug(`Agent hostname for presence: ${agentInfo.hostname}`);
472
- const channel = supabase.channel(channelName, {
473
- config: {
474
- broadcast: { self: true, ack: true },
475
- presence: { key: agentInfo.hostname },
476
- },
477
- });
478
- logger.debug('Channel created, setting up event listeners...');
479
- // Set up all channel listeners using helper function
480
- const callbacks = {
283
+ const { channel, socket } = createWsChannel(agentToken, channelName, {
481
284
  onExecute,
482
285
  onCancel,
483
286
  onSupervisionResponse,
@@ -492,192 +295,36 @@ onChannelReconnect) {
492
295
  onSessionForceEnd,
493
296
  onSessionResize,
494
297
  onSessionStatus,
495
- };
496
- setupChannelListeners(channel, callbacks);
497
- // Track reconnection attempts
498
- let reconnectAttempts = 0;
499
- let consecutiveFailures = 0;
500
- const maxReconnectDelay = 30000; // Max 30 seconds between attempts
501
- const hardResetThreshold = 5; // After 5 consecutive failures, try hard reset (kept for backward compatibility)
502
- const fullResetThreshold = 3; // After 3 failures, recreate entire Supabase client (full reset always works)
503
- const exitThreshold = 20; // After 20 failures, exit and let systemd restart (increased from 15)
504
- let isReconnecting = false;
505
- let currentChannel = channel;
506
- let currentSupabase = supabase;
507
- const fullClientReset = async () => {
508
- logger.warn('Performing FULL client reset - recreating Supabase client...');
509
- if (!storedSupabaseUrl || !storedSupabaseKey) {
510
- logger.error('Cannot recreate client - connection params not stored');
511
- return false;
512
- }
513
- try {
514
- // Try to clean up the old channel and client
515
- try {
516
- stopChannelPing();
517
- await currentSupabase.removeChannel(currentChannel);
518
- await currentSupabase.realtime.disconnect();
519
- }
520
- catch {
521
- // Ignore cleanup errors
522
- }
523
- // Small delay to let things settle
524
- await new Promise(resolve => setTimeout(resolve, 1000));
525
- // Create a completely NEW Supabase client
526
- logger.info('Creating new Supabase client...');
527
- currentSupabase = createClient(storedSupabaseUrl, storedSupabaseKey, {
528
- realtime: {
529
- params: {
530
- eventsPerSecond: 50,
531
- },
532
- timeout: 30000,
533
- heartbeatIntervalMs: 15000,
534
- log_level: 'info',
535
- },
536
- });
537
- // Create a new channel on the new client
538
- const newChannel = currentSupabase.channel(channelName, {
539
- config: {
540
- broadcast: { self: true, ack: true },
541
- presence: { key: agentInfo.hostname },
542
- },
543
- });
544
- // Re-register all event listeners on the new channel (use callbacks object for completeness)
545
- setupChannelListeners(newChannel, callbacks);
546
- // Subscribe the new channel with status handling
547
- newChannel.subscribe(async (status, err) => {
548
- handleChannelStatus(status, err, newChannel);
549
- });
550
- currentChannel = newChannel;
551
- if (onChannelReconnect)
552
- onChannelReconnect(newChannel);
553
- logger.info('Full client reset complete - new client and channel created');
554
- return true;
555
- }
556
- catch (err) {
557
- logger.error(`Full client reset failed: ${err}`);
558
- return false;
559
- }
560
- };
561
- const hardReset = async () => {
562
- logger.warn('Performing hard reset - creating new channel...');
563
- try {
564
- // Try to clean up the old channel
565
- try {
566
- await currentSupabase.removeChannel(currentChannel);
567
- }
568
- catch {
569
- // Ignore removal errors
570
- }
571
- // Create a completely new channel on the same client
572
- const newChannel = currentSupabase.channel(channelName, {
573
- config: {
574
- broadcast: { self: true, ack: true },
575
- presence: { key: agentInfo.hostname },
576
- },
577
- });
578
- // Re-register all event listeners using helper
579
- setupChannelListeners(newChannel, callbacks);
580
- // Subscribe the new channel with status handling
581
- newChannel.subscribe(async (status, err) => {
582
- handleChannelStatus(status, err, newChannel);
583
- });
584
- currentChannel = newChannel;
585
- if (onChannelReconnect)
586
- onChannelReconnect(newChannel);
587
- logger.info('Hard reset complete - new channel created');
588
- }
589
- catch (err) {
590
- logger.error(`Hard reset failed: ${err}`);
591
- }
592
- };
593
- const reconnect = async () => {
594
- if (isReconnecting)
595
- return;
596
- isReconnecting = true;
597
- reconnectAttempts++;
598
- consecutiveFailures++;
599
- // Check if we should exit and let systemd restart
600
- if (consecutiveFailures >= exitThreshold) {
601
- logger.error(`Too many consecutive failures (${consecutiveFailures}). Exiting for systemd restart...`);
602
- process.exit(1);
603
- }
604
- // Check if we should do a FULL client reset (recreate Supabase client entirely)
605
- if (consecutiveFailures >= fullResetThreshold && consecutiveFailures % fullResetThreshold === 0) {
606
- logger.warn(`${consecutiveFailures} consecutive failures - attempting FULL client reset...`);
607
- await fullClientReset();
608
- isReconnecting = false;
609
- return;
610
- }
611
- // Check if we should do a hard reset (just new channel)
612
- if (consecutiveFailures >= hardResetThreshold && consecutiveFailures % hardResetThreshold === 0) {
613
- logger.warn(`${consecutiveFailures} consecutive failures - attempting hard reset...`);
614
- await hardReset();
615
- isReconnecting = false;
616
- return;
617
- }
618
- const delay = Math.min(1000 * Math.pow(2, Math.min(reconnectAttempts - 1, 5)), maxReconnectDelay);
619
- logger.info(`Reconnecting in ${delay / 1000}s (attempt ${reconnectAttempts}, consecutive failures: ${consecutiveFailures})...`);
620
- await new Promise(resolve => setTimeout(resolve, delay));
621
- try {
622
- // Try to unsubscribe first
623
- await currentChannel.unsubscribe();
624
- }
625
- catch {
626
- // Ignore unsubscribe errors
627
- }
628
- // Re-subscribe
629
- logger.info('Re-subscribing to channel...');
630
- currentChannel.subscribe();
631
- isReconnecting = false;
632
- };
633
- const handleChannelStatus = async (status, err, ch) => {
634
- const errorDetails = err ? ` (error: ${err.message}, code: ${err.code || 'unknown'})` : '';
635
- logger.info(`Channel status: ${status}${errorDetails}`);
636
- if (status === 'SUBSCRIBED') {
637
- reconnectAttempts = 0; // Reset on successful connection
638
- consecutiveFailures = 0; // Reset consecutive failures
298
+ onConnected: () => {
639
299
  setChannelConnected(true);
640
- // Call onConnected callback if provided (for spinner/progress UI)
300
+ // Track presence
301
+ channel.track({
302
+ agentId: `${agentInfo.hostname}-${Date.now()}`,
303
+ ...agentInfo,
304
+ connectedAt: new Date().toISOString(),
305
+ });
641
306
  if (onConnected) {
642
307
  onConnected();
643
308
  }
644
309
  else {
645
310
  logger.success('Connected to Orquesta');
646
311
  }
647
- startChannelPing(ch);
648
- await ch.track({
312
+ },
313
+ onChannelReconnect: (ch) => {
314
+ // Channel object is stable in Socket.io — this fires on reconnect
315
+ setChannelConnected(true);
316
+ channel.track({
649
317
  agentId: `${agentInfo.hostname}-${Date.now()}`,
650
318
  ...agentInfo,
651
319
  connectedAt: new Date().toISOString(),
652
320
  });
653
- }
654
- else if (status === 'CHANNEL_ERROR') {
655
- setChannelConnected(false);
656
- stopChannelPing();
657
- logger.error('Channel error - will reconnect...');
658
- reconnect();
659
- }
660
- else if (status === 'TIMED_OUT') {
661
- setChannelConnected(false);
662
- stopChannelPing();
663
- logger.warn('Connection timed out - performing immediate FULL client reset...');
664
- consecutiveFailures++; // Increment for exit threshold tracking
665
- // TIMED_OUT always indicates a dead connection - full reset immediately
666
- await fullClientReset();
667
- }
668
- else if (status === 'CLOSED') {
669
- setChannelConnected(false);
670
- stopChannelPing();
671
- logger.warn('Channel closed - will reconnect...');
672
- reconnect();
673
- }
674
- };
675
- // Subscribe and track presence
676
- logger.info('Starting channel subscription...');
677
- logger.debug(`Channel config: broadcast.self=${true}, broadcast.ack=${true}`);
678
- logger.debug(`Presence key: ${agentInfo.hostname}`);
679
- channel.subscribe(async (status, err) => {
680
- handleChannelStatus(status, err, channel);
321
+ if (onChannelReconnect)
322
+ onChannelReconnect(ch);
323
+ },
324
+ });
325
+ // Track disconnect state from Socket.io
326
+ socket.on('disconnect', () => {
327
+ setChannelConnected(false);
681
328
  });
682
329
  return channel;
683
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../src/supabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../src/supabase.ts"],"names":[],"mappings":"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"}