fix: scope prompt catalog type to client

This commit is contained in:
creatixchu 2026-08-27 16:49:15 +08:00
parent b67663c583
commit abe185205b
3 changed files with 15 additions and 13 deletions

View file

@ -7,15 +7,25 @@
* must stub); implementation-internal entry points (history staging, wire-frame
* dispatch) stay on the class, invisible out here.
*/
import type { AttachmentIdType, ImageAttachmentRef } from '@deepseek-ai/dsh-attachment'
import type { AttachmentIdType, ImageAttachmentRef, ImageMediaType } from '@deepseek-ai/dsh-attachment'
import type { MessageId } from '@deepseek-ai/dsh-llm/brand'
import type { SessionId } from '@deepseek-ai/dsh-session/types'
import type { RemoteResult } from '@deepseek-ai/dsh-typert-protocol'
import type { ObservableSnapshot } from '@deepseek-ai/dsh-client-store'
import type { PromptContentPart, QueueAction, SessionRequestId } from '../../types.ts'
import type { QueueAction, SessionRequestId } from '../../types.ts'
import type { ClientResult } from './result.ts'
import type { PendingSubmissionImage, SessionSnapshot } from './snapshot.ts'
/** Browser-submitted prompt content; the Host promotes image bytes to durable references. */
export type PromptContentPart =
| { readonly type: 'text'; readonly text: string }
| {
readonly type: 'image'
readonly mediaType: ImageMediaType
readonly data: string
readonly name?: string
}
/**
* Why a local submission echo left the snapshot: `observed` when its durable
* `user/message` event or host queue occurrence arrived (with the admitted

View file

@ -1,7 +1,7 @@
/** Browser-safe request, result, and lifecycle vocabulary for the Session Remote service. */
import type {
AttachmentIdType, ImageAttachmentLimits, ImageAttachmentRef, ImageMediaType,
AttachmentIdType, ImageAttachmentLimits, ImageAttachmentRef, PromptContentPart,
} from '@deepseek-ai/dsh-attachment'
import type { Branded } from '@deepseek-ai/dsh-brand'
import type { MessageId } from '@deepseek-ai/dsh-llm/brand'
@ -67,15 +67,7 @@ export interface SessionProjectionBaseline {
export type SessionProjectionValues = Partial<SessionProjectionMap>
& Readonly<Record<string, SessionProjectionValue>>
/** Browser-submitted prompt content; the Host promotes image bytes to durable references. */
export type PromptContentPart =
| { readonly type: 'text'; readonly text: string }
| {
readonly type: 'image'
readonly mediaType: ImageMediaType
readonly data: string
readonly name?: string
}
export type { PromptContentPart } from '@deepseek-ai/dsh-attachment'
/** Complete model selection for one Session. */
export interface ModelSelection {

View file

@ -3,8 +3,8 @@ import type { PromptContentPart as AttachmentPromptContentPart } from '@deepseek
import {
MutableSessionEventSource, type SessionLiveEventEntry,
} from '../src/client/contract/events.ts'
import type { PromptContentPart as SessionPromptContentPart } from '../src/client/contract/session.ts'
import { transportResult } from '../src/client/contract/result.ts'
import type { PromptContentPart as SessionPromptContentPart } from '../src/types.ts'
function entry(seq: number): SessionLiveEventEntry {
return {