@myrialabs/ptykit 0.0.1 → 0.0.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/README.md +9 -7
- package/dist/client/host-socket.d.ts +47 -0
- package/dist/client/host-socket.d.ts.map +1 -0
- package/dist/client/host-socket.js +98 -0
- package/dist/client/host-socket.js.map +1 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/pty-kit-client.d.ts +9 -2
- package/dist/client/pty-kit-client.d.ts.map +1 -1
- package/dist/client/pty-kit-client.js +1 -1
- package/dist/client/pty-kit-client.js.map +1 -1
- package/dist/client/terminal.d.ts +25 -4
- package/dist/client/terminal.d.ts.map +1 -1
- package/dist/client/terminal.js +5 -1
- package/dist/client/terminal.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/pty-kit.d.ts +4 -4
- package/dist/core/pty-kit.d.ts.map +1 -1
- package/dist/core/pty-kit.js +3 -3
- package/dist/core/pty-kit.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/pty-kit-server.d.ts +33 -6
- package/dist/server/pty-kit-server.d.ts.map +1 -1
- package/dist/server/pty-kit-server.js +33 -4
- package/dist/server/pty-kit-server.js.map +1 -1
- package/package.json +12 -1
- package/src/client/svelte/PtyTerminal.svelte +8 -2
- package/src/client/svelte/index.d.ts +10 -3
- package/src/client/svelte/index.js +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
23
|
<p align="center">
|
|
24
|
-
<a href="https://www.npmjs.com/package/@myrialabs/ptykit"><img src="https://img.shields.io/npm/v/@myrialabs
|
|
24
|
+
<a href="https://www.npmjs.com/package/@myrialabs/ptykit"><img src="https://img.shields.io/npm/v/@myrialabs%2Fptykit" alt="npm version" /></a>
|
|
25
25
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a>
|
|
26
26
|
<img src="https://img.shields.io/badge/runtime-Node%2018%2B%20%7C%20Bun-black" alt="Node 18+ and Bun" />
|
|
27
27
|
</p>
|
|
@@ -36,9 +36,9 @@ Node); you bring the auth.
|
|
|
36
36
|
|
|
37
37
|
```ts
|
|
38
38
|
// Server
|
|
39
|
-
import {
|
|
39
|
+
import { PtyKitManager, createPtyKitServer } from '@myrialabs/ptykit';
|
|
40
40
|
|
|
41
|
-
const manager = new
|
|
41
|
+
const manager = new PtyKitManager();
|
|
42
42
|
const server = createPtyKitServer(manager, {
|
|
43
43
|
path: '/pty',
|
|
44
44
|
authorize: (ctx) => ctx.conn.data.user?.canAccess(ctx.namespace) ?? false,
|
|
@@ -91,7 +91,9 @@ optional peer dependencies you already have in a frontend.
|
|
|
91
91
|
|
|
92
92
|
| Import | What |
|
|
93
93
|
| --- | --- |
|
|
94
|
-
| `@myrialabs/ptykit` |
|
|
94
|
+
| `@myrialabs/ptykit` | Convenience barrel: core session engine (`PtyKitManager`) + WebSocket server (`createPtyKitServer`). |
|
|
95
|
+
| `@myrialabs/ptykit/core` | Core session engine only (`PtyKitManager`) — transport-agnostic, no server. |
|
|
96
|
+
| `@myrialabs/ptykit/server` | WebSocket transport server only (`PtyKitServer`, `createPtyKitServer`). |
|
|
95
97
|
| `@myrialabs/ptykit/client` | Framework-agnostic browser client (`mountTerminal`, `PtyKitClient`, `attachFit`). |
|
|
96
98
|
| `@myrialabs/ptykit/svelte` | Official Svelte component (`<PtyTerminal/>`). |
|
|
97
99
|
|
|
@@ -99,7 +101,7 @@ optional peer dependencies you already have in a frontend.
|
|
|
99
101
|
|
|
100
102
|
| Task | API |
|
|
101
103
|
| --- | --- |
|
|
102
|
-
| Create the manager | `const m = new
|
|
104
|
+
| Create the manager | `const m = new PtyKitManager({ scrollback: 5000 })` |
|
|
103
105
|
| Mount on Bun | `Bun.serve({ fetch: server.fetch, websocket: server.websocket })` |
|
|
104
106
|
| Mount on Node | `await server.attach(httpServer)` |
|
|
105
107
|
| Terminal (vanilla) | `await mountTerminal(el, { url: '/pty', namespace, sessionId, create: true })` |
|
|
@@ -129,10 +131,10 @@ await server.attach(httpServer);
|
|
|
129
131
|
httpServer.listen(3000);
|
|
130
132
|
```
|
|
131
133
|
|
|
132
|
-
The `
|
|
134
|
+
The `PtyKitManager` owns the sessions and is transport-agnostic:
|
|
133
135
|
|
|
134
136
|
```ts
|
|
135
|
-
const manager = new
|
|
137
|
+
const manager = new PtyKitManager({
|
|
136
138
|
scrollback: 5000, // headless xterm lines
|
|
137
139
|
idleTtl: null, // sessions live until killed; a number opts into idle reaping
|
|
138
140
|
retainExitedMs: 5 * 60_000, // keep exited sessions this long for reconnect replay
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hostSocket` — ride PtyKit's client on a WebSocket you already own.
|
|
3
|
+
*
|
|
4
|
+
* PtyKit's transport is WebSocket-only, and normally `PtyKitClient` opens its own
|
|
5
|
+
* socket to `url`. When your app already runs a single multiplexed WebSocket (one
|
|
6
|
+
* connection carrying many features), you don't want a second PtyKit socket.
|
|
7
|
+
* `hostSocket` adapts your existing connection into the {@link WebSocketLike} that
|
|
8
|
+
* `WsCore` drives, so you keep PtyKit's reconnect/heal/idempotent-resend while the
|
|
9
|
+
* host owns the actual socket. The wire protocol is unchanged — still WebSocket,
|
|
10
|
+
* still `{ action, payload }` frames — only socket ownership moves to the host.
|
|
11
|
+
*
|
|
12
|
+
* Pass the result as `WebSocketImpl`:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const client = new PtyKitClient({
|
|
16
|
+
* namespace: 'project-42',
|
|
17
|
+
* WebSocketImpl: hostSocket({
|
|
18
|
+
* send: (frame) => appWs.emit('pty:frame', frame),
|
|
19
|
+
* subscribe: (onFrame) => appWs.on('pty:frame', onFrame),
|
|
20
|
+
* isOpen: () => appWs.status === 'connected',
|
|
21
|
+
* onStatusChange: (cb) => appWs.onStatus((s) => cb(s === 'connected')),
|
|
22
|
+
* }),
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import type { WireFrame } from '../shared/index.js';
|
|
27
|
+
import type { WebSocketFactory } from './ws-core.js';
|
|
28
|
+
/** The host transport `hostSocket` bridges PtyKit onto. */
|
|
29
|
+
export interface HostSocketHandle {
|
|
30
|
+
/** Send one client→server frame over the host transport. */
|
|
31
|
+
send(frame: WireFrame): void;
|
|
32
|
+
/** Receive server→client frames. Returns an unsubscribe. */
|
|
33
|
+
subscribe(onFrame: (frame: WireFrame) => void): () => void;
|
|
34
|
+
/** Whether the host transport is currently connected. */
|
|
35
|
+
isOpen(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Notify when the host transport connects (`true`) or disconnects (`false`).
|
|
38
|
+
* Drives PtyKit's reconnect + re-attach. Returns an unsubscribe.
|
|
39
|
+
*/
|
|
40
|
+
onStatusChange(cb: (open: boolean) => void): () => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Build a {@link WebSocketFactory} (for `WebSocketImpl`) that tunnels PtyKit
|
|
44
|
+
* frames over an existing host connection instead of opening a new socket.
|
|
45
|
+
*/
|
|
46
|
+
export declare function hostSocket(handle: HostSocketHandle): WebSocketFactory;
|
|
47
|
+
//# sourceMappingURL=host-socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-socket.d.ts","sourceRoot":"","sources":["../../src/client/host-socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,cAAc,CAAC;AAEpE,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAChC,4DAA4D;IAC5D,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC3D,yDAAyD;IACzD,MAAM,IAAI,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACxD;AAKD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA+DrE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `hostSocket` — ride PtyKit's client on a WebSocket you already own.
|
|
3
|
+
*
|
|
4
|
+
* PtyKit's transport is WebSocket-only, and normally `PtyKitClient` opens its own
|
|
5
|
+
* socket to `url`. When your app already runs a single multiplexed WebSocket (one
|
|
6
|
+
* connection carrying many features), you don't want a second PtyKit socket.
|
|
7
|
+
* `hostSocket` adapts your existing connection into the {@link WebSocketLike} that
|
|
8
|
+
* `WsCore` drives, so you keep PtyKit's reconnect/heal/idempotent-resend while the
|
|
9
|
+
* host owns the actual socket. The wire protocol is unchanged — still WebSocket,
|
|
10
|
+
* still `{ action, payload }` frames — only socket ownership moves to the host.
|
|
11
|
+
*
|
|
12
|
+
* Pass the result as `WebSocketImpl`:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const client = new PtyKitClient({
|
|
16
|
+
* namespace: 'project-42',
|
|
17
|
+
* WebSocketImpl: hostSocket({
|
|
18
|
+
* send: (frame) => appWs.emit('pty:frame', frame),
|
|
19
|
+
* subscribe: (onFrame) => appWs.on('pty:frame', onFrame),
|
|
20
|
+
* isOpen: () => appWs.status === 'connected',
|
|
21
|
+
* onStatusChange: (cb) => appWs.onStatus((s) => cb(s === 'connected')),
|
|
22
|
+
* }),
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
const WS_OPEN = 1;
|
|
27
|
+
const WS_CLOSED = 3;
|
|
28
|
+
/**
|
|
29
|
+
* Build a {@link WebSocketFactory} (for `WebSocketImpl`) that tunnels PtyKit
|
|
30
|
+
* frames over an existing host connection instead of opening a new socket.
|
|
31
|
+
*/
|
|
32
|
+
export function hostSocket(handle) {
|
|
33
|
+
return () => {
|
|
34
|
+
let dead = false;
|
|
35
|
+
let opened = false;
|
|
36
|
+
let unsubFrame = null;
|
|
37
|
+
let unsubStatus = null;
|
|
38
|
+
const socket = {
|
|
39
|
+
get readyState() {
|
|
40
|
+
return !dead && handle.isOpen() ? WS_OPEN : WS_CLOSED;
|
|
41
|
+
},
|
|
42
|
+
send(data) {
|
|
43
|
+
// WsCore already serialized the frame; hand the host a structured
|
|
44
|
+
// frame so it can route by action on its own wire without re-parsing.
|
|
45
|
+
try {
|
|
46
|
+
handle.send(JSON.parse(data));
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
/* drop malformed frame */
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
close() {
|
|
53
|
+
dead = true;
|
|
54
|
+
unsubFrame?.();
|
|
55
|
+
unsubStatus?.();
|
|
56
|
+
},
|
|
57
|
+
onopen: null,
|
|
58
|
+
onmessage: null,
|
|
59
|
+
onclose: null,
|
|
60
|
+
onerror: null,
|
|
61
|
+
};
|
|
62
|
+
const goDown = () => {
|
|
63
|
+
if (dead)
|
|
64
|
+
return;
|
|
65
|
+
dead = true;
|
|
66
|
+
unsubFrame?.();
|
|
67
|
+
unsubStatus?.();
|
|
68
|
+
socket.onclose?.();
|
|
69
|
+
};
|
|
70
|
+
const goUp = () => {
|
|
71
|
+
if (dead || opened)
|
|
72
|
+
return;
|
|
73
|
+
opened = true;
|
|
74
|
+
socket.onopen?.();
|
|
75
|
+
};
|
|
76
|
+
unsubFrame = handle.subscribe((frame) => {
|
|
77
|
+
if (!dead)
|
|
78
|
+
socket.onmessage?.({ data: JSON.stringify(frame) });
|
|
79
|
+
});
|
|
80
|
+
unsubStatus = handle.onStatusChange((open) => {
|
|
81
|
+
// Fire `onclose` only on a real drop of an established link; while merely
|
|
82
|
+
// waiting for the host to come up, stay pending so WsCore doesn't burn
|
|
83
|
+
// reconnect attempts — it re-attaches the moment the host reconnects.
|
|
84
|
+
if (open)
|
|
85
|
+
goUp();
|
|
86
|
+
else if (opened)
|
|
87
|
+
goDown();
|
|
88
|
+
});
|
|
89
|
+
// Announce the initial state on a microtask so WsCore can assign handlers
|
|
90
|
+
// first. If the host is already up, open immediately; otherwise wait.
|
|
91
|
+
queueMicrotask(() => {
|
|
92
|
+
if (!dead && handle.isOpen())
|
|
93
|
+
goUp();
|
|
94
|
+
});
|
|
95
|
+
return socket;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=host-socket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-socket.js","sourceRoot":"","sources":["../../src/client/host-socket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IAClD,OAAO,GAAG,EAAE;QACX,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,UAAU,GAAwB,IAAI,CAAC;QAC3C,IAAI,WAAW,GAAwB,IAAI,CAAC;QAE5C,MAAM,MAAM,GAAkB;YAC7B,IAAI,UAAU;gBACb,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,IAAY;gBAChB,kEAAkE;gBAClE,sEAAsE;gBACtE,IAAI,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACR,0BAA0B;gBAC3B,CAAC;YACF,CAAC;YACD,KAAK;gBACJ,IAAI,GAAG,IAAI,CAAC;gBACZ,UAAU,EAAE,EAAE,CAAC;gBACf,WAAW,EAAE,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACb,CAAC;QAEF,MAAM,MAAM,GAAG,GAAG,EAAE;YACnB,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,UAAU,EAAE,EAAE,CAAC;YACf,WAAW,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,EAAE;YACjB,IAAI,IAAI,IAAI,MAAM;gBAAE,OAAO;YAC3B,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;QAEF,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACvC,IAAI,CAAC,IAAI;gBAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5C,0EAA0E;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,IAAI;gBAAE,IAAI,EAAE,CAAC;iBACZ,IAAI,MAAM;gBAAE,MAAM,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,sEAAsE;QACtE,cAAc,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE;gBAAE,IAAI,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;AACH,CAAC"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* `@myrialabs/ptykit/client` — framework-agnostic browser client.
|
|
3
3
|
*/
|
|
4
4
|
export { PtyKitClient, ClientSession, type PtyKitClientOptions, type OpenOptions, } from './pty-kit-client.js';
|
|
5
5
|
export { attachFit, type AttachFitOptions } from './fit.js';
|
|
6
6
|
export { mountTerminal, type MountTerminalOptions, type TerminalHandle, } from './terminal.js';
|
|
7
7
|
export { defaultPersistence, type SessionPersistence } from './persistence.js';
|
|
8
|
+
export { hostSocket, type HostSocketHandle } from './host-socket.js';
|
|
8
9
|
export { WsCore, type WsCoreOptions, type WSStatus, type ReconnectOptions, type WebSocketFactory, type WebSocketLike, } from './ws-core.js';
|
|
9
10
|
export type { Seq, OutputEvent, ReadyEvent, ExitEvent, CreateSessionResponse, } from '../shared/index.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EACN,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACX,GAAG,EACH,WAAW,EACX,UAAU,EACV,SAAS,EACT,qBAAqB,GACrB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GAClB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACX,GAAG,EACH,WAAW,EACX,UAAU,EACV,SAAS,EACT,qBAAqB,GACrB,MAAM,oBAAoB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* `@myrialabs/ptykit/client` — framework-agnostic browser client.
|
|
3
3
|
*/
|
|
4
4
|
export { PtyKitClient, ClientSession, } from './pty-kit-client.js';
|
|
5
5
|
export { attachFit } from './fit.js';
|
|
6
6
|
export { mountTerminal, } from './terminal.js';
|
|
7
7
|
export { defaultPersistence } from './persistence.js';
|
|
8
|
+
export { hostSocket } from './host-socket.js';
|
|
8
9
|
export { WsCore, } from './ws-core.js';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAyB,MAAM,UAAU,CAAC;AAC5D,OAAO,EACN,aAAa,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EACN,MAAM,GAMN,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,aAAa,GAGb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAyB,MAAM,UAAU,CAAC;AAC5D,OAAO,EACN,aAAa,GAGb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACN,MAAM,GAMN,MAAM,cAAc,CAAC"}
|
|
@@ -14,12 +14,19 @@ import { type Seq } from '../shared/index.js';
|
|
|
14
14
|
import { type ReconnectOptions, type WSStatus, type WebSocketFactory } from './ws-core.js';
|
|
15
15
|
import { type SessionPersistence } from './persistence.js';
|
|
16
16
|
export interface PtyKitClientOptions {
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* WebSocket URL to open. Optional (and ignored) when a `WebSocketImpl` rides an
|
|
19
|
+
* existing host connection — e.g. `hostSocket(...)` for embedded transports.
|
|
20
|
+
*/
|
|
21
|
+
url?: string;
|
|
18
22
|
/** Default namespace for `create`/`attach` when not passed explicitly. */
|
|
19
23
|
namespace?: string;
|
|
20
24
|
reconnect?: ReconnectOptions;
|
|
21
25
|
persistence?: SessionPersistence;
|
|
22
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Injectable WebSocket constructor (defaults to global `WebSocket`). Pass
|
|
28
|
+
* `hostSocket(...)` to tunnel over a socket your app already owns.
|
|
29
|
+
*/
|
|
23
30
|
WebSocketImpl?: WebSocketFactory;
|
|
24
31
|
requestTimeoutMs?: number;
|
|
25
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit-client.d.ts","sourceRoot":"","sources":["../../src/client/pty-kit-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAEN,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pty-kit-client.d.ts","sourceRoot":"","sources":["../../src/client/pty-kit-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,7 +138,7 @@ export class PtyKitClient {
|
|
|
138
138
|
this.persistence = options.persistence ?? defaultPersistence();
|
|
139
139
|
this.defaultNamespace = options.namespace;
|
|
140
140
|
this.core = new WsCore({
|
|
141
|
-
url: options.url,
|
|
141
|
+
url: options.url ?? '',
|
|
142
142
|
reconnect: options.reconnect,
|
|
143
143
|
WebSocketImpl: options.WebSocketImpl,
|
|
144
144
|
requestTimeoutMs: options.requestTimeoutMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit-client.js","sourceRoot":"","sources":["../../src/client/pty-kit-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,mBAAmB,EAAY,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACN,MAAM,GAIN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAA2B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty-kit-client.js","sourceRoot":"","sources":["../../src/client/pty-kit-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,19 @@
|
|
|
8
8
|
* handle with the underlying `terminal`/`fitAddon`/`session` for advanced use.
|
|
9
9
|
*
|
|
10
10
|
* xterm and the FitAddon are imported dynamically (they are optional peer deps),
|
|
11
|
-
* so non-browser/headless consumers of
|
|
11
|
+
* so non-browser/headless consumers of `@myrialabs/ptykit/client` never pull them in, and
|
|
12
12
|
* the call is SSR-safe — it only touches the DOM when actually invoked.
|
|
13
13
|
*/
|
|
14
14
|
import { PtyKitClient, type ClientSession } from './pty-kit-client.js';
|
|
15
|
-
import type { ReconnectOptions, WSStatus } from './ws-core.js';
|
|
15
|
+
import type { ReconnectOptions, WSStatus, WebSocketFactory } from './ws-core.js';
|
|
16
16
|
import type { SessionPersistence } from './persistence.js';
|
|
17
17
|
export interface MountTerminalOptions {
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* WebSocket endpoint, e.g. `/pty` or `wss://host/pty`. Optional (and ignored)
|
|
20
|
+
* when `WebSocketImpl` rides a host socket (e.g. `hostSocket(...)`), or when a
|
|
21
|
+
* pre-built `client` is supplied.
|
|
22
|
+
*/
|
|
23
|
+
url?: string;
|
|
20
24
|
/** Session to attach to / create. Omit when creating to auto-generate one. */
|
|
21
25
|
sessionId?: string;
|
|
22
26
|
/** Room/namespace. Required (here or on a passed-in `client`). */
|
|
@@ -31,6 +35,11 @@ export interface MountTerminalOptions {
|
|
|
31
35
|
persistence?: SessionPersistence;
|
|
32
36
|
/** RPC timeout (ms). */
|
|
33
37
|
requestTimeoutMs?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Injectable WebSocket constructor for the internally-created client. Pass
|
|
40
|
+
* `hostSocket(...)` to tunnel over a socket your app already owns.
|
|
41
|
+
*/
|
|
42
|
+
WebSocketImpl?: WebSocketFactory;
|
|
34
43
|
cols?: number;
|
|
35
44
|
rows?: number;
|
|
36
45
|
cwd?: string;
|
|
@@ -45,9 +54,21 @@ export interface MountTerminalOptions {
|
|
|
45
54
|
theme?: Record<string, unknown>;
|
|
46
55
|
/** Extra/override xterm `Terminal` options. */
|
|
47
56
|
terminalOptions?: Record<string, unknown>;
|
|
57
|
+
/**
|
|
58
|
+
* Extra xterm addons (e.g. clipboard, web-links, ligatures, unicode11) loaded
|
|
59
|
+
* after the FitAddon. Construct them yourself and pass the instances; use
|
|
60
|
+
* `onReady` for any post-load activation (e.g. `terminal.unicode.activeVersion`).
|
|
61
|
+
*/
|
|
62
|
+
addons?: unknown[];
|
|
48
63
|
/** Attach a FitAddon + ResizeObserver. Default `true`. */
|
|
49
64
|
fit?: boolean;
|
|
50
65
|
fitDebounceMs?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Called after the terminal is opened and all addons are loaded, but before the
|
|
68
|
+
* session attaches — the place to activate addon features or install custom key
|
|
69
|
+
* handlers on the raw `terminal`.
|
|
70
|
+
*/
|
|
71
|
+
onReady?: (terminal: any) => void;
|
|
51
72
|
onData?: (chunk: string) => void;
|
|
52
73
|
onExit?: (exitCode: number) => void;
|
|
53
74
|
onError?: (error: unknown) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/client/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/client/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IAEpC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC;IAGjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;IAC5C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IAGnB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAGlC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC9B,uDAAuD;IACvD,MAAM,EAAE,YAAY,CAAC;IACrB,oCAAoC;IACpC,OAAO,EAAE,aAAa,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,EAAE,GAAG,CAAC;IACd,qEAAqE;IACrE,QAAQ,EAAE,GAAG,CAAC;IACd;qEACiE;IACjE,OAAO,IAAI,IAAI,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CA4FzB"}
|
package/dist/client/terminal.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* handle with the underlying `terminal`/`fitAddon`/`session` for advanced use.
|
|
9
9
|
*
|
|
10
10
|
* xterm and the FitAddon are imported dynamically (they are optional peer deps),
|
|
11
|
-
* so non-browser/headless consumers of
|
|
11
|
+
* so non-browser/headless consumers of `@myrialabs/ptykit/client` never pull them in, and
|
|
12
12
|
* the call is SSR-safe — it only touches the DOM when actually invoked.
|
|
13
13
|
*/
|
|
14
14
|
import { PtyKitClient } from './pty-kit-client.js';
|
|
@@ -39,7 +39,10 @@ export async function mountTerminal(target, options) {
|
|
|
39
39
|
const fitAddon = options.fit === false ? undefined : new FitAddon();
|
|
40
40
|
if (fitAddon)
|
|
41
41
|
terminal.loadAddon(fitAddon);
|
|
42
|
+
for (const addon of options.addons ?? [])
|
|
43
|
+
terminal.loadAddon(addon);
|
|
42
44
|
terminal.open(target);
|
|
45
|
+
options.onReady?.(terminal);
|
|
43
46
|
const ownClient = !options.client;
|
|
44
47
|
const client = options.client ??
|
|
45
48
|
new PtyKitClient({
|
|
@@ -48,6 +51,7 @@ export async function mountTerminal(target, options) {
|
|
|
48
51
|
reconnect: options.reconnect,
|
|
49
52
|
persistence: options.persistence,
|
|
50
53
|
requestTimeoutMs: options.requestTimeoutMs,
|
|
54
|
+
WebSocketImpl: options.WebSocketImpl,
|
|
51
55
|
});
|
|
52
56
|
const unsubs = [];
|
|
53
57
|
if (options.onStatus)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/client/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/client/terminal.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export { buildPtyEnv, getCleanSpawnEnv, type EnvOptions } from './env.js';
|
|
|
7
7
|
export { checkShell, isWindows, resolveCwd, resolveShell, type ShellInvocation } from './shell.js';
|
|
8
8
|
export { MemoryBufferStore, type BufferStore } from './scrollback.js';
|
|
9
9
|
export { Session, type SessionConfig, type SessionInfo, type SessionDataListener, type SessionExitListener, } from './session.js';
|
|
10
|
-
export {
|
|
10
|
+
export { PtyKitManager, type PtyKitManagerOptions, type CreateSessionOptions, } from './pty-kit.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACN,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACN,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GACzB,MAAM,cAAc,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -6,5 +6,5 @@ export { buildPtyEnv, getCleanSpawnEnv } from './env.js';
|
|
|
6
6
|
export { checkShell, isWindows, resolveCwd, resolveShell } from './shell.js';
|
|
7
7
|
export { MemoryBufferStore } from './scrollback.js';
|
|
8
8
|
export { Session, } from './session.js';
|
|
9
|
-
export {
|
|
9
|
+
export { PtyKitManager, } from './pty-kit.js';
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAoB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACN,OAAO,GAKP,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAmB,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAwB,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAoB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACN,OAAO,GAKP,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,aAAa,GAGb,MAAM,cAAc,CAAC"}
|
package/dist/core/pty-kit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `PtyKitManager` — the session manager.
|
|
3
3
|
*
|
|
4
4
|
* Owns `Map<sessionId, Session>`, the auto-detected backend, the scrollback
|
|
5
5
|
* store, and session lifecycle: idempotent create (R3), no idle TTL by default
|
|
@@ -11,7 +11,7 @@ import type { EnvOptions } from './env.js';
|
|
|
11
11
|
import { type BufferStore } from './scrollback.js';
|
|
12
12
|
import { Session } from './session.js';
|
|
13
13
|
import { type Logger } from '../shared/index.js';
|
|
14
|
-
export interface
|
|
14
|
+
export interface PtyKitManagerOptions {
|
|
15
15
|
/** Environment hygiene (R2). */
|
|
16
16
|
env?: EnvOptions;
|
|
17
17
|
/** Headless scrollback lines (R6). Default 5000. */
|
|
@@ -45,7 +45,7 @@ export interface CreateSessionOptions {
|
|
|
45
45
|
cols?: number;
|
|
46
46
|
rows?: number;
|
|
47
47
|
}
|
|
48
|
-
export declare class
|
|
48
|
+
export declare class PtyKitManager {
|
|
49
49
|
private readonly sessions;
|
|
50
50
|
private readonly buffers;
|
|
51
51
|
private readonly options;
|
|
@@ -56,7 +56,7 @@ export declare class PtyKit {
|
|
|
56
56
|
private readonly removalTimers;
|
|
57
57
|
private idleSweeper;
|
|
58
58
|
private disposed;
|
|
59
|
-
constructor(options?:
|
|
59
|
+
constructor(options?: PtyKitManagerOptions);
|
|
60
60
|
/** The active backend, once resolved. `null` until the first `createSession`. */
|
|
61
61
|
get activeBackend(): PtyBackend | null;
|
|
62
62
|
private resolveBackend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit.d.ts","sourceRoot":"","sources":["../../src/core/pty-kit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"pty-kit.d.ts","sourceRoot":"","sources":["../../src/core/pty-kit.ts"],"names":[],"mappings":"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"}
|
package/dist/core/pty-kit.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `PtyKitManager` — the session manager.
|
|
3
3
|
*
|
|
4
4
|
* Owns `Map<sessionId, Session>`, the auto-detected backend, the scrollback
|
|
5
5
|
* store, and session lifecycle: idempotent create (R3), no idle TTL by default
|
|
@@ -12,7 +12,7 @@ import { Session } from './session.js';
|
|
|
12
12
|
import { resolveCwd } from './shell.js';
|
|
13
13
|
import { silentLogger } from '../shared/index.js';
|
|
14
14
|
const DEFAULT_RETAIN_EXITED_MS = 5 * 60_000;
|
|
15
|
-
export class
|
|
15
|
+
export class PtyKitManager {
|
|
16
16
|
sessions = new Map();
|
|
17
17
|
buffers;
|
|
18
18
|
options;
|
|
@@ -54,7 +54,7 @@ export class PtyKit {
|
|
|
54
54
|
*/
|
|
55
55
|
async createSession(opts) {
|
|
56
56
|
if (this.disposed)
|
|
57
|
-
throw new Error('
|
|
57
|
+
throw new Error('PtyKitManager has been disposed');
|
|
58
58
|
const existing = this.sessions.get(opts.sessionId);
|
|
59
59
|
if (existing) {
|
|
60
60
|
if (existing.namespace !== opts.namespace) {
|
package/dist/core/pty-kit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit.js","sourceRoot":"","sources":["../../src/core/pty-kit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmC/D,MAAM,wBAAwB,GAAG,CAAC,GAAG,MAAM,CAAC;AAE5C,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"pty-kit.js","sourceRoot":"","sources":["../../src/core/pty-kit.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ptykit — production-grade PTY sessions over WebSocket for Node & Bun.
|
|
2
|
+
* @myrialabs/ptykit — production-grade PTY sessions over WebSocket for Node & Bun.
|
|
3
3
|
*
|
|
4
|
-
* This is the main entry (
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This is the main entry (`@myrialabs/ptykit`): a convenience barrel re-exporting
|
|
5
|
+
* the core session engine (`PtyKitManager`) plus the WebSocket transport server
|
|
6
|
+
* (`PtyKitServer`). For narrower imports the same symbols are available at
|
|
7
|
+
* `@myrialabs/ptykit/core` and `@myrialabs/ptykit/server`. The browser client
|
|
8
|
+
* lives at `@myrialabs/ptykit/client` and the Svelte adapter at
|
|
9
|
+
* `@myrialabs/ptykit/svelte`.
|
|
7
10
|
*/
|
|
8
11
|
export * from './shared/index.js';
|
|
9
12
|
export * from './core/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ptykit — production-grade PTY sessions over WebSocket for Node & Bun.
|
|
2
|
+
* @myrialabs/ptykit — production-grade PTY sessions over WebSocket for Node & Bun.
|
|
3
3
|
*
|
|
4
|
-
* This is the main entry (
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This is the main entry (`@myrialabs/ptykit`): a convenience barrel re-exporting
|
|
5
|
+
* the core session engine (`PtyKitManager`) plus the WebSocket transport server
|
|
6
|
+
* (`PtyKitServer`). For narrower imports the same symbols are available at
|
|
7
|
+
* `@myrialabs/ptykit/core` and `@myrialabs/ptykit/server`. The browser client
|
|
8
|
+
* lives at `@myrialabs/ptykit/client` and the Svelte adapter at
|
|
9
|
+
* `@myrialabs/ptykit/svelte`.
|
|
7
10
|
*/
|
|
8
11
|
export * from './shared/index.js';
|
|
9
12
|
export * from './core/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WebSocket transport server — barrel.
|
|
3
3
|
*/
|
|
4
|
-
export { PtyKitServer, createPtyKitServer, type PtyKitServerOptions, type AuthorizeContext, type AuthorizeHook, type AuthorizeOperation, type RoomContext, type RoomResolver, type UpgradeHook, } from './pty-kit-server.js';
|
|
4
|
+
export { PtyKitServer, createPtyKitServer, type PtyKitServerOptions, type EmbeddedConnectionOptions, type AuthorizeContext, type AuthorizeHook, type AuthorizeOperation, type RoomContext, type RoomResolver, type UpgradeHook, } from './pty-kit-server.js';
|
|
5
5
|
export { RoomRegistry, type PtyKitConnection } from './connection.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,YAAY,EACZ,kBAAkB,GASlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC"}
|
|
@@ -6,9 +6,18 @@
|
|
|
6
6
|
* filtered client-side by `sessionId`. Access is enforced by the `authorize`
|
|
7
7
|
* hook with anti-hijack ownership checks (R10).
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
10
|
-
import { type Logger } from '../shared/index.js';
|
|
9
|
+
import type { PtyKitManager } from '../core/pty-kit.js';
|
|
10
|
+
import { type Logger, type WireFrame } from '../shared/index.js';
|
|
11
11
|
import { type PtyKitConnection } from './connection.js';
|
|
12
|
+
/** Options for {@link PtyKitServer.createConnection} (embedded transports). */
|
|
13
|
+
export interface EmbeddedConnectionOptions {
|
|
14
|
+
/** Identity/context the `authorize` hook inspects (e.g. `{ user }`). */
|
|
15
|
+
data?: Record<string, unknown>;
|
|
16
|
+
/** Deliver one wire frame to this client. */
|
|
17
|
+
send: (frame: WireFrame) => void;
|
|
18
|
+
/** Tear down the underlying transport for this client. Optional. */
|
|
19
|
+
close?: () => void;
|
|
20
|
+
}
|
|
12
21
|
/** The operation an `authorize` check guards. */
|
|
13
22
|
export type AuthorizeOperation = 'create' | 'attach' | 'write' | 'resize' | 'kill';
|
|
14
23
|
export interface AuthorizeContext {
|
|
@@ -44,7 +53,7 @@ export interface PtyKitServerOptions {
|
|
|
44
53
|
logger?: Logger;
|
|
45
54
|
}
|
|
46
55
|
export declare class PtyKitServer {
|
|
47
|
-
readonly manager:
|
|
56
|
+
readonly manager: PtyKitManager;
|
|
48
57
|
readonly path: string;
|
|
49
58
|
private readonly rooms;
|
|
50
59
|
private readonly options;
|
|
@@ -52,7 +61,25 @@ export declare class PtyKitServer {
|
|
|
52
61
|
private readonly resolveRoom;
|
|
53
62
|
private bunTransport?;
|
|
54
63
|
private nodeTransport?;
|
|
55
|
-
constructor(manager:
|
|
64
|
+
constructor(manager: PtyKitManager, options?: PtyKitServerOptions);
|
|
65
|
+
/**
|
|
66
|
+
* Mint a transport-agnostic {@link PtyKitConnection} for embedding PtyKit on a
|
|
67
|
+
* socket you already own (e.g. an app-wide multiplexed WebSocket) instead of
|
|
68
|
+
* letting the Bun/Node transports own it. PtyKit assigns a stable id; you
|
|
69
|
+
* supply how to `send` a frame (and optionally `close`). Drive the connection
|
|
70
|
+
* with {@link handleOpen}, {@link handleFrame} / {@link handleMessage}, and
|
|
71
|
+
* {@link handleClose}.
|
|
72
|
+
*
|
|
73
|
+
* The wire protocol is unchanged — still WebSocket, still `{ action, payload }`
|
|
74
|
+
* frames — only socket ownership moves to the host.
|
|
75
|
+
*/
|
|
76
|
+
createConnection(opts: EmbeddedConnectionOptions): PtyKitConnection;
|
|
77
|
+
/**
|
|
78
|
+
* Process one already-parsed wire frame from a connection. Prefer this over
|
|
79
|
+
* {@link handleMessage} in embedded transports that carry structured frames
|
|
80
|
+
* (avoids a redundant JSON stringify/parse round-trip).
|
|
81
|
+
*/
|
|
82
|
+
handleFrame(conn: PtyKitConnection, frame: WireFrame): Promise<void>;
|
|
56
83
|
/** Resolve connection identity at upgrade. Returns `false` to reject. */
|
|
57
84
|
resolveUpgrade(request: any): Promise<Record<string, unknown> | false>;
|
|
58
85
|
handleOpen(_conn: PtyKitConnection): void;
|
|
@@ -96,6 +123,6 @@ export declare class PtyKitServer {
|
|
|
96
123
|
close: (ws: any) => void;
|
|
97
124
|
};
|
|
98
125
|
}
|
|
99
|
-
/** Create a WebSocket server over a `
|
|
100
|
-
export declare function createPtyKitServer(manager:
|
|
126
|
+
/** Create a WebSocket server over a `PtyKitManager`. */
|
|
127
|
+
export declare function createPtyKitServer(manager: PtyKitManager, options?: PtyKitServerOptions): PtyKitServer;
|
|
101
128
|
//# sourceMappingURL=pty-kit-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit-server.d.ts","sourceRoot":"","sources":["../../src/server/pty-kit-server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pty-kit-server.d.ts","sourceRoot":"","sources":["../../src/server/pty-kit-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { checkShell } from '../core/shell.js';
|
|
10
10
|
import { CLIENT_EVENTS, RPC_ACTIONS, silentLogger, } from '../shared/index.js';
|
|
11
11
|
import { RoomRegistry } from './connection.js';
|
|
12
|
+
import { nextConnectionId } from './ids.js';
|
|
12
13
|
import { BunTransport } from './transport-bun.js';
|
|
13
14
|
import { NodeTransport } from './transport-node.js';
|
|
14
15
|
function iso() {
|
|
@@ -30,6 +31,36 @@ export class PtyKitServer {
|
|
|
30
31
|
this.path = options.path ?? '/';
|
|
31
32
|
this.resolveRoom = options.room ?? ((ctx) => ctx.namespace);
|
|
32
33
|
}
|
|
34
|
+
// ---- Embedded transport (bring-your-own-socket) ------------------------
|
|
35
|
+
/**
|
|
36
|
+
* Mint a transport-agnostic {@link PtyKitConnection} for embedding PtyKit on a
|
|
37
|
+
* socket you already own (e.g. an app-wide multiplexed WebSocket) instead of
|
|
38
|
+
* letting the Bun/Node transports own it. PtyKit assigns a stable id; you
|
|
39
|
+
* supply how to `send` a frame (and optionally `close`). Drive the connection
|
|
40
|
+
* with {@link handleOpen}, {@link handleFrame} / {@link handleMessage}, and
|
|
41
|
+
* {@link handleClose}.
|
|
42
|
+
*
|
|
43
|
+
* The wire protocol is unchanged — still WebSocket, still `{ action, payload }`
|
|
44
|
+
* frames — only socket ownership moves to the host.
|
|
45
|
+
*/
|
|
46
|
+
createConnection(opts) {
|
|
47
|
+
return {
|
|
48
|
+
id: nextConnectionId(),
|
|
49
|
+
data: opts.data ?? {},
|
|
50
|
+
send: opts.send,
|
|
51
|
+
close: opts.close ?? (() => { }),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Process one already-parsed wire frame from a connection. Prefer this over
|
|
56
|
+
* {@link handleMessage} in embedded transports that carry structured frames
|
|
57
|
+
* (avoids a redundant JSON stringify/parse round-trip).
|
|
58
|
+
*/
|
|
59
|
+
async handleFrame(conn, frame) {
|
|
60
|
+
if (!frame || typeof frame.action !== 'string')
|
|
61
|
+
return;
|
|
62
|
+
await this.dispatch(conn, frame.action, frame.payload);
|
|
63
|
+
}
|
|
33
64
|
// ---- Identity / lifecycle ----------------------------------------------
|
|
34
65
|
/** Resolve connection identity at upgrade. Returns `false` to reject. */
|
|
35
66
|
async resolveUpgrade(request) {
|
|
@@ -62,9 +93,7 @@ export class PtyKitServer {
|
|
|
62
93
|
this.logger.warn('server', 'dropping unparseable frame');
|
|
63
94
|
return;
|
|
64
95
|
}
|
|
65
|
-
|
|
66
|
-
return;
|
|
67
|
-
await this.dispatch(conn, frame.action, frame.payload);
|
|
96
|
+
await this.handleFrame(conn, frame);
|
|
68
97
|
}
|
|
69
98
|
// ---- Dispatch -----------------------------------------------------------
|
|
70
99
|
async dispatch(conn, action, payload) {
|
|
@@ -354,7 +383,7 @@ export class PtyKitServer {
|
|
|
354
383
|
return this.bunTransport.websocket;
|
|
355
384
|
}
|
|
356
385
|
}
|
|
357
|
-
/** Create a WebSocket server over a `
|
|
386
|
+
/** Create a WebSocket server over a `PtyKitManager`. */
|
|
358
387
|
export function createPtyKitServer(manager, options = {}) {
|
|
359
388
|
return new PtyKitServer(manager, options);
|
|
360
389
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-kit-server.js","sourceRoot":"","sources":["../../src/server/pty-kit-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pty-kit-server.js","sourceRoot":"","sources":["../../src/server/pty-kit-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@myrialabs/ptykit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "PTY sessions over WebSocket for Node & Bun — collaborative rooms, serialized-scrollback reattach, and a resilient browser client with one typed API.",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
6
9
|
"exports": {
|
|
7
10
|
".": {
|
|
8
11
|
"types": "./dist/index.d.ts",
|
|
9
12
|
"import": "./dist/index.js"
|
|
10
13
|
},
|
|
14
|
+
"./core": {
|
|
15
|
+
"types": "./dist/core/index.d.ts",
|
|
16
|
+
"import": "./dist/core/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./server": {
|
|
19
|
+
"types": "./dist/server/index.d.ts",
|
|
20
|
+
"import": "./dist/server/index.js"
|
|
21
|
+
},
|
|
11
22
|
"./client": {
|
|
12
23
|
"types": "./dist/client/index.d.ts",
|
|
13
24
|
"import": "./dist/client/index.js"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!--
|
|
2
|
-
PtyTerminal — official Svelte component for
|
|
2
|
+
PtyTerminal — official Svelte component for `@myrialabs/ptykit/svelte`.
|
|
3
3
|
|
|
4
|
-
A thin reactive shell over `mountTerminal` from
|
|
4
|
+
A thin reactive shell over `mountTerminal` from `@myrialabs/ptykit/client`, which owns all
|
|
5
5
|
the xterm.js + FitAddon + session wiring. xterm is imported dynamically there,
|
|
6
6
|
so the component is SSR-safe (it only touches the DOM in the browser).
|
|
7
7
|
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
reconnect = undefined,
|
|
21
21
|
persistence = undefined,
|
|
22
22
|
requestTimeoutMs = undefined,
|
|
23
|
+
WebSocketImpl = undefined,
|
|
23
24
|
|
|
24
25
|
// --- session (used when creating) ---
|
|
25
26
|
cols = undefined,
|
|
@@ -36,10 +37,12 @@
|
|
|
36
37
|
cursorStyle = 'block',
|
|
37
38
|
theme = undefined,
|
|
38
39
|
terminalOptions = {},
|
|
40
|
+
addons = undefined,
|
|
39
41
|
|
|
40
42
|
// --- behavior ---
|
|
41
43
|
fit = true,
|
|
42
44
|
fitDebounceMs = 100,
|
|
45
|
+
onTerminalReady = undefined,
|
|
43
46
|
showStatus = true,
|
|
44
47
|
|
|
45
48
|
// --- styling ---
|
|
@@ -74,6 +77,7 @@
|
|
|
74
77
|
reconnect,
|
|
75
78
|
persistence,
|
|
76
79
|
requestTimeoutMs,
|
|
80
|
+
WebSocketImpl,
|
|
77
81
|
cols,
|
|
78
82
|
rows,
|
|
79
83
|
cwd,
|
|
@@ -86,8 +90,10 @@
|
|
|
86
90
|
cursorStyle,
|
|
87
91
|
theme,
|
|
88
92
|
terminalOptions,
|
|
93
|
+
addons,
|
|
89
94
|
fit,
|
|
90
95
|
fitDebounceMs,
|
|
96
|
+
onReady: onTerminalReady,
|
|
91
97
|
onData: ondata,
|
|
92
98
|
onExit: onexit,
|
|
93
99
|
onError: onerror,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Type declarations for
|
|
2
|
+
* Type declarations for `@myrialabs/ptykit/svelte`.
|
|
3
3
|
*
|
|
4
4
|
* The component ships as raw `.svelte` source (resolved via the `svelte` export
|
|
5
5
|
* condition by Svelte-aware bundlers). These hand-written types describe its
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
PtyKitClient,
|
|
13
13
|
ReconnectOptions,
|
|
14
14
|
SessionPersistence,
|
|
15
|
+
WebSocketFactory,
|
|
15
16
|
} from '../index.js';
|
|
16
17
|
|
|
17
18
|
export interface PtyTerminalReadyContext {
|
|
@@ -25,8 +26,8 @@ export interface PtyTerminalProps {
|
|
|
25
26
|
// connection
|
|
26
27
|
/** Session to attach to / create (created server-side if new). */
|
|
27
28
|
sessionId: string;
|
|
28
|
-
/** WebSocket endpoint, e.g. `/pty`. */
|
|
29
|
-
url
|
|
29
|
+
/** WebSocket endpoint, e.g. `/pty`. Optional when `WebSocketImpl`/`client` rides a host socket. */
|
|
30
|
+
url?: string;
|
|
30
31
|
/** Room/namespace. Required when `create` is true. */
|
|
31
32
|
namespace?: string;
|
|
32
33
|
/** Create instead of attach. Default `false`. */
|
|
@@ -39,6 +40,8 @@ export interface PtyTerminalProps {
|
|
|
39
40
|
persistence?: SessionPersistence;
|
|
40
41
|
/** RPC timeout (ms). */
|
|
41
42
|
requestTimeoutMs?: number;
|
|
43
|
+
/** Injectable WebSocket constructor — pass `hostSocket(...)` to tunnel over an app socket. */
|
|
44
|
+
WebSocketImpl?: WebSocketFactory;
|
|
42
45
|
|
|
43
46
|
// session (used when creating)
|
|
44
47
|
cols?: number;
|
|
@@ -57,11 +60,15 @@ export interface PtyTerminalProps {
|
|
|
57
60
|
theme?: Record<string, unknown>;
|
|
58
61
|
/** Extra/override xterm `Terminal` options. */
|
|
59
62
|
terminalOptions?: Record<string, unknown>;
|
|
63
|
+
/** Extra xterm addons (clipboard, web-links, ligatures, unicode11, …) loaded after FitAddon. */
|
|
64
|
+
addons?: unknown[];
|
|
60
65
|
|
|
61
66
|
// behavior
|
|
62
67
|
/** Attach a FitAddon + ResizeObserver. Default `true`. */
|
|
63
68
|
fit?: boolean;
|
|
64
69
|
fitDebounceMs?: number;
|
|
70
|
+
/** Called with the raw `terminal` after addons load, before attach (activate addons / key handlers). */
|
|
71
|
+
onTerminalReady?: (terminal: unknown) => void;
|
|
65
72
|
/** Show the built-in connection-status chip. Default `true`. */
|
|
66
73
|
showStatus?: boolean;
|
|
67
74
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Entry for
|
|
1
|
+
// Entry for `@myrialabs/ptykit/svelte`. Hand-written (not tsc-built) so the package can
|
|
2
2
|
// ship the raw `.svelte` component, which Svelte-aware bundlers compile via the
|
|
3
3
|
// `svelte` export condition. Types live in `index.d.ts`.
|
|
4
4
|
export { default, default as PtyTerminal } from './PtyTerminal.svelte';
|