clitrigger 0.1.11 → 0.1.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 +28 -22
- package/README_KR.md +29 -23
- package/dist/client/assets/index-BWNQgE_E.js +649 -0
- package/dist/client/assets/index-Ck_mmrzu.css +32 -0
- package/dist/client/index.html +2 -2
- package/dist/server/data/cli-models-registry.json +12 -1
- package/dist/server/db/queries.d.ts +83 -6
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +253 -9
- package/dist/server/db/queries.js.map +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +100 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/git.d.ts +1 -0
- package/dist/server/lib/git.d.ts.map +1 -1
- package/dist/server/lib/git.js +11 -0
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/plugins/harness/adapters/claude.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/claude.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/claude.js +98 -0
- package/dist/server/plugins/harness/adapters/claude.js.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.js +136 -0
- package/dist/server/plugins/harness/adapters/codex.js.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.js +118 -0
- package/dist/server/plugins/harness/adapters/gemini.js.map +1 -0
- package/dist/server/plugins/harness/index.d.ts +3 -0
- package/dist/server/plugins/harness/index.d.ts.map +1 -0
- package/dist/server/plugins/harness/index.js +13 -0
- package/dist/server/plugins/harness/index.js.map +1 -0
- package/dist/server/plugins/harness/io.d.ts +12 -0
- package/dist/server/plugins/harness/io.d.ts.map +1 -0
- package/dist/server/plugins/harness/io.js +94 -0
- package/dist/server/plugins/harness/io.js.map +1 -0
- package/dist/server/plugins/harness/router.d.ts +4 -0
- package/dist/server/plugins/harness/router.d.ts.map +1 -0
- package/dist/server/plugins/harness/router.js +206 -0
- package/dist/server/plugins/harness/router.js.map +1 -0
- package/dist/server/plugins/harness/types.d.ts +40 -0
- package/dist/server/plugins/harness/types.d.ts.map +1 -0
- package/dist/server/plugins/harness/types.js +2 -0
- package/dist/server/plugins/harness/types.js.map +1 -0
- package/dist/server/routes/discussions.d.ts.map +1 -1
- package/dist/server/routes/discussions.js +116 -6
- package/dist/server/routes/discussions.js.map +1 -1
- package/dist/server/routes/favorites.d.ts +3 -0
- package/dist/server/routes/favorites.d.ts.map +1 -0
- package/dist/server/routes/favorites.js +201 -0
- package/dist/server/routes/favorites.js.map +1 -0
- package/dist/server/routes/logs.d.ts.map +1 -1
- package/dist/server/routes/logs.js +16 -5
- package/dist/server/routes/logs.js.map +1 -1
- package/dist/server/routes/memory.d.ts +3 -0
- package/dist/server/routes/memory.d.ts.map +1 -0
- package/dist/server/routes/memory.js +651 -0
- package/dist/server/routes/memory.js.map +1 -0
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +13 -4
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/review.d.ts.map +1 -1
- package/dist/server/routes/review.js +152 -1
- package/dist/server/routes/review.js.map +1 -1
- package/dist/server/routes/sessions.d.ts.map +1 -1
- package/dist/server/routes/sessions.js +24 -2
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/todos.d.ts.map +1 -1
- package/dist/server/routes/todos.js +17 -3
- package/dist/server/routes/todos.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts +18 -1
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +99 -5
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/services/discussion-extractor.d.ts +7 -0
- package/dist/server/services/discussion-extractor.d.ts.map +1 -0
- package/dist/server/services/discussion-extractor.js +167 -0
- package/dist/server/services/discussion-extractor.js.map +1 -0
- package/dist/server/services/discussion-orchestrator.d.ts.map +1 -1
- package/dist/server/services/discussion-orchestrator.js +38 -1
- package/dist/server/services/discussion-orchestrator.js.map +1 -1
- package/dist/server/services/log-streamer.d.ts +20 -0
- package/dist/server/services/log-streamer.d.ts.map +1 -1
- package/dist/server/services/log-streamer.js +81 -3
- package/dist/server/services/log-streamer.js.map +1 -1
- package/dist/server/services/memory-ingest.d.ts +16 -0
- package/dist/server/services/memory-ingest.d.ts.map +1 -0
- package/dist/server/services/memory-ingest.js +488 -0
- package/dist/server/services/memory-ingest.js.map +1 -0
- package/dist/server/services/memory-inject-hook.d.ts +9 -0
- package/dist/server/services/memory-inject-hook.d.ts.map +1 -0
- package/dist/server/services/memory-inject-hook.js +17 -0
- package/dist/server/services/memory-inject-hook.js.map +1 -0
- package/dist/server/services/memory-injector.d.ts +15 -0
- package/dist/server/services/memory-injector.d.ts.map +1 -0
- package/dist/server/services/memory-injector.js +107 -0
- package/dist/server/services/memory-injector.js.map +1 -0
- package/dist/server/services/memory-wikilinks.d.ts +34 -0
- package/dist/server/services/memory-wikilinks.d.ts.map +1 -0
- package/dist/server/services/memory-wikilinks.js +86 -0
- package/dist/server/services/memory-wikilinks.js.map +1 -0
- package/dist/server/services/model-sync.js +1 -1
- package/dist/server/services/orchestrator.d.ts.map +1 -1
- package/dist/server/services/orchestrator.js +37 -0
- package/dist/server/services/orchestrator.js.map +1 -1
- package/dist/server/services/pty-output-filter.d.ts +12 -0
- package/dist/server/services/pty-output-filter.d.ts.map +1 -1
- package/dist/server/services/pty-output-filter.js +94 -1
- package/dist/server/services/pty-output-filter.js.map +1 -1
- package/dist/server/services/review-capture.d.ts +5 -3
- package/dist/server/services/review-capture.d.ts.map +1 -1
- package/dist/server/services/review-capture.js +29 -7
- package/dist/server/services/review-capture.js.map +1 -1
- package/dist/server/services/session-manager.d.ts +22 -1
- package/dist/server/services/session-manager.d.ts.map +1 -1
- package/dist/server/services/session-manager.js +82 -5
- package/dist/server/services/session-manager.js.map +1 -1
- package/dist/server/websocket/broadcaster.d.ts +11 -0
- package/dist/server/websocket/broadcaster.d.ts.map +1 -1
- package/dist/server/websocket/broadcaster.js +67 -0
- package/dist/server/websocket/broadcaster.js.map +1 -1
- package/dist/server/websocket/events.d.ts +3 -0
- package/dist/server/websocket/events.d.ts.map +1 -1
- package/dist/server/websocket/index.d.ts.map +1 -1
- package/dist/server/websocket/index.js +45 -2
- package/dist/server/websocket/index.js.map +1 -1
- package/package.json +3 -1
- package/dist/client/assets/index-D4Xur2yY.css +0 -1
- package/dist/client/assets/index-Dz1uDy_d.js +0 -567
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-output-filter.js","sourceRoot":"","sources":["../../../src/server/services/pty-output-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"pty-output-filter.js","sourceRoot":"","sources":["../../../src/server/services/pty-output-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function pickSummaryFromLogs(todoId: string): string | null;
|
|
7
7
|
/**
|
|
8
|
-
* Compute diff stats for a
|
|
9
|
-
*
|
|
8
|
+
* Compute diff stats for a todo's branch against its project's default branch.
|
|
9
|
+
* Prefers the worktree (alive at capture time), but falls back to the project repo
|
|
10
|
+
* with the branch ref so stats still get persisted even if the CLI removed the
|
|
11
|
+
* worktree under us. Returns null only when no usable git context can be found.
|
|
10
12
|
*/
|
|
11
|
-
export declare function computeDiffStats(worktreePath: string | null, defaultBranch: string): Promise<{
|
|
13
|
+
export declare function computeDiffStats(worktreePath: string | null, defaultBranch: string, projectPath?: string | null, branchName?: string | null): Promise<{
|
|
12
14
|
files: number;
|
|
13
15
|
lines: number;
|
|
14
16
|
} | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-capture.d.ts","sourceRoot":"","sources":["../../../src/server/services/review-capture.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBjE;AAED
|
|
1
|
+
{"version":3,"file":"review-capture.d.ts","sourceRoot":"","sources":["../../../src/server/services/review-capture.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBjE;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA+BlD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BzE"}
|
|
@@ -34,15 +34,37 @@ export function pickSummaryFromLogs(todoId) {
|
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
|
-
* Compute diff stats for a
|
|
38
|
-
*
|
|
37
|
+
* Compute diff stats for a todo's branch against its project's default branch.
|
|
38
|
+
* Prefers the worktree (alive at capture time), but falls back to the project repo
|
|
39
|
+
* with the branch ref so stats still get persisted even if the CLI removed the
|
|
40
|
+
* worktree under us. Returns null only when no usable git context can be found.
|
|
39
41
|
*/
|
|
40
|
-
export async function computeDiffStats(worktreePath, defaultBranch) {
|
|
41
|
-
|
|
42
|
+
export async function computeDiffStats(worktreePath, defaultBranch, projectPath, branchName) {
|
|
43
|
+
const useWorktree = !!(worktreePath && fs.existsSync(worktreePath));
|
|
44
|
+
const gitDir = useWorktree ? worktreePath : (projectPath || '');
|
|
45
|
+
if (!gitDir)
|
|
46
|
+
return null;
|
|
47
|
+
const target = useWorktree ? 'HEAD' : (branchName || '');
|
|
48
|
+
if (!target)
|
|
42
49
|
return null;
|
|
43
50
|
try {
|
|
44
|
-
const git = createGit(
|
|
45
|
-
|
|
51
|
+
const git = createGit(gitDir);
|
|
52
|
+
if (!useWorktree) {
|
|
53
|
+
try {
|
|
54
|
+
await git.raw(['rev-parse', '--verify', target]);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Resolve base branch with master/main fallback, mirroring routes/review.ts.
|
|
61
|
+
const branches = await git.branchLocal();
|
|
62
|
+
const resolvedBase = branches.all.includes(defaultBranch)
|
|
63
|
+
? defaultBranch
|
|
64
|
+
: (branches.all.find((b) => b === 'master' || b === 'main') ?? null);
|
|
65
|
+
if (!resolvedBase)
|
|
66
|
+
return null;
|
|
67
|
+
const stat = await git.diff([`${resolvedBase}...${target}`, '--shortstat']);
|
|
46
68
|
const m = stat.match(/(\d+) files? changed(?:, (\d+) insertions?\(\+\))?(?:, (\d+) deletions?\(-\))?/);
|
|
47
69
|
if (!m)
|
|
48
70
|
return { files: 0, lines: 0 };
|
|
@@ -67,7 +89,7 @@ export async function captureReviewMetadata(todoId) {
|
|
|
67
89
|
const project = queries.getProjectById(todo.project_id);
|
|
68
90
|
const defaultBranch = project?.default_branch || 'main';
|
|
69
91
|
const summary = pickSummaryFromLogs(todoId);
|
|
70
|
-
const diff = await computeDiffStats(todo.worktree_path, defaultBranch);
|
|
92
|
+
const diff = await computeDiffStats(todo.worktree_path, defaultBranch, project?.path, todo.branch_name);
|
|
71
93
|
const updates = {};
|
|
72
94
|
if (summary !== null)
|
|
73
95
|
updates.summary = summary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-capture.js","sourceRoot":"","sources":["../../../src/server/services/review-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,SAAS,CAAC,MAAM,IAAI,eAAe;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;IAE1E,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"review-capture.js","sourceRoot":"","sources":["../../../src/server/services/review-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
export declare class SessionManager {
|
|
2
|
+
private pendingFlushers;
|
|
3
|
+
/**
|
|
4
|
+
* Hook the raw PTY byte stream of `pid` into:
|
|
5
|
+
* 1. live binary WS frames to currently subscribed clients
|
|
6
|
+
* 2. batched (≥4KB or 100ms) appends to `session_raw_chunks` for replay
|
|
7
|
+
*
|
|
8
|
+
* Memory-bounded by the upstream ring buffer in claudeManager and by
|
|
9
|
+
* `trimSessionRawChunks` (~2MB rolling) on the DB side.
|
|
10
|
+
*/
|
|
11
|
+
private subscribeRawForSession;
|
|
12
|
+
private flushAndForgetRaw;
|
|
2
13
|
/**
|
|
3
14
|
* Start a session (always interactive mode).
|
|
15
|
+
*
|
|
16
|
+
* `opts.cols` / `opts.rows` come from the client xterm.js after FitAddon
|
|
17
|
+
* resolves. Spawning the PTY at the actual rendered size avoids the
|
|
18
|
+
* 200x50-default-then-resize race where Claude Code's TUI banner ends up
|
|
19
|
+
* misaligned in scrollback. If the caller doesn't supply dims (e.g.
|
|
20
|
+
* plugin or curl direct hit), fall back to 100x30 — small enough that a
|
|
21
|
+
* later wider client still renders the welcome banner cleanly.
|
|
4
22
|
*/
|
|
5
|
-
startSession(sessionId: string
|
|
23
|
+
startSession(sessionId: string, opts?: {
|
|
24
|
+
cols?: number;
|
|
25
|
+
rows?: number;
|
|
26
|
+
}): Promise<void>;
|
|
6
27
|
/**
|
|
7
28
|
* Stop a running session.
|
|
8
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/session-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/session-manager.ts"],"names":[],"mappings":"AAUA,qBAAa,cAAc;IAGzB,OAAO,CAAC,eAAe,CAAsC;IAE7D;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmH7F;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnD;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAkF5B;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -1,13 +1,82 @@
|
|
|
1
1
|
import { claudeManager } from './claude-manager.js';
|
|
2
2
|
import { worktreeManager } from './worktree-manager.js';
|
|
3
3
|
import { getAdapter, supportsInteractiveMode } from './cli-adapters.js';
|
|
4
|
-
import { broadcaster } from '../websocket/broadcaster.js';
|
|
4
|
+
import { broadcaster, encodeSessionFrame } from '../websocket/broadcaster.js';
|
|
5
5
|
import * as queries from '../db/queries.js';
|
|
6
|
+
const RAW_FLUSH_BYTES = 4 * 1024;
|
|
7
|
+
const RAW_FLUSH_MS = 100;
|
|
8
|
+
const RAW_DB_CAP_BYTES = 2 * 1024 * 1024;
|
|
6
9
|
export class SessionManager {
|
|
10
|
+
// Per-session pending-flush callback so we can drain the byte buffer when
|
|
11
|
+
// the PTY exits or the user stops the session.
|
|
12
|
+
pendingFlushers = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Hook the raw PTY byte stream of `pid` into:
|
|
15
|
+
* 1. live binary WS frames to currently subscribed clients
|
|
16
|
+
* 2. batched (≥4KB or 100ms) appends to `session_raw_chunks` for replay
|
|
17
|
+
*
|
|
18
|
+
* Memory-bounded by the upstream ring buffer in claudeManager and by
|
|
19
|
+
* `trimSessionRawChunks` (~2MB rolling) on the DB side.
|
|
20
|
+
*/
|
|
21
|
+
subscribeRawForSession(sessionId, pid) {
|
|
22
|
+
let pending = [];
|
|
23
|
+
let pendingBytes = 0;
|
|
24
|
+
let timer = null;
|
|
25
|
+
const flush = () => {
|
|
26
|
+
if (timer) {
|
|
27
|
+
clearTimeout(timer);
|
|
28
|
+
timer = null;
|
|
29
|
+
}
|
|
30
|
+
if (pending.length === 0)
|
|
31
|
+
return;
|
|
32
|
+
const buf = Buffer.concat(pending);
|
|
33
|
+
pending = [];
|
|
34
|
+
pendingBytes = 0;
|
|
35
|
+
try {
|
|
36
|
+
queries.appendSessionRawChunk(sessionId, buf);
|
|
37
|
+
queries.trimSessionRawChunks(sessionId, RAW_DB_CAP_BYTES);
|
|
38
|
+
}
|
|
39
|
+
catch { /* DB may be locked or session deleted; drop chunk */ }
|
|
40
|
+
};
|
|
41
|
+
claudeManager.subscribeRaw(pid, (chunk) => {
|
|
42
|
+
const buf = Buffer.from(chunk, 'utf8');
|
|
43
|
+
pending.push(buf);
|
|
44
|
+
pendingBytes += buf.length;
|
|
45
|
+
// Live broadcast — only currently-subscribed clients receive the bytes.
|
|
46
|
+
try {
|
|
47
|
+
broadcaster.sendBinaryToSubscribers(sessionId, encodeSessionFrame(sessionId, buf));
|
|
48
|
+
}
|
|
49
|
+
catch { /* ignore */ }
|
|
50
|
+
if (pendingBytes >= RAW_FLUSH_BYTES) {
|
|
51
|
+
flush();
|
|
52
|
+
}
|
|
53
|
+
else if (!timer) {
|
|
54
|
+
timer = setTimeout(flush, RAW_FLUSH_MS);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
this.pendingFlushers.set(sessionId, flush);
|
|
58
|
+
}
|
|
59
|
+
flushAndForgetRaw(sessionId) {
|
|
60
|
+
const flusher = this.pendingFlushers.get(sessionId);
|
|
61
|
+
if (flusher) {
|
|
62
|
+
try {
|
|
63
|
+
flusher();
|
|
64
|
+
}
|
|
65
|
+
catch { /* ignore */ }
|
|
66
|
+
this.pendingFlushers.delete(sessionId);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
7
69
|
/**
|
|
8
70
|
* Start a session (always interactive mode).
|
|
71
|
+
*
|
|
72
|
+
* `opts.cols` / `opts.rows` come from the client xterm.js after FitAddon
|
|
73
|
+
* resolves. Spawning the PTY at the actual rendered size avoids the
|
|
74
|
+
* 200x50-default-then-resize race where Claude Code's TUI banner ends up
|
|
75
|
+
* misaligned in scrollback. If the caller doesn't supply dims (e.g.
|
|
76
|
+
* plugin or curl direct hit), fall back to 100x30 — small enough that a
|
|
77
|
+
* later wider client still renders the welcome banner cleanly.
|
|
9
78
|
*/
|
|
10
|
-
async startSession(sessionId) {
|
|
79
|
+
async startSession(sessionId, opts) {
|
|
11
80
|
const session = queries.getSessionById(sessionId);
|
|
12
81
|
if (!session)
|
|
13
82
|
throw new Error('Session not found');
|
|
@@ -55,11 +124,14 @@ export class SessionManager {
|
|
|
55
124
|
let pid;
|
|
56
125
|
let exitPromise;
|
|
57
126
|
try {
|
|
58
|
-
const result = await claudeManager.startClaude(workDir, prompt, cliModel, undefined, 'interactive', cliTool, undefined, project.path, undefined, false);
|
|
127
|
+
const result = await claudeManager.startClaude(workDir, prompt, cliModel, undefined, 'interactive', cliTool, undefined, project.path, undefined, false, opts?.cols ?? 100, opts?.rows ?? 30);
|
|
59
128
|
pid = result.pid;
|
|
60
129
|
exitPromise = result.exitPromise;
|
|
61
|
-
//
|
|
62
|
-
|
|
130
|
+
// Subscribe to raw PTY bytes for the xterm.js terminal channel.
|
|
131
|
+
// The legacy stripped-text streamToSessionLogs path is intentionally
|
|
132
|
+
// skipped — Sessions now show the real terminal, and storing classified
|
|
133
|
+
// session_logs on every spinner frame is wasted DB churn.
|
|
134
|
+
this.subscribeRawForSession(sessionId, pid);
|
|
63
135
|
}
|
|
64
136
|
catch (err) {
|
|
65
137
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -83,6 +155,9 @@ export class SessionManager {
|
|
|
83
155
|
broadcaster.broadcast({ type: 'session:status-changed', sessionId, status: 'running' });
|
|
84
156
|
// Handle process exit
|
|
85
157
|
exitPromise.then((exitCode) => {
|
|
158
|
+
// Flush any pending raw bytes before status update so re-opening the
|
|
159
|
+
// session immediately shows the final output.
|
|
160
|
+
this.flushAndForgetRaw(sessionId);
|
|
86
161
|
const current = queries.getSessionById(sessionId);
|
|
87
162
|
if (current && current.status === 'running') {
|
|
88
163
|
const status = exitCode === 0 ? 'completed' : 'failed';
|
|
@@ -104,6 +179,7 @@ export class SessionManager {
|
|
|
104
179
|
broadcaster.broadcast({ type: 'session:status-changed', sessionId, status });
|
|
105
180
|
}
|
|
106
181
|
}).catch(() => {
|
|
182
|
+
this.flushAndForgetRaw(sessionId);
|
|
107
183
|
try {
|
|
108
184
|
queries.updateSessionStatus(sessionId, 'failed');
|
|
109
185
|
queries.updateSession(sessionId, { process_pid: 0 });
|
|
@@ -122,6 +198,7 @@ export class SessionManager {
|
|
|
122
198
|
if (session.process_pid) {
|
|
123
199
|
await claudeManager.stopClaude(session.process_pid);
|
|
124
200
|
}
|
|
201
|
+
this.flushAndForgetRaw(sessionId);
|
|
125
202
|
queries.updateSessionStatus(sessionId, 'stopped');
|
|
126
203
|
queries.updateSession(sessionId, { process_pid: 0 });
|
|
127
204
|
queries.createSessionLog(sessionId, 'output', 'Session stopped by user.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/server/services/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/server/services/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { WebSocket } from 'ws';
|
|
2
2
|
import type { WSEvent } from './events.js';
|
|
3
|
+
export declare const BINARY_FRAME_SESSION_OUTPUT = 1;
|
|
4
|
+
export declare function encodeSessionFrame(sessionId: string, payload: Buffer | Uint8Array | string): Buffer;
|
|
3
5
|
declare class Broadcaster {
|
|
4
6
|
private clients;
|
|
7
|
+
private subscriptions;
|
|
5
8
|
addClient(ws: WebSocket): void;
|
|
6
9
|
removeClient(ws: WebSocket): void;
|
|
10
|
+
/** Subscribe a client to high-frequency binary output for a sessionId. */
|
|
11
|
+
subscribe(ws: WebSocket, sessionId: string): void;
|
|
12
|
+
unsubscribe(ws: WebSocket, sessionId: string): void;
|
|
13
|
+
isSubscribed(ws: WebSocket, sessionId: string): boolean;
|
|
7
14
|
broadcast(event: WSEvent): void;
|
|
15
|
+
/** Send a pre-encoded binary frame only to clients subscribed to sessionId. */
|
|
16
|
+
sendBinaryToSubscribers(sessionId: string, frame: Buffer): void;
|
|
17
|
+
/** Send a JSON event only to clients subscribed to sessionId. */
|
|
18
|
+
sendJsonToSubscribers(sessionId: string, event: WSEvent): void;
|
|
8
19
|
getClientCount(): number;
|
|
9
20
|
}
|
|
10
21
|
export declare const broadcaster: Broadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAU3C,eAAO,MAAM,2BAA2B,IAAO,CAAC;AAEhD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAUnG;AAED,cAAM,WAAW;IACf,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAAkD;IAEvE,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAI9B,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKjC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IASjD,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAMnD,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAIvD,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS/B,+EAA+E;IAC/E,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAa/D,iEAAiE;IACjE,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9D,cAAc,IAAI,MAAM;CAGzB;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -1,11 +1,52 @@
|
|
|
1
1
|
import { WebSocket } from 'ws';
|
|
2
|
+
// Binary frame format for high-frequency PTY output:
|
|
3
|
+
// byte 0: kind (0x01 = session output)
|
|
4
|
+
// byte 1: sessionId UTF-8 byte length (max 255)
|
|
5
|
+
// bytes 2..2+L-1: sessionId bytes
|
|
6
|
+
// bytes 2+L..end: payload (raw PTY chunk, UTF-8)
|
|
7
|
+
//
|
|
8
|
+
// Kept binary (not base64+JSON) so spinner-frequency output doesn't
|
|
9
|
+
// inflate by ~33% and bypass the JSON.stringify hot path.
|
|
10
|
+
export const BINARY_FRAME_SESSION_OUTPUT = 0x01;
|
|
11
|
+
export function encodeSessionFrame(sessionId, payload) {
|
|
12
|
+
const sidBytes = Buffer.from(sessionId, 'utf8');
|
|
13
|
+
if (sidBytes.length > 255)
|
|
14
|
+
throw new Error('sessionId too long for binary frame');
|
|
15
|
+
const payloadBuf = typeof payload === 'string' ? Buffer.from(payload, 'utf8') : Buffer.from(payload);
|
|
16
|
+
const out = Buffer.alloc(2 + sidBytes.length + payloadBuf.length);
|
|
17
|
+
out[0] = BINARY_FRAME_SESSION_OUTPUT;
|
|
18
|
+
out[1] = sidBytes.length;
|
|
19
|
+
sidBytes.copy(out, 2);
|
|
20
|
+
payloadBuf.copy(out, 2 + sidBytes.length);
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
2
23
|
class Broadcaster {
|
|
3
24
|
clients = new Set();
|
|
25
|
+
subscriptions = new WeakMap();
|
|
4
26
|
addClient(ws) {
|
|
5
27
|
this.clients.add(ws);
|
|
6
28
|
}
|
|
7
29
|
removeClient(ws) {
|
|
8
30
|
this.clients.delete(ws);
|
|
31
|
+
this.subscriptions.delete(ws);
|
|
32
|
+
}
|
|
33
|
+
/** Subscribe a client to high-frequency binary output for a sessionId. */
|
|
34
|
+
subscribe(ws, sessionId) {
|
|
35
|
+
let set = this.subscriptions.get(ws);
|
|
36
|
+
if (!set) {
|
|
37
|
+
set = new Set();
|
|
38
|
+
this.subscriptions.set(ws, set);
|
|
39
|
+
}
|
|
40
|
+
set.add(sessionId);
|
|
41
|
+
}
|
|
42
|
+
unsubscribe(ws, sessionId) {
|
|
43
|
+
const set = this.subscriptions.get(ws);
|
|
44
|
+
if (!set)
|
|
45
|
+
return;
|
|
46
|
+
set.delete(sessionId);
|
|
47
|
+
}
|
|
48
|
+
isSubscribed(ws, sessionId) {
|
|
49
|
+
return !!this.subscriptions.get(ws)?.has(sessionId);
|
|
9
50
|
}
|
|
10
51
|
broadcast(event) {
|
|
11
52
|
const data = JSON.stringify(event);
|
|
@@ -15,6 +56,32 @@ class Broadcaster {
|
|
|
15
56
|
}
|
|
16
57
|
}
|
|
17
58
|
}
|
|
59
|
+
/** Send a pre-encoded binary frame only to clients subscribed to sessionId. */
|
|
60
|
+
sendBinaryToSubscribers(sessionId, frame) {
|
|
61
|
+
for (const client of this.clients) {
|
|
62
|
+
if (client.readyState !== WebSocket.OPEN)
|
|
63
|
+
continue;
|
|
64
|
+
if (!this.isSubscribed(client, sessionId))
|
|
65
|
+
continue;
|
|
66
|
+
// Drop subscribers that have backed up too far (e.g. tab in background).
|
|
67
|
+
if (client.bufferedAmount > 4 * 1024 * 1024) {
|
|
68
|
+
this.unsubscribe(client, sessionId);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
client.send(frame, { binary: true });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Send a JSON event only to clients subscribed to sessionId. */
|
|
75
|
+
sendJsonToSubscribers(sessionId, event) {
|
|
76
|
+
const data = JSON.stringify(event);
|
|
77
|
+
for (const client of this.clients) {
|
|
78
|
+
if (client.readyState !== WebSocket.OPEN)
|
|
79
|
+
continue;
|
|
80
|
+
if (!this.isSubscribed(client, sessionId))
|
|
81
|
+
continue;
|
|
82
|
+
client.send(data);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
18
85
|
getClientCount() {
|
|
19
86
|
return this.clients.size;
|
|
20
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcaster.js","sourceRoot":"","sources":["../../../src/server/websocket/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAG/B,MAAM,WAAW;IACP,OAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"broadcaster.js","sourceRoot":"","sources":["../../../src/server/websocket/broadcaster.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/events.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC1I;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACpG;IAAE,IAAI,EAAE,2BAA2B,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChI;IAAE,IAAI,EAAE,4BAA4B,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClJ;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxH;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3G;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/websocket/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAOnC,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CA8JlD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { WebSocketServer } from 'ws';
|
|
2
|
-
import { broadcaster } from './broadcaster.js';
|
|
2
|
+
import { broadcaster, encodeSessionFrame } from './broadcaster.js';
|
|
3
3
|
import { sessionMiddleware } from '../middleware/auth.js';
|
|
4
4
|
import { claudeManager } from '../services/claude-manager.js';
|
|
5
|
-
import { getTodoById, createTaskLog, getSessionById, createSessionLog } from '../db/queries.js';
|
|
5
|
+
import { getTodoById, createTaskLog, getSessionById, createSessionLog, getSessionRawChunks } from '../db/queries.js';
|
|
6
6
|
export function initWebSocket(server) {
|
|
7
7
|
const wss = new WebSocketServer({ noServer: true });
|
|
8
8
|
// Handle upgrade manually to validate session auth
|
|
@@ -96,6 +96,49 @@ export function initWebSocket(server) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
+
// ── xterm.js terminal channel (Sessions tab) ──
|
|
100
|
+
// Subscribe a client to the high-frequency binary output for a session.
|
|
101
|
+
// On subscribe we replay persisted chunks (cross-restart) + the in-memory
|
|
102
|
+
// ring tail (live since last persisted), then send `session:replay-end`.
|
|
103
|
+
if (msg.type === 'session:subscribe' && typeof msg.sessionId === 'string') {
|
|
104
|
+
const session = getSessionById(msg.sessionId);
|
|
105
|
+
if (session) {
|
|
106
|
+
broadcaster.subscribe(ws, msg.sessionId);
|
|
107
|
+
try {
|
|
108
|
+
const chunks = getSessionRawChunks(msg.sessionId);
|
|
109
|
+
for (const c of chunks) {
|
|
110
|
+
ws.send(encodeSessionFrame(msg.sessionId, c.bytes), { binary: true });
|
|
111
|
+
}
|
|
112
|
+
if (session.process_pid) {
|
|
113
|
+
const tail = claudeManager.getRawHistory(session.process_pid);
|
|
114
|
+
if (tail)
|
|
115
|
+
ws.send(encodeSessionFrame(msg.sessionId, tail), { binary: true });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch { /* ignore replay errors */ }
|
|
119
|
+
ws.send(JSON.stringify({ type: 'session:replay-end', sessionId: msg.sessionId }));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (msg.type === 'session:unsubscribe' && typeof msg.sessionId === 'string') {
|
|
123
|
+
broadcaster.unsubscribe(ws, msg.sessionId);
|
|
124
|
+
}
|
|
125
|
+
// Raw keystrokes from xterm.js (CR, arrow keys, Ctrl+C, etc).
|
|
126
|
+
// Bypasses the `\n → submitSeq` translation that `writeToStdin` applies.
|
|
127
|
+
if (msg.type === 'session:terminal-input' && typeof msg.sessionId === 'string' && typeof msg.input === 'string') {
|
|
128
|
+
const session = getSessionById(msg.sessionId);
|
|
129
|
+
if (session && session.process_pid && session.status === 'running') {
|
|
130
|
+
claudeManager.writeStdinRaw(session.process_pid, msg.input);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (msg.type === 'session:resize' && typeof msg.sessionId === 'string' &&
|
|
134
|
+
Number.isFinite(msg.cols) && Number.isFinite(msg.rows)) {
|
|
135
|
+
const session = getSessionById(msg.sessionId);
|
|
136
|
+
if (session && session.process_pid && session.status === 'running') {
|
|
137
|
+
const cols = Math.max(20, Math.min(500, msg.cols | 0));
|
|
138
|
+
const rows = Math.max(5, Math.min(200, msg.rows | 0));
|
|
139
|
+
claudeManager.resize(session.process_pid, cols, rows);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
99
142
|
}
|
|
100
143
|
catch {
|
|
101
144
|
// Ignore malformed messages
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/websocket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/websocket/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clitrigger",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"clitrigger": "bin/clitrigger.js"
|
|
@@ -38,6 +38,8 @@
|
|
|
38
38
|
"postuninstall": "node bin/postuninstall.js"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
+
"@iarna/toml": "^2.2.5",
|
|
42
|
+
"@types/iarna__toml": "^2.0.5",
|
|
41
43
|
"better-sqlite3": "^11.7.0",
|
|
42
44
|
"cloudflared": "^0.7.1",
|
|
43
45
|
"cors": "^2.8.5",
|