mirror of
https://gitee.com/zhangsken/opencode.git
synced 2026-10-16 10:30:01 +08:00
fix(browser): publish plugin under opencode scope
This commit is contained in:
@@ -63,11 +63,11 @@
|
||||
"@ibm/plex": "6.4.1",
|
||||
"@kobalte/core": "catalog:",
|
||||
"@opencode-ai/client": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/session-ui": "workspace:*",
|
||||
"@opencode-ai/ui": "workspace:*",
|
||||
"@opencode-ai/util": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@pierre/trees": "1.0.0-beta.4",
|
||||
"@sentry/solid": "catalog:",
|
||||
"@solid-primitives/event-bus": "1.1.2",
|
||||
@@ -358,10 +358,10 @@
|
||||
"@opencode-ai/ai": "workspace:*",
|
||||
"@opencode-ai/codemode": "workspace:*",
|
||||
"@opencode-ai/plugin": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/pty": "0.1.13",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/util": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@parcel/watcher": "2.5.1",
|
||||
"@silvia-odwyer/photon-node": "0.3.4",
|
||||
"@standard-schema/spec": "catalog:",
|
||||
@@ -425,9 +425,9 @@
|
||||
"@lydell/node-pty": "catalog:",
|
||||
"@opencode-ai/app": "workspace:*",
|
||||
"@opencode-ai/client": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/ui": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@sentry/solid": "catalog:",
|
||||
"@sentry/vite-plugin": "catalog:",
|
||||
"@solid-primitives/storage": "catalog:",
|
||||
@@ -613,7 +613,7 @@
|
||||
],
|
||||
},
|
||||
"packages/plugin-browser": {
|
||||
"name": "@opencode-ai/plugin-browser",
|
||||
"name": "@opencode/plugin-browser",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@opencode-ai/plugin": "workspace:*",
|
||||
@@ -2176,8 +2176,6 @@
|
||||
|
||||
"@opencode-ai/plugin": ["@opencode-ai/plugin@workspace:packages/plugin"],
|
||||
|
||||
"@opencode-ai/plugin-browser": ["@opencode-ai/plugin-browser@workspace:packages/plugin-browser"],
|
||||
|
||||
"@opencode-ai/posts": ["@opencode-ai/posts@workspace:packages/posts"],
|
||||
|
||||
"@opencode-ai/protocol": ["@opencode-ai/protocol@workspace:packages/protocol"],
|
||||
@@ -2230,6 +2228,8 @@
|
||||
|
||||
"@opencode-ai/www": ["@opencode-ai/www@workspace:packages/www"],
|
||||
|
||||
"@opencode/plugin-browser": ["@opencode/plugin-browser@workspace:packages/plugin-browser"],
|
||||
|
||||
"@openrouter/ai-sdk-provider": ["@openrouter/ai-sdk-provider@2.10.0", "", { "peerDependencies": { "ai": "^6.0.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-FMsAEjLUt5pWuRE2LDC/LCvVrFjLlrEzUITH5+5SZtfq7KZ2wrOHjQVxzz92sju8S9ltpzW87CLW8/b0oBXVCw=="],
|
||||
|
||||
"@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="],
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
"@kobalte/core": "catalog:",
|
||||
"@opencode-ai/client": "workspace:*",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/session-ui": "workspace:*",
|
||||
"@opencode-ai/ui": "workspace:*",
|
||||
"@opencode-ai/util": "workspace:*",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import type { Browser } from "@opencode/plugin-browser/rpc"
|
||||
|
||||
export type BrowserPaneEndpoint = Readonly<{ url: string; username?: string; password?: string }>
|
||||
export type BrowserPaneTarget = Readonly<{ sessionID: string; endpoint: BrowserPaneEndpoint }>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { batch, createEffect, createMemo, getOwner, onCleanup, runWithOwner } from "solid-js"
|
||||
import { createStore, reconcile } from "solid-js/store"
|
||||
import { createSimpleContext } from "@opencode-ai/ui/context"
|
||||
import type { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import type { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { useLanguage } from "@/runtime/i18n/language"
|
||||
import type { BrowserPaneCommand, BrowserPaneRegistration, BrowserPaneState } from "@/runtime/platform/browser-pane"
|
||||
import { usePlatform } from "@/runtime/platform/platform"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { batch, createEffect, createMemo, on, onCleanup } from "solid-js"
|
||||
import type { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import type { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { createStore } from "solid-js/store"
|
||||
import { useLanguage } from "@/runtime/i18n/language"
|
||||
import type { BrowserPaneCommand } from "@/runtime/platform/browser-pane"
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
"@opencode-ai/pty": "0.1.13",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/plugin": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/util": "workspace:*",
|
||||
"@standard-schema/spec": "catalog:",
|
||||
"@parcel/watcher": "2.5.1",
|
||||
|
||||
@@ -79,7 +79,7 @@ import { WebSearchTool } from "../tool/plugin/websearch.js"
|
||||
import { WellKnown } from "../wellknown.js"
|
||||
import { WriteTool } from "../tool/plugin/write.js"
|
||||
import { AgentPlugin } from "./agent.js"
|
||||
import BrowserPlugin from "@opencode-ai/plugin-browser"
|
||||
import BrowserPlugin from "@opencode/plugin-browser"
|
||||
import { CommandPlugin } from "./command.js"
|
||||
import { PlanPlugin } from "./plan.js"
|
||||
import { ModelsDevPlugin } from "./models-dev.js"
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"@opencode-ai/app": "workspace:*",
|
||||
"@opencode-ai/client": "workspace:*",
|
||||
"@opencode-ai/schema": "workspace:*",
|
||||
"@opencode-ai/plugin-browser": "workspace:*",
|
||||
"@opencode/plugin-browser": "workspace:*",
|
||||
"@opencode-ai/ui": "workspace:*",
|
||||
"@sentry/solid": "catalog:",
|
||||
"@sentry/vite-plugin": "catalog:",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import electron, { type BrowserWindow, type WebContents } from "electron"
|
||||
import type { Protocol } from "devtools-protocol"
|
||||
import { Schema } from "effect"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { BrowserPaneCommand, BrowserPaneLayout, BrowserPaneTarget } from "@opencode-ai/app/desktop"
|
||||
import { NodeHttpClient } from "@effect/platform-node"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { OpenCode } from "@opencode-ai/client/effect"
|
||||
import { SessionID } from "@opencode-ai/schema/session-id"
|
||||
import type { BrowserWindow } from "electron"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import type { Protocol } from "devtools-protocol"
|
||||
import type { Cdp } from "./cdp"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import type { Browser } from "@opencode/plugin-browser/rpc"
|
||||
|
||||
export function protocolError(method: string, error: unknown) {
|
||||
const detail = message(error)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { mkdir, readFile, stat, writeFile, rm } from "node:fs/promises"
|
||||
import { mkdirSync } from "node:fs"
|
||||
import { tmpdir } from "node:os"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { session, type WebContents } from "electron"
|
||||
import type { RpcClient } from "@opencode-ai/client/effect/api"
|
||||
import type { Session } from "@opencode-ai/schema/session"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { BrowserProxy } from "@opencode-ai/plugin-browser/proxy"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { BrowserProxy } from "@opencode/plugin-browser/proxy"
|
||||
import { Effect, Encoding } from "effect"
|
||||
|
||||
export type BrowserNetwork = Effect.Success<ReturnType<typeof createBrowserNetwork>>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { WebContents } from "electron"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { gzipSync, gunzipSync } from "node:zlib"
|
||||
import { Schema } from "effect"
|
||||
import type { Cdp } from "./cdp"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { Schema } from "effect"
|
||||
import { Rpc } from "effect/unstable/rpc"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { expect, test } from "bun:test"
|
||||
import { rm } from "node:fs/promises"
|
||||
import path from "node:path"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { browserFailure, protocolError } from "../src/main/browser/errors"
|
||||
import { createBrowserFiles } from "../src/main/browser/files"
|
||||
import { analyzeCpu, analyzeTrace, parseHeap } from "../src/main/browser/analysis"
|
||||
|
||||
@@ -4,7 +4,7 @@ import { once } from "node:events"
|
||||
import { createHash } from "node:crypto"
|
||||
import path from "node:path"
|
||||
import { app, BrowserWindow, nativeImage } from "electron"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { OpenCode } from "@opencode-ai/client"
|
||||
import { Effect, Fiber, Schema, Stream } from "effect"
|
||||
import { createBrowserPane } from "../../src/main/browser-pane"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import assert from "node:assert/strict"
|
||||
import type { BrowserWindow } from "electron"
|
||||
import { Browser } from "@opencode-ai/plugin-browser/rpc"
|
||||
import { Browser } from "@opencode/plugin-browser/rpc"
|
||||
import { Schema } from "effect"
|
||||
import { createBrowserPage } from "../../src/main/browser-chromium"
|
||||
import { createCornerImages } from "../../src/main/browser/corners"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Browser plugin
|
||||
|
||||
`@opencode-ai/plugin-browser` exposes the desktop browser through Code Mode.
|
||||
`@opencode/plugin-browser` exposes the desktop browser through Code Mode.
|
||||
The server owns tools, invocation scope, and permissions; the desktop owns tabs,
|
||||
CDP, captured traffic, evaluations, and capture files. Core only registers the
|
||||
plugin. Neither endpoint imports the other's implementation.
|
||||
@@ -28,7 +28,7 @@ Screenshots require a focused, visible tab; call `browser.tabs.focus` first.
|
||||
- Audits: `lighthouse` (accessibility, SEO, best practices).
|
||||
|
||||
The source of truth for inputs, descriptions, and outputs is
|
||||
`Browser.Operations` in `@opencode-ai/plugin-browser/rpc`.
|
||||
`Browser.Operations` in `@opencode/plugin-browser/rpc`.
|
||||
|
||||
The plugin entrypoint only composes its two owners: `connection.ts` manages
|
||||
desktop attachments and pending RPC requests; `tools.ts` runs the tool workflow.
|
||||
@@ -43,7 +43,7 @@ Native browser coverage lives with the desktop implementation
|
||||
|
||||
## RPC
|
||||
|
||||
The plugin-owned contract is `@opencode-ai/plugin-browser/rpc`. This entrypoint
|
||||
The plugin-owned contract is `@opencode/plugin-browser/rpc`. This entrypoint
|
||||
contains only schemas and descriptions; it does not load the server plugin or
|
||||
filesystem code. The desktop subscribes
|
||||
to control events before starting `attach` with `version: 4`. The attachment call
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/package.json",
|
||||
"name": "@opencode-ai/plugin-browser",
|
||||
"name": "@opencode/plugin-browser",
|
||||
"version": "0.0.0",
|
||||
"description": "OpenCode's desktop browser plugin",
|
||||
"type": "module",
|
||||
|
||||
Reference in New Issue
Block a user