@robbiesrobotics/alice-agents 1.2.6 → 1.2.7

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 (2) hide show
  1. package/lib/installer.mjs +49 -49
  2. package/package.json +1 -1
package/lib/installer.mjs CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  promptCustomModel,
13
13
  promptTier,
14
14
  confirm,
15
+ choose,
15
16
  input,
16
17
  closePrompt,
17
18
  detectUserName,
@@ -99,60 +100,54 @@ async function checkForOpenClawUpdate(auto) {
99
100
  }
100
101
  }
101
102
 
102
- async function installOpenClaw(auto) {
103
- console.log(' ⚠️ OpenClaw is not installed.\n');
103
+ async function installRuntime(auto) {
104
+ console.log(' ⚠️ No agent runtime detected.\n');
105
+ console.log(' A.L.I.C.E. requires a compatible runtime. We recommend NemoClaw —');
106
+ console.log(" NVIDIA's secure, open-source distribution that includes OpenClaw");
107
+ console.log(' plus enterprise-grade security (OpenShell sandbox, local AI models).\n');
104
108
 
105
- if (!auto) {
106
- const shouldInstall = await confirm(' Would you like to install OpenClaw now?');
107
- if (!shouldInstall) {
108
- console.log('\n Install OpenClaw manually:');
109
- console.log(' npm install -g openclaw');
110
- console.log(' openclaw configure');
111
- console.log(`\n Then re-run: npx @robbiesrobotics/alice-agents\n`);
112
- process.exit(0);
109
+ let choice;
110
+ if (auto) {
111
+ choice = 'nemoclaw';
112
+ } else {
113
+ choice = await choose(' Which would you like to install?', [
114
+ { label: 'NemoClaw (Recommended)', value: 'nemoclaw' },
115
+ { label: 'OpenClaw only', value: 'openclaw' },
116
+ ]);
117
+ }
118
+
119
+ if (choice === 'nemoclaw') {
120
+ console.log(' 📦 Installing NemoClaw...\n');
121
+ try {
122
+ execSync('curl -fsSL https://nvidia.com/nemoclaw.sh | bash', { stdio: 'inherit' });
123
+ console.log('\n ✔ NemoClaw installed — agents will run in OpenShell sandbox\n');
124
+ } catch (err) {
125
+ console.error('\n ❌ Failed to install NemoClaw. Try manually:');
126
+ console.error(' curl -fsSL https://nvidia.com/nemoclaw.sh | bash\n');
127
+ process.exit(1);
128
+ }
129
+ } else {
130
+ console.log(' 📦 Installing OpenClaw...\n');
131
+ try {
132
+ execSync('npm install -g openclaw', { stdio: 'inherit' });
133
+ console.log('\n ✔ OpenClaw installed\n');
134
+ } catch (err) {
135
+ console.error('\n ❌ Failed to install OpenClaw. Try manually:');
136
+ console.error(' npm install -g openclaw\n');
137
+ process.exit(1);
113
138
  }
114
139
  }
115
140
 
116
- console.log(' 📦 Installing OpenClaw...\n');
141
+ // Run openclaw configure
117
142
  try {
118
- execSync('npm install -g openclaw', { stdio: 'inherit' });
119
- console.log('\n ✓ OpenClaw installed\n');
120
- } catch (err) {
121
- console.error('\n Failed to install OpenClaw. Try manually:');
122
- console.error(' npm install -g openclaw\n');
143
+ execSync('openclaw configure', { stdio: 'inherit' });
144
+ console.log('\n ✓ OpenClaw configured\n');
145
+ } catch {
146
+ console.error('\n ⚠️ Configuration incomplete. Run manually:');
147
+ console.error(' openclaw configure');
148
+ console.error(` Then: npx @robbiesrobotics/alice-agents\n`);
123
149
  process.exit(1);
124
150
  }
125
-
126
- // Check if openclaw needs configuration
127
- if (!configExists()) {
128
- console.log(' OpenClaw needs initial configuration before A.L.I.C.E. can be set up.');
129
- console.log(' This will set up your API keys, channels, and preferences.\n');
130
-
131
- if (!auto) {
132
- const shouldConfigure = await confirm(' Run openclaw configure now?');
133
- if (shouldConfigure) {
134
- try {
135
- execSync('openclaw configure', { stdio: 'inherit' });
136
- console.log('\n ✓ OpenClaw configured\n');
137
- } catch {
138
- console.error('\n ⚠️ Configuration incomplete. Run manually:');
139
- console.error(' openclaw configure');
140
- console.error(` npx @robbiesrobotics/alice-agents\n`);
141
- process.exit(1);
142
- }
143
- } else {
144
- console.log('\n Run these commands when ready:');
145
- console.log(' openclaw configure');
146
- console.log(` npx @robbiesrobotics/alice-agents\n`);
147
- process.exit(0);
148
- }
149
- } else {
150
- console.error(' ❌ OpenClaw is installed but not configured.');
151
- console.error(' Run: openclaw configure');
152
- console.error(` Then: npx @robbiesrobotics/alice-agents\n`);
153
- process.exit(1);
154
- }
155
- }
156
151
  }
157
152
 
158
153
  const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -214,7 +209,7 @@ export async function runInstall(options = {}) {
214
209
 
215
210
  // 1. Detect OpenClaw — offer to install if missing
216
211
  if (!isOpenClawInstalled() || !configExists()) {
217
- await installOpenClaw(auto);
212
+ await installRuntime(auto);
218
213
  }
219
214
 
220
215
  // Final check
@@ -228,9 +223,10 @@ export async function runInstall(options = {}) {
228
223
 
229
224
  const runtime = await detectRuntime();
230
225
  if (runtime === 'nemoclaw') {
231
- console.log(' ✔ NemoClaw detected — agents will run inside OpenShell sandbox\n');
226
+ console.log(' ✔ NemoClaw detected — agents will run in OpenShell sandbox (secure mode)\n');
232
227
  } else {
233
228
  console.log(' ✔ OpenClaw detected\n');
229
+ console.log(' 💡 Tip: Upgrade to NemoClaw for enterprise security: https://nvidia.com/nemoclaw\n');
234
230
  }
235
231
 
236
232
  const allAgents = loadAgentRegistry();
@@ -362,6 +358,10 @@ export async function runInstall(options = {}) {
362
358
  console.log(' ✓ Manifest written');
363
359
 
364
360
  console.log(`\n 🎉 A.L.I.C.E. installed! ${agentCount} agents ready.`);
361
+ const finalRuntime = await detectRuntime();
362
+ if (finalRuntime === 'nemoclaw') {
363
+ console.log(' 🔒 Running in secure mode — OpenShell sandbox active\n');
364
+ }
365
365
  console.log(' Restart OpenClaw to activate: openclaw gateway restart\n');
366
366
  }
367
367
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbiesrobotics/alice-agents",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "A.L.I.C.E. — 28 AI agents for OpenClaw. One conversation, one team.",
5
5
  "bin": {
6
6
  "alice-agents": "bin/alice-install.mjs"