247-cli 2.23.2 → 2.23.4
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/agent/dist/db/index.d.ts +0 -1
- package/agent/dist/db/index.d.ts.map +1 -1
- package/agent/dist/db/index.js +85 -382
- package/agent/dist/db/index.js.map +1 -1
- package/agent/dist/db/schema.d.ts +3 -49
- package/agent/dist/db/schema.d.ts.map +1 -1
- package/agent/dist/db/schema.js +34 -44
- package/agent/dist/db/schema.js.map +1 -1
- package/agent/dist/db/sessions.d.ts +2 -52
- package/agent/dist/db/sessions.d.ts.map +1 -1
- package/agent/dist/db/sessions.js +8 -194
- package/agent/dist/db/sessions.js.map +1 -1
- package/agent/dist/routes/index.d.ts +0 -1
- package/agent/dist/routes/index.d.ts.map +1 -1
- package/agent/dist/routes/index.js +0 -1
- package/agent/dist/routes/index.js.map +1 -1
- package/agent/dist/routes/sessions.d.ts +1 -0
- package/agent/dist/routes/sessions.d.ts.map +1 -1
- package/agent/dist/routes/sessions.js +16 -375
- package/agent/dist/routes/sessions.js.map +1 -1
- package/agent/dist/server.d.ts.map +1 -1
- package/agent/dist/server.js +22 -17
- package/agent/dist/server.js.map +1 -1
- package/agent/dist/services/index.d.ts +1 -6
- package/agent/dist/services/index.d.ts.map +1 -1
- package/agent/dist/services/index.js +4 -4
- package/agent/dist/services/index.js.map +1 -1
- package/agent/dist/terminal.d.ts +0 -11
- package/agent/dist/terminal.d.ts.map +1 -1
- package/agent/dist/terminal.js +6 -60
- package/agent/dist/terminal.js.map +1 -1
- package/agent/dist/updater.d.ts +1 -2
- package/agent/dist/updater.d.ts.map +1 -1
- package/agent/dist/updater.js +3 -25
- package/agent/dist/updater.js.map +1 -1
- package/agent/dist/websocket-handlers.d.ts +17 -3
- package/agent/dist/websocket-handlers.d.ts.map +1 -1
- package/agent/dist/websocket-handlers.js +81 -127
- package/agent/dist/websocket-handlers.js.map +1 -1
- package/agent/node_modules/247-shared/dist/types/index.d.ts +1 -111
- package/agent/node_modules/247-shared/dist/types/index.d.ts.map +1 -1
- package/agent/node_modules/247-shared/dist/types/index.js +1 -47
- package/agent/node_modules/247-shared/dist/types/index.js.map +1 -1
- package/agent/node_modules/247-shared/package.json +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +5 -23
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +0 -11
- package/dist/commands/status.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/paths.d.ts +1 -3
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +1 -2
- package/dist/lib/paths.js.map +1 -1
- package/package.json +1 -1
- package/agent/dist/db/history.d.ts +0 -37
- package/agent/dist/db/history.d.ts.map +0 -1
- package/agent/dist/db/history.js +0 -98
- package/agent/dist/db/history.js.map +0 -1
- package/agent/dist/routes/attention.d.ts +0 -10
- package/agent/dist/routes/attention.d.ts.map +0 -1
- package/agent/dist/routes/attention.js +0 -123
- package/agent/dist/routes/attention.js.map +0 -1
- package/agent/dist/services/cleanup.d.ts +0 -45
- package/agent/dist/services/cleanup.d.ts.map +0 -1
- package/agent/dist/services/cleanup.js +0 -130
- package/agent/dist/services/cleanup.js.map +0 -1
- package/agent/dist/services/execution.d.ts +0 -53
- package/agent/dist/services/execution.d.ts.map +0 -1
- package/agent/dist/services/execution.js +0 -75
- package/agent/dist/services/execution.js.map +0 -1
- package/agent/dist/services/worktree.d.ts +0 -41
- package/agent/dist/services/worktree.d.ts.map +0 -1
- package/agent/dist/services/worktree.js +0 -139
- package/agent/dist/services/worktree.js.map +0 -1
- package/agent/dist/setup-hooks.d.ts +0 -10
- package/agent/dist/setup-hooks.d.ts.map +0 -1
- package/agent/dist/setup-hooks.js +0 -157
- package/agent/dist/setup-hooks.js.map +0 -1
- package/agent/dist/status.d.ts +0 -51
- package/agent/dist/status.d.ts.map +0 -1
- package/agent/dist/status.js +0 -142
- package/agent/dist/status.js.map +0 -1
- package/dist/commands/hooks.d.ts +0 -3
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -85
- package/dist/commands/hooks.js.map +0 -1
- package/dist/hooks/installer.d.ts +0 -21
- package/dist/hooks/installer.d.ts.map +0 -1
- package/dist/hooks/installer.js +0 -114
- package/dist/hooks/installer.js.map +0 -1
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type { WorktreeInfo } from './worktree.js';
|
|
3
|
-
export { ExecutionManager, executionManager } from './execution.js';
|
|
4
|
-
export type { SessionInfo, CapacityInfo } from './execution.js';
|
|
5
|
-
export { CleanupService, initCleanupService, getCleanupService } from './cleanup.js';
|
|
6
|
-
export type { CleanupConfig, CleanupResult } from './cleanup.js';
|
|
1
|
+
export {};
|
|
7
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// Services index -
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
1
|
+
// Services index - simplified (no worktree, execution, or cleanup services)
|
|
2
|
+
// These services were removed as part of the simplification effort
|
|
3
|
+
// The agent now focuses on simple terminal access without git worktree isolation
|
|
4
|
+
export {};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,mEAAmE;AACnE,iFAAiF"}
|
package/agent/dist/terminal.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Get the path to the output file for a spawn session
|
|
3
|
-
*/
|
|
4
|
-
export declare function getSpawnOutputPath(sessionName: string): string;
|
|
5
|
-
/**
|
|
6
|
-
* Read and cleanup spawn output file
|
|
7
|
-
* Returns the content or undefined if file doesn't exist
|
|
8
|
-
*/
|
|
9
|
-
export declare function readAndCleanupSpawnOutput(sessionName: string): string | undefined;
|
|
10
1
|
export interface Terminal {
|
|
11
2
|
write(data: string): void;
|
|
12
3
|
resize(cols: number, rows: number): void;
|
|
@@ -23,8 +14,6 @@ export interface Terminal {
|
|
|
23
14
|
export interface CreateTerminalOptions {
|
|
24
15
|
/** Custom environment variables to inject into the session */
|
|
25
16
|
customEnvVars?: Record<string, string>;
|
|
26
|
-
/** For spawned sessions - run this command directly instead of interactive shell */
|
|
27
|
-
spawnCommand?: string;
|
|
28
17
|
}
|
|
29
18
|
export declare function createTerminal(cwd: string, sessionName: string, options?: CreateTerminalOptions | Record<string, string>): Terminal;
|
|
30
19
|
//# sourceMappingURL=terminal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAaA
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC;IAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAC3D,QAAQ,CA+LV"}
|
package/agent/dist/terminal.js
CHANGED
|
@@ -1,37 +1,14 @@
|
|
|
1
1
|
import * as pty from '@homebridge/node-pty-prebuilt-multiarch';
|
|
2
2
|
import { exec, execSync } from 'child_process';
|
|
3
3
|
import { promisify } from 'util';
|
|
4
|
-
import * as fs from 'fs';
|
|
5
|
-
import * as os from 'os';
|
|
6
4
|
import { generateInitScript, writeInitScript, cleanupInitScript, detectUserShell, } from './lib/init-script.js';
|
|
7
5
|
import * as path from 'path';
|
|
8
|
-
/**
|
|
9
|
-
* Get the path to the output file for a spawn session
|
|
10
|
-
*/
|
|
11
|
-
export function getSpawnOutputPath(sessionName) {
|
|
12
|
-
return path.join(os.tmpdir(), `247-spawn-${sessionName}.txt`);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Read and cleanup spawn output file
|
|
16
|
-
* Returns the content or undefined if file doesn't exist
|
|
17
|
-
*/
|
|
18
|
-
export function readAndCleanupSpawnOutput(sessionName) {
|
|
19
|
-
const outputPath = getSpawnOutputPath(sessionName);
|
|
20
|
-
try {
|
|
21
|
-
const content = fs.readFileSync(outputPath, 'utf-8');
|
|
22
|
-
fs.unlinkSync(outputPath); // Cleanup
|
|
23
|
-
return content;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
6
|
const execAsync = promisify(exec);
|
|
30
7
|
export function createTerminal(cwd, sessionName, options = {}) {
|
|
31
8
|
// Support both old signature (customEnvVars object) and new options object
|
|
32
|
-
const
|
|
33
|
-
? options
|
|
34
|
-
:
|
|
9
|
+
const customEnvVars = 'customEnvVars' in options
|
|
10
|
+
? (options.customEnvVars ?? {})
|
|
11
|
+
: options;
|
|
35
12
|
// Check if session already exists before spawning
|
|
36
13
|
let existingSession = false;
|
|
37
14
|
try {
|
|
@@ -56,29 +33,6 @@ export function createTerminal(cwd, sessionName, options = {}) {
|
|
|
56
33
|
if (existingSession) {
|
|
57
34
|
tmuxArgs = ['attach-session', '-t', sessionName];
|
|
58
35
|
}
|
|
59
|
-
else if (spawnCommand) {
|
|
60
|
-
// Spawn mode: run command directly without init script (for claude -p)
|
|
61
|
-
console.log(`[Terminal] Spawn mode: running command directly`);
|
|
62
|
-
// Build environment variables for tmux -e flags
|
|
63
|
-
const envFlags = [
|
|
64
|
-
'-e',
|
|
65
|
-
`CLAUDE_TMUX_SESSION=${sessionName}`,
|
|
66
|
-
'-e',
|
|
67
|
-
`TERM=xterm-256color`,
|
|
68
|
-
];
|
|
69
|
-
// Add custom env vars
|
|
70
|
-
for (const [key, value] of Object.entries(customEnvVars)) {
|
|
71
|
-
if (value && value.trim() !== '') {
|
|
72
|
-
envFlags.push('-e', `${key}=${value}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Wrap command with tee to capture output to file
|
|
76
|
-
// Use PIPESTATUS to preserve the exit code from the actual command
|
|
77
|
-
const outputPath = getSpawnOutputPath(sessionName);
|
|
78
|
-
const wrappedCommand = `bash -c '${spawnCommand.replace(/'/g, "'\\''")} 2>&1 | tee "${outputPath}"; exit \${PIPESTATUS[0]}'`;
|
|
79
|
-
// Run command with output capture - file will be read in onExit handler
|
|
80
|
-
tmuxArgs = ['new-session', '-s', sessionName, '-c', cwd, ...envFlags, wrappedCommand];
|
|
81
|
-
}
|
|
82
36
|
else {
|
|
83
37
|
// Extract project name from cwd (last directory component)
|
|
84
38
|
const projectName = path.basename(cwd) || 'unknown';
|
|
@@ -148,8 +102,8 @@ export function createTerminal(cwd, sessionName, options = {}) {
|
|
|
148
102
|
console.log(`[Terminal] Shell exited: code=${exitCode}, signal=${signal}, session='${sessionName}'`);
|
|
149
103
|
});
|
|
150
104
|
// Track terminal readiness state for onReady callback
|
|
151
|
-
// Existing sessions
|
|
152
|
-
let isReady = existingSession
|
|
105
|
+
// Existing sessions are ready immediately
|
|
106
|
+
let isReady = existingSession;
|
|
153
107
|
const readyCallbacks = [];
|
|
154
108
|
const fireReadyCallbacks = () => {
|
|
155
109
|
console.log(`[Terminal] fireReadyCallbacks: firing ${readyCallbacks.length} callbacks for '${sessionName}'`);
|
|
@@ -158,15 +112,7 @@ export function createTerminal(cwd, sessionName, options = {}) {
|
|
|
158
112
|
readyCallbacks.length = 0; // Clear the array
|
|
159
113
|
};
|
|
160
114
|
// Handle session initialization and readiness
|
|
161
|
-
if (
|
|
162
|
-
// Spawn mode: command runs directly, ready immediately
|
|
163
|
-
console.log(`[Terminal] Spawn session '${sessionName}' ready (direct command)`);
|
|
164
|
-
// Enable mouse for tmux
|
|
165
|
-
setTimeout(() => {
|
|
166
|
-
exec(`tmux set-option -t "${sessionName}" mouse on`);
|
|
167
|
-
}, 100);
|
|
168
|
-
}
|
|
169
|
-
else if (!existingSession) {
|
|
115
|
+
if (!existingSession) {
|
|
170
116
|
// For new sessions, the init script handles env vars and tmux config
|
|
171
117
|
// Fire ready callbacks once shell is likely initialized
|
|
172
118
|
setTimeout(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yCAAyC,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
|
package/agent/dist/updater.d.ts
CHANGED
|
@@ -12,8 +12,7 @@ export declare function isUpdateInProgress(): boolean;
|
|
|
12
12
|
* Creates a detached shell script that:
|
|
13
13
|
* 1. Waits for the agent to exit
|
|
14
14
|
* 2. Runs npm install -g
|
|
15
|
-
* 3.
|
|
16
|
-
* 4. Restarts the agent via service manager
|
|
15
|
+
* 3. Restarts the agent via service manager
|
|
17
16
|
*/
|
|
18
17
|
export declare function triggerUpdate(targetVersion: string): void;
|
|
19
18
|
//# sourceMappingURL=updater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAwFzD"}
|
package/agent/dist/updater.js
CHANGED
|
@@ -6,9 +6,8 @@
|
|
|
6
6
|
import { spawn } from 'child_process';
|
|
7
7
|
import { writeFileSync } from 'fs';
|
|
8
8
|
import { platform } from 'os';
|
|
9
|
-
import { WebSocket } from 'ws';
|
|
10
9
|
import { logger } from './logger.js';
|
|
11
|
-
import {
|
|
10
|
+
import { broadcastUpdatePending } from './websocket-handlers.js';
|
|
12
11
|
const UPDATE_SCRIPT = '/tmp/247-update.sh';
|
|
13
12
|
const PACKAGE_NAME = '247-cli';
|
|
14
13
|
let updateInProgress = false;
|
|
@@ -18,30 +17,12 @@ let updateInProgress = false;
|
|
|
18
17
|
export function isUpdateInProgress() {
|
|
19
18
|
return updateInProgress;
|
|
20
19
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Broadcast update-pending message to all connected clients.
|
|
23
|
-
*/
|
|
24
|
-
function broadcastUpdatePending(targetVersion) {
|
|
25
|
-
const message = {
|
|
26
|
-
type: 'update-pending',
|
|
27
|
-
targetVersion,
|
|
28
|
-
message: `Agent updating to version ${targetVersion}...`,
|
|
29
|
-
};
|
|
30
|
-
const messageStr = JSON.stringify(message);
|
|
31
|
-
for (const ws of statusSubscribers) {
|
|
32
|
-
if (ws.readyState === WebSocket.OPEN) {
|
|
33
|
-
ws.send(messageStr);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
logger.main.info({ targetVersion, subscribers: statusSubscribers.size }, 'Broadcast update-pending to all clients');
|
|
37
|
-
}
|
|
38
20
|
/**
|
|
39
21
|
* Trigger an auto-update to the specified version.
|
|
40
22
|
* Creates a detached shell script that:
|
|
41
23
|
* 1. Waits for the agent to exit
|
|
42
24
|
* 2. Runs npm install -g
|
|
43
|
-
* 3.
|
|
44
|
-
* 4. Restarts the agent via service manager
|
|
25
|
+
* 3. Restarts the agent via service manager
|
|
45
26
|
*/
|
|
46
27
|
export function triggerUpdate(targetVersion) {
|
|
47
28
|
if (updateInProgress) {
|
|
@@ -51,7 +32,7 @@ export function triggerUpdate(targetVersion) {
|
|
|
51
32
|
updateInProgress = true;
|
|
52
33
|
logger.main.info({ targetVersion }, 'Auto-update triggered');
|
|
53
34
|
// Broadcast to all connected clients
|
|
54
|
-
broadcastUpdatePending(targetVersion);
|
|
35
|
+
broadcastUpdatePending(targetVersion, `Agent updating to version ${targetVersion}...`);
|
|
55
36
|
// Determine restart command based on platform
|
|
56
37
|
const os = platform();
|
|
57
38
|
let restartCommand;
|
|
@@ -93,9 +74,6 @@ if [ -f "$CLI_BIN" ]; then
|
|
|
93
74
|
echo "[247] Fixed executable permissions"
|
|
94
75
|
fi
|
|
95
76
|
|
|
96
|
-
echo "[247] Updating hooks..."
|
|
97
|
-
247 hooks update || true
|
|
98
|
-
|
|
99
77
|
echo "[247] Restarting agent..."
|
|
100
78
|
${restartCommand}
|
|
101
79
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WebSocket handlers for terminal connections and
|
|
2
|
+
* WebSocket handlers for terminal connections and sessions subscriptions.
|
|
3
|
+
* Simplified version without status tracking, worktree or execution manager features.
|
|
3
4
|
*/
|
|
4
5
|
import { WebSocket } from 'ws';
|
|
6
|
+
import type { WSSessionInfo } from '247-shared';
|
|
7
|
+
/**
|
|
8
|
+
* Broadcast session removed event to all subscribers
|
|
9
|
+
*/
|
|
10
|
+
export declare function broadcastSessionRemoved(sessionName: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Broadcast session archived event to all subscribers
|
|
13
|
+
*/
|
|
14
|
+
export declare function broadcastSessionArchived(sessionName: string, session: WSSessionInfo): void;
|
|
5
15
|
/**
|
|
6
16
|
* Handle terminal WebSocket connections
|
|
7
17
|
*/
|
|
8
18
|
export declare function handleTerminalConnection(ws: WebSocket, url: URL): void;
|
|
9
19
|
/**
|
|
10
|
-
*
|
|
20
|
+
* Broadcast update-pending message to all sessions subscribers
|
|
21
|
+
*/
|
|
22
|
+
export declare function broadcastUpdatePending(targetVersion: string, message: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Handle sessions WebSocket connections (real-time session list updates)
|
|
11
25
|
*/
|
|
12
|
-
export declare function
|
|
26
|
+
export declare function handleSessionsConnection(ws: WebSocket, url?: URL): void;
|
|
13
27
|
//# sourceMappingURL=websocket-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handlers.d.ts","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"websocket-handlers.d.ts","sourceRoot":"","sources":["../src/websocket-handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAK/B,OAAO,KAAK,EAAoB,aAAa,EAA8B,MAAM,YAAY,CAAC;AA4B9F;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAYjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAa1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAmKtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAanF;AAyCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAqFvE"}
|