Explorar el Código

upgrade opentui to 0.1.104 (#24531)

Sebastian hace 4 meses
padre
commit
21e01dbe04

+ 12 - 12
bun.lock

@@ -506,8 +506,8 @@
         "typescript": "catalog:",
         "typescript": "catalog:",
       },
       },
       "peerDependencies": {
       "peerDependencies": {
-        "@opentui/core": ">=0.1.103",
-        "@opentui/solid": ">=0.1.103",
+        "@opentui/core": ">=0.1.104",
+        "@opentui/solid": ">=0.1.104",
       },
       },
       "optionalPeers": [
       "optionalPeers": [
         "@opentui/core",
         "@opentui/core",
@@ -685,8 +685,8 @@
     "@npmcli/arborist": "9.4.0",
     "@npmcli/arborist": "9.4.0",
     "@octokit/rest": "22.0.0",
     "@octokit/rest": "22.0.0",
     "@openauthjs/openauth": "0.0.0-20250322224806",
     "@openauthjs/openauth": "0.0.0-20250322224806",
-    "@opentui/core": "0.1.103",
-    "@opentui/solid": "0.1.103",
+    "@opentui/core": "0.1.104",
+    "@opentui/solid": "0.1.104",
     "@pierre/diffs": "1.1.0-beta.18",
     "@pierre/diffs": "1.1.0-beta.18",
     "@playwright/test": "1.59.1",
     "@playwright/test": "1.59.1",
     "@solid-primitives/storage": "4.3.3",
     "@solid-primitives/storage": "4.3.3",
@@ -1613,21 +1613,21 @@
 
 
     "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.40.0", "", {}, "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw=="],
     "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.40.0", "", {}, "sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw=="],
 
 
