agent-relay 1.0.11 → 1.0.13
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 +15 -7
- package/dist/bridge/config.d.ts.map +1 -1
- package/dist/bridge/multi-project-client.d.ts.map +1 -1
- package/dist/bridge/multi-project-client.js +1 -1
- package/dist/bridge/multi-project-client.js.map +1 -1
- package/dist/bridge/spawner.d.ts +51 -8
- package/dist/bridge/spawner.d.ts.map +1 -1
- package/dist/bridge/spawner.js +186 -73
- package/dist/bridge/spawner.js.map +1 -1
- package/dist/bridge/types.d.ts +4 -2
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/cli/index.js +162 -297
- package/dist/cli/index.js.map +1 -1
- package/dist/daemon/router.d.ts.map +1 -1
- package/dist/daemon/router.js.map +1 -1
- package/dist/dashboard/out/404.html +1 -0
- package/dist/dashboard/out/_next/static/VaJQUKoHpKVXkxkyQVNa4/_buildManifest.js +1 -0
- package/dist/dashboard/out/_next/static/VaJQUKoHpKVXkxkyQVNa4/_ssgManifest.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/117-3bef7b19f3e60751.js +2 -0
- package/dist/dashboard/out/_next/static/chunks/648-6cf686106c891ad3.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/_not-found/page-8ff6572bc7c9bc61.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/layout-c9d8c5d95e48c6bf.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/metrics/page-8aa9936bc6c771ab.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/app/page-967d136fefe19b95.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/fd9d1056-26bd8d656b496dba.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/framework-f66176bb897dc684.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/main-app-bae2e535de00de50.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/main-e0a1f53fe0617a63.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/pages/_app-72b849fbd24ac258.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/pages/_error-7ba65e1336b92748.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/dashboard/out/_next/static/chunks/webpack-c81f7fd28659d64f.js +1 -0
- package/dist/dashboard/out/_next/static/css/34bb8e70353694d8.css +1 -0
- package/dist/dashboard/out/index.html +1 -0
- package/dist/dashboard/out/index.txt +7 -0
- package/dist/dashboard/out/metrics.html +515 -0
- package/dist/dashboard/out/metrics.txt +7 -0
- package/dist/dashboard-server/metrics.d.ts.map +1 -0
- package/dist/dashboard-server/metrics.js.map +1 -0
- package/dist/dashboard-server/needs-attention.d.ts.map +1 -0
- package/dist/dashboard-server/needs-attention.js.map +1 -0
- package/dist/dashboard-server/server.d.ts.map +1 -0
- package/dist/{dashboard → dashboard-server}/server.js +24 -40
- package/dist/dashboard-server/server.js.map +1 -0
- package/dist/dashboard-server/start.d.ts.map +1 -0
- package/dist/dashboard-server/start.js.map +1 -0
- package/dist/utils/update-checker.d.ts +26 -0
- package/dist/utils/update-checker.d.ts.map +1 -0
- package/dist/utils/update-checker.js +174 -0
- package/dist/utils/update-checker.js.map +1 -0
- package/dist/wrapper/pty-wrapper.d.ts +140 -0
- package/dist/wrapper/pty-wrapper.d.ts.map +1 -0
- package/dist/wrapper/pty-wrapper.js +508 -0
- package/dist/wrapper/pty-wrapper.js.map +1 -0
- package/dist/wrapper/tmux-wrapper.d.ts +1 -1
- package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
- package/dist/wrapper/tmux-wrapper.js +1 -1
- package/dist/wrapper/tmux-wrapper.js.map +1 -1
- package/docs/AGENTS.md +43 -30
- package/docs/INTEGRATION-GUIDE.md +1 -1
- package/docs/PROTOCOL.md +16 -10
- package/docs/agent-relay-snippet.md +21 -17
- package/package.json +7 -5
- package/scripts/postinstall.js +30 -1
- package/dist/dashboard/metrics.d.ts.map +0 -1
- package/dist/dashboard/metrics.js.map +0 -1
- package/dist/dashboard/needs-attention.d.ts.map +0 -1
- package/dist/dashboard/needs-attention.js.map +0 -1
- package/dist/dashboard/public/bridge.html +0 -1272
- package/dist/dashboard/public/index.html +0 -2262
- package/dist/dashboard/public/js/app.js +0 -184
- package/dist/dashboard/public/js/app.js.map +0 -7
- package/dist/dashboard/public/metrics.html +0 -999
- package/dist/dashboard/server.d.ts.map +0 -1
- package/dist/dashboard/server.js.map +0 -1
- package/dist/dashboard/start.d.ts.map +0 -1
- package/dist/dashboard/start.js.map +0 -1
- package/dist/dashboard-v2/index.d.ts +0 -10
- package/dist/dashboard-v2/index.d.ts.map +0 -1
- package/dist/dashboard-v2/index.js +0 -54
- package/dist/dashboard-v2/index.js.map +0 -1
- package/dist/dashboard-v2/lib/api.d.ts +0 -95
- package/dist/dashboard-v2/lib/api.d.ts.map +0 -1
- package/dist/dashboard-v2/lib/api.js +0 -270
- package/dist/dashboard-v2/lib/api.js.map +0 -1
- package/dist/dashboard-v2/lib/colors.d.ts +0 -61
- package/dist/dashboard-v2/lib/colors.d.ts.map +0 -1
- package/dist/dashboard-v2/lib/colors.js +0 -198
- package/dist/dashboard-v2/lib/colors.js.map +0 -1
- package/dist/dashboard-v2/lib/hierarchy.d.ts +0 -74
- package/dist/dashboard-v2/lib/hierarchy.d.ts.map +0 -1
- package/dist/dashboard-v2/lib/hierarchy.js +0 -196
- package/dist/dashboard-v2/lib/hierarchy.js.map +0 -1
- package/dist/dashboard-v2/types/index.d.ts +0 -154
- package/dist/dashboard-v2/types/index.d.ts.map +0 -1
- package/dist/dashboard-v2/types/index.js +0 -6
- package/dist/dashboard-v2/types/index.js.map +0 -1
- /package/dist/{dashboard → dashboard-server}/metrics.d.ts +0 -0
- /package/dist/{dashboard → dashboard-server}/metrics.js +0 -0
- /package/dist/{dashboard → dashboard-server}/needs-attention.d.ts +0 -0
- /package/dist/{dashboard → dashboard-server}/needs-attention.js +0 -0
- /package/dist/{dashboard → dashboard-server}/server.d.ts +0 -0
- /package/dist/{dashboard → dashboard-server}/start.d.ts +0 -0
- /package/dist/{dashboard → dashboard-server}/start.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard-server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/dashboard-server/start.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/dashboard-server/start.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AAChE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;AAEhC,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAEzC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-update checker for agent-relay
|
|
3
|
+
*
|
|
4
|
+
* Checks npm registry for newer versions and notifies users.
|
|
5
|
+
* Caches results to avoid excessive API calls (checks at most once per hour).
|
|
6
|
+
*/
|
|
7
|
+
export interface UpdateInfo {
|
|
8
|
+
updateAvailable: boolean;
|
|
9
|
+
currentVersion: string;
|
|
10
|
+
latestVersion: string | null;
|
|
11
|
+
error?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check for updates (uses cache to avoid excessive API calls)
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkForUpdates(currentVersion: string): Promise<UpdateInfo>;
|
|
17
|
+
/**
|
|
18
|
+
* Print update notification to stderr (non-blocking)
|
|
19
|
+
*/
|
|
20
|
+
export declare function printUpdateNotification(info: UpdateInfo): void;
|
|
21
|
+
/**
|
|
22
|
+
* Check for updates in the background and print notification if available.
|
|
23
|
+
* This is non-blocking and errors are silently ignored.
|
|
24
|
+
*/
|
|
25
|
+
export declare function checkForUpdatesInBackground(currentVersion: string): void;
|
|
26
|
+
//# sourceMappingURL=update-checker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoGH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAiDjF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAmB9D;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAWxE"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-update checker for agent-relay
|
|
3
|
+
*
|
|
4
|
+
* Checks npm registry for newer versions and notifies users.
|
|
5
|
+
* Caches results to avoid excessive API calls (checks at most once per hour).
|
|
6
|
+
*/
|
|
7
|
+
import fs from 'node:fs';
|
|
8
|
+
import path from 'node:path';
|
|
9
|
+
import https from 'node:https';
|
|
10
|
+
import os from 'node:os';
|
|
11
|
+
import { compare } from 'compare-versions';
|
|
12
|
+
const PACKAGE_NAME = 'agent-relay';
|
|
13
|
+
const CHECK_INTERVAL_MS = 60 * 60 * 1000; // 1 hour
|
|
14
|
+
const NPM_REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
|
|
15
|
+
function getCachePath() {
|
|
16
|
+
const cacheDir = path.join(os.homedir(), '.agent-relay');
|
|
17
|
+
return path.join(cacheDir, 'update-cache.json');
|
|
18
|
+
}
|
|
19
|
+
function readCache() {
|
|
20
|
+
try {
|
|
21
|
+
const cachePath = getCachePath();
|
|
22
|
+
if (!fs.existsSync(cachePath))
|
|
23
|
+
return null;
|
|
24
|
+
const data = fs.readFileSync(cachePath, 'utf-8');
|
|
25
|
+
return JSON.parse(data);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function writeCache(cache) {
|
|
32
|
+
try {
|
|
33
|
+
const cachePath = getCachePath();
|
|
34
|
+
const cacheDir = path.dirname(cachePath);
|
|
35
|
+
if (!fs.existsSync(cacheDir)) {
|
|
36
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
37
|
+
}
|
|
38
|
+
fs.writeFileSync(cachePath, JSON.stringify(cache, null, 2));
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Silently ignore cache write errors
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function fetchLatestVersion() {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
const req = https.get(NPM_REGISTRY_URL, { timeout: 5000 }, (res) => {
|
|
47
|
+
if (res.statusCode === 301 || res.statusCode === 302) {
|
|
48
|
+
// Follow redirect
|
|
49
|
+
const location = res.headers.location;
|
|
50
|
+
if (location) {
|
|
51
|
+
https.get(location, { timeout: 5000 }, (redirectRes) => {
|
|
52
|
+
handleResponse(redirectRes, resolve, reject);
|
|
53
|
+
}).on('error', reject);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
handleResponse(res, resolve, reject);
|
|
58
|
+
});
|
|
59
|
+
req.on('error', reject);
|
|
60
|
+
req.on('timeout', () => {
|
|
61
|
+
req.destroy();
|
|
62
|
+
reject(new Error('Request timed out'));
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
function handleResponse(res, resolve, reject) {
|
|
67
|
+
if (res.statusCode !== 200) {
|
|
68
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
let data = '';
|
|
72
|
+
res.on('data', (chunk) => { data += chunk.toString(); });
|
|
73
|
+
res.on('end', () => {
|
|
74
|
+
try {
|
|
75
|
+
const json = JSON.parse(data);
|
|
76
|
+
if (json.version) {
|
|
77
|
+
resolve(json.version);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
reject(new Error('No version in response'));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
reject(err);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
res.on('error', reject);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Check for updates (uses cache to avoid excessive API calls)
|
|
91
|
+
*/
|
|
92
|
+
export async function checkForUpdates(currentVersion) {
|
|
93
|
+
const cache = readCache();
|
|
94
|
+
const now = Date.now();
|
|
95
|
+
// Return cached result if still valid
|
|
96
|
+
if (cache && (now - cache.lastCheck) < CHECK_INTERVAL_MS) {
|
|
97
|
+
const updateAvailable = cache.latestVersion
|
|
98
|
+
? compare(cache.latestVersion, currentVersion, '>')
|
|
99
|
+
: false;
|
|
100
|
+
return {
|
|
101
|
+
updateAvailable,
|
|
102
|
+
currentVersion,
|
|
103
|
+
latestVersion: cache.latestVersion,
|
|
104
|
+
error: cache.error,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// Fetch latest version from npm
|
|
108
|
+
try {
|
|
109
|
+
const latestVersion = await fetchLatestVersion();
|
|
110
|
+
const updateAvailable = compare(latestVersion, currentVersion, '>');
|
|
111
|
+
writeCache({
|
|
112
|
+
lastCheck: now,
|
|
113
|
+
latestVersion,
|
|
114
|
+
});
|
|
115
|
+
return {
|
|
116
|
+
updateAvailable,
|
|
117
|
+
currentVersion,
|
|
118
|
+
latestVersion,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
const error = err.message;
|
|
123
|
+
// Cache the error to avoid repeated failed requests
|
|
124
|
+
writeCache({
|
|
125
|
+
lastCheck: now,
|
|
126
|
+
latestVersion: cache?.latestVersion || null,
|
|
127
|
+
error,
|
|
128
|
+
});
|
|
129
|
+
return {
|
|
130
|
+
updateAvailable: false,
|
|
131
|
+
currentVersion,
|
|
132
|
+
latestVersion: cache?.latestVersion || null,
|
|
133
|
+
error,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Print update notification to stderr (non-blocking)
|
|
139
|
+
*/
|
|
140
|
+
export function printUpdateNotification(info) {
|
|
141
|
+
if (!info.updateAvailable || !info.latestVersion)
|
|
142
|
+
return;
|
|
143
|
+
const line1 = `Update available: ${info.currentVersion} → ${info.latestVersion}`;
|
|
144
|
+
const line2 = 'Run: npm install -g agent-relay';
|
|
145
|
+
const contentWidth = Math.max(line1.length, line2.length);
|
|
146
|
+
const boxWidth = contentWidth + 4; // 2 chars padding each side
|
|
147
|
+
const top = '╭' + '─'.repeat(boxWidth) + '╮';
|
|
148
|
+
const bottom = '╰' + '─'.repeat(boxWidth) + '╯';
|
|
149
|
+
const row1 = '│ ' + line1.padEnd(contentWidth) + ' │';
|
|
150
|
+
const row2 = '│ ' + line2.padEnd(contentWidth) + ' │';
|
|
151
|
+
console.error('');
|
|
152
|
+
console.error(top);
|
|
153
|
+
console.error(row1);
|
|
154
|
+
console.error(row2);
|
|
155
|
+
console.error(bottom);
|
|
156
|
+
console.error('');
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Check for updates in the background and print notification if available.
|
|
160
|
+
* This is non-blocking and errors are silently ignored.
|
|
161
|
+
*/
|
|
162
|
+
export function checkForUpdatesInBackground(currentVersion) {
|
|
163
|
+
// Run async check without awaiting
|
|
164
|
+
checkForUpdates(currentVersion)
|
|
165
|
+
.then(info => {
|
|
166
|
+
if (info.updateAvailable) {
|
|
167
|
+
printUpdateNotification(info);
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
.catch(() => {
|
|
171
|
+
// Silently ignore errors
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=update-checker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../../src/utils/update-checker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PtyWrapper - Node-PTY based wrapper for spawned workers
|
|
3
|
+
*
|
|
4
|
+
* Unlike TmuxWrapper which provides interactive terminal access,
|
|
5
|
+
* PtyWrapper runs agents headlessly with output capture for logs.
|
|
6
|
+
* Used for spawned workers that don't need direct user interaction.
|
|
7
|
+
*/
|
|
8
|
+
import { EventEmitter } from 'node:events';
|
|
9
|
+
export interface PtyWrapperConfig {
|
|
10
|
+
name: string;
|
|
11
|
+
command: string;
|
|
12
|
+
args?: string[];
|
|
13
|
+
socketPath?: string;
|
|
14
|
+
cwd?: string;
|
|
15
|
+
env?: Record<string, string>;
|
|
16
|
+
/** Relay prefix pattern (default: '->relay:') */
|
|
17
|
+
relayPrefix?: string;
|
|
18
|
+
/** Directory to write log files (optional) */
|
|
19
|
+
logsDir?: string;
|
|
20
|
+
/** Dashboard port for spawn/release API calls (enables nested spawning from spawned agents) */
|
|
21
|
+
dashboardPort?: number;
|
|
22
|
+
/** Callback for spawn commands (fallback if dashboardPort not set) */
|
|
23
|
+
onSpawn?: (name: string, cli: string, task: string) => Promise<void>;
|
|
24
|
+
/** Callback for release commands (fallback if dashboardPort not set) */
|
|
25
|
+
onRelease?: (name: string) => Promise<void>;
|
|
26
|
+
/** Callback when agent exits */
|
|
27
|
+
onExit?: (code: number) => void;
|
|
28
|
+
}
|
|
29
|
+
export interface PtyWrapperEvents {
|
|
30
|
+
output: (data: string) => void;
|
|
31
|
+
exit: (code: number) => void;
|
|
32
|
+
error: (error: Error) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare class PtyWrapper extends EventEmitter {
|
|
35
|
+
private config;
|
|
36
|
+
private ptyProcess?;
|
|
37
|
+
private client;
|
|
38
|
+
private running;
|
|
39
|
+
private outputBuffer;
|
|
40
|
+
private rawBuffer;
|
|
41
|
+
private relayPrefix;
|
|
42
|
+
private sentMessageHashes;
|
|
43
|
+
private processedSpawnCommands;
|
|
44
|
+
private processedReleaseCommands;
|
|
45
|
+
private messageQueue;
|
|
46
|
+
private isInjecting;
|
|
47
|
+
private logFilePath?;
|
|
48
|
+
private logStream?;
|
|
49
|
+
constructor(config: PtyWrapperConfig);
|
|
50
|
+
/**
|
|
51
|
+
* Start the agent process
|
|
52
|
+
*/
|
|
53
|
+
start(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Handle output from the process
|
|
56
|
+
*/
|
|
57
|
+
private handleOutput;
|
|
58
|
+
/**
|
|
59
|
+
* Parse relay commands from output.
|
|
60
|
+
* Handles both single-line and multi-line (fenced) formats.
|
|
61
|
+
* Deduplication via sentMessageHashes.
|
|
62
|
+
*/
|
|
63
|
+
private parseRelayCommands;
|
|
64
|
+
/**
|
|
65
|
+
* Parse fenced multi-line messages: ->relay:Target <<<\n...\n>>>
|
|
66
|
+
*/
|
|
67
|
+
private parseFencedMessages;
|
|
68
|
+
/**
|
|
69
|
+
* Parse single-line messages (no fenced format)
|
|
70
|
+
*/
|
|
71
|
+
private parseSingleLineMessages;
|
|
72
|
+
/**
|
|
73
|
+
* Strip ANSI escape codes from string.
|
|
74
|
+
* Converts cursor movements to spaces to preserve visual layout.
|
|
75
|
+
*/
|
|
76
|
+
private stripAnsi;
|
|
77
|
+
/**
|
|
78
|
+
* Send relay command to daemon
|
|
79
|
+
*/
|
|
80
|
+
private sendRelayCommand;
|
|
81
|
+
/**
|
|
82
|
+
* Parse spawn/release commands from output
|
|
83
|
+
* Uses string-based parsing for robustness with PTY output.
|
|
84
|
+
* Delegates to dashboard API if dashboardPort is set (for nested spawns).
|
|
85
|
+
*/
|
|
86
|
+
private parseSpawnReleaseCommands;
|
|
87
|
+
/**
|
|
88
|
+
* Execute spawn via API or callback
|
|
89
|
+
*/
|
|
90
|
+
private executeSpawn;
|
|
91
|
+
/**
|
|
92
|
+
* Execute release via API or callback
|
|
93
|
+
*/
|
|
94
|
+
private executeRelease;
|
|
95
|
+
/**
|
|
96
|
+
* Handle incoming message from relay
|
|
97
|
+
*/
|
|
98
|
+
private handleIncomingMessage;
|
|
99
|
+
/**
|
|
100
|
+
* Process queued messages
|
|
101
|
+
*/
|
|
102
|
+
private processMessageQueue;
|
|
103
|
+
/**
|
|
104
|
+
* Inject usage instructions
|
|
105
|
+
*/
|
|
106
|
+
private injectInstructions;
|
|
107
|
+
/**
|
|
108
|
+
* Write directly to the PTY
|
|
109
|
+
*/
|
|
110
|
+
write(data: string): void;
|
|
111
|
+
/**
|
|
112
|
+
* Get captured output lines
|
|
113
|
+
*/
|
|
114
|
+
getOutput(limit?: number): string[];
|
|
115
|
+
/**
|
|
116
|
+
* Get raw output buffer
|
|
117
|
+
*/
|
|
118
|
+
getRawOutput(): string;
|
|
119
|
+
/**
|
|
120
|
+
* Stop the agent process
|
|
121
|
+
*/
|
|
122
|
+
stop(): void;
|
|
123
|
+
/**
|
|
124
|
+
* Kill the process immediately
|
|
125
|
+
*/
|
|
126
|
+
kill(): void;
|
|
127
|
+
/**
|
|
128
|
+
* Sleep helper
|
|
129
|
+
*/
|
|
130
|
+
private sleep;
|
|
131
|
+
/**
|
|
132
|
+
* Close the log file stream
|
|
133
|
+
*/
|
|
134
|
+
private closeLogStream;
|
|
135
|
+
get isRunning(): boolean;
|
|
136
|
+
get name(): string;
|
|
137
|
+
get pid(): number | undefined;
|
|
138
|
+
get logPath(): string | undefined;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=pty-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pty-wrapper.d.ts","sourceRoot":"","sources":["../../src/wrapper/pty-wrapper.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,wBAAwB,CAA0B;IAC1D,OAAO,CAAC,YAAY,CAAgE;IACpF,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAEvB,MAAM,EAAE,gBAAgB;IAmBpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D5B;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4C/B;;;OAGG;IACH,OAAO,CAAC,SAAS;IAkBjB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAmDjC;;OAEG;YACW,YAAY;IA4B1B;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;YACW,mBAAmB;IAkCjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAOnC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,IAAI,IAAI,IAAI;IAkBZ;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;CACF"}
|