@aipanel/provider-opencode 1.2.19 → 1.2.20
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/es/bridge-script.js +11 -4
- package/es/types.d.ts +6 -0
- package/lib/bridge-script.cjs +11 -4
- package/lib/types.d.ts +6 -0
- package/package.json +4 -3
package/es/bridge-script.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DEFAULT_OPENCODE_SETTINGS, OPENCODE_STORAGE_KEYS } from "./constants.js";
|
|
2
2
|
import { WIDGET_MSG } from "@aipanel/core";
|
|
3
3
|
function mergeSettings(defaultSettings, userSettings) {
|
|
4
|
-
if (!userSettings) return defaultSettings;
|
|
5
4
|
const result = { ...defaultSettings };
|
|
5
|
+
if (!userSettings) return result;
|
|
6
6
|
if (userSettings.general) {
|
|
7
7
|
result.general = { ...defaultSettings.general, ...userSettings.general };
|
|
8
8
|
}
|
|
@@ -23,6 +23,9 @@ function mergeSettings(defaultSettings, userSettings) {
|
|
|
23
23
|
function generateBridgeScript(options = {}) {
|
|
24
24
|
const { theme = "auto", language, settings } = options;
|
|
25
25
|
const mergedSettings = mergeSettings(DEFAULT_OPENCODE_SETTINGS, settings);
|
|
26
|
+
if (language) {
|
|
27
|
+
mergedSettings.general = { ...mergedSettings.general ?? {}, language };
|
|
28
|
+
}
|
|
26
29
|
return `
|
|
27
30
|
(function() {
|
|
28
31
|
// \u7ACB\u5373\u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u5FC5\u987B\u5728 DOMContentLoaded \u4E4B\u524D\u6267\u884C
|
|
@@ -74,14 +77,18 @@ function generateBridgeScript(options = {}) {
|
|
|
74
77
|
// === \u521D\u59CB\u5316\u914D\u7F6E ===
|
|
75
78
|
const initialConfig = {
|
|
76
79
|
theme: ${JSON.stringify(theme)},
|
|
77
|
-
language: ${JSON.stringify(language || null)},
|
|
78
80
|
settings: ${JSON.stringify(mergedSettings)}
|
|
79
81
|
};
|
|
80
82
|
|
|
81
83
|
// \u521D\u59CB\u5316\u4E3B\u9898
|
|
82
84
|
if (initialConfig.theme && initialConfig.theme !== "auto") {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
try {
|
|
86
|
+
localStorage.setItem(THEME_KEY, initialConfig.theme);
|
|
87
|
+
document.documentElement.setAttribute("data-color-scheme", initialConfig.theme);
|
|
88
|
+
} catch (e) {
|
|
89
|
+
// localStorage / DOM \u4E0D\u53EF\u7528\uFF08\u9690\u79C1\u6A21\u5F0F\u3001\u7B2C\u4E09\u65B9\u5B58\u50A8\u62E6\u622A\uFF09\u65F6\u5FFD\u7565\uFF0C
|
|
90
|
+
// \u907F\u514D\u629B\u9519\u4E2D\u65AD\u540E\u7EED message/keydown \u76D1\u542C\u6CE8\u518C\u4E0E READY \u4E0A\u62A5
|
|
91
|
+
}
|
|
85
92
|
}
|
|
86
93
|
|
|
87
94
|
// \u521D\u59CB\u5316\u8BBE\u7F6E
|
package/es/types.d.ts
CHANGED
|
@@ -22,6 +22,12 @@ export interface OpenCodeSettings {
|
|
|
22
22
|
followup?: "steer" | "suggest" | "none";
|
|
23
23
|
/** 显示推理摘要 */
|
|
24
24
|
showReasoningSummaries?: boolean;
|
|
25
|
+
/** 显示文件树 */
|
|
26
|
+
showFileTree?: boolean;
|
|
27
|
+
/** 使用新版布局设计 */
|
|
28
|
+
newLayoutDesigns?: boolean;
|
|
29
|
+
/** 界面语言(由 providerOptions.language 注入) */
|
|
30
|
+
language?: OpenCodeLanguage;
|
|
25
31
|
/** 默认展开 shell 工具部分 */
|
|
26
32
|
shellToolPartsExpanded?: boolean;
|
|
27
33
|
/** 默认展开编辑工具部分 */
|
package/lib/bridge-script.cjs
CHANGED
|
@@ -23,8 +23,8 @@ module.exports = __toCommonJS(bridge_script_exports);
|
|
|
23
23
|
var import_constants = require("./constants.cjs");
|
|
24
24
|
var import_core = require("@aipanel/core");
|
|
25
25
|
function mergeSettings(defaultSettings, userSettings) {
|
|
26
|
-
if (!userSettings) return defaultSettings;
|
|
27
26
|
const result = { ...defaultSettings };
|
|
27
|
+
if (!userSettings) return result;
|
|
28
28
|
if (userSettings.general) {
|
|
29
29
|
result.general = { ...defaultSettings.general, ...userSettings.general };
|
|
30
30
|
}
|
|
@@ -45,6 +45,9 @@ function mergeSettings(defaultSettings, userSettings) {
|
|
|
45
45
|
function generateBridgeScript(options = {}) {
|
|
46
46
|
const { theme = "auto", language, settings } = options;
|
|
47
47
|
const mergedSettings = mergeSettings(import_constants.DEFAULT_OPENCODE_SETTINGS, settings);
|
|
48
|
+
if (language) {
|
|
49
|
+
mergedSettings.general = { ...mergedSettings.general ?? {}, language };
|
|
50
|
+
}
|
|
48
51
|
return `
|
|
49
52
|
(function() {
|
|
50
53
|
// \u7ACB\u5373\u6E05\u7406\u6B8B\u7559\u7684 session tabs \u5B58\u50A8\uFF0C\u5FC5\u987B\u5728 DOMContentLoaded \u4E4B\u524D\u6267\u884C
|
|
@@ -96,14 +99,18 @@ function generateBridgeScript(options = {}) {
|
|
|
96
99
|
// === \u521D\u59CB\u5316\u914D\u7F6E ===
|
|
97
100
|
const initialConfig = {
|
|
98
101
|
theme: ${JSON.stringify(theme)},
|
|
99
|
-
language: ${JSON.stringify(language || null)},
|
|
100
102
|
settings: ${JSON.stringify(mergedSettings)}
|
|
101
103
|
};
|
|
102
104
|
|
|
103
105
|
// \u521D\u59CB\u5316\u4E3B\u9898
|
|
104
106
|
if (initialConfig.theme && initialConfig.theme !== "auto") {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
try {
|
|
108
|
+
localStorage.setItem(THEME_KEY, initialConfig.theme);
|
|
109
|
+
document.documentElement.setAttribute("data-color-scheme", initialConfig.theme);
|
|
110
|
+
} catch (e) {
|
|
111
|
+
// localStorage / DOM \u4E0D\u53EF\u7528\uFF08\u9690\u79C1\u6A21\u5F0F\u3001\u7B2C\u4E09\u65B9\u5B58\u50A8\u62E6\u622A\uFF09\u65F6\u5FFD\u7565\uFF0C
|
|
112
|
+
// \u907F\u514D\u629B\u9519\u4E2D\u65AD\u540E\u7EED message/keydown \u76D1\u542C\u6CE8\u518C\u4E0E READY \u4E0A\u62A5
|
|
113
|
+
}
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
// \u521D\u59CB\u5316\u8BBE\u7F6E
|
package/lib/types.d.ts
CHANGED
|
@@ -22,6 +22,12 @@ export interface OpenCodeSettings {
|
|
|
22
22
|
followup?: "steer" | "suggest" | "none";
|
|
23
23
|
/** 显示推理摘要 */
|
|
24
24
|
showReasoningSummaries?: boolean;
|
|
25
|
+
/** 显示文件树 */
|
|
26
|
+
showFileTree?: boolean;
|
|
27
|
+
/** 使用新版布局设计 */
|
|
28
|
+
newLayoutDesigns?: boolean;
|
|
29
|
+
/** 界面语言(由 providerOptions.language 注入) */
|
|
30
|
+
language?: OpenCodeLanguage;
|
|
25
31
|
/** 默认展开 shell 工具部分 */
|
|
26
32
|
shellToolPartsExpanded?: boolean;
|
|
27
33
|
/** 默认展开编辑工具部分 */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aipanel/provider-opencode",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.20",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -26,11 +26,12 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@opencode-ai/plugin": "^1.18.0",
|
|
28
28
|
"execa": "^9.6.1",
|
|
29
|
-
"@aipanel/core": "1.2.
|
|
29
|
+
"@aipanel/core": "1.2.20"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "pagoda-cli build",
|
|
33
33
|
"typecheck": "tsc -p tsconfig.declaration.json --noEmit",
|
|
34
|
-
"test": "vitest run --root ."
|
|
34
|
+
"test": "vitest run --root .",
|
|
35
|
+
"test:coverage": "vitest run --root . --coverage"
|
|
35
36
|
}
|
|
36
37
|
}
|