erne-universal 0.13.5 → 0.13.6

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/README.md CHANGED
@@ -223,6 +223,8 @@ Each agent has a distinct personality, quantified success metrics, and memory in
223
223
 
224
224
  ERNE includes a built-in context intelligence system (auto-enabled with dashboard) that compresses tool outputs by **97-100%**, indexes content with FTS5 search, and manages your context budget. See [BENCHMARK.md](BENCHMARK.md) for the full 21-scenario breakdown.
225
225
 
226
+ > **Pairs well with [context-mem](https://github.com/JubaKitiashvili/context-mem)** — ERNE gives your AI deep React Native knowledge, context-mem gives it persistent memory across sessions. Together: an AI assistant that knows RN best practices AND remembers your project patterns. `npm i context-mem && npx context-mem init`
227
+
226
228
  ---
227
229
 
228
230
  ## 💰 Token Efficiency
@@ -64,6 +64,8 @@ const {
64
64
  unregisterPort,
65
65
  findFreePort,
66
66
  getRegisteredPort,
67
+ PORT_RANGE_START,
68
+ PORT_RANGE_END,
67
69
  } = require('../scripts/hooks/lib/port-registry');
68
70
 
69
71
  // Port resolution: --port flag > ERNE_DASHBOARD_PORT env > registry > find free port
@@ -1383,7 +1385,7 @@ async function resolvePort() {
1383
1385
  try {
1384
1386
  return await findFreePort();
1385
1387
  } catch {
1386
- return 3333; // ultimate fallback
1388
+ return parseInt(process.env.ERNE_DASHBOARD_PORT, 10) || 3333; // ultimate fallback
1387
1389
  }
1388
1390
  }
1389
1391
 
@@ -1460,11 +1462,11 @@ resolvePort().then((resolvedPort) => {
1460
1462
  findFreePort().then((nextPort) => {
1461
1463
  startServer(nextPort);
1462
1464
  }).catch(() => {
1463
- console.error(`Error: No free ports available in range 3333-3399.`);
1465
+ console.error(`Error: No free ports available in range ${PORT_RANGE_START}-${PORT_RANGE_END}.`);
1464
1466
  process.exit(1);
1465
1467
  });
1466
1468
  } else if (err.code === 'EADDRINUSE') {
1467
- console.error(`Error: All ports in range 3333-3399 are in use.`);
1469
+ console.error(`Error: All ports in range ${PORT_RANGE_START}-${PORT_RANGE_END} are in use.`);
1468
1470
  process.exit(1);
1469
1471
  } else {
1470
1472
  console.error(`Server error: ${err.message}`);
package/lib/dashboard.js CHANGED
@@ -21,7 +21,7 @@ const SERVER_PATH = path.resolve(__dirname, '..', 'dashboard', 'server.js');
21
21
 
22
22
  function parseArgs(argv) {
23
23
  const args = argv.slice(3);
24
- let port = 3333;
24
+ let port = parseInt(process.env.ERNE_DASHBOARD_PORT, 10) || 3333;
25
25
  let open = true;
26
26
  let context = process.env.ERNE_CONTEXT === 'true';
27
27
 
package/lib/start.js CHANGED
@@ -7,7 +7,7 @@ const { fork, execSync } = require('child_process');
7
7
  const path = require('path');
8
8
 
9
9
  const SERVER_PATH = path.resolve(__dirname, '..', 'dashboard', 'server.js');
10
- const DEFAULT_PORT = 3333;
10
+ const DEFAULT_PORT = parseInt(process.env.ERNE_DASHBOARD_PORT, 10) || 3333;
11
11
 
12
12
  function checkPort(port) {
13
13
  return new Promise((resolve, reject) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erne-universal",
3
- "version": "0.13.5",
3
+ "version": "0.13.6",
4
4
  "description": "Complete AI coding agent harness for React Native and Expo \u2014 13 specialized agents, autonomous worker mode, visual debugging, smart routing",
5
5
  "keywords": [
6
6
  "react-native",
@@ -103,7 +103,7 @@ let dashboardUrl = '';
103
103
 
104
104
  if (hasSettings) {
105
105
  try {
106
- const { getRegisteredPort } = require('./lib/port-registry');
106
+ const { getRegisteredPort, resolveDashboardPort } = require('./lib/port-registry');
107
107
  const existingPort = getRegisteredPort(projectDir);
108
108
  if (existingPort) {
109
109
  dashboardUrl = `http://localhost:${existingPort}`;
@@ -118,7 +118,8 @@ if (hasSettings) {
118
118
  env: { ...process.env, ERNE_PROJECT_DIR: projectDir },
119
119
  });
120
120
  child.unref();
121
- dashboardUrl = 'http://localhost:3333 (starting...)';
121
+ const startPort = resolveDashboardPort(projectDir);
122
+ dashboardUrl = `http://localhost:${startPort} (starting...)`;
122
123
  } catch {
123
124
  /* auto-start failed — skip */
124
125
  }