diff --git a/package-lock.json b/package-lock.json index fdeb960..447f4ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,8 @@ "@tiptap/suggestion": "^3.23.6", "@tiptap/vue-3": "^3.23.6", "@types/html2canvas": "^0.5.35", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-web-links": "^0.12.0", "diff": "^8.0.3", "dompurify": "^3.2.7", "enquirer": "^2.4.1", @@ -33,7 +35,8 @@ "socket.io-client": "^4.7.5", "unified": "^11.0.5", "vue": "^3.4.15", - "vue-stick-to-bottom": "^1.0.0" + "vue-stick-to-bottom": "^1.0.0", + "xterm": "^5.3.0" }, "devDependencies": { "@types/node": "^20.10.5", @@ -2609,6 +2612,18 @@ "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==", "license": "MIT" }, + "node_modules/@xterm/addon-fit": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.11.0.tgz", + "integrity": "sha512-jYcgT6xtVYhnhgxh3QgYDnnNMYTcf8ElbxxFzX0IZo+vabQqSPAjC3c1wJrKB5E19VwQei89QCiZZP86DCPF7g==", + "license": "MIT" + }, + "node_modules/@xterm/addon-web-links": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@xterm/addon-web-links/-/addon-web-links-0.12.0.tgz", + "integrity": "sha512-4Smom3RPyVp7ZMYOYDoC/9eGJJJqYhnPLGGqJ6wOBfB8VxPViJNSKdgRYb8NpaM6YSelEKbA2SStD7lGyqaobw==", + "license": "MIT" + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -7367,6 +7382,13 @@ "node": ">=0.4.0" } }, + "node_modules/xterm": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/xterm/-/xterm-5.3.0.tgz", + "integrity": "sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==", + "deprecated": "This package is now deprecated. Move to @xterm/xterm instead.", + "license": "MIT" + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index fec8e1b..71b703f 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "@tiptap/suggestion": "^3.23.6", "@tiptap/vue-3": "^3.23.6", "@types/html2canvas": "^0.5.35", + "@xterm/addon-fit": "^0.11.0", + "@xterm/addon-web-links": "^0.12.0", "diff": "^8.0.3", "dompurify": "^3.2.7", "enquirer": "^2.4.1", @@ -40,7 +42,8 @@ "socket.io-client": "^4.7.5", "unified": "^11.0.5", "vue": "^3.4.15", - "vue-stick-to-bottom": "^1.0.0" + "vue-stick-to-bottom": "^1.0.0", + "xterm": "^5.3.0" }, "devDependencies": { "@types/node": "^20.10.5", diff --git a/static/src/App.vue b/static/src/App.vue index 5734137..1a23c75 100644 --- a/static/src/App.vue +++ b/static/src/App.vue @@ -292,6 +292,7 @@ :block-upload="policyUiBlocks.block_upload" :block-tool-toggle="policyUiBlocks.block_tool_toggle" :block-realtime-terminal="policyUiBlocks.block_realtime_terminal" + :terminal-count="terminalSessions ? Object.keys(terminalSessions).length : 0" :block-focus-panel="policyUiBlocks.block_focus_panel" :block-token-panel="policyUiBlocks.block_token_panel" :block-compress-conversation="policyUiBlocks.block_compress_conversation" @@ -354,23 +355,42 @@