vite-plugin-opencode-assistant 1.1.11 → 1.1.13

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.
@@ -51,6 +51,25 @@ function generateBridgeScript(options) {
51
51
  const mergedSettings = mergeSettings(DEFAULT_OPENCODE_SETTINGS, settings);
52
52
  return `
53
53
  (function() {
54
+ // \u7ACB\u5373\u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u5FC5\u987B\u5728 DOMContentLoaded \u4E4B\u524D\u6267\u884C
55
+ // \u5426\u5219 OpenCode \u6A21\u5757\u811A\u672C\u4F1A\u5148\u8BFB\u53D6 localStorage \u5E76\u53D1\u51FA 404 \u8BF7\u6C42
56
+ (function cleanupTabsStorage() {
57
+ try {
58
+ var keysToRemove = [];
59
+ for (var i = 0; i < localStorage.length; i++) {
60
+ var key = localStorage.key(i);
61
+ if (key && (key.indexOf('opencode.window') === 0 || key.indexOf('opencode.workspace') === 0)) {
62
+ keysToRemove.push(key);
63
+ }
64
+ }
65
+ for (var j = 0; j < keysToRemove.length; j++) {
66
+ localStorage.removeItem(keysToRemove[j]);
67
+ }
68
+ } catch (e) {
69
+ // localStorage \u4E0D\u53EF\u7528\u65F6\u5FFD\u7565
70
+ }
71
+ })();
72
+
54
73
  // === \u52AB\u6301 matchMedia\uFF0C\u5F3A\u5236\u684C\u9762\u7AEF\u5E03\u5C40\u4EE5\u6E32\u67D3\u5BA1\u67E5\u9762\u677F ===
55
74
  // \u53EA\u52AB\u6301 opencode \u5224\u65AD\u684C\u9762\u7AEF\u7684\u5A92\u4F53\u67E5\u8BE2 (min-width: 768px)\uFF0C\u4E0D\u5F71\u54CD\u5176\u4ED6\u67E5\u8BE2
56
75
  (function() {
@@ -641,25 +660,6 @@ function generateBridgeScript(options) {
641
660
 
642
661
  // === \u5C31\u7EEA\u901A\u77E5 ===
643
662
  function init() {
644
- // \u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u907F\u514D\u52A0\u8F7D\u5DF2\u8FC7\u671F\u7684 session \u4EA7\u751F 404
645
- // localStorage \u6309 origin \u9694\u79BB\uFF0C\u6BCF\u6B21 iframe \u91CD\u65B0\u52A0\u8F7D\u65F6\u6E05\u6389\u65E7\u7684 tab \u8BB0\u5F55
646
- (function cleanupTabsStorage() {
647
- try {
648
- var keysToRemove = [];
649
- for (var i = 0; i < localStorage.length; i++) {
650
- var key = localStorage.key(i);
651
- if (key && (key.indexOf('opencode.window') === 0 || key.indexOf('opencode.workspace') === 0)) {
652
- keysToRemove.push(key);
653
- }
654
- }
655
- for (var j = 0; j < keysToRemove.length; j++) {
656
- localStorage.removeItem(keysToRemove[j]);
657
- }
658
- } catch (e) {
659
- // localStorage \u4E0D\u53EF\u7528\u65F6\u5FFD\u7565
660
- }
661
- })();
662
-
663
663
  injectMinimizeStyles();
664
664
  injectReviewPanelStyles();
665
665
  injectGeneralStyles();
@@ -698,6 +698,13 @@ function startProxyServer(targetUrl, port, options = {}) {
698
698
  return new Promise((resolve, reject) => {
699
699
  const target = new URL(targetUrl);
700
700
  const bridgeScript = generateBridgeScript(options);
701
+ const agent = new http.Agent({
702
+ keepAlive: true,
703
+ keepAliveMsecs: 3e4,
704
+ maxSockets: 50,
705
+ maxFreeSockets: 10,
706
+ timeout: 0
707
+ });
701
708
  const server = http.createServer((req, res) => {
702
709
  if (req.url === BRIDGE_SCRIPT_PATH) {
703
710
  const body = bridgeScript;
@@ -710,6 +717,7 @@ function startProxyServer(targetUrl, port, options = {}) {
710
717
  return;
711
718
  }
712
719
  const requestOptions = {
720
+ agent,
713
721
  hostname: target.hostname,
714
722
  port: target.port,
715
723
  path: req.url,
@@ -75,6 +75,25 @@ function generateBridgeScript(options) {
75
75
  const mergedSettings = mergeSettings(import_shared.DEFAULT_OPENCODE_SETTINGS, settings);
76
76
  return `
77
77
  (function() {
78
+ // \u7ACB\u5373\u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u5FC5\u987B\u5728 DOMContentLoaded \u4E4B\u524D\u6267\u884C
79
+ // \u5426\u5219 OpenCode \u6A21\u5757\u811A\u672C\u4F1A\u5148\u8BFB\u53D6 localStorage \u5E76\u53D1\u51FA 404 \u8BF7\u6C42
80
+ (function cleanupTabsStorage() {
81
+ try {
82
+ var keysToRemove = [];
83
+ for (var i = 0; i < localStorage.length; i++) {
84
+ var key = localStorage.key(i);
85
+ if (key && (key.indexOf('opencode.window') === 0 || key.indexOf('opencode.workspace') === 0)) {
86
+ keysToRemove.push(key);
87
+ }
88
+ }
89
+ for (var j = 0; j < keysToRemove.length; j++) {
90
+ localStorage.removeItem(keysToRemove[j]);
91
+ }
92
+ } catch (e) {
93
+ // localStorage \u4E0D\u53EF\u7528\u65F6\u5FFD\u7565
94
+ }
95
+ })();
96
+
78
97
  // === \u52AB\u6301 matchMedia\uFF0C\u5F3A\u5236\u684C\u9762\u7AEF\u5E03\u5C40\u4EE5\u6E32\u67D3\u5BA1\u67E5\u9762\u677F ===
79
98
  // \u53EA\u52AB\u6301 opencode \u5224\u65AD\u684C\u9762\u7AEF\u7684\u5A92\u4F53\u67E5\u8BE2 (min-width: 768px)\uFF0C\u4E0D\u5F71\u54CD\u5176\u4ED6\u67E5\u8BE2
80
99
  (function() {
@@ -665,25 +684,6 @@ function generateBridgeScript(options) {
665
684
 
666
685
  // === \u5C31\u7EEA\u901A\u77E5 ===
667
686
  function init() {
668
- // \u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u907F\u514D\u52A0\u8F7D\u5DF2\u8FC7\u671F\u7684 session \u4EA7\u751F 404
669
- // localStorage \u6309 origin \u9694\u79BB\uFF0C\u6BCF\u6B21 iframe \u91CD\u65B0\u52A0\u8F7D\u65F6\u6E05\u6389\u65E7\u7684 tab \u8BB0\u5F55
670
- (function cleanupTabsStorage() {
671
- try {
672
- var keysToRemove = [];
673
- for (var i = 0; i < localStorage.length; i++) {
674
- var key = localStorage.key(i);
675
- if (key && (key.indexOf('opencode.window') === 0 || key.indexOf('opencode.workspace') === 0)) {
676
- keysToRemove.push(key);
677
- }
678
- }
679
- for (var j = 0; j < keysToRemove.length; j++) {
680
- localStorage.removeItem(keysToRemove[j]);
681
- }
682
- } catch (e) {
683
- // localStorage \u4E0D\u53EF\u7528\u65F6\u5FFD\u7565
684
- }
685
- })();
686
-
687
687
  injectMinimizeStyles();
688
688
  injectReviewPanelStyles();
689
689
  injectGeneralStyles();
@@ -722,6 +722,13 @@ function startProxyServer(targetUrl, port, options = {}) {
722
722
  return new Promise((resolve, reject) => {
723
723
  const target = new URL(targetUrl);
724
724
  const bridgeScript = generateBridgeScript(options);
725
+ const agent = new import_http.default.Agent({
726
+ keepAlive: true,
727
+ keepAliveMsecs: 3e4,
728
+ maxSockets: 50,
729
+ maxFreeSockets: 10,
730
+ timeout: 0
731
+ });
725
732
  const server = import_http.default.createServer((req, res) => {
726
733
  if (req.url === import_shared.BRIDGE_SCRIPT_PATH) {
727
734
  const body = bridgeScript;
@@ -734,6 +741,7 @@ function startProxyServer(targetUrl, port, options = {}) {
734
741
  return;
735
742
  }
736
743
  const requestOptions = {
744
+ agent,
737
745
  hostname: target.hostname,
738
746
  port: target.port,
739
747
  path: req.url,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-opencode-assistant",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "description": "Embed OpenCode Web UI in your Vite dev server for real-time code modification and preview",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
@@ -37,15 +37,15 @@
37
37
  "dependencies": {
38
38
  "unplugin-vue-inspector": "^3.0.0",
39
39
  "execa": "^9.6.1",
40
- "@vite-plugin-opencode-assistant/opencode": "1.1.11",
41
- "@vite-plugin-opencode-assistant/components": "1.1.11",
42
- "@vite-plugin-opencode-assistant/shared": "1.1.11"
40
+ "@vite-plugin-opencode-assistant/components": "1.1.13",
41
+ "@vite-plugin-opencode-assistant/opencode": "1.1.13",
42
+ "@vite-plugin-opencode-assistant/shared": "1.1.13"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "vite": ">=5.0.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@vite-plugin-opencode-assistant/client": "1.1.11"
48
+ "@vite-plugin-opencode-assistant/client": "1.1.13"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "pagoda-cli build && vite build -c vite.client.config.ts",