@getpaseo/server 0.1.58 → 0.1.60
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/dist/scripts/dev-runner.js +26 -7
- package/dist/scripts/dev-runner.js.map +1 -1
- package/dist/server/client/daemon-client-runtime-metrics.d.ts +39 -0
- package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +1 -0
- package/dist/server/client/daemon-client-runtime-metrics.js +173 -0
- package/dist/server/client/daemon-client-runtime-metrics.js.map +1 -0
- package/dist/server/client/daemon-client.d.ts +58 -9
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +151 -10
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +55 -48
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +541 -331
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.d.ts +3 -2
- package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.js +31 -16
- package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts +2 -1
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +29 -1
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +9 -5
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts +76 -69
- package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
- package/dist/server/server/agent/agent-storage.js +13 -6
- package/dist/server/server/agent/agent-storage.js.map +1 -1
- package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
- package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -0
- package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
- package/dist/server/server/agent/agent-stream-coalescer.js.map +1 -0
- package/dist/server/server/agent/agent-timeline-store-types.d.ts +54 -0
- package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +1 -0
- package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
- package/dist/server/server/agent/agent-timeline-store-types.js.map +1 -0
- package/dist/server/server/agent/agent-timeline-store.d.ts +32 -0
- package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -0
- package/dist/server/server/agent/agent-timeline-store.js +245 -0
- package/dist/server/server/agent/agent-timeline-store.js.map +1 -0
- package/dist/server/server/agent/mcp-server.d.ts +12 -1
- package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-server.js +276 -65
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/mcp-shared.d.ts +196 -152
- package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-shared.js +40 -42
- package/dist/server/server/agent/mcp-shared.js.map +1 -1
- package/dist/server/server/agent/model-resolver.d.ts.map +1 -1
- package/dist/server/server/agent/model-resolver.js +3 -1
- package/dist/server/server/agent/model-resolver.js.map +1 -1
- package/dist/server/server/agent/prompt-attachments.d.ts +6 -0
- package/dist/server/server/agent/prompt-attachments.d.ts.map +1 -0
- package/dist/server/server/agent/prompt-attachments.js +31 -0
- package/dist/server/server/agent/prompt-attachments.js.map +1 -0
- package/dist/server/server/agent/provider-launch-config.d.ts +12 -10
- package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.js +34 -0
- package/dist/server/server/agent/provider-launch-config.js.map +1 -1
- package/dist/server/server/agent/provider-manifest.d.ts +1 -0
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +22 -1
- package/dist/server/server/agent/provider-manifest.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts +5 -2
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +20 -9
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.d.ts +17 -5
- package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -1
- package/dist/server/server/agent/provider-snapshot-manager.js +150 -61
- package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.d.ts +8 -4
- package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/acp-agent.js +73 -8
- package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/claude/claude-models.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/claude-models.js +21 -0
- package/dist/server/server/agent/providers/claude/claude-models.js.map +1 -1
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
- package/dist/server/server/agent/providers/claude-agent.d.ts +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +15 -8
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +37 -4
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +61 -31
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/copilot-acp-agent.js +3 -2
- package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -1
- package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +64 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.js +585 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -0
- package/dist/server/server/agent/providers/opencode-agent.d.ts +19 -4
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +227 -118
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts +69 -0
- package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -0
- package/dist/server/server/agent/providers/pi-direct-agent.js +1177 -0
- package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -0
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +7 -4
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.d.ts +13 -13
- package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.js +20 -36
- package/dist/server/server/agent-attention-policy.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts +6 -0
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +113 -11
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/chat/chat-rpc-schemas.d.ts +44 -44
- package/dist/server/server/chat/chat-types.d.ts +6 -6
- package/dist/server/server/checkout-diff-manager.d.ts +0 -1
- package/dist/server/server/checkout-diff-manager.d.ts.map +1 -1
- package/dist/server/server/checkout-diff-manager.js +6 -4
- package/dist/server/server/checkout-diff-manager.js.map +1 -1
- package/dist/server/server/config.d.ts.map +1 -1
- package/dist/server/server/config.js +1 -0
- package/dist/server/server/config.js.map +1 -1
- package/dist/server/server/file-explorer/service.d.ts.map +1 -1
- package/dist/server/server/file-explorer/service.js +2 -1
- package/dist/server/server/file-explorer/service.js.map +1 -1
- package/dist/server/server/loop/rpc-schemas.d.ts +392 -392
- package/dist/server/server/loop-service.d.ts +52 -52
- package/dist/server/server/paseo-worktree-archive-service.d.ts +41 -0
- package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -0
- package/dist/server/server/paseo-worktree-archive-service.js +137 -0
- package/dist/server/server/paseo-worktree-archive-service.js.map +1 -0
- package/dist/server/server/paseo-worktree-service.d.ts +24 -0
- package/dist/server/server/paseo-worktree-service.d.ts.map +1 -0
- package/dist/server/server/paseo-worktree-service.js +94 -0
- package/dist/server/server/paseo-worktree-service.js.map +1 -0
- package/dist/server/server/path-utils.d.ts +1 -0
- package/dist/server/server/path-utils.d.ts.map +1 -1
- package/dist/server/server/path-utils.js +9 -0
- package/dist/server/server/path-utils.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +73 -73
- package/dist/server/server/persistence-hooks.d.ts.map +1 -1
- package/dist/server/server/persistence-hooks.js +3 -0
- package/dist/server/server/persistence-hooks.js.map +1 -1
- package/dist/server/server/resolve-worktree-creation-intent.d.ts +30 -0
- package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +1 -0
- package/dist/server/server/resolve-worktree-creation-intent.js +163 -0
- package/dist/server/server/resolve-worktree-creation-intent.js.map +1 -0
- package/dist/server/server/schedule/rpc-schemas.d.ts +192 -192
- package/dist/server/server/schedule/service.d.ts +1 -1
- package/dist/server/server/schedule/service.d.ts.map +1 -1
- package/dist/server/server/schedule/types.d.ts +44 -44
- package/dist/server/server/script-health-monitor.d.ts +39 -0
- package/dist/server/server/script-health-monitor.d.ts.map +1 -0
- package/dist/server/server/script-health-monitor.js +158 -0
- package/dist/server/server/script-health-monitor.js.map +1 -0
- package/dist/server/server/script-proxy.d.ts +40 -0
- package/dist/server/server/script-proxy.d.ts.map +1 -0
- package/dist/server/server/script-proxy.js +245 -0
- package/dist/server/server/script-proxy.js.map +1 -0
- package/dist/server/server/script-route-branch-handler.d.ts +10 -0
- package/dist/server/server/script-route-branch-handler.d.ts.map +1 -0
- package/dist/server/server/script-route-branch-handler.js +45 -0
- package/dist/server/server/script-route-branch-handler.js.map +1 -0
- package/dist/server/server/script-status-projection.d.ts +29 -0
- package/dist/server/server/script-status-projection.d.ts.map +1 -0
- package/dist/server/server/script-status-projection.js +133 -0
- package/dist/server/server/script-status-projection.js.map +1 -0
- package/dist/server/server/session.d.ts +77 -13
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +1290 -548
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +27 -3
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +112 -29
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/server/workspace-archive-service.d.ts +8 -0
- package/dist/server/server/workspace-archive-service.d.ts.map +1 -0
- package/dist/server/server/workspace-archive-service.js +17 -0
- package/dist/server/server/workspace-archive-service.js.map +1 -0
- package/dist/server/server/workspace-git-metadata.d.ts +24 -0
- package/dist/server/server/workspace-git-metadata.d.ts.map +1 -0
- package/dist/server/server/workspace-git-metadata.js +78 -0
- package/dist/server/server/workspace-git-metadata.js.map +1 -0
- package/dist/server/server/workspace-git-service.d.ts +104 -5
- package/dist/server/server/workspace-git-service.d.ts.map +1 -1
- package/dist/server/server/workspace-git-service.js +442 -56
- package/dist/server/server/workspace-git-service.js.map +1 -1
- package/dist/server/server/workspace-reconciliation-service.d.ts +54 -0
- package/dist/server/server/workspace-reconciliation-service.d.ts.map +1 -0
- package/dist/server/server/workspace-reconciliation-service.js +176 -0
- package/dist/server/server/workspace-reconciliation-service.js.map +1 -0
- package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-bootstrap.js +4 -3
- package/dist/server/server/workspace-registry-bootstrap.js.map +1 -1
- package/dist/server/server/workspace-registry.d.ts +8 -8
- package/dist/server/server/workspace-registry.test-helpers.d.ts +37 -0
- package/dist/server/server/workspace-registry.test-helpers.d.ts.map +1 -0
- package/dist/server/server/workspace-registry.test-helpers.js +121 -0
- package/dist/server/server/workspace-registry.test-helpers.js.map +1 -0
- package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
- package/dist/server/server/workspace-script-runtime-store.d.ts.map +1 -0
- package/dist/server/server/workspace-script-runtime-store.js +78 -0
- package/dist/server/server/workspace-script-runtime-store.js.map +1 -0
- package/dist/server/server/workspace-service-env.d.ts +17 -0
- package/dist/server/server/workspace-service-env.d.ts.map +1 -0
- package/dist/server/server/workspace-service-env.js +80 -0
- package/dist/server/server/workspace-service-env.js.map +1 -0
- package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
- package/dist/server/server/workspace-service-port-registry.d.ts.map +1 -0
- package/dist/server/server/workspace-service-port-registry.js +59 -0
- package/dist/server/server/workspace-service-port-registry.js.map +1 -0
- package/dist/server/server/worktree-bootstrap.d.ts +55 -10
- package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
- package/dist/server/server/worktree-bootstrap.js +290 -112
- package/dist/server/server/worktree-bootstrap.js.map +1 -1
- package/dist/server/server/worktree-core.d.ts +25 -0
- package/dist/server/server/worktree-core.d.ts.map +1 -0
- package/dist/server/server/worktree-core.js +75 -0
- package/dist/server/server/worktree-core.js.map +1 -0
- package/dist/server/server/worktree-errors.d.ts +12 -0
- package/dist/server/server/worktree-errors.d.ts.map +1 -0
- package/dist/server/server/worktree-errors.js +31 -0
- package/dist/server/server/worktree-errors.js.map +1 -0
- package/dist/server/server/worktree-session.d.ts +56 -70
- package/dist/server/server/worktree-session.d.ts.map +1 -1
- package/dist/server/server/worktree-session.js +176 -251
- package/dist/server/server/worktree-session.js.map +1 -1
- package/dist/server/services/github-service.d.ts +225 -0
- package/dist/server/services/github-service.d.ts.map +1 -0
- package/dist/server/services/github-service.js +1381 -0
- package/dist/server/services/github-service.js.map +1 -0
- package/dist/server/shared/messages.d.ts +29408 -12268
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +391 -65
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/dist/server/terminal/terminal-manager.d.ts +9 -0
- package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
- package/dist/server/terminal/terminal-manager.js +27 -0
- package/dist/server/terminal/terminal-manager.js.map +1 -1
- package/dist/server/terminal/terminal-output-coalescer.d.ts +30 -0
- package/dist/server/terminal/terminal-output-coalescer.d.ts.map +1 -0
- package/dist/server/terminal/terminal-output-coalescer.js +55 -0
- package/dist/server/terminal/terminal-output-coalescer.js.map +1 -0
- package/dist/server/terminal/terminal.d.ts +32 -1
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +397 -17
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +63 -10
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +321 -229
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/promise-timeout.d.ts +9 -0
- package/dist/server/utils/promise-timeout.d.ts.map +1 -0
- package/dist/server/utils/promise-timeout.js +25 -0
- package/dist/server/utils/promise-timeout.js.map +1 -0
- package/dist/server/utils/script-hostname.d.ts +8 -0
- package/dist/server/utils/script-hostname.d.ts.map +1 -0
- package/dist/server/utils/script-hostname.js +14 -0
- package/dist/server/utils/script-hostname.js.map +1 -0
- package/dist/server/utils/string-command-shell.d.ts +10 -0
- package/dist/server/utils/string-command-shell.d.ts.map +1 -0
- package/dist/server/utils/string-command-shell.js +21 -0
- package/dist/server/utils/string-command-shell.js.map +1 -0
- package/dist/server/utils/worktree.d.ts +54 -7
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +434 -129
- package/dist/server/utils/worktree.js.map +1 -1
- package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/package.json +11 -14
- package/dist/server/server/agent/providers/pi-acp-agent.d.ts +0 -28
- package/dist/server/server/agent/providers/pi-acp-agent.d.ts.map +0 -1
- package/dist/server/server/agent/providers/pi-acp-agent.js +0 -302
- package/dist/server/server/agent/providers/pi-acp-agent.js.map +0 -1
|
@@ -4,6 +4,7 @@ export function createTerminalManager() {
|
|
|
4
4
|
const terminalsByCwd = new Map();
|
|
5
5
|
const terminalsById = new Map();
|
|
6
6
|
const terminalExitUnsubscribeById = new Map();
|
|
7
|
+
const terminalTitleUnsubscribeById = new Map();
|
|
7
8
|
const terminalsChangedListeners = new Set();
|
|
8
9
|
const defaultEnvByRootCwd = new Map();
|
|
9
10
|
function assertAbsolutePath(cwd) {
|
|
@@ -21,6 +22,11 @@ export function createTerminalManager() {
|
|
|
21
22
|
unsubscribeExit();
|
|
22
23
|
terminalExitUnsubscribeById.delete(id);
|
|
23
24
|
}
|
|
25
|
+
const unsubscribeTitle = terminalTitleUnsubscribeById.get(id);
|
|
26
|
+
if (unsubscribeTitle) {
|
|
27
|
+
unsubscribeTitle();
|
|
28
|
+
terminalTitleUnsubscribeById.delete(id);
|
|
29
|
+
}
|
|
24
30
|
terminalsById.delete(id);
|
|
25
31
|
const terminals = terminalsByCwd.get(session.cwd);
|
|
26
32
|
if (terminals) {
|
|
@@ -56,7 +62,11 @@ export function createTerminalManager() {
|
|
|
56
62
|
const unsubscribeExit = session.onExit(() => {
|
|
57
63
|
removeSessionById(session.id, { kill: false });
|
|
58
64
|
});
|
|
65
|
+
const unsubscribeTitle = session.onTitleChange(() => {
|
|
66
|
+
emitTerminalsChanged({ cwd: session.cwd });
|
|
67
|
+
});
|
|
59
68
|
terminalExitUnsubscribeById.set(session.id, unsubscribeExit);
|
|
69
|
+
terminalTitleUnsubscribeById.set(session.id, unsubscribeTitle);
|
|
60
70
|
return session;
|
|
61
71
|
}
|
|
62
72
|
function toTerminalListItem(input) {
|
|
@@ -64,6 +74,7 @@ export function createTerminalManager() {
|
|
|
64
74
|
id: input.session.id,
|
|
65
75
|
name: input.session.name,
|
|
66
76
|
cwd: input.session.cwd,
|
|
77
|
+
title: input.session.getTitle(),
|
|
67
78
|
};
|
|
68
79
|
}
|
|
69
80
|
function emitTerminalsChanged(input) {
|
|
@@ -98,8 +109,12 @@ export function createTerminalManager() {
|
|
|
98
109
|
? { ...(inheritedEnv ?? {}), ...(options.env ?? {}) }
|
|
99
110
|
: undefined;
|
|
100
111
|
const session = registerSession(await createTerminal({
|
|
112
|
+
...(options.id ? { id: options.id } : {}),
|
|
101
113
|
cwd: options.cwd,
|
|
102
114
|
name: options.name ?? defaultName,
|
|
115
|
+
...(options.title ? { title: options.title } : {}),
|
|
116
|
+
...(options.command ? { command: options.command } : {}),
|
|
117
|
+
...(options.args ? { args: options.args } : {}),
|
|
103
118
|
...(mergedEnv ? { env: mergedEnv } : {}),
|
|
104
119
|
}));
|
|
105
120
|
terminals.push(session);
|
|
@@ -117,6 +132,18 @@ export function createTerminalManager() {
|
|
|
117
132
|
killTerminal(id) {
|
|
118
133
|
removeSessionById(id, { kill: true });
|
|
119
134
|
},
|
|
135
|
+
async killTerminalAndWait(id, options) {
|
|
136
|
+
const session = terminalsById.get(id);
|
|
137
|
+
if (!session) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
await session.killAndWait(options);
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
removeSessionById(id, { kill: false });
|
|
145
|
+
}
|
|
146
|
+
},
|
|
120
147
|
listDirectories() {
|
|
121
148
|
return Array.from(terminalsByCwd.keys());
|
|
122
149
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../../../src/terminal/terminal-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../../../src/terminal/terminal-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type TerminalOutputCoalescerTimers = {
|
|
2
|
+
setTimeout: typeof setTimeout;
|
|
3
|
+
clearTimeout: typeof clearTimeout;
|
|
4
|
+
};
|
|
5
|
+
export type TerminalOutputCoalescerFlush = {
|
|
6
|
+
payload: Buffer;
|
|
7
|
+
chars: number;
|
|
8
|
+
bytes: number;
|
|
9
|
+
};
|
|
10
|
+
export type TerminalOutputCoalescerOptions = {
|
|
11
|
+
timers: TerminalOutputCoalescerTimers;
|
|
12
|
+
flushDelayMs?: number;
|
|
13
|
+
onFlush: (payload: TerminalOutputCoalescerFlush) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare class TerminalOutputCoalescer {
|
|
16
|
+
private readonly timers;
|
|
17
|
+
private readonly flushDelayMs;
|
|
18
|
+
private readonly onFlush;
|
|
19
|
+
private chunks;
|
|
20
|
+
private bytes;
|
|
21
|
+
private chars;
|
|
22
|
+
private flushTimer;
|
|
23
|
+
constructor(options: TerminalOutputCoalescerOptions);
|
|
24
|
+
handle(data: string): void;
|
|
25
|
+
flush(): void;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
private clearTimer;
|
|
28
|
+
private clearPending;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=terminal-output-coalescer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-output-coalescer.d.ts","sourceRoot":"","sources":["../../../src/terminal/terminal-output-coalescer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,6BAA6B,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,CAAC;CAC1D,CAAC;AAIF,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAC1E,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAA8C;gBAEpD,OAAO,EAAE,8BAA8B;IAMnD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkB1B,KAAK,IAAI,IAAI;IAgBb,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const DEFAULT_FLUSH_DELAY_MS = 5;
|
|
2
|
+
export class TerminalOutputCoalescer {
|
|
3
|
+
constructor(options) {
|
|
4
|
+
this.chunks = [];
|
|
5
|
+
this.bytes = 0;
|
|
6
|
+
this.chars = 0;
|
|
7
|
+
this.flushTimer = null;
|
|
8
|
+
this.timers = options.timers;
|
|
9
|
+
this.flushDelayMs = options.flushDelayMs ?? DEFAULT_FLUSH_DELAY_MS;
|
|
10
|
+
this.onFlush = options.onFlush;
|
|
11
|
+
}
|
|
12
|
+
handle(data) {
|
|
13
|
+
if (data.length === 0) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const chunk = Buffer.from(data, "utf8");
|
|
17
|
+
this.chunks.push(chunk);
|
|
18
|
+
this.bytes += chunk.byteLength;
|
|
19
|
+
this.chars += data.length;
|
|
20
|
+
if (!this.flushTimer) {
|
|
21
|
+
this.flushTimer = this.timers.setTimeout(() => {
|
|
22
|
+
this.flushTimer = null;
|
|
23
|
+
this.flush();
|
|
24
|
+
}, this.flushDelayMs);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
flush() {
|
|
28
|
+
this.clearTimer();
|
|
29
|
+
if (this.chunks.length === 0) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const payload = this.chunks.length === 1 ? this.chunks[0] : Buffer.concat(this.chunks, this.bytes);
|
|
33
|
+
const bytes = this.bytes;
|
|
34
|
+
const chars = this.chars;
|
|
35
|
+
this.clearPending();
|
|
36
|
+
this.onFlush({ payload, bytes, chars });
|
|
37
|
+
}
|
|
38
|
+
dispose() {
|
|
39
|
+
this.clearTimer();
|
|
40
|
+
this.clearPending();
|
|
41
|
+
}
|
|
42
|
+
clearTimer() {
|
|
43
|
+
if (!this.flushTimer) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.timers.clearTimeout(this.flushTimer);
|
|
47
|
+
this.flushTimer = null;
|
|
48
|
+
}
|
|
49
|
+
clearPending() {
|
|
50
|
+
this.chunks = [];
|
|
51
|
+
this.bytes = 0;
|
|
52
|
+
this.chars = 0;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=terminal-output-coalescer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-output-coalescer.js","sourceRoot":"","sources":["../../../src/terminal/terminal-output-coalescer.ts"],"names":[],"mappings":"AAiBA,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,MAAM,OAAO,uBAAuB;IASlC,YAAY,OAAuC;QAL3C,WAAM,GAAa,EAAE,CAAC;QACtB,UAAK,GAAG,CAAC,CAAC;QACV,UAAK,GAAG,CAAC,CAAC;QACV,eAAU,GAAyC,IAAI,CAAC;QAG9D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { TerminalState } from "../shared/messages.js";
|
|
2
|
+
export interface TerminalExitInfo {
|
|
3
|
+
exitCode: number | null;
|
|
4
|
+
signal: number | null;
|
|
5
|
+
lastOutputLines: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface TerminalCommandFinishedInfo {
|
|
8
|
+
exitCode: number | null;
|
|
9
|
+
}
|
|
2
10
|
export type ClientMessage = {
|
|
3
11
|
type: "input";
|
|
4
12
|
data: string;
|
|
@@ -19,6 +27,9 @@ export type ServerMessage = {
|
|
|
19
27
|
} | {
|
|
20
28
|
type: "snapshot";
|
|
21
29
|
state: TerminalState;
|
|
30
|
+
} | {
|
|
31
|
+
type: "titleChange";
|
|
32
|
+
title?: string;
|
|
22
33
|
};
|
|
23
34
|
export interface TerminalSession {
|
|
24
35
|
id: string;
|
|
@@ -26,21 +37,37 @@ export interface TerminalSession {
|
|
|
26
37
|
cwd: string;
|
|
27
38
|
send(msg: ClientMessage): void;
|
|
28
39
|
subscribe(listener: (msg: ServerMessage) => void): () => void;
|
|
29
|
-
onExit(listener: () => void): () => void;
|
|
40
|
+
onExit(listener: (info: TerminalExitInfo) => void): () => void;
|
|
41
|
+
onCommandFinished(listener: (info: TerminalCommandFinishedInfo) => void): () => void;
|
|
42
|
+
onTitleChange(listener: (title?: string) => void): () => void;
|
|
30
43
|
getSize(): {
|
|
31
44
|
rows: number;
|
|
32
45
|
cols: number;
|
|
33
46
|
};
|
|
34
47
|
getState(): TerminalState;
|
|
48
|
+
getTitle(): string | undefined;
|
|
49
|
+
getExitInfo(): TerminalExitInfo | null;
|
|
35
50
|
kill(): void;
|
|
51
|
+
killAndWait(options?: {
|
|
52
|
+
gracefulTimeoutMs?: number;
|
|
53
|
+
forceTimeoutMs?: number;
|
|
54
|
+
}): Promise<void>;
|
|
36
55
|
}
|
|
37
56
|
export interface CreateTerminalOptions {
|
|
57
|
+
id?: string;
|
|
38
58
|
cwd: string;
|
|
39
59
|
shell?: string;
|
|
40
60
|
env?: Record<string, string>;
|
|
41
61
|
rows?: number;
|
|
42
62
|
cols?: number;
|
|
43
63
|
name?: string;
|
|
64
|
+
title?: string;
|
|
65
|
+
command?: string;
|
|
66
|
+
args?: string[];
|
|
67
|
+
}
|
|
68
|
+
interface BuildTerminalEnvironmentInput {
|
|
69
|
+
shell: string;
|
|
70
|
+
env: Record<string, string>;
|
|
44
71
|
}
|
|
45
72
|
export interface CaptureTerminalLinesOptions {
|
|
46
73
|
start?: number;
|
|
@@ -62,6 +89,10 @@ export declare function resolveDefaultTerminalShell(options?: {
|
|
|
62
89
|
platform?: NodeJS.Platform;
|
|
63
90
|
env?: NodeJS.ProcessEnv;
|
|
64
91
|
}): string;
|
|
92
|
+
export declare function resolveZshShellIntegrationDir(): string;
|
|
93
|
+
export declare function buildTerminalEnvironment(input: BuildTerminalEnvironmentInput): Record<string, string>;
|
|
94
|
+
export declare function normalizeProcessTitle(processTitle: string): string | undefined;
|
|
95
|
+
export declare function humanizeProcessTitle(processTitle: string): string | undefined;
|
|
65
96
|
export declare function captureTerminalLines(terminal: TerminalSession, options?: CaptureTerminalLinesOptions): CaptureTerminalLinesResult;
|
|
66
97
|
export declare function createTerminal(options: CreateTerminalOptions): Promise<TerminalSession>;
|
|
67
98
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"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"}
|