@ycodium-ai/plugin-api 0.2.2998 → 0.2.3002

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.
Files changed (49) hide show
  1. package/README.md +9 -4
  2. package/dist/dataPorts.gen.d.ts +153 -47
  3. package/dist/dataPorts.gen.d.ts.map +1 -1
  4. package/dist/dataPorts.gen.js.map +1 -1
  5. package/dist/executor.d.ts +15 -767
  6. package/dist/executor.d.ts.map +1 -1
  7. package/dist/executor.js +5 -129
  8. package/dist/executor.js.map +1 -1
  9. package/dist/executorCard.d.ts +279 -0
  10. package/dist/executorCard.d.ts.map +1 -0
  11. package/dist/executorCard.js +48 -0
  12. package/dist/executorCard.js.map +1 -0
  13. package/dist/executorEvents.d.ts +170 -0
  14. package/dist/executorEvents.d.ts.map +1 -0
  15. package/dist/executorEvents.js +8 -0
  16. package/dist/executorEvents.js.map +1 -0
  17. package/dist/executorSession.d.ts +301 -0
  18. package/dist/executorSession.d.ts.map +1 -0
  19. package/dist/executorSession.js +3 -0
  20. package/dist/executorSession.js.map +1 -0
  21. package/dist/executorSpawn.d.ts +48 -0
  22. package/dist/executorSpawn.d.ts.map +1 -0
  23. package/dist/executorSpawn.js +87 -0
  24. package/dist/executorSpawn.js.map +1 -0
  25. package/dist/index.d.ts +20 -651
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +6 -4
  28. package/dist/index.js.map +1 -1
  29. package/dist/pluginContextCommands.d.ts +152 -0
  30. package/dist/pluginContextCommands.d.ts.map +1 -0
  31. package/dist/pluginContextCommands.js +2 -0
  32. package/dist/pluginContextCommands.js.map +1 -0
  33. package/dist/pluginContextProviders.d.ts +203 -0
  34. package/dist/pluginContextProviders.d.ts.map +1 -0
  35. package/dist/pluginContextProviders.js +2 -0
  36. package/dist/pluginContextProviders.js.map +1 -0
  37. package/dist/pluginContextThreads.d.ts +206 -0
  38. package/dist/pluginContextThreads.d.ts.map +1 -0
  39. package/dist/pluginContextThreads.js +2 -0
  40. package/dist/pluginContextThreads.js.map +1 -0
  41. package/dist/pluginContextWorkspace.d.ts +76 -0
  42. package/dist/pluginContextWorkspace.d.ts.map +1 -0
  43. package/dist/pluginContextWorkspace.js +2 -0
  44. package/dist/pluginContextWorkspace.js.map +1 -0
  45. package/dist/projects.d.ts +15 -0
  46. package/dist/projects.d.ts.map +1 -0
  47. package/dist/projects.js +23 -0
  48. package/dist/projects.js.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,170 @@
