mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Conflict rulings follow the projection-reattach plan: - host/runtime package (deleted on master): take master; the PR's boot composition moves to the cordis.yml roster and its goals handlers will be re-landed in dsh-host-apiproxy; the session.prompt slash interception and its spec are dropped entirely (superseded by command.execute + command/run logging). - client core (rewritten on master): take master; the PR's Session goal fields/methods, ConversationSnapshot.goal, goalActions injection, and the hard-mounted GoalBar are all superseded by the 'goal' session projection (useProjection) and will return as the ui-goal plugin. - wire contract: union of master's workspace/command/skill domains and the PR's goal domain, minus goal.get (the read side is the projection block + session/projection frames; six mutation RPCs stay). - GoalBar component and spec leave ui-conversation (they re-land in the new ui-goal package); IconSparkle16 stays in ui-conversation chat. - The web-slash-command-dispatch note documents the dropped interception and is removed; the goal-bar note will be rewritten for the projection model. - pnpm-lock.yaml taken from master (reinstall recomputes).
62 lines
2.6 KiB
TypeScript
62 lines
2.6 KiB
TypeScript
/**
|
|
* apiproxy contract-layer barrel. api/ has zero Node dependencies and is
|
|
* importable from the browser; the TS interfaces are the authoritative contract, HTTP/SSE are
|
|
* merely physical channels (four-quadrant message model).
|
|
*/
|
|
|
|
import type { SessionsApi } from './sessions.ts'
|
|
import type { HostApi } from './host.ts'
|
|
import type { WorkspaceApi } from './workspace.ts'
|
|
import type { CommandsApi } from './commands.ts'
|
|
import type { SkillsApi } from './skills.ts'
|
|
import type { EventsApi } from './events.ts'
|
|
import type { GoalsApi } from './goals.ts'
|
|
import type { ClientResponse, RpcReceipt } from './rpc.ts'
|
|
|
|
/** Root interface of the unified API surface. New client-request domain = one new file pair + one field here + one map row. */
|
|
export interface ApiProxy {
|
|
sessions: SessionsApi
|
|
host: HostApi
|
|
workspace: WorkspaceApi
|
|
commands: CommandsApi
|
|
skills: SkillsApi
|
|
events: EventsApi
|
|
goals: GoalsApi
|
|
/** Response entry for server-requests (client-response, echoing their rpcId); not a domain method (four-quadrant model). */
|
|
respond(message: ClientResponse): Promise<RpcReceipt>
|
|
}
|
|
|
|
// ---- Domain interfaces and payload entities ----
|
|
export type {
|
|
HistoryEntry, ModelCatalogFailure, ModelCatalogModel, ModelProviderGroup, ModelReasoning,
|
|
ModelReasoningEffort, ModelTarget, SessionModels, SessionProjectionsBlock, SessionsApi, SessionSummary,
|
|
} from './sessions.ts'
|
|
export type { HostApi } from './host.ts'
|
|
export type { WorkspaceApi, WorkspaceId, WorkspaceView } from './workspace.ts'
|
|
export type { CommandsApi, CommandDescriptor } from './commands.ts'
|
|
export type { SkillsApi, SkillEntry } from './skills.ts'
|
|
export type { EventsApi, MuxFrame, HostFrame, ToolCallView, ToolEventView, ToolResultView } from './events.ts'
|
|
export type { GoalsApi, GoalView, GoalRef, GoalPhase, GoalBlockReason, CreateGoalRequest, EditGoalRequest } from './goals.ts'
|
|
export type { ApprovalResponsePayload } from './approvals.ts'
|
|
export type { QuestionResponsePayload } from './questions.ts'
|
|
|
|
// ---- Message layer: narrow forms (domain-signature view) ----
|
|
export type { RpcRequest, RpcResponse } from './rpc.ts'
|
|
|
|
// ---- Message layer: the four wire full forms + carrier receipt ----
|
|
export type {
|
|
ClientRequest,
|
|
ClientResponse,
|
|
RpcMessage,
|
|
RpcReceipt,
|
|
ServerRequest,
|
|
ServerResponse,
|
|
} from './rpc.ts'
|
|
|
|
// ---- Errors and ids ----
|
|
export { RpcId, transportError } from './rpc.ts'
|
|
export type { RpcError, RpcErrorCode, RpcErrorDetailsMap, RpcResult } from './rpc.ts'
|
|
|
|
// ---- Method registry and derived generics ----
|
|
export type { RequestPayload, ResponseValue, RpcMethodMap } from './rpc-map.ts'
|