@ycodium-ai/plugin-api 0.2.2968 → 0.2.2974
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/dist/conversation.d.ts +15 -1587
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js.map +1 -1
- package/dist/conversationBase.d.ts +89 -0
- package/dist/conversationBase.d.ts.map +1 -0
- package/dist/conversationBase.js +2 -0
- package/dist/conversationBase.js.map +1 -0
- package/dist/conversationComposerApi.d.ts +246 -0
- package/dist/conversationComposerApi.d.ts.map +1 -0
- package/dist/conversationComposerApi.js +2 -0
- package/dist/conversationComposerApi.js.map +1 -0
- package/dist/conversationComposerEnvironment.d.ts +71 -0
- package/dist/conversationComposerEnvironment.d.ts.map +1 -0
- package/dist/conversationComposerEnvironment.js +2 -0
- package/dist/conversationComposerEnvironment.js.map +1 -0
- package/dist/conversationComposerHandle.d.ts +80 -0
- package/dist/conversationComposerHandle.d.ts.map +1 -0
- package/dist/conversationComposerHandle.js +2 -0
- package/dist/conversationComposerHandle.js.map +1 -0
- package/dist/conversationDerive.d.ts +132 -0
- package/dist/conversationDerive.d.ts.map +1 -0
- package/dist/conversationDerive.js +2 -0
- package/dist/conversationDerive.js.map +1 -0
- package/dist/conversationDrafts.d.ts +220 -0
- package/dist/conversationDrafts.d.ts.map +1 -0
- package/dist/conversationDrafts.js +2 -0
- package/dist/conversationDrafts.js.map +1 -0
- package/dist/conversationHostModels.d.ts +378 -0
- package/dist/conversationHostModels.d.ts.map +1 -0
- package/dist/conversationHostModels.js +2 -0
- package/dist/conversationHostModels.js.map +1 -0
- package/dist/conversationRows.d.ts +96 -0
- package/dist/conversationRows.d.ts.map +1 -0
- package/dist/conversationRows.js +2 -0
- package/dist/conversationRows.js.map +1 -0
- package/dist/conversationViewProps.d.ts +366 -0
- package/dist/conversationViewProps.d.ts.map +1 -0
- package/dist/conversationViewProps.js +2 -0
- package/dist/conversationViewProps.js.map +1 -0
- package/dist/executor.d.ts +4 -6
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js.map +1 -1
- package/dist/executorProcesses.d.ts +38 -0
- package/dist/executorProcesses.d.ts.map +1 -0
- package/dist/executorProcesses.js +5 -0
- package/dist/executorProcesses.js.map +1 -0
- package/dist/index.d.ts +15 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/settings-actions.d.ts +25 -2
- package/dist/settings-actions.d.ts.map +1 -1
- package/dist/settings-actions.js +0 -6
- package/dist/settings-actions.js.map +1 -1
- package/dist/settings-ui.d.ts +46 -0
- package/dist/settings-ui.d.ts.map +1 -0
- package/dist/settings-ui.js +2 -0
- package/dist/settings-ui.js.map +1 -0
- package/dist/threadList.d.ts +2 -0
- package/dist/threadList.d.ts.map +1 -1
- package/dist/ui.d.ts +1 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 输入区用到的宿主类型的结构替身:标识、provider 与模型、审批与提问、会话元信息。
|
|
3
|
+
* 成员签名照抄宿主模块导出。
|
|
4
|
+
* 类型从 `conversation.ts` 再导出,插件照常从 `@ycodium-ai/plugin-api/conversation` 引。
|
|
5
|
+
*
|
|
6
|
+
* @module @ycodium-ai/plugin-api/conversationHostModels
|
|
7
|
+
*/
|
|
8
|
+
import type { ConversationServerProviderSkill, ConversationServerProviderSlashCommand } from "./conversationSkills.ts";
|
|
9
|
+
export type ConversationDraftId = string;
|
|
10
|
+
export type ConversationThreadId = string;
|
|
11
|
+
export type ConversationEnvironmentId = string;
|
|
12
|
+
export interface ConversationScopedThreadRef {
|
|
13
|
+
/** 宿主给的引用对象;别当字符串解析。只需线程 id 的接口应直接收 {@link ConversationThreadId}。 */
|
|
14
|
+
readonly environmentId: ConversationEnvironmentId;
|
|
15
|
+
readonly threadId: ConversationThreadId;
|
|
16
|
+
}
|
|
17
|
+
export type ConversationTurnId = string;
|
|
18
|
+
export type ConversationProjectId = string;
|
|
19
|
+
export type ConversationApprovalRequestId = string;
|
|
20
|
+
export type ConversationProviderInstanceId = string;
|
|
21
|
+
export type ConversationProviderDriverKind = string;
|
|
22
|
+
export type ConversationProviderRequestKind = "command" | "file-read" | "file-change" | "web-fetch" | "web-search" | "skill" | "mcp-tool" | "mcp-elicitation" | "tool";
|
|
23
|
+
export type ConversationRuntimeMode = string;
|
|
24
|
+
export type ConversationRuntimeModeSwitch = "in-session" | "next-turn";
|
|
25
|
+
export type ConversationProviderInteractionMode = "default" | "plan";
|
|
26
|
+
export type ConversationProviderDeclineReasonRelay = "none" | "native" | "queued";
|
|
27
|
+
/** composer 目标:已存在的会话或尚未落库的草稿。 */
|
|
28
|
+
export type ConversationComposerThreadTarget = ConversationScopedThreadRef | ConversationDraftId;
|
|
29
|
+
export interface ConversationModelSelection {
|
|
30
|
+
instanceId: ConversationProviderInstanceId;
|
|
31
|
+
model: string;
|
|
32
|
+
options?: ReadonlyArray<ConversationProviderOptionSelection> | undefined;
|
|
33
|
+
}
|
|
34
|
+
export interface ConversationProviderOptionSelection {
|
|
35
|
+
id: string;
|
|
36
|
+
value: string | boolean;
|
|
37
|
+
}
|
|
38
|
+
export type ConversationProviderOptionDescriptor = {
|
|
39
|
+
type: "select";
|
|
40
|
+
id: string;
|
|
41
|
+
label: string;
|
|
42
|
+
description?: string | undefined;
|
|
43
|
+
currentValue?: string | undefined;
|
|
44
|
+
options: ReadonlyArray<{
|
|
45
|
+
id: string;
|
|
46
|
+
label: string;
|
|
47
|
+
description?: string | undefined;
|
|
48
|
+
isDefault?: boolean | undefined;
|
|
49
|
+
}>;
|
|
50
|
+
/** 旧目录可带的 prompt 注入型取值标记;保留形状供解码,宿主不据此改写正文。 */
|
|
51
|
+
promptInjectedValues?: ReadonlyArray<string> | undefined;
|
|
52
|
+
} | {
|
|
53
|
+
type: "boolean";
|
|
54
|
+
id: string;
|
|
55
|
+
label: string;
|
|
56
|
+
description?: string | undefined;
|
|
57
|
+
currentValue?: boolean | undefined;
|
|
58
|
+
};
|
|
59
|
+
export interface ConversationModelCapabilities {
|
|
60
|
+
optionDescriptors?: ReadonlyArray<ConversationProviderOptionDescriptor> | undefined;
|
|
61
|
+
}
|
|
62
|
+
export interface ConversationServerProviderModel {
|
|
63
|
+
slug: string;
|
|
64
|
+
name: string;
|
|
65
|
+
shortName?: string | undefined;
|
|
66
|
+
subProvider?: string | undefined;
|
|
67
|
+
isDefault?: boolean | undefined;
|
|
68
|
+
isCustom?: boolean | undefined;
|
|
69
|
+
aliases?: ReadonlyArray<string> | undefined;
|
|
70
|
+
capabilities?: ConversationModelCapabilities | undefined;
|
|
71
|
+
}
|
|
72
|
+
export interface ConversationServerProviderNativeMode {
|
|
73
|
+
id: string;
|
|
74
|
+
name: string;
|
|
75
|
+
description?: string | undefined;
|
|
76
|
+
}
|
|
77
|
+
/** 宿主 `ServerProvider` 的结构子集(composer 子树读到的字段)。 */
|
|
78
|
+
export interface ConversationServerProvider {
|
|
79
|
+
instanceId: ConversationProviderInstanceId;
|
|
80
|
+
driver: ConversationProviderDriverKind;
|
|
81
|
+
displayName?: string | undefined;
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
installed: boolean;
|
|
84
|
+
accentColor?: string | undefined;
|
|
85
|
+
continuation?: {
|
|
86
|
+
groupKey?: string | undefined;
|
|
87
|
+
} | undefined;
|
|
88
|
+
readiness: {
|
|
89
|
+
state: string;
|
|
90
|
+
detail?: string | undefined;
|
|
91
|
+
};
|
|
92
|
+
supportsNativeModeSwitch?: boolean | undefined;
|
|
93
|
+
supportsContextCompaction?: boolean | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* 改权限模式什么时候生效,宿主按执行器名片算好交过来。缺席按 `"next-turn"`:
|
|
96
|
+
* 多标一句「下一轮生效」只是保守,反过来会骗用户说已经切了。
|
|
97
|
+
*
|
|
98
|
+
* 插件**不得**按 driver 名字自己推这一位——名片会在手搬进插件时改,抄一份名单
|
|
99
|
+
* 就会照旧行为提示。
|
|
100
|
+
*/
|
|
101
|
+
runtimeModeSwitch?: ConversationRuntimeModeSwitch | undefined;
|
|
102
|
+
showInteractionModeToggle?: boolean | undefined;
|
|
103
|
+
/** 名片的旧型号 slug 别名(旧 → 现行),宿主经快照带来;缺席 = 不改写。经 `model.buildSlugAliases` 读。 */
|
|
104
|
+
modelSlugAliases?: {
|
|
105
|
+
readonly [slug: string]: string;
|
|
106
|
+
} | undefined;
|
|
107
|
+
currentNativeModeId?: string | undefined;
|
|
108
|
+
nativeModes?: ReadonlyArray<ConversationServerProviderNativeMode> | undefined;
|
|
109
|
+
/** 没选过档的线程四档各落哪一档。只经 `model.resolveNativeMode` 读,插件不自己查。 */
|
|
110
|
+
nativeModeByRuntimeMode?: {
|
|
111
|
+
readonly [runtimeMode: string]: string;
|
|
112
|
+
} | undefined;
|
|
113
|
+
versionAdvisory?: {
|
|
114
|
+
latestVersion?: string | null | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
models: ReadonlyArray<ConversationServerProviderModel>;
|
|
117
|
+
skills?: ReadonlyArray<ConversationServerProviderSkill> | undefined;
|
|
118
|
+
slashCommands?: ReadonlyArray<ConversationServerProviderSlashCommand> | undefined;
|
|
119
|
+
auth: {
|
|
120
|
+
status: string;
|
|
121
|
+
email?: string | undefined;
|
|
122
|
+
};
|
|
123
|
+
/** 快照还有 version / checkedAt 等字段;子集不列举,收窄断言时原样穿过。 */
|
|
124
|
+
[key: string]: unknown;
|
|
125
|
+
}
|
|
126
|
+
/** 宿主 `ProviderInstanceEntry`(web providerInstances.ts)的结构子集。 */
|
|
127
|
+
export interface ConversationProviderInstanceEntry {
|
|
128
|
+
instanceId: ConversationProviderInstanceId;
|
|
129
|
+
driverKind: ConversationProviderDriverKind;
|
|
130
|
+
displayName: string;
|
|
131
|
+
/** 这一格坐的是哪双手(品牌名)。昵称在 `displayName`,两者可能不同。 */
|
|
132
|
+
agentName?: string | undefined;
|
|
133
|
+
accentColor?: string | undefined;
|
|
134
|
+
accountEmail?: string | undefined;
|
|
135
|
+
continuationGroupKey?: string | undefined;
|
|
136
|
+
enabled: boolean;
|
|
137
|
+
installed: boolean;
|
|
138
|
+
readiness: string;
|
|
139
|
+
snapshot: ConversationServerProvider;
|
|
140
|
+
models: ReadonlyArray<ConversationServerProviderModel>;
|
|
141
|
+
}
|
|
142
|
+
export interface ConversationAppModelOption {
|
|
143
|
+
slug: string;
|
|
144
|
+
name: string;
|
|
145
|
+
shortName?: string | undefined;
|
|
146
|
+
subProvider?: string | undefined;
|
|
147
|
+
description?: string | undefined;
|
|
148
|
+
isDefault?: boolean | undefined;
|
|
149
|
+
aliases?: ReadonlyArray<string> | undefined;
|
|
150
|
+
/** 这个实例的目录里暂时没有它,只因为本线程存着才列出来(OpenCode)。 */
|
|
151
|
+
isUnavailable?: boolean | undefined;
|
|
152
|
+
}
|
|
153
|
+
export interface ConversationModelFavorite {
|
|
154
|
+
environmentId: ConversationEnvironmentId;
|
|
155
|
+
instanceId: ConversationProviderInstanceId;
|
|
156
|
+
model: string;
|
|
157
|
+
}
|
|
158
|
+
/** 宿主 `UnifiedSettings` 的结构子集(composer 子树读到的字段)。 */
|
|
159
|
+
export interface ConversationUnifiedSettings {
|
|
160
|
+
planModeEnabled: boolean;
|
|
161
|
+
showSkillsInSlashMenu: boolean;
|
|
162
|
+
providerInstances?: Readonly<Record<string, unknown>> | undefined;
|
|
163
|
+
[key: string]: unknown;
|
|
164
|
+
}
|
|
165
|
+
export type ConversationResolvedKeybindingsConfig = ReadonlyArray<{
|
|
166
|
+
command: string;
|
|
167
|
+
shortcut: string;
|
|
168
|
+
whenAst?: unknown;
|
|
169
|
+
}>;
|
|
170
|
+
export type ConversationKeybindingCommand = string;
|
|
171
|
+
export type ConversationProviderApprovalDecision = "accept" | "acceptForSession" | "acceptAlways" | "decline" | "cancel";
|
|
172
|
+
export interface ConversationProviderApprovalOption {
|
|
173
|
+
decision: ConversationProviderApprovalDecision;
|
|
174
|
+
label: string;
|
|
175
|
+
id?: string | undefined;
|
|
176
|
+
description?: string | undefined;
|
|
177
|
+
}
|
|
178
|
+
export interface ConversationProviderRequestArg {
|
|
179
|
+
name: string;
|
|
180
|
+
value: string;
|
|
181
|
+
}
|
|
182
|
+
export interface ConversationProviderRequestFileChange {
|
|
183
|
+
path: string;
|
|
184
|
+
/** 服务端摊平过的变更内容:unified diff 或待替换的旧/新文本。 */
|
|
185
|
+
content?: {
|
|
186
|
+
kind: "unified";
|
|
187
|
+
diff: string;
|
|
188
|
+
} | {
|
|
189
|
+
kind: "replace";
|
|
190
|
+
oldText?: string | undefined;
|
|
191
|
+
newText: string;
|
|
192
|
+
} | undefined;
|
|
193
|
+
omitted?: string | undefined;
|
|
194
|
+
additions?: number | undefined;
|
|
195
|
+
deletions?: number | undefined;
|
|
196
|
+
}
|
|
197
|
+
/** 宿主 `session-logic.PendingApproval` 的结构子集。 */
|
|
198
|
+
export interface ConversationPendingApproval {
|
|
199
|
+
requestId: ConversationApprovalRequestId;
|
|
200
|
+
requestKind: ConversationProviderRequestKind;
|
|
201
|
+
createdAt: string;
|
|
202
|
+
detail?: string | undefined;
|
|
203
|
+
appName?: string | undefined;
|
|
204
|
+
options?: ReadonlyArray<ConversationProviderApprovalOption> | undefined;
|
|
205
|
+
declineReasonRelay?: ConversationProviderDeclineReasonRelay | undefined;
|
|
206
|
+
args?: ReadonlyArray<ConversationProviderRequestArg> | undefined;
|
|
207
|
+
fileChanges?: ReadonlyArray<ConversationProviderRequestFileChange> | undefined;
|
|
208
|
+
turnId?: ConversationTurnId | undefined;
|
|
209
|
+
}
|
|
210
|
+
export interface ConversationUserInputQuestionOption {
|
|
211
|
+
id?: string | undefined;
|
|
212
|
+
label: string;
|
|
213
|
+
description?: string | undefined;
|
|
214
|
+
/** 计划审批选项的语义;`kind: "plan"` 的题上带了它,就用界面自己的文案代替 label / description。 */
|
|
215
|
+
planAction?: "approve" | "revise" | "stop" | undefined;
|
|
216
|
+
}
|
|
217
|
+
export interface ConversationUserInputQuestion {
|
|
218
|
+
id: string;
|
|
219
|
+
header?: string | undefined;
|
|
220
|
+
question: string;
|
|
221
|
+
multiSelect?: boolean | undefined;
|
|
222
|
+
allowFreeform?: boolean | undefined;
|
|
223
|
+
kind?: string | undefined;
|
|
224
|
+
options: ReadonlyArray<ConversationUserInputQuestionOption>;
|
|
225
|
+
}
|
|
226
|
+
/** 宿主 `session-logic.PendingUserInput` 的结构子集。 */
|
|
227
|
+
export interface ConversationPendingUserInput {
|
|
228
|
+
requestId: ConversationApprovalRequestId;
|
|
229
|
+
createdAt: string;
|
|
230
|
+
questions: ReadonlyArray<ConversationUserInputQuestion>;
|
|
231
|
+
}
|
|
232
|
+
/** 还没回答也没忽略的异步提问:agent 没停下等,回答作为下一条消息发出,也可以不答。 */
|
|
233
|
+
export interface ConversationPendingQuestion {
|
|
234
|
+
readonly requestId: ConversationApprovalRequestId;
|
|
235
|
+
readonly createdAt: string;
|
|
236
|
+
readonly turnId: ConversationTurnId | null;
|
|
237
|
+
readonly questions: ReadonlyArray<ConversationUserInputQuestion>;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* 一条会话里没关的异步提问与回答、忽略它们的动作。快照在提问没变时保持同一引用。
|
|
241
|
+
* 动作失败时返回可以直接给用户看的话,成功(或被更新的请求取代)时为 null。
|
|
242
|
+
*/
|
|
243
|
+
export interface ConversationQuestions {
|
|
244
|
+
readonly pending: readonly ConversationPendingQuestion[];
|
|
245
|
+
/** 每题一个答案,多选给字符串数组;有题没答服务器会拒绝。 */
|
|
246
|
+
answer(requestId: string, answers: Readonly<Record<string, string | readonly string[]>>): Promise<string | null>;
|
|
247
|
+
dismiss(requestId: string): Promise<string | null>;
|
|
248
|
+
}
|
|
249
|
+
export interface ConversationPendingUserInputDraftAnswer {
|
|
250
|
+
selectedOptionLabels?: string[];
|
|
251
|
+
customAnswer?: string;
|
|
252
|
+
/** 这道题随答案带的附件数;只有允许自由作答的题才有。 */
|
|
253
|
+
attachmentCount?: number;
|
|
254
|
+
/** 附件还在上传或上传失败:这道题暂时不能提交。 */
|
|
255
|
+
attachmentsBlocked?: boolean;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* 决定卡:插件或宿主功能问用户一个问题(宿主 `ThreadDecisionCard` 的结构子集)。
|
|
259
|
+
*
|
|
260
|
+
* 跟审批不是一回事:审批是 agent 要做一件事求许可,决定卡是**插件**在问
|
|
261
|
+
* (`askedBy.kind === "plugin"` 时卡上显示是谁问的)。
|
|
262
|
+
*
|
|
263
|
+
* `text` 是英文原文,`key` 有值时按 catalog 解——这个模块只搬 key,不解析。
|
|
264
|
+
*/
|
|
265
|
+
export interface ConversationThreadDecisionText {
|
|
266
|
+
readonly text: string;
|
|
267
|
+
readonly key?: string | undefined;
|
|
268
|
+
readonly params?: Readonly<Record<string, string | number>> | undefined;
|
|
269
|
+
}
|
|
270
|
+
export interface ConversationThreadDecisionOption {
|
|
271
|
+
readonly id: string;
|
|
272
|
+
readonly label: ConversationThreadDecisionText;
|
|
273
|
+
/** 只影响按钮档位;`danger` 用于「这一下会拆掉东西」。 */
|
|
274
|
+
readonly tone?: "default" | "primary" | "danger" | undefined;
|
|
275
|
+
}
|
|
276
|
+
export interface ConversationThreadDecisionCard {
|
|
277
|
+
/** 已作废的历史卡为 null;回答时必须有它。 */
|
|
278
|
+
readonly requestId: string | null;
|
|
279
|
+
readonly askedBy: {
|
|
280
|
+
readonly kind: "plugin";
|
|
281
|
+
readonly pluginId: string;
|
|
282
|
+
} | {
|
|
283
|
+
readonly kind: "host";
|
|
284
|
+
readonly feature: string;
|
|
285
|
+
};
|
|
286
|
+
readonly title: ConversationThreadDecisionText;
|
|
287
|
+
readonly body: ReadonlyArray<ConversationThreadDecisionText>;
|
|
288
|
+
readonly detail: {
|
|
289
|
+
readonly text: string;
|
|
290
|
+
readonly language?: string | undefined;
|
|
291
|
+
} | null;
|
|
292
|
+
readonly options: ReadonlyArray<ConversationThreadDecisionOption>;
|
|
293
|
+
/** null 表示还等人答。 */
|
|
294
|
+
readonly outcome: string | null;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* 输入区被谁占着——`@ycodium/client-runtime` 选举结果(`ComposerOccupant`)的结构
|
|
298
|
+
* 镜像,四种都在。决定卡两处都画:输入区上方钉一张(要人回答),消息流里留一行
|
|
299
|
+
* (`WorkRows.tsx` 的 `DecisionCardRow`,回头能翻到当时问的是什么)——审批与
|
|
300
|
+
* agent 提问本来就是这个待遇,决定卡在 2026-09-17 之前只有后一半。
|
|
301
|
+
*
|
|
302
|
+
* 宿主构造时**不要 `as` 强转**:那会把两边的编译期互锁掐断。宿主形状与这份镜像的
|
|
303
|
+
* 可赋值关系由 `apps/web` 的 `composerOccupantContract.test.ts` 守着。
|
|
304
|
+
*/
|
|
305
|
+
export type ConversationComposerOccupant = {
|
|
306
|
+
readonly kind: "approval";
|
|
307
|
+
readonly approval: ConversationPendingApproval;
|
|
308
|
+
readonly pendingCount: number;
|
|
309
|
+
} | {
|
|
310
|
+
readonly kind: "decision";
|
|
311
|
+
/** 宿主 `ThreadDecisionState` 的结构子集:卡在 `card` 里,外层那几个字段插件用不到。 */
|
|
312
|
+
readonly decision: {
|
|
313
|
+
readonly card: ConversationThreadDecisionCard;
|
|
314
|
+
};
|
|
315
|
+
readonly pendingCount: number;
|
|
316
|
+
} | {
|
|
317
|
+
readonly kind: "user-input";
|
|
318
|
+
readonly userInput: ConversationPendingUserInput;
|
|
319
|
+
readonly pendingCount: number;
|
|
320
|
+
} | {
|
|
321
|
+
readonly kind: "plan-follow-up";
|
|
322
|
+
};
|
|
323
|
+
/** 宿主 `PreviewAnnotationPayload` 的结构子集(composer 只读展示)。 */
|
|
324
|
+
export interface ConversationPreviewAnnotationElement {
|
|
325
|
+
id: string;
|
|
326
|
+
element: unknown;
|
|
327
|
+
}
|
|
328
|
+
export interface ConversationPreviewAnnotationPayload {
|
|
329
|
+
id: string;
|
|
330
|
+
kind: string;
|
|
331
|
+
comment: string;
|
|
332
|
+
elements: ReadonlyArray<ConversationPreviewAnnotationElement>;
|
|
333
|
+
regions: ReadonlyArray<unknown>;
|
|
334
|
+
strokes: ReadonlyArray<unknown>;
|
|
335
|
+
styleChanges: ReadonlyArray<unknown>;
|
|
336
|
+
[key: string]: unknown;
|
|
337
|
+
}
|
|
338
|
+
/** 宿主 `EnvironmentConnectionPresentation` 的结构子集。 */
|
|
339
|
+
export interface ConversationEnvironmentConnectionPresentation {
|
|
340
|
+
label: string;
|
|
341
|
+
[key: string]: unknown;
|
|
342
|
+
}
|
|
343
|
+
/** 宿主 `ContextWindowSnapshot` 的结构子集。 */
|
|
344
|
+
export interface ConversationContextWindowSnapshot {
|
|
345
|
+
usedTokens: number;
|
|
346
|
+
maxTokens: number | null;
|
|
347
|
+
usedPercentage: number | null;
|
|
348
|
+
totalProcessedTokens?: number | null | undefined;
|
|
349
|
+
compactsAutomatically?: boolean | undefined;
|
|
350
|
+
autoCompactThreshold?: number | null | undefined;
|
|
351
|
+
}
|
|
352
|
+
export type ConversationSessionPhase = "idle" | "connecting" | "running" | "disconnected" | string;
|
|
353
|
+
/** 宿主 `Thread` 的结构子集(composer 只读这些 meta 字段)。 */
|
|
354
|
+
export interface ConversationThreadMeta {
|
|
355
|
+
id: ConversationThreadId;
|
|
356
|
+
presetId?: string | null | undefined;
|
|
357
|
+
nativeModeId?: string | null | undefined;
|
|
358
|
+
session?: {
|
|
359
|
+
providerInstanceId?: ConversationProviderInstanceId | undefined;
|
|
360
|
+
nativeModeId?: string | null | undefined;
|
|
361
|
+
status?: string | undefined;
|
|
362
|
+
activeTurnId?: ConversationTurnId | null | undefined;
|
|
363
|
+
} | undefined;
|
|
364
|
+
latestTurn?: {
|
|
365
|
+
turnId: ConversationTurnId;
|
|
366
|
+
} | null | undefined;
|
|
367
|
+
proposedPlans: ReadonlyArray<{
|
|
368
|
+
id: string;
|
|
369
|
+
planMarkdown: string;
|
|
370
|
+
}>;
|
|
371
|
+
}
|
|
372
|
+
export interface ConversationThreadPreset {
|
|
373
|
+
presetId: string;
|
|
374
|
+
displayName: string;
|
|
375
|
+
description?: string | undefined;
|
|
376
|
+
promptPrefix?: string | undefined;
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=conversationHostModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversationHostModels.d.ts","sourceRoot":"","sources":["../src/conversationHostModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversationHostModels.js","sourceRoot":"","sources":["../src/conversationHostModels.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 时间线行模型:宿主 `MessagesTimelineRow` 的结构子集。
|
|
3
|
+
* 类型从 `conversation.ts` 再导出,插件照常从 `@ycodium-ai/plugin-api/conversation` 引。
|
|
4
|
+
*
|
|
5
|
+
* @module @ycodium-ai/plugin-api/conversationRows
|
|
6
|
+
*/
|
|
7
|
+
import type { ConversationChatMessage, ConversationModelBadge, ConversationProposedPlan, ConversationTurnFooter, ConversationTurnPlan } from "./conversationBase.ts";
|
|
8
|
+
import type { ConversationWorkEntry } from "./conversationWorkEntry.ts";
|
|
9
|
+
export type ConversationTimelineRow = {
|
|
10
|
+
readonly kind: "turn-identity";
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly turnId: string;
|
|
13
|
+
readonly createdAt: string;
|
|
14
|
+
readonly badge: ConversationModelBadge;
|
|
15
|
+
} | {
|
|
16
|
+
readonly kind: "turn-summary";
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly createdAt: string;
|
|
19
|
+
readonly footer: ConversationTurnFooter;
|
|
20
|
+
readonly copyText?: string | undefined;
|
|
21
|
+
readonly cardAnchor?: true | undefined;
|
|
22
|
+
/** 同一轮的身份行(谁答的、何时开始):回答上方不画标题行,在轮次末尾那排给。 */
|
|
23
|
+
readonly identity?: Extract<ConversationTimelineRow, {
|
|
24
|
+
kind: "turn-identity";
|
|
25
|
+
}>;
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: "tool-group";
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly createdAt: string;
|
|
30
|
+
readonly groupId: string;
|
|
31
|
+
readonly entries: readonly ConversationWorkEntry[];
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: "work";
|
|
34
|
+
readonly id: string;
|
|
35
|
+
readonly createdAt: string;
|
|
36
|
+
readonly groupedEntries: ConversationWorkEntry[];
|
|
37
|
+
readonly isExpandedToolGroupEntry: boolean;
|
|
38
|
+
readonly isLastExpandedToolGroupEntry: boolean;
|
|
39
|
+
} | {
|
|
40
|
+
readonly kind: "message";
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly createdAt: string;
|
|
43
|
+
readonly message: ConversationChatMessage;
|
|
44
|
+
readonly presentation?: "full" | "compact" | undefined;
|
|
45
|
+
readonly textTone?: "primary" | "process" | undefined;
|
|
46
|
+
readonly durationStart: string;
|
|
47
|
+
readonly showAssistantMeta: boolean;
|
|
48
|
+
readonly showAssistantCopyButton: boolean;
|
|
49
|
+
readonly copyInFooter?: boolean | undefined;
|
|
50
|
+
readonly assistantCopyStreaming: boolean;
|
|
51
|
+
readonly modelBadge: ConversationModelBadge | null;
|
|
52
|
+
} | {
|
|
53
|
+
readonly kind: "model-switch";
|
|
54
|
+
readonly id: string;
|
|
55
|
+
readonly createdAt: string;
|
|
56
|
+
readonly badge: ConversationModelBadge;
|
|
57
|
+
readonly pending: boolean;
|
|
58
|
+
} | {
|
|
59
|
+
readonly kind: "proposed-plan";
|
|
60
|
+
readonly id: string;
|
|
61
|
+
readonly createdAt: string;
|
|
62
|
+
readonly proposedPlan: ConversationProposedPlan;
|
|
63
|
+
} | {
|
|
64
|
+
readonly kind: "turn-plan";
|
|
65
|
+
readonly id: string;
|
|
66
|
+
readonly createdAt: string;
|
|
67
|
+
readonly turnPlan: ConversationTurnPlan;
|
|
68
|
+
} | {
|
|
69
|
+
readonly kind: "working";
|
|
70
|
+
readonly id: string;
|
|
71
|
+
readonly turnId?: string | null | undefined;
|
|
72
|
+
readonly createdAt: string | null;
|
|
73
|
+
readonly modelBadge?: ConversationModelBadge | undefined;
|
|
74
|
+
readonly compacting: boolean;
|
|
75
|
+
};
|
|
76
|
+
/** 一轮一组的区间表(宿主 `TimelineTurnGroup` 的结构子集;rows 下标区间)。 */
|
|
77
|
+
export interface ConversationTurnGroup {
|
|
78
|
+
readonly key: string;
|
|
79
|
+
readonly start: number;
|
|
80
|
+
readonly end: number;
|
|
81
|
+
}
|
|
82
|
+
/** 一轮一节的分节模型:插件用随迁的纯函数从 rows + groups 构建。 */
|
|
83
|
+
export interface ConversationTurnSection {
|
|
84
|
+
readonly key: string;
|
|
85
|
+
readonly turnId: string | null;
|
|
86
|
+
readonly rows: readonly ConversationTimelineRow[];
|
|
87
|
+
}
|
|
88
|
+
/** 轮次导航面板里一节的可读摘要。 */
|
|
89
|
+
export interface ConversationTurnSectionSummary {
|
|
90
|
+
readonly sectionKey: string;
|
|
91
|
+
readonly anchorRowId: string;
|
|
92
|
+
readonly userText: string | null;
|
|
93
|
+
readonly assistantText: string | null;
|
|
94
|
+
readonly headerText: string | null;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=conversationRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversationRows.d.ts","sourceRoot":"","sources":["../src/conversationRows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversationRows.js","sourceRoot":"","sources":["../src/conversationRows.ts"],"names":[],"mappings":""}
|