1
+ /**
2
+ * 执行器事件词汇,以及 task.* 与 tool.progress 的载荷。其余 payload 仍是 unknown。
3
+ * 公开名字从 executor.ts 再导出。
4
+ *
5
+ * @module @ycodium-ai/plugin-api/executorEvents
6
+ */
7
+ /** `type` 闭集与 contracts 的 `ProviderRuntimeEventType` 相同(含 `tool.denied`),不另造事件词汇。 */
8
+ export type ExecutorEventType = "session.started" | "session.configured" | "session.state.changed" | "session.exited" | "thread.started" | "thread.state.changed" | "thread.metadata.updated" | "thread.token-usage.updated" | "thread.realtime.started" | "thread.realtime.item-added" | "thread.realtime.audio.delta" | "thread.realtime.error" | "thread.realtime.closed" | "turn.started" | "turn.completed" | "turn.aborted" | "turn.plan.updated" | "turn.proposed.delta" | "turn.proposed.completed" | "turn.diff.updated" | "item.started" | "item.updated" | "item.completed" | "content.delta" | "request.opened" | "request.resolved" | "user-input.requested" | "user-input.resolved" | "task.started" | "task.progress" | "task.updated" | "task.completed" | "hook.started" | "hook.progress" | "hook.completed" | "tool.progress" | "tool.summary" | "tool.denied" | "auth.status" | "account.updated" | "account.rate-limits.updated" | "mcp.status.updated" | "mcp.oauth.completed" | "model.rerouted" | "config.warning" | "deprecation.notice" | "files.persisted" | "assistant.attachment.produced" | "assistant.artifact.produced" | "runtime.warning" | "runtime.error";
9
+ export type ExecutorEventProviderRefs = {
10
+ readonly providerTurnId?: string;
11
+ readonly providerItemId?: string;
12
+ readonly providerRequestId?: string;
13
+ };
14
+ export type ExecutorEventRaw = {
15
+ readonly source: string;
16
+ readonly method?: string;
17
+ readonly messageType?: string;
18
+ readonly payload: unknown;
19
+ };
20
+ export type ExecutorEventBase = {
21
+ /** 跨服务器重启、跨线程都不能重复:宿主拿它当活动 id 全局落库,重复会覆盖已有的旧活动。 */
22
+ readonly eventId: string;
23
+ readonly provider: string;
24
+ readonly providerInstanceId?: string;
25
+ readonly threadId: string;
26
+ readonly createdAt: string;
27
+ readonly turnId?: string;
28
+ readonly itemId?: string;
29
+ /**
30
+ * 同一线程里跨会话重启也不能重复:宿主按它记「已接受」并在重启后恢复,撞号的新请求会被
31
+ * 当成答过的旧请求拒掉。协议自带的序号(如每个进程从 0 数起的 JSON-RPC id)要先加会话级前缀。
32
+ */
33
+ readonly requestId?: string;
34
+ readonly providerRefs?: ExecutorEventProviderRefs;
35
+ readonly raw?: ExecutorEventRaw;
36
+ readonly originBindingGeneration?: number;
37
+ readonly originResumeCursor?: unknown;
38
+ };
39
+ /** 结构声明:公共基座 + `type` 判别 + payload。payload 形状以 contracts schema 为准。 */
40
+ export type ExecutorEvent = ExecutorEventBase & {
41
+ readonly type: ExecutorEventType;
42
+ readonly payload: unknown;
43
+ };
44
+ /** 与 contracts `RuntimeTaskStatus` 同一闭集。 */
45
+ export type ExecutorTaskStatus = "pending" | "running" | "waiting" | "idle" | "completed" | "failed" | "cancelled" | "interrupted";
46
+ /**
47
+ * 派生的 agent 是哪一种。只回答「是哪一种 agent」:是不是 agent(还是 shell、监视器
48
+ * 这类后台任务)由宿主按 `taskType` 判,后台任务不用报这一栏。当前宿主只持久化
49
+ * 此字段;读取端迁移后才按它区分种类。
50
+ */
51
+ export type ExecutorTaskRosterKind = "subagent" | "workflow" | "workflow_member";
52
+ /** 与 contracts `RuntimeTaskUsage` 同形。 */
53
+ export type ExecutorTaskUsage = {
54
+ readonly totalTokens: number;
55
+ readonly inputTokens?: number | undefined;
56
+ readonly cachedInputTokens?: number | undefined;
57
+ readonly outputTokens?: number | undefined;
58
+ readonly reasoningOutputTokens?: number | undefined;
59
+ readonly toolUses?: number | undefined;
60
+ readonly durationMs?: number | undefined;
61
+ };
62
+ /**
63
+ * 每条 `task.*` 都可带的身份字段,与 contracts 的 `taskAgentLinkageFields` 同名同形。
64
+ * 每条都重复带上:宿主与客户端不保证还留着 started 那一条。contracts 里多出的
65
+ * `agentKind` 是宿主按 `taskType` 盖的章,手不报。
66
+ *
67
+ * 手对宿主的身份约定(当前宿主与客户端仍按裸 taskId 合并;按「手 + taskId」
68
+ * 认人须与读取端迁移一起启用):
69
+ * - 同一线程内,同一个 agent 的 `taskId` 终生不变;
70
+ * - 恢复后的会话里仍是同一个 agent,就报同一个 id;
71
+ * - 重开一轮要明说 `running` / `pending` / `waiting`,不带状态的 progress 不算重开;
72
+ * - 一轮结束按结果报 `idle`(还能续)或终态。
73
+ */
74
+ export type ExecutorTaskAgentLinkage = {
75
+ readonly taskType?: string | undefined;
76
+ /** 这个任务是在哪个子代理里起的(例如子代理自己的后台 shell)。 */
77
+ readonly agentId?: string | undefined;
78
+ readonly title?: string | undefined;
79
+ readonly role?: string | undefined;
80
+ readonly model?: string | undefined;
81
+ readonly effort?: string | undefined;
82
+ readonly toolUseId?: string | undefined;
83
+ /** workflow 成员所属协调者的 taskId;与成员同一只手报。 */
84
+ readonly parentAgentId?: string | undefined;
85
+ readonly workflowName?: string | undefined;
86
+ readonly agentIndex?: number | undefined;
87
+ readonly phaseIndex?: number | undefined;
88
+ readonly phaseTitle?: string | undefined;
89
+ readonly phases?: ReadonlyArray<{
90
+ readonly index: number;
91
+ readonly title: string;
92
+ }> | undefined;
93
+ readonly attempt?: number | undefined;
94
+ readonly runHandles?: {
95
+ readonly runId?: string | undefined;
96
+ readonly scriptPath?: string | undefined;
97
+ readonly transcriptDir?: string | undefined;
98
+ /** 只放 http/https 地址。 */
99
+ readonly sessionUrl?: string | undefined;
100
+ } | undefined;
101
+ readonly outputFile?: string | undefined;
102
+ readonly agentPath?: string | undefined;
103
+ /** 这条只进 agent 面板,不进父会话的时间线。 */
104
+ readonly timelineBypass?: boolean | undefined;
105
+ readonly rosterKind?: ExecutorTaskRosterKind | undefined;
106
+ };
107
+ export type ExecutorTaskStartedPayload = ExecutorTaskAgentLinkage & {
108
+ readonly taskId: string;
109
+ readonly description?: string | undefined;
110
+ };
111
+ export type ExecutorTaskProgressPayload = ExecutorTaskAgentLinkage & {
112
+ readonly taskId: string;
113
+ readonly description: string;
114
+ readonly summary?: string | undefined;
115
+ readonly usage?: unknown;
116
+ readonly typedUsage?: ExecutorTaskUsage | undefined;
117
+ readonly lastToolName?: string | undefined;
118
+ readonly status?: ExecutorTaskStatus | undefined;
119
+ readonly error?: string | undefined;
120
+ };
121
+ export type ExecutorTaskUpdatedPayload = ExecutorTaskAgentLinkage & {
122
+ readonly taskId: string;
123
+ readonly status?: ExecutorTaskStatus | undefined;
124
+ readonly description?: string | undefined;
125
+ readonly error?: string | undefined;
126
+ readonly endedAt?: string | undefined;
127
+ readonly isBackgrounded?: boolean | undefined;
128
+ };
129
+ export type ExecutorTaskCompletedPayload = ExecutorTaskAgentLinkage & {
130
+ readonly taskId: string;
131
+ readonly status: "completed" | "failed" | "stopped";
132
+ readonly summary?: string | undefined;
133
+ readonly usage?: unknown;
134
+ readonly typedUsage?: ExecutorTaskUsage | undefined;
135
+ };
136
+ export type ExecutorToolProgressPayload = {
137
+ readonly toolUseId?: string | undefined;
138
+ readonly toolName?: string | undefined;
139
+ readonly summary?: string | undefined;
140
+ readonly elapsedSeconds?: number | undefined;
141
+ /** 工具所属 agent 的 taskId;读取端迁移后与 provider 一起关联。 */
142
+ readonly taskId?: string | undefined;
143
+ readonly parentToolUseId?: string | undefined;
144
+ };
145
+ type ExecutorTypedPayloads = {
146
+ readonly "task.started": ExecutorTaskStartedPayload;
147
+ readonly "task.progress": ExecutorTaskProgressPayload;
148
+ readonly "task.updated": ExecutorTaskUpdatedPayload;
149
+ readonly "task.completed": ExecutorTaskCompletedPayload;
150
+ readonly "tool.progress": ExecutorToolProgressPayload;
151
+ };
152
+ /** `type` 对应的 payload。`task.*` 与 `tool.progress` 带类型;其余仍是 unknown,形状以 contracts 为准。 */
153
+ export type ExecutorEventPayload<T extends ExecutorEventType> = T extends keyof ExecutorTypedPayloads ? ExecutorTypedPayloads[T] : unknown;
154
+ /**
155
+ * 某一种事件。发事件的入口用它(或 {@link ExecutorTypedEvent}),写错 `task.*` 的字段
156
+ * 当场编不过。`type` 要是字面量:传一个宽的 `ExecutorEventType` 变量,payload 就退回 unknown。
157
+ */
158
+ export type ExecutorEventOf<T extends ExecutorEventType> = ExecutorEventBase & {
159
+ readonly type: T;
160
+ readonly payload: ExecutorEventPayload<T>;
161
+ };
162
+ /**
163
+ * 按 `type` 判别的联合,每个成员都能赋给 {@link ExecutorEvent}。`ExecutorEvent` 本身保持
164
+ * 宽松,`type` 写成变量的发射点照旧能用。
165
+ */
166
+ export type ExecutorTypedEvent = {
167
+ readonly [T in ExecutorEventType]: ExecutorEventOf<T>;
168
+ }[ExecutorEventType];
169
+ export {};
170
+ //# sourceMappingURL=executorEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorEvents.d.ts","sourceRoot":"","sources":["../src/executorEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 执行器事件词汇,以及 task.* 与 tool.progress 的载荷。其余 payload 仍是 unknown。
3
+ * 公开名字从 executor.ts 再导出。
4
+ *
5
+ * @module @ycodium-ai/plugin-api/executorEvents
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=executorEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorEvents.js","sourceRoot":"","sources":["../src/executorEvents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,301 @@
1
+ /**
2
+ * 执行器的会话、探测与清单类型:开会话、发一轮、报型号和技能、导入原生会话。
3
+ * 公开名字从 executor.ts 再导出。
4
+ *
5
+ * @module @ycodium-ai/plugin-api/executorSession
6
+ */
7
+ import type { ExecutorRuntimeMode, ExecutorSessionSkills } from "./executorCapabilities.ts";
8
+ /**
9
+ * 宿主这一轮要挂给 CLI 的 MCP server。谁该挂由宿主决定(内置编排那台加插件中心里
10
+ * 对这双手开着的条目),怎么告诉自己的 CLI 由手决定——各家格式差太远,宿主翻不了。
11
+ */
12
+ export type ExecutorMcpServer = {
13
+ readonly name: string;
14
+ readonly transport: {
15
+ readonly type: "stdio";
16
+ readonly command: string;
17
+ readonly args?: ReadonlyArray<string> | undefined;
18
+ readonly env?: Readonly<Record<string, string>> | undefined;
19
+ } | {
20
+ readonly type: "http" | "sse";
21
+ readonly url: string;
22
+ readonly headers?: Readonly<Record<string, string>> | undefined;
23
+ };
24
+ };
25
+ export type ExecutorSessionStartInput = {
26
+ readonly threadId: string;
27
+ readonly cwd?: string;
28
+ readonly title?: string;
29
+ /** 同 {@link ExecutorSendTurnInput.modelSelection}。 */
30
+ readonly modelSelection?: unknown;
31
+ readonly bindingGeneration?: number;
32
+ readonly resumeCursor?: unknown;
33
+ readonly discardResumeCursor?: boolean;
34
+ readonly approvalPolicy?: unknown;
35
+ readonly sandboxMode?: unknown;
36
+ readonly runtimeMode: ExecutorRuntimeMode;
37
+ /**
38
+ * 这一轮按这只手的哪一档跑,宿主已经解好(输入区座位画的就是它)。报了
39
+ * `nativeModes` 的手总会收到它,照发给 CLI;缺席只发生在手没报档(或首探还没回来)时,
40
+ * 那时座位画的是四档,手按 `runtimeMode` 跑。
41
+ */
42
+ readonly nativeModeId?: string;
43
+ /**
44
+ * 这次会话要挂的 MCP server,内置编排那一条排第一(宿主 `resolveMcpLaunchList` 的
45
+ * 输出原样搬过来)。缺席或空数组就是不挂——手据此决定要不要传自己 SDK 的那一栏。
46
+ */
47
+ readonly mcpServers?: ReadonlyArray<ExecutorMcpServer>;
48
+ /**
49
+ * 宿主已决定允许读取的目录(绝对路径,只读)。目前是用户附件所在的目录:
50
+ * 附件落在 cwd 之外,不放行的话 CLI 每读一次都要弹授权。
51
+ *
52
+ * 只表达"可读",不含写:手必须把它翻成自家 CLI 的语汇,并保证这些目录里的写入
53
+ * 在非 bypass 档仍然被拦或要批准。缺席或空数组就是不额外放行。读本来就不受限的
54
+ * 手可以忽略这一栏。
55
+ */
56
+ readonly readOnlyDirectories?: ReadonlyArray<string>;
57
+ /** 宿主已按 preset 与 driver 过滤、物化好的 Ycodium 技能,见 {@link ExecutorSessionSkills}。 */
58
+ readonly skills?: ExecutorSessionSkills;
59
+ };
60
+ /** 一轮交给 CLI 的文字最多这么多字符,含手自己再展开的部分;与宿主给 `input` 的上限同一个数。 */
61
+ export declare const EXECUTOR_SEND_TURN_MAX_INPUT_CHARS = 120000;
62
+ export type ExecutorSendTurnInput = {
63
+ readonly threadId: string;
64
+ readonly expectedTurnId?: string;
65
+ readonly input?: string;
66
+ /** 宿主放在 `input` 前面的材料;只发给声明 `handlesSkillInvocations` 的手,其余的 `input` 已含这段。 */
67
+ readonly inputPreamble?: string;
68
+ readonly attachments?: ReadonlyArray<unknown>;
69
+ /** 输入区选的型号与档位。型号递给 CLI 之前过 {@link matchCatalogModel},对不上就不设型号、不报错。 */
70
+ readonly modelSelection?: unknown;
71
+ readonly interactionMode?: unknown;
72
+ };
73
+ export type ExecutorTurnStartResult = {
74
+ readonly threadId: string;
75
+ readonly turnId: string;
76
+ readonly resumeCursor?: unknown;
77
+ };
78
+ export type ExecutorSession = {
79
+ readonly provider: string;
80
+ readonly providerInstanceId?: string;
81
+ readonly status: string;
82
+ readonly runtimeMode: ExecutorRuntimeMode;
83
+ readonly nativeModeId?: string;
84
+ readonly cwd?: string;
85
+ readonly model?: string;
86
+ readonly threadId: string;
87
+ readonly resumeCursor?: unknown;
88
+ readonly bindingGeneration?: number;
89
+ readonly activeTurnId?: string;
90
+ readonly createdAt: string;
91
+ readonly updatedAt: string;
92
+ readonly lastError?: string;
93
+ };
94
+ export type ExecutorThreadSnapshot = {
95
+ readonly threadId: string;
96
+ readonly turns: ReadonlyArray<{
97
+ readonly id: string;
98
+ readonly items: ReadonlyArray<unknown>;
99
+ }>;
100
+ };
101
+ export type ExecutorProbeResult = {
102
+ readonly installed: boolean;
103
+ readonly version: string | null;
104
+ /**
105
+ * 探测结论。`not-installed` 只在**程序起不来**时报:找不到程序(没配路径、不在 PATH 上)、
106
+ * 配置的路径不存在或不可执行。起得来之后的失败(握手超时、版本太旧、没登录之外的说不清的错)
107
+ * 仍是 `error`——宿主据 `not-installed` 给「未安装」徽标与安装命令,误报会让用户去重装一个
108
+ * 其实装着的程序。报 `not-installed` 时 `installed` 同为 false。
109
+ *
110
+ * 起进程失败的归类见 {@link describeExecutorSpawnFailure}。
111
+ */
112
+ readonly readiness: "ready" | "unchecked" | "checking" | "not-installed" | "error";
113
+ readonly auth: {
114
+ readonly status: "authenticated" | "unauthenticated" | "unknown";
115
+ readonly type?: string;
116
+ readonly label?: string;
117
+ readonly email?: string;
118
+ };
119
+ readonly detail?: string;
120
+ /**
121
+ * 这个账户目录能跑哪些模型,以及每个模型接受哪些档位。
122
+ *
123
+ * 这是 CLI 自己账户的目录:型号、思考档位、服务档都写在用户那份账户里,只有这只 CLI
124
+ * 够得着,宿主没有别的路问得到,所以由手报。
125
+ *
126
+ * 只有真问过 CLI 的探测才填,填不出就**缺席**;空数组是「问过了,一个都没有」,
127
+ * 两者对调用方不是一回事。
128
+ */
129
+ readonly models?: ReadonlyArray<ExecutorProbeModel>;
130
+ /**
131
+ * 这只手自报的审批档。缺席 = 不报,界面沿用宿主四档开关(`ServerProvider.nativeModes`
132
+ * 的注释就是这个口径)。**空数组与缺席不是一回事**:空数组等于说「这只手一档都没有」。
133
+ */
134
+ readonly nativeModes?: ReadonlyArray<ExecutorProbeNativeMode>;
135
+ /**
136
+ * 这只手当前在哪一档。**报了 {@link nativeModes} 就必须报它**:界面在清单里找不到
137
+ * 当前档时整个不画那一格,只报清单等于没报。没选过档、又不报
138
+ * {@link nativeModeByRuntimeMode} 的线程就按这一档跑。
139
+ */
140
+ readonly currentNativeModeId?: string;
141
+ /**
142
+ * 没选过档的线程,宿主四档各自落在这只手的哪一档(值是 {@link nativeModes} 里的 id)。
143
+ *
144
+ * 「这一轮按哪一档跑」只由宿主解一次(`resolveProviderNativeMode`):座位画它,
145
+ * 开会话时把解出的 id 放进 `nativeModeId` 交给手。手收到 `nativeModeId` 就照发,
146
+ * 不再拿 `runtimeMode` 另推一遍——两处各推一次,座位就会画一档、CLI 跑另一档。
147
+ *
148
+ * 缺席 = 四档不影响这只手,没选过档就按 {@link currentNativeModeId} 跑。
149
+ */
150
+ readonly nativeModeByRuntimeMode?: {
151
+ readonly [Mode in ExecutorRuntimeMode]: string;
152
+ };
153
+ /**
154
+ * 这只手能用的技能:输入区的 `$` 菜单和回复里的技能标记都读它。
155
+ *
156
+ * **缺席即不支持**:这只手说不出自己有哪些技能。空数组是「问过了,一个都没有」。
157
+ */
158
+ readonly skills?: ReadonlyArray<ExecutorProbeSkill>;
159
+ };
160
+ /**
161
+ * 探测报上来的一个技能。字段与宿主 `ServerProviderSkill` 逐字对齐,宿主原样落进快照。
162
+ *
163
+ * `path` 必填:界面按技能文件所在的位置分来源(插件带的、个人的、项目的),同名技能也靠它
164
+ * 区分。报不出位置的技能就不报。
165
+ */
166
+ export type ExecutorProbeSkill = {
167
+ readonly name: string;
168
+ readonly description?: string;
169
+ readonly path: string;
170
+ readonly scope?: string;
171
+ readonly enabled: boolean;
172
+ readonly displayName?: string;
173
+ readonly shortDescription?: string;
174
+ /** 技能对 agent 自己的技能工具隐藏,只有用户能起(Claude 的 `disable-model-invocation`)。 */
175
+ readonly userInvocationOnly?: boolean;
176
+ /** 上一条的镜像:`false` = 只有 agent 能起,用户从输入区选了也不会执行(Claude 的 `user-invocable: false`)。 */
177
+ readonly userInvocable?: boolean;
178
+ };
179
+ /**
180
+ * 一条斜杠命令。字段与宿主 `ServerProviderSlashCommand` 逐字对齐,宿主原样落进列表:
181
+ * `name` 不带前导斜杠,`input.hint` 是参数提示(如 `<file>`)。
182
+ */
183
+ export type ExecutorSlashCommand = {
184
+ readonly name: string;
185
+ readonly description?: string;
186
+ readonly input?: {
187
+ readonly hint: string;
188
+ };
189
+ };
190
+ /**
191
+ * 某个项目目录下这只手能用的斜杠命令与技能({@link ExecutorInstance.workspaceInventory})。
192
+ *
193
+ * 要答的是「在这个目录里开会话,用户输入 `/` 能看到什么」:用户级与项目级的都算,不是只有项目级的
194
+ * 增量。宿主拿它**整份替换**探测快照里整机的那份,所以两个字段缺席才表示「这一类我答不了,沿用
195
+ * 探测的」;给了空数组是「问过了,一个都没有」。
196
+ */
197
+ export type ExecutorWorkspaceInventory = {
198
+ readonly slashCommands?: ReadonlyArray<ExecutorSlashCommand>;
199
+ readonly skills?: ReadonlyArray<ExecutorProbeSkill>;
200
+ /**
201
+ * 这份答案依赖的文件与目录(绝对路径,含「现在不存在、出现了就会改变答案」的目录)。宿主缓存这份
202
+ * 答案,再次被问时按它们的修改时间判断要不要重查,不必每次打 `/` 都重新读盘或起 CLI。
203
+ * 缺席就只按宿主的存活期缓存。
204
+ */
205
+ readonly watchPaths?: ReadonlyArray<string>;
206
+ };
207
+ /**
208
+ * agent 启动后自己报上来的命令与技能({@link ExecutorHost.reportSessionInventory}),按会话记。
209
+ * 每个字段给了就**整份替换**这个会话上一次报的那份,缺席的字段保持不变。
210
+ */
211
+ export type ExecutorSessionInventoryReport = {
212
+ readonly threadId: string;
213
+ readonly slashCommands?: ReadonlyArray<ExecutorSlashCommand>;
214
+ readonly skills?: ReadonlyArray<ExecutorProbeSkill>;
215
+ };
216
+ /**
217
+ * 探测报上来的一档「原生模式」——这只手自己的审批档,不是宿主那四档。
218
+ *
219
+ * 字段与宿主 `ServerProviderNativeMode` 同形:宿主原样落进 provider 快照的 `nativeModes`,
220
+ * composer 直接画。**不要在任何一段把它翻译成 `ExecutorRuntimeMode` 的四档**:各家语义
221
+ * 本来就对不齐(grok 的 `acceptEdits` 实测等同 `default`,照样问),翻一次就多一处会漂的
222
+ * 事实。反方向(四档落到哪一档)只由手在 `nativeModeByRuntimeMode` 里声明一次。
223
+ * 缺席 = 这只手不报原生档,界面沿用四档开关。
224
+ */
225
+ export type ExecutorProbeNativeMode = {
226
+ readonly id: string;
227
+ readonly name: string;
228
+ readonly description?: string;
229
+ };
230
+ /**
231
+ * 探测报上来的一个模型。
232
+ *
233
+ * 字段名与宿主快照的 `ServerProviderModel` 逐字对齐(`packages/contracts/src/server.ts`),
234
+ * 不另起同义名字:宿主拿到之后原样落进快照,中间没有翻译层,改名就是两边各自漂移。
235
+ */
236
+ export type ExecutorProbeModel = {
237
+ readonly slug: string;
238
+ readonly name?: string;
239
+ readonly isDefault?: boolean;
240
+ /** CLI 自己就把它藏起来了(codex 的 `hidden`)。宿主照样收,由客户端决定显不显。 */
241
+ readonly hidden?: boolean;
242
+ /** 这个模型接受的档位。`null` 与缺席都表示「这只手说不出」,宿主据此不画那一格;给了空的 `optionDescriptors` 同理。 */
243
+ readonly capabilities?: ExecutorModelCapabilities | null;
244
+ /**
245
+ * 上下文窗口 token 数。**多数 CLI 报不出这个**(codex 的 `model/list` 就没有这一栏),
246
+ * 报不出就缺席,界面显示「未知」;别在这里填一个猜的数。用户手填的窗口由宿主叠在上面。
247
+ */
248
+ readonly contextWindow?: number;
249
+ };
250
+ /** 与宿主 `ModelCapabilities` 同形(`packages/contracts/src/model.ts`)。 */
251
+ export type ExecutorModelCapabilities = {
252
+ readonly optionDescriptors?: ReadonlyArray<ExecutorModelOptionDescriptor>;
253
+ };
254
+ /** 与宿主 `ProviderOptionChoice` 同形。`id` 是写回 CLI 的那个值,`label` 只给人看。 */
255
+ export type ExecutorModelOptionChoice = {
256
+ readonly id: string;
257
+ readonly label: string;
258
+ readonly description?: string;
259
+ readonly isDefault?: boolean;
260
+ };
261
+ /**
262
+ * 与宿主 `ProviderOptionDescriptor` 同形:`select` 与 `boolean` 两种。
263
+ * codex 的 `reasoningEffort` / `serviceTier` 都是 `select`。
264
+ */
265
+ export type ExecutorModelOptionDescriptor = {
266
+ readonly id: string;
267
+ readonly label: string;
268
+ readonly description?: string;
269
+ readonly type: "select";
270
+ readonly options: ReadonlyArray<ExecutorModelOptionChoice>;
271
+ readonly currentValue?: string;
272
+ } | {
273
+ readonly id: string;
274
+ readonly label: string;
275
+ readonly description?: string;
276
+ readonly type: "boolean";
277
+ readonly currentValue?: boolean;
278
+ };
279
+ export type ExecutorSessionCandidate = {
280
+ readonly nativeSessionId: string;
281
+ readonly title: string | null;
282
+ readonly preview: string | null;
283
+ readonly model: string | null;
284
+ readonly turnCount: number;
285
+ readonly updatedAt: number;
286
+ readonly cwd: string;
287
+ readonly availability: "importable" | "alreadyImported";
288
+ readonly openElsewhere: boolean;
289
+ readonly importedThreadId?: string;
290
+ };
291
+ export type ExecutorSessionRecord = {
292
+ readonly nativeSessionId: string;
293
+ readonly messages: ReadonlyArray<{
294
+ readonly role: "user" | "assistant" | "system";
295
+ readonly text: string;
296
+ readonly createdAt?: number;
297
+ }>;
298
+ readonly resumeCursor: unknown;
299
+ readonly model?: string | null;
300
+ };
301
+ //# sourceMappingURL=executorSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorSession.d.ts","sourceRoot":"","sources":["../src/executorSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** 一轮交给 CLI 的文字最多这么多字符,含手自己再展开的部分;与宿主给 `input` 的上限同一个数。 */
2
+ export const EXECUTOR_SEND_TURN_MAX_INPUT_CHARS = 120_000;
3
+ //# sourceMappingURL=executorSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorSession.js","sourceRoot":"","sources":["../src/executorSession.ts"],"names":[],"mappings":"AAgEA,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kCAAkC,GAAG,OAAO,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * 起进程失败:实例进程满额时的拒绝,以及按 errno 把启动错误折成探测结论。
3
+ * 公开名字从 executor.ts 再导出。
4
+ *
5
+ * @module @ycodium-ai/plugin-api/executorSpawn
6
+ */
7
+ /**
8
+ * 宿主拒绝起进程:这个实例同时活着的子进程已到上限(名片 `maxConcurrentProcesses`,缺省 8),
9
+ * 超出当场拒绝,不排队。
10
+ *
11
+ * 与「程序起不来」是两件事:程序这次没被执行,装没装、跑不跑得起来都答不了。所以探测遇到它
12
+ * 必须原样抛出,不许折成没装、`error` 或 `unchecked`;宿主刷新快照时认出它,保留上一份快照。
13
+ * `--version` 这类可有可无的辅助进程被拒,只让那一项缺席。
14
+ *
15
+ * 只按类型认,不看 message。插件构建须把本包留作 external:运行时由宿主解析到它自己那一份,
16
+ * 插件与宿主拿到的才是同一个类;打进插件包的副本认不出宿主抛的这一个。
17
+ */
18
+ export declare class ExecutorSpawnRefusedError extends Error {
19
+ readonly name = "ExecutorSpawnRefusedError";
20
+ /** 拒绝那一刻的上限。 */
21
+ readonly maxProcesses: number;
22
+ constructor(input: {
23
+ readonly driverKind: string;
24
+ readonly maxProcesses: number;
25
+ });
26
+ }
27
+ /** 起进程失败的探测结论。见 {@link describeExecutorSpawnFailure}。 */
28
+ export type ExecutorSpawnFailure = {
29
+ /** 程序找不到、路径不存在或不可执行是 `not-installed`,其它启动失败是 `error`。 */
30
+ readonly readiness: "not-installed" | "error";
31
+ /** 一句话原因,取错误链最深一层的原话;`error` 前面带一句人话。 */
32
+ readonly detail: string;
33
+ };
34
+ /**
35
+ * 这个错误是不是「起进程失败」:错误链上带 Node 的 errno `code`,或是宿主起进程那层的
36
+ * `ProcessSpawnError` 标签。宿主据此把没接住的起进程失败折成快照,别的错照旧是缺陷。
37
+ * 按属性认,不用 instanceof:插件各自打包,类不是宿主那一份。
38
+ */
39
+ export declare const isExecutorSpawnFailure: (error: unknown) => boolean;
40
+ /**
41
+ * 把 `host.process.spawn` 抛出的失败折成探测结论:ENOENT / ENOTDIR(找不到)与
42
+ * EACCES 一类(不可执行)是 `not-installed`,其余启动失败是 `error`。
43
+ *
44
+ * 调用点已知这是起进程失败时用它;宿主进程满额拒绝({@link ExecutorSpawnRefusedError})
45
+ * 不是起不来,调用方要先把它原样抛出,不要交给这里。
46
+ */
47
+ export declare const describeExecutorSpawnFailure: (error: unknown) => ExecutorSpawnFailure;
48
+ //# sourceMappingURL=executorSpawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executorSpawn.d.ts","sourceRoot":"","sources":["../src/executorSpawn.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAkB,IAAI,+BAA+B;IACrD,gBAAgB;IAChB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,KAAK,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAMlF;AAED,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC;IAC9C,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAmCF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,OAEqB,CAAC;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GAAI,OAAO,OAAO,KAAG,oBAkB7D,CAAC"}