@agent-link/agent 0.1.130 → 0.1.132

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.
@@ -12,6 +12,8 @@ import { listRecaps, getRecapDetail } from './recap.js';
12
12
  import { listBriefings, getBriefingDetail } from './briefing.js';
13
13
  import { listDevops, getDevopsDetail } from './devops.js';
14
14
  import { listProjects, getProjectDetail } from './project.js';
15
+ import { brainSearch, getSearchIndexStats } from './search.js';
16
+ import { createTunnelHandler } from './tunnel.js';
15
17
  const require = createRequire(import.meta.url);
16
18
  const pkg = require('../package.json');
17
19
  import { handleChat as claudeHandleChat, setSendFn, abort as abortClaude, abortAll as abortAllClaude, cancelExecution as claudeCancelExecution, handleUserAnswer, handleBtwQuestion, getConversation, getConversations, getIsCompacting, clearSessionId, evictByClaudeSessionId, rebindConversation, addOutputObserver, removeOutputObserver, addCloseObserver, removeCloseObserver, setOutputObserver, clearOutputObserver, setCloseObserver, clearCloseObserver, restartConversation, createPlaceholderConversation } from './claude.js';
@@ -20,6 +22,7 @@ import { listMemoryFiles, updateMemoryFile, deleteMemoryFile } from './memory.js
20
22
  import { decodeKey, parseMessage, encryptAndSend } from './encryption.js';
21
23
  import { setTeamSendFn, setTeamClaudeFns, getActiveTeam, serializeTeam } from './team.js';
22
24
  import { initScheduler, getRunningExecutions, } from './scheduler.js';
25
+ let tunnelHandler = null;
23
26
  const RECONNECT_BASE_DELAY = 1000;
24
27
  const RECONNECT_MAX_DELAY = 10_000;
25
28
  const HEARTBEAT_INTERVAL = 45_000; // Send ping every 45s (staggered from server's 30s)
@@ -51,6 +54,8 @@ export function connect(config) {
51
54
  }
52
55
  // Wire up the Claude module to send messages through our WebSocket
53
56
  setSendFn(send);
57
+ // Initialize the tunnel handler for port proxy
58
+ tunnelHandler = createTunnelHandler(send);
54
59
  // Wire up the Team module with send and claude dependencies
55
60
  setTeamSendFn(send);
56
61
  setTeamClaudeFns({
@@ -176,6 +181,10 @@ function doConnect(config, onRegistered, onError) {
176
181
  }
177
182
  }
178
183
  console.log(`[AgentLink] Registered, session: ${state.sessionId}`);
184
+ // Sync initial proxy config to server
185
+ if (tunnelHandler) {
186
+ send({ type: 'proxy_config_updated', config: tunnelHandler.getProxyConfig() });
187
+ }
179
188
  }
