@opensumi/ide-terminal-next 3.1.3 → 3.1.4-next-1719541057.0
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/lib/node/pty.manager.d.ts +2 -1
- package/lib/node/pty.manager.d.ts.map +1 -1
- package/lib/node/pty.manager.js +3 -0
- package/lib/node/pty.manager.js.map +1 -1
- package/lib/node/pty.manager.remote.d.ts.map +1 -1
- package/lib/node/pty.manager.remote.js +2 -6
- package/lib/node/pty.manager.remote.js.map +1 -1
- package/package.json +16 -16
- package/src/node/pty.manager.remote.ts +2 -5
- package/src/node/pty.manager.ts +4 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pty from 'node-pty';
|
|
2
|
-
import { INodeLogger } from '@opensumi/ide-core-node';
|
|
2
|
+
import { Deferred, INodeLogger } from '@opensumi/ide-core-node';
|
|
3
3
|
import { IPtyProcessProxy, IPtyProxyRPCService, IPtySpawnOptions } from '../common';
|
|
4
4
|
export declare const PtyServiceManagerToken: unique symbol;
|
|
5
5
|
/**
|
|
@@ -28,6 +28,7 @@ export declare class PtyServiceManager implements IPtyServiceManager {
|
|
|
28
28
|
protected callId: number;
|
|
29
29
|
protected callbackMap: Map<number, (...args: any[]) => void>;
|
|
30
30
|
protected ptyServiceProxy: IPtyProxyRPCService;
|
|
31
|
+
protected ptyServiceProxyDeferred: Deferred<unknown>;
|
|
31
32
|
protected logger: INodeLogger;
|
|
32
33
|
constructor();
|
|
33
34
|
protected initLocal(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.manager.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"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"}
|
package/lib/node/pty.manager.js
CHANGED
|
@@ -17,6 +17,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
17
17
|
constructor() {
|
|
18
18
|
this.callId = 0;
|
|
19
19
|
this.callbackMap = new Map();
|
|
20
|
+
this.ptyServiceProxyDeferred = new ide_core_node_1.Deferred();
|
|
20
21
|
this.initLocal();
|
|
21
22
|
}
|
|
22
23
|
initLocal() {
|
|
@@ -28,6 +29,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
28
29
|
callback(...args);
|
|
29
30
|
};
|
|
30
31
|
this.ptyServiceProxy = new pty_proxy_1.PtyServiceProxy(callback);
|
|
32
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
31
33
|
}
|
|
32
34
|
// 维护一个 CallbackMap,用于在 PtyServiceProxy 中远程调用回调
|
|
33
35
|
// 因为在 RPC 调用中本身是没法直接传递回调 Function 的,所以需要在远程调用中传递 callId,在本地调用中通过 callId 获取回调
|
|
@@ -42,6 +44,7 @@ let PtyServiceManager = class PtyServiceManager {
|
|
|
42
44
|
return { callId, disposable };
|
|
43
45
|
}
|
|
44
46
|
async spawn(file, args, options, sessionId, spawnOptions) {
|
|
47
|
+
await this.ptyServiceProxyDeferred.promise;
|
|
45
48
|
const ptyRemoteProxy = (await this.ptyServiceProxy.$spawn(file, args, options, sessionId, spawnOptions));
|
|
46
49
|
// 局部功能的 IPty, 代理所有常量
|
|
47
50
|
return new PtyProcessProxy(ptyRemoteProxy, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.js","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":";;;;AAEA,qCAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"pty.manager.js","sourceRoot":"","sources":["../../src/node/pty.manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.remote.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";AAAA,OAAY,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAc7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,qBACa,uBAAwB,SAAQ,iBAAiB;gBAEpC,WAAW,GAAE,iBAA2D;IAKhG,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"pty.manager.remote.d.ts","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";AAAA,OAAY,EAAE,iBAAiB,EAAE,MAAM,KAAK,CAAC;AAc7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKlD,qBACa,uBAAwB,SAAQ,iBAAiB;gBAEpC,WAAW,GAAE,iBAA2D;IAKhG,OAAO,CAAC,cAAc;IAoCtB,OAAO,CAAC,wBAAwB;IAiCvB,SAAS;CAGnB"}
|
|
@@ -23,6 +23,7 @@ let PtyServiceManagerRemote = class PtyServiceManagerRemote extends pty_manager_
|
|
|
23
23
|
const { getRPCService: clientGetRPCService, createRPCService } = (0, ide_connection_1.initRPCService)(clientCenter);
|
|
24
24
|
const getService = clientGetRPCService(common_1.PTY_SERVICE_PROXY_PROTOCOL);
|
|
25
25
|
this.ptyServiceProxy = getService;
|
|
26
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
26
27
|
let callbackDisposed = false;
|
|
27
28
|
// 处理回调
|
|
28
29
|
createRPCService(common_1.PTY_SERVICE_PROXY_CALLBACK_PROTOCOL, {
|
|
@@ -65,12 +66,7 @@ let PtyServiceManagerRemote = class PtyServiceManagerRemote extends pty_manager_
|
|
|
65
66
|
this.logger.log('PtyServiceManagerRemote connect failed, will reconnect after 2s');
|
|
66
67
|
rpcServiceDisposable === null || rpcServiceDisposable === void 0 ? void 0 : rpcServiceDisposable.dispose();
|
|
67
68
|
global.setTimeout(() => {
|
|
68
|
-
|
|
69
|
-
socket.connect(connectOpts);
|
|
70
|
-
}
|
|
71
|
-
catch (e) {
|
|
72
|
-
this.logger.warn(e);
|
|
73
|
-
}
|
|
69
|
+
this.initRemoteConnectionMode(connectOpts);
|
|
74
70
|
}, 2000);
|
|
75
71
|
});
|
|
76
72
|
// 处理 Socket 异常
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.manager.remote.js","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":";;;;AAAA,sDAA6C;AAE7C,qCAAoD;AACpD,6DAA4E;AAC5E,mFAAoF;AACpF,+DAAoE;AAEpE,sCAKmB;AAEnB,+CAAkD;AAElD,gDAAgD;AAChD,uEAAuE;AACvE,yCAAyC;AAElC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,+BAAiB;IAC5D,0CAA0C;IAC1C,YAAwB,cAAiC,EAAE,IAAI,EAAE,sCAA6B,EAAE;QAC9F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc,CAAC,MAAkB;QACvC,MAAM,YAAY,GAAG,IAAI,iCAAgB,EAAE,CAAC;QAC5C,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,IAAA,+BAAc,EAAC,YAAY,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAwB,mBAAmB,CAAC,mCAA0B,CAAQ,CAAC;QAC/F,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,OAAO;QACP,gBAAgB,CAAC,4CAAmC,EAAE;YACpD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;gBACnC,IAAI,gBAAgB,EAAE;oBACpB,qCAAqC;oBACrC,8DAA8D;oBAC9D,OAAO;iBACR;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,EAAE;oBACb,oDAAoD;oBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;iBACnE;qBAAM;oBACL,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;iBACnB;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,2BAAc,CAAC,YAAY,CAAC,MAAM,EAAE;YACrD,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC1D,OAAO,4BAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,wBAAwB,CAAC,WAA8B;QAC7D,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,oBAA6C,CAAC;QAElD,iCAAiC;QACjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACrD,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,EAAE,CAAC;YAChC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;YACnF,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,OAAO,EAAE,CAAC;YAChC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACrB,IAAI
|
|
1
|
+
{"version":3,"file":"pty.manager.remote.js","sourceRoot":"","sources":["../../src/node/pty.manager.remote.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-terminal-next",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.4-next-1719541057.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "3.1.
|
|
21
|
-
"@opensumi/ide-core-common": "3.1.
|
|
22
|
-
"@opensumi/ide-core-node": "3.1.
|
|
23
|
-
"@opensumi/ide-file-service": "3.1.
|
|
20
|
+
"@opensumi/ide-connection": "3.1.4-next-1719541057.0",
|
|
21
|
+
"@opensumi/ide-core-common": "3.1.4-next-1719541057.0",
|
|
22
|
+
"@opensumi/ide-core-node": "3.1.4-next-1719541057.0",
|
|
23
|
+
"@opensumi/ide-file-service": "3.1.4-next-1719541057.0",
|
|
24
24
|
"node-pty": "1.0.0",
|
|
25
25
|
"os-locale": "^4.0.0",
|
|
26
26
|
"xterm": "5.3.0",
|
|
@@ -30,18 +30,18 @@
|
|
|
30
30
|
"xterm-addon-webgl": "0.15.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@opensumi/ide-components": "3.1.
|
|
34
|
-
"@opensumi/ide-core-browser": "3.1.
|
|
35
|
-
"@opensumi/ide-dev-tool": "3.1.
|
|
36
|
-
"@opensumi/ide-editor": "3.1.
|
|
37
|
-
"@opensumi/ide-main-layout": "3.1.
|
|
38
|
-
"@opensumi/ide-overlay": "3.1.
|
|
39
|
-
"@opensumi/ide-status-bar": "3.1.
|
|
40
|
-
"@opensumi/ide-theme": "3.1.
|
|
41
|
-
"@opensumi/ide-variable": "3.1.
|
|
42
|
-
"@opensumi/ide-workspace": "3.1.
|
|
33
|
+
"@opensumi/ide-components": "3.1.4-next-1719541057.0",
|
|
34
|
+
"@opensumi/ide-core-browser": "3.1.4-next-1719541057.0",
|
|
35
|
+
"@opensumi/ide-dev-tool": "3.1.4-next-1719541057.0",
|
|
36
|
+
"@opensumi/ide-editor": "3.1.4-next-1719541057.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.1.4-next-1719541057.0",
|
|
38
|
+
"@opensumi/ide-overlay": "3.1.4-next-1719541057.0",
|
|
39
|
+
"@opensumi/ide-status-bar": "3.1.4-next-1719541057.0",
|
|
40
|
+
"@opensumi/ide-theme": "3.1.4-next-1719541057.0",
|
|
41
|
+
"@opensumi/ide-variable": "3.1.4-next-1719541057.0",
|
|
42
|
+
"@opensumi/ide-workspace": "3.1.4-next-1719541057.0",
|
|
43
43
|
"@types/http-proxy": "^1.17.2",
|
|
44
44
|
"http-proxy": "^1.18.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "429bf86d870b5d35a78dbec7f85f30af10778987"
|
|
47
47
|
}
|
|
@@ -30,6 +30,7 @@ export class PtyServiceManagerRemote extends PtyServiceManager {
|
|
|
30
30
|
const { getRPCService: clientGetRPCService, createRPCService } = initRPCService(clientCenter);
|
|
31
31
|
const getService: IPtyProxyRPCService = clientGetRPCService(PTY_SERVICE_PROXY_PROTOCOL) as any;
|
|
32
32
|
this.ptyServiceProxy = getService;
|
|
33
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
33
34
|
let callbackDisposed = false;
|
|
34
35
|
|
|
35
36
|
// 处理回调
|
|
@@ -76,11 +77,7 @@ export class PtyServiceManagerRemote extends PtyServiceManager {
|
|
|
76
77
|
this.logger.log('PtyServiceManagerRemote connect failed, will reconnect after 2s');
|
|
77
78
|
rpcServiceDisposable?.dispose();
|
|
78
79
|
global.setTimeout(() => {
|
|
79
|
-
|
|
80
|
-
socket.connect(connectOpts);
|
|
81
|
-
} catch (e) {
|
|
82
|
-
this.logger.warn(e);
|
|
83
|
-
}
|
|
80
|
+
this.initRemoteConnectionMode(connectOpts);
|
|
84
81
|
}, 2000);
|
|
85
82
|
});
|
|
86
83
|
|
package/src/node/pty.manager.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as pty from 'node-pty';
|
|
2
2
|
|
|
3
3
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
4
|
-
import { INodeLogger } from '@opensumi/ide-core-node';
|
|
4
|
+
import { Deferred, INodeLogger } from '@opensumi/ide-core-node';
|
|
5
5
|
|
|
6
6
|
import { IPtyProcessProxy, IPtyProxyRPCService, IPtySpawnOptions, IShellLaunchConfig } from '../common';
|
|
7
7
|
|
|
@@ -49,6 +49,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
49
49
|
protected callbackMap = new Map<number, (...args: any[]) => void>();
|
|
50
50
|
// Pty 终端服务的代理,在双容器模式下采用 RPC 连接,单容器模式下直连
|
|
51
51
|
protected ptyServiceProxy: IPtyProxyRPCService;
|
|
52
|
+
protected ptyServiceProxyDeferred = new Deferred();
|
|
52
53
|
|
|
53
54
|
@Autowired(INodeLogger)
|
|
54
55
|
protected logger: INodeLogger;
|
|
@@ -67,6 +68,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
67
68
|
callback(...args);
|
|
68
69
|
};
|
|
69
70
|
this.ptyServiceProxy = new PtyServiceProxy(callback);
|
|
71
|
+
this.ptyServiceProxyDeferred.resolve();
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
// 维护一个 CallbackMap,用于在 PtyServiceProxy 中远程调用回调
|
|
@@ -92,6 +94,7 @@ export class PtyServiceManager implements IPtyServiceManager {
|
|
|
92
94
|
sessionId?: string,
|
|
93
95
|
spawnOptions?: IPtySpawnOptions,
|
|
94
96
|
): Promise<IPtyProcessProxy> {
|
|
97
|
+
await this.ptyServiceProxyDeferred.promise;
|
|
95
98
|
const ptyRemoteProxy = (await this.ptyServiceProxy.$spawn(
|
|
96
99
|
file,
|
|
97
100
|
args,
|