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 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
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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
+ }