genbox-agent 1.0.39 → 1.0.41

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 (67) hide show
  1. package/dist/hook.d.ts +6 -5
  2. package/dist/hook.d.ts.map +1 -1
  3. package/dist/hook.js +200 -81
  4. package/dist/hook.js.map +1 -1
  5. package/dist/hooks/daemon-client.d.ts +39 -0
  6. package/dist/hooks/daemon-client.d.ts.map +1 -0
  7. package/dist/hooks/daemon-client.js +238 -0
  8. package/dist/hooks/daemon-client.js.map +1 -0
  9. package/dist/hooks/index.d.ts +7 -0
  10. package/dist/hooks/index.d.ts.map +1 -0
  11. package/dist/hooks/index.js +23 -0
  12. package/dist/hooks/index.js.map +1 -0
  13. package/dist/server/auth.d.ts +51 -0
  14. package/dist/server/auth.d.ts.map +1 -0
  15. package/dist/server/auth.js +154 -0
  16. package/dist/server/auth.js.map +1 -0
  17. package/dist/server/index.d.ts +156 -0
  18. package/dist/server/index.d.ts.map +1 -0
  19. package/dist/server/index.js +595 -0
  20. package/dist/server/index.js.map +1 -0
  21. package/dist/server/port-finder.d.ts +45 -0
  22. package/dist/server/port-finder.d.ts.map +1 -0
  23. package/dist/server/port-finder.js +267 -0
  24. package/dist/server/port-finder.js.map +1 -0
  25. package/dist/storage/index.d.ts +82 -0
  26. package/dist/storage/index.d.ts.map +1 -0
  27. package/dist/storage/index.js +209 -0
  28. package/dist/storage/index.js.map +1 -0
  29. package/dist/storage/manager.d.ts +112 -0
  30. package/dist/storage/manager.d.ts.map +1 -0
  31. package/dist/storage/manager.js +200 -0
  32. package/dist/storage/manager.js.map +1 -0
  33. package/dist/storage/repositories/events.d.ts +101 -0
  34. package/dist/storage/repositories/events.d.ts.map +1 -0
  35. package/dist/storage/repositories/events.js +258 -0
  36. package/dist/storage/repositories/events.js.map +1 -0
  37. package/dist/storage/repositories/index.d.ts +9 -0
  38. package/dist/storage/repositories/index.d.ts.map +1 -0
  39. package/dist/storage/repositories/index.js +25 -0
  40. package/dist/storage/repositories/index.js.map +1 -0
  41. package/dist/storage/repositories/messages.d.ts +123 -0
  42. package/dist/storage/repositories/messages.d.ts.map +1 -0
  43. package/dist/storage/repositories/messages.js +209 -0
  44. package/dist/storage/repositories/messages.js.map +1 -0
  45. package/dist/storage/repositories/sessions.d.ts +158 -0
  46. package/dist/storage/repositories/sessions.d.ts.map +1 -0
  47. package/dist/storage/repositories/sessions.js +342 -0
  48. package/dist/storage/repositories/sessions.js.map +1 -0
  49. package/dist/storage/schema.d.ts +42 -0
  50. package/dist/storage/schema.d.ts.map +1 -0
  51. package/dist/storage/schema.js +278 -0
  52. package/dist/storage/schema.js.map +1 -0
  53. package/dist/sync/background-sync.d.ts +83 -0
  54. package/dist/sync/background-sync.d.ts.map +1 -0
  55. package/dist/sync/background-sync.js +367 -0
  56. package/dist/sync/background-sync.js.map +1 -0
  57. package/dist/sync/index.d.ts +7 -0
  58. package/dist/sync/index.d.ts.map +1 -0
  59. package/dist/sync/index.js +23 -0
  60. package/dist/sync/index.js.map +1 -0
  61. package/dist/unified-daemon.js +219 -0
  62. package/dist/unified-daemon.js.map +1 -1
  63. package/dist/unified-hook.d.ts +4 -3
  64. package/dist/unified-hook.d.ts.map +1 -1
  65. package/dist/unified-hook.js +155 -31
  66. package/dist/unified-hook.js.map +1 -1
  67. package/package.json +4 -1
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ /**
3
+ * Local Daemon Client
4
+ *
5
+ * Client for hooks to communicate with the local daemon.
6
+ * Handles posting events to localhost and lazy daemon start.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.postToLocalDaemon = postToLocalDaemon;
43
+ exports.postHookEvent = postHookEvent;
44
+ exports.isDaemonAvailable = isDaemonAvailable;
45
+ exports.getDaemonPort = getDaemonPort;
46
+ const http = __importStar(require("http"));
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ const childProcess = __importStar(require("child_process"));
50
+ // Default base port (same as server/port-finder.ts)
51
+ const BASE_PORT = 47191;
52
+ const MAX_PORT_OFFSET = 10;
53
+ const CONNECT_TIMEOUT = 1000;
54
+ const REQUEST_TIMEOUT = 3000;
55
+ // Port file location
56
+ const PORT_FILE = path.join(process.env.HOME || '/tmp', '.genbox-daemon-port');
57
+ const PID_FILE = path.join(process.env.HOME || '/tmp', '.genbox-daemon.pid');
58
+ /**
59
+ * Read the daemon port from the port file
60
+ */
61
+ function readDaemonPort() {
62
+ try {
63
+ if (fs.existsSync(PORT_FILE)) {
64
+ const content = fs.readFileSync(PORT_FILE, 'utf-8').trim();
65
+ const port = parseInt(content, 10);
66
+ if (!isNaN(port) && port > 0) {
67
+ return port;
68
+ }
69
+ }
70
+ }
71
+ catch {
72
+ // Ignore errors
73
+ }
74
+ return null;
75
+ }
76
+ /**
77
+ * Check if daemon is running on a port
78
+ */
79
+ async function isDaemonRunning(port) {
80
+ return new Promise((resolve) => {
81
+ const req = http.request({
82
+ hostname: '127.0.0.1',
83
+ port,
84
+ path: '/health',
85
+ method: 'GET',
86
+ timeout: CONNECT_TIMEOUT,
87
+ }, (res) => {
88
+ resolve(res.statusCode === 200);
89
+ });
90
+ req.on('error', () => resolve(false));
91
+ req.on('timeout', () => {
92
+ req.destroy();
93
+ resolve(false);
94
+ });
95
+ req.end();
96
+ });
97
+ }
98
+ /**
99
+ * Find the daemon port by checking the port file or scanning ports
100
+ */
101
+ async function findDaemonPort() {
102
+ // First check the port file
103
+ const savedPort = readDaemonPort();
104
+ if (savedPort && (await isDaemonRunning(savedPort))) {
105
+ return savedPort;
106
+ }
107
+ // Scan ports starting from BASE_PORT
108
+ for (let offset = 0; offset < MAX_PORT_OFFSET; offset++) {
109
+ const port = BASE_PORT + offset;
110
+ if (await isDaemonRunning(port)) {
111
+ return port;
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ /**
117
+ * Start the daemon if not running
118
+ */
119
+ async function startDaemon() {
120
+ // Find the daemon executable
121
+ const possiblePaths = [
122
+ path.join(__dirname, '../../dist/unified-daemon.js'),
123
+ path.join(__dirname, '../unified-daemon.js'),
124
+ 'genbox-daemon', // If installed globally
125
+ ];
126
+ let daemonPath = null;
127
+ for (const p of possiblePaths) {
128
+ if (p === 'genbox-daemon' || fs.existsSync(p)) {
129
+ daemonPath = p;
130
+ break;
131
+ }
132
+ }
133
+ if (!daemonPath) {
134
+ return null;
135
+ }
136
+ try {
137
+ // Start daemon in background
138
+ const args = ['--mode', 'native', '--server'];
139
+ const isScript = daemonPath.endsWith('.js');
140
+ const proc = childProcess.spawn(isScript ? 'node' : daemonPath, isScript ? [daemonPath, ...args] : args, {
141
+ detached: true,
142
+ stdio: 'ignore',
143
+ env: {
144
+ ...process.env,
145
+ GENBOX_DAEMON_BACKGROUND: '1',
146
+ },
147
+ });
148
+ proc.unref();
149
+ // Wait for daemon to start (up to 3 seconds)
150
+ for (let i = 0; i < 30; i++) {
151
+ await new Promise((r) => setTimeout(r, 100));
152
+ const port = await findDaemonPort();
153
+ if (port) {
154
+ return port;
155
+ }
156
+ }
157
+ }
158
+ catch {
159
+ // Ignore spawn errors
160
+ }
161
+ return null;
162
+ }
163
+ /**
164
+ * Post event data to the local daemon
165
+ */
166
+ async function postToLocalDaemon(endpoint, data) {
167
+ // Find running daemon
168
+ let port = await findDaemonPort();
169
+ // If no daemon running, try to start one (lazy start)
170
+ if (!port) {
171
+ port = await startDaemon();
172
+ }
173
+ if (!port) {
174
+ return { success: false, error: 'No daemon available' };
175
+ }
176
+ return new Promise((resolve) => {
177
+ const body = JSON.stringify(data);
178
+ const req = http.request({
179
+ hostname: '127.0.0.1',
180
+ port,
181
+ path: endpoint,
182
+ method: 'POST',
183
+ headers: {
184
+ 'Content-Type': 'application/json',
185
+ 'Content-Length': Buffer.byteLength(body),
186
+ },
187
+ timeout: REQUEST_TIMEOUT,
188
+ }, (res) => {
189
+ let responseData = '';
190
+ res.on('data', (chunk) => (responseData += chunk));
191
+ res.on('end', () => {
192
+ try {
193
+ const parsed = JSON.parse(responseData);
194
+ resolve({
195
+ success: res.statusCode === 200 || res.statusCode === 201,
196
+ data: parsed,
197
+ });
198
+ }
199
+ catch {
200
+ resolve({
201
+ success: res.statusCode === 200 || res.statusCode === 201,
202
+ data: responseData,
203
+ });
204
+ }
205
+ });
206
+ });
207
+ req.on('error', (error) => {
208
+ resolve({ success: false, error: error.message });
209
+ });
210
+ req.on('timeout', () => {
211
+ req.destroy();
212
+ resolve({ success: false, error: 'Request timeout' });
213
+ });
214
+ req.write(body);
215
+ req.end();
216
+ });
217
+ }
218
+ /**
219
+ * Post a hook event to the local daemon
220
+ */
221
+ async function postHookEvent(eventData) {
222
+ const result = await postToLocalDaemon('/api/events', eventData);
223
+ return result.success;
224
+ }
225
+ /**
226
+ * Check if daemon is available (running or can be started)
227
+ */
228
+ async function isDaemonAvailable() {
229
+ const port = await findDaemonPort();
230
+ return port !== null;
231
+ }
232
+ /**
233
+ * Get daemon port if running
234
+ */
235
+ async function getDaemonPort() {
236
+ return findDaemonPort();
237
+ }
238
+ //# sourceMappingURL=daemon-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/hooks/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Hooks Module
3
+ *
4
+ * Exports hook utilities and daemon client.
5
+ */
6
+ export * from './daemon-client';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Hooks Module
4
+ *
5
+ * Exports hook utilities and daemon client.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./daemon-client"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,kDAAgC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Authentication for Genbox Agent Server
3
+ *
4
+ * Supports multiple authentication methods:
5
+ * 1. Control Token - For dashboard/CLI direct access (matches Session V2 controlToken)
6
+ * 2. API Key - For programmatic access
7
+ * 3. None - For local mode without authentication
8
+ */
9
+ export interface AuthContext {
10
+ authenticated: boolean;
11
+ type?: 'control_token' | 'api_key' | 'none';
12
+ userId?: string;
13
+ permissions?: string[];
14
+ }
15
+ /**
16
+ * Validate control token
17
+ * Uses constant-time comparison to prevent timing attacks
18
+ */
19
+ export declare function validateControlToken(provided: string, expected: string): AuthContext;
20
+ /**
21
+ * Validate API key
22
+ * Supports both plain and hashed keys
23
+ */
24
+ export declare function validateApiKey(provided: string, expected: string): AuthContext;
25
+ /**
26
+ * Generate a new control token
27
+ * Uses crypto.randomUUID for compatibility with Session V2 controlToken format
28
+ */
29
+ export declare function generateControlToken(): string;
30
+ /**
31
+ * Generate a new API key
32
+ * Uses a longer random string for programmatic access
33
+ */
34
+ export declare function generateApiKey(prefix?: string): string;
35
+ /**
36
+ * Hash an API key for storage
37
+ */
38
+ export declare function hashApiKey(apiKey: string): string;
39
+ /**
40
+ * Check if a permission is allowed
41
+ */
42
+ export declare function hasPermission(context: AuthContext, permission: string): boolean;
43
+ /**
44
+ * Middleware helper for checking authentication
45
+ */
46
+ export declare function requireAuth(context: AuthContext): void;
47
+ /**
48
+ * Middleware helper for checking specific permission
49
+ */
50
+ export declare function requirePermission(context: AuthContext, permission: string): void;
51
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAoBpF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAqC9E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAQ,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI/E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAItD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAKhF"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication for Genbox Agent Server
4
+ *
5
+ * Supports multiple authentication methods:
6
+ * 1. Control Token - For dashboard/CLI direct access (matches Session V2 controlToken)
7
+ * 2. API Key - For programmatic access
8
+ * 3. None - For local mode without authentication
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.validateControlToken = validateControlToken;
45
+ exports.validateApiKey = validateApiKey;
46
+ exports.generateControlToken = generateControlToken;
47
+ exports.generateApiKey = generateApiKey;
48
+ exports.hashApiKey = hashApiKey;
49
+ exports.hasPermission = hasPermission;
50
+ exports.requireAuth = requireAuth;
51
+ exports.requirePermission = requirePermission;
52
+ const crypto = __importStar(require("crypto"));
53
+ /**
54
+ * Validate control token
55
+ * Uses constant-time comparison to prevent timing attacks
56
+ */
57
+ function validateControlToken(provided, expected) {
58
+ if (!provided || !expected) {
59
+ return { authenticated: false };
60
+ }
61
+ // Constant-time comparison
62
+ const providedBuffer = Buffer.from(provided);
63
+ const expectedBuffer = Buffer.from(expected);
64
+ if (providedBuffer.length !== expectedBuffer.length) {
65
+ return { authenticated: false };
66
+ }
67
+ const isValid = crypto.timingSafeEqual(providedBuffer, expectedBuffer);
68
+ return {
69
+ authenticated: isValid,
70
+ type: 'control_token',
71
+ permissions: isValid ? ['read', 'write', 'control'] : [],
72
+ };
73
+ }
74
+ /**
75
+ * Validate API key
76
+ * Supports both plain and hashed keys
77
+ */
78
+ function validateApiKey(provided, expected) {
79
+ if (!provided || !expected) {
80
+ return { authenticated: false };
81
+ }
82
+ // If expected starts with 'sha256:', it's a hashed key
83
+ if (expected.startsWith('sha256:')) {
84
+ const expectedHash = expected.slice(7);
85
+ const providedHash = crypto.createHash('sha256').update(provided).digest('hex');
86
+ const isValid = crypto.timingSafeEqual(Buffer.from(providedHash), Buffer.from(expectedHash));
87
+ return {
88
+ authenticated: isValid,
89
+ type: 'api_key',
90
+ permissions: isValid ? ['read', 'write'] : [],
91
+ };
92
+ }
93
+ // Plain text comparison (for development)
94
+ const providedBuffer = Buffer.from(provided);
95
+ const expectedBuffer = Buffer.from(expected);
96
+ if (providedBuffer.length !== expectedBuffer.length) {
97
+ return { authenticated: false };
98
+ }
99
+ const isValid = crypto.timingSafeEqual(providedBuffer, expectedBuffer);
100
+ return {
101
+ authenticated: isValid,
102
+ type: 'api_key',
103
+ permissions: isValid ? ['read', 'write'] : [],
104
+ };
105
+ }
106
+ /**
107
+ * Generate a new control token
108
+ * Uses crypto.randomUUID for compatibility with Session V2 controlToken format
109
+ */
110
+ function generateControlToken() {
111
+ return crypto.randomUUID();
112
+ }
113
+ /**
114
+ * Generate a new API key
115
+ * Uses a longer random string for programmatic access
116
+ */
117
+ function generateApiKey(prefix = 'gba') {
118
+ const random = crypto.randomBytes(24).toString('base64url');
119
+ return `${prefix}_${random}`;
120
+ }
121
+ /**
122
+ * Hash an API key for storage
123
+ */
124
+ function hashApiKey(apiKey) {
125
+ return 'sha256:' + crypto.createHash('sha256').update(apiKey).digest('hex');
126
+ }
127
+ /**
128
+ * Check if a permission is allowed
129
+ */
130
+ function hasPermission(context, permission) {
131
+ if (!context.authenticated)
132
+ return false;
133
+ if (!context.permissions)
134
+ return false;
135
+ return context.permissions.includes(permission);
136
+ }
137
+ /**
138
+ * Middleware helper for checking authentication
139
+ */
140
+ function requireAuth(context) {
141
+ if (!context.authenticated) {
142
+ throw new Error('Authentication required');
143
+ }
144
+ }
145
+ /**
146
+ * Middleware helper for checking specific permission
147
+ */
148
+ function requirePermission(context, permission) {
149
+ requireAuth(context);
150
+ if (!hasPermission(context, permission)) {
151
+ throw new Error(`Permission '${permission}' required`);
152
+ }
153
+ }
154
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Genbox Agent Local Server
3
+ *
4
+ * HTTP + WebSocket server that runs on genbox VMs and local machines.
5
+ * Provides direct access to session management, output streaming, and stats.
6
+ *
7
+ * This enables edge-first architecture where:
8
+ * - Clients connect directly to genbox for real-time data
9
+ * - API server only handles registry + historical sync
10
+ * - Reduces load on central API server
11
+ */
12
+ import { StorageManager } from '../storage/manager';
13
+ export { BASE_PORT } from './port-finder';
14
+ export interface ServerConfig {
15
+ port?: number;
16
+ host?: string;
17
+ genboxId?: string;
18
+ controlToken?: string;
19
+ apiKey?: string;
20
+ enableCors?: boolean;
21
+ }
22
+ export interface SessionInfo {
23
+ sessionId: string;
24
+ provider: string;
25
+ projectPath?: string;
26
+ status: string;
27
+ createdAt?: number;
28
+ }
29
+ export interface SystemStats {
30
+ loadAvg: [number, number, number];
31
+ diskUsagePercent: number;
32
+ diskUsedGb: number;
33
+ diskTotalGb: number;
34
+ memoryUsagePercent: number;
35
+ memoryUsedMb: number;
36
+ memoryTotalMb: number;
37
+ swapUsagePercent: number;
38
+ processCount: number;
39
+ uptimeSeconds: number;
40
+ dockerServices?: Array<{
41
+ name: string;
42
+ status: string;
43
+ health?: string;
44
+ }>;
45
+ pm2Services?: Array<{
46
+ name: string;
47
+ status: string;
48
+ cpu: number;
49
+ memory: number;
50
+ }>;
51
+ }
52
+ export interface ServerHandlers {
53
+ listSessions: () => SessionInfo[];
54
+ getSession: (sessionId: string) => SessionInfo | null;
55
+ getSessionOutput: (sessionId: string, lines?: number) => string | null;
56
+ getSessionStatus: (sessionId: string) => string;
57
+ sendPrompt: (sessionId: string, prompt: string) => boolean;
58
+ sendKeystroke: (sessionId: string, key: string) => boolean;
59
+ createSession: (projectPath: string, provider?: string) => SessionInfo | null;
60
+ killSession: (sessionId: string) => boolean;
61
+ getSystemStats: () => SystemStats | null;
62
+ onSessionEvent?: (event: any) => void;
63
+ }
64
+ /**
65
+ * Local Agent Server
66
+ * Exposes daemon functionality via HTTP/WebSocket
67
+ */
68
+ export declare class AgentServer {
69
+ private readonly config;
70
+ private readonly handlers;
71
+ private httpServer;
72
+ private io;
73
+ private port;
74
+ private running;
75
+ private outputPollers;
76
+ private connectedClients;
77
+ private storageManager;
78
+ constructor(config: ServerConfig, handlers: ServerHandlers);
79
+ /**
80
+ * Set the storage manager for event recording
81
+ */
82
+ setStorageManager(manager: StorageManager): void;
83
+ /**
84
+ * Start the server
85
+ */
86
+ start(): Promise<number>;
87
+ /**
88
+ * Stop the server
89
+ */
90
+ stop(): Promise<void>;
91
+ /**
92
+ * Get the port the server is running on
93
+ */
94
+ getPort(): number;
95
+ /**
96
+ * Check if server is running
97
+ */
98
+ isRunning(): boolean;
99
+ /**
100
+ * Broadcast output update to all connected clients
101
+ */
102
+ broadcastOutput(sessionId: string, output: string, status: string): void;
103
+ /**
104
+ * Broadcast system stats to all connected clients
105
+ */
106
+ broadcastStats(stats: SystemStats): void;
107
+ /**
108
+ * Broadcast session event to all connected clients
109
+ */
110
+ broadcastEvent(event: any): void;
111
+ /**
112
+ * Handle HTTP request
113
+ */
114
+ private handleHttpRequest;
115
+ /**
116
+ * Authenticate request
117
+ */
118
+ private authenticate;
119
+ /**
120
+ * Handle WebSocket connection
121
+ */
122
+ private handleSocketConnection;
123
+ /**
124
+ * Start polling output for a session
125
+ */
126
+ private startOutputPolling;
127
+ /**
128
+ * Stop polling output for a session
129
+ */
130
+ private stopOutputPolling;
131
+ private handleHealth;
132
+ private handleListSessions;
133
+ private handleGetSession;
134
+ private handleGetOutput;
135
+ private handleSendPrompt;
136
+ private handleSendKeystroke;
137
+ private handleCreateSession;
138
+ private handleKillSession;
139
+ private handleGetStats;
140
+ /**
141
+ * Handle recording a hook event
142
+ */
143
+ private handleRecordEvent;
144
+ /**
145
+ * Handle getting storage stats
146
+ */
147
+ private handleStorageStats;
148
+ /**
149
+ * Handle getting pending sync counts
150
+ */
151
+ private handlePendingSync;
152
+ private sendJson;
153
+ private sendError;
154
+ private readBody;
155
+ }
156
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}