@vibesdotdev/terminal-client 0.0.0-stage → 1.0.0-rc.2
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/LICENSE +18 -0
- package/README.md +102 -2
- package/dist/ansi/index.d.ts +11 -0
- package/dist/ansi/index.d.ts.map +1 -0
- package/dist/ansi/index.js +11 -0
- package/dist/ansi/index.js.map +1 -0
- package/dist/ansi/keymap.d.ts +77 -0
- package/dist/ansi/keymap.d.ts.map +1 -0
- package/dist/ansi/keymap.js +257 -0
- package/dist/ansi/keymap.js.map +1 -0
- package/dist/api-client-plugin.d.ts +4 -0
- package/dist/api-client-plugin.d.ts.map +1 -0
- package/dist/api-client-plugin.js +16 -0
- package/dist/api-client-plugin.js.map +1 -0
- package/dist/client/http-session.d.ts +44 -0
- package/dist/client/http-session.d.ts.map +1 -0
- package/dist/client/http-session.js +457 -0
- package/dist/client/http-session.js.map +1 -0
- package/dist/client/index.d.ts +8 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +8 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client.d.ts +56 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +169 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/pty-bridge/index.d.ts +15 -0
- package/dist/pty-bridge/index.d.ts.map +1 -0
- package/dist/pty-bridge/index.js +15 -0
- package/dist/pty-bridge/index.js.map +1 -0
- package/dist/pty-bridge/protocol.d.ts +6 -0
- package/dist/pty-bridge/protocol.d.ts.map +1 -0
- package/dist/pty-bridge/protocol.js +6 -0
- package/dist/pty-bridge/protocol.js.map +1 -0
- package/dist/pty-bridge/server.d.ts +7 -0
- package/dist/pty-bridge/server.d.ts.map +1 -0
- package/dist/pty-bridge/server.js +9 -0
- package/dist/pty-bridge/server.js.map +1 -0
- package/dist/remote-session.d.ts +51 -0
- package/dist/remote-session.d.ts.map +1 -0
- package/dist/remote-session.js +326 -0
- package/dist/remote-session.js.map +1 -0
- package/dist/schemas/http.d.ts +61 -0
- package/dist/schemas/http.d.ts.map +1 -0
- package/dist/schemas/http.js +45 -0
- package/dist/schemas/http.js.map +1 -0
- package/dist/schemas/remote.d.ts +25 -0
- package/dist/schemas/remote.d.ts.map +1 -0
- package/dist/schemas/remote.js +23 -0
- package/dist/schemas/remote.js.map +1 -0
- package/dist/schemas/session.d.ts +26 -0
- package/dist/schemas/session.d.ts.map +1 -0
- package/dist/schemas/session.js +17 -0
- package/dist/schemas/session.js.map +1 -0
- package/dist/schemas/store.d.ts +29 -0
- package/dist/schemas/store.d.ts.map +1 -0
- package/dist/schemas/store.js +22 -0
- package/dist/schemas/store.js.map +1 -0
- package/dist/schemas/terminal.d.ts +296 -0
- package/dist/schemas/terminal.d.ts.map +1 -0
- package/dist/schemas/terminal.js +243 -0
- package/dist/schemas/terminal.js.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +9 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/session-store.d.ts +176 -0
- package/dist/server/session-store.d.ts.map +1 -0
- package/dist/server/session-store.js +462 -0
- package/dist/server/session-store.js.map +1 -0
- package/dist/server/sse-stream.d.ts +32 -0
- package/dist/server/sse-stream.d.ts.map +1 -0
- package/dist/server/sse-stream.js +87 -0
- package/dist/server/sse-stream.js.map +1 -0
- package/dist/svelte/HostPicker.svelte +256 -0
- package/dist/svelte/HostPicker.svelte.d.ts +30 -0
- package/dist/svelte/HostPicker.svelte.d.ts.map +1 -0
- package/dist/svelte/README.md +52 -0
- package/dist/svelte/ReconnectBanner.svelte +88 -0
- package/dist/svelte/ReconnectBanner.svelte.d.ts +16 -0
- package/dist/svelte/ReconnectBanner.svelte.d.ts.map +1 -0
- package/dist/svelte/SessionTabs.svelte +192 -0
- package/dist/svelte/SessionTabs.svelte.d.ts +17 -0
- package/dist/svelte/SessionTabs.svelte.d.ts.map +1 -0
- package/dist/svelte/Terminal.svelte +567 -0
- package/dist/svelte/Terminal.svelte.d.ts +25 -0
- package/dist/svelte/Terminal.svelte.d.ts.map +1 -0
- package/dist/svelte/TerminalMobileToolbar.svelte +56 -0
- package/dist/svelte/TerminalMobileToolbar.svelte.d.ts +14 -0
- package/dist/svelte/TerminalMobileToolbar.svelte.d.ts.map +1 -0
- package/dist/svelte/TerminalWorkspace.svelte +562 -0
- package/dist/svelte/TerminalWorkspace.svelte.d.ts +25 -0
- package/dist/svelte/TerminalWorkspace.svelte.d.ts.map +1 -0
- package/dist/svelte/ambient.d.ts +9 -0
- package/dist/svelte/docs/terminal-svelte.docs.descriptor.d.ts +4 -0
- package/dist/svelte/docs/terminal-svelte.docs.descriptor.d.ts.map +1 -0
- package/dist/svelte/docs/terminal-svelte.docs.descriptor.js +74 -0
- package/dist/svelte/index.d.ts +27 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +26 -0
- package/dist/svelte/styles.css +8 -0
- package/dist/svelte/terminal-session-authority.d.ts +17 -0
- package/dist/svelte/terminal-session-authority.d.ts.map +1 -0
- package/dist/svelte/terminal-session-authority.js +25 -0
- package/dist/svelte/terminal-svelte.plugin.d.ts +19 -0
- package/dist/svelte/terminal-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/terminal-svelte.plugin.js +42 -0
- package/dist/svelte/terminal-theme.d.ts +11 -0
- package/dist/svelte/terminal-theme.d.ts.map +1 -0
- package/dist/svelte/terminal-theme.js +116 -0
- package/dist/svelte/tool-widgets/TerminalToolCard.svelte +65 -0
- package/dist/svelte/tool-widgets/TerminalToolCard.svelte.d.ts +5 -0
- package/dist/svelte/tool-widgets/TerminalToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/terminal-tool-card.d.ts +25 -0
- package/dist/svelte/tool-widgets/terminal-tool-card.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/terminal-tool-card.js +116 -0
- package/dist/svelte/types.d.ts +160 -0
- package/dist/svelte/types.d.ts.map +1 -0
- package/dist/svelte/types.js +51 -0
- package/dist/svelte/workspace.d.ts +3 -0
- package/dist/svelte/workspace.d.ts.map +1 -0
- package/dist/svelte/workspace.js +2 -0
- package/dist/terminal-client.plugin.d.ts +3 -0
- package/dist/terminal-client.plugin.d.ts.map +1 -0
- package/dist/terminal-client.plugin.js +3 -0
- package/dist/terminal-client.plugin.js.map +1 -0
- package/dist/terminal-runtime.d.ts +30 -0
- package/dist/terminal-runtime.d.ts.map +1 -0
- package/dist/terminal-runtime.js +673 -0
- package/dist/terminal-runtime.js.map +1 -0
- package/dist/terminal.consumer.plugin.d.ts +14 -0
- package/dist/terminal.consumer.plugin.d.ts.map +1 -0
- package/dist/terminal.consumer.plugin.js +31 -0
- package/dist/terminal.consumer.plugin.js.map +1 -0
- package/dist/tools/terminal.impl.consumer.d.ts +11 -0
- package/dist/tools/terminal.impl.consumer.d.ts.map +1 -0
- package/dist/tools/terminal.impl.consumer.js +20 -0
- package/dist/tools/terminal.impl.consumer.js.map +1 -0
- package/dist/tools/terminal.schemas.d.ts +3 -0
- package/dist/tools/terminal.schemas.d.ts.map +1 -0
- package/dist/tools/terminal.schemas.js +3 -0
- package/dist/tools/terminal.schemas.js.map +1 -0
- package/dist/tools/terminal.unified.descriptor.d.ts +218 -0
- package/dist/tools/terminal.unified.descriptor.d.ts.map +1 -0
- package/dist/tools/terminal.unified.descriptor.js +36 -0
- package/dist/tools/terminal.unified.descriptor.js.map +1 -0
- package/dist/tui/index.d.ts +9 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +8 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/terminal-open.descriptor.d.ts +9 -0
- package/dist/tui/terminal-open.descriptor.d.ts.map +1 -0
- package/dist/tui/terminal-open.descriptor.js +18 -0
- package/dist/tui/terminal-open.descriptor.js.map +1 -0
- package/dist/tui/terminal-open.impl.consumer.d.ts +9 -0
- package/dist/tui/terminal-open.impl.consumer.d.ts.map +1 -0
- package/dist/tui/terminal-open.impl.consumer.js +13 -0
- package/dist/tui/terminal-open.impl.consumer.js.map +1 -0
- package/dist/tui/terminal-registry.descriptor.d.ts +11 -0
- package/dist/tui/terminal-registry.descriptor.d.ts.map +1 -0
- package/dist/tui/terminal-registry.descriptor.js +17 -0
- package/dist/tui/terminal-registry.descriptor.js.map +1 -0
- package/dist/tui/terminal-registry.impl.consumer.d.ts +71 -0
- package/dist/tui/terminal-registry.impl.consumer.d.ts.map +1 -0
- package/dist/tui/terminal-registry.impl.consumer.js +190 -0
- package/dist/tui/terminal-registry.impl.consumer.js.map +1 -0
- package/dist/tui/terminal-tui.plugin.d.ts +10 -0
- package/dist/tui/terminal-tui.plugin.d.ts.map +1 -0
- package/dist/tui/terminal-tui.plugin.js +32 -0
- package/dist/tui/terminal-tui.plugin.js.map +1 -0
- package/dist/tui/terminal.descriptor.d.ts +10 -0
- package/dist/tui/terminal.descriptor.d.ts.map +1 -0
- package/dist/tui/terminal.descriptor.js +25 -0
- package/dist/tui/terminal.descriptor.js.map +1 -0
- package/dist/tui/terminal.impl.consumer.d.ts +14 -0
- package/dist/tui/terminal.impl.consumer.d.ts.map +1 -0
- package/dist/tui/terminal.impl.consumer.js +189 -0
- package/dist/tui/terminal.impl.consumer.js.map +1 -0
- package/dist/tui/terminal.state-key.d.ts +30 -0
- package/dist/tui/terminal.state-key.d.ts.map +1 -0
- package/dist/tui/terminal.state-key.js +9 -0
- package/dist/tui/terminal.state-key.js.map +1 -0
- package/dist/tui/terminal.state.d.ts +152 -0
- package/dist/tui/terminal.state.d.ts.map +1 -0
- package/dist/tui/terminal.state.js +149 -0
- package/dist/tui/terminal.state.js.map +1 -0
- package/dist/workspace.d.ts +155 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +292 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +228 -4
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types for `@vibesdotdev/terminal-client/svelte`.
|
|
3
|
+
*
|
|
4
|
+
* The `ExecutionSession` shape is OWNED BY L3 (`@vibesdotdev/kernel/execution`)
|
|
5
|
+
* and consumed here type-only — this lane MUST NOT vary it. We re-export the type
|
|
6
|
+
* so consumers can annotate the `session` prop without a direct dep on
|
|
7
|
+
* runtime-execution if they only need the type.
|
|
8
|
+
*/
|
|
9
|
+
import type { ExecutionSession } from '@vibesdotdev/kernel/execution';
|
|
10
|
+
export type { ExecutionSession };
|
|
11
|
+
/**
|
|
12
|
+
* Terminal color theme tokens. Mirrors the subset of xterm.js's `ITheme` the
|
|
13
|
+
* component forwards. All optional; the component fills a vibes default palette.
|
|
14
|
+
*/
|
|
15
|
+
export interface TerminalTheme {
|
|
16
|
+
background?: string;
|
|
17
|
+
foreground?: string;
|
|
18
|
+
cursor?: string;
|
|
19
|
+
cursorAccent?: string;
|
|
20
|
+
selectionBackground?: string;
|
|
21
|
+
/** Selection foreground color (xterm.js ITheme.selectionForeground). */
|
|
22
|
+
selectionForeground?: string;
|
|
23
|
+
black?: string;
|
|
24
|
+
red?: string;
|
|
25
|
+
green?: string;
|
|
26
|
+
yellow?: string;
|
|
27
|
+
blue?: string;
|
|
28
|
+
magenta?: string;
|
|
29
|
+
cyan?: string;
|
|
30
|
+
white?: string;
|
|
31
|
+
brightBlack?: string;
|
|
32
|
+
brightRed?: string;
|
|
33
|
+
brightGreen?: string;
|
|
34
|
+
brightYellow?: string;
|
|
35
|
+
brightBlue?: string;
|
|
36
|
+
brightMagenta?: string;
|
|
37
|
+
brightCyan?: string;
|
|
38
|
+
brightWhite?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Props for `<Terminal>`.
|
|
42
|
+
*
|
|
43
|
+
* The component is transport-agnostic: it only ever sees an `ExecutionSession`.
|
|
44
|
+
* The consumer resolves that session — locally via
|
|
45
|
+
* `runtime.query('runtime/execution').resolve().session(...)` (or
|
|
46
|
+
* `terminal-client.openLocalSession`), or remotely via
|
|
47
|
+
* `terminal-client.openRemoteSession` (L9b, phase 4). The same component renders
|
|
48
|
+
* both; only `onDisconnect` differs (local sessions never fire it).
|
|
49
|
+
*/
|
|
50
|
+
export interface TerminalProps {
|
|
51
|
+
/**
|
|
52
|
+
* A live execution session whose byte stream this component renders.
|
|
53
|
+
* May be null/absent while the parent is still opening the session — the
|
|
54
|
+
* component boots xterm, fits, reports its grid via `onReady`, and shows the
|
|
55
|
+
* connecting skeleton until a session is attached. Opening the session at
|
|
56
|
+
* the `onReady` dimensions avoids a boot-time PTY resize entirely (Bun TUI
|
|
57
|
+
* children cache `process.stdout.columns`, so a post-boot resize is never
|
|
58
|
+
* observed by them — the session must START at the right size).
|
|
59
|
+
*/
|
|
60
|
+
session?: ExecutionSession | null;
|
|
61
|
+
/**
|
|
62
|
+
* Fired once after the initial fit settles, with the fitted grid size.
|
|
63
|
+
* Parents should open their session with these cols/rows.
|
|
64
|
+
*/
|
|
65
|
+
onReady?: (dims: {
|
|
66
|
+
cols: number;
|
|
67
|
+
rows: number;
|
|
68
|
+
}) => void;
|
|
69
|
+
/**
|
|
70
|
+
* Lock the xterm/PTY grid to these columns. When set with `rows`, FitAddon
|
|
71
|
+
* does not grow the session to the CSS container. Host-fitted columns then
|
|
72
|
+
* match the requested grid (e.g. `?cols=80&rows=24`).
|
|
73
|
+
*/
|
|
74
|
+
cols?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Lock the xterm/PTY grid to these rows. See `cols`.
|
|
77
|
+
*/
|
|
78
|
+
rows?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Fired after xterm has attached a live session and keystrokes/actions can
|
|
81
|
+
* reach the execution session. This is later than `onReady`, which only means
|
|
82
|
+
* the terminal has measured its grid.
|
|
83
|
+
*/
|
|
84
|
+
onInputReady?: () => void;
|
|
85
|
+
/** Theme tokens; defaults to the vibes terminal palette. */
|
|
86
|
+
theme?: TerminalTheme;
|
|
87
|
+
/** Font family / size for the xterm renderer. */
|
|
88
|
+
font?: {
|
|
89
|
+
family?: string;
|
|
90
|
+
size?: number;
|
|
91
|
+
};
|
|
92
|
+
/** Extra class on the host element. */
|
|
93
|
+
class?: string;
|
|
94
|
+
/** Called when the session reports it has exited. */
|
|
95
|
+
onExit?: (result: {
|
|
96
|
+
exitCode: number | null;
|
|
97
|
+
}) => void;
|
|
98
|
+
/**
|
|
99
|
+
* Called when a *proxy* session's transport disconnects (remote only).
|
|
100
|
+
* Local sessions never fire this — remoteness is visible in behavior, not
|
|
101
|
+
* silent (Correction #1).
|
|
102
|
+
*/
|
|
103
|
+
onDisconnect?: (reason: string) => void;
|
|
104
|
+
/**
|
|
105
|
+
* Read-only / observe mode. When true, keyboard input is NOT wired to the
|
|
106
|
+
* session: both PTY write paths (the xterm `onData` handler and the
|
|
107
|
+
* non-printing key-chord handler) are gated off, so the terminal renders the
|
|
108
|
+
* live byte stream but never sends keystrokes. The PTY output, fit/resize, and
|
|
109
|
+
* lifecycle paths are unaffected. Defaults to false (interactive).
|
|
110
|
+
*
|
|
111
|
+
* Non-breaking: existing callers that omit this get the prior interactive
|
|
112
|
+
* behavior.
|
|
113
|
+
*/
|
|
114
|
+
readonly?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A selectable host entry in the picker.
|
|
118
|
+
* `local: true` entries are rendered as "This machine — <name>".
|
|
119
|
+
*/
|
|
120
|
+
export interface HostOption {
|
|
121
|
+
/** Unique host identifier (hostId for fleet hosts; 'local' for this machine). */
|
|
122
|
+
id: string;
|
|
123
|
+
/** Human-readable display name. */
|
|
124
|
+
name: string;
|
|
125
|
+
/** true when this host is the local machine (consumer-hq only). */
|
|
126
|
+
local?: boolean;
|
|
127
|
+
/** Runtime liveness status. */
|
|
128
|
+
status: 'online' | 'degraded' | 'offline' | 'unknown';
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A tab entry representing a live (or recently exited) terminal session.
|
|
132
|
+
* Wire-compatible with `SessionMetadata` from `terminal-client/server/session-store`.
|
|
133
|
+
*/
|
|
134
|
+
export interface TabSession {
|
|
135
|
+
id: string;
|
|
136
|
+
command: string;
|
|
137
|
+
/** Short display label for the host (e.g. host name, 'local'). */
|
|
138
|
+
hostLabel?: string;
|
|
139
|
+
startedAt: number;
|
|
140
|
+
/** True when no SSE subscriber is attached (PTY keeps running). */
|
|
141
|
+
detached: boolean;
|
|
142
|
+
/** True when the process has exited. */
|
|
143
|
+
exited: boolean;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The vibes terminal theme — zinc-dark palette.
|
|
147
|
+
* Colors sourced from tui/src/theme.semantic.ts `darkColors` (upstream).
|
|
148
|
+
* Hand-copied here to avoid a runtime dep on @vibesdotdev/tui.
|
|
149
|
+
*/
|
|
150
|
+
export declare const VIBES_TERMINAL_THEME: Readonly<TerminalTheme>;
|
|
151
|
+
/**
|
|
152
|
+
* @deprecated Use `VIBES_TERMINAL_THEME` instead. Kept for back-compat.
|
|
153
|
+
* Will be removed in a future major version.
|
|
154
|
+
*/
|
|
155
|
+
export declare const DEFAULT_TERMINAL_THEME: Readonly<TerminalTheme>;
|
|
156
|
+
export declare const DEFAULT_FONT: Readonly<{
|
|
157
|
+
family: string;
|
|
158
|
+
size: number;
|
|
159
|
+
}>;
|
|
160
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/svelte/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types for `@vibesdotdev/terminal-client/svelte`.
|
|
3
|
+
*
|
|
4
|
+
* The `ExecutionSession` shape is OWNED BY L3 (`@vibesdotdev/kernel/execution`)
|
|
5
|
+
* and consumed here type-only — this lane MUST NOT vary it. We re-export the type
|
|
6
|
+
* so consumers can annotate the `session` prop without a direct dep on
|
|
7
|
+
* runtime-execution if they only need the type.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* The vibes terminal theme — zinc-dark palette.
|
|
11
|
+
* Colors sourced from tui/src/theme.semantic.ts `darkColors` (upstream).
|
|
12
|
+
* Hand-copied here to avoid a runtime dep on @vibesdotdev/tui.
|
|
13
|
+
*/
|
|
14
|
+
export const VIBES_TERMINAL_THEME = Object.freeze({
|
|
15
|
+
// Surface
|
|
16
|
+
background: '#09090b',
|
|
17
|
+
foreground: '#fafafa',
|
|
18
|
+
// Cursor — block, zinc-200 on zinc-950
|
|
19
|
+
cursor: '#e4e4e7',
|
|
20
|
+
cursorAccent: '#09090b',
|
|
21
|
+
// Selection — zinc-900 bg, full-white fg for legibility
|
|
22
|
+
selectionBackground: '#1f1f23',
|
|
23
|
+
selectionForeground: '#fafafa',
|
|
24
|
+
// ANSI standard colors
|
|
25
|
+
black: '#27272a',
|
|
26
|
+
red: '#ff6467',
|
|
27
|
+
green: '#61d46a',
|
|
28
|
+
yellow: '#fab72a',
|
|
29
|
+
blue: '#28bbfe',
|
|
30
|
+
magenta: '#b794f6',
|
|
31
|
+
cyan: '#56cfd8',
|
|
32
|
+
white: '#9f9fa9',
|
|
33
|
+
// ANSI bright colors
|
|
34
|
+
brightBlack: '#71717b',
|
|
35
|
+
brightRed: '#ff8a8c',
|
|
36
|
+
brightGreen: '#7ce085',
|
|
37
|
+
brightYellow: '#ffc95a',
|
|
38
|
+
brightBlue: '#5fccff',
|
|
39
|
+
brightMagenta: '#cbb0fb',
|
|
40
|
+
brightCyan: '#7fdfe6',
|
|
41
|
+
brightWhite: '#fafafa'
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use `VIBES_TERMINAL_THEME` instead. Kept for back-compat.
|
|
45
|
+
* Will be removed in a future major version.
|
|
46
|
+
*/
|
|
47
|
+
export const DEFAULT_TERMINAL_THEME = VIBES_TERMINAL_THEME;
|
|
48
|
+
export const DEFAULT_FONT = Object.freeze({
|
|
49
|
+
family: '"SF Mono", Menlo, Consolas, "Liberation Mono", monospace',
|
|
50
|
+
size: 13
|
|
51
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/svelte/workspace.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-client.plugin.d.ts","sourceRoot":"","sources":["../src/terminal-client.plugin.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-client.plugin.js","sourceRoot":"","sources":["../src/terminal-client.plugin.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Unified Tool Implementation (consumer)
|
|
3
|
+
*
|
|
4
|
+
* `execute` / `spawn` call `runtime/execution` (pipes). `session` / `open` open
|
|
5
|
+
* a PTY via the per-runtime `TerminalSessionStore`. One store per runtime;
|
|
6
|
+
* PTY ownership is keyed on the caller's participant/connection. A spawned
|
|
7
|
+
* process is held per owner too: its `procId` is a handle `read`, `wait`,
|
|
8
|
+
* `list` and `close` accept, with its stdout/stderr kept in a backlog ring.
|
|
9
|
+
*/
|
|
10
|
+
import { BaseRuntimeClient } from '@vibesdotdev/kernel/client';
|
|
11
|
+
import { type VibesRuntime } from '@vibesdotdev/kernel';
|
|
12
|
+
import type { ToolCallContext } from '@vibesdotdev/kernel/schemas/tool-call';
|
|
13
|
+
import { type TerminalInput, type TerminalOutput } from './tools/terminal.schemas.ts';
|
|
14
|
+
/** The kernel owns one terminal client and its lazy tool state per runtime. */
|
|
15
|
+
export declare class TerminalClient extends BaseRuntimeClient<VibesRuntime> {
|
|
16
|
+
private state;
|
|
17
|
+
private sequence;
|
|
18
|
+
private remoteAbortCleanup?;
|
|
19
|
+
private readonly stopRemoteSessions;
|
|
20
|
+
prepareRemoteSession(): void;
|
|
21
|
+
private readonly remoteSessions;
|
|
22
|
+
nextRemoteSessionId(hostId: string): string;
|
|
23
|
+
ownRemoteSession(close: () => void | Promise<void>): () => void;
|
|
24
|
+
/** Open the HTTP transport on this runtime; hosts select the semantic client once. */
|
|
25
|
+
openHttpSession(options: import('./schemas/http.ts').OpenHttpSessionOptions): Promise<import("./client/http-session.ts").OpenedHttpSession>;
|
|
26
|
+
execute(input: TerminalInput, ctx?: ToolCallContext): Promise<TerminalOutput>;
|
|
27
|
+
protected onDispose(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export default TerminalClient;
|
|
30
|
+
//# sourceMappingURL=terminal-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-runtime.d.ts","sourceRoot":"","sources":["../src/terminal-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EASN,KAAK,YAAY,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAU7E,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AA6nBpI,+EAA+E;AAC/E,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,YAAY,CAAC;IAClE,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,kBAAkB,CAAC,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAIjC;IAEF,oBAAoB,IAAI,IAAI;IAG5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IAExE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI3C,gBAAgB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI;IAK/D,sFAAsF;IAChF,eAAe,CAAC,OAAO,EAAE,OAAO,mBAAmB,EAAE,sBAAsB;IAsCjF,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;cAQ7D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB1C;AAED,eAAe,cAAc,CAAC"}
|