chore(app): clarify browser bridge naming
- Rename window-api to browser-bridge to describe the app-to-browser test hook boundary - Rename the chat transport hook to exposeChatTransportOverride and window.openPencil.setChatTransport
This commit is contained in:
parent
8ec70330b4
commit
8719274cc9
|
|
@ -1116,7 +1116,7 @@ const noDirectOpenPencilWindowInternals = {
|
|||
context.report({
|
||||
node,
|
||||
message:
|
||||
'Do not access window.__OPEN_PENCIL* directly. Use src/app/window-api.ts or tests/helpers/store.ts instead.'
|
||||
'Do not access window.__OPEN_PENCIL* directly. Use src/app/browser-bridge.ts or tests/helpers/store.ts instead.'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ import {
|
|||
unsplashAccessKey
|
||||
} from '@/app/ai/chat/storage'
|
||||
import { createChatSessionManager } from '@/app/ai/chat/transports'
|
||||
import { exposeChatTransportOverride } from '@/app/browser-bridge'
|
||||
import { getActiveEditorStore } from '@/app/editor/active-store'
|
||||
import { setOpenPencilTransportFactorySetter } from '@/app/window-api'
|
||||
|
||||
const activeTab = ref<'design' | 'code' | 'ai'>('design')
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ const chatSession = createChatSessionManager({
|
|||
registerAIChatEffects(chatSession.markTransportDirty)
|
||||
|
||||
if (IS_BROWSER) {
|
||||
setOpenPencilTransportFactorySetter((factory) => {
|
||||
exposeChatTransportOverride((factory) => {
|
||||
chatSession.setOverrideTransport(factory)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import type { EditorStore } from '@/app/editor/session/create'
|
|||
|
||||
export interface OpenPencilWindowAPI {
|
||||
store?: EditorStore
|
||||
setTransport?: (factory: () => ChatTransport<UIMessage>) => void
|
||||
setChatTransport?: (factory: () => ChatTransport<UIMessage>) => void
|
||||
openFile?: (path: string) => Promise<void>
|
||||
}
|
||||
|
||||
|
|
@ -23,10 +23,10 @@ export function setOpenPencilStore(store: EditorStore) {
|
|||
windowApi().store = store
|
||||
}
|
||||
|
||||
export function setOpenPencilTransportFactorySetter(
|
||||
setTransport: (factory: () => ChatTransport<UIMessage>) => void
|
||||
export function exposeChatTransportOverride(
|
||||
setChatTransport: (factory: () => ChatTransport<UIMessage>) => void
|
||||
) {
|
||||
windowApi().setTransport = setTransport
|
||||
windowApi().setChatTransport = setChatTransport
|
||||
}
|
||||
|
||||
export function setOpenPencilOpenFileHandler(openFile: (path: string) => Promise<void>) {
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
import { useFileDialog } from '@vueuse/core'
|
||||
|
||||
import { setOpenPencilOpenFileHandler } from '@/app/browser-bridge'
|
||||
import { openFileInNewTab } from '@/app/tabs'
|
||||
import { isTauri } from '@/app/tauri/env'
|
||||
import { setOpenPencilOpenFileHandler } from '@/app/window-api'
|
||||
import { IS_BROWSER } from '@/constants'
|
||||
|
||||
const fileDialog = useFileDialog({ accept: '.fig,.pen', multiple: false, reset: true })
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ import { BUILTIN_IO_FORMATS, IORegistry } from '@open-pencil/core/io'
|
|||
import { readFigFile } from '@open-pencil/core/io/formats/fig'
|
||||
import type { SceneGraph } from '@open-pencil/core/scene-graph'
|
||||
|
||||
import { setOpenPencilStore } from '@/app/browser-bridge'
|
||||
import { setActiveEditorStore } from '@/app/editor/active-store'
|
||||
import { createEditorStore } from '@/app/editor/session'
|
||||
import type { EditorStore } from '@/app/editor/session'
|
||||
import { setOpenPencilStore } from '@/app/window-api'
|
||||
|
||||
export interface Tab {
|
||||
id: string
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ test.afterAll(async () => {
|
|||
|
||||
async function injectMockTransport(page: Page) {
|
||||
await page.evaluate(() => {
|
||||
const setTransport = window.openPencil?.setTransport
|
||||
if (!setTransport) throw new Error('Transport override not available')
|
||||
const setChatTransport = window.openPencil?.setChatTransport
|
||||
if (!setChatTransport) throw new Error('Transport override not available')
|
||||
|
||||
let msgCounter = 0
|
||||
|
||||
setTransport(() => ({
|
||||
setChatTransport(() => ({
|
||||
async sendMessages({
|
||||
messages
|
||||
}: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue