Skip to content

Commit 5713694

Browse files
committed
chore: sync upstream to v1.18.10
- 版本号 1.18.9 -> 1.18.10 - models-dev.ts URL: models.dev -> models.opencode.ai - gitlab-ai-provider: 6.12.0 -> 6.12.1 - Modal 插件:新增 plugin/modal/{modal,models}.ts + 注册 + 测试 - Interleaved reasoning 字段扩展:models-dev/provider config schema widening - MCP SSE 重连修复:error response 也标记 receivedResponse - merge-clean.ts:补入 effect-sqlite-node 到 removedPackages + git rm -f 修复 - PLAN/MERGE 文档已更新(基线 v1.18.10、sync 轨迹、已删包列表)
2 parents 9be25f9 + 6997228 commit 5713694

27 files changed

Lines changed: 655 additions & 300 deletions

File tree

MERGE.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,13 @@ fork 与上游改了同一处(常见于 TUI 视觉/UX、core 加固逻辑)
112112

113113
## fork 偏离清单
114114

115-
> 每条注明处理方式;标注「上游若已做可取上游版本」的条目在每次 sync 时复审。数据基于 v1.18.2→v1.18.4 sync、后续 v1.18.6/v1.18.7/v1.18.8 sync 与 fork 自有改进(含 TUI 渲染深度打磨),随每次 sync 更新。
115+
> 每条注明处理方式;标注「上游若已做可取上游版本」的条目在每次 sync 时复审。数据基于 v1.18.2→v1.18.4 sync、后续 v1.18.6/v1.18.7/v1.18.8/v1.18.9/v1.18.10 sync 与 fork 自有改进(含 TUI 渲染深度打磨),随每次 sync 更新。
116116
117117
### 结构性偏离(删除保持)
118118

119119
| 冲突来源 | 频率 | 处理方式 |
120120
|---------|------|---------|
121-
| `packages/{app,desktop,session-ui,slack,enterprise,web,function,console,stats,containers,identity,storybook,httpapi-codegen,docs,ui,cli,client,sdk-next,native-bridge,script}/` | 每次 | `bun script/merge-clean.ts` 自动 `git rm` 保留删除 |
121+
| `packages/{app,desktop,session-ui,slack,enterprise,web,function,console,stats,containers,identity,storybook,httpapi-codegen,docs,ui,cli,client,effect-sqlite-node,sdk-next,native-bridge,script}/` | 每次 | `bun script/merge-clean.ts` 自动 `git rm` 保留删除 |
122122
| `packages/opencode/src/{acp,account,sync,share,plugin/github-copilot}/`, `cli/cmd/{github.*,pr,web,acp,import}.ts`, `server/mdns.ts`, `packages/core/src/{github-copilot,oauth,observability/otlp.ts}` | 每次 | `bun script/merge-clean.ts` 自动 `git rm` 保留删除(CLI-only 定位/云端/账号/遥测/Copilot 物理拔除) |
123123
| `packages/core/src/plugin/provider/{amazon-bedrock,cloudflare-*}.ts` | 每次 | `bun script/merge-clean.ts` 自动 `git rm` 保留删除(已裁剪 Provider) |
124124
| `packages/tui/src/routes/session/{sidebar,footer,status-bar,dialog-subagent}.tsx`, `feature-plugins/sidebar/*`, `component/{curve-spinner,dialog-tag}.tsx`, `component/prompt/cwd.ts`, `ui/primitives.tsx`, `util/{animation,curve-engine,layout,responsive}.ts` || 保留删除(TUI 死代码审计裁定);若上游重新接线并赋予实际功能,对抗审计重新评估 |
@@ -234,6 +234,7 @@ fork 与上游改了同一处(常见于 TUI 视觉/UX、core 加固逻辑)
234234
- `packages/ui/`
235235
- `packages/cli/`
236236
- `packages/client/`
237+
- `packages/effect-sqlite-node/`
237238
- `packages/sdk-next/`
238239
- `packages/native-bridge/`
239240
- `packages/script/`

