v16.ai 0.1.0
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 +101 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +412 -0
- package/dist/index.js.map +1 -0
- package/package.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# V16 - General AI Agent
|
|
2
|
+
|
|
3
|
+
> AI that actually does things
|
|
4
|
+
|
|
5
|
+
V16 connects your local machine to a powerful AI agent that can run code, execute commands, automate browsers, and get real work done.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
curl -fsSL https://v16.ai/install | sh
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or via npm:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g v16
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
1. **Sign up** at [v16.ai](https://v16.ai)
|
|
22
|
+
|
|
23
|
+
2. **Get your token** from [v16.ai/dashboard](https://v16.ai/dashboard)
|
|
24
|
+
|
|
25
|
+
3. **Connect your machine:**
|
|
26
|
+
```bash
|
|
27
|
+
v16 connect --token YOUR_TOKEN
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
4. **Start using V16** - Go to [v16.ai](https://v16.ai) and tell the agent what to do
|
|
31
|
+
|
|
32
|
+
## What V16 Can Do
|
|
33
|
+
|
|
34
|
+
Once connected, the V16 agent can:
|
|
35
|
+
|
|
36
|
+
### Execute Code
|
|
37
|
+
- Run shell commands and scripts
|
|
38
|
+
- Install packages and dependencies
|
|
39
|
+
- Build and deploy projects
|
|
40
|
+
- Execute Python, Node.js, and more
|
|
41
|
+
|
|
42
|
+
### Manage Files
|
|
43
|
+
- Read and write files
|
|
44
|
+
- Create and organize directories
|
|
45
|
+
- Search and modify content
|
|
46
|
+
- Handle any file format
|
|
47
|
+
|
|
48
|
+
### Automate Browsers
|
|
49
|
+
- Open websites and navigate
|
|
50
|
+
- Fill forms and click buttons
|
|
51
|
+
- Take screenshots
|
|
52
|
+
- Scrape data
|
|
53
|
+
- Run JavaScript
|
|
54
|
+
|
|
55
|
+
### Real-World Tasks
|
|
56
|
+
- "Build me a REST API"
|
|
57
|
+
- "Analyze this CSV and generate a report"
|
|
58
|
+
- "Deploy this to AWS"
|
|
59
|
+
- "Scrape this website and save to JSON"
|
|
60
|
+
|
|
61
|
+
## Commands
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
v16 connect # Connect to V16
|
|
65
|
+
v16 connect --token XXX # Connect with specific token
|
|
66
|
+
v16 status # Check connection status
|
|
67
|
+
v16 test # Test local capabilities
|
|
68
|
+
v16 logout # Disconnect and clear credentials
|
|
69
|
+
v16 --help # Show all commands
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Environment Variables
|
|
73
|
+
|
|
74
|
+
| Variable | Description |
|
|
75
|
+
|----------|-------------|
|
|
76
|
+
| `V16_TOKEN` | Your authentication token |
|
|
77
|
+
| `V16_SERVER` | Custom server URL (default: `https://api.v16.ai`) |
|
|
78
|
+
|
|
79
|
+
## Requirements
|
|
80
|
+
|
|
81
|
+
- Node.js 18+
|
|
82
|
+
- Chrome/Chromium for browser automation (auto-installed via Puppeteer)
|
|
83
|
+
|
|
84
|
+
## Security
|
|
85
|
+
|
|
86
|
+
- All communication is encrypted (HTTPS/WSS)
|
|
87
|
+
- Only authenticated commands from your V16 account are executed
|
|
88
|
+
- You control what the agent can access on your machine
|
|
89
|
+
- Disconnect anytime with `v16 logout`
|
|
90
|
+
|
|
91
|
+
**Note:** The agent can run any command your user account has access to. Only connect machines you trust.
|
|
92
|
+
|
|
93
|
+
## Links
|
|
94
|
+
|
|
95
|
+
- Website: [v16.ai](https://v16.ai)
|
|
96
|
+
- Discord: [discord.gg/AnBesyRQ4F](https://discord.gg/AnBesyRQ4F)
|
|
97
|
+
- Issues: [github.com/v16ai/v16/issues](https://github.com/v16ai/v16/issues)
|
|
98
|
+
|
|
99
|
+
## License
|
|
100
|
+
|
|
101
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
const socket_io_client_1 = require("socket.io-client");
|
|
41
|
+
const child_process_1 = require("child_process");
|
|
42
|
+
const os = __importStar(require("os"));
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const commander_1 = require("commander");
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
const ora_1 = __importDefault(require("ora"));
|
|
48
|
+
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
49
|
+
// Configuration
|
|
50
|
+
const DEFAULT_SERVER = process.env.V16_SERVER || 'https://api.v16.ai';
|
|
51
|
+
const VERSION = '0.1.0';
|
|
52
|
+
// State
|
|
53
|
+
let socket = null;
|
|
54
|
+
let browser = null;
|
|
55
|
+
let activePage = null;
|
|
56
|
+
let currentCwd = process.cwd();
|
|
57
|
+
const activeProcesses = new Map();
|
|
58
|
+
// Logging helpers
|
|
59
|
+
const log = {
|
|
60
|
+
info: (msg) => console.log(chalk_1.default.blue('ℹ'), msg),
|
|
61
|
+
success: (msg) => console.log(chalk_1.default.green('✓'), msg),
|
|
62
|
+
error: (msg) => console.log(chalk_1.default.red('✗'), msg),
|
|
63
|
+
warn: (msg) => console.log(chalk_1.default.yellow('⚠'), msg),
|
|
64
|
+
};
|
|
65
|
+
// CLI command execution
|
|
66
|
+
async function executeCommand(command, cwd, timeout = 60000) {
|
|
67
|
+
const workingDir = cwd || currentCwd;
|
|
68
|
+
return new Promise((resolve) => {
|
|
69
|
+
(0, child_process_1.exec)(command, {
|
|
70
|
+
cwd: workingDir,
|
|
71
|
+
timeout,
|
|
72
|
+
maxBuffer: 50 * 1024 * 1024,
|
|
73
|
+
env: { ...process.env, FORCE_COLOR: '1' },
|
|
74
|
+
}, (error, stdout, stderr) => {
|
|
75
|
+
resolve({
|
|
76
|
+
stdout: stdout || '',
|
|
77
|
+
stderr: stderr || '',
|
|
78
|
+
exitCode: error ? error.code || 1 : 0,
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// File operations
|
|
84
|
+
function readFile(filePath) {
|
|
85
|
+
try {
|
|
86
|
+
const resolvedPath = path.resolve(currentCwd, filePath);
|
|
87
|
+
const content = fs.readFileSync(resolvedPath, 'utf-8');
|
|
88
|
+
return { success: true, content };
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return { success: false, error: error.message };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function writeFile(filePath, content) {
|
|
95
|
+
try {
|
|
96
|
+
const resolvedPath = path.resolve(currentCwd, filePath);
|
|
97
|
+
const parentDir = path.dirname(resolvedPath);
|
|
98
|
+
if (!fs.existsSync(parentDir)) {
|
|
99
|
+
fs.mkdirSync(parentDir, { recursive: true });
|
|
100
|
+
}
|
|
101
|
+
fs.writeFileSync(resolvedPath, content, 'utf-8');
|
|
102
|
+
return { success: true };
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return { success: false, error: error.message };
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function listFiles(dirPath = '.', showHidden = false) {
|
|
109
|
+
try {
|
|
110
|
+
const resolvedPath = path.resolve(currentCwd, dirPath);
|
|
111
|
+
const entries = fs.readdirSync(resolvedPath, { withFileTypes: true });
|
|
112
|
+
const files = entries
|
|
113
|
+
.filter(entry => showHidden || !entry.name.startsWith('.'))
|
|
114
|
+
.map(entry => {
|
|
115
|
+
const fullPath = path.join(resolvedPath, entry.name);
|
|
116
|
+
const stats = fs.statSync(fullPath);
|
|
117
|
+
return {
|
|
118
|
+
name: entry.name,
|
|
119
|
+
type: entry.isDirectory() ? 'directory' : 'file',
|
|
120
|
+
size: stats.size,
|
|
121
|
+
modified: stats.mtime,
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
return { success: true, files };
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
return { success: false, error: error.message };
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Browser automation
|
|
131
|
+
async function initBrowser() {
|
|
132
|
+
if (!browser) {
|
|
133
|
+
browser = await puppeteer_1.default.launch({
|
|
134
|
+
headless: false,
|
|
135
|
+
defaultViewport: { width: 1280, height: 800 },
|
|
136
|
+
args: ['--no-sandbox', '--disable-setuid-sandbox'],
|
|
137
|
+
});
|
|
138
|
+
log.success('Browser initialized');
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async function closeBrowser() {
|
|
142
|
+
if (browser) {
|
|
143
|
+
await browser.close();
|
|
144
|
+
browser = null;
|
|
145
|
+
activePage = null;
|
|
146
|
+
log.info('Browser closed');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
async function navigateTo(url) {
|
|
150
|
+
try {
|
|
151
|
+
await initBrowser();
|
|
152
|
+
if (!activePage) {
|
|
153
|
+
activePage = await browser.newPage();
|
|
154
|
+
}
|
|
155
|
+
await activePage.goto(url, { waitUntil: 'networkidle2', timeout: 30000 });
|
|
156
|
+
const title = await activePage.title();
|
|
157
|
+
return { success: true, title };
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
return { success: false, error: error.message };
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
async function takeScreenshot() {
|
|
164
|
+
try {
|
|
165
|
+
if (!activePage) {
|
|
166
|
+
return { success: false, error: 'No active page. Navigate to a URL first.' };
|
|
167
|
+
}
|
|
168
|
+
const screenshot = await activePage.screenshot({ encoding: 'base64' });
|
|
169
|
+
return { success: true, image: `data:image/png;base64,${screenshot}` };
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
return { success: false, error: error.message };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
async function clickElement(selector) {
|
|
176
|
+
try {
|
|
177
|
+
if (!activePage) {
|
|
178
|
+
return { success: false, error: 'No active page' };
|
|
179
|
+
}
|
|
180
|
+
await activePage.click(selector);
|
|
181
|
+
return { success: true };
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
return { success: false, error: error.message };
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
async function typeText(selector, text) {
|
|
188
|
+
try {
|
|
189
|
+
if (!activePage) {
|
|
190
|
+
return { success: false, error: 'No active page' };
|
|
191
|
+
}
|
|
192
|
+
await activePage.type(selector, text);
|
|
193
|
+
return { success: true };
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
return { success: false, error: error.message };
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
async function getPageContent() {
|
|
200
|
+
try {
|
|
201
|
+
if (!activePage) {
|
|
202
|
+
return { success: false, error: 'No active page' };
|
|
203
|
+
}
|
|
204
|
+
const html = await activePage.content();
|
|
205
|
+
const text = await activePage.evaluate(() => document.body.innerText);
|
|
206
|
+
return { success: true, html, text };
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
return { success: false, error: error.message };
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
async function evaluateScript(script) {
|
|
213
|
+
try {
|
|
214
|
+
if (!activePage) {
|
|
215
|
+
return { success: false, error: 'No active page' };
|
|
216
|
+
}
|
|
217
|
+
const result = await activePage.evaluate(script);
|
|
218
|
+
return { success: true, result };
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
return { success: false, error: error.message };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Socket connection and message handling
|
|
225
|
+
function connectToServer(serverUrl, token) {
|
|
226
|
+
const spinner = (0, ora_1.default)('Connecting to V16...').start();
|
|
227
|
+
socket = (0, socket_io_client_1.io)(`${serverUrl}/local-agent`, {
|
|
228
|
+
auth: { token },
|
|
229
|
+
transports: ['websocket'],
|
|
230
|
+
reconnection: true,
|
|
231
|
+
reconnectionAttempts: Infinity,
|
|
232
|
+
reconnectionDelay: 1000,
|
|
233
|
+
});
|
|
234
|
+
socket.on('connect', () => {
|
|
235
|
+
spinner.succeed('Connected to V16');
|
|
236
|
+
// Send ready message with system info
|
|
237
|
+
socket.emit('ready', {
|
|
238
|
+
platform: os.platform(),
|
|
239
|
+
arch: os.arch(),
|
|
240
|
+
hostname: os.hostname(),
|
|
241
|
+
cwd: currentCwd,
|
|
242
|
+
version: VERSION,
|
|
243
|
+
capabilities: ['cli', 'filesystem', 'browser'],
|
|
244
|
+
});
|
|
245
|
+
log.info(`Platform: ${os.platform()} (${os.arch()})`);
|
|
246
|
+
log.info(`Working directory: ${currentCwd}`);
|
|
247
|
+
log.success('Ready - V16 agent can now use your local machine');
|
|
248
|
+
});
|
|
249
|
+
socket.on('disconnect', (reason) => {
|
|
250
|
+
log.warn(`Disconnected: ${reason}`);
|
|
251
|
+
});
|
|
252
|
+
socket.on('reconnect', (attempt) => {
|
|
253
|
+
log.success(`Reconnected after ${attempt} attempts`);
|
|
254
|
+
});
|
|
255
|
+
socket.on('error', (error) => {
|
|
256
|
+
log.error(`Connection error: ${error}`);
|
|
257
|
+
});
|
|
258
|
+
// Handle commands from server
|
|
259
|
+
socket.on('command', async (data) => {
|
|
260
|
+
const { id, type, payload } = data;
|
|
261
|
+
log.info(`Executing: ${type}`);
|
|
262
|
+
let result;
|
|
263
|
+
try {
|
|
264
|
+
switch (type) {
|
|
265
|
+
// CLI commands
|
|
266
|
+
case 'execute':
|
|
267
|
+
result = await executeCommand(payload.command, payload.cwd, payload.timeout);
|
|
268
|
+
break;
|
|
269
|
+
case 'cd':
|
|
270
|
+
const newPath = path.resolve(currentCwd, payload.path);
|
|
271
|
+
if (fs.existsSync(newPath) && fs.statSync(newPath).isDirectory()) {
|
|
272
|
+
currentCwd = newPath;
|
|
273
|
+
result = { success: true, cwd: currentCwd };
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
result = { success: false, error: `Directory not found: ${newPath}` };
|
|
277
|
+
}
|
|
278
|
+
break;
|
|
279
|
+
// File operations
|
|
280
|
+
case 'read-file':
|
|
281
|
+
result = readFile(payload.path);
|
|
282
|
+
break;
|
|
283
|
+
case 'write-file':
|
|
284
|
+
result = writeFile(payload.path, payload.content);
|
|
285
|
+
break;
|
|
286
|
+
case 'list-files':
|
|
287
|
+
result = listFiles(payload.path, payload.showHidden);
|
|
288
|
+
break;
|
|
289
|
+
// Browser operations
|
|
290
|
+
case 'browser-navigate':
|
|
291
|
+
result = await navigateTo(payload.url);
|
|
292
|
+
break;
|
|
293
|
+
case 'browser-screenshot':
|
|
294
|
+
result = await takeScreenshot();
|
|
295
|
+
break;
|
|
296
|
+
case 'browser-click':
|
|
297
|
+
result = await clickElement(payload.selector);
|
|
298
|
+
break;
|
|
299
|
+
case 'browser-type':
|
|
300
|
+
result = await typeText(payload.selector, payload.text);
|
|
301
|
+
break;
|
|
302
|
+
case 'browser-content':
|
|
303
|
+
result = await getPageContent();
|
|
304
|
+
break;
|
|
305
|
+
case 'browser-evaluate':
|
|
306
|
+
result = await evaluateScript(payload.script);
|
|
307
|
+
break;
|
|
308
|
+
case 'browser-close':
|
|
309
|
+
await closeBrowser();
|
|
310
|
+
result = { success: true };
|
|
311
|
+
break;
|
|
312
|
+
// System info
|
|
313
|
+
case 'status':
|
|
314
|
+
result = {
|
|
315
|
+
success: true,
|
|
316
|
+
platform: os.platform(),
|
|
317
|
+
arch: os.arch(),
|
|
318
|
+
hostname: os.hostname(),
|
|
319
|
+
cwd: currentCwd,
|
|
320
|
+
uptime: os.uptime(),
|
|
321
|
+
memory: { total: os.totalmem(), free: os.freemem() },
|
|
322
|
+
browserActive: !!browser,
|
|
323
|
+
};
|
|
324
|
+
break;
|
|
325
|
+
default:
|
|
326
|
+
result = { success: false, error: `Unknown command: ${type}` };
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
result = { success: false, error: error.message };
|
|
331
|
+
}
|
|
332
|
+
// Send result back
|
|
333
|
+
socket.emit('result', { id, payload: result });
|
|
334
|
+
log.info(`Done: ${type} ${result.success ? '✓' : '✗'}`);
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
// CLI setup
|
|
338
|
+
commander_1.program
|
|
339
|
+
.name('v16')
|
|
340
|
+
.description('V16 - Give the AI agent access to your local machine')
|
|
341
|
+
.version(VERSION);
|
|
342
|
+
commander_1.program
|
|
343
|
+
.command('connect')
|
|
344
|
+
.description('Connect your machine to V16')
|
|
345
|
+
.option('-s, --server <url>', 'Server URL', DEFAULT_SERVER)
|
|
346
|
+
.option('-t, --token <token>', 'Authentication token')
|
|
347
|
+
.action(async (options) => {
|
|
348
|
+
console.log(chalk_1.default.cyan(`
|
|
349
|
+
╭───────────────────────────────────────╮
|
|
350
|
+
│ V16 v${VERSION} │
|
|
351
|
+
│ General AI Agent - Local Tools │
|
|
352
|
+
╰───────────────────────────────────────╯
|
|
353
|
+
`));
|
|
354
|
+
const token = options.token || process.env.V16_TOKEN;
|
|
355
|
+
if (!token) {
|
|
356
|
+
log.error('Token required. Use --token or set V16_TOKEN');
|
|
357
|
+
log.info('Get your token at https://v16.ai/settings');
|
|
358
|
+
process.exit(1);
|
|
359
|
+
}
|
|
360
|
+
connectToServer(options.server, token);
|
|
361
|
+
// Keep process running
|
|
362
|
+
process.on('SIGINT', async () => {
|
|
363
|
+
log.info('Shutting down...');
|
|
364
|
+
await closeBrowser();
|
|
365
|
+
socket?.disconnect();
|
|
366
|
+
process.exit(0);
|
|
367
|
+
});
|
|
368
|
+
});
|
|
369
|
+
commander_1.program
|
|
370
|
+
.command('test')
|
|
371
|
+
.description('Test local capabilities')
|
|
372
|
+
.action(async () => {
|
|
373
|
+
console.log(chalk_1.default.cyan('Testing local capabilities...\n'));
|
|
374
|
+
// Test CLI
|
|
375
|
+
log.info('Testing CLI...');
|
|
376
|
+
const cliResult = await executeCommand('echo "Hello from V16"');
|
|
377
|
+
log.success(`CLI: ${cliResult.stdout.trim()}`);
|
|
378
|
+
// Test filesystem
|
|
379
|
+
log.info('Testing filesystem...');
|
|
380
|
+
const files = listFiles('.');
|
|
381
|
+
log.success(`Filesystem: ${files.files?.length || 0} items in current directory`);
|
|
382
|
+
// Test browser
|
|
383
|
+
log.info('Testing browser...');
|
|
384
|
+
try {
|
|
385
|
+
await initBrowser();
|
|
386
|
+
const navResult = await navigateTo('https://www.google.com');
|
|
387
|
+
log.success(`Browser: Loaded "${navResult.title}"`);
|
|
388
|
+
await closeBrowser();
|
|
389
|
+
}
|
|
390
|
+
catch (error) {
|
|
391
|
+
log.warn(`Browser: ${error.message}`);
|
|
392
|
+
}
|
|
393
|
+
console.log(chalk_1.default.green('\nAll tests passed'));
|
|
394
|
+
});
|
|
395
|
+
commander_1.program
|
|
396
|
+
.command('login')
|
|
397
|
+
.description('Get your authentication token')
|
|
398
|
+
.action(async () => {
|
|
399
|
+
console.log(chalk_1.default.cyan(`
|
|
400
|
+
To connect your machine to V16:
|
|
401
|
+
|
|
402
|
+
1. Go to ${chalk_1.default.underline('https://v16.ai/settings')}
|
|
403
|
+
2. Generate a token
|
|
404
|
+
3. Run: ${chalk_1.default.bold('v16 connect --token YOUR_TOKEN')}
|
|
405
|
+
|
|
406
|
+
Or use environment variable:
|
|
407
|
+
${chalk_1.default.bold('export V16_TOKEN=YOUR_TOKEN')}
|
|
408
|
+
${chalk_1.default.bold('v16 connect')}
|
|
409
|
+
`));
|
|
410
|
+
});
|
|
411
|
+
commander_1.program.parse();
|
|
412
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "v16.ai",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "V16 - General AI Agent. Connect your machine and let AI run code, execute commands, automate browsers, and get real work done.",
|
|
5
|
+
"author": "V16 <support@v16.ai>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/v16ai/v16.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://v16.ai",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/v16ai/v16/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"ai",
|
|
17
|
+
"agent",
|
|
18
|
+
"automation",
|
|
19
|
+
"cli",
|
|
20
|
+
"v16",
|
|
21
|
+
"ai-agent",
|
|
22
|
+
"code-execution",
|
|
23
|
+
"browser-automation",
|
|
24
|
+
"puppeteer",
|
|
25
|
+
"chatgpt",
|
|
26
|
+
"copilot",
|
|
27
|
+
"llm"
|
|
28
|
+
],
|
|
29
|
+
"main": "dist/index.js",
|
|
30
|
+
"types": "dist/index.d.ts",
|
|
31
|
+
"bin": {
|
|
32
|
+
"v16": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist",
|
|
36
|
+
"README.md"
|
|
37
|
+
],
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"start": "node dist/index.js",
|
|
43
|
+
"dev": "ts-node src/index.ts",
|
|
44
|
+
"build": "tsc",
|
|
45
|
+
"postbuild": "chmod +x dist/index.js",
|
|
46
|
+
"prepublishOnly": "npm run build",
|
|
47
|
+
"test": "node dist/index.js test"
|
|
48
|
+
},
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"chalk": "^4.1.2",
|
|
51
|
+
"commander": "^11.1.0",
|
|
52
|
+
"ora": "^5.4.1",
|
|
53
|
+
"puppeteer": "^21.6.1",
|
|
54
|
+
"socket.io-client": "^4.7.2"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@types/node": "^20.10.0",
|
|
58
|
+
"ts-node": "^10.9.2",
|
|
59
|
+
"typescript": "^5.3.0"
|
|
60
|
+
}
|
|
61
|
+
}
|