-    "@opentui/core": ["@opentui/core@0.1.103", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.103", "@opentui/core-darwin-x64": "0.1.103", "@opentui/core-linux-arm64": "0.1.103", "@opentui/core-linux-x64": "0.1.103", "@opentui/core-win32-arm64": "0.1.103", "@opentui/core-win32-x64": "0.1.103", "bun-webgpu": "0.1.5", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-PWVv/bDmlk1i6X1f0zXs+jSaTrQ/ByX8wFbP2WinOObTGf//UbcRP4dbWxPXvOyka9QlmRBG/7GbloQSIStyVw=="],
+    "@opentui/core": ["@opentui/core@0.1.104", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.104", "@opentui/core-darwin-x64": "0.1.104", "@opentui/core-linux-arm64": "0.1.104", "@opentui/core-linux-x64": "0.1.104", "@opentui/core-win32-arm64": "0.1.104", "@opentui/core-win32-x64": "0.1.104", "bun-webgpu": "0.1.5", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-29RZ+f7sw5B6ebDFRuhrDs2UOV7vR76npr0vVRAJAmIMtdLb4Dse35Y0Hk6WerFKNuX4ajlQK4eO3oAY/29KLQ=="],
 
 
-    "@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.103", "", { "os": "darwin", "cpu": "arm64" }, "sha512-lxCyedDkcen12IgBtXjkJ7iY66xa7VC4nxRNKCUeLY2ZP9hUE1AsDtbyQzqY+BQadsI/ZME9STzaHDCUFg0TpA=="],
+    "@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.104", "", { "os": "darwin", "cpu": "arm64" }, "sha512-83Bf+LOLYCgWccAuPzftchs8LIoTzYU8f8CM7GeUFqH0VLKs2Ey+TtCTsBWpeDklOal0XFQr5begotqc/ldPVg=="],
 
 
-    "@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.103", "", { "os": "darwin", "cpu": "x64" }, "sha512-QMYD+zUDGQliJ6m5nuNvA72jtluFeyVMoHkuA5m/Xmed/u8eLfahAKmDj3kY66ntUroPHWevcpbpvd7NCFEoFQ=="],
+    "@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.104", "", { "os": "darwin", "cpu": "x64" }, "sha512-TAHRtEi7Gz2O3TXolPCiWpXsoapKllGCl74bOuJsyipMwfk3wuUu6SeqBPC/cmVJlp143dC8kcGLwLsd3dxsgA=="],
 
 
-    "@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.1.103", "", { "os": "linux", "cpu": "arm64" }, "sha512-GzOvNr9dN6JaQ9qs7m8E75wLAHwT5CyxqkE6rEr1BO23/d2Ix7e3GYw/JRY5VnTge+eXrfDVbqNtPcQamUNiEA=="],
+    "@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.1.104", "", { "os": "linux", "cpu": "arm64" }, "sha512-WJ8ssxcRpoHWgGLDYlVjlYZGkmA2G9melgXTrzk6CbwhW5tVAE6AmW5Kq9DUHclYssCpNWTvZFMDsVsf5kn2Xw=="],
 
 
-    "@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.1.103", "", { "os": "linux", "cpu": "x64" }, "sha512-odywllco5zUKNc60uD3JKaCybK64u6BfmpScs4a8Qn89yH/yk23bzWXDRWaGgQdY65L2/VCbcGs1ezA1S/2YTw=="],
+    "@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.1.104", "", { "os": "linux", "cpu": "x64" }, "sha512-I4DurCkJXJxxGwAq1wGZ1vzXh57GxdzljWeCJ5sIPy7coICn+/cWRw9gE9VxiWTa3T85l4YN0UFSQx7IFCEbvg=="],
 
 
-    "@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.1.103", "", { "os": "win32", "cpu": "arm64" }, "sha512-tZL5w3Y0JnO7RkIvfuNDAzJn0j6+JIYl6M8DgPM5p8AQt+162S8LmbumzmqQLZl4cEev2eN7/tw72WIk6b+/CQ=="],
+    "@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.1.104", "", { "os": "win32", "cpu": "arm64" }, "sha512-PDwqGHlVUiAiZa8GXiPPJVWIxucQ5+2FLcK4C76VT8HJzUXiUEGJFtuvi9oY7k29p8olcFHW75Gj1WMUrw+JKw=="],
 
 
-    "@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.1.103", "", { "os": "win32", "cpu": "x64" }, "sha512-wqnibt/OE5ldSzVPxEbriA0TjI2B11CJl4uJoLxTZ47KDx7tAFIMdhBf9IRAGNCSbcDuZ8ZGEFhV+SLaftkrlw=="],
+    "@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.1.104", "", { "os": "win32", "cpu": "x64" }, "sha512-fQGMxFshk/i7KskqaK5lB8u2K8Lx/LO9+PdfKu/+GBIMKmElpJXQ8Bq2sMf+7COcoXcjAjUJn8cpTyIqbFxAyQ=="],
 
 
-    "@opentui/solid": ["@opentui/solid@0.1.103", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.1.103", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.10", "entities": "7.0.1", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.11" } }, "sha512-L28WFBs17Z5JXkJhPagLy8tUamkttDaaQDdb2KEO01IQ9r81yLBRpYqD/lHp6UoSISXgwQVDQ9yNtxwR1BQZvQ=="],
+    "@opentui/solid": ["@opentui/solid@0.1.104", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.1.104", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.10", "entities": "7.0.1", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.11" } }, "sha512-Mma1OR3s0QZayRGdbdNv1m3H6IExRrF9QRUNWEZzDOqo3oNxTxaY9K7Qk6eGrk0unMjwwE113TSOdnG80RwYnQ=="],
 
 
     "@oslojs/asn1": ["@oslojs/asn1@1.0.0", "", { "dependencies": { "@oslojs/binary": "1.0.0" } }, "sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA=="],
     "@oslojs/asn1": ["@oslojs/asn1@1.0.0", "", { "dependencies": { "@oslojs/binary": "1.0.0" } }, "sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA=="],
 
 

+ 2 - 2
package.json

@@ -34,8 +34,8 @@
       "@types/cross-spawn": "6.0.6",
       "@types/cross-spawn": "6.0.6",
       "@octokit/rest": "22.0.0",
       "@octokit/rest": "22.0.0",
       "@hono/zod-validator": "0.4.2",
       "@hono/zod-validator": "0.4.2",
-      "@opentui/core": "0.1.103",
-      "@opentui/solid": "0.1.103",
+      "@opentui/core": "0.1.104",
+      "@opentui/solid": "0.1.104",
       "ulid": "3.0.1",
       "ulid": "3.0.1",
       "@kobalte/core": "0.13.11",
       "@kobalte/core": "0.13.11",
       "@types/luxon": "3.7.1",
       "@types/luxon": "3.7.1",

+ 0 - 1
packages/opencode/src/cli/cmd/tui/util/index.ts

@@ -1,5 +1,4 @@
 export * as Editor from "./editor"
 export * as Editor from "./editor"
 export * as Selection from "./selection"
 export * as Selection from "./selection"
 export * as Sound from "./sound"
 export * as Sound from "./sound"
-export * as Terminal from "./terminal"
 export * as Clipboard from "./clipboard"
 export * as Clipboard from "./clipboard"

+ 0 - 96
packages/opencode/src/cli/cmd/tui/util/terminal.ts

@@ -1,96 +0,0 @@
-import { RGBA } from "@opentui/core"
-
-export type Colors = Awaited<ReturnType<typeof colors>>
-
-function parse(color: string): RGBA | null {
-  if (color.startsWith("rgb:")) {
-    const parts = color.substring(4).split("/")
-    return RGBA.fromInts(parseInt(parts[0], 16) >> 8, parseInt(parts[1], 16) >> 8, parseInt(parts[2], 16) >> 8, 255)
-  }
-  if (color.startsWith("#")) {
-    return RGBA.fromHex(color)
-  }
-  if (color.startsWith("rgb(")) {
-    const parts = color.substring(4, color.length - 1).split(",")
-    return RGBA.fromInts(parseInt(parts[0]), parseInt(parts[1]), parseInt(parts[2]), 255)
-  }
-  return null
-}
-
-/**
- * Query terminal colors including background, foreground, and palette (0-15).
- * Uses OSC escape sequences to retrieve actual terminal color values.
- *
- * Note: OSC 4 (palette) queries may not work through tmux as responses are filtered.
- * OSC 10/11 (foreground/background) typically work in most environments.
- *
- * Returns an object with background, foreground, and colors array.
- * Any query that fails will be null/empty.
- */
-export async function colors(): Promise<{
-  background: RGBA | null
-  foreground: RGBA | null
-  colors: RGBA[]
-}> {
-  if (!process.stdin.isTTY) return { background: null, foreground: null, colors: [] }
-
-  return new Promise((resolve) => {
-    let background: RGBA | null = null
-    let foreground: RGBA | null = null
-    const paletteColors: RGBA[] = []
-    let timeout: NodeJS.Timeout
-
-    const cleanup = () => {
-      process.stdin.setRawMode(false)
-      process.stdin.removeListener("data", handler)
-      clearTimeout(timeout)
-    }
-
-    const handler = (data: Buffer) => {
-      const str = data.toString()
-
-      // Match OSC 11 (background color)
-      const bgMatch = str.match(/\x1b]11;([^\x07\x1b]+)/)
-      if (bgMatch) {
-        background = parse(bgMatch[1])
-      }
-
-      // Match OSC 10 (foreground color)
-      const fgMatch = str.match(/\x1b]10;([^\x07\x1b]+)/)
-      if (fgMatch) {
-        foreground = parse(fgMatch[1])
-      }
-
-      // Match OSC 4 (palette colors)
-      const paletteMatches = str.matchAll(/\x1b]4;(\d+);([^\x07\x1b]+)/g)
-      for (const match of paletteMatches) {
-        const index = parseInt(match[1])
-        const color = parse(match[2])
-        if (color) paletteColors[index] = color
-      }
-
-      // Return immediately if we have all 16 palette colors
-      if (paletteColors.filter((c) => c !== undefined).length === 16) {
-        cleanup()
-        resolve({ background, foreground, colors: paletteColors })
-      }
-    }
-
-    process.stdin.setRawMode(true)
-    process.stdin.on("data", handler)
-
-    // Query background (OSC 11)
-    process.stdout.write("\x1b]11;?\x07")
-    // Query foreground (OSC 10)
-    process.stdout.write("\x1b]10;?\x07")
-    // Query palette colors 0-15 (OSC 4)
-    for (let i = 0; i < 16; i++) {
-      process.stdout.write(`\x1b]4;${i};?\x07`)
-    }
-
-    timeout = setTimeout(() => {
-      cleanup()
-      resolve({ background, foreground, colors: paletteColors })
-    }, 1000)
-  })
-}

+ 2 - 2
packages/plugin/package.json

@@ -22,8 +22,8 @@
     "zod": "catalog:"
     "zod": "catalog:"
   },
   },
   "peerDependencies": {
   "peerDependencies": {
-    "@opentui/core": ">=0.1.103",
-    "@opentui/solid": ">=0.1.103"
+    "@opentui/core": ">=0.1.104",
+    "@opentui/solid": ">=0.1.104"
   },
   },
   "peerDependenciesMeta": {
   "peerDependenciesMeta": {
     "@opentui/core": {
     "@opentui/core": {