sam-coder-cli 1.0.40 → 1.0.42

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/bin/agi-cli.js CHANGED
@@ -3,6 +3,8 @@
3
3
  const ui = require('./ui.js');
4
4
  const readline = require('readline');
5
5
  const path = require('path');
6
+ // Import MultiplayerMode at the top level to avoid reference errors
7
+ let MultiplayerMode;
6
8
  const os = require('os');
7
9
  const fs = require('fs').promises;
8
10
  const { exec } = require('child_process');
@@ -782,15 +784,24 @@ async function start() {
782
784
 
783
785
  ui.showHeader();
784
786
 
785
- // Check for multiplayer mode flag
787
+ // Multiplayer mode via CLI flag
786
788
  if (process.argv.includes('--multiplayer')) {
787
- const multiplayerMode = new MultiplayerMode({
788
- rl,
789
- model: MODEL,
790
- serverUrl: process.env.MP_SERVER_URL || 'ws://localhost:8080'
791
- });
792
- await multiplayerMode.start();
793
- return;
789
+ // Lazy load MultiplayerMode to avoid circular dependencies
790
+ if (!MultiplayerMode) {
791
+ MultiplayerMode = require('./multiplayer-mode');
792
+ }
793
+ try {
794
+ const multiplayerMode = new MultiplayerMode({
795
+ rl,
796
+ model: MODEL,
797
+ serverUrl: process.env.MP_SERVER_URL || 'ws://localhost:8080'
798
+ });
799
+ await multiplayerMode.start();
800
+ return;
801
+ } catch (error) {
802
+ console.error('Failed to start multiplayer mode:', error);
803
+ process.exit(1);
804
+ }
794
805
  }
795
806
 
796
807
  // Standard single-agent mode
@@ -801,7 +812,10 @@ async function start() {
801
812
 
802
813
  const mode = await askForMode(rl, true);
803
814
  if (mode === 'multiplayer') {
804
- const MultiplayerMode = require('./multiplayer-mode');
815
+ // Lazy load MultiplayerMode to avoid circular dependencies
816
+ if (!MultiplayerMode) {
817
+ MultiplayerMode = require('./multiplayer-mode');
818
+ }
805
819
  try {
806
820
  const multiplayerMode = new MultiplayerMode({
807
821
  rl,
package/bin/ai-team.js CHANGED
@@ -5,6 +5,9 @@ const readline = require('readline');
5
5
  const chalk = require('chalk');
6
6
  const { v4: uuidv4 } = require('uuid');
7
7
 
8
+ // Flag to track if MultiplayerClient is being required to prevent infinite loops
9
+ let isRequiringMultiplayerClient = false;
10
+
8
11
  // Lazy load dependencies to avoid circular dependencies
9
12
  function getCallOpenRouter() {
10
13
  if (!callOpenRouter) {
@@ -14,8 +17,17 @@ function getCallOpenRouter() {
14
17
  }
15
18
 
16
19
  function getMultiplayerClient() {
20
+ if (!MultiplayerClient && !isRequiringMultiplayerClient) {
21
+ try {
22
+ isRequiringMultiplayerClient = true;
23
+ const mc = require('./multiplayer-client');
24
+ MultiplayerClient = mc.MultiplayerClient;
25
+ } finally {
26
+ isRequiringMultiplayerClient = false;
27
+ }
28
+ }
17
29
  if (!MultiplayerClient) {
18
- MultiplayerClient = require('./multiplayer-client').MultiplayerClient;
30
+ throw new Error('Failed to load MultiplayerClient');
19
31
  }
20
32
  return MultiplayerClient;
21
33
  }
@@ -891,7 +891,6 @@ class MultiplayerClient extends EventEmitter {
891
891
  }
892
892
  }
893
893
 
894
- module.exports = {
895
- MultiplayerClient,
896
- MultiplayerServer
897
- };
894
+ // Export MultiplayerClient and MultiplayerServer as direct properties of module.exports
895
+ module.exports.MultiplayerClient = MultiplayerClient;
896
+ module.exports.MultiplayerServer = MultiplayerServer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sam-coder-cli",
3
- "version": "1.0.40",
3
+ "version": "1.0.42",
4
4
  "description": "SAM-CODER: An animated command-line AI assistant with agency capabilities.",
5
5
  "main": "bin/agi-cli.js",
6
6
  "bin": {