180
189
  else {
181
190
  const msg = await parseMessage(raw, state.sessionKey);
@@ -208,6 +217,8 @@ export function disconnect() {
208
217
  state.shouldReconnect = false;
209
218
  stopHeartbeat();
210
219
  abortAllClaude();
220
+ if (tunnelHandler)
221
+ tunnelHandler.cleanup();
211
222
  if (state.ws) {
212
223
  state.ws.close();
213
224
  state.ws = null;
@@ -581,6 +592,33 @@ function handleServerMessage(msg) {
581
592
  case 'get_project_detail':
582
593
  handleGetProjectDetailMsg(msg);
583
594
  break;
595
+ case 'brain_search':
596
+ handleBrainSearch(msg);
597
+ break;
598
+ case 'get_search_index_stats':
599
+ handleGetSearchIndexStats();
600
+ break;
601
+ // ── Port Proxy tunnel handlers ──────────────────────────────────────
602
+ case 'tunnel_request':
603
+ if (tunnelHandler)
604
+ tunnelHandler.handleTunnelRequest(msg);
605
+ break;
606
+ case 'tunnel_ws_open':
607
+ if (tunnelHandler)
608
+ tunnelHandler.handleTunnelWsOpen(msg);
609
+ break;
610
+ case 'tunnel_ws_message':
611
+ if (tunnelHandler)
612
+ tunnelHandler.handleTunnelWsMessage(msg);
613
+ break;
614
+ case 'tunnel_ws_close':
615
+ if (tunnelHandler)
616
+ tunnelHandler.handleTunnelWsClose(msg);
617
+ break;
618
+ case 'proxy_config_update':
619
+ if (tunnelHandler)
620
+ tunnelHandler.handleProxyConfigUpdate(msg);
621
+ break;
584
622
  default:
585
623
  console.log(`[AgentLink] Unhandled server message: ${msg.type}`);
586
624
  send({ type: 'error', message: `Unsupported command: ${msg.type}. Please upgrade your agent: agentlink-client upgrade` });
@@ -674,6 +712,28 @@ async function handleGetProjectDetailMsg(msg) {
674
712
  send({ type: 'project_detail', name: msg.projectName, error: String(err) });
675
713
  }
676
714
  }
715
+ async function handleBrainSearch(msg) {
716
+ try {
717
+ const result = await brainSearch(BRAIN_DATA_DIR, msg.query, msg.sources, msg.limit);
718
+ console.log(`[AgentLink] → search_results (${result.totalResults} results for "${msg.query}")`);
719
+ send({ type: 'search_results', ...result });
720
+ }
721
+ catch (err) {
722
+ console.error(`[AgentLink] brainSearch failed for "${msg.query}":`, err);
723
+ send({ type: 'search_results', query: msg.query, groups: [], totalResults: 0, error: String(err) });
724
+ }
725
+ }
726
+ async function handleGetSearchIndexStats() {
727
+ try {
728
+ const stats = await getSearchIndexStats(BRAIN_DATA_DIR);
729
+ console.log(`[AgentLink] → search_index_stats (${stats.sources.length} sources)`);
730
+ send({ type: 'search_index_stats', ...stats });
731
+ }
732
+ catch (err) {
733
+ console.error('[AgentLink] getSearchIndexStats failed:', err);
734
+ send({ type: 'search_index_stats', sources: [], error: String(err) });
735
+ }
736
+ }
677
737
  function handleListSessions() {
678
738
  try {
679
739
  const sessions = listSessions(state.workDir);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface SearchResultEntry {
2
+ id: string;
3
+ source: string;
4
+ timestamp: string;
5
+ title: string;
6
+ subtitle: string;
7
+ snippet: string;
8
+ url?: string;
9
+ file?: string;
10
+ extra?: Record<string, unknown>;
11
+ }
12
+ export interface SearchResultGroup {
13
+ source: string;
14
+ label: string;
15
+ count: number;
16
+ entries: SearchResultEntry[];
17
+ }
18
+ export interface SearchIndexStats {
19
+ sources: Array<{
20
+ name: string;
21
+ count: number;
22
+ generated: string;
23
+ }>;
24
+ }
25
+ export declare function brainSearch(brainHome: string, query: string, sources?: string[], limit?: number): Promise<{
26
+ query: string;
27
+ groups: SearchResultGroup[];
28
+ totalResults: number;
29
+ }>;
30
+ export declare function getSearchIndexStats(brainHome: string): Promise<SearchIndexStats>;
31
+ /** Clear cache (for testing). */
32
+ export declare function clearSearchCache(): void;
package/dist/search.js ADDED
@@ -0,0 +1,242 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import yaml from 'js-yaml';
4
+ const SEARCH_INDEX_DIR = '.search_index';
5
+ const RECAP_INDEX_PATH = 'reports/meeting-recap/recap_index.yaml';
6
+ const SOURCE_META = {
7
+ teams: { label: 'Teams', searchFields: ['sender', 'chat', 'body_preview'] },
8
+ emails: { label: 'Email', searchFields: ['sender', 'subject', 'body_preview'] },
9
+ meetings: { label: 'Meetings', searchFields: ['meeting_name', 'body_preview'] },
10
+ meeting_recaps: { label: 'Meeting Recaps', searchFields: ['meeting_name', 'series_name', 'tldr_snippet'] },
11
+ pull_requests: { label: 'Pull Requests', searchFields: ['title', 'pr_number', 'project', 'repository'] },
12
+ work_items: { label: 'Work Items', searchFields: ['title', 'project'] },
13
+ documents: { label: 'Documents', searchFields: ['title'] },
14
+ };
15
+ // In-memory cache
16
+ let cachedIndexes = null;
17
+ let cacheTimestamp = 0;
18
+ const CACHE_TTL_MS = 5 * 60 * 1000; // 5 minutes
19
+ function loadIndexes(brainHome) {
20
+ const indexDir = path.join(brainHome, SEARCH_INDEX_DIR);
21
+ const indexes = new Map();
22
+ for (const source of Object.keys(SOURCE_META)) {
23
+ if (source === 'meeting_recaps')
24
+ continue; // loaded separately below
25
+ const filePath = path.join(indexDir, `${source}.json`);
26
+ try {
27
+ const raw = fs.readFileSync(filePath, 'utf-8');
28
+ const data = JSON.parse(raw);
29
+ if (data.entries && data.entries.length > 0) {
30
+ indexes.set(source, data);
31
+ }
32
+ }
33
+ catch {
34
+ // Skip missing or malformed index files
35
+ }
36
+ }
37
+ // Load meeting recaps from YAML index
38
+ try {
39
+ const recapPath = path.join(brainHome, RECAP_INDEX_PATH);
40
+ const raw = fs.readFileSync(recapPath, 'utf-8');
41
+ const parsed = yaml.load(raw);
42
+ const entries = Array.isArray(parsed) ? parsed : parsed?.recaps;
43
+ if (Array.isArray(entries) && entries.length > 0) {
44
+ indexes.set('meeting_recaps', {
45
+ source: 'meeting_recaps',
46
+ generated: '',
47
+ count: entries.length,
48
+ entries,
49
+ });
50
+ }
51
+ }
52
+ catch {
53
+ // Skip if recap index not found
54
+ }
55
+ return indexes;
56
+ }
57
+ function getIndexes(brainHome) {
58
+ const now = Date.now();
59
+ if (cachedIndexes && (now - cacheTimestamp) < CACHE_TTL_MS) {
60
+ return cachedIndexes;
61
+ }
62
+ cachedIndexes = loadIndexes(brainHome);
63
+ cacheTimestamp = now;
64
+ return cachedIndexes;
65
+ }
66
+ function entryMatchesQuery(entry, fields, lowerQuery) {
67
+ for (const field of fields) {
68
+ const val = entry[field];
69
+ if (typeof val === 'string' && val.toLowerCase().includes(lowerQuery)) {
70
+ return true;
71
+ }
72
+ // Handle mentioned_users array for teams
73
+ if (Array.isArray(val)) {
74
+ for (const item of val) {
75
+ if (typeof item === 'string' && item.toLowerCase().includes(lowerQuery)) {
76
+ return true;
77
+ }
78
+ }
79
+ }
80
+ }
81
+ return false;
82
+ }
83
+ function mapEntry(source, entry) {
84
+ const e = entry;
85
+ switch (source) {
86
+ case 'teams':
87
+ return {
88
+ id: e.id,
89
+ source,
90
+ timestamp: e.timestamp || '',
91
+ title: e.sender || '',
92
+ subtitle: e.chat || '',
93
+ snippet: e.body_preview || '',
94
+ file: e.file,
95
+ };
96
+ case 'emails':
97
+ return {
98
+ id: e.id,
99
+ source,
100
+ timestamp: e.timestamp || '',
101
+ title: e.sender || '',
102
+ subtitle: e.subject || '',
103
+ snippet: e.body_preview || '',
104
+ file: e.file,
105
+ extra: {
106
+ folder: e.folder,
107
+ importance: e.importance,
108
+ thread_id: e.thread_id,
109
+ },
110
+ };
111
+ case 'meetings':
112
+ return {
113
+ id: e.id,
114
+ source,
115
+ timestamp: e.timestamp || '',
116
+ title: e.meeting_name || '',
117
+ subtitle: '',
118
+ snippet: e.body_preview || '',
119
+ file: e.file,
120
+ };
121
+ case 'meeting_recaps':
122
+ return {
123
+ id: e.recap_id || e.id || '',
124
+ source,
125
+ timestamp: e.date_utc || '',
126
+ title: e.meeting_name || '',
127
+ subtitle: e.series_name || '',
128
+ snippet: e.tldr_snippet || '',
129
+ extra: { recapId: e.recap_id, sidecarPath: e.sidecar_path },
130
+ };
131
+ case 'pull_requests':
132
+ return {
133
+ id: e.id,
134
+ source,
135
+ timestamp: '',
136
+ title: e.title || `PR #${e.pr_number}`,
137
+ subtitle: [e.project, e.repository].filter(Boolean).join(' / '),
138
+ snippet: '',
139
+ url: e.url,
140
+ file: e.file,
141
+ extra: {
142
+ pr_number: e.pr_number,
143
+ total_mentions: Number(entry.total_mentions) || 0,
144
+ },
145
+ };
146
+ case 'work_items':
147
+ return {
148
+ id: e.id,
149
+ source,
150
+ timestamp: '',
151
+ title: e.title || `WI #${e.id}`,
152
+ subtitle: e.project || '',
153
+ snippet: '',
154
+ url: e.url,
155
+ file: e.file,
156
+ extra: {
157
+ total_mentions: Number(entry.total_mentions) || 0,
158
+ },
159
+ };
160
+ case 'documents':
161
+ return {
162
+ id: e.id,
163
+ source,
164
+ timestamp: '',
165
+ title: e.title || '',
166
+ subtitle: '',
167
+ snippet: '',
168
+ url: e.url,
169
+ file: e.file,
170
+ extra: {
171
+ total_mentions: Number(entry.total_mentions) || 0,
172
+ },
173
+ };
174
+ default:
175
+ return {
176
+ id: e.id || '',
177
+ source,
178
+ timestamp: e.timestamp || '',
179
+ title: '',
180
+ subtitle: '',
181
+ snippet: e.body_preview || '',
182
+ file: e.file,
183
+ };
184
+ }
185
+ }
186
+ export async function brainSearch(brainHome, query, sources, limit) {
187
+ const maxPerSource = limit || 20;
188
+ const lowerQuery = query.toLowerCase().trim();
189
+ if (!lowerQuery) {
190
+ return { query, groups: [], totalResults: 0 };
191
+ }
192
+ const indexes = getIndexes(brainHome);
193
+ const groups = [];
194
+ let totalResults = 0;
195
+ const sourcesToSearch = sources && sources.length > 0
196
+ ? sources.filter(s => SOURCE_META[s])
197
+ : Object.keys(SOURCE_META);
198
+ for (const source of sourcesToSearch) {
199
+ const index = indexes.get(source);
200
+ if (!index)
201
+ continue;
202
+ const meta = SOURCE_META[source];
203
+ const matched = [];
204
+ for (const entry of index.entries) {
205
+ if (entryMatchesQuery(entry, meta.searchFields, lowerQuery)) {
206
+ matched.push(mapEntry(source, entry));
207
+ }
208
+ }
209
+ if (matched.length === 0)
210
+ continue;
211
+ // Sort by timestamp descending (newest first)
212
+ matched.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
213
+ totalResults += matched.length;
214
+ groups.push({
215
+ source,
216
+ label: meta.label,
217
+ count: matched.length,
218
+ entries: matched.slice(0, maxPerSource),
219
+ });
220
+ }
221
+ return { query, groups, totalResults };
222
+ }
223
+ export async function getSearchIndexStats(brainHome) {
224
+ const indexes = getIndexes(brainHome);
225
+ const sources = [];
226
+ for (const [source, index] of indexes) {
227
+ if (!SOURCE_META[source])
228
+ continue;
229
+ sources.push({
230
+ name: source,
231
+ count: index.count || index.entries.length,
232
+ generated: index.generated || '',
233
+ });
234
+ }
235
+ return { sources };
236
+ }
237
+ /** Clear cache (for testing). */
238
+ export function clearSearchCache() {
239
+ cachedIndexes = null;
240
+ cacheTimestamp = 0;
241
+ }
242
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ type SendFn = (msg: Record<string, unknown>) => void;
2
+ export interface ProxyPortConfig {
3
+ port: number;
4
+ enabled: boolean;
5
+ label?: string;
6
+ }
7
+ export interface ProxyConfig {
8
+ enabled: boolean;
9
+ ports: ProxyPortConfig[];
10
+ }
11
+ interface TunnelRequest {
12
+ type: 'tunnel_request';
13
+ tunnelId: string;
14
+ port: number;
15
+ method: string;
16
+ path: string;
17
+ headers: Record<string, string>;
18
+ body?: string;
19
+ }
20
+ interface TunnelWsOpen {
21
+ type: 'tunnel_ws_open';
22
+ tunnelId: string;
23
+ port: number;
24
+ path: string;
25
+ headers: Record<string, string>;
26
+ }
27
+ interface TunnelWsMessage {
28
+ type: 'tunnel_ws_message';
29
+ tunnelId: string;
30
+ data: string;
31
+ binary: boolean;
32
+ }
33
+ interface TunnelWsClose {
34
+ type: 'tunnel_ws_close';
35
+ tunnelId: string;
36
+ code?: number;
37
+ reason?: string;
38
+ }
39
+ export declare function createTunnelHandler(send: SendFn): {
40
+ handleTunnelRequest: (msg: TunnelRequest) => void;
41
+ handleTunnelWsOpen: (msg: TunnelWsOpen) => void;
42
+ handleTunnelWsMessage: (msg: TunnelWsMessage) => void;
43
+ handleTunnelWsClose: (msg: TunnelWsClose) => void;
44
+ handleProxyConfigUpdate: (msg: {
45
+ config: ProxyConfig;
46
+ }) => void;
47
+ getProxyConfig: () => ProxyConfig;
48
+ cleanup: () => void;
49
+ };
50
+ export {};
package/dist/tunnel.js ADDED
@@ -0,0 +1,216 @@
1
+ // ── Port Proxy tunnel executor (agent side) ─────────────────────────────────
2
+ // Handles tunnel_request (HTTP) and tunnel_ws_* (WebSocket) messages from the
3
+ // server, forwarding them to localhost:<port> on the agent machine.
4
+ import http from 'http';
5
+ import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
6
+ import { join } from 'path';
7
+ import { homedir } from 'os';
8
+ import WebSocket from 'ws';
9
+ const MAX_BODY_SIZE = 10 * 1024 * 1024; // 10MB
10
+ const HTTP_TIMEOUT = 30_000;
11
+ // ── Persistence ──
12
+ const TOOLS_DIR = join(homedir(), '.agentlink', 'tools');
13
+ const PROXY_CONFIG_FILE = join(TOOLS_DIR, 'proxy-config.json');
14
+ function loadPersistedConfig() {
15
+ try {
16
+ const raw = readFileSync(PROXY_CONFIG_FILE, 'utf-8');
17
+ const parsed = JSON.parse(raw);
18
+ // Validate loaded data
19
+ if (typeof parsed.enabled !== 'boolean' || !Array.isArray(parsed.ports)) {
20
+ return { enabled: false, ports: [] };
21
+ }
22
+ return {
23
+ enabled: parsed.enabled,
24
+ ports: parsed.ports.filter(p => validatePort(p.port)).map(p => ({
25
+ port: p.port,
26
+ enabled: !!p.enabled,
27
+ ...(p.label ? { label: p.label } : {}),
28
+ })),
29
+ };
30
+ }
31
+ catch {
32
+ return { enabled: false, ports: [] };
33
+ }
34
+ }
35
+ function persistConfig(config) {
36
+ try {
37
+ if (!existsSync(TOOLS_DIR)) {
38
+ mkdirSync(TOOLS_DIR, { recursive: true });
39
+ }
40
+ writeFileSync(PROXY_CONFIG_FILE, JSON.stringify(config, null, 2) + '\n', 'utf-8');
41
+ }
42
+ catch (err) {
43
+ console.warn('[AgentLink] Failed to persist proxy config:', err);
44
+ }
45
+ }
46
+ // Active tunnel WebSocket connections (tunnelId → ws to localhost)
47
+ const activeTunnelWs = new Map();
48
+ let proxyConfig = loadPersistedConfig();
49
+ function isPortAllowed(port) {
50
+ if (!proxyConfig.enabled)
51
+ return false;
52
+ const entry = proxyConfig.ports.find(p => p.port === port);
53
+ return !!entry && entry.enabled;
54
+ }
55
+ function validatePort(port) {
56
+ return Number.isInteger(port) && port >= 1024 && port <= 65535;
57
+ }
58
+ export function createTunnelHandler(send) {
59
+ function handleTunnelRequest(msg) {
60
+ const { tunnelId, port, method, path, headers, body } = msg;
61
+ if (!validatePort(port)) {
62
+ send({ type: 'tunnel_response', tunnelId, status: 403, error: `Invalid port: ${port}` });
63
+ return;
64
+ }
65
+ if (!isPortAllowed(port)) {
66
+ send({ type: 'tunnel_response', tunnelId, status: 403, error: `Port ${port} is not enabled for proxy` });
67
+ return;
68
+ }
69
+ const bodyBuffer = body ? Buffer.from(body, 'base64') : undefined;
70
+ if (bodyBuffer && bodyBuffer.length > MAX_BODY_SIZE) {
71
+ send({ type: 'tunnel_response', tunnelId, status: 413, error: 'Request body too large' });
72
+ return;
73
+ }
74
+ // Strip hop-by-hop headers that shouldn't be forwarded
75
+ const forwardHeaders = {};
76
+ for (const [k, v] of Object.entries(headers)) {
77
+ const lower = k.toLowerCase();
78
+ if (lower === 'host' || lower === 'connection' || lower === 'upgrade' || lower === 'transfer-encoding')
79
+ continue;
80
+ forwardHeaders[k] = v;
81
+ }
82
+ forwardHeaders['host'] = `localhost:${port}`;
83
+ const req = http.request({
84
+ hostname: '127.0.0.1',
85
+ port,
86
+ method,
87
+ path,
88
+ headers: forwardHeaders,
89
+ timeout: HTTP_TIMEOUT,
90
+ }, (res) => {
91
+ const chunks = [];
92
+ let totalSize = 0;
93
+ res.on('data', (chunk) => {
94
+ totalSize += chunk.length;
95
+ if (totalSize > MAX_BODY_SIZE) {
96
+ res.destroy();
97
+ send({ type: 'tunnel_response', tunnelId, status: 502, error: 'Response body too large' });
98
+ return;
99
+ }
100
+ chunks.push(chunk);
101
+ });
102
+ res.on('end', () => {
103
+ const respHeaders = {};
104
+ for (const [k, v] of Object.entries(res.headers)) {
105
+ if (v)
106
+ respHeaders[k] = Array.isArray(v) ? v.join(', ') : v;
107
+ }
108
+ send({
109
+ type: 'tunnel_response',
110
+ tunnelId,
111
+ status: res.statusCode || 502,
112
+ headers: respHeaders,
113
+ body: Buffer.concat(chunks).toString('base64'),
114
+ });
115
+ });
116
+ res.on('error', (err) => {
117
+ send({ type: 'tunnel_response', tunnelId, status: 502, error: err.message });
118
+ });
119
+ });
120
+ req.on('error', (err) => {
121
+ send({ type: 'tunnel_response', tunnelId, status: 502, error: err.message });
122
+ });
123
+ req.on('timeout', () => {
124
+ req.destroy();
125
+ send({ type: 'tunnel_response', tunnelId, status: 504, error: 'Request timed out' });
126
+ });
127
+ if (bodyBuffer) {
128
+ req.write(bodyBuffer);
129
+ }
130
+ req.end();
131
+ }
132
+ function handleTunnelWsOpen(msg) {
133
+ const { tunnelId, port, path, headers } = msg;
134
+ if (!validatePort(port) || !isPortAllowed(port)) {
135
+ send({ type: 'tunnel_ws_error', tunnelId, message: `Port ${port} is not enabled for proxy` });
136
+ send({ type: 'tunnel_ws_close', tunnelId, code: 1008, reason: 'Port not allowed' });
137
+ return;
138
+ }
139
+ const wsUrl = `ws://127.0.0.1:${port}${path || '/'}`;
140
+ const forwardHeaders = {};
141
+ for (const [k, v] of Object.entries(headers)) {
142
+ const lower = k.toLowerCase();
143
+ if (lower === 'host' || lower === 'connection' || lower === 'upgrade' ||
144
+ lower === 'sec-websocket-key' || lower === 'sec-websocket-version' ||
145
+ lower === 'sec-websocket-extensions')
146
+ continue;
147
+ forwardHeaders[k] = v;
148
+ }
149
+ const ws = new WebSocket(wsUrl, { headers: forwardHeaders });
150
+ ws.on('open', () => {
151
+ activeTunnelWs.set(tunnelId, ws);
152
+ send({ type: 'tunnel_ws_opened', tunnelId });
153
+ });
154
+ ws.on('message', (data, isBinary) => {
155
+ const buf = Buffer.isBuffer(data) ? data : Buffer.from(data);
156
+ send({ type: 'tunnel_ws_message', tunnelId, data: buf.toString('base64'), binary: isBinary });
157
+ });
158
+ ws.on('close', (code, reason) => {
159
+ activeTunnelWs.delete(tunnelId);
160
+ send({ type: 'tunnel_ws_close', tunnelId, code, reason: reason?.toString() });
161
+ });
162
+ ws.on('error', (err) => {
163
+ activeTunnelWs.delete(tunnelId);
164
+ send({ type: 'tunnel_ws_error', tunnelId, message: err.message });
165
+ });
166
+ }
167
+ function handleTunnelWsMessage(msg) {
168
+ const ws = activeTunnelWs.get(msg.tunnelId);
169
+ if (!ws || ws.readyState !== WebSocket.OPEN)
170
+ return;
171
+ const buf = Buffer.from(msg.data, 'base64');
172
+ ws.send(msg.binary ? buf : buf.toString('utf8'));
173
+ }
174
+ function handleTunnelWsClose(msg) {
175
+ const ws = activeTunnelWs.get(msg.tunnelId);
176
+ if (ws) {
177
+ activeTunnelWs.delete(msg.tunnelId);
178
+ ws.close(msg.code || 1000, msg.reason || '');
179
+ }
180
+ }
181
+ function handleProxyConfigUpdate(msg) {
182
+ // Validate ports
183
+ const validPorts = msg.config.ports.filter(p => validatePort(p.port));
184
+ proxyConfig = {
185
+ enabled: !!msg.config.enabled,
186
+ ports: validPorts.map(p => ({
187
+ port: p.port,
188
+ enabled: !!p.enabled,
189
+ ...(p.label ? { label: p.label } : {}),
190
+ })),
191
+ };
192
+ console.log(`[AgentLink] Proxy config updated: enabled=${proxyConfig.enabled}, ports=[${proxyConfig.ports.map(p => `${p.port}(${p.enabled ? 'on' : 'off'})`).join(', ')}]`);
193
+ persistConfig(proxyConfig);
194
+ // Echo back confirmed config to server/web
195
+ send({ type: 'proxy_config_updated', config: proxyConfig });
196
+ }
197
+ function getProxyConfig() {
198
+ return proxyConfig;
199
+ }
200
+ function cleanup() {
201
+ for (const [tunnelId, ws] of activeTunnelWs) {
202
+ ws.close(1001, 'Agent shutting down');
203
+ activeTunnelWs.delete(tunnelId);
204
+ }
205
+ }
206
+ return {
207
+ handleTunnelRequest,
208
+ handleTunnelWsOpen,
209
+ handleTunnelWsMessage,
210
+ handleTunnelWsClose,
211
+ handleProxyConfigUpdate,
212
+ getProxyConfig,
213
+ cleanup,
214
+ };
215
+ }
216
+ //# sourceMappingURL=tunnel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../src/tunnel.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-link/agent",
3
- "version": "0.1.130",
3
+ "version": "0.1.132",
4
4
  "description": "AgentLink local agent CLI",
5
5
  "license": "MIT",
6
6
  "repository": {