PLAN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ opencode-x 是 [anomalyco/opencode](https://github.com/anomalyco/opencode) 的
3434

3535
## 当前状态
3636

37-
- **上游基线**`v1.18.9`(sync 轨迹:v1.18.2 → v1.18.4 → v1.18.6 → v1.18.7 → v1.18.8 → v1.18.9)
37+
- **上游基线**`v1.18.10`(sync 轨迹:v1.18.2 → v1.18.4 → v1.18.6 → v1.18.7 → v1.18.8 → v1.18.9 → v1.18.10
3838
- **包规模**:12 个包(11 个功能包 + sdk),原生模块(natives/)已全部删除,grep 跟随上游使用 ripgrep
3939
- **裁剪工程(Batch 0–3)**:✅ 全部完成
4040
- **TUI 审计打磨(四批 23 轮)**:✅ 全部完成

bun.lock

Lines changed: 189 additions & 270 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
"solid-list": "0.3.0",
6464
"vite": "7.1.4",
6565
"solid-js": "1.9.10",
66+
"solid-sonner": "0.3.1",
6667
"vite-plugin-solid": "2.11.10",
6768
"@lydell/node-pty": "1.2.0-beta.12"
6869
}

packages/codemode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
33
"name": "@opencode-ai/codemode",
4-
"version": "1.18.9",
4+
"version": "1.18.10",
55
"description": "Effect-native confined code execution over schema-described tools",
66
"private": true,
77
"type": "module",

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
3-
"version": "1.18.9",
3+
"version": "1.18.10",
44
"name": "@opencode-ai/core",
55
"type": "module",
66
"license": "MIT",
@@ -106,7 +106,7 @@
106106
"drizzle-orm": "catalog:",
107107
"effect": "catalog:",
108108
"fuzzysort": "3.1.0",
109-
"gitlab-ai-provider": "6.12.0",
109+
"gitlab-ai-provider": "6.12.1",
110110
"glob": "13.0.5",
111111
"google-auth-library": "10.5.0",
112112
"gray-matter": "4.0.3",

packages/core/src/models-dev.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ import { httpClient } from "./effect/app-node-platform"
1515
export const CatalogModelStatus = Schema.Literals(["alpha", "beta", "deprecated"])
1616
export type CatalogModelStatus = typeof CatalogModelStatus.Type
1717

18+
const InterleavedField = Schema.Union([
19+
Schema.Literals(["reasoning", "reasoning_content", "reasoning_text"]),
20+
Schema.String,
21+
])
22+
1823
const USER_AGENT = `opencode/${InstallationChannel}/${InstallationVersion}/${Flag.OPENCODE_CLIENT}`
1924

2025
const CostTier = Schema.Struct({
@@ -71,9 +76,10 @@ export const Model = Schema.Struct({
7176
reasoning_options: Schema.optional(Schema.Array(ReasoningOption)),
7277
interleaved: Schema.optional(
7378
Schema.Union([
74-
Schema.Literal(true),
79+
Schema.Boolean,
80+
InterleavedField,
7581
Schema.Struct({
76-
field: Schema.Literals(["reasoning", "reasoning_content", "reasoning_details"]),
82+
field: InterleavedField,
7783
}),
7884
]),
7985
),
@@ -151,10 +157,10 @@ const layer = Layer.effect(
151157
),
152158
)
153159

154-
const source = Flag.OPENCODE_MODELS_URL || "https://models.dev"
160+
const source = Flag.OPENCODE_MODELS_URL || "https://models.opencode.ai"
155161
const filepath = path.join(
156162
Global.Path.cache,
157-
source === "https://models.dev" ? "models.json" : `models-${Hash.fast(source)}.json`,
163+
source === "https://models.opencode.ai" ? "models.json" : `models-${Hash.fast(source)}.json`,
158164
)
159165
const ttl = Duration.minutes(5)
160166
const lockKey = `models-dev:${filepath}`

packages/core/src/v1/config/provider.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ import { PositiveInt } from "../../schema"
55

66
export const ModelStatus = Schema.Literals(["alpha", "beta", "deprecated", "active"])
77

8+
const InterleavedField = Schema.Union([
9+
Schema.Literals(["reasoning", "reasoning_content", "reasoning_text"]),
10+
Schema.String,
11+
])
12+
813
export const Model = Schema.Struct({
914
id: Schema.optional(Schema.String),
1015
name: Schema.optional(Schema.String),
@@ -16,9 +21,10 @@ export const Model = Schema.Struct({
1621
tool_call: Schema.optional(Schema.Boolean),
1722
interleaved: Schema.optional(
1823
Schema.Union([
19-
Schema.Literal(true),
24+
Schema.Boolean,
25+
InterleavedField,
2026
Schema.Struct({
21-
field: Schema.Literals(["reasoning", "reasoning_content", "reasoning_details"]),
27+
field: InterleavedField,
2228
}),
2329
]),
2430
),

packages/effect-drizzle-sqlite/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
3-
"version": "1.18.9",
3+
"version": "1.18.10",
44
"name": "@opencode-ai/effect-drizzle-sqlite",
55
"type": "module",
66
"license": "MIT",

packages/http-recorder/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://json.schemastore.org/package.json",
3-
"version": "1.18.9",
3+
"version": "1.18.10",
44
"name": "@opencode-ai/http-recorder",
55
"description": "Record and replay Effect HTTP client traffic with deterministic cassettes",
66
"type": "module",

0 commit comments

Comments
 (0)